From 3cb724253b3a0687b6a5425ef3a7621b3cc04b93 Mon Sep 17 00:00:00 2001 From: gitlost Date: Thu, 4 Jan 2024 20:11:04 +0000 Subject: [PATCH] Add fuzz stuff ("backend/tests/fuzz"), including OSS-Fuzz "Dockerfile" etc PDF417: lessen some debug verbosity gif: use "gif_" prefix; some code fiddling --- README.linux | 4 +- backend/composite.c | 6 +- backend/gif.c | 73 +- backend/pdf417.c | 36 +- backend/pdf417.h | 4 +- backend/tests/fuzz/Dockerfile | 21 + backend/tests/fuzz/build.sh | 42 + backend/tests/fuzz/fuzz.h | 414 +++++++++ backend/tests/fuzz/fuzz_data.c | 87 ++ backend/tests/fuzz/fuzz_data_seed_corpus.zip | Bin 0 -> 10257 bytes backend/tests/fuzz/fuzz_gs1.c | 123 +++ backend/tests/fuzz/fuzz_gs1.dict | 10 + backend/tests/fuzz/fuzz_gs1_seed_corpus.zip | Bin 0 -> 969 bytes backend/tests/fuzz/gen_corpora.c | 843 +++++++++++++++++++ backend/tests/fuzz/project.yaml | 13 + backend/tests/test_aztec.c | 54 +- backend/tests/test_dotcode.c | 20 +- backend/tests/test_pdf417.c | 10 +- backend/tests/tools/bwipp_dump.ps.tar.xz | Bin 134068 -> 134248 bytes 19 files changed, 1651 insertions(+), 109 deletions(-) create mode 100644 backend/tests/fuzz/Dockerfile create mode 100755 backend/tests/fuzz/build.sh create mode 100644 backend/tests/fuzz/fuzz.h create mode 100644 backend/tests/fuzz/fuzz_data.c create mode 100644 backend/tests/fuzz/fuzz_data_seed_corpus.zip create mode 100644 backend/tests/fuzz/fuzz_gs1.c create mode 100644 backend/tests/fuzz/fuzz_gs1.dict create mode 100644 backend/tests/fuzz/fuzz_gs1_seed_corpus.zip create mode 100644 backend/tests/fuzz/gen_corpora.c create mode 100644 backend/tests/fuzz/project.yaml diff --git a/README.linux b/README.linux index 7920e95a..08e0074b 100644 --- a/README.linux +++ b/README.linux @@ -1,4 +1,4 @@ -% Tested on Ubuntu 20.04.4 LTS, Ubuntu 22.04 LTS and Fedora Linux 38 (Workstation Edition) +% Tested on Ubuntu 20.04.4 LTS, Ubuntu 22.04 LTS and Fedora Linux 39 (Workstation Edition) 1. Prerequisites for building zint ================================== @@ -112,11 +112,13 @@ A number of options are available: ZINT_COVERAGE:BOOL=OFF # Set code coverage flags ZINT_DEBUG:BOOL=OFF # Set debug compile flags +ZINT_FRONTEND:BOOL=ON # Build frontend ZINT_NOOPT:BOOL=OFF # Set no optimize compile flags ZINT_SANITIZE:BOOL=OFF # Set sanitize compile/link flags ZINT_SHARED:BOOL=ON # Build shared library ZINT_STATIC:BOOL=OFF # Build static library ZINT_TEST:BOOL=OFF # Set test compile flag +ZINT_UNINSTALL:BOOL=ON # Add uninstall target ZINT_USE_PNG:BOOL=ON # Build with PNG support ZINT_USE_QT:BOOL=ON # Build with Qt support ZINT_QT6:BOOL=OFF # If ZINT_USE_QT, use Qt6 diff --git a/backend/composite.c b/backend/composite.c index 7d23f35d..ed3cce0a 100644 --- a/backend/composite.c +++ b/backend/composite.c @@ -1,7 +1,7 @@ /* composite.c - Handles GS1 Composite Symbols */ /* libzint - the open source barcode library - Copyright (C) 2008-2023 Robin Stuart + Copyright (C) 2008-2024 Robin Stuart Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -326,7 +326,7 @@ static void cc_b(struct zint_symbol *symbol, const char source[], const int cc_w /* "the CC-B component shall have codeword 920 in the first symbol character position" (section 9a) */ chainemc[mclength++] = 920; - pdf_byteprocess(chainemc, &mclength, data_string, 0, length, 0, debug_print); + pdf_byteprocess(chainemc, &mclength, data_string, 0, length, 0); /* Now figure out which variant of the symbol to use and load values accordingly */ @@ -540,7 +540,7 @@ static void cc_c(struct zint_symbol *symbol, const char source[], const int cc_w chainemc[mclength++] = 0; /* space for length descriptor */ chainemc[mclength++] = 920; /* CC-C identifier */ - pdf_byteprocess(chainemc, &mclength, data_string, 0, length, 0, debug_print); + pdf_byteprocess(chainemc, &mclength, data_string, 0, length, 0); chainemc[0] = mclength; diff --git a/backend/gif.c b/backend/gif.c index f892398b..89b67522 100644 --- a/backend/gif.c +++ b/backend/gif.c @@ -1,7 +1,7 @@ /* gif.c - Handles output to gif file */ /* libzint - the open source barcode library - Copyright (C) 2009-2023 Robin Stuart + Copyright (C) 2009-2024 Robin Stuart Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -36,10 +36,10 @@ #include "filemem.h" #include "output.h" -/* Limit initial LZW buffer size to this in expectation that compressed data will fit for typical scalings */ +/* Set LZW buffer paging size to this in expectation that compressed data will fit for typical scalings */ #define GIF_LZW_PAGE_SIZE 0x100000 /* Megabyte */ -typedef struct s_statestruct { +struct gif_state { struct filemem *fmp; unsigned char *pOut; const unsigned char *pIn; @@ -56,9 +56,9 @@ typedef struct s_statestruct { unsigned short NodeNext[4096]; unsigned char NodePix[4096]; unsigned char map[256]; -} statestruct; +}; -static void BufferNextByte(statestruct *pState) { +static void gif_BufferNextByte(struct gif_state *pState) { (pState->OutPosCur)++; if (pState->fOutPaged && pState->OutPosCur + 2 >= pState->OutLength) { /* Keep last 256 bytes so `OutByteCountPos` within range */ @@ -83,18 +83,18 @@ static void BufferNextByte(statestruct *pState) { (pState->pOut)[pState->OutPosCur] = 0x00; } -static void AddCodeToBuffer(statestruct *pState, unsigned short CodeIn, unsigned char CodeBits) { +static void gif_AddCodeToBuffer(struct gif_state *pState, unsigned short CodeIn, unsigned char CodeBits) { /* Check, if we may fill up the current byte completely */ if (CodeBits >= pState->OutBitsFree) { (pState->pOut)[pState->OutPosCur] |= (unsigned char) (CodeIn << (8 - pState->OutBitsFree)); - BufferNextByte(pState); + gif_BufferNextByte(pState); CodeIn = (unsigned short) (CodeIn >> pState->OutBitsFree); CodeBits -= pState->OutBitsFree; pState->OutBitsFree = 8; /* Write a full byte if there are at least 8 code bits left */ if (CodeBits >= pState->OutBitsFree) { (pState->pOut)[pState->OutPosCur] = (unsigned char) CodeIn; - BufferNextByte(pState); + gif_BufferNextByte(pState); CodeIn = (unsigned short) (CodeIn >> 8); CodeBits -= 8; } @@ -106,14 +106,14 @@ static void AddCodeToBuffer(statestruct *pState, unsigned short CodeIn, unsigned } } -static void FlushStringTable(statestruct *pState) { +static void gif_FlushStringTable(struct gif_state *pState) { unsigned short Pos; for (Pos = 0; Pos < pState->ClearCode; Pos++) { (pState->NodeAxon)[Pos] = 0; } } -static unsigned short FindPixelOutlet(statestruct *pState, unsigned short HeadNode, unsigned char Byte) { +static unsigned short gif_FindPixelOutlet(struct gif_state *pState, unsigned short HeadNode, unsigned char Byte) { unsigned short Outlet; Outlet = (pState->NodeAxon)[HeadNode]; @@ -125,27 +125,27 @@ static unsigned short FindPixelOutlet(statestruct *pState, unsigned short HeadNo return 0; } -static int NextCode(statestruct *pState, unsigned char *pPixelValueCur, unsigned char CodeBits) { +static int gif_NextCode(struct gif_state *pState, unsigned char *pPixelValueCur, unsigned char CodeBits) { unsigned short UpNode; unsigned short DownNode; /* start with the root node for last pixel chain */ UpNode = *pPixelValueCur; if (pState->pIn == pState->pInEnd) { - AddCodeToBuffer(pState, UpNode, CodeBits); + gif_AddCodeToBuffer(pState, UpNode, CodeBits); return 0; } *pPixelValueCur = pState->map[*pState->pIn++]; /* Follow the string table and the data stream to the end of the longest string that has a code */ - while (0 != (DownNode = FindPixelOutlet(pState, UpNode, *pPixelValueCur))) { + while (0 != (DownNode = gif_FindPixelOutlet(pState, UpNode, *pPixelValueCur))) { UpNode = DownNode; if (pState->pIn == pState->pInEnd) { - AddCodeToBuffer(pState, UpNode, CodeBits); + gif_AddCodeToBuffer(pState, UpNode, CodeBits); return 0; } *pPixelValueCur = pState->map[*pState->pIn++]; } /* Submit 'UpNode' which is the code of the longest string */ - AddCodeToBuffer(pState, UpNode, CodeBits); + gif_AddCodeToBuffer(pState, UpNode, CodeBits); /* ... and extend the string by appending 'PixelValueCur' */ /* Create a successor node for 'PixelValueCur' whose code is 'freecode' */ (pState->NodePix)[pState->FreeCode] = *pPixelValueCur; @@ -163,7 +163,7 @@ static int NextCode(statestruct *pState, unsigned char *pPixelValueCur, unsigned return 1; } -static int gif_lzw(statestruct *pState, int paletteBitSize) { +static int gif_lzw(struct gif_state *pState, int paletteBitSize) { unsigned char PixelValueCur; unsigned char CodeBits; unsigned short Pos; @@ -190,26 +190,26 @@ static int gif_lzw(statestruct *pState, int paletteBitSize) { for (Pos = 0; Pos < pState->ClearCode; Pos++) (pState->NodePix)[Pos] = (unsigned char) Pos; - FlushStringTable(pState); + gif_FlushStringTable(pState); /* Write what the GIF specification calls the "code size". */ (pState->pOut)[pState->OutPosCur] = paletteBitSize; /* Reserve first bytecount byte */ - BufferNextByte(pState); + gif_BufferNextByte(pState); pState->OutByteCountPos = pState->OutPosCur; - BufferNextByte(pState); + gif_BufferNextByte(pState); pState->fByteCountByteSet = 1; /* Submit one 'ClearCode' as the first code */ - AddCodeToBuffer(pState, pState->ClearCode, CodeBits); + gif_AddCodeToBuffer(pState, pState->ClearCode, CodeBits); for (;;) { /* generate and save the next code, which may consist of multiple input pixels. */ - if (!NextCode(pState, &PixelValueCur, CodeBits)) { /* Check for end of data stream */ + if (!gif_NextCode(pState, &PixelValueCur, CodeBits)) { /* Check for end of data stream */ /* submit 'eoi' as the last item of the code stream */ - AddCodeToBuffer(pState, (unsigned short) (pState->ClearCode + 1), CodeBits); + gif_AddCodeToBuffer(pState, (unsigned short) (pState->ClearCode + 1), CodeBits); pState->fByteCountByteSet = 0; if (pState->OutBitsFree < 8) { - BufferNextByte(pState); + gif_BufferNextByte(pState); } /* > Update last bytecount byte; */ if (pState->OutByteCountPos < pState->OutPosCur) { @@ -225,8 +225,8 @@ static int gif_lzw(statestruct *pState, int paletteBitSize) { pState->FreeCode++; /* Check for full stringtable - for widest compatibility with gif decoders, empty when 0xfff, not 0x1000 */ if (pState->FreeCode == 0xfff) { - FlushStringTable(pState); - AddCodeToBuffer(pState, pState->ClearCode, CodeBits); + gif_FlushStringTable(pState); + gif_AddCodeToBuffer(pState, pState->ClearCode, CodeBits); CodeBits = (unsigned char) (1 + paletteBitSize); pState->FreeCode = (unsigned short) (pState->ClearCode + 2); @@ -240,12 +240,11 @@ static int gif_lzw(statestruct *pState, int paletteBitSize) { INTERNAL int gif_pixel_plot(struct zint_symbol *symbol, unsigned char *pixelbuf) { struct filemem fm; unsigned char outbuf[10]; - unsigned short usTemp; unsigned char paletteRGB[10][3]; int paletteCount, i; int paletteBitSize; int paletteSize; - statestruct State; + struct gif_state State; int transparent_index; int bgindex = -1, fgindex = -1; @@ -359,20 +358,14 @@ INTERNAL int gif_pixel_plot(struct zint_symbol *symbol, unsigned char *pixelbuf) paletteSize = 1 << paletteBitSize; /* GIF signature (6) */ - memcpy(outbuf, "GIF87a", 6); - if (transparent_index != -1) - outbuf[4] = '9'; - - fm_write(outbuf, 1, 6, State.fmp); + fm_write(transparent_index == -1 ? "GIF87a" : "GIF89a", 1, 6, State.fmp); /* Screen Descriptor (7) */ /* Screen Width */ - usTemp = (unsigned short) symbol->bitmap_width; - outbuf[0] = (unsigned char) (0xff & usTemp); - outbuf[1] = (unsigned char) ((0xff00 & usTemp) / 0x100); + outbuf[0] = (unsigned char) (0xff & symbol->bitmap_width); + outbuf[1] = (unsigned char) (0xff & (symbol->bitmap_width >> 8)); /* Screen Height */ - usTemp = (unsigned short) symbol->bitmap_height; - outbuf[2] = (unsigned char) (0xff & usTemp); - outbuf[3] = (unsigned char) ((0xff00 & usTemp) / 0x100); + outbuf[2] = (unsigned char) (0xff & symbol->bitmap_height); + outbuf[3] = (unsigned char) (0xff & (symbol->bitmap_height >> 8)); /* write ImageBits-1 to the three least significant bits of byte 5 of * the Screen Descriptor * Bits 76543210 @@ -436,10 +429,10 @@ INTERNAL int gif_pixel_plot(struct zint_symbol *symbol, unsigned char *pixelbuf) outbuf[4] = 0x00; /* Image Width (low byte first) */ outbuf[5] = (unsigned char) (0xff & symbol->bitmap_width); - outbuf[6] = (unsigned char) ((0xff00 & symbol->bitmap_width) / 0x100); + outbuf[6] = (unsigned char) (0xff & (symbol->bitmap_width >> 8)); /* Image Height */ outbuf[7] = (unsigned char) (0xff & symbol->bitmap_height); - outbuf[8] = (unsigned char) ((0xff00 & symbol->bitmap_height) / 0x100); + outbuf[8] = (unsigned char) (0xff & (symbol->bitmap_height >> 8)); /* Byte 10 contains the interlaced flag and * information on the local color table. diff --git a/backend/pdf417.c b/backend/pdf417.c index 5e832b8d..e4958ffb 100644 --- a/backend/pdf417.c +++ b/backend/pdf417.c @@ -1,7 +1,7 @@ /* pdf417.c - Handles PDF417 stacked symbology */ /* libzint - the open source barcode library - Copyright (C) 2008-2023 Robin Stuart + Copyright (C) 2008-2024 Robin Stuart Portions Copyright (C) 2004 Grandzebu Bug Fixes thanks to KL Chin @@ -320,15 +320,11 @@ static int pdf_num_stay(const unsigned char *chaine, const int indexliste, short } /* Pack segments using the method described in Appendix D of the AIM specification (ISO/IEC 15438:2015 Annex N) */ -static void pdf_appendix_d_encode(const unsigned char *chaine, short liste[3][PDF_MAX_LEN], int *p_indexliste, - const int debug_print) { +static void pdf_appendix_d_encode(const unsigned char *chaine, short liste[3][PDF_MAX_LEN], int *p_indexliste) { const int indexliste = *p_indexliste; int i = 0, next, last = 0, stayintext = 0; while (i < indexliste) { - if (debug_print) { - printf("Encoding block %d = %d (%d)\n", i, liste[1][i], liste[0][i]); - } if ((liste[1][i] == PDF_NUM) && pdf_num_stay(chaine, indexliste, liste, i)) { /* leave as numeric */ @@ -554,30 +550,23 @@ static void pdf_textprocess_minimal(short *chainemc, int *p_mclength, const unsi /* 671 */ /* Byte compaction */ INTERNAL void pdf_byteprocess(short *chainemc, int *p_mclength, const unsigned char chaine[], int start, - const int length, const int lastmode, const int debug_print) { + const int length, const int lastmode) { const int real_lastmode = PDF_REAL_MODE(lastmode); - if (debug_print) printf("\nEntering byte mode at position %d\n", start); - if (length == 1) { /* shift or latch depending on previous mode */ chainemc[(*p_mclength)++] = real_lastmode == PDF_TEX ? 913 : 901; chainemc[(*p_mclength)++] = chaine[start]; - if (debug_print) { - printf("%s %d\n", real_lastmode == PDF_TEX ? "913" : "901", chaine[start]); - } } else { int len; /* select the switch for multiple of 6 bytes */ if (length % 6 == 0) { chainemc[(*p_mclength)++] = 924; - if (debug_print) fputs("924 ", stdout); } else { /* Default mode for MICROPDF417 is Byte Compaction (ISO/IEC 24728:2006 5.4.3), but not emitting it * depends on whether an ECI has been emitted previously (or not) it appears, so simpler and safer * to always emit it. */ chainemc[(*p_mclength)++] = 901; - if (debug_print) fputs("901 ", stdout); } len = 0; @@ -1025,11 +1014,13 @@ static int pdf_initial(struct zint_symbol *symbol, const unsigned char chaine[], if (debug_print) { fputs("\nInitial block pattern:\n", stdout); for (i = 0; i < indexliste; i++) { - printf("Start: %d Len: %d Type: %s\n", liste[2][i], liste[0][i], pdf_mode_str(liste[1][i])); + int j; + for (j = 0; j < liste[0][i]; j++) fputc(pdf_mode_str(liste[1][i])[0], stdout); } + fputc('\n', stdout); } - pdf_appendix_d_encode(chaine, liste, &indexliste, debug_print); + pdf_appendix_d_encode(chaine, liste, &indexliste); } else { if (!pdf_define_mode(liste, &indexliste, chaine, length, *p_lastmode, debug_print)) { strcpy(symbol->errtxt, "749: Insufficient memory for mode buffers"); @@ -1040,9 +1031,10 @@ static int pdf_initial(struct zint_symbol *symbol, const unsigned char chaine[], if (debug_print) { fputs("\nCompacted block pattern:\n", stdout); for (i = 0; i < indexliste; i++) { - printf("Start: %d Len: %d Type: %s\n", liste[2][i], liste[0][i], - pdf_mode_str(PDF_REAL_MODE(liste[1][i]))); + int j; + for (j = 0; j < liste[0][i]; j++) fputc(pdf_mode_str(PDF_REAL_MODE(liste[1][i]))[0], stdout); } + fputc('\n', stdout); } /* 541 - now compress the data */ @@ -1092,7 +1084,7 @@ static int pdf_initial(struct zint_symbol *symbol, const unsigned char chaine[], } break; case PDF_BYT: /* 670 - octet stream mode */ - pdf_byteprocess(chainemc, &mclength, chaine, indexchaine, liste[0][i], *p_lastmode, debug_print); + pdf_byteprocess(chainemc, &mclength, chaine, indexchaine, liste[0][i], *p_lastmode); /* don't switch mode on single byte shift from text mode */ if (PDF_REAL_MODE(*p_lastmode) != PDF_TEX || liste[0][i] != 1) { *p_lastmode = PDF_BYT; @@ -1457,18 +1449,20 @@ INTERNAL int pdf417(struct zint_symbol *symbol, struct zint_seg segs[], const in error_number = 0; if ((symbol->option_1 < -1) || (symbol->option_1 > 8)) { - strcpy(symbol->errtxt, "460: Security value out of range"); if (symbol->warn_level == WARN_FAIL_ALL) { + strcpy(symbol->errtxt, "462: Security value out of range (0 to 8)"); return ZINT_ERROR_INVALID_OPTION; } + strcpy(symbol->errtxt, "460: Security value out of range (0 to 8), ignored"); symbol->option_1 = -1; error_number = ZINT_WARN_INVALID_OPTION; } if ((symbol->option_2 < 0) || (symbol->option_2 > 30)) { - strcpy(symbol->errtxt, "461: Number of columns out of range (1 to 30)"); if (symbol->warn_level == WARN_FAIL_ALL) { + strcpy(symbol->errtxt, "473: Number of columns out of range (1 to 30)"); return ZINT_ERROR_INVALID_OPTION; } + strcpy(symbol->errtxt, "461: Number of columns out of range (1 to 30), ignored"); symbol->option_2 = 0; error_number = ZINT_WARN_INVALID_OPTION; } diff --git a/backend/pdf417.h b/backend/pdf417.h index 9946f206..7cfcf7fc 100644 --- a/backend/pdf417.h +++ b/backend/pdf417.h @@ -1,7 +1,7 @@ /* pdf417.h - PDF417 tables and coefficients declarations */ /* libzint - the open source barcode library - Copyright (C) 2008-2022 Robin Stuart + Copyright (C) 2008-2024 Robin Stuart Portions Copyright (C) 2004 Grandzebu Redistribution and use in source and binary forms, with or without @@ -57,7 +57,7 @@ INTERNAL_DATA_EXTERN const unsigned short pdf_rap_side[52]; INTERNAL_DATA_EXTERN const unsigned short pdf_rap_centre[52]; INTERNAL void pdf_byteprocess(short *chainemc, int *p_mclength, const unsigned char chaine[], int start, - const int length, const int lastmode, const int debug); + const int length, const int lastmode); /* vim: set ts=4 sw=4 et : */ #endif /* Z_PDF417_H */ diff --git a/backend/tests/fuzz/Dockerfile b/backend/tests/fuzz/Dockerfile new file mode 100644 index 00000000..2ddd4333 --- /dev/null +++ b/backend/tests/fuzz/Dockerfile @@ -0,0 +1,21 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder +RUN apt-get update && apt-get install -y make cmake +RUN git clone --depth 1 https://git.code.sf.net/p/zint/code zint +WORKDIR zint +COPY build.sh $SRC/ diff --git a/backend/tests/fuzz/build.sh b/backend/tests/fuzz/build.sh new file mode 100755 index 00000000..13f49b7f --- /dev/null +++ b/backend/tests/fuzz/build.sh @@ -0,0 +1,42 @@ +#!/bin/bash -eu +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +# build project +mkdir build +cd build +cmake -DZINT_STATIC=ON -DZINT_SHARED=OFF \ + -DZINT_USE_PNG=OFF -DZINT_USE_QT=OFF -DZINT_FRONTEND=OFF \ + -DCMAKE_BUILD_TYPE=Debug \ + .. +make -j$(nproc) + +# build fuzzers +bd=$SRC/zint/backend + +fd=$bd/tests/fuzz +fn=fuzz_data +$CC $CFLAGS -fsanitize=fuzzer-no-link -I${bd} $fd/${fn}.c -c -o $WORK/${fn}.o +$CXX $CXXFLAGS $WORK/${fn}.o -o $OUT/${fn} \ + $LIB_FUZZING_ENGINE -lm -lzint -Lbackend +cp $fd/${fn}_seed_corpus.zip $OUT + +fn=fuzz_gs1 +$CC $CFLAGS -fsanitize=fuzzer-no-link -I${bd} $fd/${fn}.c -c -o $WORK/${fn}.o +$CXX $CXXFLAGS $WORK/${fn}.o -o $OUT/${fn} \ + $LIB_FUZZING_ENGINE -lm -lzint -Lbackend +cp $fd/${fn}_seed_corpus.zip $OUT +cp $fd/${fn}.dict $OUT diff --git a/backend/tests/fuzz/fuzz.h b/backend/tests/fuzz/fuzz.h new file mode 100644 index 00000000..623a06da --- /dev/null +++ b/backend/tests/fuzz/fuzz.h @@ -0,0 +1,414 @@ +/* fuzz.h - common functions for fuzzing libzint */ +/* + libzint - the open source barcode library + Copyright (C) 2024 Robin Stuart + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. 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. + 3. Neither the name of the project 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 OWNER 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. + */ +/* SPDX-License-Identifier: BSD-3-Clause */ + +#ifndef Z_FUZZ_H +#define Z_FUZZ_H + +#include +#include +#include +#include +#include "zint.h" + +#define ZARRAY_SIZE(x) ((int) (sizeof(x) / sizeof((x)[0]))) + +#define INPUT_MODE_MASK (ESCAPE_MODE | GS1PARENS_MODE | GS1NOCHECK_MODE | HEIGHTPERROW_MODE | FAST_MODE \ + | EXTRA_ESCAPE_MODE) + +#ifdef Z_FUZZ_SET_OUTPUT_OPTIONS +#define OUTPUT_OPTIONS_MASK (BARCODE_BIND_TOP | BARCODE_BIND | BARCODE_BOX | BARCODE_STDOUT | READER_INIT \ + | SMALL_TEXT | BOLD_TEXT | CMYK_COLOUR | BARCODE_DOTTY_MODE | GS1_GS_SEPARATOR \ + | OUT_BUFFER_INTERMEDIATE | BARCODE_QUIET_ZONES | BARCODE_NO_QUIET_ZONES \ + | COMPLIANT_HEIGHT | EANUPC_GUARD_WHITESPACE | EMBED_VECTOR_FONT) +#endif + +/* Based on `is_sane()` flags in "backend/common.h") */ +#define IS_CTL_F (0x00000001) /* ASCII control (incl. DEL) */ +#define IS_PRT_F (0x00000002) /* ASCII printable (incl. space) */ +#define IS_SPC_F (0x00000004 | IS_PRT_F) /* Space */ +#define IS_HSH_F (0x00000008 | IS_PRT_F) /* Hash sign # */ +#define IS_AST_F (0x00000010 | IS_PRT_F) /* Asterisk sign * */ +#define IS_PLS_F (0x00000020 | IS_PRT_F) /* Plus sign + */ +#define IS_MNS_F (0x00000040 | IS_PRT_F) /* Minus sign - */ +#define IS_NUM_F (0x00000080 | IS_PRT_F) /* Number 0-9 */ +#define IS_UPO_F (0x00000100 | IS_PRT_F) /* Uppercase letter, apart from A-F, T and X */ +#define IS_UAD_F (0x00000200 | IS_PRT_F) /* Uppercase A, D (hex, CALCIUM/FIM/DAFT) */ +#define IS_UBC_F (0x00000400 | IS_PRT_F) /* Uppercase B, C (hex, CALCIUM/FIM) */ +#define IS_UE__F (0x00000800 | IS_PRT_F) /* Uppercase E (hex, FIM) */ +#define IS_UF__F (0x00001000 | IS_PRT_F) /* Uppercase F (hex, DAFT) */ +#define IS_UT__F (0x00002000 | IS_PRT_F) /* Uppercase T (DAFT) */ +#define IS_UX__F (0x00004000 | IS_PRT_F) /* Uppercase X (SODIUM_X/ISBNX) */ +#define IS_LWO_F (0x00008000 | IS_PRT_F) /* Lowercase letter, apart from a-f, t and x */ +#define IS_LAD_F (0x00010000 | IS_PRT_F) /* Lowercase a, d (hex, CALCIUM/FIM/DAFT) */ +#define IS_LBC_F (0x00020000 | IS_PRT_F) /* Lowercase b, c (hex, CALCIUM/FIM) */ +#define IS_LE__F (0x00040000 | IS_PRT_F) /* Lowercase e (hex, FIM) */ +#define IS_LF__F (0x00080000 | IS_PRT_F) /* Lowercase f (hex, DAFT) */ +#define IS_LT__F (0x00100000 | IS_PRT_F) /* Lowercase t (DAFT) */ +#define IS_LX__F (0x00200000 | IS_PRT_F) /* Lowercase x (SODIUM_X/ISBNX) */ +#define IS_C82_F (0x00400000 | IS_PRT_F) /* CSET82 punctuation (apart from *, + and -) */ +#define IS_SIL_F (0x00800000 | IS_PRT_F) /* SILVER/TECHNETIUM punctuation .$/% (apart from space, + and -) */ +#define IS_CLI_F (0x01000000 | IS_PRT_F) /* CALCIUM INNER punctuation $:/. (apart from + and -) (Codabar) */ +#define IS_ARS_F (0x02000000 | IS_PRT_F) /* ARSENIC uppercase subset (VIN) */ + +#define IS_UHX_F (IS_UAD_F | IS_UBC_F | IS_UE__F | IS_UF__F) /* Uppercase hex */ +#define IS_LHX_F (IS_LAD_F | IS_LBC_F | IS_LE__F | IS_LF__F) /* Lowercase hex */ +#define IS_UPR_F (IS_UPO_F | IS_UHX_F) /* Uppercase letters */ +#define IS_LWR_F (IS_LWO_F | IS_LHX_F) /* Lowercase letters */ + +/* Flag table for `is_chr()` and `is_sane()` (taken from "backend/common.c") */ +#define IS_CLS_F (IS_CLI_F | IS_SIL_F) +static const unsigned int flgs[256] = { + IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, /*00-07*/ + IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, /*08-0F*/ + IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, /*10-17*/ + IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, IS_CTL_F, /*18-1F*/ + IS_SPC_F, IS_C82_F, IS_C82_F, IS_HSH_F, /*20-23*/ /* !"# */ + IS_CLS_F, IS_SIL_F | IS_C82_F, IS_C82_F, IS_C82_F, /*24-27*/ /* $%&' */ + IS_C82_F, IS_C82_F, IS_AST_F, IS_PLS_F, /*28-2B*/ /* ()*+ */ + IS_C82_F, IS_MNS_F, IS_CLS_F | IS_C82_F, IS_CLS_F | IS_C82_F, /*2C-2F*/ /* ,-./ */ + IS_NUM_F, IS_NUM_F, IS_NUM_F, IS_NUM_F, /*30-33*/ /* 0123 */ + IS_NUM_F, IS_NUM_F, IS_NUM_F, IS_NUM_F, /*34-37*/ /* 4567 */ + IS_NUM_F, IS_NUM_F, IS_CLI_F | IS_C82_F, IS_C82_F, /*38-3B*/ /* 89:; */ + IS_C82_F, IS_C82_F, IS_C82_F, IS_C82_F, /*3C-3F*/ /* <=>? */ + IS_PRT_F, IS_ARS_F | IS_UAD_F, IS_ARS_F | IS_UBC_F, IS_ARS_F | IS_UBC_F, /*40-43*/ /* @ABC */ + IS_ARS_F | IS_UAD_F, IS_ARS_F | IS_UE__F, IS_ARS_F | IS_UF__F, IS_ARS_F | IS_UPO_F, /*44-47*/ /* DEFG */ + IS_ARS_F | IS_UPO_F, IS_UPO_F, IS_ARS_F | IS_UPO_F, IS_ARS_F | IS_UPO_F, /*48-4B*/ /* HIJK */ + IS_ARS_F | IS_UPO_F, IS_ARS_F | IS_UPO_F, IS_ARS_F | IS_UPO_F, IS_UPO_F, /*4C-4F*/ /* LMNO */ + IS_ARS_F | IS_UPO_F, IS_UPO_F, IS_ARS_F | IS_UPO_F, IS_ARS_F | IS_UPO_F, /*50-53*/ /* PQRS */ + IS_ARS_F | IS_UT__F, IS_ARS_F | IS_UPO_F, IS_ARS_F | IS_UPO_F, IS_ARS_F | IS_UPO_F, /*53-57*/ /* TUVW */ + IS_ARS_F | IS_UX__F, IS_ARS_F | IS_UPO_F, IS_ARS_F | IS_UPO_F, IS_PRT_F, /*58-5B*/ /* XYZ[ */ + IS_PRT_F, IS_PRT_F, IS_PRT_F, IS_C82_F, /*5C-5F*/ /* \]^_ */ + IS_PRT_F, IS_LAD_F, IS_LBC_F, IS_LBC_F, /*60-63*/ /* `abc */ + IS_LAD_F, IS_LE__F, IS_LF__F, IS_LWO_F, /*64-67*/ /* defg */ + IS_LWO_F, IS_LWO_F, IS_LWO_F, IS_LWO_F, /*68-6B*/ /* hijk */ + IS_LWO_F, IS_LWO_F, IS_LWO_F, IS_LWO_F, /*6C-6F*/ /* lmno */ + IS_LWO_F, IS_LWO_F, IS_LWO_F, IS_LWO_F, /*70-73*/ /* pqrs */ + IS_LT__F, IS_LWO_F, IS_LWO_F, IS_LWO_F, /*74-77*/ /* tuvw */ + IS_LX__F, IS_LWO_F, IS_LWO_F, IS_PRT_F, /*78-7B*/ /* xyz{ */ + IS_PRT_F, IS_PRT_F, IS_PRT_F, IS_CTL_F, /*7C-7F*/ /* |}~D */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*80-9F*/ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*A0-BF*/ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*C0-DF*/ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*E0-FF*/ +}; + +/* Verifies that a string only uses valid characters */ +static int is_sane(const unsigned int flg, const unsigned char source[], const int length) { + int i; + + for (i = 0; i < length; i++) { + if (!(flgs[source[i]] & flg)) { + return 0; + } + } + return 1; +} + +#define NEON_F (IS_NUM_F) /* NEON "0123456789" */ +#define SODIUM_MNS_F (IS_NUM_F | IS_MNS_F) /* SODIUM_MNS "0123456789-" */ +#define SODIUM_PLS_F (IS_NUM_F | IS_PLS_F) /* SODIUM_PLS "0123456789+" */ +#define SODIUM_X_F (IS_NUM_F | IS_UX__F | IS_LX__F) /* SODIUM_X "0123456789Xx" */ +#define ISBNX_ADDON_SANE_F (IS_NUM_F | IS_UX__F | IS_LX__F | IS_PLS_F) /* ISBNX_ADDON_SANE "0123456789Xx+" */ +/* SILVER "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%" + lowercase */ +#define SILVER_F (IS_NUM_F | IS_UPR_F | IS_LWR_F | IS_MNS_F | IS_SIL_F | IS_SPC_F | IS_PLS_F) +/* CALCIUM "0123456789-$:/.+ABCD" + lowercase */ +#define CALCIUM_F (IS_NUM_F | IS_MNS_F | IS_CLI_F | IS_PLS_F | IS_UAD_F | IS_UBC_F | IS_LAD_F | IS_LBC_F) +/* FIM "ABCDE" + lowercase */ +#define FIM_F (IS_UAD_F | IS_UBC_F | IS_UE__F | IS_LAD_F | IS_LBC_F | IS_LE__F) +/* GDSET "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz #" */ +#define GDSET_F (IS_NUM_F | IS_UPR_F | IS_LWR_F | IS_SPC_F | IS_HSH_F) +#define KRSET_F (IS_NUM_F | IS_UPR_F | IS_LWR_F) +/* ARSENIC "0123456789ABCDEFGHJKLMNPRSTUVWXYZ" (no lowercase) */ +#define ARSENIC_F (IS_NUM_F | IS_ARS_F) +/* SHKASUTSET "1234567890-ABCDEFGHIJKLMNOPQRSTUVWXYZ" + lowercase */ +#define SHKASUTSET_F (IS_NUM_F | IS_MNS_F | IS_UPR_F | IS_LWR_F) +#define SSET_F (IS_NUM_F | IS_UHX_F) /* SSET "0123456789ABCDEF" (no lowercase) */ +/* DAFT "FADT" + lowercase */ +#define DAFT_F (IS_UAD_F | IS_UF__F | IS_UT__F | IS_LAD_F | IS_LF__F | IS_LT__F) +/* RUBIDIUM "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ " + lowercase */ +#define RUBIDIUM_F (IS_NUM_F | IS_UPR_F | IS_LWR_F | IS_SPC_F) +#define ASCII_PRT_F (IS_PRT_F) /* ASCII printable */ +#define ASCII_F (IS_PRT_F | IS_CTL_F) /* ASCII */ + +struct settings_item { + const int idx, symbology, sane_flag; + const int option_1_min, option_1_max, option_2_min, option_2_max, option_3, len_min, len_max; +}; + +static const struct settings_item settings[] = { + { 0, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 1, BARCODE_CODE11, SODIUM_MNS_F, 0, -1, 0, 2, 0, 1, 140 }, + { 2, BARCODE_C25STANDARD, NEON_F, 0, -1, 0, 2, 0, 1, 112 }, + { 3, BARCODE_C25INTER, NEON_F, 0, -1, 0, 2, 0, 1, 125 }, + { 4, BARCODE_C25IATA, NEON_F, 0, -1, 0, 2, 0, 1, 80 }, + { 5, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 6, BARCODE_C25LOGIC, NEON_F, 0, -1, 0, 2, 0, 1, 113 }, + { 7, BARCODE_C25IND, NEON_F, 0, -1, 0, 2, 0, 1, 79 }, + { 8, BARCODE_CODE39, SILVER_F, 0, -1, 0, 2, 0, 1, 86 }, + { 9, BARCODE_EXCODE39, SILVER_F, 0, -1, 0, 2, 0, 1, 86 }, + { 10, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 11, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 12, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 13, BARCODE_EANX, SODIUM_PLS_F, 0, -1, 0, -1, 0, 1, 19 }, + { 14, BARCODE_EANX_CHK, SODIUM_PLS_F, 0, -1, 0, -1, 0, 1, 19 }, + { 15, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 16, BARCODE_GS1_128, ASCII_PRT_F, 0, -1, 0, -1, 0, 3, 198 }, + { 17, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 18, BARCODE_CODABAR, CALCIUM_F, 0, -1, 0, 2, 0, 3, 103 }, + { 19, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 20, BARCODE_CODE128, 0, 0, -1, 0, -1, 0, 1, 198 }, + { 21, BARCODE_DPLEIT, NEON_F, 0, -1, 0, -1, 0, 1, 13 }, + { 22, BARCODE_DPIDENT, NEON_F, 0, -1, 0, -1, 0, 1, 11 }, + { 23, BARCODE_CODE16K, 0, -1, 16, 0, -1, 0, 1, 154 }, + { 24, BARCODE_CODE49, ASCII_F, 2, 8, 0, -1, 0, 1, 81 }, + { 25, BARCODE_CODE93, ASCII_F, 0, -1, 0, 1, 0, 1, 123 }, + { 26, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 27, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 28, BARCODE_FLAT, NEON_F, 0, -1, 0, -1, 0, 1, 128 }, + { 29, BARCODE_DBAR_OMN, NEON_F, 0, -1, 0, -1, 0, 1, 14 }, + { 30, BARCODE_DBAR_LTD, NEON_F, 0, -1, 0, -1, 0, 1, 14 }, + { 31, BARCODE_DBAR_EXP, ASCII_PRT_F, 0, -1, 0, -1, 0, 3, 74 }, + { 32, BARCODE_TELEPEN, ASCII_F, 0, -1, 0, -1, 0, 1, 69 }, + { 33, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 34, BARCODE_UPCA, SODIUM_PLS_F, 0, -1, 0, -1, 0, 1, 18 }, + { 35, BARCODE_UPCA_CHK, SODIUM_PLS_F, 0, -1, 0, -1, 0, 1, 18 }, + { 36, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 37, BARCODE_UPCE, SODIUM_PLS_F, 0, -1, 0, -1, 0, 1, 14 }, + { 38, BARCODE_UPCE_CHK, SODIUM_PLS_F, 0, -1, 0, -1, 0, 1, 14 }, + { 39, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 40, BARCODE_POSTNET, NEON_F, 0, -1, 0, -1, 0, 1, 38 }, + { 41, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 42, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 43, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 44, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 45, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 46, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 47, BARCODE_MSI_PLESSEY, NEON_F, 0, -1, 0, 16, 0, 1, 92 }, + { 48, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 49, BARCODE_FIM, FIM_F, 0, -1, 0, -1, 0, 1, 1 }, + { 50, BARCODE_LOGMARS, SILVER_F, 0, -1, 0, 2, 0, 1, 30 }, + { 51, BARCODE_PHARMA, NEON_F, 0, -1, 0, -1, 0, 1, 6 }, + { 52, BARCODE_PZN, NEON_F, 0, -1, 0, 1, 0, 1, 8 }, + { 53, BARCODE_PHARMA_TWO, NEON_F, 0, -1, 0, -1, 0, 1, 8 }, + { 54, BARCODE_CEPNET, NEON_F, 0, -1, 0, -1, 0, 8, 8 }, + { 55, BARCODE_PDF417, 0, -1, 8, 0, 30, 0, 1, 2710 }, + { 56, BARCODE_PDF417COMP, 0, -1, 8, 0, 30, 0, 1, 2710 }, + { 57, BARCODE_MAXICODE, 0, -1, 6, 0, 100, 0, 1, 138 }, + { 58, BARCODE_QRCODE, 0, -1, 4, 0, 40, ZINT_FULL_MULTIBYTE, 1, 7089 }, + { 59, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 60, BARCODE_CODE128AB, 0, 0, -1, 0, -1, 0, 1, 99 }, + { 61, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 62, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 63, BARCODE_AUSPOST, GDSET_F, 0, -1, 0, -1, 0, 8, 23 }, + { 64, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 65, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 66, BARCODE_AUSREPLY, GDSET_F, 0, -1, 0, -1, 0, 1, 8 }, + { 67, BARCODE_AUSROUTE, GDSET_F, 0, -1, 0, -1, 0, 1, 8 }, + { 68, BARCODE_AUSREDIRECT, GDSET_F, 0, -1, 0, -1, 0, 1, 8 }, + { 69, BARCODE_ISBNX, ISBNX_ADDON_SANE_F, 0, -1, 0, -1, 0, 9, 19 }, + { 70, BARCODE_RM4SCC, KRSET_F, 0, -1, 0, -1, 0, 1, 50 }, + { 71, BARCODE_DATAMATRIX, 0, 0, -1, 0, 48, DM_SQUARE | DM_ISO_144, 1, 3550 }, + { 72, BARCODE_EAN14, NEON_F, 0, -1, 0, -1, 0, 1, 13 }, + { 73, BARCODE_VIN, ARSENIC_F, 0, -1, 0, -1, 0, 17, 17 }, + { 74, BARCODE_CODABLOCKF, 0, -1, 44, -1, 67, 0, 1, 2725 }, + { 75, BARCODE_NVE18, NEON_F, 0, -1, 0, -1, 0, 1, 17 }, + { 76, BARCODE_JAPANPOST, SHKASUTSET_F, 0, -1, 0, -1, 0, 1, 20 }, + { 77, BARCODE_KOREAPOST, NEON_F, 0, -1, 0, -1, 0, 1, 6 }, + { 78, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 79, BARCODE_DBAR_STK, NEON_F, 0, -1, 0, -1, 0, 1, 14 }, + { 80, BARCODE_DBAR_OMNSTK, NEON_F, 0, -1, 0, -1, 0, 1, 14 }, + { 81, BARCODE_DBAR_EXPSTK, ASCII_PRT_F, 0, -1, 0, 11, 0, 1, 74 }, + { 82, BARCODE_PLANET, NEON_F, 0, -1, 0, -1, 0, 1, 38 }, + { 83, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 84, BARCODE_MICROPDF417, 0, 0, -1, 0, 30, 0, 1, 366 }, + { 85, BARCODE_USPS_IMAIL, SODIUM_MNS_F, 0, -1, 0, -1, 0, 1, 32 }, + { 86, BARCODE_PLESSEY, SSET_F, 0, -1, 0, -1, 0, 1, 67 }, + { 87, BARCODE_TELEPEN_NUM, SODIUM_X_F, 0, -1, 0, -1, 0, 1, 136 }, + { 88, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 89, BARCODE_ITF14, NEON_F, 0, -1, 0, -1, 0, 1, 13 }, + { 90, BARCODE_KIX, KRSET_F, 0, -1, 0, -1, 0, 1, 18 }, + { 91, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 92, BARCODE_AZTEC, 0, -1, 4, 0, 36, 0, 1, 4483 }, + { 93, BARCODE_DAFT, DAFT_F, 0, -1, 50, 900, 0, 1, 576 }, + { 94, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 95, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 96, BARCODE_DPD, KRSET_F, 0, -1, 0, -1, 0, 27, 28 }, + { 97, BARCODE_MICROQR, 0, -1, 4, 0, 4, 0, 1, 35 }, + { 98, BARCODE_HIBC_128, SILVER_F, 0, -1, 0, -1, 0, 1, 110 }, + { 99, BARCODE_HIBC_39, SILVER_F, 0, -1, 0, 2, 0, 1, 70 }, + { 100, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 101, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 102, BARCODE_HIBC_DM, SILVER_F, 0, -1, 0, 48, DM_SQUARE | DM_ISO_144, 1, 110 }, + { 103, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 104, BARCODE_HIBC_QR, SILVER_F, -1, 4, 0, 40, ZINT_FULL_MULTIBYTE, 1, 110 }, + { 105, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 106, BARCODE_HIBC_PDF, SILVER_F, -1, 8, 0, 30, 0, 1, 110 }, + { 107, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 108, BARCODE_HIBC_MICPDF, SILVER_F, 0, -1, 0, 30, 0, 1, 110 }, + { 109, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 110, BARCODE_HIBC_BLOCKF, SILVER_F, -1, 44, -1, 67, 0, 1, 110 }, + { 111, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 112, BARCODE_HIBC_AZTEC, SILVER_F, -1, 4, 0, 36, 0, 1, 110 }, + { 113, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 114, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 115, BARCODE_DOTCODE, 0, 0, -1, 0, 200, 0, 1, 900 }, + { 116, BARCODE_HANXIN, 0, -1, 5, 0, 84, ZINT_FULL_MULTIBYTE, 1, 7827 }, + { 117, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 118, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 119, BARCODE_MAILMARK_2D, RUBIDIUM_F, 0, -1, 0, 30, DM_SQUARE | DM_ISO_144, 28, 90 }, + { 120, BARCODE_UPU_S10, KRSET_F, 0, -1, 0, -1, 0, 12, 13 }, + { 121, BARCODE_MAILMARK_4S, RUBIDIUM_F, 0, -1, 0, -1, 0, 14, 26 }, + { 122, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 123, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 124, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 125, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 126, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 127, /*symbology*/ -1, /*sane_flag*/ 0, /*opt_1*/ 0, -1, /*opt_2*/ 0, -1, /*opt_3*/ 0, /*len*/ 0, -1 }, + { 128, BARCODE_AZRUNE, NEON_F, 0, -1, 0, -1, 0, 1, 3 }, + { 129, BARCODE_CODE32, NEON_F, 0, -1, 0, -1, 0, 1, 8 }, + { 130, BARCODE_EANX_CC, SODIUM_PLS_F, 0, 2, 0, -1, 0, 1, 338 }, + { 131, BARCODE_GS1_128_CC, ASCII_PRT_F, 0, 3, 0, -1, 0, 1, 2361 }, + { 132, BARCODE_DBAR_OMN_CC, NEON_F, 0, 2, 0, -1, 0, 1, 338 }, + { 133, BARCODE_DBAR_LTD_CC, NEON_F, 0, 2, 0, -1, 0, 1, 338 }, + { 134, BARCODE_DBAR_EXP_CC, ASCII_PRT_F, 0, 2, 0, -1, 0, 1, 338 }, + { 135, BARCODE_UPCA_CC, SODIUM_PLS_F, 0, 2, 0, -1, 0, 1, 338 }, + { 136, BARCODE_UPCE_CC, SODIUM_PLS_F, 0, 2, 0, -1, 0, 1, 338 }, + { 137, BARCODE_DBAR_STK_CC, NEON_F, 0, 2, 0, -1, 0, 1, 338 }, + { 138, BARCODE_DBAR_OMNSTK_CC, NEON_F, 0, 2, 0, -1, 0, 1, 338 }, + { 139, BARCODE_DBAR_EXPSTK_CC, ASCII_PRT_F, 0, 2, 0, 11, 0, 1, 338 }, + { 140, BARCODE_CHANNEL, NEON_F, 0, -1, 3, 8, 0, 1, 7 }, + { 141, BARCODE_CODEONE, 0, 0, -1, 0, 10, 0, 1, 3550 }, + { 142, BARCODE_GRIDMATRIX, 0, 0, 5, 0, 13, ZINT_FULL_MULTIBYTE, 1, 1751 }, + { 143, BARCODE_UPNQR, 0, 0, -1, 0, -1, ZINT_FULL_MULTIBYTE, 1, 411 }, + { 144, BARCODE_ULTRA, 0, -1, 5, 0, 2, ULTRA_COMPRESSION, 1, 504 }, + { 145, BARCODE_RMQR, 0, -1, 4, 0, 38, 0, 1, 361 }, +}; + +/* Make sure value `v` is between `min` and `max` */ +static int clamp(const int v, const int min, const int max) { + return v < min ? min : v > max ? max : v; +} + +/* Set `symbol` based on `settings[idx]`, returning new length after consuming some `*p_input` (`data`) */ +static int set_symbol(struct zint_symbol *symbol, const int idx, const int chk_sane, const int no_eci, + const unsigned char **p_input, const size_t size) { + const unsigned char *input = *p_input; + int length = (int) size; + const struct settings_item *si; + + assert(idx >= 0 && idx < ZARRAY_SIZE(settings)); + assert(settings[idx].symbology > 0); + assert(settings[idx].symbology == idx); + + si = settings + idx; + + ZBarcode_Reset(symbol); + + symbol->symbology = si->symbology; + if (length < si->len_min) { + return 0; + } + /* `input_mode` */ + if (length > si->len_min) { + symbol->input_mode = (*input++ << 3); /* Note DATA/UNICODE/GS1_MODE must be set by caller */ + length--; + } + /* `option_1` */ + if (length > si->len_min && si->option_1_min <= si->option_1_max) { + unsigned char ch = *input++; + if (ch != 0xFF) { /* Special case 255 as default (-1) */ + if (si->option_1_min + 1 == si->option_1_max) { /* Only one in it? */ + symbol->option_1 = (ch & 1) ? si->option_1_min : si->option_1_max; /* Odd/even */ + } else { + symbol->option_1 = clamp(ch, si->option_1_min, si->option_1_max); + } + } + length--; + } + /* `option_2` */ + if (length > si->len_min && si->option_2_min <= si->option_2_max) { + if (si->option_2_min + 1 == si->option_2_max) { /* Only one in it? */ + symbol->option_2 = (*input++ & 1) ? si->option_2_min : si->option_2_max; /* Odd/even */ + } else { + symbol->option_2 = clamp(*input++, si->option_2_min, si->option_2_max); + } + length--; + } + /* `eci` */ + if (!no_eci) { + if (length > si->len_min && (ZBarcode_Cap(symbol->symbology, ZINT_CAP_ECI) & ZINT_CAP_ECI)) { + symbol->eci = *input++; + /* Avoid invalid/unconvertible ECIs */ + if (symbol->eci == 1) { + symbol->eci = 899; /* Binary */ + } else if (symbol->eci > 35 && symbol->eci != 170) { + symbol->eci = 35; /* UTF-32LE */ + } else if (symbol->eci == 2 || symbol->eci == 15 || symbol->eci == 19) { + symbol->eci++; + } + length--; + } + } + /* `option_3` */ + if (length > si->len_min && si->option_3) { + if (*input++ & 1) { /* Odd/even */ + symbol->option_3 = si->option_3; + } + length--; + } +#ifdef Z_FUZZ_SET_OUTPUT_OPTIONS + if (length > si->len_min) { + symbol->output_options = *input++ & OUTPUT_OPTIONS_MASK; + length--; + } +#endif + + if (length > si->len_max) { + return 0; + } + if (chk_sane && si->sane_flag && !is_sane(si->sane_flag, input, length)) { + return 0; + } + +#ifdef Z_FUZZ_DEBUG + symbol->debug = ZINT_DEBUG_PRINT; +#endif + + *p_input = input; + + assert(length >= si->len_min && length <= si->len_max); + + return length; +} + +/* vim: set ts=4 sw=4 et : */ +#endif /* Z_FUZZ_H */ diff --git a/backend/tests/fuzz/fuzz_data.c b/backend/tests/fuzz/fuzz_data.c new file mode 100644 index 00000000..b883bf17 --- /dev/null +++ b/backend/tests/fuzz/fuzz_data.c @@ -0,0 +1,87 @@ +/* fuzz_data.c - fuzzer for libzint (DATA_MODE, all symbologies except GS1_128, DBAR_EXP/STK & composites) */ +/* + libzint - the open source barcode library + Copyright (C) 2024 Robin Stuart + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. 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. + 3. Neither the name of the project 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 OWNER 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. + */ +/* SPDX-License-Identifier: BSD-3-Clause */ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#if 0 +#define Z_FUZZ_DEBUG /* Set `symbol->debug` flag */ +#define Z_FUZZ_SET_OUTPUT_OPTIONS /* Set `symbol->output_options` */ +#endif +#include "fuzz.h" + +int LLVMFuzzerTestOneInput(const unsigned char *data, size_t size) { + struct zint_symbol *symbol; + int idx; + + /* Ignore empty or very large input */ + if (size < 1 || size > 10000) { + return 0; + } + + symbol = ZBarcode_Create(); + assert(symbol); + + for (idx = 0; idx < ZARRAY_SIZE(settings); idx++) { + const unsigned char *input; + int length; + int ret; + + if (!ZBarcode_ValidID(idx)) { + continue; + } + if (idx == BARCODE_GS1_128 || idx == BARCODE_DBAR_EXP || idx == BARCODE_DBAR_EXPSTK + || (ZBarcode_Cap(idx, ZINT_CAP_COMPOSITE) & ZINT_CAP_COMPOSITE)) { + continue; + } + + input = data; + length = set_symbol(symbol, idx, 1 /*chk_sane*/, 0 /*no_eci*/, &input, size); + if (!length) { + continue; + } + + ret = ZBarcode_Encode(symbol, input, length); + assert(ret != ZINT_ERROR_ENCODING_PROBLEM); + } + + ZBarcode_Delete(symbol); + + return 0; +} + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +/* vim: set ts=4 sw=4 et : */ diff --git a/backend/tests/fuzz/fuzz_data_seed_corpus.zip b/backend/tests/fuzz/fuzz_data_seed_corpus.zip new file mode 100644 index 0000000000000000000000000000000000000000..dab063d12e1ed85468ad7143b7a0879f8ae45554 GIT binary patch literal 10257 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 literal 0 HcmV?d00001 diff --git a/backend/tests/fuzz/fuzz_gs1.c b/backend/tests/fuzz/fuzz_gs1.c new file mode 100644 index 00000000..9e650916 --- /dev/null +++ b/backend/tests/fuzz/fuzz_gs1.c @@ -0,0 +1,123 @@ +/* fuzz_gs1.c - fuzzer for libzint (GS1-enabled symbologies, GS1_MODE) */ +/* + libzint - the open source barcode library + Copyright (C) 2024 Robin Stuart + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. 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. + 3. Neither the name of the project 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 OWNER 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. + */ +/* SPDX-License-Identifier: BSD-3-Clause */ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#if 0 +#define Z_FUZZ_DEBUG /* Set `symbol->debug` flag */ +#define Z_FUZZ_SET_OUTPUT_OPTIONS /* Set `symbol->output_options` */ +#endif +#include "fuzz.h" + +int LLVMFuzzerTestOneInput(const unsigned char *data, size_t size) { + static const int symbologies[] = { + BARCODE_AZTEC, BARCODE_CODE16K, BARCODE_CODE49, BARCODE_CODEONE, BARCODE_DATAMATRIX, BARCODE_DBAR_EXP, + BARCODE_DBAR_EXPSTK, BARCODE_DOTCODE, BARCODE_GS1_128, BARCODE_QRCODE, BARCODE_RMQR, BARCODE_ULTRA, + BARCODE_EANX_CC, BARCODE_GS1_128_CC, BARCODE_DBAR_OMN_CC, BARCODE_DBAR_LTD_CC, BARCODE_DBAR_EXP_CC, + BARCODE_UPCA_CC, BARCODE_UPCE_CC, BARCODE_DBAR_STK_CC, BARCODE_DBAR_OMNSTK_CC, BARCODE_DBAR_EXPSTK_CC, + }; + struct zint_symbol *symbol; + unsigned char *gs1_buf; + int i; + + /* Ignore empty or very large input */ + if (size < 1 || size > 10000) { + return 0; + } + + symbol = ZBarcode_Create(); + assert(symbol); + + gs1_buf = (unsigned char *) malloc(size + 2); + assert(gs1_buf); + gs1_buf[0] = '['; /* Add dummy AI - along with GS1NOCHECK_MODE disables GS1 verification */ + gs1_buf[1] = ']'; + + for (i = 0; i < ZARRAY_SIZE(symbologies); i++) { + static const char primary_ai[] = "[01]12345678901231"; + static const char primary_upce[] = "12345670"; + static const char primary[] = "123456789012"; + const int idx = symbologies[i]; + const int is_composite = ZBarcode_Cap(idx, ZINT_CAP_COMPOSITE) & ZINT_CAP_COMPOSITE; + const unsigned char *input; + int length; + int ret; + + assert(ZBarcode_ValidID(idx)); + + input = data; + length = set_symbol(symbol, idx, !is_composite /*chk_sane*/, 1 /*no_eci*/, &input, size); + if (!length) { + continue; + } + + if (is_composite) { + if (idx == BARCODE_GS1_128_CC || idx == BARCODE_DBAR_EXP_CC || idx == BARCODE_DBAR_EXPSTK_CC) { + strcpy(symbol->primary, primary_ai); + } else if (idx == BARCODE_UPCE_CC) { + strcpy(symbol->primary, primary_upce); + } else { + strcpy(symbol->primary, primary); + } + } + + /* Try it first without GS1NOCHECK_MODE */ + symbol->input_mode = (symbol->input_mode & ~0x07) | GS1_MODE; + + ret = ZBarcode_Encode(symbol, input, length); + assert(ret != ZINT_ERROR_ENCODING_PROBLEM); + + ZBarcode_Clear(symbol); + + /* Now with GS1NOCHECK_MODE */ + symbol->input_mode = (symbol->input_mode & ~0x07) | GS1_MODE | GS1NOCHECK_MODE; + symbol->input_mode &= ~GS1PARENS_MODE; + + memcpy(gs1_buf + 2, input, length); + + ret = ZBarcode_Encode(symbol, gs1_buf, length + 2); + assert(ret != ZINT_ERROR_ENCODING_PROBLEM); + } + + (void) free(gs1_buf); + ZBarcode_Delete(symbol); + + return 0; +} + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +/* vim: set ts=4 sw=4 et : */ diff --git a/backend/tests/fuzz/fuzz_gs1.dict b/backend/tests/fuzz/fuzz_gs1.dict new file mode 100644 index 00000000..dd11f36f --- /dev/null +++ b/backend/tests/fuzz/fuzz_gs1.dict @@ -0,0 +1,10 @@ +"%" +"%%" +"[01]" +"[10]" +"[15]" +"[17]" +"[20]" +"[3103]" +"[3202]" +"[91]" diff --git a/backend/tests/fuzz/fuzz_gs1_seed_corpus.zip b/backend/tests/fuzz/fuzz_gs1_seed_corpus.zip new file mode 100644 index 0000000000000000000000000000000000000000..9ac67d981ca522bd912c0827aa84cd9fdaffc90a GIT binary patch literal 969 zcmWIWW@Zs#U|`^2C@fNmD7pDuAq>d#WMp9AV~}Am00LbDgZRK8XMY#h&=5`r=F)xB zQkUJFmRefD&A`a=f|-E83yWm-RjbZ9bTCaQNu2J=&L)tM zlaiR0k(aR`H77AAE356Qo2#^*e?{~DTxhK8!B2F^OP z<2oDAFc5|sXryak79Sem>_~)xmIff>5TWOF*(_WMXp|wsIAdJ{b7G83{=I%-W@f@8 zex_OH?y(&^mX;>Q_D|!$38PyI(i|a;4$R=7Kv-3r*;peCv_=Jpg&;v;qHACg?;dOz zZ)jve!12k6eSN%KTwTXm?%liRz{#w@05qPFNsbv|0cuK+09pe9TN*($db(hRqzkk( z0WlL-{2`k;4`L>2Y!YWEY8)aP`W|8^YK-DD6ybZ+m_#f~So@c?1w;vE10 literal 0 HcmV?d00001 diff --git a/backend/tests/fuzz/gen_corpora.c b/backend/tests/fuzz/gen_corpora.c new file mode 100644 index 00000000..d025120e --- /dev/null +++ b/backend/tests/fuzz/gen_corpora.c @@ -0,0 +1,843 @@ +/* gen_corpora.c - write out initial fuzz data for zint, allowing for how `set_symbol()` in "fuzz.h" uses first X + bytes to set various `zint_symbol` members (namely `input_mode`, `option_1`, `option_2`, `eci`, `option_3`) */ +/* + libzint - the open source barcode library + Copyright (C) 2024 Robin Stuart + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. 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. + 3. Neither the name of the project 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 OWNER 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. + */ +/* SPDX-License-Identifier: BSD-3-Clause */ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#include +#include +#include /* mkdir(2) */ + +#include "fuzz.h" + +/* Data item */ +struct item { + int test_fuzz_idx; + int symbology; + int input_mode; + int eci; + int option_1; + int option_2; + int option_3; + char *data; + int length; +}; + +/* DATA_MODE data */ +static const struct item data_data[] = { + /* 0*/ { 0, BARCODE_CODEONE, -1, -1, -1, -1, -1, "3333P33B\035333V3333333333333\0363", -1 }, /* #181 Nico Gunkel, OSS-Fuzz */ + /* 1*/ { 1, BARCODE_CODEONE, -1, -1, -1, -1, -1, "{{-06\024755712162106130000000829203983\377", -1 }, /* #232 Jan Schrewe, CI-Fuzz, out-of-bounds in is_last_single_ascii() sp + 1 */ + /* 2*/ { 2, BARCODE_CODEONE, -1, -1, -1, -1, -1, "\000\000\000\367\000\000\000\000\000\103\040\000\000\244\137\140\140\000\000\000\000\000\000\000\000\000\005\000\000\000\000\000\165\060\060\060\060\061\060\060\114\114\060\010\102\102\102\102\102\102\102\102\057\102\100\102\057\233\100\102", 60 }, /* #300 (#4) Andre Maute (`c1_c40text_cnt()` not accounting for extended ASCII shifts) */ + /* 3*/ { 3, BARCODE_CODEONE, -1, -1, -1, 10, -1, "\153\153\153\060\001\000\134\153\153\015\015\353\362\015\015\015\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\362\362\000", 65 }, /* #300 (#8) Andre Maute (`c1_encode()` looping on latch) */ + /* 4*/ { 4, BARCODE_CODEONE, -1, -1, -1, 10, -1, "\015\015\353\362\015\015\015\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\362\362\000", 39 }, /* #300 (#8 shortened) Andre Maute */ + /* 5*/ { 5, BARCODE_CODEONE, -1, -1, -1, 10, -1, "\153\153\153\153\153\060\001\000\000\134\153\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\153\153\153\153\153\043\000\000\307\000\147\000\000\000\043\113\153\162\162\215\220", 90 }, /* #300 (#12) Andre Maute (too small buffer for Version T) */ + /* 6*/ { 0, BARCODE_TELEPEN, -1, -1, -1, -1, -1, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000", 69 }, /* #181 Nico Gunkel OSS-Fuzz */ + /* 7*/ { 2, BARCODE_TELEPEN_NUM, -1, -1, -1, -1, -1, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000", 70 }, + /* 8*/ { 3, BARCODE_TELEPEN_NUM, -1, -1, -1, -1, -1, "0404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404", 136 }, + /* 9*/ { 5, BARCODE_TELEPEN_NUM, -1, -1, -1, -1, -1, "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000X", 136 }, + /* 10*/ { 6, BARCODE_TELEPEN_NUM, -1, -1, -1, -1, -1, "9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999", 136 }, + /* 11*/ { 0, BARCODE_CODABLOCKF, -1, -1, -1, -1, -1, "\034\034I", 3 }, /* #181 Christian Hartlage OSS-Fuzz */ + /* 12*/ { 0, BARCODE_AZTEC, -1, -1, -1, -1, -1, + "\133\060\060\060\135\060\125\125\125\125\140\060\125\125\125\125\060\060\060\271\060\060\125\103\164\125\125\125\377\377\125\125" + "\125\125\125\125\125\133\060\076\060\135\261\177\261\261\261\236\261\261\261\040\261\261\261\261\261\261\261\020\261\261\261\261" + "\261\261\265\261\261\261\261\261\261\261\261\261\261\261\261\040\224\261\261\261\261\261\000\000\004\000\031\060\031\031\031\031" + "\031\031\031\031\261\261\040\261\261\261\261\261\261\261\020\261\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\376\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\261\261\261\261\261\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\135\135\135\135\135\135" + "\135\335\135\060\060\010\010\010\010\010\060", 2251 + }, /* Original OSS-Fuzz triggering data for malloc leak */ + /* 13*/ { 1, BARCODE_AZTEC, -1, -1, -1, -1, -1, + "\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060" + "\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\000\060\060\060\060\000\060\060\000\060\060\060\060" + "\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060" + "\060\005\060\060\060\060\060\060\060\005\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060" + "\060\060\060\060\060\060\060\060\060\060\060\000\000\060\350\060\060\060\060\060\350\060\345\060\343\060\060\060\005\060\060\060" + "\005\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\005\060\060\060\060\060\060\060\060\060\060\060" + "\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060" + "\060\060\060\060\060\175\175\175\175\060\175\175\175\175\175\060\060\060\060\175\060\175\175\175\175\060\060\060\060\005\060\060" + "\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\005\060\060\060\060\060\060\060\060\060" + "\060\060\060\060\060\060\060\060\060\000\060\060\060\060\060\005\060\060\060\060\060\005\005\060\005\060\060\060\060\060\060\005" + "\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060" + "\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\353\060\060\353" + "\060\060\060\060\353\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060" + "\060\060\060\060\353\060\353\060\060\060\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060" + "\060\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\353" + "\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060" + "\060\060\353\060\060\060\060\060\353\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060" + "\060\060\353\060\060\060\060\353\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060" + "\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060" + "\060\060\060\353\060\060\060\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060" + "\353\060\060\060\060\353\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\353" + "\060\060\060\060\353\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\353\060\060\060\060\060\264\060" + "\060\060\060\060\264\060\060\060\060\060\264\060\060\060\060\264\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060" + "\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060" + "\353\060\060\060\060\060\353\060\060\060\060\060\353\060\353\060\060\060\060\060\353\060\060\060\060\353\060\060\060\060\060\353" + "\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060" + "\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\353\060" + "\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060" + "\060\353\060\060\060\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060" + "\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\353\060\060" + "\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060" + "\060\060\353\060\060\060\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353" + "\060\060\060\060\353\060\060\060\060\060\353\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\353\060" + "\060\060\060\060\353\060\060\060\060\060\353\060\353\060\060\060\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060" + "\060\060\060\353\060\060\060\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\060" + "\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060\353\060\060\060\060\353\060\060\060\060\060\353\060\060\060\060\353" + "\060\060\060\060\060\353\060\060\060\060\060\353\060\060\353\060\060\060\343\060\060\060\060\060\060\060\060\060\005\060\060\060" + "\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\377\060\060\060\060\060\060\060" + "\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\005\060\060\060\060" + "\060\060\060\060\060\060\060\060\361\060\060\060\060\060\361\060\060\060\060\361\060\060\060\060\060\361\060\060\060\060\060\361" + "\060\060\060\361\060\060\060\005\060\060\060\060\060\060\060\005\060\060\060\060\060\005\363\060\362\060\060\060\060\377\060\060" + "\060\177\060\060\060\060\060\263\060\060\060\060\060\060\060\060\060\000\060\060\060\060\377\177\060\060\060\362\060\362\060\363" + "\060\363\060\177\060\377\060\060\060\060\060\060\060\377\177\060\355\060\057\060\060\060\377\060\377\060\060\060\177\000\060\000" + "\060\377\060\060\060\060\060\060\005\060\060\000\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\005\060\060" + "\060\060\060\060\060\371\060\060\060\363\060\060\060\060\060\060\362\060\060\060\060\060\362\060\363\060\362\060\060\060\060\377" + "\060\177\060\060\060\060\060\263\060\060\060\060\060\060\060\060\060\060\000\060\060\060\377\177\060\060\060\362\060\362\060\363" + "\060\363\060\060\377\057\060\060\060\060\060\060\377\177\060\355\060\060\060\060\060\377\060\377\060\060\060\177\000\060\000\060" + "\377\060\353\060\060\000\060\060\060\060\060\060\060\060\060\256\060\060\060\362\060\060\060\060\060\060\060\060\005\362\060\060" + "\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\057\060\060\060\060\060\060\060\000\060\000\060\060\060\000\060\060" + "\057\060\060\060\060\060\377\060\377\060\060\060\060\060\060\060\060\060\060\060\060\000\060\060\347\060\060\060\060\060\060\060" + "\060\060\060\060\060\060\060\000\060\377\060\060\060\377\060\363\060\363\060\060\060\060\060\060\060\060\060\060\060\060\060\060" + "\362\060\060\060\060\060\060\362\347\060\354\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\005\060\060\060\060\060" + "\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005" + "\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\005\060\060\060\000\060\000\060\060\060\060" + "\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\344\005\060\060\005\060\342\060" + "\060\060\060\060\060\060\060\060\060\060\060\005\060\000\060\060\060\060\060\060\060\060\060\060\377\060\060\060\060\005\060\060" + "\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\005\060\060\060\060" + "\060\060\060\060\060\060\060\005\060\060\060\005\060\060\060\060\060\060\060\060\060\060\005\060\351\060\060\060\060\060\060\005" + "\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005" + "\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060" + "\060\060\060\060\060\060\060\060\060\005\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060" + "\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\005\060\060\060\005\060\060\060\060\005" + "\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\005\060\060\060\175\175\060\175\060\060\060" + "\060\175\060\060\060\060\175\060\060\060\060\175\060\175\175\175\005\060\060\060\060\060\060\060\060\377\060\060\060\060\060\060" + "\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\005\060\342\060\060\060\060\060\060\060" + "\060\060\060\060\060\060\060\005\060\060\060\345\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060" + "\060\060\060\060\060\060\005\060\371\060\060\060\060\060\060\060\060\060\060\060\361\060\060\060\060\060\005\361\060\060\060\060" + "\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060" + "\060\060\060\060\005\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\005\060\351\060\060" + "\060\060\060\060\060\060\060\060\060\060\060\005\363\060\060\005\060\060\005\060\060\060\060\060\060\060\060\060\005\060\000\060" + "\060\060\060\060\060\060\362\060\060\060\060\060\060\060\060\060\060\060\005\060\005\060\060\060\060\060\060\060\060\060\060\060" + "\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060" + "\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\000\060\060\060\060\060\060\060\060\060\005\060\377\060\005" + "\060\371\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060" + "\060\060\060\060\060\060\060\060\005\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060" + "\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060" + "\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\175\175\175\175\060\175\175\060\060\060\060\060\175\060\175\175" + "\175\005\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\005\060" + "\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\005\060\060\060\060\060\060\060\060" + "\060\060\005\060\060\060\060\060\005\060\000\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060" + "\060\060\005\060\060\060\060\060\005\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060" + "\060\060\005\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060" + "\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\005\060\351\060\060\060\060\060\060\060" + "\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\005\060\060\060" + "\060\005\060\060\060\005\060\362\060\060\060\060\060\060\060\060\060\060\060\060\377\060\060\000\177\060\060\000\060\377\060\353" + "\060\060\060\363\060\060\060\060\060\060\060\060\060\060\060\060\362\060\060\060\060\060\000\060\060\377\060\060\060\175\175\175" + "\175\060\060\060\175\175\175\175\060\060\005\060\005\060\005\060\060\060\060\000\000\060\060\060\060\060\060\377\060\060\060\060" + "\377\060\377\377\060\060\057\060\060\057\060\060\060\000\000\060\060", 2801 + }, /* Original OSS-Fuzz triggering data for binary_string buffer overrun */ + /* 14*/ { 2, BARCODE_AZTEC, -1, -1, 1, -1, -1, + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" + "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123", + 4483 + }, /* 4483 = (1664 (Max codewords) - 169 (ECC codewords) - 5/12 (D/L) - 3/12 (padding)) * 3 (3 4-bit digits per 12-bit wordcode) = 4483 */ + /* 15*/ { 8, BARCODE_AZTEC, -1, -1, -1, 1, -1, + "\105\105\000\000\000\000\000\000\000\000\077\012\377\377\377\072\376\376\350\350\350\350\350\250\350\350\350\350\354\350\350\350\350\350\001\000\000\000\000\000" + "\000\036\103\012\072\103\103\000\100\116\000\000\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\077\012" + "\377\377\377\072\376\376\350\350\350\350\350\250\350\350\350\350\354\350\350\350\000\000\000\000\000\000\000\033\000\036\103\012\072\103\103\000\100\116\000\000" + "\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\012\000\000\000\000\072\103\103\103\103\012\012\000\365\365\365\365\365\365\374\365\365\365\365\365\000\000\001\000\000\000\000\000\100\377\337\377" + "\377\377\377\377\000\000\000\000\372\377\000\100\377\377\350\350\000\000\350\350\350\350\350\350\350\350\001\000\000\000\000\000\000\036\103\012\072\103\365\000" + "\000\000\000\000\000\000\000\000\377\377\377\350\350\350\350\350\350\350\350\350\350\350\350\350\350\061\350\350\350\350\354\350\350\350\350\350\001\000\000\000" + "\000\000\000\036\103\012\072\103\103\000\100\116\000\000\000\000\000\000\000\000\000\000\000\216\000\000\000\000\000\000\000\377\377\377\377\377\377\377\000\000" + "\377\365\374\365\365\365\365\001\236\365\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\064\064\064\064\064\064\064\064\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153" + "\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\064\064\064\064\064\064\064\064\064\064\044\064\064\064\064\064\064\064\064\064" + "\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\264\264\362\362\362\362\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242" + "\242\242\242\242\242\242\242\242\242\242\242\242\242\103\000\100\116\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\000\000\072\103\103\103\103\012\012\000\365\365\365\365\365" + "\365\374\365\365\365\365\365\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\100\377\377\377\377\377\377\377\000\000\000\000" + "\000\000\000\100\377\377\350\350\000\000\350\350\350\350\350\350\350\350\001\000\000\000\000\000\000\036\103\012\072\103\365\000\000\000\000\000\000\000\266\266" + "\266\266\112\000\000\000\266\266\266\266\266\266\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\077\012\377" + "\377\377\072\376\376\350\350\350\350\350\000\000\000\000\001\000\000\000\350\350\350\001\000\000\000\000\000\000\036\103\012\072\103\103\000\100\116\000\000\000" + "\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\000\000\000\025\000\000\000\000\001\000\000\000\000\000\000\003\000\000\000\000\000\000\000\000" + "\000\000\012\000\000\000\000\072\103\103\103\103\012\012\000\365\365\365\365\365\365\374\365\365\365\365\365\000\000\000\311\000\000\000\000\100\377\337\377\377" + "\377\377\377\000\000\000\000\000\000\000\100\377\377\350\353\000\000\350\150\350\350\350\350\350\350\001\000\000\000\000\000\000\036\103\012\072\103\365\000\000" + "\000\000\000\000\000\047\000\377\377\377\350\350\350\350\350\350\350\350\350\350\350\350\350\350\254\350\350\350\350\354\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\350\350\350\350\350\001\000\000\127\000\000\000\036\103" + "\012\072\103\103\000\100\116\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\050\050\050\000\000\000" + "\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\266" + "\266\266\266\266\266\377\377\377\377\377\013\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\005\000\000\000\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\266\266\266\266\266\266\266\266\266\266\377\377\377\377\377\377\377\377\377\377\377\377\044" + "\377\377\377\377\377\377\050\064\064\064\000\000\000\000\072\376\376\350\350\350\350\350\350\377\377\377\377\377\377\377\377\377\377\377\377\377\005\377\377\377" + "\377\350\350\350\350\350\350\350\310\350\350\001\000\000\000\000\000\000\036\103\012\072\103\103\000\000\000\000\000\000\000\000\000\000\000\000\000\000\266\266" + "\266\266\266\266\377\377\377\377\377\013\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\005\000\000\000\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\266\266\266\266\266\266\266\266\266\266\377\377\377\377\377\377\377\377\377\377\377\377\044\377" + "\377\377\377\377\377\050\064\064\064\000\000\000\000\072\376\376\350\350\350\350\350\350\377\377\377\377\377\377\377\377\377\377\377\377\377\005\377\377\377\377" + "\350\350\350\350\350\350\350\310\350\350\001\000\000\000\000\000\000\036\103\012\072\103\103\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\310\000\064\064\064\064\064\064\064\064\064\064\064\064\064\064\073\064\064\064\064" + "\064\064\064\064\064\064\064\064\000\377\365\374\365\365\365\365\001\236\365\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\064\064\064\064\064\064\064\064\153\153\153\153\153" + "\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\337\266\266\266\000" + "\000\000\000\000\000\000\377\377\377\377\377\000\000\000\000\000\000\000\100\377\377\350\350\000\000\350\350\350\350\350\350\350\350\001\000\000\000\000\000\000" + "\036\103\012\072\103\365\000\000\000\000\000\000\000\000\000\377\377\377\350\350\350\350\350\350\350\350\350\350\350\350\350\350\254\350\350\350\350\354\350\350" + "\350\350\350\001\000\000\000\000\000\000\036\103\012\072\103\103\000\100\116\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\050\000\050\050\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\000\177\377\377\377" + "\046\000\000\000\000\000\000\027\027\027\027\027\027\027\027\027\027\027\027\000\027\027\027\027\000\004\000\000\000\000\000\135\000\044\103\000\000\377\377\377" + "\377\377\103\377\364\377\364", + 2167 + }, /* #300 (#2) Andre Maute */ + /* 16*/ { 10, BARCODE_AZTEC, -1, -1, -1, 1, -1, + "\105\105\000\000\000\000\000\000\000\000\077\012\377\377\377\072\376\376\350\350\350\350\350\250\350\350\350\350\354\350\350\350\350\350\001\000\000\000\000\000" + "\000\036\103\012\072\103\103\000\100\116\000\000\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\077\012" + "\377\377\377\072\376\376\350\350\350\350\350\250\350\350\350\350\354\350\350\350\000\000\000\000\000\000\000\033\000\036\103\012\072\103\103\000\100\116\000\000" + "\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\012\000\000\000\000\072\103\103\103\103\012\012\000\365\365\365\365\365\365\374\365\365\365\365\365\000\000\001\000\000\000\000\000\100\377\337\377" + "\377\377\377\377\000\000\000\000\372\377\000\100\377\377\350\350\000\000\350\350\350\350\350\350\350\350\001\000\000\000\000\000\000\036\103\012\072\103\365\000" + "\000\000\000\000\000\000\000\000\377\377\377\350\350\350\350\350\350\350\350\350\350\350\350\350\350\061\350\350\350\350\354\350\350\350\350\350\001\000\000\000" + "\000\000\000\036\103\012\072\103\103\000\100\116\000\000\000\000\000\000\000\000\000\000\000\216\000\000\000\000\000\000\000\377\377\377\377\377\377\377\000\000" + "\377\365\374\365\365\365\365\001\236\365\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\064\064\064\064\064\064\064\064\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153" + "\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\064\064\064\064\064\064\064\064\064\064\044\064\064\064\064\064\064\064\064\064" + "\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\264\264\362\362\362\362\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242" + "\242\242\242\242\242\242\242\242\242\242\242\242\242\103\000\100\116\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\000\000\072\103\103\103\103\012\012\000\365\365\365\365\365" + "\365\374\365\365\365\365\365\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\100\377\377\377\377\377\377\377\000\000\000\000" + "\000\000\000\100\377\377\350\350\000\000\350\350\350\350\350\350\350\350\001\000\000\000\000\000\000\036\103\012\072\103\365\000\000\000\000\000\000\000\266\266" + "\266\266\112\000\000\000\266\266\266\266\266\266\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\077\012\377" + "\377\377\072\376\376\350\350\350\350\350\000\000\000\000\001\000\000\000\350\350\350\001\000\000\000\000\000\000\036\103\012\072\103\103\000\100\116\000\000\000" + "\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\000\000\000\025\000\000\000\000\001\000\000\000\000\000\000\003\000\000\000\000\000\000\000\000" + "\000\000\012\000\000\000\000\072\103\103\103\103\012\012\000\365\365\365\365\365\365\374\365\365\365\365\365\000\000\000\311\000\000\000\000\100\377\337\377\377" + "\377\377\377\000\000\000\000\000\000\000\100\377\377\350\353\000\000\350\150\350\350\350\350\350\350\001\000\000\000\000\000\000\036\103\012\072\103\365\000\000" + "\000\000\000\000\000\047\000\377\377\377\350\350\350\350\350\350\350\350\350\350\350\350\350\350\254\350\350\350\350\354\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\350\350\350\350\350\001\000\000\127\000\000\000\036\103" + "\012\072\103\103\000\100\116\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\050\050\050\000\000\000" + "\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\266" + "\266\266\266\266\266\377\377\377\377\377\013\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\005\000\000\000\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\266\266\266\266\266\266\266\266\266\266\377\377\377\377\377\377\377\377\377\377\377\377\044" + "\377\377\377\377\377\377\050\064\064\064\000\000\000\000\072\376\376\350\350\350\350\350\350\377\377\377\377\377\377\377\377\377\377\377\377\377\005\377\377\377" + "\377\350\350\350\350\350\350\350\310\350\350\001\000\000\000\000\000\000\036\103\012\072\103\103\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\310\000\064\064\064\064\064\064\064\064\064\064\064\064\064\064\073\064\064\064\064\064\064\064\064\064\064\064" + "\064\000\377\365\374\365\365\365\365\001\236\365\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\064\064\064\064\064\064\064\064\153\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\153\153\153" + "\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\153\337\266\266\266\000" + "\000\000\000\000\000\000\377\377\377\377\377\000\000\000\000\000\000\000\100\377\377\350\350\000\000\350\350\350\350\350\350\350\350\001\000\000\000\000\000\000" + "\036\103\012\072\103\365\000\000\000\000\000\000\000\000\000\377\377\377\350\350\350\350\350\350\350\350\350\350\350\350\350\350\254\350\350\350\350\354\350\350" + "\350\350\350\001\000\000\000\000\000\000\036\103\012\072\103\103\000\100\116\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\050\000\050\050\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\004\000\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\032\032\032\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\000\177\377\377\377\046\000\000\000\000\000\000\027\027\027" + "\027\027\027\027\027\027\027\027\027\000\027\027\027\027\000\004\000\000\000\000\000\135\000\044\103\000\000\377\377\377\377\377\103\377\364\377\364", + 2157 + }, /* #300 (#3) Andre Maute */ + /* 17*/ { 11, BARCODE_AZTEC, -1, -1, 2, -1, -1, + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000", + 996 + }, /* Padding 11 example causing issue with ZXing-C++ */ + /* 18*/ { 0, BARCODE_PDF417, FAST_MODE, -1, -1, -1, -1, + "\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075" + "\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\073\060\025\060\075\060\204\060\103\204\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060" + "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204" + "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060" + "\000\075\060\226\060\100\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\110\060\160\060\075\060\075\204\060" + "\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\073\060\074\060\075" + "\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\120\214\060\204\060\074\204\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041" + "\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\120\214\060\204\060\075\060\204\060\075\204\060\204\060\204\075\060\075\060" + "\204\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060" + "\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\075\060\103\204\060\214\060\204\060\075\060" + "\200\060\204\075\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060\075\204\060\204\060\204\075\060\075\060\204\060\134\060\075\204\060\040\060\103\204" + "\060\372\120\060\124\060\004\060\103\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\000\060\113\060\377\060\235\060\075\060" + "\204\060\103\204\060\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\211\060\214\060\204\060\075\060" + "\041\060\204\060\204\060\120\060\075\060\204\060\003\060\103\204\060\204\060\377\060\350\060\223\060\000\075\060\226\060\103\204\060\204\060\204\120\060\075\060" + "\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120" + "\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\155\060\000\075\060\226\060\100\204\060\204\060" + "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204" + "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060" + "\000\075\060\226\060\100\204\060\204\060\204\075\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\075\060\110\060\160" + "\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075" + "\060\073\060\074\060\075\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\214\060\214" + "\060\204\060\075\060\041\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\075\214\060\204\060\075\060\204\060\075\204\060\204" + "\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103" + "\204\060\214\060\204\060\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\004\060\103\204\060" + "\204\060\003\060\204\075\060\120\214\060\204\060\004\060\103\204\060\204\060\003\060\211\074\060\120\060\124\060\351\060\120\060\075\060\351\060\072\375\060\204\060", + 1001 + }, /* Original OSS-Fuzz triggering data */ + /* 19*/ { 1, BARCODE_PDF417, -1, -1, -1, -1, -1, + "\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075" + "\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\073\060\025\060\075\060\204\060\103\204\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060" + "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204" + "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060" + "\000\075\060\226\060\100\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\110\060\160\060\075\060\075\204\060" + "\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\073\060\074\060\075" + "\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\120\214\060\204\060\074\204\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041" + "\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\120\214\060\204\060\075\060\204\060\075\204\060\204\060\204\075\060\075\060" + "\204\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060" + "\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\075\060\103\204\060\214\060\204\060\075\060" + "\200\060\204\075\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060\075\204\060\204\060\204\075\060\075\060\204\060\134\060\075\204\060\040\060\103\204" + "\060\372\120\060\124\060\004\060\103\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\000\060\113\060\377\060\235\060\075\060" + "\204\060\103\204\060\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\211\060\214\060\204\060\075\060" + "\041\060\204\060\204\060\120\060\075\060\204\060\003\060\103\204\060\204\060\377\060\350\060\223\060\000\075\060\226\060\103\204\060\204\060\204\120\060\075\060" + "\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120" + "\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\155\060\000\075\060\226\060\100\204\060\204\060" + "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204" + "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060" + "\000\075\060\226\060\100\204\060\204\060\204\075\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\075\060\110\060\160" + "\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075" + "\060\073\060\074\060\075\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\214\060\214" + "\060\204\060\075\060\041\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\075\214\060\204\060\075\060\204\060\075\204\060\204" + "\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103" + "\204\060\214\060\204\060\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\004\060\103\204\060" + "\204\060\003\060\204\075\060\120\214\060\204\060\004\060\103\204\060\204\060\003\060\211\074\060\120\060\124\060\351\060\120\060\075\060\351\060\072\375\060\204\060", + 1001 + }, /* Original OSS-Fuzz triggering data */ + /* 20*/ { 28, BARCODE_PDF417COMP, FAST_MODE, -1, 0, -1, -1, + "\000\000\000\377\377\010\002\000\000\033\005\031\000\000\002\000\000\000\000\101\101\101\101\101\101\101\101\000\000\000\000\000\000\000\374\000\101\101\101\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\323\000\000\000\000\000\010\000\000\000\000\165\000\000\000\000\000\000\000\000\000\000\000\000\056" + "\000\000\000\000\000\000\000\000\000\000\100\000\000\101\101\101\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\323\000\000\000\000\000\010\000" + "\000\000\000\000\000\000\000\000\000\000\000\323\000\000\000\000\000\010\000\000\000\000\165\000\000\000\000\000\000\000\000\000\000\000\000\056\000\000\000\000" + "\000\000\000\000\000\000\000\000\101\101\101\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\323\000\010\000\000\000\010\000\000\000\000\165\000" + "\000\000\000\000\000\000\000\000\000\000\000\056\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\375\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\101\101\101\101\101\101\101\101\101\101\101\055\101\101\101\101\101\101\101\101\101" + "\101\101\101\060\151\003\000\000\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\137\101\101\101\101\101\101\101\101\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\101\101\101\101\101\101\101\101\101\101\000\000\000\000\000\000\000\000\000\070\000\000\000\000\000\000\000" + "\000\000\000\377\377\010\002\000\000\033\005\031\000\000\002\000\000\000\000\101\101\101\101\101\101\101\101\000\000\000\000\000\000\000\374\000\101\101\101\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\323\000\000\000\000\000\010\000\000\000\000\165\000\000\000\000\000\000\000\000\000\000\000\000\056" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\375\000\000\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\375\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\101\101\101\101\101\101\101\101\101\101\101\101\101\055\101\101\101\101\101\101\101\101\101" + "\101\101\101\060\151\003\000\000\101\101\101\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\373\377\377\377\377\060" + "\060\060\060\060\060\060\060\060\060\060\060\051\060\060\060\060\060\060\377\377\377\377\000\000\000\000\377\161\000\151\151\250\122\141\012\377\377\021\021\021" + "\021\021\021\161\021\000\324\324\324\324\324\324\324\324\324\324\324\000\000\000\000\112\000\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324" + "\320\324\324\324\324\021\176\012\000\000\000\000\000\000\324\324\324\324\324\324\324\101\101\101\101\101\101\101\352\352\352\352\352\352\352\352\352\352\352\352" + "\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\000" + "\000\000\000\000\101\101\101\101\101\101\101\101\101\101\101\101\101\137\101\101\101\101\101\101\101\101\000\000\000\000\000\000\000\000\000\000\000\000\101\101" + "\101\101\041\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\324\324\324\324\324\324\324\324\324\077\324\324\324\324\324\324\324\324\324\324" + "\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\000\060\060\060\060\060" + "\060\060\060\060\060\060\060\060\060\060\060\051\060\060\060\060\060\060\377\377\377\377\000\000\000\000\377\161\000\151\151\250\122\141\012\377\377\021\021\021" + "\021\021\021\161\021\000\324\324\324\324\324\324\324\324\324\324\324\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\137\101\101\101\101\101" + "\101\000\000\000\000\374\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\323\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\323\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000", + 1048 + }, /* #300 (#1) Andre Maute (`pdf_text_submode_length()` not checking if previous/next BYT) */ + /* 21*/ { 29, BARCODE_PDF417, FAST_MODE, -1, -1, -1, -1, + "\060\060\060\060\060\060\060\060\060\060\060\162\162\162\162\162\162\162\162\162\162\047\122\162\000\000\167\211\206\001\000\047\153\153\153\153\153\067\066\164" + "\060\060\060\060\060\060\060\060\060\060\060\162\162\162\162\162\162\162\162\162\162\047\122\162\000\000\167\211\206\001\000\047\153\153\153\153\153\153\153\164" + "\164\164\164\164\164\124\164\164\164\164\164\164\164\164\164\164\164\164\164\164\060\060\060\060\060\060\060\060\060\060\060\162\162\162\162\162\162\162\162\162" + "\162\047\122\162\162\162\162\162\162\162\167\167\167\162\162\162\162\047\122\162\000\000\167\167\167\001\152\152\152\152\152\152\051\050\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\107\107\107\107\107\107\107\107" + "\107\107\162\107\107\107\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\152\152\152\152\152" + "\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152" + "\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050" + "\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051" + "\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152" + "\152\152\051\050\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051" + "\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152" + "\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051" + "\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107" + "\107\107\107\107\152\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051" + "\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152" + "\152\152\152\152\152\107\107\107\107\107\152\051\051\051\152\051\050\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\107\107\107\152" + "\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152" + "\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\050\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051" + "\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152" + "\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\107\107\107\152\051" + "\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051" + "\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107" + "\107\107\107\107\152\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\050\152" + "\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152" + "\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\050\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051" + "\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051" + "\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152" + "\152\152\152\152\152\152\152\152\107\107\107\107\107\152\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\000\124\164\164\162\162\162\047\122\162\162" + "\162\162\001\100\167\167\001\044\204\167\167", + 2611 + }, /* #300 (#7) Andre Maute */ + /* 22*/ { 30, BARCODE_PDF417, -1, -1, -1, -1, -1, + "\060\060\060\060\060\060\060\060\060\060\060\162\162\162\162\162\162\162\162\162\162\047\122\162\000\000\167\211\206\001\000\047\153\153\153\153\153\067\066\164" + "\060\060\060\060\060\060\060\060\060\060\060\162\162\162\162\162\162\162\162\162\162\047\122\162\000\000\167\211\206\001\000\047\153\153\153\153\153\153\153\164" + "\164\164\164\164\164\124\164\164\164\164\164\164\164\164\164\164\164\164\164\164\060\060\060\060\060\060\060\060\060\060\060\162\162\162\162\162\162\162\162\162" + "\162\047\122\162\162\162\162\162\162\162\167\167\167\162\162\162\162\047\122\162\000\000\167\167\167\001\152\152\152\152\152\152\051\050\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\107\107\107\107\107\107\107\107" + "\107\107\162\107\107\107\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\152\152\152\152\152" + "\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152" + "\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050" + "\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051" + "\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152" + "\152\152\051\050\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051" + "\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152" + "\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051" + "\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107" + "\107\107\107\107\152\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051" + "\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152" + "\152\152\152\152\152\107\107\107\107\107\152\051\051\051\152\051\050\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\107\107\107\152" + "\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152" + "\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\050\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051" + "\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152" + "\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\107\107\107\152\051" + "\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051" + "\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107" + "\107\107\107\107\152\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\050\152" + "\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152" + "\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\050\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051" + "\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051" + "\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152" + "\152\152\152\152\152\152\152\152\107\107\107\107\107\152\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051" + "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051" + "\051\051\051\051\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051" + "\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\000\124\164\164\162\162\162\047\122\162\162" + "\162\162\001\100\167\167\001\044\204\167\167", + 2611 + }, /* #300 (#7) Andre Maute !FAST_MODE */ + /* 23*/ { 31, BARCODE_PDF417, FAST_MODE, -1, -1, 0 /*same effect as 242*/, -1, + "\000\000\000\000\000\000\000\000\000\000\000\212\377\000\000\153\153\153\153\153\153\153\060\047\047\043\047\057\153\000\153\153\137\377\153\153\000\134\000\000" + "\000\153\153\343\153\153\153\060\047\047\043\047\057\157\153\153\153\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\377\377\377\167" + "\001\100\000\377\004\002\000\000\000\000\000\001\000\000\134\077\162\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162" + "\077\162\072\176\000\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\364\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362" + "\134\162\162\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077" + "\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\162\162\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\377\134\134\126\142\134" + "\162\362\162\162\162\072\176\000\162\134\134\126\142\134\162\362\162\162\162\072\176\000\162\162\162\162\162\174\174\377\134\362\162\362\162\162\162\072\176\000" + "\162\362\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\000\044\162\162\162\162\174\174\377\134\362\162\162\162\134\134\134\142\162" + "\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000" + "\162\162\377\377\377\377\377\377\134\134\134\142\134\162\153\153\153\153\153\153\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134" + "\134\134\142\134\162\362\162\162\162\072\176\000\162\000\001\000\000\134\077\162\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162" + "\162\162\162\077\162\072\176\000\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\364\072\176\000\162\162\162\162\162\174\174\377\134\134\134" + "\162\142\362\134\162\162\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162" + "\162\162\077\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\162\162\072" + "\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\377\134\134\126\142\134\162\362\162\162\162\072\176\000\174\174\377\134\362\162\362\162\162\162" + "\072\176\000\162\362\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\162\362\162\162\162\134\134\134\142\134\162\162\162\162\077\173" + "\153\153\153\165\000\000\000\153\151\153\153\153\153\153\153\153\153\153\153\153\153\153\153\176\000\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362" + "\162\162\162\072\176\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\362" + "\162\162\162\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\377\134\134\134\167\167\167\167\167\001\100\000\002\000\000\000\000\000\000\000" + "\000\153\153\067\000\000\000\153\153\300\000\000\000\000\000\000\000\000\000\000\000\000\212\377\000\000\153\153\153\153\153\153\153\060\047\047\043\047\057\153" + "\000\153\153\137\377\153\153\000\134\000\000\000\153\153\343\153\153\153\060\047\047\043\047\057\157\153\153\153\162\162\077\162\072\176\000\162\134\142\134\162" + "\162\162\162\077\162\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\377\377\377\167\001\100\000\377\004\002\000\000\000\000" + "\000\001\000\000\134\077\162\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\362\377\377\377" + "\377\377\377\134\134\134\142\134\162\362\162\162\364\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\215\215\162" + "\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377" + "\377\377\134\134\134\162\162\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\377\134\134\126\142\134\162\362\162\162\162\072\176\000\162\162" + "\162\162\162\174\174\377\134\362\162\362\162\162\162\072\176\000\162\362\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\000\044\162" + "\162\162\162\174\174\377\134\362\162\162\162\134\134\134\142\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377" + "\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\153\153\153\153\153\153\142\134\162\162" + "\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\162\072\176\000\162\000\001\000\000\134\077\162\072\176\000\162" + "\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362\162" + "\162\364\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162" + "\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\162\162\072\176\000\162" + "\162\162\162\162\174\174\377\134\134\134\142\134\162\362\162\162\162\072\176\000\162\162\162\162\162\174\174\377\134\362\162\172\162\134\134\134\142\162\072\162" + "\162\162\162\174\174\377\134\362\162\362\162\162\162\072\176\000\162\362\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\000\044\162" + "\162\162\162\174\174\377\134\362\162\162\162\134\134\134\142\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377" + "\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\153\153\153\153\153\153\142\134\162\162" + "\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\162\072\176\000\162\000\001\000\000\134\077\162\072\176\000\162" + "\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362\162" + "\162\364\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162" + "\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072" + "\176\000\162\162\377\377\377\377\377\377\134\134\134\162\162\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\377\134\134\126\142\134\162\362" + "\162\162\162\072\176\000\174\174\377\134\362\162\362\162\162\162\072\176\000\162\362\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000" + "\162\362\162\162\162\134\134\134\142\134\162\162\162\162\077\173\153\153\153\165\000\000\000\153\151\153\153\153\153\153\153\153\153\153\153\153\153\153\153\176" + "\000\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\162\072\176\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176" + "\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\162\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\377\134\134\134" + "\167\167\167\167\167\001\100\000\002\000\000\000\000\000\000\000\000\153\153\067\000\000\000\153\153\300\000\000\000\000\000\000\000\000\000\000\000\000\212\377" + "\000\000\153\153\153\153\153\153\153\060\047\047\043\047\057\153\000\153\153\137\377\153\153\000\134\000\000\000\153\153\343\153\153\153\060\047\047\043\047\057" + "\157\153\153\153\162\162\077\162\072\176\000\162\134\142\134\162\162\162\162\077\162\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134" + "\162\162\377\377\377\167\001\100\000\377\004\002\000\000\000\000\000\001\000\000\134\077\162\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134" + "\142\134\162\162\162\162\077\162\072\176\000\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\364\072\176\000\162\162\162\162\162\174\174\377" + "\134\134\134\162\142\362\134\162\162\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142" + "\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\162\162\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362" + "\377\134\134\126\142\134\162\362\162\162\162\072\176\000\162\162\162\162\162\174\174\377\134\362\162\362\162\162\162\072\176\000\162\362\162\162\162\174\174\377" + "\134\134\134\162\142\362\134\162\162\162\072\176\000\000\044\162\162\162\162\174\174\377\134\362\162\162\162\134\134\134\142\162\072\176\000\215\215\162\162\162" + "\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377" + "\134\134\134\142\134\162\153\153\153\153\153\153\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162" + "\162\072\176\000\162\000\001\000\000\134\077\162\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000" + "\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\364\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072" + "\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162" + "\162\377\377\377\377\377\377\134\134\134\162\162\072\176\000\162\162\162\162\162\174\174\377\134\134\134\142\134\162\362\162\162\162\072\176\000\162\162\162\162" + "\162\174\174\377\134\362\162\172\162\134\134\134\142\162\072\176\000\215\215\162\162\162\174\174\174\171\072\176\000\162\162\162\162\162\162\377\053\377\377\377" + "\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\162\072\176\000\162\362\162\162\162" + "\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\162\362\162\162\162\134\134\142\134\162\362\162\162\162\072\176\000\044\162\162\162\162\174\174" + "\377\134\362\162\162\162\134\134\134\142\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134" + "\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\162\072\176\000\162\162\162\162\162\174\174\377" + "\134\134\134\162\142\362\134\162\162\162\072\176\000\215\215\162\162\162\174\174\174\174\134\134\134\142\134\000\153\153\153\153\153\153\153\062\047\047\043\047" + "\057\262\054\377\134\134\142\153\330\153", + 2690 + }, /* #300 (#10) Andre Maute */ + /* 24*/ { 1, BARCODE_QRCODE, -1, -1, -1, -1, ZINT_FULL_MULTIBYTE, "\215\215\350\2156750\215\215\215\215\215\215\000\000\000\025\215\215\215\215\215\232\215\232\232\001\361\215\215\215\215\215\221\215\215\215\215JJJJJJNJJJJJJ\215\215\215\2159999\215\215\215\215\215\215\215\215\215\235\215\215\215\215\215\035\004\000\000@\000\000\000\000\375\000\000\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\241\247^^^\377\377\377\000 \000\000\000\000\000\000\377\377u\000\000\000\000\000\000\000^\377\377^^\000:\000\177\377\377\377?\377\377\377\377\377\377\377\377\377\377\377\377\377\377\241\241\232\232\232\232\232\232\232\232\000\377\377\377\242\003\000\000\377\377/\000AA\000\000\000\000\000\000\000\000\000\000\000\000T\000\000\000\000\000\000\000\000WWW\237\250WWWWWW\377\377R30 \377\377\000\000\000", 231 }, /* #300 (#15), Andre Maute */ + /* 25*/ { 2, BARCODE_QRCODE, -1, 35, -1, -1, ZINT_FULL_MULTIBYTE, "\215\215\215\215\215\350\215\215999\215\21500000\215\215\215\215\215\215\377O\000\000\036\000\000\000\000\357\376\026\377\377\377\377\241\241\232\232\232\232\232\232\235\032@\374:JGB \000\000@d\000\000\000\241\241\000\000\027\002\241\241\000\000\014\000\000\000\000\357\327\004\000\000\000\000\000\000\000\375\000\000\000\000\000\000\000\000\000\000\000\000\0000253]9R4R44,44,4404[255\350999\215\21599999\215\215\215\2150000\215\215\215\215\215\215\215\215\215]9444442<4444,4044%44vA\000\000\002\000'\000\000\215\377@\215\215\350\215\215\215\215\215\215\215\307\306\306n\215\215\000\000\001\000\000\203\000\000\000\000\000\000@\215\215\215[\2154315@]R0", 229 }, /* #300 (#16), Andre Maute */ + /* 26*/ { 0, BARCODE_AUSROUTE, -1, -1, -1, -1, -1, "A\000\000\000", 4 }, /* #181 Christian Hartlage OSS-Fuzz */ + /* 27*/ { 1, BARCODE_AUSROUTE, -1, -1, -1, -1, -1, "1\000\000\000", 4 }, /* #181 Christian Hartlage OSS-Fuzz */ + /* 28*/ { 0, BARCODE_EANX, -1, -1, -1, -1, -1, "55++15", -1, }, /* #181 Christian Hartlage OSS-Fuzz */ + /* 29*/ { 1, BARCODE_EANX, -1, -1, -1, -1, -1, "+123456789012345678", -1, }, /* #181 Christian Hartlage OSS-Fuzz */ + /* 30*/ { 8, BARCODE_EANX, -1, -1, -1, -1, -1, "+12345", -1, }, /* #181 Christian Hartlage OSS-Fuzz */ + /* 31*/ { 9, BARCODE_EANX, -1, -1, -1, -1, -1, "+123456", -1, }, /* #181 Christian Hartlage OSS-Fuzz */ + /* 32*/ { 10, BARCODE_EANX, -1, -1, -1, -1, -1, "000002000000200+203", -1 }, /* #218 Jan Schrewe CI-Fuzz */ + /* 33*/ { 0, BARCODE_DOTCODE, -1, -1, -1, -1, -1, "(\207'", -1 }, /* #181 Christian Hartlage / Nico Gunkel OSS-Fuzz */ + /* 34*/ { 1, BARCODE_DOTCODE, -1, -1, -1, -1, -1, + "\133\061\106\133\061\106\070\161\116\133\116\116\067\040\116\016\000\116\125\111\125\125\316\125\125\116\116\116\116\117\116\125" + "\111\125\103\316\125\125\116\116\116\116\117\000\000\116\136\116\116\001\116\316\076\116\116\057\136\116\116\134\000\000\116\116" + "\116\230\116\116\116\116\125\125\125\257\257\257\000\001\116\130\212\212\212\212\212\212\212\377\377\210\212\212\177\000\212\212" + "\212\212\212\212\175\212\212\212\212\212\212\116\117\001\116\116\112\116\116\116\116\176\136\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\005\377\377\005\125\125\125\325\001\116\116\116\266\116\020\000\200\000\116\116\177\000\000\377" + "\377\257\257\257\125\112\117\116\001\000\000\044\241\001\116\116\116\136\116\116\116\056\116\125\111\125\125\316\125\125\116\116" + "\116\116\057\000\000\116\136\116\116\001\116\116\076\342\116\057\136\116\116\134\000\000\116\116\116\241\116\116\116\116\125\125" + "\125\257\257\257\000\001\116\130\212\212\212\212\212\212\212\212\172\212\071\071\071\071\071\071\071\071\071\071\071\071\071\071" + "\071\071\071\071\071\110\071\071\051\071\065\071\071\071\071\071\071\071\071\071\071\071\071\071\071\071\071\071\071\071\071\071" + "\071\071\071\071\071\330\330\330\330\330\330\330\330\330\330\330\330\330\330\330\330\330\330\330\330\330\330\330\330\330\330\330" + "\330\330\071\071\071\071\071\071\071\071\071\071\071\071\071\071\071\071\065\071\071\071\071\071\071\071\071\071\071\071\071\071" + "\071\071\071\071\071\072\071\071\277\071\071\077\071\071\071\071\071\071\071\071\154\071\071\071\071\071\071\071\071\071\071\071" + "\071\071\071\011\071\071\071\071\071\071\071\071\071\071\071\071\071\071\105\105\105\105\105\105\105\105\105\105\105\105\105\071" + "\071\071\071\071\071", + 421 + }, /* Original OSS-Fuzz triggering data for index out of bounds (encoding of HT/FS/GS/RS when shifting to code set B) */ + /* 35*/ { 2, BARCODE_DOTCODE, -1, -1, -1, -1, -1, "\233:", -1 }, /* Original OSS-Fuzz triggering data for codeword_array buffer overflow, L777 */ + /* 36*/ { 3, BARCODE_DOTCODE, -1, -1, -1, -1, -1, "\241\034", -1 }, /* As above L793 */ + /* 37*/ { 4, BARCODE_DOTCODE, -1, -1, -1, -1, -1, "\270\036", -1 }, /* As above L799 */ + /* 38*/ { 5, BARCODE_DOTCODE, -1, -1, -1, -1, -1, "\237\032", -1 }, /* As above L904 */ + /* 39*/ { 6, BARCODE_DOTCODE, -1, -1, -1, -1, -1, "\237", -1 }, /* As above L1090 */ + /* 40*/ { 0, BARCODE_MAXICODE, -1, -1, -1, -1, -1, "\223\223\223\223\223\200\000\060\060\020\122\104\060\343\000\000\040\104\104\104\104\177\377\040\000\324\336\000\000\000\000\104\060\060\060\060\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\060\104\104\000\000\000\040\104\104\104\104\177\377\377\377\324\336\000\000\000\000\104\377\104\001\104\104\104\104\104\104\233\233\060\060\060\060\060\060\060\060\060\325\074", 107 }, /* #181 Nico Gunkel OSS-Fuzz - original OSS-Fuzz triggering data */ + /* 41*/ { 1, BARCODE_MAXICODE, -1, -1, -1, -1, -1, "AaAaAaAaAaAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA123456789", -1 }, /* Add 6 lowercase a's so 6 SHIFTS inserted so 6 + 138 (max input len) = 144 and numbers come at end of buffer */ +}; + +/* GS1_MODE data */ +static const struct item gs1_data[] = { + /* 0*/ { 0, BARCODE_QRCODE, GS1_MODE | GS1NOCHECK_MODE, -1, -1, -1, -1, "[]CCCCCLLLLLLLLLLLLLLLLLLLLLCCCCCCCC@CCCCCCCCCCCCCCCCCCCCCCC%%C%C%%%%%%%%%%%%%%LLLCCCCCCCC%%C%C%%%%%%%%%%%%%%LLLLLLLLLLLLLLLLLLL000000032861710*383556LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL155816162LLLLLCC%%C%C%%%%%%%%%%%%%%LLLCCCCCCCC%%C%C%%%%%%%%%%%%%%LLLLLLLLLL)!1661055777[723]T5", -1 }, /* #300 (#14), Andre Maute */ + /* 1*/ { 5, BARCODE_EANX_CC, GS1_MODE | GS1PARENS_MODE | GS1NOCHECK_MODE, -1, -1, -1, -1, "()111%", -1 }, /* #300 (#5), Andre Maute (`dbar_date()` not checking length + other non-checks) */ + /* 2*/ { 6, BARCODE_UPCA_CC, GS1_MODE | GS1PARENS_MODE | GS1NOCHECK_MODE, -1, -1, -1, -1, "()90", -1, }, /* #300 (#6), Andre Maute (`dbar_date()` not checking length + other non-checks) */ + /* 3*/ { 7, BARCODE_UPCA_CC, GS1_MODE | GS1PARENS_MODE | GS1NOCHECK_MODE, -1, -1, -1, -1, "()904OOOOO)CK0336680OOOOOOOOOOOOOO29[0kkkk%%%%(", -1 }, /* #300 (#11), Andre Maute (`gs1_verify()` not checking length on resolve AI data loop) */ + /* 4*/ { 8, BARCODE_GS1_128_CC, GS1_MODE | GS1NOCHECK_MODE, -1, 3, -1, -1, "[]RRR___________________KKKRRR0000", -1 }, /* #300 (#13), Andre Maute (`calc_padding_ccc()` dividing by zero when linear width == 68) */ +}; + +/* Write a setting as 1 char to filename, allowing for -1 meaning none (255 or zero) */ +static void write_setting(const char *const filename, const int setting, const unsigned char none, FILE *fp) { + unsigned char ch = setting == -1 ? none : (unsigned char) setting; + size_t ret = fwrite(&ch, sizeof(unsigned char), 1, fp); + if (ret != 1) { + fprintf(stderr, "fwrite(%s) failed ret %d != 1 (%d: %s)\n", filename, (int) ret, errno, strerror(errno)); + assert(0); + } +} + +/* Creates directory `dirname` if not already existing, and writes each `item` of `data` to files named + "dirname/NNNN_BARCODE_NAME" */ +static void write_corp(const char dirname[], const struct item data[], const int data_size, const int no_eci) { + struct stat st; + int i; + char filename[2048]; + FILE *fp; + + if (mkdir(dirname, S_IRWXU) != 0 && errno != EEXIST) { + fprintf(stderr, "mkdir(%s) failed (%d: %s)\n", dirname, errno, strerror(errno)); + assert(0); + } + if (stat(dirname, &st) != 0 || !S_ISDIR(st.st_mode)) { + fprintf(stderr, "%s not directory\n", dirname); + assert(0); + } + + for (i = 0; i < data_size; i++) { + const size_t length = data[i].length == -1 ? strlen(data[i].data) : data[i].length; + char name[32] = {0}; + const struct settings_item *si; + size_t ret; + char ch; + + if (ZBarcode_BarcodeName(data[i].symbology, name) != 0) { + assert(0); + } + sprintf(filename, "%s/%04d-%02d_%s", dirname, i, data[i].test_fuzz_idx, name + 8); /* Lose "BARCODE_" */ + fp = fopen(filename, "w+"); + if (!fp) { + fprintf(stderr, "fopen(%s, w+) failed (%d: %s)\n", filename, errno, strerror(errno)); + assert(fp); + } + + assert(data[i].symbology >= 0 && data[i].symbology < ZARRAY_SIZE(settings)); + si = settings + data[i].symbology; + + if (data[i].input_mode != -1) { + /* Shift out DATA/UNICODE/GS1_MODE (shifted back in `set_symbol()` in "fuzz.h") */ + write_setting(filename, data[i].input_mode >> 3, 0, fp); + } else { + write_setting(filename, data[i].input_mode, 0, fp); + } + if (si->option_1_min <= si->option_1_max) { + write_setting(filename, data[i].option_1, 0xFF, fp); + } + if (si->option_2_min <= si->option_2_max) { + write_setting(filename, data[i].option_2, 0, fp); + } + if (!no_eci && (ZBarcode_Cap(data[i].symbology, ZINT_CAP_ECI) & ZINT_CAP_ECI)) { + write_setting(filename, data[i].eci, 0, fp); + } + if (si->option_3) { + write_setting(filename, data[i].option_3 != -1, 0, fp); + } + + ret = fwrite(data[i].data, sizeof(char), length, fp); + if (ret != length) { + fprintf(stderr, "fwrite(%s) failed ret %d != length %d (%d: %s)\n", + filename, (int) ret, (int) length, errno, strerror(errno)); + assert(0); + } + fclose(fp); + } +} + +/* Write out DATA_MODE files and GS1_MODE files separately, in directories "fuzz_data_corpus" and "fuzz_gs1_corpus" */ +int main(int argc, char **argv) { + (void)argc; (void)argv; + + write_corp("fuzz_data_corpus", data_data, ZARRAY_SIZE(data_data), 0 /*no_eci*/); + write_corp("fuzz_gs1_corpus", gs1_data, ZARRAY_SIZE(gs1_data), 1 /*no_eci*/); + + return 0; +} + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +/* vim: set ts=4 sw=4 et : */ diff --git a/backend/tests/fuzz/project.yaml b/backend/tests/fuzz/project.yaml new file mode 100644 index 00000000..56c010e4 --- /dev/null +++ b/backend/tests/fuzz/project.yaml @@ -0,0 +1,13 @@ +homepage: "https://zint.org.uk" +language: c +primary_contact: "burmartke@gmail.com" +main_repo: "https://github.com/zint/zint" +file_github_issue: true +sanitizers: + - address + - memory: + experimental: True + - undefined +architectures: + - x86_64 + - i386 diff --git a/backend/tests/test_aztec.c b/backend/tests/test_aztec.c index d4dfaab2..59940384 100644 --- a/backend/tests/test_aztec.c +++ b/backend/tests/test_aztec.c @@ -1,6 +1,6 @@ /* libzint - the open source barcode library - Copyright (C) 2020-2023 Robin Stuart + Copyright (C) 2020-2024 Robin Stuart Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -2942,16 +2942,16 @@ static void test_fuzz(const testCtx *const p_ctx) { struct item { int symbology; - char *data; - int length; int input_mode; int option_1; int option_2; + char *data; + int length; int ret; }; /* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */ struct item data[] = { - /* 0*/ { BARCODE_AZTEC, + /* 0*/ { BARCODE_AZTEC, DATA_MODE, -1, -1, "\133\060\060\060\135\060\125\125\125\125\140\060\125\125\125\125\060\060\060\271\060\060\125\103\164\125\125\125\377\377\125\125" "\125\125\125\125\125\133\060\076\060\135\261\177\261\261\261\236\261\261\261\040\261\261\261\261\261\261\261\020\261\261\261\261" "\261\261\265\261\261\261\261\261\261\261\261\261\261\261\261\040\224\261\261\261\261\261\000\000\004\000\031\060\031\031\031\031" @@ -3023,9 +3023,9 @@ static void test_fuzz(const testCtx *const p_ctx) { "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\261\261\261\261\261\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\135\135\135\135\135\135" "\135\335\135\060\060\010\010\010\010\010\060", - 2251, DATA_MODE, -1, -1, ZINT_ERROR_TOO_LONG + 2251, ZINT_ERROR_TOO_LONG }, /* Original OSS-Fuzz triggering data for malloc leak */ - /* 1*/ { BARCODE_AZTEC, + /* 1*/ { BARCODE_AZTEC, DATA_MODE, -1, -1, "\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060" "\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\000\060\060\060\060\000\060\060\000\060\060\060\060" "\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060\060" @@ -3114,9 +3114,9 @@ static void test_fuzz(const testCtx *const p_ctx) { "\060\060\060\363\060\060\060\060\060\060\060\060\060\060\060\060\362\060\060\060\060\060\000\060\060\377\060\060\060\175\175\175" "\175\060\060\060\175\175\175\175\060\060\005\060\005\060\005\060\060\060\060\000\000\060\060\060\060\060\060\377\060\060\060\060" "\377\060\377\377\060\060\057\060\060\057\060\060\060\000\000\060\060", - 2801, DATA_MODE, -1, -1, ZINT_ERROR_TOO_LONG + 2801, ZINT_ERROR_TOO_LONG }, /* Original OSS-Fuzz triggering data for binary_string buffer overrun */ - /* 2*/ { BARCODE_AZTEC, + /* 2*/ { BARCODE_AZTEC, -1, 1, -1, "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" @@ -3150,9 +3150,9 @@ static void test_fuzz(const testCtx *const p_ctx) { "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123", - 4483, -1, 1, -1, 0 + 4483, 0 }, /* 4483 = (1664 (Max codewords) - 169 (ECC codewords) - 5/12 (D/L) - 3/12 (padding)) * 3 (3 4-bit digits per 12-bit wordcode) = 4483 */ - /* 3*/ { BARCODE_AZTEC, + /* 3*/ { BARCODE_AZTEC, -1, 1, -1, "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" @@ -3186,9 +3186,9 @@ static void test_fuzz(const testCtx *const p_ctx) { "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123", - 4484, -1, 1, -1, ZINT_ERROR_TOO_LONG + 4484, ZINT_ERROR_TOO_LONG }, - /* 4*/ { BARCODE_AZTEC, + /* 4*/ { BARCODE_AZTEC, -1, 1, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ" "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ" "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ" @@ -3217,9 +3217,9 @@ static void test_fuzz(const testCtx *const p_ctx) { "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ" "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ" "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXY", - 3587, -1, 1, -1, 0 + 3587, 0 }, - /* 5*/ { BARCODE_AZTEC, + /* 5*/ { BARCODE_AZTEC, -1, 1, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ" "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ" "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ" @@ -3248,9 +3248,9 @@ static void test_fuzz(const testCtx *const p_ctx) { "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ" "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ" "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", - 3588, -1, 1, -1, ZINT_ERROR_TOO_LONG + 3588, ZINT_ERROR_TOO_LONG }, - /* 6*/ { BARCODE_AZTEC, + /* 6*/ { BARCODE_AZTEC, -1, 1, -1, "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240" "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240" "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240" @@ -3307,9 +3307,9 @@ static void test_fuzz(const testCtx *const p_ctx) { "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240" "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240" "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240", - 2237, -1, 1, -1, 0 + 2237, 0 }, - /* 7*/ { BARCODE_AZTEC, + /* 7*/ { BARCODE_AZTEC, -1, 1, -1, "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240" "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240" "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240" @@ -3366,9 +3366,9 @@ static void test_fuzz(const testCtx *const p_ctx) { "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240" "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240" "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240", - 2238, -1, 1, -1, ZINT_ERROR_TOO_LONG + 2238, ZINT_ERROR_TOO_LONG }, - /* 8*/ { BARCODE_AZTEC, + /* 8*/ { BARCODE_AZTEC, DATA_MODE, -1, 1, "\105\105\000\000\000\000\000\000\000\000\077\012\377\377\377\072\376\376\350\350\350\350\350\250\350\350\350\350\354\350\350\350\350\350\001\000\000\000\000\000" "\000\036\103\012\072\103\103\000\100\116\000\000\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\077\012" "\377\377\377\072\376\376\350\350\350\350\350\250\350\350\350\350\354\350\350\350\000\000\000\000\000\000\000\033\000\036\103\012\072\103\103\000\100\116\000\000" @@ -3424,9 +3424,9 @@ static void test_fuzz(const testCtx *const p_ctx) { "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\000\177\377\377\377" "\046\000\000\000\000\000\000\027\027\027\027\027\027\027\027\027\027\027\027\000\027\027\027\027\000\004\000\000\000\000\000\135\000\044\103\000\000\377\377\377" "\377\377\103\377\364\377\364", - 2167, DATA_MODE, -1, 1, ZINT_ERROR_TOO_LONG + 2167, ZINT_ERROR_TOO_LONG }, /* #300 (#2) Andre Maute */ - /* 9*/ { BARCODE_AZTEC, + /* 9*/ { BARCODE_AZTEC, DATA_MODE, 1, -1, "111\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" @@ -3480,9 +3480,9 @@ static void test_fuzz(const testCtx *const p_ctx) { "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "111", - 2054, DATA_MODE, 1, -1, 0 + 2054, 0 }, /* 2048 byte block surrounded by digits */ - /* 10*/ { BARCODE_AZTEC, + /* 10*/ { BARCODE_AZTEC, DATA_MODE, -1, 1, "\105\105\000\000\000\000\000\000\000\000\077\012\377\377\377\072\376\376\350\350\350\350\350\250\350\350\350\350\354\350\350\350\350\350\001\000\000\000\000\000" "\000\036\103\012\072\103\103\000\100\116\000\000\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\077\012" "\377\377\377\072\376\376\350\350\350\350\350\250\350\350\350\350\354\350\350\350\000\000\000\000\000\000\000\033\000\036\103\012\072\103\103\000\100\116\000\000" @@ -3537,9 +3537,9 @@ static void test_fuzz(const testCtx *const p_ctx) { "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\000\177\377\377\377\046\000\000\000\000\000\000\027\027\027" "\027\027\027\027\027\027\027\027\027\000\027\027\027\027\000\004\000\000\000\000\000\135\000\044\103\000\000\377\377\377\377\377\103\377\364\377\364", - 2157, DATA_MODE, -1, 1, ZINT_ERROR_TOO_LONG + 2157, ZINT_ERROR_TOO_LONG }, /* #300 (#3) Andre Maute */ - /* 11*/ { BARCODE_AZTEC, + /* 11*/ { BARCODE_AZTEC, DATA_MODE, 2, -1, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" @@ -3565,7 +3565,7 @@ static void test_fuzz(const testCtx *const p_ctx) { "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000", - 996, DATA_MODE, 2, -1, 0 + 996, 0 }, /* Padding 11 example causing issue with ZXing-C++ */ }; int data_size = ARRAY_SIZE(data); diff --git a/backend/tests/test_dotcode.c b/backend/tests/test_dotcode.c index 38f7a204..4aa71a50 100644 --- a/backend/tests/test_dotcode.c +++ b/backend/tests/test_dotcode.c @@ -1,6 +1,6 @@ /* libzint - the open source barcode library - Copyright (C) 2019-2023 Robin Stuart + Copyright (C) 2019-2024 Robin Stuart Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -1561,15 +1561,15 @@ static void test_fuzz(const testCtx *const p_ctx) { int debug = p_ctx->debug; struct item { + int input_mode; char *data; int length; - int input_mode; int ret; }; /* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */ struct item data[] = { - /* 0*/ { "(\207'", -1, DATA_MODE, 0 }, /* 0x28,0x87,0x27 Note: should but doesn't trigger sanitize error if no length check, for some reason; UPDATE: use up-to-date gcc (9)! */ - /* 1*/ { + /* 0*/ { DATA_MODE, "(\207'", -1, 0 }, /* 0x28,0x87,0x27 Note: should but doesn't trigger sanitize error if no length check, for some reason; UPDATE: use up-to-date gcc (9)! */ + /* 1*/ { DATA_MODE, "\133\061\106\133\061\106\070\161\116\133\116\116\067\040\116\016\000\116\125\111\125\125\316\125\125\116\116\116\116\117\116\125" "\111\125\103\316\125\125\116\116\116\116\117\000\000\116\136\116\116\001\116\316\076\116\116\057\136\116\116\134\000\000\116\116" "\116\230\116\116\116\116\125\125\125\257\257\257\000\001\116\130\212\212\212\212\212\212\212\377\377\210\212\212\177\000\212\212" @@ -1584,12 +1584,12 @@ static void test_fuzz(const testCtx *const p_ctx) { "\071\071\071\071\071\072\071\071\277\071\071\077\071\071\071\071\071\071\071\071\154\071\071\071\071\071\071\071\071\071\071\071" "\071\071\071\011\071\071\071\071\071\071\071\071\071\071\071\071\071\071\105\105\105\105\105\105\105\105\105\105\105\105\105\071" "\071\071\071\071\071", /* Original OSS-Fuzz triggering data for index out of bounds (encoding of HT/FS/GS/RS when shifting to code set B) */ - 421, DATA_MODE, 0 }, - /* 2*/ { "\233:", -1, DATA_MODE, 0 }, /* Original OSS-Fuzz triggering data for codeword_array buffer overflow, L777 */ - /* 3*/ { "\241\034", -1, DATA_MODE, 0 }, /* As above L793 */ - /* 4*/ { "\270\036", -1, DATA_MODE, 0 }, /* As above L799 */ - /* 5*/ { "\237\032", -1, DATA_MODE, 0 }, /* As above L904 */ - /* 6*/ { "\237", -1, DATA_MODE, 0 }, /* As above L1090 */ + 421, 0 }, + /* 2*/ { DATA_MODE, "\233:", -1, 0 }, /* Original OSS-Fuzz triggering data for codeword_array buffer overflow, L777 */ + /* 3*/ { DATA_MODE, "\241\034", -1, 0 }, /* As above L793 */ + /* 4*/ { DATA_MODE, "\270\036", -1, 0 }, /* As above L799 */ + /* 5*/ { DATA_MODE, "\237\032", -1, 0 }, /* As above L904 */ + /* 6*/ { DATA_MODE, "\237", -1, 0 }, /* As above L1090 */ }; int data_size = ARRAY_SIZE(data); int i, length, ret; diff --git a/backend/tests/test_pdf417.c b/backend/tests/test_pdf417.c index ba1803db..55e4a553 100644 --- a/backend/tests/test_pdf417.c +++ b/backend/tests/test_pdf417.c @@ -1,6 +1,6 @@ /* libzint - the open source barcode library - Copyright (C) 2019-2023 Robin Stuart + Copyright (C) 2019-2024 Robin Stuart Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -142,12 +142,12 @@ static void test_options(const testCtx *const p_ctx) { /* 7*/ { BARCODE_PDF417, 7, 2, -1, 0, { 0, 0, "" }, "12345", ZINT_WARN_INVALID_OPTION, 0, 87, 120, "Warning 748: Columns increased from 2 to 3", -1 }, /* ECC 7, cols 2 auto-upped to 3 but now with warning */ /* 8*/ { BARCODE_PDF417, 7, 2, -1, WARN_FAIL_ALL, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, 0, 87, 120, "Error 748: Columns increased from 2 to 3", -1 }, /* 9*/ { BARCODE_PDF417, -1, 10, -1, 0, { 0, 0, "" }, "12345", 0, 0, 3, 239, "", -1 }, /* ECC auto-set to 2, cols 10 */ - /* 10*/ { BARCODE_PDF417, 9, -1, -1, 0, { 0, 0, "" }, "12345", ZINT_WARN_INVALID_OPTION, 0, 6, 103, "Warning 460: Security value out of range", -1 }, /* Invalid ECC, auto-set */ - /* 11*/ { BARCODE_PDF417, -1, 31, -1, 0, { 0, 0, "" }, "12345", ZINT_WARN_INVALID_OPTION, 0, 6, 103, "Warning 461: Number of columns out of range (1 to 30)", 0 }, /* Invalid cols, auto-set */ + /* 10*/ { BARCODE_PDF417, 9, -1, -1, 0, { 0, 0, "" }, "12345", ZINT_WARN_INVALID_OPTION, 0, 6, 103, "Warning 460: Security value out of range (0 to 8), ignored", -1 }, /* Invalid ECC, auto-set */ + /* 11*/ { BARCODE_PDF417, -1, 31, -1, 0, { 0, 0, "" }, "12345", ZINT_WARN_INVALID_OPTION, 0, 6, 103, "Warning 461: Number of columns out of range (1 to 30), ignored", 0 }, /* Invalid cols, auto-set */ /* 12*/ { BARCODE_PDF417, -1, -1, 2, 0, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, ZINT_ERROR_INVALID_OPTION, 0, 0, "Error 466: Number of rows out of range (3 to 90)", -1 }, /* Invalid rows, error */ /* 13*/ { BARCODE_PDF417, -1, -1, 91, 0, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, ZINT_ERROR_INVALID_OPTION, 0, 0, "Error 466: Number of rows out of range (3 to 90)", -1 }, /* Invalid rows, error */ - /* 14*/ { BARCODE_PDF417, 9, -1, -1, WARN_FAIL_ALL, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 460: Security value out of range", -1 }, /* Invalid ECC */ - /* 15*/ { BARCODE_PDF417, -1, 31, -1, WARN_FAIL_ALL, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 461: Number of columns out of range (1 to 30)", -1 }, /* Invalid cols */ + /* 14*/ { BARCODE_PDF417, 9, -1, -1, WARN_FAIL_ALL, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 462: Security value out of range (0 to 8)", -1 }, /* Invalid ECC */ + /* 15*/ { BARCODE_PDF417, -1, 31, -1, WARN_FAIL_ALL, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 473: Number of columns out of range (1 to 30)", -1 }, /* Invalid cols */ /* 16*/ { BARCODE_PDF417, -1, 30, 31, 0, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 475: Columns x rows out of range (1 to 928)", -1 }, /* Rows * cols (930) > 928 */ /* 17*/ { BARCODE_PDF417, -1, 1, -1, 0, { 0, 0, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI", ZINT_WARN_INVALID_OPTION, 0, 65, 120, "Warning 748: Columns increased from 1 to 3", -1 }, /* Cols 1 too small, used to fail, now auto-upped to 3 with warning */ /* 18*/ { BARCODE_PDF417, -1, -1, 4, 0, { 0, 0, "" }, "12345", 0, 0, 4, 120, "", -1 }, /* Specify rows 4 (cols 3) */ diff --git a/backend/tests/tools/bwipp_dump.ps.tar.xz b/backend/tests/tools/bwipp_dump.ps.tar.xz index 439006b7c254a34b150ec3b395cd1b4fd6780198..512bd5e99aa940d9dc7821cf9a8285be5122ca83 100644 GIT binary patch literal 134248 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 literal 134068 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

*;di>FmXK$I{vAJ$qT6DBD)Urq4wZcgQ`zxZ zozz)YR=pVYsel#N*YbViUp(}AKwmVfpM8-DmUQXL%{#$n{IU#N^&K&5yi zE+}ZP8CKK&|Mx+$-~XJV4E;fphu7Dpx6H6cD~QLEQvSXpR6 zAO|r%=I!Sz?*2v}x8aQo70VKP4VB8voZl5a2P{_iGsXn=U9WC`pQ6 z5@z=Np_;vCD0wdTmo+>XkH8)BqsQOD@Z^A>OY*nA;Ztn<`QeQ6$Y8($z%IQSes7=E! zIIrq1sXQ#%zN8_J98XAN7y|Ws{Sdi)yWNybgd=RtEqtBV6JCkmfnEz7n#e*Ve^Y-X zh^#7OI!%^tZhFv?b(Pbn+w}K#p9%lbdQWKEt$kZPY}+EACQeHj>< zOkyYAqN2NG`CR$g&mq{N&T8x;&RF(_6# z!CMe1?G=Tu&M}FGYF;ZS$>rzgJWfP^eV+#+VXb;uqrK~WbcmzOQ76}R{ zMkq#vz&zW`pphxHTRe(SZmAPdLm)bNo;g5k`2h}}eF^a)ZT!(#t@iHCfY3QV z3Gz3TfM$NhCNhLlN!B0PCGM!=>|}%+a%w&DHB&J#aP!bWdoV1+V1jZxAu7_mvpV(O zzIPT~xuA*LrYz%$jJGXB8>|RqbRFPz$w@|XoxG~ zl<`ri1&3ZuR#z7mvNL_fl#iG&csh=$J(v^X@JhrGf0Z7#mo^3-( z5w3a_Vux7~n#}>&@cFx{ct@RoDotC+TbO%`D}EEjJ>BM76SzC8GXJ`HS+P}ee{g=T z;CKX70wVFYW}#zP(Ri24voCCONb+8jg6lBAqV90s?ZA5k=)U2vr<<{=?EBv;91LjM zaaO*)Y$~X}XEKpDldL$0UjcMb;(;1`=NlEAW{g5pLBL8h@igB$6-$FqRoa6jxuA#} z6YnLw4LqK?WY7LV}|deME2XRk0Q97W;kC;#=5EZk1$!J$nM zeGd%S8H57R`8Z!Ajp7@!L&w+%a#kuYqdrHkm9Rpbr=FOO4TO#>mjpC#Ab$~+f6UcN zi(PH$PEAwa)3Olj%6o#ve8R7Wpo_!<6w!+ekYdMnl(3o!$^q?dtW?)z-@sAsu%+Ns zzTR7s`z1!CIoxlZIb4SIiV9quEzdcsH}VqrcuItfw4wi3X*i5MwG~Ce>V_-nB=J&g z1zp?Xt`6N58ys3!)9ny=wbS@lxI=UQFg$DDehl>{4~9~Q91Vvsce>Y&KPjT}A{%&Z zH80EkjLaOfN^&#C{ZDx~tM^Wx_3ywB#lmHI)vU9KA(C^CR=D(uBJ`jv5H`~2-XNHz z=r__^){HV$dmcmYj=ocfHK8fRiquwZYJy}A3;Lf%$}T?AJ8Xw*(Cj7FwU)0KEoDa^ zW_ieBoAV*OS4QlU==GffDxqs`6^6bgZhAY-s;+sXuBU)94x9*W9lL)n8yuif)q%e= zxd3gv@o#6%jgMfNhS`Ok#(`?ULkI<%%hqypS3lT~e|G~(kw1@F9#V)b8F&3~ZEKYLqf0WTxYntRD>T(0fDLxKkCHML(ZYSAv z{&_=A#^+-z=g?y(vIduvERG)ZLsAoQHmEn{dhdqgBUiH`<)BzG8SBa1e_QtA|ODf^q*u$h7@)g*VH=c1E*T zv?F9@(`jtI9jXk_oSNCi#gTd(%gWXauGFBDTaIB@LpvYtps)Oye|)k*)VJ3s(o_`0 zTMaLVyhE8)9*Ag#Z;n+qzJ*Z1s5-YbqtV_qqYc`lUGgA=nm5DHoQqD~_aRvnKOL?3 z;bxN^9lA7GYbh9X<@7F z5oLO4r!v>`l!l5a(p99*GhOGZy@|Th)kfC^?~K`hvL5__6+lTc+l8zMsy-_vl^Xdu z{!in{f*hZ8+_4(b@?oh^NJ9cL>7Nlf8(bj`7Cs!Hurw^Ap_j-ZaW0N0n++N{Z8crO zV`Z?at$v87G%N!%SC5Iq`af3gjb|UvO1h}QIo^#+C~cIxLs?gbNnJc_JQ61TS2#B^ zvLa<0N=rP!NFvX`EWvEX>dRhQ@GcJX`@@+9uv;I^|O28n#ZnYSwj2ChFOT3NUqKT3obwP_KIdLgg+7OCP`lz7sqf z%~W_GaDqVPlE@M;@l(pCl`gv^pPKMrAREv7<_h7ze^KLO)V zwJRBCl-TBjPb`B^Ck8V;Ct8+H38pWGW6>X%SD zP7$qq7s4l`N76xmbx|WEziVL5Z!m!%rwu4O^VgHtu;k9#Fe|b_|GIdjqAG*M^NGjC zuMq}vG8e%^-I$Tn23o(o81+~QX3-lYIl@QUnpay^80}4}0Lvzfv2tJqzlggHQsMeZ z$K9+~akuQ?kMZy-b0t+saNU4#sd>8`Rw%aeV(5}#6)!4Q);+ha_D^ktcWehj1}MWt4f7@n8X#Y;c~oPpP4q;;syic4Dy;Nkv< zI4}M5htcX>WcP?ye`uUzdODF2z4ikUDjj2DxKFHvCrMry>0_vmzZqv3gZ-@h9?>Q6u1lLH_#1u0ZO63B3|p#Wv8D;WjzRZBZ6x&hiY-o-sqjA6NhV=0! zkb#U#%%t`UqZUxrB#jxM)I;if^1_5i2<2+1Gx~Xo5x4ai!ZpjWu}U9}*8~n~9o0q? zqC;``jUuz`7g!>1=fw-W&uNc=w}k#Be>N18`aAXdPiGrn%u9;%B;FGQ6Xzv8mSzQW zNt?!70pAdnm=+Q}^yZg#Mc#DxJMgieuJ-pKc+&)a)%dhbD#aO8nR&q)6wD6~<~nU_ zBJyY}33^FnkIOC3ykYUnB;5IV;3fdcYkLDKfm2%`Y#@^uUACRyRW6V?IAqbBUP*Nh z;=4yLcuFPz$8;}JE=g&9P?Gev!?l_-Z=q}iS@l_W=QJhVj7bxqWquZm7qJt*hIxNw z{1$eYCcesS-9pCo%)46RJg()g{t;bfV}4hs>_zDhd}#(Vj|Id*X;_2?K0gITJ2nSh zQEWTFAV`mM!Ue*c?E#4N%Pqx8*3 z^*R|Ez_@-=eeZ8{vOl3gYi{=mGj zM~XUGe#`rG>=6z?-lXDGzjaN@y2Sx+AmNd;I2FQMP#q44vcywl9_b81$8<0E^1e() zv;t5lyC;jPtE)UJ#D`+mMtCO7(0wOrttAz0+yo^pqv5BeU)hE##8d~o_rTYtVcP1m zNqG)PZCBXE@1T1_Zg-M9ODP!)e;lts7#lKy80c8Ej3x{L4soy^g{PfjujxX|$_Uts znVLO*f&X!z2vDeTz)Z+b$Ch#j4PfoL(KMlcFH9J$Q3`s8ShakI6op~_Lsd5iDl;>o z_1~RNc_Hf{Q$&*u7<1Y$mn4fD+KqH=@K_E4xBnVF76A=d!l4y7!s&egKThGKM2%b9 zFb9M04H)ez#4RF(U>LtONU%B%t(U7v+H;h)$L9e=KM1Sv>c{we@= zlTKQi>s+@a(q+w}MyADOswYJ4cH`m8kkG7pWqVGtvIO5`xpPbW+u>m-7pONlzRs{g z&3H-gOJYQ4iu0tm?)+;LnTSYElxXCQYPqU7K0!VBMDSHn9q8Zir9ex-X~N@%Bl(7_ z!b@GF)|WBr@RksX@z9_wgxpkMGY^k)QmqZ1t==U8s#Xwj=lq zZM`ZNCxrL>BFK)?XU(p+kpEu2+E58~8IqkEslB~v@Asv+uz1fvtjx1H8Al*S5;43IZt}ZssMQD)dreTf zBj)MOP3UhKM^-VmW(8a%I#5Ztcs5uB5=_)5!$7Hh5%fC2fH+;~@stEMX9MNSr{`_vrB0?lv3PsMAV>%fRmL_$F{3K)tVVchJO>J0xXH^SZWTU1rf+k zpwU9FS|4rj%1h!6c?*$9rX|)|p^E&-&G!;}J^KMmkPTnh*bmEpqp*W~{$qH2HXpc+ zzbYGn6c7=N>1NcOplCPs4?(90Gsjhjx8h_7bD|wV(Y6c}9wJ?o?lQ0q?b!FlDobcJ z-pEX_9f0>Pr&7JeekRfxO3DuypxYPBD3W0n2sB>RMXT2G*PH|-iNSnbfKyz{?P5`* zkRdFqzd`|0!@#Iy+)<{@dwtAA&_eISXS~2}-)$#i5^J5bfP$f8ncx5PQteDNWvmU* znlIlo3g==170AzUs-4>ZA|-XPcBiBx>Bshr&glocn=;p--t?`LiINxYcY)8bTN$=~ z0!c88i$3e^?z2(7$mct|w9G8O0CS&5u+z3>`56wN!_(24UzfB*={2n$>)q95?XPi0 zKj<~!YbDE352+987vUga!YK}mce>vTak5UIl=$G7`>;wPrRuc4N??;33dqy>!|a?7 z6O9P4uUd|UX2(I)=I*piI%OzTEu|SHAB8YX&L$5)P_EhzO*O+F!xhGfCQQgku^;k1 zYu6C_7$HQuz|WwK7f1+YPmjsEayB&N_#5<}I36@@B10u>l>fmDOq>)rbY;)=E+IH8@2)N6T}-=A8$G9&L(NdSlz|U= z$Zp2i49go@tARn!un-~cnSFhV3XkpLtKJej=%f*v@gF61G(FYRP5`c zJV(~x5<2IW{U&!HRsR<+bD1&Ur454)o=q!*_A3vzujZhgyiExC?#!W#M_?1#LT@^f z;bP9F=7bRY7mfLbBdI1Yy?FlXRyO~cq0F14f1Sd=!$r-UnT+Acd_-zZ{EQ1R6KG^TP-GfuR=(o0mDbiJd`pJNw`Llta zXGpr-Dg`exdLy?(DNwE+Et5J-3$}RIl`~px3UlQos(Q4?3e}%H0~jG+3lH}<^F_n7 z?hKJ}_0LgqE!>AIMOyD~2g_r`JnHsa4zM>a|8>Fx1Ge0q0yO2hBCCZ znOmNV_ZfSRWh@<<5y|JHn*J_8B%20WcKb?PJyOME>rx}^0TPMC;qy$8?_zTJN+D;1 zh=>-nx9-2tKQYn9*6MiYg(DZT0jH0d_Cv=aJK+){7d95r5zzhUL=juSRdR?y*Ix;! z)$9gMDxbd^^GL`zrYf1tEGA$urq8HQ^$GR7WmFuJ;i!za9l82`@kB{TFxdm0g^hQY zySd*|u(7PQ$#!c2ptdLSY5C-_BH|O800olUpWL2+t`?nPR*JIF5JTkQ3fY%AUE`DI zv;ZZv4M1UPX!_8SK>4{1 z<*p-?yUTQu(jv{zpj}YZ8(t^VPx@ad4C{BdGEby;h(C@$n=kiDnqrk~85e zjlVC&`LpewA_Rhf)h9=v*d|n|Ep{P_;Mwk3MU~ah zG%DYZzZgM0kUMAs0TX=AQ%5S7c2x!ttPzHBd6e)atCG>+KhSk={-eopI_7D-9R(a? z5<2zfbRSpIt-z7u>4o!P7OGMc*1AN$CJ&VzJ0#s^iWu@U!%o!EE#_)ctO9vYrKui> zfbGg~5emH|u+CGKQmW*zIG`^+-$G1MA{FhWZbf&F9+Kj1Gx)Do07$6%E15-K7H_uA z$I?yivyTGVZ<5hQPmWT}pEp&*qpdgYvN0J-Md)juiIngeu)kP~hSd(*;IK`JqIgFO z$IS)7^3mayb)3`q=ATY_9=C<9KmsugQ7Vrr>$r_7Ya7jt|FHDnTiz_q(Qd_Agn^=( zg5;pRU?io(hrDN^?vonih=_URW!~<*V?+upn((GaZg(?T!1{nlBvx&_a zBOK}C?&zFLfhK8Q9rG5bz3ck4or+Q9%4$|xSQNJ(tT+gnVnzy2&HPlGwqqn zvm-Cg$zyBb{)!wVxBe!v9%y5(j8z#XS>A(^N>W2Q^ozC-_J~xI#L=y-3E^V2h9> zy;`3MoGtAW3>7h`?*^mW>f`3YyuzL>{l}C6EaDowuZxMZwE7ILc#UQL31N$KP*Z-f z{UrY#{-8}oCnlz3wGjIHUA*eoh4s-@VBE71Uu!|KHo#sg4q;XF+x-KS}!Wf$q zw(<*i1wIg&;-Hh)0~c-sZ#TlC>vvJ_BQSbGW<{6a<^|2BS9;H~K4J;mn@JwaFE<2d z0iXX(Mb?E~E9kt#bV@oeP9Y@W&6`85Zc1=alx?t^fT2K^aD+N=D|hY9iT9lp{+7qF+)=j4*v``}mYMBC+Pv#{sJ%*|SuCe9#i!^cmEduP*Jz;(`z{yrS`oLJ=mcynfW zr|YB75H02|$-Aw=!4$n@z++qfZ<(M6ajp>V!w~7o(_4P<_My@1p)2V(QCy^|OhR{F z%H319x$^Nhdad{@M8efn&#k`M@RtH%iSyC)$ zMVMuPVb}|o0@oYg;Q|{>l>P!n)M}t{ZY8$8AS$90WN@FPIs0uV^(@{3j>teI;*XZ( ztarL*kE9Aow)Aa|vw!g@yb(OAdbq(fd-+=2vY&IX9b_dI;VQ^epP;OYbXaX~&AbkL z$ZEspO(6NVLtD$;6LXe&AG?WyP=DB&%B)Ay>TbE4IOWl*-L8oRp@qbk!8Z+r#aajl z!6D|aall`r)5;qDDw_Z^SDjR2Aw=hI2;(Z^i&tI!drRAsS6Br_u?yXq}bTiuEFvAA~e2 ziz{)B{!?(KvH4^|h-i-fW@M`IzoNH?gOmLnf%|4m3I`qF88a-*c2gBrF#x=SUBGiy>Qwh=r28oHuK8plDfFJs$IQTQi^}2 z0LU$P$&AyHNeO+r61NyO8tDJ-E*?A%#D^K$Q~+Krg_0o5E$lG#s?l}mMm@;o zDAOB}VyyijXm?fQ*gq>6?XNRDAXlU5A$%FIh&M+p*y?R}il8FxHfc4Y+v753G|P0wevJhqaZQpcxiG*7?TE#e}8HfuM)I7qSXyTW;qO6{j z+SRrO#j4pK4Yn)GFf{VT_Jom4Io2~`n&og7v+9?aYP6-jMGn;rNcfzgUt!8g%K8v% z{N~Zk_b$THRkD?zfU-HE7HxQ>j^JeKQ;YT?-nZPT@J>udt?Ih$m?5m;cBG@FwP>2L|7BMF9gSMkT#BX$tgRCxDK$?+-VM~ zoM@;MXEAKpG~EFk>YBS-7(H4{Z!e9*<6Q@A%TMF3O`5;AXG2wTvW!OLb^Cz+hEZ9^ z$bKdsF^RFT_D?Ymh@^hXxI+O>x0|B$Y~+(q3m)XOUKSfC5>o_Zka+}g>AJsg>&MfN z4HK=^B})}NuL;|&^d#p!rFO^~435omNw`%CmxJGy$A1OSqHU|`bR{Esd#)TJtis0t zuPKzbftFh#-72OAG;F*T1k?t$p}q|iSwEJL(?w01Ms;JtiBU7&U&Y}$*Bukl`1uCvZ&HFsBR9SPrf z!>I+Q@D_C=JD_n}H;i}pe4aCX%TTLcKd*WpjcWSZT!;=D2?AqOl>gBnssmPqcJB;!u2FRVBl<#z3V0n{bK&Vtf2{`i z_WD$yN{7yTD%~;St@%`<6c+4sE#>)p3Ionq-Kf4-4q0u@8E^biRO7U97&ZVo)h-RH zF^TR)F+i_BbiK8IK--IiF6fhq>( zX1ZE~+J+?KZu_^5AKN_`Ol4Qx*=@S?$%XYSN6k#`Rm@<>xwCD6t_+dIO{DcbL)%RA zayvr3Smm9qcJm4(A8!K1c%e+`@a{!wG>FM25Yueo5sBARoKZ61+|^sw6Hhkeu7L%? zGNpE^cg*w>)FbukQPP44Z^>}A<7A4?ykE_Plk7bH6(=9>id$O>GIzN&o_3Jp=T@o# zbg(#&*+6|PR+oEoCg~jlxl|^a&>7TSyiNYzxl;FN9CDUWmziaEPw}|TjMeHfVOmSN z+F3&l9W^r40hIkA_*ZY%8p86iyVPk_{@;96<^s}1I$Q*;-@|w+J_`=aU0IhZutrvJ z=B#nM(TMfCLi51sqRuVfC<-T!Z!H?PH+XswxC#s9jgZQ)yQ02YJSr5ERHZ`1g{DJE zx7wkYYeN^JTBuFc%**=*goCxr(Javs zVB2V@h}G|gn`JGh6v-hfWn-^m6)1iwOcWv#SY@l%WLR4YQHZX0+sOIR zj>|SGt0>@Le`}1ZvB~mL=LAx-&7gjHIaI{ZyBZ2VW;OXb4xG$M{P70~r-?t7T)igt z!Yk0(z6w9zH>08d5Gjxl>}lXwUaKM&91h}=EO;S^GqBTTSS+5dqE>w zicJ6XGJk58^=wpm7#cDR{P)u(Fnu1P!%ILJaj?BhS-0k5iE^x5El&3+O$#O7IM_8- zUSDCOS(T~daIHUt3KT9e<@1ejbC>zkei=(q2~%E2qOSz#f2>pz9T*>Efo6k3C@=nP zJR(8bl{9QCZ!OHG!eOiRmEU)>d5!4!bdk>v;e(T>70w&;C62;pk1E|9Y70aayIj-; z#!zG9bG)TVCgwEl#Lng^WTnehgP%pyC(r!6vs>9ORMy-s^$zwUUUd_X9aktm4` zuCq^}ycBY5yU-=xD}JV>N@IJLNg*!p9HJTnX-KlI=u5V$F?C-(VH@7PU8-~Y zJrAdR(<4b;yhWFE#W}uQk(JSfn;U5<(yuBksX6lOwW~iID{GaOkQDADm{Vw9i6F(4 zU5ET*FE3M+>xYoMXUVg32{m#YjW4|6B}HX&dDt=>sUq_eG}-7sYKpbluPJHW`@UuN z7My{%A9YTZ;38d+UVCa;b29x{FRkc%34!YC9Q7k4GnE!p@auBA=6eWsntKdjKAha6 z#NTwrynvU7!YrNkv#l~%s?W0#Z=S3HS2yNQ!(*kH4O{Z@Opl(ppbBJ1(F^4vK(Ks? zKo`}U8K%bj9u+{eV_=4Gza>}N4E1L=KL>$BK-GuYkPxKG+v`~f5>p;MIp>9%J%1)D z$};2MT>hmTVM@X8VLV6X5=*Nbcs!NO`vk9@M*-j&Ni!lzckAvMf95yvM1~spr>zfm ziGDXUkTON(rDH&3vRP&BOR0*Q&KBhcCNARbQ%rhp2Us3*4;aVNum$yedRF$>>!;Yr)A2I z7=1-;Xj^}F%|fp{VUAQNRTHBW7+b>+`MdRa*k({%f++IrHw#)a564(|(0W)L{S%K+ z`Cnnfg|MUc`Myv`&CL_4@(`>LJOQ}&2LG}GrG8(3!TPIKW@k-~%m{-kPP+{I#JIsf zJb{PWQ6>(FCRlez@;?8@+#-KxcbB$L#}nbWRzi@89?6_7ai(+lE8ysOR`93#q;E^X zRUDO#Kca*UHKES2l*DMtL_LZAZ&`@nn5Qk2*(029PzmPM~h~iSiCb!rrnv`J><1=kXX+c z{G3bw`ki=Eo3YNt7Hn$n|JQ{Tn>y;gR1u)ME6_AFESA=3#n%KM2>7kD>BdjCa|Be8 zNg_hp*b2F0z7ua$9EY*#EtPXcL1gnDiuY~ilHjH&YgPA3-AWr2uk7D3)$rAn$7U`c z{n}!mr+ue{?o?%8xC{k}>@$JawU4=Tkre}mH`T|Mv&r`aV@2LafrX4{@+n1J={Xbt z;Ml(fEF<7LVjmg{FdLC7q3^*TSLNsC7XLl@0JAPOUyfKfCh z{TGB$ijkFn$zY!rJ?VB15Q!ZK_i!Yb*yH`IvBfh#l&bxdiUT?53j#Fu<-}k1E?5&hmZ+89&}?-qm_jw#@Tt;p%T^Q z8Q5NnbW;#&4U>z}qooY%41yJdxNw6hgS{XugLVy;+?z^a(8H5O!NgE^2iShYfrlus zYdCwG!HkX3erUhnOI0U==O=uzY^atDh+Vy=20Y6ht#Q*jRT~-eInMdk30*K7di{>q ziw!Nq%w7H#I+@Z8?XDClCtP(Gj`r!F4+fu!Nc-Uf%-VlZA-nv9K9>b(Rx=&&*^1`+ z(8G9~8R!h8SHu_-@Wd+hz#*c!HB74$iUqr#?DGW$mVWFL=vOoBk!UaR!5=WE3*^fK z%00dX9t_3;$;Z|xHDINtZTKxnwJc*P)o)`0j; zV&VR*LuM%nHeK^wE?@ca@N$Lx0EPw&dA`eGK*O=*HGlLEY3Du)`=R0=n>v$JNC=6? zwl@cZ-|~)!9CG0USIzBWIKgo79sSco#Eq>K&UeT2RLI25gW>$MBccRnq0XSe{4M!tn;L6!|ryGAuW>@s_|BB`ZfBBE-l1>;n*}2 zy?We@a^yb-U(r}pA6RiCh04o)kzKCpFivA8uulaFBdF3=Kx64>dqeZD4j()cBLdOY zhg&h`7z*Fjx@ToxIRiq&Z z>z<9?&3lL|yZ*>d$_@n7D}&wwoe>04$9}T*mnJTtk)qEQJWV58*wl8rcIYYn;zM#kcntEe{}?6X5qx`q`*6k!hZvAyJ5w4(((D5C z4Q_G_jLP@ee<-;NRa`sNIB9}wVOy400h4co% zOgp{JFA%N#($K)GQ<(gayX9hn`C!|&%QaX3_F8?8Xn9{!rRLV%wW!~f|VQXwF*PS}EdprD){x-tG` zaU;|#jYU}LK1or7W&f2jbFx6?ST}DwtbW{06|*VLY?&omka!|6P4b43ju%WHa@6?K zOqmQ&j_d!4@x>E&bqTnr_py3*$N0vXY9e?$CGN+}2qUG!#F63z(4>vQ0#WhP+5qfP zU9msij5Els3LE&&O?^aR{xM;*{8f}8?H_KQQAg?Xe*HBH8VfcCDleqd;4j97Ww~ls zf4Nz*Mp>23CcthvW^l+xgh>Mam-Yf?C4{D=!zOGu1Q*dP0P&HUYiMNCXFyS=>2a_@pHh_S#Bs?sSrQQg@G60w|11(&Md%9|f*cnV-ZD`AP}Aj)Ns7L9Ep9G4 zQF0d>uugZ?-mcmpnooX6{3}JnqmfWZT)MW9)Z6#e9>M>`x#x4bMUCLa=uAs~v-JJ> zDp7LDEvK2xfvmKj!u8-+uUsF-zb_0Y`f0h^QWbQUxu+7A^S;4KlwbrTz2juLoRHFL zk*n(FBPk;U$|P)v6Mqq+sS$Ws`RSt`h=2+Vy1m`SWbibTf-!u?)W0X%4h)%(2Yy|q zL5en_FKq}*LbBkfvtewe9NEYbaew=PFUn+hi-jlp5b9Z@=DT3Z!W*E$%4Q{vgo~Lj z5@_*#3z?e7>bg~ARZIOqnR)TkN>c&e)#}MIUh7#WZU}<&T-uJYwz>t<#2uvKn*nO% z?)0PJsl*u~r|==~Tq87!&9A6)s4ek1yK&`C`jh&}n>8owvif83FtPX5V1c|*FkuS- z#W8o#DhV^}OA*dI_zwbyPa} zVmixAE{;~(B#QpV;my~cflNqr#}L$7G)Dgtpv=dC%J(q1wam{o=!W&AF6lAuR5tf- zBbj%*76Kb5fP2>rcFJ?lnV$v~Pzxsv)Uay8Ae=zDqGmLlHYL-$4xHrMQXlro`q}WX zkig6T#=t^glNtz?5ND;%gBsI&N5SpP`NK>YhuAgw!3ayg>p64=@*(EPz!RF1-oDRl zw`+IW1zf1+K{#HRdEo?4<68XSpq z39E#;_y1Ga7igS-`=dRhyRqApsPjYIKEYP?2sFX6Mj4U)RwC(==mup%uf^mDaxZ$I znk^^pJv+vTHyst-ltz@6CKr(M;Gn*KYDy5ItT6!lAYYTrG=bB!q^6-@WJ^yRZaHEo7&?vr;n0_~T>;#)@xN{5EshvUbbgo|9( zNUII5QINZ^P6;@_lgS+)kZW+QyZSP#M@My?52{UC$CfBQbWcN@TZPGF_*Sc7{vYS8`T zDsSc()8Xm7wQ}&fijQvQd3}o8SlhOxg!;M*^yt1 z|Gx)LJ@q-e?(l5sTl+Ch5*M^Iky%Z?FCZ$4>hvoB{!?xr)*l}tfd&}@g(cCMk(i4lIiG}2LGWg)^^BZy(K(ke-dBCbfB*< z4(Wco!!#Y>K+iCn2&?5dWFFqFd)8ll=z&dXLR_8@l!7gd!zR^jiD$$cpy?qe>G9x$ z@vC6A&?Ogo;&{MOx&t=2Nqs3#`P&4CrN&}9PT#Oct_<2n{S#H1h$Pm@-4Ru-uVEBW z4{G2AQ2-D)Pl7vdtg!zb5>H^!>$3)0a!F0hmid83wu`KYEM=j%0yg*gkV;B~2vGV} z5C}gSW9tLDG_Zov={X?Z9T90V(N81w0a^KzRs~rM{bXAg2D{ZZ(ChpHI{1GXt9ZS9GDo`uI_i;8?QIRSvK7K#Lo2tRIVaoy`sB z4NpiZB2kYou=t@QG7rY{2-;S)*-mn3)olUc^jme(GFsFeAKEcSv$`MTjB^$HF+yT&(`}NaVK1>LL0$UGL%XPHI4DR- zQg3#^BX_NY14EV`#Al8}S$nPgj8*+-!iC~Z7e<$hTn#wH>q)MMn-?S^8DH|IzD-^N z*R=ukgHBT0ETfXbpH1B5@>nlFa~UT|R=u|y4KI$#)&&r(ya`YtZoyyu(@sOcQxUHE zD(70(JY5V5CEpf4@kC>8y>(x63*~lqj~QDX(}yaBKTHAs<}RTkEb(FhsDz#9w`T78 z@cVc4O z?<+cR6E)L3!dtkv$-jxSRs~4&+D??4db08UW|~Q{ki?6Qh_s5U*8M@B;9ftEDR=;%C4Zcnem%d$t610Rp|E9;hGK&-$M?m9H-F_^(ZF`)lf(19FZEkDVI+$0+0Pc(tiOG4a$C))=>vf%fLhx3G#YLV%P7SGU|QrDVD z6(mt`8s|6%JQR$`^n#Ztf{K@f$(!=?xtmTP%Gylb*|lx*OS5S9 z6xLZ>9~XPGKW%9lmf96j%Z}o2CmJobc~p}MsxYup!t`@+n7Y^=74hdR)ZXOyx$Y42 z&m_->oxoL+I|mDgzfPGQTfcbQ*6q2Q$oFF|3kZ?)e^CsInvmT}p|roFITqi!Cg3j* zzU4YSo~+oO6C7Aq+c;-!Y@RAcB(jfKdRwu9uu446vd6VE_oSvI#)TSxF_KRPf5cSP zT|-A6&w<~q?(KF-L;9Q3uT=_FV5B4bw!9XF+uYcy1lodb&Hf-q{0?q; zgLCL7R~NBs4uP%2yxhF_UVn+)v;H#U$v5$0nBSSf-F#HRcC?&kvcL|hMUuYKJ1<2z zYVcM0cueE0jFHc2Fr#E(cT?_gv?BzPH1;RTh+9l-66X@XBKXP&ATuJc{=d>~%W)XC z{fx&qHjUPTK54On{!Q$@dAPAG`=sEh#AZ zw}wNFBLEC>T{yr^xU?gs2_CAS6T_V)mAJjSwpLjEBbblie*7{fdo-jEV=JE`sBT+g zX_&@?iF-yjUopuB5q!rhLeZh!Qaee|`u#zUu55Nrgv~x1cF+iRdseBA(aaRWMDOSP_uyLGDuU;@KGZ>WW2Ll*hb)bD7A-+*Bc;X*5b7 zH>Sdk#|!lv#|q%v#uic5FcYfsW8I412p3ej6YIPsarw_F@9{VUaT@DC7O@Uh9FS)T z9jC32Tvf%zh%$20Z@w*FUQh*)*a?n9`UMO#CJ{E8$EDRTpJlc-dC;-FI8gJvee5?7 zEe$A~PGDkIT^2+Or&?>3P8n_U`T{Z+rwX0hd`?1UYr;gD^sSXH$kZqN^hnqFbZ$-OTq+F z8wlUIw&Ny+m?Dpb$Jt*OeP!As+LpdML8RJ97R1r*StRq+aDg^y!G!Wsqdd5h#&bRq z+*jU{0()>T%7Iq|p|GpaEG4e&S%Cu&>@kTdX<+MtpvLR$0or|m?#0%k!nnS{8j`hg z>PDUX!x|8P&r(5KOErq)E|z;sjdtnB+iH<<)@PK=CIU)e8@#iJS4VQgI+4P=sS{ZO zE!scy*QTjpX*YlY1-_Td8SkGE#Cp)2tZu7$5p00T#kHDuG07*F@@G>at}Tuta`n^( z-fmaF>=KgK`l4Xd*+z%op-EOIzCRei;9d2ln3yRj+`d0l?O=7gKSx{j-q44O zYcm*z1V>gmGu>*`n_?NPc%*q}3h1n|@mRtDW{9E;Y?7tYSf<5}Ke$67H-?HR_K2V@WD5m05L;123(Djkta}2+9tOJd-{tW|SJM(-y6){=P$UwoVmK9&6>` zRFYLTdNM8Qk^x*5hDIcYnZF*WB{jg)AnPnGC{1T%UyKw~iMXW;slq$>4wDVj&iyZ5 zw&eHqc#O+}R*>2Q4y97WOK7;GJ@M>wbkVOg8*LTWl*-jez8JJ_)EqQ6F;6FRIZriX z4J9rDHtdb$hJPIS+0b1D-rUj5c_OcEi;)1ls??f!-ult8w#-$_y783nE~68zyl3t- zQt1)EFg#RO^+)yb1%@_tzHFt)!P+_a9=i_D8MD&23jA!ycyUyNgz!Oz+lN(~J%L`o zq$!|f32tx;);l-=K?tC&K#^3?V0dZl8-PVy(<9pY4mUGpk+Ok*F*`)h;4hu4l6Onm3idF> zSLRVC2}h6&dV1+et@q8+KNfka5_zy)lUPN#AJmzR85b8?oGKx?rRVJ8 zza*AaPreeqWvv8U&>DT!3w z#luz+WVcw#AK>UV9*dTGF&D6FP04bF7c{bNS^Qb9B7Ozn3IUm6dBrH)D=J~w&tuxM zHIHO9Vcc!*1F42{omE#DBNUv0|N4<X9`7SBp;j%zU$jgy|293uG^ zH8JE^&43y&?P6FIaou9bG=*^xm!uwip(^T1gdrO!)ndPY2WWO0B>vH43gWpLl{DWmk#auQQw67@d!PxA+%?O4Km@ zI8E^MuR((0yUJwcimOx17=1ORh^j6fJ(V~&vj{ImF=0x5)3M~OlaI^J!S@<^O5Md% zaDQ1fQB1i7LOe%y{%n^VwfIxsaPLX{VKDnUrm3^+8u{Wnd34=2sC;$|gnJUVT8gwyPBi*?PlmUK#%z z-aY$AiZw}iIRIf*T|ePWWs^%5SpQ!wr(Xp;xkRIkB^pKl~}=O3;>2HL zuV@05AmFYyC3a>Dr)kb=^4V{9u?`QaIcL1_KV2JF0I}9hH**A-Nj=LBih-eIZ;Ig- zj4WnM4V*B*1|>s)jrIPKo(tZt2a;&1r^dmP z;$Nt&#^HK1h}P$BQ|gIOM-a_)5zBXNZc57L#<;d^u((Sn(MmPyMY$}bU6hrQz_*mx zF^F5R1QB2JuQO!PauPeWMA*+iTM$GF&kTdXPoxWQiqLdN&{`0UUp^iB#I{~y)#io* zJaZgOcgbU_QAYtPSJCZ3abx(w2JgYc22`C%yGko3B*3c(Zp!m1GCRZZyDY0+5h&zz z;ae7-wTf8>-&kD!gFMT~jk!E@mEVXJEUz7^nY!W>%VWl23niBY5O{ax9Q2^@&HK6W31FcWqcywRj_u9Dd;}av%}+k z`%#ji2t1Ec%@9z*gpRqNuY{ zo~Ra2_{m%*L8sV<|9=Q$YXjF2kZ#W;XWYw9HoSDRz`94M0lVw{YA*+df~Xe%;p?WH z3~k51BQ%~u3PEtgeMDFMWfQ{qdLU(C+9s69uo?>cdM2mYJ&a~6Gv`bSy~hsITH;QH zVcsIcZQho>hh<-4qQPT4T*0`%_ykC!XaEq9fS&>_Bc*bHy02-u>JIAfu0$UOcipUR zonZO{j!$b5dY#AOoUb{)As0pDb8SL5Pq`LdbqwHM%dt|hY*>pU<$%dSrK~G|vwBqf zV_t4>mPDc!-~wC(1}IKL)NMWY09FVHX#p-f&-%_kO0(0=P`Jl_26Ou$TwWgnc*S<1 z^7B*O)NQMn_o+@#RtvHztQ=KetY%;T0af*Qq3H+ab4EOEQ>ngTByqp!lq0SyB>iQ|jA_^-hZ7BT z;dzPkW@`We5;}QTkl!nyC>TqLL*$lgpRU4?>1F?MlhMwFAtscUE{X{NLVo?VsG2s) zL_g4WT^Gr%81%A_DBLep(S|kWCP8+&+GsLbjHJC0^Lif|g>q>37Za&H!^6GFq3h(D zR>b=2HAJ+$JKIEyB3uC^10IrLCQ6-k{fJyT0+o3&gmE*;!geJ)`Rf5T@k8gUP>}gY ztnmESj#yWoCY#vBt1Q2*sw~8^8mNMF5^Ox^={J(H-F7~!drH5P$72U4{eDr8#wZV* z0ZNDv^CQ>ybT`SABXb^02!-0(uvUeoPE^%;JdkM z=0gFgLuEEX8rZ+xZ-CNjZvPs9?Q4ovYp;tGzlMK#IXqt8)Uq)(z<#BwbXR7Ckxkw{Dd%1s8l-_Dfa#6;f9 zS=zI{k=Dd{Vxix6CZVolV|CCg8a&qPf5} z%olE&ou!71YO)MHol-!#UkD`k713~QOrugA)|G+Vl_ndV87jC}_gbEjM;Q1e@rkPu zFjmVAlecjF#(-(j0RiJM<{~fEj|S;#Pj$M=c#xQx@Dy{B@go6koQ-f9O@R#`rj@PR z&b=NU%(9MT9l3G2DBEA0T?eTMfEl}-K0#gFR~Lc5@!zk%6xCSi(XeplYcMvUQVl1k zgL?wV%I^Q+zV=nv6=Pn;n$6^2zl5=j>znuqqjT=YV^!Czl|9+xRRdX%7Lu!eR8a=Q zp&QQ1TIfYDAoO&Wi90|jUo+T!cwpkeQO4RXgY2Mkhha7SziCyz&v(SZ@UUJnV@S`$ zEAmsG;Fo59nezCZVlwhJ?e-EwO=NDVF68~u=&S-KVN2P=Z6VtS;bl+xUR|jSPN{ab zO%A@jL|LL`Tg?J+MZ?L(C`N1x2?CYAgo25w!cZ#Y8(?bdoi`1DXQjmESTV7h?TBiuI>3X%|5CE8MMjl9DiXaFL%%!Wl81ZJE0S zI0`==ifUbO*WWviJr3cXPngRiJK&Po^R@E}wT<;348LOdWNicS1%ZJ{K%c<%^6;5j zamK7?#I&#>q0}mmfk~|rI}JB&@CLUj5|ckxg;^xN+hQsC75$nG?EK&lA`7_n#F(rL z`iJdk8o1AX)J33Hph*bq1E}p5d=DZE;wems;2@C2&7zMbAUyD ze4+h%D4gp7c?8BeqCEXTa;lNxpkelhJ=oq1n8pn# z-&vvYtmyJ7%i-5dlUQMcSFSzEQb39^7kxHY`g0c**clUjkSfshZ!_@nBWH_a=ON=- zkxtSbO+;a5{cd%Xj(zg}jRbNS7awl+oigdI{boxa6e?%vi_y9AFkvElvsO{(*%OR% ztyV!NGbl5N7SBF@XdD*CtEoH{B$esbeGL1+%#jL6uo*T91Yt!*{;BPkLUT%zydmQs zYSv5W?jS*lSM?0-H^MBWO2~vSb>4)f7ViaIE?xc1tR9QnrpSJykT%E@p6;5TOG({2 zz%B09IxWG2p#1Gq--x`lwd>bwxNeAImLM`v3q-yIpE&xbE9-qD5Gf^L?nIXJ2+P2| zH^rCZQc^z#EU9a8apvb}TxQhJMdmIdR9=SX`-bl_vNp7@p)G6Oy0z_}N(oV|$cAiO z{x^ovmon@@^6$mQik+smdEpFmP)k2adJVRJ@KL{1*E-2`H}o8R$okU&@yPcKV^Ywx zTwcN?dKqUZ3OEAF@|Jm&+vF#Yq&%n117cyH?`*rmg1;`Y9s*-a$SL>PX}0Bi%&yIn z_Z1g=9xy-30I(eyy|<)0SoYQ2_G$>#Kl!yu@m^A1LF7gxND)>R5OyRUE&R0d;`;(p zhflO)0f*@kpYY?{1442#1JXd8NWtb(Yx%aUP^OnFU?}>G9=S@$;Y8_88`IoF;3iso zLT3~$HFXWdhLON)d@Ubv&DY7pU9xLdO+yFzE>lq=6-2&uw|h`sE!JifOuh+^-)IwlhIr-Ao`cE*5@7cIzr$R zzro%OOGV4|5LVPDzJBc87msl-s_vFuz=7E$tKyFnQ1kh_B6jTl#4;r;-;k}}4@zt6 zqITY=FZje0|GI)385yBcs!#ioK^PM=FUi3C4Q0>3If_LSWE?8q3Gmawj?L))a`I# zZVUInn%T7;EF*J>ph)<&!Yl-4DYfAUPnWNmhbZRw04~->udFCv$$N>Z9sY)l@Z+-b zrsW!ohdj<@KC4%XjBl#Ytj*?I#W>HZmP{P2!iL2VqA>>V^2i(_0|50%&(*!nOOnne zHTaWUjb#1Wy9$;Moz8kAkw(q6)KNO*AkhK^!4in5UEO%kT!c}LjhUfl z3$eZ0=%3!|ea;{s_OfXDis<*46MN1@olw3Y*CB33HPmgz!!xyVhVPQQt6))Vt9j|XGjp^yFH+(IZp>|!GM@GTVBntK-D>*rr{NJpz zt&k>p3Dgh}2xT~aOj<;|>n5_-OjO>}fd;Lp_O*pFxF;rmD-uaX5+U4igc8)JuNul$ z5c}gM9m%uPU4gciPtTEOnGC!SZne)f@rbCvJo$GZy}N(En8Ur-Ts%tdzyF5;<}6nZ zp%4xn{}jEa_u|Y$loFcHIerYg9EIp(dZxnzazJ%2qHle66Ok!O1C{=7OeW~C91XRD zwTo8nf@JW`L3lB&yWsoX;aa)OOB!S5V2k)ey&V&IkY@gZ$88L?t+%Cy5~v@9m3Mke zSM9ADEQJ&buK+s-j4ul%cPPuN>KoVVAGrWg+mBvqFEYPDijq z0C&E}9en-GUcG2*s#2_Ny!e{XwoM}BluUECz35d%J>Um} zl!+-Y$N@z9w${4XN}3eR3HQ~|ylz&lH6$|+9yaRiJpH6cFuZnSdzc-kGfoEX91QCK zE}|Z$UtmJVjGBr2E3q^N_dF8`ahP%)K<}C4Bk+J6E%+t9zf=4A&&2dP;JhF3{3l~+ zMs8V=eN8}*`>dl?Nk}DvuB0gnt<`y761h!*8An+>zn6E5T=S4Pi{vmUh;P(?@;i1 zNret0xC6Yq_p)<*IyoB3@271DBU+ z59wT34gF##n_^XSts~cX9U#p{Qj2KTFi(BhJzj17E{??+Nh)|AZMoRleL0-yEFO$= zp|l`Tp8%bfChvI_?8v)JL>Vtp6$_{~sm@vLYl+~w5nA`U4U>}wYHSho#D0tkZEGROZrjtDn0qXG%xp(3?M1E?u8@Ia<;h&WxG zq;T6UP0I{qvl0x@F~cA+%l@w))zqJm)r|;FL2=}mIG?m3hyOK^Xbqj-yn^EVD=_Y# z6VwM-hw&XC`fh{@L`^>({TOiQ{>xs5|L;0F*rUsOcdE1Xy;tGb z$$`$sowphqaPjm}7E3Y0?mmdAImz8){CRoEuXO$fgvh0OyOVYz%?IcCqLL*^yazYT zy-rT)AhUz#C**GbK(1KopD^{=)Lfj)6(7I`xKA_oLnOQFk(g2u$wg7-&G3S})adZc z7^$!_T~S+_^b=UGv6sP{Yw*gvmQ|ng_kDzBAj=LjAV71qnCbJ~pnfFTHp1I0xczN0 zx}KqCa6#o1q_5-9um5%LTZ+HfeJX6d`rZ4*r2PT=L7aq#l#ZJDofok&)KEfi-K} z*gj=$jr0TUU(HCczeB7uxN_?r<_`ZuweK}IFlc~k{_@NuuAd@Be^3wG=}t^JdUf8hM~Ostu$519+p46k_7oEPpAT{I&wA$<(GDwkS|hukyAYC&__GknE)|B z&cCv)wdo*(<^BGi3R|ktn5{}G!>au1nutURkuSkzs3v+9a&6PM^5kWYN-1y>YF`4q z03f~RDBqT-_~S3H{~h~}GqUV60fKO?XfCu9FJq~50S1qnfnfrCt&wW}o<~4;PY+b^ zu#|E_B0v{VqA`i=TihaSmw!=rs=`xV6ZRx6V?&X@DY2SYtf>iL><1_>v=(nJ5V)hg z@p6R*Mn39RItTi+o!&!eb;;2DvjPB5Q8=6ubtjT>)KNxCD0sR!H=Q;nU3AD~E_hY0lAe zj>#M)Vov+rlbpdyX+aG^o zB+RqWPq2bgZi(?fluan*5MtX~}!bMt^T=@+XjzT+vamV!oF`(X>InxB3Hnl{DC zIg)DGwS8z93_O@7Bkn&=vYrqzc>7CWr6+B^)`J4%wGaUVcFA;GSpGQ7USYK5{op9E zS9jn}fcfQ8#cDR}cNO3}N?6wnuZ*As@g{bd9oJhEH-Jv2Qm3{BFDFF!orb=M+{ttp zh-MU%cR`x27T`zeM|5j4s8^R0;mq0q>ooN3T3maw&Ln{eH_+DQZfh5T3cV_nzGMf+ zYJv-@rJA4)68kJ-)Pi+#=j^K56-d`!u8qFbFj&pBwf^e9jw}P`A}>dJgV6|zZC4AK zm21Y~dxk)|!{P3)O+$|vbDfC?A~Bf&+DRA`X*PICCE~4#9nCpUY6d(8D>C{dJm$1s zpcHLw!JOX4X+5Fu&Sn@IO=g|s-~iK|U{Hm*fchQmgCs(e*$`|Js^(CS%gV7X2n?r; z#BPZU)5Tewdd9rFRgI4T>Oahar4S3l8Ccy?fr%ulQ=By-&kQ~@N^Y!#PZ-aGD=P0x z)$O=s_^u*0Trs)YY4J5o#R>}elmP2sqO17fp{PX#Nb}KtJWD^G7C;hWo52sou%b8& zR$cO0Wk2kV7}a#^SWyQBl-3>vd5A_T(1`C`$26jh@>-lG6*VUraFxSXE)JCr!T#GG z#}x4xwu|b;d>lA98Fppdys&1|b0%20m?e6L@v$R|*>tf!#wZJ>(O?1(9ozIkbaCSx z8F9~GZfVnnK6j_|z&i*k9e4-5x4&pusu{yxC&&W;v$2+)b#It96~~HjWA+x^rezoJ zHi3Gj+efQc=zfB!gJ`uscJXjo>+C&#$*ZrGR9c&wVQ$3j4Pxv{L zLQ3D-Wry8&<@a?EFT`j-D|g^ldFTcUZ=oqasfnEYQHs7+Z^O;B*j*q@JB%`DZhHq8 z%#kTVHY17_L(xH66@fs=#_>e6X(splD!#>l31>*)z-K+PtTQO8JHT!(6_CZRJ{;ca zfBHX$L8GgHDYeWQ6ux0;d@d_LwAW%Q-cKl88~h|b3Z!>zlx7X0LGbc~N1U~U^m|}b z7doiQ5)#y`-bq(bpj2zY&QMU?zN0^QDu8IGLSq_&S+5$TrZl>Rqs~XV)ViOsj}2NIA2e zi?^_9x!UUf!g)-)uIi(@eD|I2KT%;SVU`;cP<~a6cgih8GS7vR#-b!@Gv*{P{EOaL z978QKz#M&(?=;|X>rcb-^Peq6QDCQBpa<`zx8UxKnQzIvyrw^g26VUh^?>TdRrna` ztTkRtBZ*HO)=bX>*3|-OveF!JNRLlw{%v2iUO5fM;De9Ef zzo%9r_hHkPjb|iBk@3&fYuut+QVA{%jsc)xIhy zcSak#u~>BKj>R~<04*0S+E)q;gTMrT(eD0~)d*E|s6U%-F*M?h0&l$?yV|WtUMBl^OB7m)DU4ax=8 ztX0?$Z5Lk$20kp~^^9uY^y8x>OGUM98_q1ZQ_sH7%3veZlQ>CN!xG!$+T*qu1EU8f zg}X*Uadv|U`3Ew>-y8(tG7td8S8gyMmcV;JyOl3~=heI#RHUyEMckqOQ#Nw6@-+)p zP=k+;woHgv3E=JF(ur!%&lL8IrmwSn21a~L=6HxwE?ed6&juhYdwP+*BB~~pN+^1A zwkB)RRGGS_w0uA`k5?{SE6ho|lhvF7^Ss(OOd4Y4!K?_2Iu=*VsdEaYj}*mlpcK#7 zCbCMmL6|Il(H1>La<)UbuLkdJ3ODoZ_EJTY{b}opDLcK$zT8AoCKuX)b?S;D&i*2@ zliG5GAe`rvH0q-w=|@e5Z{k&~FcDeiINoJ-2Iw;2prPd&2leN}LGPXs>YA1#!BG5n zgIt*>)hw|#F@bMu3jEsL!taj`HEz)SCcn{Tjj-dk8AAHx*j#m-(!-H{_?z8cw{K`F zFLiibvkC_SY9f1a1|JH@0^C%8D0~p&1i8R%8OVIB@DEAbx&?;U2r==m9|!+c-GCjW zML%>9Gt~(9u{jWA&fVX6Udg!2>A_;aVI^TVf~*RHc@uPzY5so~(X)mE*A@^z2i|5I z2^3<;xK|e=O^Pw$*29AUS9OUxd3We~8oI3Zk6}KBtrLW4MY5xfili%jq1+HEt4Gf ztP{K}fDC-=e*02UNPllZyT>GUpeZiVOkIH~n~{P>VOPCP3bB|&e~o~7IWK-o7j5yw zA)e4%)IcBA;{z*pdpsSWh+qQE zoUMcErXA(4FO0SQwS*G*($n{;;(5vuZ0Qi5E_omaZNA8uib?zL+!n_K$%~D7@L>&S zA&V?tm4Q=UIjB=f1>VTqslrQsGhz0kboJsKT&9g3YJkunS(AS?3&xu-R9|;>?qqsLAx?_&LBukjAJ)P&Hqr z$O1GQY`auh+GNjSP%istKYY>KYJ{bx4T(2IGWdBYLR+>W-mPM1l7O{62nWS%oL$zx6Ix^*cC~~^Y{0X{01=)~-w7(l=p(UFp8V%ji7I(|2aIwl8&y*- zFqz| zPZt>{Pd~kWKh5~7)Pyrsc@q(2Dj_lH#|AttX-SXxA16>38_x_sZVR+w;R$8plAb13 zpE{h&-?}ysRZf=`rQ~~q?;xq}(b(GhA0Xmo#E2sw5D>bgYV( z&CKPhEvjR9(OCar2fUTu^@nvVN#)sarN6DI5f1Dr0ThlN#&-OcKe1nhkay_G4^(nz zAyl{{TK6c1jse~@@K?k_f7e(r<9`lWB!EzI1+Flh0((BdwRvbZo{}b!ZvShdMk%yS zZf#DK%k*g@@8kDhVStiyJHd`A2zclw>Havw32~z@|E%$-z(EQwr(oYdFgY*a(EBH= zfjfE8qA}rBU_lr84&bFHxS7pU2W_x$x-AA57ZH*S1CX~hc=&s%)=uDBDwAVasdw2_ zrQk%$w3!zabRo3Ezr4!7#ZMMcyA*;Uzfhd&pJsFIsx}un-}qNLMz<#F$bt?KyosrD z0aZ74dwDz{XDJV%5U@Ea$b;qAw+?8#JyG5QcDM3H61msavPXma|7w#D8cV!T`JJ;Q z#4EJW&%~<9#7to(n4U9atgJ&Ou(qt5-M3@gua4**(0_Z21#SFbZfFv08MpB*17Sjh zq4F#)iWol!i)N3#YU&ScKQ48MC71PKRN@8cVc2Q^Y3}?kH4#3N9nnu&jnN z2YD^nXoaA7CqC;WKTB>0{i}KKvB+Bp)g`PHT(19;)bC$#vfA|Tm~~C*<0rxvbDWs; z$nk|&wx*pbTWuBQGE`JM8f|*0=MkJ2Zvvj+5U~uPrIx5x6Gtjgntux;0=0-ypOXUW zc0=ljn=xBKvWfI!hn!F|F$~-LS_JIfoO~P}ioFr~nb6{6#DDRFlQ-ER zN)2I&eH6K+W%!tVp9M$CR_&sMw__BnrZeWld6Xe!?rQ_}YMe48`s{O8#gD6Ga{#b` zmC@fX%DI5#!?5}o!={xgi3pj?;Z{^M&GnUq&8A)rnw{h>tAObQH?Ww|V?h+<^5wG{ zeiT)8$_ohTuk`#2Y#5TGQ%OeC|6VwDPxEaGGFP_s$Z}2XwY7iFP8$>mz%+wvvVXJj ze>o&AFg&ftW|h>Vl}_Xfq&Cx%b1|k&AqTGPD0X30zuwvPC0@7{!M!>Hc8&GX{riPB zh0#6J#h14=h_@c=cbMt>n&ksNOSXhwf3ofEVTH?H!G~91B(Wf_m|-pTclolnw<1JA z&?}s9Xgc~fGa{kptm8td@!}xd40n|$OxfUT*7kIYj7K#lME#CMe+F^z%PZ1D1E)T1 zt0hH&nv?(;1}Hh&_LwVC34tah=~1D_V2On3`SBSEBR?|Z zx^m`5C5&NFAQ01RH4ES69qH^SDJSlL9MMAfI$vk3-Evxg|Cl)xvsEM>Eh=mHJo=O} zEiuMW$oAeePgXytoi=rksl`$!B<9?yDF*Wxk~+^x{=QMC76v*u!|rn~Jaz%LOP`i< z0!9fGe`U&yGJK5(Oa(3iy9?xbf#;M7eEHNFZn4oB)^BGFwvM46eUkMG+Uldphs36t zHX@sR!E>;RFhH%=9@(1-A&`V3pHP$ORT~HvdYgp|BPD~`} zWuNzp!{pzHZcyLHz#4ku$jCVDdz0qzVRgPLQ*Yee#C7GZCsqdnX0$U9YUZ@O-oQO$ z8K;T@>Co^8Z%F(Mj8mET#}W)#e;a0(BPZH?OyJuZ$dMwzWVDs~6@L;udNGB9o{6`Q zu`SUoL;h)Lq@G*rFXI%mD}10Qe&m3L4vOzYX0cC9l&mgaV*c*K_~{|%*)qyLMsqh{ z82&f|$v1Tx{iMj!m@Qm#Zg61<<+6>l%1&43Bo z*VQkZbupXbX1OPc>zmRYWls?$cLbORH~@h3Xxl%xc>v)Sh*7QR4vu4P(Jmk*y{ z4ZG7g;gkfk*))OmjXK4z?8}ktWC!vI-?ZV{Hbns02y}U|->x^NRpkehgRb0R16N2! zk}(r`m`sJ)XojJ2{_}F}7Hn1&@*INsrg+a@xct}I{U*Qs;#d_i9btLqa~pM-FfxQE zxi!*R!h#N9*ZulE^#|4&XmVR<*JfQV*=g`TJ4MIx0r+YG0b^zLT~9rMpuA$o@8tqx z%MX6k?TnN2!HG^eV!|cdufx}6%25y~fV}(iUDq0iRZn`=+f zKv2jwTC_Y(6e)VsXMCqd>2D%%1&dT^QmhBw>;{&-A!7{Xq29~lfTqNRM5r2x1uJ|s zbYP=It3zX>Dx)%43y^Z02D7LP3Nr<~?Bh}gq|GcQ?36t7i2lJ2Q}Z3N$Qk@;wsTxp zRy&{EfF{H3&uBj_#BjwdUr|-e0D1n0IH zp!xuH zKFnxN%Hvy;F2_h3Y~pf&JxNmixT#HrVyG!140=_3%pmHJYHxSfxv#qK&Avu*Ks!-wdjXN4U155hqaVg_B{&TszKb23cg>IGbM+gHi5AF~xr8!BSVrR2Xj(heX(XdsLXb z*~#YLVr716?s*bjvL{3dD)KYEp{+A`FU{5tNe^#96*tyUpLC^Pf;iCoBFB0gn*}FRPlIx3!-#v@B5SfX#ya`#v z0h2m&%l)JHBCU2nXSK&$D;@v2Aq{D9o{`=FGLg;Fl!~*poN%PFoxf63NT&o+pAhz| z;bqpWwK6xONiAY&yT=0;j#NBn8%_2a2Wyrbk;;|u?XDT3bSU!Nx)IE1{o2C)b=`bT z{?W*4WWLx|eE~nTH1Qu8*#Lzt+u|0hCa>NtMu{+j>3?GU=K?*o!w@#|$kPd#Gaf}k znk-Fx4!GOS9gy=SB7BDElb%kdnwMz6aJ1+_w!gB&#>C;ZRtI$N+nE=ylZrtnBDc7%6#x{B|}<`y=bh<3P!(>EkNoFD&v1EOmrxxqf$x6mKLtV+u{%*O)c!REJxjrXzbNxJ~QeBNdFl8dD6uOY}dF=(s0)&b@ z4P5`64x2P<1;4U-S)?XLTF$!A+rxY2lh`#Q^W}tC>BiQ-fsq*Pr_Zo9AW_Nu!+~V% z*fSA`v`xJf`nxO3@{8K?rX8ZEv2bez-t^N2-P@y%-4kNNFnH7STtMXWqeVu*;OWgT z$@SUsh%#c6#i~Ix@mifwPT*lG-|U6|aoNxosZ}HZF~^!``lu;Ml`L#Q_%hI3_+mcp zmpAIU<-vTu%*F>MXZ#t*2upk~4L`szA-JGoKs9@A>|8pa8R@+!vM?(*ZBtAV#u4;r z+wONKm-xSPA^#Z9$%2>Z_-X@Fm`w{HvW5&30P(~?1efqj?2paTWR#vvZrjLNfbV5HB{E?4KMD3uUj3 zuQf)@Q<#rM^o>|_&(^RL0`cec-KiiIi?=*wmU# zsmz)Gn!s2xlC*QYn7|b>O@;McfJ{-%NAB<)7xBN0^U3JO1ISaa2Nf_-W)I7rT}BS# z$pabspYnZ$bcs=_-;N~Zoo5||)#3FN5M5>VW;tce9Q^Z+7oF#d$>`2V~a-0elpvTe_g5g6lBLn}~#@t{mbatds9;QJ27EZi&P5b>fK z5P&BX_`6>ppk=|PD7)z2$FX|;?Q7;zBp|!D!R#B3z$g<7KYmO{dP?Sw>f_u`o$gBV zUKpc?_S#~iz{U)dCh&qHS)PST!h((QPN*KPkPMJ*02SJuNpzeP{58Bmgp=tSD|WGv z-NtsEK!b0*Zv=>HNasnN0rU!%e``>Bd`4LBCE|4UMG$ zlKyPT4bD-qKV7RAQ{>3qR=kP9c&!;|n3K-x#_nXm0c zcdpr$;0~U^v%Zx5r0Kw`zL;2QwCz$+pe4y*=7HU4JFBIPq)I(8r~arWr7OBM)NL4@ z|?ul|g(R%xFu0LNd7d+~$_LUn}RtwhKId;LTHUJ-n9}=9> zF>u!uuSfr0yG#<^?a^>W4}v}_u9qY@3EEUDyHs0&bCXBJpUc=tuV*r1Ol~ZvPqw9q zZ5amb@G?UF0_OBe4YL$fSh3>-DV;S_||LLv=A{(5C?Hd(Ca{XZjPe>{v#a2S^ zjNx#Z!vsm^H6M`{f1#h( z80TJwqi^e(n*Le2UxjC1#`lgYM7Qi^&YsJ()9beUTs)CoixHN1 zYE#uCcLrsYZezh&Re!j(>Eco4hADN9GEIID0UdqS(N*e8$2jGNz&WS0?B^-d*=FpX zeGU%^6iSVFmGY0I56YgUo!=%9=PBU5t;K3{76#0bL1eYGiT=Tl%{LKU;}O9b-`aH8 zOVR6sy_MUtt&@wG0C|ej5mvGBFTjku(ion*DTtDuD?@(!PEt#JdxBFyC+&*9pf!t% zn-8ZASEpSpeTCbx-3pup<-Knbfi$^09jm1gQc^p~pkak`Jj)j{bF>}3HqI`+GmT=; zj1fNq+)_sq7t@oEnEXQE!)HwS{(ejLno=j1!x zbIr#Vme1j>0#H#O2Vk2AYTwZ}j*5{TUQ9ZXgbJQEqti|`@`YoPB9%&!UHUHA1l_~E z=I*?M9158RV;}Kp>;O7wU&bPAk0A#yM6x*5_9sB$s0s)N^5T4{lDKMi7E@F7^p?cy5o>b~<26L|4IMsWS7y<8Gpwojou&;7jQp)4F}A`=+ZL?Nyf2qs@wyhU82 zs^DI$B?bu*Hnsc}Hx`C*Gz?Z>9flybL&)MzX+0hWw(W%Qcox>Z38TnYr54Kb8sEs) z@Nkz`UcegV?524GFKo$vJE*Lq^7bufQ1Uu9`t#^IMH)55HJ+B z_8~Pi*8@R7HfRIyJ0i~CxxU-^nAe3JJM>sL-}SK0-<^7G-S~eqx;#8edA!& zz*1|xpAfo*e?*()srd#ay{ne(IcA;Ra4)B(8(#i2W2$^sHLl023G4R%Xzf874JKHT zMV98p&DTxvuaBoYP7MuqNzMt48)~i>hQGI-*LI>FVd}t+aE(TV^Zbg8OnYlI2NYZ8 zltR=5B8<+ORq8ogkp-AEd)0jna5=ys0>(HkCl?zwMQWA((K4@7Sf;vkiQ2KLIR1IN zqfa-oxOW@*_XAud93$8_n0C5aY%1*xDwXrIz=%G6|S>Q0Pl?rT&q%afUNFii8_i> zNS1*l#nX$s)4ny(Mz)7`n|cx_EO{&$M8b?nXOa?4+vf>7eFrDO6JN`owp<-7Av~ntV`gk2~w$xV+GLwtyuiTDkSdW&W-D2HgR!9ViA#I*m>vEQ2&M|%Ii8?{@ zzv+Iu4Sz3Z-%QZ#g=&#&{U}+Mv6k9SQkKqZQ+Pw4r*I$3L(72iDR_1e>&Q(t;l5CM zCa#)`XNveDQ))eAHNxEFHb&B|)aKs*xnv^A%Lh3qMkuT)E;*ycK;KKsris-Z(Ztky zeAy%zd^7}(1>*SZsBhM|XF!5q3n3i9_`V{b96v5{;hM&$l{1`re(!IcUz#QVek*$; z3g2Nu5JmrV%n#RM9F;#uYx%&ooil4pSFh%oh4(dBM}itrDyR@Wh-nCe%-;(f&^`+~ zLJ|!SnKYa0#lRm;GbPnQ1A42S_)bk~eJ$Re#k&?z(}}zh?O`?)WjFUq*3|cSrdTBw z$~#y)p{kg;Rd9mmG1b9Np8+_W8jP7w&iMjebL;$2!eKHV=>HTGG0>r9@Mp{9B}^^e z`|LNgr8?f_+$(6V=X-nGEv=P?iSA{Y8%Au=tfs)nWBlwWgtrYnpu9+etWK6+d$_%J z-{x}e_;^DtQ1)R=wur}m7Q<(qU&I!(<|dgXr#$d!P!u$4s9JK9sksdTz7H${{?8^- zTWt*}c}yn>2;=M_IVV(eC$-n(dR7lK2=KnSrkE<9{)reZZ@|3`O*P09%OYF-^7zbR zZ+!RtwfSSv-!-d@^=+4a=XSn!_Nt6Tb2?g(36*~-NZU0ZGdFm{rOa+G5&T+KG`IG4 z=N*i6894GTRf7DAM0F@*V12=1FLq6RC&o{$X5Yqc>XzC#OTlV2j{z-7bWgM55u+N4 z{tm(c8J$8eD2RLrgLOF^hwA@FrIMm@dafE;|CdUa8h1U-8VJm7Rawtn>1RRC6zv*U zAQJuM%3^5D#47gv+Su=&bDkpgMVy9fDQ%ouv)RS>1)Cy>W0U4E}AcL8<6}BpIPASQi zZzpgwAJkk`_{B+$Y~_L_9tCQ+J!6@1&#b1jh*G3K-aYRPttKOVdC!~P_J7R$AumKA z?0nAw7+#euw`X=k;5MLor|})y+B{s-ucWl;t2Jr|0{{RN=X5?n^Ey?F2Nh9@wK-sGy zTcXj4=45D5on^Y18`=7YycV>iKdY^n*4dauFVyxpo zX$Ov!bG=l1U=&(CZ@{wv-H_PmeUhHM@G&xo%HK{kkLkC&arGq#LTe<3Y31P(h)uF8 zx&&ayg>R`sD4j1G;UqW1S;0bxEqUryy^;1dLX7Re0JR2L>*UX287?Pnd&Td=$BtRw#4NHvTSC;U&uejVHz!u%-3OOIgG!!$EcnAiGG z{6|GH8z=F-Lv=A9VkH~HP)yPg0NXfz96!*d`;qVbfK~5*svuEv-g=W&}q?s>#0*)Lq@K%^e!6z zT?!S}o9-&OuDjq}1j0JIhYX1nS%8U%>wPE<$vHIbe&e)K(8*fYp7-N`UZK#!XXsiT zH)!7KaS#+m0Ce<_qGVEfW5R8y4&1rI$_C1OO>CzUnp3>P+Z#CpvGE2nEcEG8d!xDNQ|_+v?jfkC&_!OXzw|5k8hPvTB{zpyay()2A6E;A z54jgE8@1MDcm3Rx#mPzu(`lqT$?lZ3STMNcsQF(v^#z@(<+E@kkVT zqgs&|wiI6hSM?OyCeQlMO*X6e8-F z-AqDyPe@v;qFw@SGR~&myLnZICieZX9hd8z{&cft1Ibm$dP$f?m4JB@gF*ICk3&+k_5yrZJp*b%UFFm#-#?9zC+Nqkw@D`2%S-C#Vc95vt1)$9(zFH! zb+5|Bo^$p%j^o1ecpz&ex9#G{EL_=peim{Ct_rL}!aA9RF>vc9iLerD)!qM1a-5w3ytV1^Bc2Ivuz z;r|^4XOlwEnPTNtSuGJQYWoJ&0;Ak53H?Rwx`(YTNUS*c2<<8_R^-qh+zCv0#5<0b z20-3vb@1<+wjQ9!|eJ(N;MeQ9Rlz-)^;aYY{r}6Hx>U><5Vfh3{k*y=6aah zJX=5r{&Pe{Zx>Jnv;UbnYmd~QN1Y6Bo$LUI82<160N|9Y`lvPjQ9Cc&ki8SEY(;_y zhAxuC^-fDJ5ZT*c({xNY?w3&M(sk(90&o9QSa|2zyEkn5CYiI_${M4V2F~UREM+Vl z34rzB@O7ga#NpUa6QO#=f?TCqJ1(*_NDQzyNG(SN0BcO|e+xJOjw#9mPLSVJp>MC< zn4Hk_L1If^kAS2uiHUk8sZ~5ONH!UU?s^XD-7Wa~PEmcrFJlM_I)$yl34UJHgN>G_ z^Fu`fL`(_irh^6(Wd3T_(hbSiE?EzQ){z4pU6fBReN=R=Y!>p*gnW6pUn%RW#Ln@J zU@?bKB%cg|GN=&|HeN74%}zy-e_TW1NTdX94IB0n`c_r|b7t9-`#)mO*4KIj*=Y{o zuK#)HlKHf|=0VTv$qsT@&Vwd2i40Rmb9(7dlrIFJb7Qz)0X73OaL)LAtVx$2XgTcj zQiIT6M6+mtJU92g6uWbG=2oU#WHhnJP=(!6}osnc|+13v#0(?-gGsIVt&n z7vbMSa#I?8ee+}C4QPCOV$k24dIb-pb(C?xU)Y;I19){@_`GfSHehj#wGtB`(dwix|&73}cGM%5NsGBal7065+c z)juMlEy-gqUcMX;ld9$KX9AL@E)9E|f^g2RL^!W~-~>IS0wS$d?)=ytwK~FWEhKlw zM6K4C`+oBR!~uNHUj=KU{X72<`hHL-GIoJ^b9%9uU3?L zI2xmSNUdyKfx3Cv+MJXB?@~RiLiVl~1(TS~URI%ATf@p4;_z0{$WX{3+VHbtfb4j5 zOn`8Y`S(49l;W{Guf-3*k~H*Ww~YApNDnT%DD^tPW2Fe(aH9dqAK3{pN~X1vraM-w zRY=*g7|9_|`*;h6^&U>rZj4gup={jI^S2m024;~^<0jH5A6XO^FeuC!Q+M-(U`m}X zHHc2GHJy8F?C66cgAwk*s(fJ+M`z{Rg~DGM+IT@l{3;g;1UCdPk?@%DPv6SJfTwnoR>MrNhR zf{m*klg8IR{0H$fu#aAtfn~A_TDd5=qC=G02(7V;?ymju*9P!&8g#b{;EKnEr1oaI z|L*D41pb5h*W_d5OlA?75QsS_3(C-D_N=4XjSoa6Sqmo`0LDDXnlkStj>k~$4_Y{M zEG7}x`SnU6>xEs4N?hI%kl|dO17n!5apgREspOju?YTK4U<!=SAk*~|7Tyl=QjAL=6z`9!?6WR{*^v6g~EZ7@dUDwB$J0Z>W?83E$ zc)H_HVT8eC}Hef0PXa zp}8wmIGs|v3|G;KrKa^BhJ{8G4j8s=_>j+1r$NyG z18UF4nvSLzwxX*mDtsT1*|$3TI;ib;+kxH^bonS1O71ZsFti7n-R)N+^Loh`-8p@LNYe}AXS!Uy zbs6svkhHa?2??)X0Ve^KH)LLr5Pig^h>4A&6^mk=IpNa&QIRct=E-O`QRy&P`Sc!F zIW(26R9Qm!La5uw3~x}e`$=8FVrkD9B(ooc=yA1EKqG8>fV$Q)O7LR$+Zw$XXPCMm zb`~0{8cAwB7QJ1eD2FJ;{BF7oC=5?UA(zVJFl zH}aUpy?FbXp28Tn)gvHeo)u)|IEeJK0;BSV;&Nr{Hp3JR+c{GdJj)DB^VD9PeBl|3 zc?9XUI4^h|PcC;7HTf#&&*A}m%H_=!@3OP>_pur9kBHT1S~vwOn`scHu{+w?6@{&9PXASk(F@cj%2QL}Ly4&NevhH)21M3C$IY zuU`(gpV^*dYwCF?U+kgOniLKIxUH3$k0rEzeo#0I9}kdg6eM`1J9Vaui? zD<8{pJj5g%%)AzB=Sg3ZF4h`fdf;a_zAHyMUl3E1G4ToCd3JOj<9TZb>^WE5XVVo{ zV^Lf_k~kg0i7=)TdJy;P<|!2ZZRp-E{A=ixG3hJwg}20e&rN^pyR-&QswYw^;Ra#r zbR~&C^=eU>zVjPVMbd2yAHnFD-#1mTKT0wdHpFl!imy?cIyPm2d7#sxUAA3qocL$7 zoKv`77T0%?xv?B>}PB9#JMr-g+#61YPbvN9*Uh?j*+roFk@R&9f;|xQHp9cf1=~D`u65 zx;Uxo+A){tK-II_6Fh)#uWEZY8^UOJ{6o0EY|)6KC8`q+-Ka*Gm(k?4wUD8B%pr{i zM5szKEf3ZzD2|Y*^0>PDgGts<*T17Xiv8ofgGDeUteT}CQ?XWU39P;7mA(j~JgELb z>BDK-90nP_a5=^8XlMm$HrTQW=ypuHT%apewB)Hp5e-w>d0{dg~`qBy^3d~9~0(v2|w@ZF`U6$+M zc!0~c-jg`|CAyz89r8;*YaO-k_MGRh{LgJWo?JRdH4NTI16XiUC7O0tI9HDYos0E7 z&dHB7(BMma>N72epHktaUT8n&McaG2YBIZljj58ly82CXuqk~>`&tV1XPSykaF(7& zkAk0Qeq9>e4MN_KT&b4`wBy7w7C8yAoOgl|BokKa&I}fPxME&7Gcd9Vht+-5BkRHw zqM(P6)SikDWnb--851$V?Wv7i6SiSd!vR!McQXxPpugQNscrg%w6$x3u9llkF(e12 zS9)fm=|HLecDNqxl(%E?)bzH+3oWtwT9yF-K<(x{g(F4-_#MgA{ooG z=WBFsX1eoI?1KotM+*yr3Qbg(oz+7;a_m?o6p})V=v09lyYk_|oIdi8nPZ@h&a!#K zbUxI8mmM0!UHaOPR0U={V?s2MVxsLJ)1tlMIy#K9?(lm`UPcIJ$m}rS*BIzJXiUfo zRfU0=RSgMbSkE#VQmf(&AcQcsic-wbdo$~F4!PdCI62wbpI@m0Ut z-KX9v{WPE3zXSZf1DUP(05E z0EZ1EBkf-slzq{d-`E!VmRQ23vd6QvG#Rki_A80{>F)E8%B+j!LdiQJ4}glD8*%3BSKi{{Rm(hHlMAk`&zEU4bnS3h#&k6;8KNnkV)3JV zejaY%Ft8OR3^en!1O))U=@S*{upj-@iKj~daLZ6wO&p&^Lqbj)3wy9Ln|{h)mdeZ8 zU)Jg=?Y>{Wt#i1(ZORddi-0q-TSM6*UKUxtfuGudiD`#BE%+5o7U+oQ2WS!-8%^+s z-uv@;@3D21>_pxC;?wpwsQTckcsYEj_e(uN1ZK~o%xYgKLFwOmes%uh_x_=6@o~hI zf6N#+5KbUu^^T%)9{2Ijl?E(R6){NsPNmXA-4GeHN)_rkyAIbGAt2r*zh(r%Bp@dyL?iLSR8)Y0lGK7(tWZC4fJx$EgV6T+u{=Y^mVIJjK)unrl(l)$T%Zx(b(L;awamL#vfOL1JB=AGeTghkp`d3^zSI~#hA zush;s_44m0Buw>enK$&lW(nhicznCW-m;kD(^gA`cCB)lBS*`_6ez0L$)hZlKZL`n zz&~ODPe8E07Cs%3QFAsZ>tphC`l7&vK!OZ~0(s;YW3vPy&^v2AkPVtQPyfX}y~29IwgQyQuYNwrK!Ava z-W77h=z18&ORptm3GNX9GSutRc9%43q2MD&A5;ZE1xVyHg?zFJ#`NRw=s*2lAP8r_ zhu3@Jf$?P)KZ42JE)~8a(Eh>Gn*cr)A*#T7ekfEW=(p6URYt~hMFc}m)h)@!@(TJL zz(c7VSQDl?6|+e=1CanDR8KcV zf;!t%5cXH;3cc-=<|i0F{&r?A=v)@QndDHG)g2NB{UzIE5s@nV3?h-rHuWJLXx%j^ zsGDXyd*Zi7I0ERS?Ty4q(C;MI@5JjRxqf1oz_u7JgNBP-{aX0SLmdx4wJM**zi7?11x1)YjsD^u1#BB^c3qn7Z0lK1kDzqtUt>7K z9qg+r?|iIT$Z=X7IO;baGWY6`gv6~*^;+;9rBzHyJ1756L3S-4qc^ahhk|W;g2=fL zo*ud8ghvVs6jWK?=g}H9a^J9>*#=E_1^T#60nuiDYNaz&4ZsjYho-BxJ;O^rM$n4Y zFiFC~Ot#vEMtmzWb`1(vqO~tXw?kq2nC;CY)yL~O3&v8qMd3oZRnzkNV7Rt2vtZ7$;!p3N-NUBtSq*UECA zCHM!bUa-JS0Ag8kXvNS0>(!<;=N`Da>@{c<%jzH}g|a8RtJ{!8^^4wVX|2CW92036MA*_828@pOq65v(l9#0{l_Cw#xFnO-KX&d5AmiSeO zTh&@^I&!O`xR%Q_JOZ_8W(Vcsc;kdX7Pf>p^me>4lgkcqCZ~8g;+UKAq&#UsvA?QbH!QgCk^i(| z7hkKEk@fkia8jS`(NV72jilmowQUQTf8sV6I9^Sj2r3v_EFr{NCIgC_gj9 z4Xds+SF=9B7fl_i5R$YtHXv{fWeI($hnr2#>ESrK70pQe42L(~I6ruOnY;Lkl1UHn}KqqXm9o8xDew@1xDBc}02; z$9%kD!ly2qtKQA*{7`5E{cjjv{=UWEcxv-1&1D9W_0sSt`TwR0KDj?Qz~$19rPVx` zZ4kEmQ-7P<=QF2NYwX5<eNd1ik`|bkD5O0+iB&HRytfc{;0jIJdOxK7Q&{ctN3j$omuX6 zbQk!Vaos3P{#TaEnX~bTHbME2dbW76+@@GZ*u_aY+CH)X1&WdgFc|fq>baE74d$jI zc3M*AkJ6oTXz3+d1gT(_9e_YMm4?thSb-hZSA>R+lRvA^%wtY=#vRS=skJe&8w!+$ zIlSc#1(s;vTxDxQoEt}@jt?vGHgrdhM|+goI8q^mI0=nn5! zyf9@T?F@jnLmy}}_}n^_*G6+RPru!GRF8SN5H`cW%qY(I@F#`+lblXAPifE=Da zyaBYn66tIyjx)t&duucHi3V8&xai(&mZ2h?(irScDk_3;^!DW7qCmN%Qabhbzbmc? zo~7K5JSM3T9n&fANrvV^Ew5uQsP0z=i;fXO{xt02)=WxDq;~25x!^OZwT9M?a942| zx159w6p>QuQ>H`7$=YFWEY1pDArGb9Nm}+5`kT=_pn6e~sbITS5HN9rDChdX=PMwN zif~x#uV*X#Qg^n(AcWnZRob|=o`%QH(+`M`Bpf2UpuKtP{!7eDF|ZJf4_HUk{?~Vs zFh_>dSa~)(8r>V7%1{$XoYJKNV%;sbqU0DtF!Pi+W!bM)t-nH*3&l7NRnCvjU$|L+GIbgUg6XUk~eSIq)3}gefv~*E&Y71ReY}- z#-gg@r&D8w33+7=e*y>!Y!RGOv<6_S_<;oLnSw5HB$e?%Bu(l|r%|H&|mYS^8j zhz4YvqX~WwB#rt&&BDPZ*D?l4bn1 z%qF|+jm?h;q-jmfMJt_tgMy(iCu|Lpw*asx!h%Khad6Uu&^0-VtMN}|gs4&Fy^s@h zw749^`7s~F?6l9#4Y52*j1}f0XUn&4W6t82;?eSRvF_UdChxf>X_$?qvyI`XP4)o| zAJ~kbSy@4X9Rq_1a1f5uw$%v*S6pm(NB9eaFFg_ynVk8kz|M^xVQ1?4^n))J6G0$!5m zwIU=~921vcx7`7!^0O(k{X4G#hG8f(hPXo`1)bx2JKU#YMEBN!Bw&WDID<;B#u7b> z1#*RjGQ2(@;D2Q(bxyPp#&PApMmw?KW7WGg<_TBylqa7e2!ap8k1YrN7-s3PI)q81 zM2Je{B&88URYKk_#dY^|??R6n1WE{g0vXQpM6sw;u=hLpTK&}z+%rl13vc;D1Pur; z6ZXQy`ZqH-a^`;FwJ;bEa_Sr0BI2~GU=k5PIs<N-(kOO}v^Le%>=mJB`L%XDx zMvz!1ELph0{6J}wBWfSb&c*8Tnwd9rx!{X%vZO$BI}`9ktHR4`t&M_H;)2^>+20ty z=@jk21Pj8)gI~$|bqCr5+<9<8T?e)sI2c7vk?CuimuiU^JZHI2xcjdO{W)?ceX|mp zMq-(B3)Qv{RR-GKVf&?=D2JGJg`~o|a#Q{E?UByxJF3u;n)R->Yy7jJb#FFSIQUZc_s!2k8&DP* zU`;E-q@b5+lK54xoG(EwDP-uOi<`MRs?^x+2brRS+TW?!l6A8o8{Oy#iO&1z3EGFL zA%80Xu;valBYKh1#N(DqLu?T??~1n~j0vl~^nI^3c_aqARv6j_IBrys7G%H=?$|ZF zdA%e(8PF_|_wD)_Y3YFXNy%qR;=X7gc(pIV3M~f9T4?Tne2{8zs_V<~3enNG)hQ_N zRzpeM;zY7lrOPR?L0cVOI@n{E9|~}bEyOqq zY@t8s=EPe9+;|01@ZEWn;1&ITkdMIK_m`z#Lhd~NuHK)R-#i_d{#l+TTRm*wom5q? zNvf)lYXShj!#tnJFfyE5`eKZW3}x|te*#`N5S=uJQO7_zPV?-Tz{<}>GGB3R6xW0fOB{_9#c@j?TONzsV*=Zy{!2Mm5OmuIbRhh$>;(EfT5 ze1)dB!I-to8FleLIMG}GfKEW2VK|;kh}b~8+9vi~?wAZ(Ea76~DIoc`{(+sASkr9+ zs&gpuyvR{L0lv@FTpK)61bU5>?Ktxsj${XuMGIM8X2YRL=i(4F!1X8F^Ayys6h+V) z9%hb2tc+!owT_&Qn9|^Lt6Q*^U`DMC%QR(Qw+(u8BSb49{^LiBb;elH@mp2I>@L+} zDzA4KcC!pf7nAr}XRb5FP6cPevYEc|#ic_@58{nbZVwaR{DorYqc&|WkaS!@)U%xQ zQUSlwCXUOelx4wa1T(_9au~2H5GkMdYzoAujG4jyi(#=4M5)P7~aWtHB2DRFC)xfpP&FuD!@@(@e9Ckg;p zHznGO1ytNT4^ystVzn}Fg-iflIZ(IJNFA)O+Wrt70vc=Iw88&(V)gXni=|V<6sE!R z5sOv~G8PPFD?KNGjtnTDG;{*PH{Etz4z_zcyVd4OF5#%7ACW7982RwbLT+t&86|pALcfQ0%GC`S{ytLV`Rb_juX|BpmIN3|q79}*tVza_ZN{#F z`>`zJnNwOYv;jAGo+BBEee{z&w`NnXhAXH6LiBtJVkIz6$oN;lYIrg9RS~~^wEhv* z58{h+=L6)c27v;k?q0%1F=lt7Li4~CYO6th+f_lxXEfpOawSg-$ZyMK+kPY^55Z{Z zH5EdnHTU0iBE~O@qM*El5dF((=aUK)!*;&PDOB$}l(_^6oLZ`GVn#HkLD2wz-7V|L zeF)w$v-)~>NBLTEg?o#3iXZ#YwM%^~0RSdD^8riB=b#M&qWhy?^nN;Jt)1JrI?VZX zaD|p3YvzQE~V4dRztyCEyc&L`h9t<7#$U%v0Kzf(9phEU6ZD|}aFRG?HRH9!Bb<5Kc zi(os z=ev`#Kc?)wC?=M&@c@pF+vU$0%ZhmDfg*9B^Z>vra5KW zJD6`{Oy}zAPhbe9oEI+s{qx4kr8IxI+XJRDEe?wNkRkkkoP$I|OC^)8 z<9+>3U;rSw0Q(p#@I3Io$)z(FXR`)huVyxG%{)V*K0t?;BXX3~Zq57R?~TMXebS50 za=uODd(IR}?(Z|8>uZQ;zh)CldLj?vjW;9NVGWZ_!!G-}@i3aRo-_J}F4OYvC67-g z3kp&z1BMKTSalm^g?>|0P-B+L?IcD*38CyV`hl%>{Wsh5iW43osSKe)mr*%33o5bk zg6>3HzFu1#Pid3EjR)At9BB`zDH*Y9VGWVwA;{+a#Z&UsSjb)Ce`(Ais7Y`jOPAwE zh{A*yrQu54$X<`(_za`&Wg+gHxx>S@YS(;AsYCLe5>xiVvvLSr`{))d3Dn+D)2Ub_@wy&6cTkgA8$sZD`Adog}H%EC-SKN9Vj*Ay>yK`G%>5H!ih0ksz zC|)FYPj$IFUAyDxsW%6YI1QX<;>7%&|4CRqQ#Q7EvfCp|UTC)u>lwsD=%WpI!IU{k ze%3BtdWkQT%6wBlwgV_|H+=xK`F@UxJa)v+ffnrwR#3g@h6aTT@zNj)<7kB`cHodr zd8s7Qfq!@T3dA+q2rg~4UYiPE^VU;D9MmxZUu_Y|Mt5oeI_VYFD8T&krm)RzS;`XZ zK{;g^fkkM`lNuH%K0ay1ZQuHoU;P#n=j7IFn)hy!7Wr=J@4O!#`v6mT&esMLuou=< zqIw?xz8?pqx|~G!N{r+-_GHd>d4e`{dYoFWB`TmQv*;5cc`#HwrUba@xr;#%+Zd*W z_*LAs$Ttlva6zuwj30_^91^P$)|#DSLDUKTDqlpfpJ`%y2yHd?b#ub{3aBiecCI!p zUxG<=KhlfSWbTh^k;z1Oqg?G9=2_q)1A7MGrwpg<%u1|xjod`n4o+$1hk6mR+1ZhF zwAV`nb?hb$EL3;ydx(Xh2xsmu**^JeNG65lzf^03HY+XBogEg=483P0|)-)_NG#~8?z4J>0BKw8UjAG;fda7jhXS`o3(B zGCLruYFOa2SB{Z6&I5A{b6?9|3j5b)skTGx;6)ogULB*SF+QC7bs~ujEK{XZvoBz z#1P#9sS|CI#M#ud5!ajiubN=M(wgSCkvjHRI}#6D{Kb(38+XANOX*9I<84z4wz|ct zG$`f z;ZqZ7@4S7w3_~#%Dw0BF5g*HnM%{#>Y=}-3O8($+eLt`Qg4Y9D6}0(JdqJ4N;LO|* z006bs@eotZ;$^kaF>?qgwmpd-0+WO^Qg$r8@32jQwJ^k|)kiV&$fzl-N3YG^S*j-YhiX-hey)|F=v2?%eFx2|&?gW8RW{`F`v6WIn@ zTvmEol12aB3nnEk6I2*@bD3ieUJy-o-X}W}fT_>=w3%ps!s#d0gPvNBx?ZWnhu%Bf z`8gf&xAk&LKYtyxQ&H(_iP!UrG>npS! zSsV&kt*cOKOb?#;T|%>OKE%!Y9ZOO`Hf=J2>9Z)d6!?v_6mzbADu@tZ1OU-J(&Nj= zWpMOCXd6fzl<9B(4G43O!{xs`Jgcv+hUQQAyuwk;e?CX|13yn$fTXx zAL`02Z`MGm3Q+t#6H}j?*PCiqb~ied+l&_A5w-bYNJ`9XlsCPAmKK@^N1scN5W6G9 zLC|r&YR-=##P(OGqf<4Nz}sZccb>5AW=a?Ee|*ldATbJd3r zp%P3_lny(=iH^9OF8L?(XOg46Bb8t0qxA)nH%;Fkf8LAjU0u)^#yV>zA!+2VQiPWG zv@T4Re2Sm)0r3fMzx|ryZ zi)`9u@%SFP!R84MV3w{{uFc7t^Gg$J5)Tj>dE)jh>T&Z6fo=DH?aR|c$HZHB*ngSn zJs8TXHG4*!M{lQrF|KS7z|+hInN8Vpi0;ax;2!B~J<-yw zrLK)!W>FD^`)?TSnE8_3U(^)x!dapE_KZVc^c+1F1jeULnd>tmMnTKUm5XVymsabu%j0Z9_EPVIM=H*-TwnX@Y0s#e^>Ssz zuTk=L$9G;igj_ut%L;fYK>1T~RK}G%RG4Bc5ESA#h;<5|9QAU_yRkOVufJp2tvGJ> zW!$3=p3tfP&NvXmFnrQ_Y?-N4fOer>Ye(G*4!=5~2Ci6Xa z-eYer9~1Ye7_Fl%!3KzC7Oo7-m9y3c7JOdj?oU`b)Mh@=UoJh!iN>Yw*gpHa;mnVZ~u5)K0*=r_hGfxtNct!{V;PYSvTq`rr!f4 z+}KoLJ7Yq$qOVCn%DT7S5O~i{#V#2F^m;r2yn31$z_nBqD{y*lebLQSne>8cv$(jKHjpl%si^aA=a)f!!EN0(OBpdhFMd;i&Lc^h^VFqR zH{lfoZ6ne`-;NZ|IzRz`4Bne= zcn`u&`bcK*yw_a_NU6(QyqO|La#pN&=IDu@7hY}WvIqCJd2o>;Ys0yp!>s8%D9#Zt zi<^X)bG0PQzbt`MUt|sgBp(V`f*+GnM@tvZPalgGR(0`p%tETZmlu1M%cT{tSUE;v zxMZcL{>4}m^BXs~|Iy$L++T!V0_-@@3B{;<5iIdqw350Kzg(V_32Vgv2~W z@U%tVYm&G03WlJrt^8kj+`aEtn#|O$Cpf}TnXJ{5%_bHlKn@t4DXXElGQHb@bdTFG zGNUqJG0sC@6xrrWPPDT=Lx_5ft8eXcd1k`JW}|cMQg5-=VaP)xhHS0haW+Ek0i0?5 z`^xkEg4Paq)_RjnYVx{`wK>);qp$QHct^Djc<_qJ$?T|K_t zg{6?4CfS5&^^RGQUzP1qYpFw3Kll3z?L?-BBIl%f{Ls-GDxIBo>IGYynSHOxewJ2X z+y|A)$v?9bAXV8#0%kC>_1Wu~jDOhb+qDYf!x-*>mN8{WtQ9>?H@I4T$(!&Tp|C)F z4SVJ>Z0%0}J6Ic-Ki!Mo7+%K2ykP7EvD_9UaPdb407&Mv5}49rTIv&xx_hoNzCnXJIMQcjsA%o!LWtxGP z6mjhCRU!K?Vq$TQq{?$oo)ROEbXcp~aa^2%ly8!hvoWpgpMj{TVjDt2;C;ZUBz6YS&_^cZ z_WxfmvzGdz656c6mKQ-Cwo!>G)TYZ#qjNN( z3_j7)As;@r<-e!w-qot{gB&2{x8#N)X|C+fJtFx$R%6z3t-4BBn|X-4HBeUvevGlc zhbgtbrdF<{Y5GWszJl-Ue_waE`k9F>?3-a6beK*l zfAZRIvrM<~LZ@{$0PMhD)DX(j3V?jmbEB)8*|cR<|JdGu}_m!hVHz_qtf$z z(GzDB*YhhTkQ9xa%rj5NI85Ap@LsLQ`S9rj4HXJ-&df~+)M7dsY2QMRjp+4hCe3=Q zF$^o?d)16x-zll(fQ7-69-M+kZRg|buaGB}a>HkYwEoDQhhP(&F{~QTX82vH+Ap6D zuxXh<4T`SmGK|10O7)45d|22MJsl4Ej^15n98}|Z#==kFPq$XoEJv=_aNwq+>#^B7 z$Rbl?^~H(m`_#-(_%`IJJXiz-Ns;wx2YZ+Q$j3&N=bCkgz%!ko7EhbRae9)Tcl_`( ze)DUOt@8EDA9!Kbkjn?d-#gPPT0JmAoEfuOK)>q<&nSKf5ZTg%Sv~U=d})Qh#(ARt zwiBK<&^HA2KX1!Tj~wgNAKk}==ah-q_qiz>jLsqzru@jc8ip_e{4yxs-=_=nD@;7c zFdoIB_(Z%W<Aiw}(@p zO8CSV4eT*l^<%eG_C^^PfFg6QfQhL;jkY_(%P^eAga6nzYizv#+_Z0qCs6pVA`7Wpv{ts@qcdlq%l@&Q_jHa8_zx+o z@R9%{E}1#Bpki$){Xz4&;d(R6TOhRQW7m-~T=Z4Qb8;B?Oz%|FKq~Fsp7RO6d?iL4 zWKGyHjOZUDKLD3(XUFMl4%m5JUPt25fR6o>2Fci(CtYe6L{B45)?lCTwUIdRU#YLk{TLxYPsxhM2wN64WjEqDJ6C()G)K;~Z-#MY%i z?>(9Z07HS*yuV>79yfU{erW$!_sqAfA%{Uqw=JD#mtls~0a$+GJa~rJq}NWM9oFH{ z9r-5bNw9$B-{(q#;y#Mtw?}`1fnCIOW9WIUX+#vh1)`MT4+3R%r|RU!ms8@ztybR+ z9A-Ypr#k^uHSrBETBLF3ZMDaMFFOVkAS|8>QFz(tc9P0DB!Q-|2z@ivOArh_<9YXh zUYR{-iY$}H1i`}LrgQzmvA+AAg7lMgp?m^zk(0Wg);*Ei31cfMkq^8H?reV0)kBfk zgk-#MAhb*8;_tq5fMz#_Wsev?_BIb_pX)NIr<9*dbCD!In-g})C>0+$sh~sBqkOAh z6U&FWj$io(5Z=xRQj1R%=H3ozkQFAfja?~X1PR39mo&2z5J5j}d}Z|Z9!SL9z2vKE z5S2193wQypdf=8xlmJoB;jPer)D>>Z2T?R>d&r`UtawTGZ!$WmZX2rc;^t#D96}>| zfkmc1F3IctbE*Gkr$9erI>^otaqFSZy7+ zj)Us47H>^HZ}*1@k*cS}3p^Yl=DYI_wxm%1x`P;pW9S%+8sLzQds5d~^RaFn|2X5bs#y`InVh+@9Shv6^i+Ze&@l_cAOsk4$e5ZKw5mu z(o*{R1cu~XIVYgu^l(9OzmbCx;SU*~-gu_CW1^R@d36wb#|ieTrSb9VB!v-4V0m!W z4pUQvKwf_@J+e}GR(X^07Pq6w<3KB1Z1Ma5k0dRX{7FO<;}G1xPlow84Zs3G$9>t( zp0N#CDX7XWUr!1b%qUJ7vQ%+)sdY;|cvIIV0k8P;J&i)b9=1PrB>b12uujfCG-&Vp zkP)u{7}hh^0u}t~0FI4vJJfS%eRA{oyneJDhNV6<${c z$*U3oa_!zFD5!bfdNb4j-CAYn?M34^&byP%c2ezPN3NqVNdpak8VHdz1IX$$3hm1z zwi9${vnpqicp$sT9PNbvHaZ<2vAC9n=pVa#@7!( ztDe6S_vHCk1x{G^5D;fKZISt z;_Sp)kXgDV1+QXCjq=_78mnwFLk&QwhpHV_j_-4i&jgXr1kH#+h@ks29Qsxz=2c(N zY}V|8&-5~2!Unx$?J;dci!WNnqFu|0YHausFQa8Sy<@d%4zVhvO zMXfZ~qp;N#vyvaU_{~c;Mi?64%E3K-aLg-~Ra0&8zh$cpT`w^OZvHi=GL?i*jT_fg z_!neq_>Igpo*I7%bl)pCbKHsS7TAOnc&$s)sq7$njaExzDN5u+@!-AN1L_CGRK)R8 zHp%&MyDonEp%Z&aZz`D!k1&^*l_CE;c6jotiTv~1e7LTV(_ahaa&ySBKHqFVeP(^o zh4c!ki*)+CbTfCciNN+KX}+uV+xo``*EP12CM~6Jo4Sqf%c0Z%))eh#2Ru)zVKq`% zX?NwY<57B-w%=H%p|>^8$3q`4{83sZ@~;IU?}#uMaiyP%Z;+3~3frWVL}--ymwqT2 z*P4w>&YQ2yZ8SptJrRnDuQ+Z#SJrZKF%FO%e4!#JciLNpjh@x@plEw~}X|th6#}o)!poZx(t{=_c5| z@I4z4X{Eh~sq-Bkt@*ljFvikNC}18s*wiYjg$r7KZ_KH>1^Da~YA$ zy2Qconqi(LNT3a&59j`^y2fl8QU3IKux^S_?4pf5N$ooLbsPqLI7L%7V>;kxrPH3A zfPu$2gMpl4DOB z+JE!Lb`590b>@QO+UY}_4Bk4G)E6xQU*Rw@K-@l6fh=s<*zJ=-O=8p|mXs|Cxf3tNHvSiUD&Yk_kbtT!l81;L|5Cxqj6$ zAjxIK#x_=~C&;~q*w&>VR|od}iP0gm&Q3}!d{WNjoDr9946HCdlv*&oR&vfo=~slc zYrtoNyW1-SxU1i^a*VK%IFCC^_Qf|-)E>=YHj+0+VqxOY(46fnt{44ooTy&qOu(1z z$!S8lKvE8kv~H{OnG@?MH&Gx~Vh+(y(xm@9bFX-H9YJHImm2CcNQ^8Lf64+-vjLod}nWU-V5_UWHU&!BVz^f_2?Uh{>*0yLq9@D@)9nFD;2PyDnwaQ-(vKbGj z5pH@vUh-XXtRtRC;BR@*@Ol^v3A`vT z`%gbWFxooLEMb+NVOgJ2t{_{&HLOR}^?abqhlyM)Yq+-bXH>I4>LJHf>S|83}oM8J3J1?E{m;g_*=}rdyI8;!wsLkNI+g^tHqrtTR8X zFce^1L!fHfau2T0Vn({R^a_Lj+gA3k0t(E0BVQl@M{ov7C&lG^mlasXrufFvS8${D%F zaC75^B%O;XHiRt&m${6^CnP47wm6--^bgv*$K2(elZEo<*xl@3C{-$e4rkJl9}pCs z-wep)A6F7@@KwpSpN#{OeoA#*5$qM^A-zAYct@|-i;oj+A~9N&)Ha@TGqc`Ud`dyuE5=mVn6J2At8A}PR`t>OLqU&Q&U{9>;m91)Syw>b?(j2GFi<+uU4e-8 z%sa8teIA!QaDFa#iwlq)^^QQsU6_Op70)%lhbLc{@#z5gSa!Nq_YJfq(x&~i@swe^ z9o7xJQ(-fXgFYHl4ln8hLFO+p@Yc??16WWv(DJ25^Iw=V;t8vC{8&!xnPxWaIbFEt zsD1fRR0|I;N(Y>H2Pnf_Y4X#a6L)+VJ5ek9!==Q`Jh4}e&cPmLx=_snkul66>rE#_ zJMO<^1=7k`HvOq>011Dp*X`nIJs*2nnMs8!aJ;Y-df5Ulv(XYN9x!i^3lG2caufqO zpC+g;|-79Mi28e&A+s zn&`uB;(TONu?B?enKlrA{u~UL{hzyM?OKIX0Jp+>!gNKt@&5p-{T&0(Qq4eNUvLxm%By6A2(UP&bwE>R z!NH#WJz5(LS@j&_nN;Jfy-Bh|Mo;RQL=@h*C7a)-Qvu8;DOB?_5_NPXAYM$2osg#< zSF{b$r1Wh=*wG^ei4g11V0EjmC$&C)Q6^C1!P0ehhu84~LbgT2#AH6COM$(8K1#Z0 z%PVSgf?bgZ6J_lmUB~0HN37S;b7#zqgyvhOU)HAqz1W4F20AFsuP2N=G?V;IM*A*l zQ@J@%sz|tL2w^6d<4L`MC9l0*+@(iW@^VJmvnje}V{(>()mz^|ZjbnqNA12^9d@_2 z!6rnKRpWi^idjHno_+B&07__Z-p#rkE zl(%e#elw&m^4xXiyQ+3bhAE8^#j6UcD26~c8xrZS6fM{SxAL}2C-SDKu;Q3JRV16J z)ksVGGmMIN@?V5@UPNCFXd&0C45I1C&>WQ++F%U~VCS#|+K%26g_V+~-wB0JybD8S z&hp!>>4y;}6@Z9ct0xbKJT_rb_W#c4dOov;Q&e23jn?Orv*&9qq{0A)b4WTc zw!XqDdS9x;`18WeiZks{a!aD(=X>Lbx**&?n+$IweA!>@Cnz-2i!+5T-i@%lr$BT!vxp5=y>drEP>ejeA!SK7D%I>2e6*FO2g`RY$rNfmVw{*K zv!=sagUPl3IOoVm#0>0oX`7@gN3NN2Nz1Yg(O{0e)}9Gg;i1VMXs&?8IB#YZ;D>2) zl`Ehr6gtYC7PJKXaI`o%IBtMOr$Np!$Zew`^ zEX~JSb)qiK8gMaJ3AMC&8JpXnf+G^2K;AX}OL3`^kngqg5K`aF&P|5Of#vdmTVR`t zeqWPe&ctmFpnD8FR`U1){GEr_1;(4W7*c~eUmmXbPJfE+uyQ}*`J2#a=!f(;XU|Gm zyV^)AnSoeIRCrqJQ>1*W=36v`^LAUp>^H(>=qhmA5*?UJMiN+mY=CZvtf7nC(bdMN zn$c8vUN%i6?2uaN4nscG$pa)b;rkXK5k#75-e>oiY^RHuCU5=X=L+7cj^GPgGspM8 z%zlUHaBRK-52`vVU^brDqE}R7D+ljXSCla1mAsXLFak(`IUKC8;P$Ggae?VM-GuP; zw1dOrgG)v1>2XJ#I9=ef#f0Jo-MCZ-a?LPdl^~#uI0bb#=%O)|01L#j>w{2&XqIs8 zf-k0L>B6bZ-40R774Tj98=-7U{)TIrauY3yjZ-NjM!6KF)JnMgITgmeu2d@oMJYvA z%fGR3+U*XLX=sWFl^h^4UE0Zl+(3xw4Sa)*8w@lvSW7Dq^$&Oc8(->G{w)*ay*gpD zw9A*^Xg$S_NEcdy<4Q(=`Q@0CH^bKDPiF1ikQa^JbM=`(XvJvvn%fHjC!B+H8&la; z>8+8%1Sg?~(tn~8rwYx#-ED1^q{n^Asp2tx@f@p3^5kq+knxRA_4yfCp93GdVCBgz zdUjQ_q@eV7QoSmaDOQ@foq(N$4c#`vj}d5;QTQ{zqYhp(Z#)x;kg#YFautF=`M2Hg ziui#@CG@`m(w4=p-U+PvuH8?GCb__XXLbbfzq%8-KaaegY0~Y=pHFucjetO-? zjP-8H>^NGd40JGvJ&12&DOl3kH?Uh8Rz|er{<{&R{p?9NIgwGQkqiBIRJ`)sah$JF zTS%9^C9P_vwGO+eROEKgR$e$WE%b=1S7J>U%V$ni{5DKx?w8ogn&4rnHZ3MJH%!2@ zkduu8dSg0Sb{4t!+mMJX>7_o-1zLKPqv^D^vMdm9hkN>PR*VUQ2zZX^-w9fPKKw}H z$H#-|F7#~ra0z5-0N)^vNA*)IYi@QT2P7ygS!SCj)RAbz-rK;wS$Ao@6}V1n{CB8bP;b0AVrc3318#P{}${XE_K-n&%@fA{;UtybZ) zh(^Q9xcQwKKVpXd4H*AFHN@}`>!na7Q75JO$ePB5; zow<{P2oQgM{_7^{odyt-qd%VPKjx^@88=Le(T#X6v^CcY$SSbD(i0treqo5 zr#-~TT!!>5`#D`4jR_`*EScu4A0==v%YSzdl?m+tGoYzxdGz=^>Q84}ER9VBgvP?E zr1w6VPdGDzYBdZkU580%p68;*4f)d>k<2jOPi@P}e-NECRV?R((!eYUEBrCA6Rj|O`IWB9!GsAxYlgN%!7DAjx@K6 zWHPJ;f=-~O{VWjJpw4MN>~YK69A?1;@UTny>BYLEewG9KPHS|NCP zj6L*Uc4l)35C`Ox)a%O}QoRORdk_uQPO|`|XikB_*Kf@own*b{BJ~w5_#|eN?j`Ki z7f8v-r(C=vXs2tfwz*{rz*Nd;>*o0#!75soTwqmVSh%W1HuLsRp7V&__a|4IAxIyz z_>X!EHPvFm(Q;Vj-u2aPOIp#{1A39;-mq@_JFV~Yb18^6e>q2Ebx(24DBU1d!42L#=I6 zxcgkuSfp?e%d>tgM|v{$BwSt0!DGh(i0Ae{Q*T)qqo~=0>f44Ry_9tY7J1Jy9YlV; z-Ez(@MXaA8kAK%X4jtpR|4&4XJ{Bs5V>+xV_%rd4Jc)f`zi3EfJmvyf)PZHi_nKk6 z<$7UKWsH_B-sith)PuGC^K%XI_<$%v^44rPp$%D2Obf75&f^IJJ0Nrsi8IHYpU(tQ z73>eqp!P#OIE)n`udFF){Ft+kN$W8NOpHWmVQV086awS|%f2FGq>4~Zw?FlLKuCgG zLQ{cojUF;q0!Mxe40fN)TF6Bs+|@TPfF*{NE$Woc4`5C>BGgR)J3z$0OV9rFP@b-N z{(pI8%-}nJ#yl~7=)C-6y!AFh<*VJb5YPV9x?NPDlu0H#WKlkE7#y2VcaTCdf)7x6 z!$XB+VZFflV2ub;AZkKx_YV0yz9LGU|*KBlv5)8O5(ZbgZbh*~^jEFFd)Jx@|Go)WNQS><-D1K5xVM%}}vD zU(h~#M5B0)Q{ve4clft*NrpN8WHv4d@l* zPMc!dKSP71xk&rLm>_KSN6=E(@a3b0O4p6(oJr7qa6h?i1XFW%{DGH?g%lY(I=(2~ zM86I_MubQ_=!+n^QOuH&e5E?Kws9g_Y_?+e7bneWS96`GvNAbd<(8OF5V4kw%}`fW z{{u-gka;g&Io`Jj_zYfOXsZ(4SZl(*Q&&T zverj+6M&IFg$-!(!|8Et{3@bkbu%XBf`5;QzExFZ{C8rVw~SoPaju}9wXqfrTB3Zg z9Jyw6Pq}D$D-(O+!fo?dyf~zIjUzTd1#&$5!&rkQl1M`{@*J$M3hByy6N)!tT4PhJ z<>R$E26#V4VyHC zPw>iiAG8{-Wo>jA_hN0OIW)7Rcw^pIvil8q3LlRW{6dP$^_-xE8~bx1uumBpdxE?W zCc>yI`3_R9yb@kIh9M1bi zIH?NSw*Hz|z}QM-`?xI~0>ud;!3yL!vd5Q|*G}!x`vwOgdA=9+Ww&L0%9r;`7<^{44%6Y&3p@3o=c_z+KQvVCGj=odxNNw_4- zv;|Np?&17r;*I5aLLU(NuRd8eRL^{1Wra<>6bcU~Vp=jH>Vyq_lUCC`VifPp;PcW#38A5T@Y5)~CUPW+?-AMY54) zKgvPx%PcTv=vKuj-g&@UhX#^#mKb;5AYGi(pKBt8@yS$1h-yio!WV1_*vA_)Pk0-% zg}5_wtk7Y(KLi$li^UTT!GlSpWx^;jBEcm^vYNude08#-KCS_Jc5|zIBY3Htj9yy& z0;78YaEDEoz!m|E$MpE$I9@U=n@sU(Q-v%~X&1>99>bFw^wv<0mv6PU=~F<#xO4n* zH)6QlY{SL`JfNgCt~lHws@4g-8fTy%5|ebFLYX8uQYX(ubS?@*8;8!9Nb_oLlk4Tl zeHRN*2fCAO>lI8y@FD{aDuYAQ9TaR%p24P}7UYOWac>PR^)}zONC<2w0`vSbG0LFX z(rqr;7=5%z zWQlNxR?lW0{AIPcQ$1M^bj?S_X!zYvaEbiICp4u_gXpzp15o}^0EmEw?K?u)MIst! zwQO;M0KVx2tjyDn*EcW#zgpEDlrri@ZPN4XtB)P7UY(mW)UwrYWFFp`DkIr%(tTCq znX&uDBiU4xZ@Q`(g00X(Ao!GREy(REBiZDW4f#=!Qm{B-j6Y!ZI53ylvw=F^! z{No>zj?4IEdlRmV{s<>W25;yNj8ar*YTqYN!TooT{uYRkgzR>FH300-;IJryB-Vhyb=sl(|O98VwyOa#X-;yz(7TuX*QA_xw0E12yJF{ zOe@*G(Ngtp+f3@SrlBeLY~V1l_<=4VhdtSv@sXd`(yq(e3_zbn<2I&fpqheTf4E03 z>tJlw4hQgpX)gAB0f1%hN}VE!umeYnf~Goa*=#IW4E~{9!~<$zKtRKP zXC-fp02i#ar6qwQr!2K z(GX=#Z3xNI#@>U4r{1ybj#cTK;d-{BRS5meT#a~jYLQbmxp)@b@YUWsI0*0LH478>w9R7CC4a5&d;f!ldx7f zuub^-78KcL0UjlX6VxQ`F?4D5ePVv>b90_E?Kz_h$=4>!-l3x&OJW*7SLhiXR}v)f z3kkbAnq>6?1~HkLzv$Xs4}?X^$-7y+EdlA^Dv-@| zOye<}8=tFwqSYRIovv!lD04Sk=f;YlvcF{?AWrj6dUNtjHtF%k9LG0 zYos}j%`&@$ih} zdvS>R7X`Vxk(W9{++&JzSHWL-hR!R7;f9JXOSV4xU9DocFg66iAtt%qR6!xb$vGwQvHmfVK zIbOyNdvz9uDOdN3fyjEx%E*~odE7V?F1xcC4Ny4!{kq3BU#jH1cXOBhd*|n0n2T50oX~svwZm++Mbt10{3_#Fi*kV2@g3`DrVmQXuc^HrY#S3?WWy`TttD1 z=_Z2|x+|mI+#s+R@9&zRvhsWjy$j0>7cM%=KoOg3tyLR2#W+y5&Z;EfQ*Q>S?i~mG zEi|urj+O&Py6Ug-EQ&H}>vMM8#S2VSkeH>t3S^q%|Lf$qO(9qutb^bG|gay6y$BDE%qrDLZvM1N*W z{Gi0F9K}BuUyyGc;NpTR6xVxH=23d`1G!O61XPOXE(cHQ1}yNNoBM*L4;im*7cQ*; zerejtSodosTWe9|$x!ga;M1MD8>dYg#7kj9B^en*e(RLCHG-`W83l-dXrpq7WL6|& z-smJ5(eAglIKrj=QO{z#=^W$q=GlLHW2%Mbv|JKFTaDM5EWi-Ev&P_1U-XE_DjIBr zZ#cb+ibXKVF%#dKBX4~c0PAxt%+$!m-tUFPK}@6R)=px5X#BlY&P15>xoZn@Ml&B= zQ&0BFa1Zc0VSazNA5ts)>`PoNW1ROO6YJX&G_JSO9?rBHYnw-6BL&8SgNLd?+&Pdn z1I1>vMw+Os8>8{nRvx+lX$%+>eShT9t6&i*);8Id@~4P8vCZv>w?mxoudD*fUB&i@ z9_<$-x0({mj1GtRdQ@J}tU3Bm%&UjC8xRL#WeFn~@SdCOJil5^%SeR2+oFQd^9?3c zACVFq+VId<4Cy;#iB?;_d-bu;s3syQ^E-)%NRuz{k8>_yQ&#N#&iIAZuKuBoq#wNyeU~7+`v=urY`huC_hN3Hnsr3q?56yH9z=?35WzIApq&kz!sGIN|NvSgU?`kN+9tPL1KhfdBNWk+73%mt6~WASh-bPYdHy$ zSI3W}`42Dus)e32;{x%}161t6Ne?=*Fpx04+6L41{cN@$7q4ez7G|8}~pY^In(q@9O`uInfbQ z;>OUc0tt_wQWN-(44__JXt9={`|xgFBb&P$eZc22fVv)AmxjL2g!ywcjeNkeRLq0? zqt9AIJrxWk0hMy|`>sCt(1rqZL)@fgz-j%w7?` zAJ|fJ%rC*xqDiKc3g39l23dqMVR>Du7UK~};p66#kjS&9K(D%Z+t@5T19FgmmsZ z3yb%Nke@GtDB&F*N_TL(Ts+05;`<4Q@EcPAUdsjDpUY?EL`Tq5T8OGu8^2R>TJ8oi z0|W-5kdxA&Zg-{KK3{p&1Hw@`Sd2NR=}n(icHiBNQqTg{tR6~T8_}G)9}i}R@K78wdJ(m5&u{ z-5Hp(1r>Psfp4GbTHmVp^+6Dhn^*G;%0BIbGEb;?gi+knBWa3+$rvugs=**v>HIlx zO*Txf3MD?Xvq-t>pPQGyGuD-;nCmvYnjJgP28m`{VUZ#OjWQ^a(Jf!WEQ{F%{;@l; z%8ev^)4IpwGT7SWU8+0PbHR9qN@u7YOf(rA4}V8Y4co@rp9%wW`WF!Qt>aIO+XB)` zkxrC=Y^Y$xbkyBcDA8f$4wDGx;VKBXzAr!4G}XP%SjhfhWlt2xqm8VeVn5B=41zDIvS|hyACjOi`j09@k?K9^2!rWs! zk@45nQ$*WWp(bbH5IjZ|6$9JNlRCsv>U+Jz~h` zBOK9&xBf@EtW~`H?h+IKA>JP+fl9VfsDuO+s|-XGjHl42cfp#Zjn2zx#$U0{mFPej z5mN{T<49RzLeV&uG&teDY)5But8D}$UajFSrcT~rHm5r;C$9vD)n$1o4OV?OI{BZ&mr&Ram$ zCf~m?Tsxd7tcn&jy$xkaCfl*n-x_c8$dac9=KfGcuqRRq(I9xOBR3XU&)JS|Rb9Lh z9Y2xXqWhQ*b!@CnLPAkS zn>|9rNVqJlMeQ+r26f(OMWE0iS2A)X+#aR%ti?(Uk3XjRW0tmiPrCc3o)*?{#$7}L zR(~Pa+sU@EQKBoA^{K>aOQ#i%PTwJ!^v>tsTou4j7$VR2^d$|8g6@Th;ZXhKoLyyz z62hY!IKNj33Im2eU}*#4i^l)f928O&!JB9AD_suMd}>Vcb{EK+v1bLdcWa_;^r#)R z5jv|lC~Xv0GFO#A6-tdv3_obX*Zvx^t}WZA%S0|%)Li)`a5n`c39Yko*UKgDb9N(@ zpo8@|8p;^Y(W4h;mWX|@>TFM&wN<6&iHOM~C112~TAJu@xuPCI{j+sxU4X@tQgw#P z!LdN!Xfin{00M;cFC>en*f^VxG`7=YH&3rP zc|&U5Qe@NlvnR-0D-koTICpjQXWMzBPFsw`Y+FL=q5DG6GS>r^>-Kb3M7wzsJ3Vp< z@1!@>*27kca@{=N(KCi4Pq{ybabbuu~A=DxrEEd!gii=eeWL@{ffCrOL zU05SU0FlpvnZ<<)90tpz6^%cYP6o4=#(~r$PKrEGSQc35fDTj2YOLVNg; z@dJ$=`VXfV>yKhr_TsI)F%AO$`7gEr=QdM5b&CUA&g=&8PhX+-*dkY!3gIkpTQCAO zBI|Q5R(+OTqMeyl{flIIt#DZoTUEc+sVRK0!Py5sEo}wXSXA4LW829scxe8NTQNp9 z)S<-NcQX~c{&GkTW7yAhof1f#UOptl1Nx&kP7--GwqLw@;)|y$^Pg12Y=Ua^{^#LD zG`Z^-{DeLzJu!33`DO5hSNPZY>9I$T`l(egK{&O{Bf;L6 z{u?No_X?i}VE7_n+io{+?p42oA3su{Ak`lPEpXV`WwV)wH2*k7M|qx~xn0@%jhc`5 zjI%%O`p`;z7&3&$h<@fFZ8_)a>asZ1l3M(`{9S>2&$9nOvRj#Rgr5MNhz{8iywd@A z->{sRf$g`WZBD;1-GN*fJO9v6k8iAha%wtqubYqj)yr&6M>xomcC`{laruE!cRZil9L@v>T4ZP%^aRr>3m@kjJWYKloFshXOQk;2y>fDI7VAa!V77RptboT_Ge@7Cm^ z4S`ffqUFSj`=!D8y6`XF`fPVEwGHjppV z_}#kI=fzH*^2ycdC) zFh#|`h=wwQbWOm7Lf~WgYda^yxY_5oysRYFKz?M(Q@$XhKF^FX z>Z;S(bhcCS#(5)o5DQO_VceF1+ejWx4V#ATzPRW!o}lX28wmb@eIVgLXd6`q$fP4B z|9=pt(nWC3;t&Lgj~#Av7)Ixz2AZj`=mdW^qDNj}MlNv(Ofg0@{TCxw^8EKq~=box0Cj}>40+~g(El@kQvzp|u%PM?}R^dA7YroN+ zvsiD9s^AYCO0(~qVV)yG1W=k;cZo<$oDyLE+tp1 z+K9+}W23FrdLysI*_A?Hpj{9r9Y%*sJI&S)CxsdG49GR%6f&2!Q8YA|d(!1^_?wN3 zCk2`W_L1p*rd4U^3RFhe4@q+7?95>5iW_omGwfnlMRTu`vl?OEJd=xLmeZ zRKNixQ$b;QkwVu80$j~9JnAT8mr2q#GI+wXEbiDn z$hv7xjfx&0~;zus^g3;Ij*@% z^UL)5*eduZ4AY$a75G(IvPP%RdOY+KOanG4lzzUVeOe&~wq}P(tlBB4?^N|;jvk1m zTYGa(xN}RKuA^1?m7_OzJkx=3U+5Ev34ntt50N2ZL8(O{D>l;)EX`Vk$fJ3snQ%yK z93Ub!h{)@&1x3iQ6pO6N+7B;V{%k=8Bz#?C0~gRCB&ran)e;1hX;qGQ@@J5AR5McCH2Q1~+M)UiF{o%M`POMF52A?tB`Xp#k)^v5 zj#lD`tw=p%n(=tk3sFbyAbiVo3|Kj*#WlE}Sh%U4}Vlo3~`$;o7PnwHK%v6J|k2 z`ARt^<@tJMSeJPI=+gl|OvJhDjAdla{b=?88VovBI8VgycpN&_keR!#Kb;$tZ)TM2 zE(#Mjhj`*LvcXDCB{tC%(^t!hS(;^|o;k`%UQ>u$xmgRcDc@ME--e3IA1GjnaX2wp({`(R|=Q#Yeu0o08Lsn$CUo^;X2IS5;Wn%-YMzqGcx?Z`_ni zJu#gb+M7@THD}qXIS^T6ZVOF>oGeqoM^6S;fHUlBAN{S;wr|W|9SqJ}oRavwlty~3 zN6I2@#6Ts}Zuy#5+FRlpAlKNbXgRbjhRZ`z=;~Fyl|eV_&AEaQpCtCN<7y+uc46Nq z`y9pXz`-PiH%T^`iTp?FG&Yn41~PE)pRWPExr5y83PVx$J9EX;qu2=@@1X?n-@@Ywe!&~b!H_xkMHGP zyk-6P*OxguI;UU_^3Us5zu|FkbL#T=ToGbJ95ePJG(DKpX~$8P9~4vg#&?S)Q<%*A z;Ndv?&otNKJr^KV@j5-XzB1__UgVo>W-~0ajXt@6{egNm4-S3`H=JR%uh}X_?xZLkM zWh}T#5Q#)pmDcd!2Ty$wXEXv+w$P#aq7XtJzM~3YRDH9(5auBQTAJ295%=%TsL_;8 zg9vWjavYNeI5aRgMEKi!x&_>|$L+&rxeot{o`$A~#8w3z{3=sp@9$k>vzW91Cm=Eo z8ybk2OjE!Ht0>Ch^z!%s)Q#)83dy;R+F$;ZEn$Y?J;9|cZ`oRPyO_RG z2H{zU^HJBCB0O)w#V zLK2TKKyQ&96KY4dXd!#)2M&cmnZgAy(s|B6@C~ZeOG&G6Dho=gux&J~tDOtEIR0tu zsdqs4+2p}K6;AN6$&V36!jNGM6p1UZQk#1; zA3D_F=WYP9McfUw>~{mh8yQHTjwq+ca#j8MCCNFb2q+rttT4GE695hw|JDXO?F(h3|3 zMZ!B8rOOFhm9$PG39^*r051(KmNZ=%urxj>us~8&T>(&_tZwJ&!Q?=c6T$WEla(Oa zHkS-j#ZNRDX(F^sj1Qk*>3Hy zQWAhS)aOw1;}#t&bR&R%eB%Xo?&h?SXr-1w&p6iV*60xVDL48;lXBFsF#t}mCLLYK z$1ps`Nx%UWYKc_RHtA^`w;p_t4WQL{g+Kv~c1_V%_*o^BHWpmTTse0y&s!|-TC`br|jGQJDSV;X_ zl|N8U)7b6PsO(2ImiVxjIA^cGchrLOy&n15_KBjaycqsgbE{TEsr1OAPCzV_>S@}q zK8>j{uk<*3Sa|tke(R9XzjBnlhoNBsx`YV zO8{RjcRfj2VLLHD%|LJw4noMYkP&TZ=;*CD5PU_van}^R@_r$xNq0j+oD&%LlrXwc z9D=6~6mJ0re{o2y(y4@Y(h^8kR7wmg10o8o#gU6W)0#h**Dw=4h|=duhe1fxz!BHBHtxk>+ycR>Ylxmtpls7Cw0&+iq$!|zD?V9K-aqH=G5`v=fZL9FLUPrHoGPq& z1g}-Sxm(?_=OrXmt0iYj%M=+`2lExlzDa@OtW~s=mTzeN*-_1od7FGj1mu7obcXhf z3btWUGV@l(kBMLQX|D>KF;h|l`Zxa-7^<4o|h4Wg4l?ws01^1%A1?pbh4TKohmTHA-*IjRLuL) zm}ovAr=42yA<)@}22%}-nb3ZooKh*0QM6{5PVy3&0^h0~f8WHqeK|AtW=$PoZnBrt zlcE>RY`jcEYR{+X5G~Z9983ia8X2r*aIu`$S0>dhQ?I!-yjTiv%C*!ae$VL)er{hTXys7QIDNhGzKy;5ZhrA-w`W*3c z*}`Rb^h6Nh)Hu#Do|*NS)&>poqO@B#qZrZ%86yc0B)sz5pZey& zj&Fla_KNPe?v>W8<|K~s^ye-4WhlK1MDP((x^2G0l0~5KG}iWn-PMMjojKxp)&QS1 z;eoBLI#puZEmR)Ov5`j4<`9__LuBqhS?JjpcyS3v*sZc!xq@AmMpR-)kzI`MhIk|! z@c&E}ecUC%V=^WPwQf1LSLCBaxseAxRAaV72)veamq2#s%L^C4h@zU>j(3zal1&*k zjM+mpEAlhy&30sDKwO&XqpyIje}0aAMw6K^N-tskVX_;p=)`C3;zj`b&|~H1EkMuB!IJZwXOFJ7 zObqQgOx6+UB(VKM4^25J)Mo>hC~!Mu%C6U05JdG$iL;qx1M90%qkBP{`z})Uc*8Sz#l_~}iUy%`zP%xoQ z_{?`{>+WH5pGlZ|EfXV(KQU5#S0n+}Gv_(9^B)`uM zuEs1Qm{bVNT!q)&>|{nMUY8jwBB$mGC;d$zMIw{Jm92*Is_p80kosZgj^SRRRLNSM z4W|eAP4*0C{8 z6U8v3`~E}9%$foHo~|rgYo3ns72B!J$gjcs>{0AOp&$}Svj~WSuClXfWp&_D$1bFt(JxN)PK)Im1=OK?|xj6H=4Eqe}2`$(1FUT0$x`&{{IKX<;sD3aS|VsY}B=2ylq|qx7+zUL7WJNQc!{H4b(%;-r(f{xINsF;m53 zris1bY+x&T)mgYONPHJHy1%o?;r$}w+l=VLNZC<;mQxYEADFRer)5}h;#HDMg#gTW zx)CyLp6ml~z&XK?*e~al@o61TA<58Fe(i*}ldGTCt?e!Q?CPUdvsf=5z&qqGoFtO{ zEZmMnyv%VO@T}9d-d(ah)8W$sLa&GFsoiYgmCJ~*o!mE`d&U~6VaVKP{L9`nlLKKkCDC*U7p2Mcd7eh~Poh1${8_W3TRAbIt$DY} z>(YTTW7??aeoqoDhS>j`Hd;do&khOOam&EBvW1*goot1T#%*(|bv>IYo`_JHXh+M<5|w56ox4-^68rpueej0r&3OCzO{Q^)8RGv)On z>~FO~M_@FKe+x|wHX?d*3#NuyqWZ3A7wI>kB!C+$6Hsaq=-ESS?@uua^Y8z@Vd zJhT}{j=PN=Y18GfOXK6`E z&cdpn%*Uy2hxC}pE^&f*CqDN=o7weMezj|aZg-tvHx<{&W(|*Q&L&pqwUvJ?)Xcjs zE;*{a@d@U;vas)%!fh8u0Cpo`PZ0YDH@bnvJF^d-T2l_EZzV}cTiL4=!S*p4QLR52 z8F#9C1KrW<={;-L!CAhCP1pGok5huX$b8D>ndcu@vm)RcoAmi>xf_FSrXo(WT<^@Y z!%mY2fm7>M?&YKyaC#rD{4E8>IqMqjp&)3kkW@jHxy3KxxhEjwZ>`iz1Avr;Bp-$j z=R2ClZ{XA9@0n@>xhpLiZ)SpVuIX--;am5oYoukvMX(o7K_pwd$ST=Y!6sa-dPig6 z27>yj8$^c&5YOtZ_NO&bkMNXBt14J#HD%W{vgnLn8m;1i>j2ddF!{8wP9LEzUE6Yq z(DUvy7=x&|8?MsqPtt`cP>EQwB!^rf7t&~ZLSEds?H4bc`e_Xs)ua*G; z_Ln#$75%(XR1TS-`;lNyU@CUw&>p`gfkg|T3MQXCew((n23ol{NwVtPG$!h{N-GwI zO^5WLgmsvNN^C5wNbo6NTS9|L3y`pd&`MPX$80eoY%ckQmN3w89|0b^qcR-{0uPF{ zjc&{uQB<-_9=}1|YEmiz#$z|tn(r)^Ka@-63kB5rNA`-bTk0~a2Q(`Ns&aUQor#8@ zgr|-FP56BERz4;2!AmD{*hMob$zay&H-RmX}0&`0~nhcrHZpxO)ns| zRgb)gic3fJ`=qf)eB9c*wT$l^X(vMZa1VKQ*nh>Zr>5lXz5|ClK^UwC~ry#ItD}*RD}N z!Lbn*@*#3RF`uyJgrO9ME=oOwm2Ovy5$-QSEQ8018;gFJC2O2@2)oYr^Hb1#1v_Hp z$#L(Yig)$LE;$6k?ACe12xXYUdkHfVt$C}P)yO`BBYX;!h(5vGxv9sQuZa-^{zmy_ zhDU^QIU9B>52(4zJlWR4x_9yU++n}y8^F9M&4N3Xjs**?Sc?(~f5eaTD%0m5T99qv z^BZpjjLo<{34U1Z7vS%q+5J4DOERP@+!9}c$!q>oT%CpOC<}xPqwug89mTKKhFJ-L zR^@HZ>rNr48YCEv_H={oQTnrux}M-={iwFd|EjPbUh_UF>D9pgPOA+t!vvRv)6z~&_Cj@B|}CP57wdi zD>JqN(~C`heRGoe)Mf3Ru7cv-99s*J5Pvke zL6xuuuB#FJXqaS5%jdNbDmO_ewL$x^c8YhkMDEa{#bc}2B?Y`n{NGQ=uN4u`%_`v& zbjQRU!4h#30I^EbY9)XcZ!P-=aYG`+>(h`;quxNa6# z?=5*R>I*yv7#5Jbmi>W{isT-cS5h9f$N;%lHM27%C^Ozgu)h{t6Gv|R#G*^lGxn~L zPK`bT=Tc#N6x~gpR$vKngdU8mR=TN<$)a{~93yqx>k!ZdT|0gNmEOKKT6}y?pbi6G zp2;1ty}`9s-_E~2Z)jXG;-t_MmF5aL;eK(#(W9_l)K^A85kjO8jLjy%7Qem@-Hv4{ zg#7OhBw)1yglT|(7OREaka$t;ey#Hjj6w8HMes;jX+4g7XJw8qU+lw$Ts`4B+)sct zU?DKeX+T_Q7#s_wc|pI#?Ri&KU*X1(_D>h&;rc~0dyefL)s!p zD)#GI_#Cjqr^s6D`isk@X2`0x>A)W++#Co;h!&RCtPG3U9;jtFv+;~KDq@Xo8MXWN zUzT%Wwj_?Sco~6ul3+ps^OAW(9%MmisP8k^I54%=nSBO|V}fc6+?69LQ~VGFAQb6< zY?K47aZz9~5Nc^jO*h(!MSTGp3>u-i?QZ=9QfY7LUk<2jml6Bz-MOyA!X6NTfU^Uc zs;KH+4-^~{>cG&Q6+11^tHRuWROG;Wm!aRkDco*cl0)d)BkDK=yoEt6mUExzFO!=j zOIH(>y#1ok->wxn;DY-vHh@^aDQ4Yo_X)rD29xR8gy3dU)(3sY`c#4@#11~V*@N!M zDzaP&=d+P5b4MEDpZCs+APzR+bIy$;z-8G{+nf~A)F>e^#3sd+^+zbS=hoG~J%+rf z!(Gfkfa*IWmId^Z=bZDtZm&{mFC5#5G+&mo^HBwB?R=v64behMIJ^^x9%*3_Dkh?; z-7VTJH{K3K--PpPkoHGntW zt2du^tYd;^B>F*;+8W%*d$nsR(ELEpeg{Pp2X#op{R;%SSX-~>JSv}ug^?b@yH zOV@twDwuP>&h>D2hNoes$P0N#fIP$v!C zFrA7Sx~|ZrrCYZltfx3@R^uUEBa2=kQC-6Z!*cBM+^whzG!l*3@`t$*v_-^9%!&N@ z5su6NGeFG07WLk22hsErEjiq^hCNxEsQd4BACw^7;=VtHipu|9%!Ekyr_p&AymUD$g;AdhM&tBDsPLBE5Lme9% zQ%!89b}sy2Mko^Qg^P$QAT8e!tsdKsQdF>VhI;Y%&s`OG?t z)RA<~Hd+M8^>O>Bxn4fnk>`f;Jrr49B^&dcyRcU%15pWh*|&RYjip7Wb-Ss%4v{my zgQ!JgoUI{(yvHsJivfr6(~zCEYr;ffkM1cDM1X{t8p@zlmCYTnh-@4cm+v~?`U@$G zmTBQokMVQ4tw5yIPT^hP7*Stjnw~LwLP|JG-UyYXwvRKE{Vi3@&S9aggfq9LoiisX zw~lH4uyDWwbaUwh^wPJMN!qT-0SAY?Y_#Q&X4Hrp)ta*Y_tmvj`TYFFnCz|FTAAoa z+IGB2cyH%C3B_mBUDb?>-$D@K1=Fe}&Q;6p?aPdHzaFj>Gp4E*IYrJRjHJl3LOJIT zHXq?6>Vv}4Lud~_7Y_x=>73q1l*B<=7YSqRBbrm?#n?DTzLaG$BB@kJ#Kaej6MP#A zaI(7%x@eKLdYal8GRbM3L%7i8`!SC2al9*4wv8q@SErQ(|u0`H(T3#_8HYytPOb!CsQsY}!)u z!hwd?pV=vj)Y#Tt4-F`DdTNXzSnHXKn@%d36v|BjEER_0aOcBpAy3_ z$r9?BcaU%@R@?-og^6qJ7M%8=2fGvTS?*6N#Ddpg5TVuRs3WfawCD3`zmdHjZ>2$x z!wqAmWvapk`4`vI4^wRf1lfR9`plv!CCdz=63mF6JZj~TxZ|9Mmnl@5EORi(sFXWf zaAcOrJ!QB%Z1i6{JY5?D)8a~!noH+hFfF|$;~@9l zH|yj48o(~U87NyD!7Q4vv}^l1fT)E4BHSO9!%vtT@SAL7_55-MfnJD@sFHl)m6l#( z?V*U0hCa7SVG#GItm^{dV$e;n1ZU>ydIlcYDsg=((buJ5As9evPtopwko$d+2 zG0$!zekK1?eae>jsP4$-_7hzMS0;B#l|h|P>zqcM`wBis*q<*8 z-Zx*LDKdPJ^(PeUTicFltHSPUo?tnRuL^_x8fc_K z4;h2C6-z=_h?EEo>D!`18W=DYxKDZaWSR77a*B2tF3pVKM_qM`%e)V@_$pv-s1K_y z{lViu)6{3LsGqa`k(%rF&Y^b(b3zpeH4s9)Xfh4mKp^M|Fum|FFy(Y?p22?3ojcgqIf*-+=9t|Us zhUrda`y?iF7ZOl+n+?-#(LuGw@OH=PpslH~K-6d7*jsZR11QAe0%KispltwsLp^POJka%khu=SSk-jhk<(@i%a znu*%T*aA9-LHpys8_4Oqe7C9{(x4r2p!7ub4u%>4LNOUB@bi&O%N^H-%d6qzZ*}%>f zj=GXfiLH?Lx{u2{ra!D`fTjb=gny>qwPQe^CcloepiHoa6f(c>pXzx)wzcybB^ zHRJp(t@K(}ZD>Nc&7e!vO)`C2`y71U@|4rNhh^NPrR{R0ogyG&&zxzd>YCo#42v`an0>FTFer(=ll2}n|L?SKK zy0K2H4F+U=aG2pjM{K7jul3~XPl<*h+qq=o`g`3et5ok^DE^;{}* zvpF@nla&Iz41hah-`ud;)TwD1-JmVkMv&KwI z`p3DVkljVz(>k<9b@80C=SAx_jC!dS2Q8^j1bt?J11Z`sy3u}d<4_8k-7yni4psy^ zIn0(DQ5k_l0J~5|pTSc`i}pZ7!Q&KHPOu^H|8PAP6zUc+2FP?7@WU(Dzy!`4x?uu?0 z$Hj}&yHH3OKxzFFq#1-Rpe=+grA_GtEp@#Ottup7!`|C;oT@)Svze160$`b7kG7Y< zRAlGf6*-ITE*t}&IUWxl&#C!}Q+kQm{CGI{W+n?WtZ4T-l{Tx`FjGsQ7e$A45-AMJ zMj95U#R1om*3oH|t_Ac z)xPk$I?bFm_e80&x4SXkU^+T2%Qa;koE^jJQn#B#3apEPqj04wNwwT|y>XefX|4UE_shElqwldz<9f#S&g_wU}c#)_|-e#j7nV{oV!GTJuujT`yt+sr`ueZ)^W^SY<;hf zph(+rQ5+?4I#b%jOHTcU(dqXk^GJv0r$XtgoIrh!AcH-k91vT~_#KJFeJ;79vMa$q|5A|ME zZ?G(^#(6Z`cK7}vR)IBqWRQR^?;iGOzB+Ix}b@*H9w7?%q0ng8+G8~d(m7NE(-raI;le)6RO zu&e=x!ML57WP?tuhzeU-jF%7jzMs^G=1ZF8oM&)0M0cM!Ww3u_yYvY29sCb1jm-8f zrQEv!j^L2d)1-A+!R)$^H03}o;7}8B&e}J#*pzB)?h^km*wRRkYxk ztfVyM?{kTLHbk?X8%K24A9?iIL~koDqEIa9oTU%eSX$w&DGZeUAy3YTPDp z)=zrW8dUjLH_7SBpAbW%U*=^GM&?N%a5zYL4GmhG9O~5mn zoy_A3-Km3}t%NkTo6k;kK@PTCc8G7{+7BpUtKTTqP>#=xxmh6T?p3i{{4qBlDRXeT zaKMbNSRpI{+h8@TcU24PU#?~$Gl0K2>I6u>+ndfMsVne6qAl>RPU-u+Cv38-L`l4# z8(&js*Uvec=#hKzJO*!oAtO(uWEPkfJNx8oz-W$a^vI;SiU#O&214JBQE_E!flm z_2HufHc;856VX=S)X~P1hnr7B{(eQt%mh^{1XS1eXMPCB+Z z23Hzalg`l|xGi&744_1J{Yrc(eCm9p&H+j+SQ-IUqQBZ#VhKC@y^x^`$|bXF9orp85$ zV29|&KR8?3)Unk{X&6BzFpBb8K3K>4uFN(BGameV;hTn#mkf7wz1Ur+%iT-4XD!EA zOB(3H1b~(p?60w!Aml;7>^c0$y4n!dq&1kRiPQZchd6*(!A2fcf?tU?tXSn7)(k39 zK^NALp@b}|^m$R#(DG*Erci%l{w^kffuEG5gV|)H`qk5)Z(2{8l^0w#e3h#_i~Te* zSYf|9dL{`yJ>x@M(|QbFxURPGeX{G}JGjDO&kz&8B@Z$sWFk9NEgt&rLZBuLw|~0+ zx$$7uS2>@*4&Inl8#7;Q+>qTHlq_FZ2@@U$J^5`wH`&pu zT;%#eOzVaUsz@Fk+s#MWfTV#l@WttWV9v!93+WJgnJ#jrv@X=4UL_71B#dE7MqF71 zsSGDpL2$x_OzBQM`x_%9@a_`42UyKz4m<6*GOqPNaA+3t8YLn=0jC9L4EKj;)JG_p zHZo3$4o3}tzZ73*cl(vHf}(1~F6GsMVu+F-%rLm;sJ2gvM+tM67$xI_P{I4J!vedh z!c_uSy^tc1g3KED6uA7kyY*shHR$%SkM%!8+{{QaEz4Gua&$N9d_|n)^>P{Fmn87z zuSrhpre{*_$U*Yc479bQf?Qj90PyE1rBQCSsw@S;KHqSWX%-}@YLBH&&SgZ0$7XLR zT`MdSs_e)s?lk9u{f}Z^Im-Csf%@>6@DCH7qb`OLvocEL%BK3dkZOyXtdTpW;+W_H zZ+$!``hPd}DvuR(wK5^|__Ph{mCj4llODM`R2L*?foWu?04$u1y^ zJ2L4{DGs5#5x5npkGYOK%2Jm)l4%+Q+3C$28Nb1I9wll3i(?=F^GIn2I@Wq4f{eXJ zClN;I_jc67(HsWq>+d(mWUUVkbHV>WwRMm#eluI~V8u(+j7E)v(;JHk zDCHRL+K8M$5v#a4Y%iY~PgpX{LCxV7rHkZbF7Ek z6o3+eDORE_Cav>H+RI<7gHOCe=?Y)YhP!n_#RN%_bWKGB2{oQBw^V}0PrWK*n?Pi5 zr|2JI1DhJwt8YaRGsY0vB7w*~4f)KR@$BlGVq{D?<(z4nS3S$#PyZ|l%^=+SY)9Ze zKFgA>b(cyiF>5372j??SiS8+(zkv=K2S7IigjJJihU1CvoItu*9&UA3+9wDM+TH~6 z+wJfHoP=^to-r%WVV!H2srERgK~GdUoh?dba&X-574CfrU*SeA?c)LezC@!Nr7`R4 z<@K_miHUY(mUc%rG)nT;j~l$6`A=#TN#Hty&K2*+Xc8t5P|jY)TJn;+Nl<2pY4@*C zm-jDI%3B)dqVH|zlw*vRP>jE> z^4*7#0ZV)P64c9TSZI3Fi1cpmN0dCZzD7-&1&d?4$A@O2prvSuJhzg*ufVRo~N8pt!C0;zqaua~2VznO8tuZH3eyAJT>XSR5LVFODJiLAC_5mf5JGQxHLC>7YvrFmtH3))a$_6R*%DZGrEyi9PMV`yBJoiMjrEg0Fh*k6N#<^?m0sbzwu8@7P6^>2#~9&p^C$Y^H) z0tI)#07dY%ymyNGqO3$~$}NPc)_2Qi5cFEdsb1P8mkxV)vkAXzwZiAKM&y$b;FBf_ z5#}=`%#heASAff+dSxAFU0V7lEieo(HbG1RgE7*KgF4$vYt06X5zTco_Q*q4|I>4KPB<605+UK@-v>^8N#Wm@mCBO{D^+p5dL z4`po^qm{xmevq8A#_fnUX*fF*_YlYwjnFG(b7enYL3Cxd8|n(E9i7e0>*a!)yWx=` zx*Mx(%AKsH$v6h9#^0K~CJbTje|JhVzLhz~M&j{0yVfH?mudE`%y$P8g%Axl{tw?O z>I`&W>%Y^Ru{y){LUMx5^Q}H?dca|TP8ian(5a(~EK%)|T*A=(;RIZ3rqaw?iIaa} zfHH)DGfC)Z@C-DK*?WHFbA)BNsl|>n9Dq&nlARgUjuD6ij9A>=`m!+e9t{(hno1o- zAR0Zidb^KIf@G;lC;k%)&eUC`O6`pM-6?t`!w`5;PwPL`_}|HTH;gn83+TF-!?``d z4!)9oOO&B|XP`KlYWh9adW<8jM{T&EPZC|Z4)ep6y#`yz;MLN zRPM12x_{*7b|Xhk>RIY>0_NhNAtCMDXA)s_@6H=GTOhi#wf^6?OJ%4IT<)lf0 zF)czxn1=ND5EmXQKa|SQxrm=`KqS^FF6eqB-(tR)=UsOn3se<`c}IlEbM!>d}?)=NwN{8toS_5 zYP}BB;kR^4?X1oLZM%epr;O?wleTIsm^OHuqDN|@&b$qr1ZK3eKV)Nb_hMJ$wA&sg z3?ArGSy^Q=`>1NBL!@(;&qo$Dc9pMCBf$t6*vk}=OQ^8R)FPWbXo04DbBB}>57XOM zLz)aJ0W#KvX_IINP!L{XDbmPKT6u>W%*7(CC7QQa;C+B{IPJ*K-nyIY1N7)Pqt~J| zh%8fUDQ^O0U@*i3oAONxF_+7DMu`Zeg5i*vGW56Pgv`Nfr<$9(|FOx5T@0e48pC?NRUqQ>sRL5i}J^kHV~Typo!dhD;aw;nuCq=B-di`}MwkSf!jc zC{#G+nTI(OjY~1Rh%h!w)jmp)_oOIg%^}+$rt6&SKLPf${r~4PKy`GCnPt4{ib>}v znxiJ!z_4KfY)b+Q|2IgMfK=?TYmXI*P6`{aQ3@NFrW4TaPO2xOqB=EPoZD{@8+ComroWX&mpmZ&)8H=sf9TH9i z5d{h9M}uKg+hKls=s0Q$El)q1HT&F}Rr>vx?gKf!3!EeI*`1YNauNoBvR7`Y3v2Hn zXv8!?QEdHYfvE!a=CX>e-HOUzmm=Ag*k(D&Y_1jhttsZ$7Pqk5+7IQH>~@wDKk#5= zUx>5EP6f=P12M04bJ}im9ck$@Uit@bKJHay9QbQR(9#wv>Ej`h5TBECsH=%z(|gwY zjjVy$*A-3a&DP4wKGYf_?1o&<WWv5mO5;!wt(oS8~yiyg{lbYvKX~H>YmKmpWzFvQyQ@~y03XbmbGzo zU0u|Y7QV()c-?yi@?!-t3KbdmvOa<}@f-5)2~*^zq-mj_e}(`yrTH7VTgwv2V7f08 zfe+Uq(e#zRO|>szc`z*J=%{RZC*Uciw=NA#JSEpec;{`yJ?2*{!hoU;iYbMNw$+r5 zgALWaqBk-}VxYkn`8 z;MZzNUji_C`h?nlkgMd#kE}uRIxUhu;l$;ikn(3e_B-z3!!Yb+zj7AKc#fVA2Rk{ox;K_8fD?MpryzpO!r% zh_)VD9|H8QclOI-Gm_R}E z{mFDu|A*QHfBjw*R)Vm@gk&RX5I+%F?TV)$Bql=^#O7a&e?YKG$DF>Lk8Nqd`R)pA ziDGN9=jdS6qzJ!?E9fe8L5G|Fu8cxBd~y$J8Pq*y%a`|adD2eNvz`BB4udO(kW&xm z#2TaHC!HafSWxaBYUcEmr=}ZZ-Uy+7jqqira(T7MKCrr-8W~| z$WsrBl5Msjo=T!Q6HKy}XaVYn@zeB}Kmx`=4H}DHuF6Ahk*gIb{e+(an*E-wT~C!d z@?sF+RQ7wAXgJ=WaxSQL0O<`@MKH&?2$o$ZxZwSNMv6G*0}8tH=mvq`MasK5_Z(81 z;%V7VfQ-F@e@bJV%D{|QIjiDzvz4@v4PZJ0@wAVdi;boX2|)eu{3?81XM*0H<}i9N ztaOs2^L!cgP1wIi7sw$xsL$JPXxV`~mS)TBY zIWc`)0Y!t`1S<4Bk(k6hsMGxM6sT-^97@pN~V>$&h*61&tYtKXHj|8tyngjHbY z)+|NKF_|l`y1%$#Xu!Ettr!dKh}lA8=%U`ftJXR&nq}I$eC0BQ1fs@+g{YTS1W}j@ z+M_pIk#+|~SNcc$Rpz0BK!=bLuU}!La<00OE+tqrHs+jjH(i~ayhC071>-<^j#F)} zc*f>Iai|8!5bXXvO(`nFC!PCOJA+HrZn2In=})S#(*?d^A3ItH-K>Ok7-zOZ&JJ_g zlh~})pehD@|KM(Og6#1)pt>OL#{9beok4Z#1i^au&dDV^9Xz_o0v{<+Eaf6rl~|A( zvy9J0O1qC9mM>JbsNVF2-1t9-GdSuVt{%=~X$d#7@r*BE;U| z5J*#m0BM6MgWgLAyHbx2(f5*OwCvvtnlC zmgZ^)8Ro}bgyC-Cl)U2t6Dd-2I@8v;Fs8{dU6;CJ(CCm6MJVG2?KbF%Q#}Q5!)Q9R zc#xn#CZ%rz-4H^fo;@c~JEmyfp{qgDQLL6IPo!TIJkD0 zB`3yf)m0j2&a#ZyCGhK#P*2q`T~s+K=nXI{?W&n)Rl-dDZ0C>5<4)hhFBHa-F;=NY z`ne|cbB^Nce^uBPXIUA;q7RC6vSncOw9lV#C=ps!Knz3(@1FXav}ci3kEZu+XY|9f z03IKR;mQO|t|*jUNf=~Xw;@#5VTqjSD@H^WK`&+WJe)uSfYqfQ*Y{ zHcFE^wr_E!cQEI6GG0+_NbXU5AnP9+A@#>ahVt(&knI$Zt}`##Yj^31Y^v}=2(P0u zVFHa>>~1C?zO!I|b9z~~WLQF%xL>$@t>^tN2{-cu|61#_=?Ufy!adz2{R2u?L_J_w)F=}_uW+O<8ivxM+0cf*QhshF1 zuOz6OFRps+RQGBh|xzHZ^g@GD+?(>drDUb$mfcB4zgiH1njp1ZuR1V?Ss2+f6j^Z;K2)vKSftN`qdq71AyE=r88L!-h#mEQ3$o}?NYgQ`+J+L#OF z6S*w<0QfNp&YqMzjbdOUvld>bGtPKy} zEz+CGedF_G#whlw#wfkv=!nNj#c>_Zrr&>Ty|zTU2w}o&DwDsXCAwNIQ{eJ@tDr)m zct|*xL5kKnyllIhZhw}wrTJ^>aE;H{Lx)U=3df1e$Z6&Y4`Es^~8WaxbjtGh*U1_ zTCR6?9~h-;;vJ#7v^;-h2c+UOnd`m|UnCpjE3y6AtuwTG?nF-{YZxqN@HR&%(tHs! zm+YLx5ecRh#>>%Lc3t6bT8_zO$Er(@OI!9H+GJ=%jeIv7o85tij#LnSyK%iZg&BuxP&dEm&?rBxd=j`YLNd?B7uoZ-9H1`{KzkM zn}@M~aYww>frSC?B-^T6&`ZjLZ-Xi^i&_Zf)>hjzRq00z!OV038jo{kUS3;0m51a#S3)}!%`&@>jVZ`WCr zbz@R;lcOq|^jrrOP`IL5>7Fj39HUHDWC7S%jPJ}KWR3?O#4yO>Crl7s%u42S7b=}G zoIfYdn@B$(y)%C?$3L@Aib`87L20v4gd_Q$>BmGjMq{6Phk&8ENk2c+!R+!0>LvBPyv0V&WbfH#z)%9psQDGIgq zQt5Nk45E@EJ{bVVRqNw%zH-0@t4T_F1$tRvlI;jzZpD~&6TgPu##O^818@}I{#rq*2vSl#2p z&ovj~f2^pi{&i(!vvEnOW}%H6&SYpzAP{{i(e)6+@u|AD8NK;q5i4rsO`AQ604bHBGOKiZ}HuQ0o#=Ka^W2|T(g zM!RvZ{*vieq_XDdCmdsd9M+VGAK1d!G}a)aGpNTW254#H@6c1Ukdo2L2mt6Xh%P%vgp5ZXlUN~Pq}Y0K;MyUu*JX9Rwr zj9PM57!(h&!Gi{cipEpU9wOQrCGw47r?P`|<5(6(RT-TdfcOQqE<^!VT8u0P)0+iC zI>@@;pXTgsUv;b@^gYT7{zuhYiGzy7(AL)3nSluhh>lK`^)`1IjD%*>9kRcG)VqFZ zy~^mSx)EGS93ng$$$cCOu6)0z8mIbRz=pqdO=X7eC9Nn>yd^#wU1U zu#WdTOAU|T-WOKWnU*Y7FuLh)msO)6Yq_}wzSn)9!d50{V;;&pxApD%AA(b3X$(ZS`H)ojD)X=SqJr; zZi>hJKhntKEocU zDQkrm$wgBt7m{u2q^uOJJO{4?c?L4RiF~gb43$lOjKeT?sMysrWFue|EtGYgl$wz zfdDsGqRnj@xPe`X0WhKT*@Z@A)Kq!&*z%6#aA_x+xgplYX*?TejvT3peoD@A;a$)w z*rym1A7V;_q3nbX%If8_o0B{l1VA4BN)X}+qP{WFxs)YU4^30$pAx}fmbS7LF z#KP)%_6Tz$S!zF#YkdBbHR!oD9Kj+;@k=?5KAXkuIGfYZ>I!pTk}im+3-XrMf-RN! z8Lorv*E3qj z20Z|hL}X$=5Jb1o1X@Q7W_Aq& zDLEk>`{mD_F@vXtM)CXNdH2-b**aY{{?=$i2?8#d{W>-2uOlwqKtxVw#TYb1MCJ@J z6gzE*Z^-;UvZ4j<&F)N=+DpSw5a3&W*sS`)GDwwGNK6sy@<@xtVp{J1&n*3VD4t2` z2@p`MAUgp{J!pLaYTR>_p@tq1hMiR6+O_+ISHNft=YWzXN>%B85dh(0JLho99@z%M zrJ(FKlwFiv8$XAGeWgy-`lkC{x^Q%grjgo^RS$yQhX}O`)QDO)<3yrSHO<)e!eFqu zbV|XXQ)1Mf#GLv&^+;vnZ_a;@>vI)xOf_;@<=gl=j*?};$Qg(yorTjAWw=)9g#IRa z%oluNGcgc0W~ruuTPO<%koA3bi8yHWhOf=}4yqqJ!~~bQM$Q}9O`Xd~g4uZS$VJPm z81p@PW{Ri_wqys!KyRty)_v$e0F3<|RmGj*6hRNQt%*qZD?h%RqtB1&sXSKAsvOOu zwq5hyh~^RN8BH1g&qae^AEG2$s3lZh8W|Q>dX|K?12#s>x-bnIXl5OU%7y03`JTzG z4(rms5g@osSatoBvFfU#6Lg``!?Dnp>3n_}UPf~0=(Z7*JI`TzNuE`vLIsPQ7D)A! zFzX2Y)c_lra}yQ8*mi${KPL=5PJIft*^!wWWRJQK&wQ}u#lcND+t79vB;Hp2Y?CWJ zp9A{}AkKEDg-a5fVt#LYl5_=C^(k%VN&5&`7O4-tFwW^E5sPX=J94suq<2DN6ebJ3 z>nBMWT2WIITFGm*X#DG?T_YOvg^`H91Xe5mMZRCVlJWE{SN02YHqBS`m<>ulst)WH zNruwEJ~RnRFX>;K!CzJPOE(uu5(6}z=ku!rB=xQby+=tiLXbOmB`@GLw*#~fHJEON ze9@cNJ1u#MWs;nYDkMX>m21)`Ai^y|YaWJ5k608clj1bUOsx5kb}@khZNb+3kSqq7 z5VTb{+%MY@MS_gc&eOznkVSCnILab2x_60-K6BltQo#*tK7R}xefNP&g?-;v9!2FG z8A-%s36TDe-@qMa{W4%sJYH3;Z+T?-DmVaERICo-@XYC|m}|EZXc}AOU#hV-A^a}S z>;`XH(AS<^mhy?9b#V|DS#((%K9NyM!iATJS4 zimTBVlhOQ;A)b^wBK*JRb9;W)f?&T*KaH7brU%@2`P$9vYAGdb-5RGT?Bv6EXCVmU z2Xa@MyHNm0S08%!I)iL()^((4-!NTjgZBN}LqGMDa(6F;7ir{ezX|eE55Wq5{()VJ z$mP}1AIEKYt^f{x#+QnV`-&8DEfgFz(N*YuPO^19QXU&J*_2QQ^Z2a0J;)m-soEMr5C^?3@So92Y5l+hwofkPteB)uV8C+)$a!porALR5OXc8 zoS&$296?2)!~HrNf+)kr&Ae(uhP%TR-2vQp{jchcmX4tJD{tSwQhOf@*W;UKs$1KF zTGf*m37QmB+u0qR>Sg+hG9uAC%hY#4tmkEo(8H@#UykjNBj&(kol7V@kKe3%+&ShD zmZHI?h)ROA5w*uuwzwmjEtJ;q+*^d&CNxdagD+va4ElsNS94#73XO^l6c;A!wGc|isiQmWy;f0G0x_$9V<)wP#5)(j1XCp7&5E^f6YS;xP@8*@{5m$QQH@uJR@t##bm4jsmZ~2S;J* zrw+@bn^@I?1DC~C^@AxX**?@fj{FxIbXPEAyjEzaKIg8&i<_~SrZ$%9#n<7`|NOZ))Z?nBd5C3g%sIcz3xC| zba9d|s-Ei_M~LM#$|2mULRx2ZSJcc`v1$s-ffUw|^@djeeex^d$|Uhmw}7IyT!>OY zx)7Z1RA$P3=`S|nP6P`lD;C;lA;vI{6jgKH$LzB7n=Q0a0p^nZ0piVCm~6v(KK{#T z!wO|*LON}<4|w1~meX*aG$Ves&{vJyYR%e4M5rQ_#NwXRo&5iI{Fnu~a20uH9eU9QOMB<i%vSbPKhV+W zcJGRQ!NlLF?CQkTCGN>{TCJbk=y4c%JelAspi>=lDNW$DpXfcY9h?Y<_3Mw zdVKtS4;FR&^;_q+eVN~`@z`k7HlX}=*k_%xD2KIJg2KV!q3p8>+r`B`%H_TvP~jhS zAyox!#-V($qd%(P?bUb2d}!J%JH}*7?qq5T=08(Qw|v9ZY7s!bPJZ=?r!3YP%cEm| zJL*3xIQwn^W(TFsFt7A6Kavwf&iKfi)Sx0ME7d8*&*1&eHdf|k&0m4=dD%<`_}yrq z)7kD2>>`X64Ot2h-{VEKBoUXq_HgzdcID~bg!Jy(bXYv4zrA(?kc>o_l*%Sfw^=rwbl?Lw!% z^ha-5Dd`BcGSCt{7CHI?ts(X5?HD^>8;9m|%ObD2dYcIOkqA_LF2%?uu}8+VfhfC5fA=hBwVYE^yG3Q#Mk6qb`c-Hkt ze|x=Y(M_%B5(5h~-T2DK2{?2?-ao!0sOJG4>5A)fQsEk|KCP?Po zMHp{Y%dIJcoU;K#P;HRr$AS_>=WJ(;t;}lCJd(5T9`Gj4E`sWp##gCYf}%t}59hXo zMgUOX*lSFDf5rV{z#Nk8e-0-Ju7P)iNPCUKi38SNfvp8<4mlDU&btHBft7!F-2(NqnxmY!B}6ytXqe<$bZ$u7$S7j`UdPmRB0o0 zs@amMXDOQky9CGI3k=zvPMf>*JhuCiOqSJcYJR50%Fw;H)g=1ed-{Pw z)*M2{@{`Kz2ranGz<+oV{vkRgaGX4v@a1_a->B-!?Bz&Qgx0tlyp13ND36vXl4m6f zSLDQU2GNPMhwvXL5 zv|b%K;JETKI$vx{&HN%!WPNh~ zV;^?b?=qK&UxrK)nP}BXE+Wc-EO}hSuH*-!pSTi7;@IO?V%;R?+gdt zD;fmGiS8ycq4v*eHMBJfijzt=F}BsJUI3XsBwh-$kIs|let&91x&s+%?uanUw@OUl zNl476(>i}TDHsuSCdPA|L*>9dZ2W1=uqo=EWYv$xz5YJ^z3(#%j{#t?kQ(?*F$!lP zsW+=#LNae*(wPEZH1x;=*V{|&-A*SlIRw;MRo(>lyqF?Qn-k*!gO|r6LjrDNWWq~~ z&d!M=Lg^-eEfVS2k$-|{y2wLEqYPQ}h#XqlaB3#@%bTvodKw39Q(&0&#!i@Q?pv#L z@bjTQJ`M___g&faq?cYuI`lGl{|O@_KrC8lZ080QPBZ3sqXp;?@QjkLW2y1!aTDxc z@Y@keKiyzvj^kkfH9*S0`pBzGiNWj}9=LNs(WK?Q=sJ)Wo8#S6$-1-`-@5lv zovL6Fr}x#gSoEC9#zU&}Bv?&c*~^DOjp4of-6w7;xm5Pn;#3_8Pf`4R=I>3j#`J=j z?}rZ(FZSdwR0-hwF)G}zrP~M582dSVxoT6doXG*MM`k@+DRV0drGMBNh#CtPZW=GD z?Z&DF>`t`9AxK+b<}^0mSb(S_k1Hp-RLK9mB0isw1`NjIyMXAhuObQ=f5to;J~I`# zGY$sYJ^B%i3*ft1Q||DM=G`a)J_&)s9;nP6OCa=4eF&>B%#$Gb5?Mb)eV$|IKSK~j zL9f9+DQ|te1begOTr-vZcuM~It~_rYKEFFKT_9`7||C-_VxzS7hfb)K}Mvx@nB0cd zyDLwMa$w??tQr2yd%p7_vZAVNzL!P;wVHg~rCXc`rvMXpc6Tv=16V)fJSOvWt+psS z(G@{%w_z}n%Vh3AFP5=^&A}76{}RtgOGotNX=jkAKceG=fIK1FEN15a`kGGGsrQ^~ zkDPcyOBCN=^Rr69wtUBR1S=M0jAlNpU+)8}Pc>^;#lLp3Dt~h&i%Pk^!tC_aCK1sB zaR&Eh^&OujqAKG)!qcg=oBk;|fQMgeMUBzU6Z3SQQMC?%f`?s3U8Zdm1xB5@5*s>Y z`T^Wd+OwA_*NjG2AD3QyeXr~KJASkAAME%Fn_tUOt23cQEYspuF0F&Y?q=E#+Nf`3 zoYKLRA4pr3Ps42BXf(9%&)|dAeCYE2`|Vtai#y)Y(py|!s8Q_mFlBqV7fCCXaJ?E( zZ3Hfm1@eB;JIbFvAp^Au<)bN8+-WljY1l-*Mf*(l_oABZ6KMi)qZf8VzU$2ur) z9i{mQxu{OBU9Q@s=tF{rH)9N3r$=?g9_oNuNU26CnBY{N4qrYaKP#cYoG$GEFw|ML z-okVNe3MUb;qc+pgrG85_iU^|;tjW^)DVy0u(F3>5zxWM)aX zar}=XWGb)(cQfM3+28KbumKjPu}dzI~2raTOFFld|OVO zOfPpm@nmY;?MBB=bwQ0ddqzsQKMkWM{_h2;bzW4(x>U-uQGsxoVD*<|Bv*aCI3 z&Y6}N7{sHfx#5|`Wt+j%n-he>u%$<^=vrh1Ke{h|yGUY=yuQnCGZF`d!9_#B(P3Ft zs&HAThQgLbm_o%G*hSc&7Xd1?igtOFWH<$X@WI&SY178c$mL&~G22GSTGrQDmGZ;| zvwJ~R|Mh6-Nvy7ep_(k@=MtZD)OKdzg*U6VmfjLrR7UJwafaiW zD16nqkNwxO8}l{ATNx&r2P{nM9}&jhTMbz7#7t8?9B&EjT*0Z0yK(@CKbG~x+t4mr z;9(X?P;#;)zf4xf#D{)!SZqOz0Trqr?@BuS?_;)9F1D!OU~|2sAM1mQGuvh>!Q%kR z6!i}>;U%2a26J3Q;hp+t^g0U6e^p{|`Mx8)Zvs~MO_w+Qhs|P=hlPl9!;}M;CGfhA<^_G0MC@3z4 z=Y2VQd82;+Oz(?WGi?R`N*6zg5bQCUH!MXoLvDm>;mrpFaclaAt!0R4^jMsMm@b|Z z9d^m~lxsz+;s0kw|D%43e$K#$8Z^LL#(I{)Q_TP3TywT2RA$#izk!$;;Wo_`45d>3 zJTH(G;_`^%T9hu$l%rx&`y|5Sh^-K(0TdJzxEauUhcjY*_0#F?R8RYF2NNp&WOLyz z)|Cz$!<2-~pkYwEFm>*F=*F9f=z z+83~`k+yNpa#k3qO&)a#9)3wl5)-cD=`0NJ(O$!vi;;Vo%;J@_4XOx$cDI#u<8kA2 zxTVF4s0JC8L-b3}QWoBc0z3;q$)q)b-(HXu!Y*Lg^sR}1!xGADRM_0#wj$!Qr)a7X0yxj2txfaDhKm2Ov7oprYs+xyI(XlV&WNTt_;ofTO=L+ zy(GWa^%E?8pi$|qe;83~qHw#y0be^0(fdL?tx5SC5|voTySe_TQCPIMN-LM2+#$;A z8!s9P&4SDaYyVsL=)0ig2hx@`f*b1)Y?pMwN9yg?;H~{8aGg1V%jrTZtudUD*}r?1 zD5>6dK=}OEfxK=N%k>JWWpg8st zQ|7c7OFOcY&*CD1TNHHNqwUqwVF!o{A0MV-<@~E2ayT?MX10Z-)FfZF8xNeqdvo){ z{~z5;T@%Fuk=OIE^@xIh$hF6CIIl$Aa z7Wxm+G$ukSI}99kky5hC`LA0={pV9(;9gufE7UY+$G2lIWZos1(x~ETI)>RrcJTgg z{CI4p=75Yq6^;c#9F`ZvuqD$NF_(c#1NvUFcJk;d&}ZP%yQw5%8s_xRnW^xZ)dj4H zWQFR3deN3e_5!Y(&C49KxfDhK?8`mC!{T-c!7M?9^Wkf5h-=K0 zO3(|g_tJ6juwp(noTZn96|~FmcGR~CjwZ+KYjSy9)>;*!>RLLd-g}hBceuNj@xJ7> z2jVuc{|ET8^~|x(|c@>3k~`@Wc`2Bn5}q7!5yx zR{2c-4j;vwBegQikku{a-!a>Pv$qNdAZ{EewC6>JMh{ z{vN$nqtYmuUclbY2QkW$w!&J(U};PT_k@(}b$tW;&*v^5U6X2oDl0ov**gR=5l*&-5XTh1gF$qIr>0*+@h%!pRQL;~1f5`Lpo`#@{8rAzp7Bg zazoPFf>eVt1}ifnGO`HRYA7OWC@c(XdOMo5e%64!k}IfSU*+Yo!*Y<3x|F8-?AGDr zMV{mIV9}ic~QAurC zKtKFuDF~n&?$*!7B2QoD^RNB8(UYV@uGFhXpemfkNJQxc1CCK-Y(=kov=NLs?u@>K zrg}0NzoV|CPp6e<`bp~EYwmoIC>g{y23rh`^7Y|rf10D%6*yo7p%0!7w)b7ZwK_bz z^Olt&ao*hJGhk?7RgWNipIiYz@-}XF;us(4J3MpWAtdQ%{kD7q1a1^A!(BPX&y8pP z5vhRCu_OSi5OeQw`fOEnmm(A%QKn^P?>_ec42_tJgFV@Zy_H z%by{iQ=gB&XgJHLZm(66%P{H(l4G5dOS?!;V9J>&u;ZFnoT6pRvOc6iHMYy2fDPy! z*BdPbZI|6qJ|gB%k?K43qx3AX1WkQHucks&I#U^Wd*dF5Qz$e#7{+)nGCVt6B=Hsr zW^O@G#M?5E-)fwpH?8$Cgr9d@*Rz}^6p&a()`Iz6bp@(Eq;m1|8-|B_MlGz;-netJ^ z*aX+M1CJrE_mytP6qy;(d+4+i)r)i6kvT|dKjl*3KB8N>Y?V%0r1+o?5e5G4sSRb zq{zEdP>s(N$2miA9_qWi8A2$U*EgDB299wTMC5$MSBKDrERcD&UiT}Nc@K$xaJl{1 zL;LXyI{ItPldkq>`h8b+H*PmR)y#uep}TSb@6UZuPm1S`bhZ()DL*hVKpX9q#;6aW z{?wA3A{+Ana+BDZD4!L~H~mK&7fG2tb*A#Q8Yf0ZH{X3DYzmdkNp(U?NxMbJylou7 zFw&|YNF<;_L#XrO0JhzB3`2S?)z1gtiJ;;Ap2AF(B}UKvgX%-Wm3nLS8>Hi4DT&P*V0RySh7g2ok7L8gFs>OtTqnA~_u*tXf(Pp+N27)D1tyUp0j zN1(uy7jL@9uHTiUMd&C6P`&_Vy1C-XK9JVRY99)eEI_{9cwrg#hKLOQC2 ziJEjtQ1C;!efd|B7bEa$U!YZEm>F*%+1-5#DqUU|5`*5ZJ&80p?#Ds50alKfQIX5J z!+S97_e@59=(Ju2k(m;Msg&+OqFOr{;SijHW1l0x41B^`wUc&GhTbU|hLC2?PQah| zfkIK{du&kDZHEm!tGZ)=So7&<^~Nij^PqFGovU~9$^;YHJNJLkWTTN7*Gbm$^#EqE zIScahU7e&|l9O#|9&2VCr)DmeXd<_r{;7tYpSs4Jj~;m5A;(9$q96fMo5(Fi#TY$R zlfDZWU2q3T7zI)}?-#^cm8f16RCn#@j4caawKS!~`DES=LL+$%eOEijK$x~vYZ(L) zj%+d#=~g3f$(4ZuUc7|JJ+NZR0b_7CW!eo^-po_#qLHsi#QWEdp4pLSJ)qpIa)SMp zT`dwmgE?mrwK2z@h5pLZUZXDyz|ETdePyDzlCZztMF={LC|}{bG?37 zc5-R&xeTr_+Ok=h@H!vjQhMOv-zxA~-c~NgJcN>zb=2T6hpo?WAyn)}Raz?&%d$^i zfL8jUWQK{wB#bG6W`!d<(<$`aSWa{jqx?LECk@ovo8p%nnlh`LjIKZ0ApXhASjSvao z;2q91EmEmTyxRU@q;~P;V}0b!*R>YwKp)`JB<&^(3i-2KEaEkCRv4Cw3JXn~z&DoR z|2fHHqpxTHNsA7k?*?eGqFP;1`ggoz#XmqSAoJdsHY|7hM3Z>G!O>u7hKU5g<2OPf ziw_myqbFulT$&0;-uNC?%)JJakcj3TNkr7*t(KgcBeX)9W>ZR@8wK9L>M(GD? zVq|_1cB|+v7|m-o>9Yl$Pj7^d%W(^qCviE*@C2{whTU#`Y@L_pH0k(kr_UNvU?OOK zJmA=PJ_Y2(bB^S1iHB)tQ2TP4*sq`B{G8xj(}|t5nh0_H;XtvxtF6lCe&Gv^Q1#jj zrw}f3=y)7iwUjmnyS|S{r}+dV+C~A;it+JROEznlSK+cd5$a@3oVof-7#K^n1SwwT zg?A@ag}L#Ohy&Xj$y)!S<#C9)Bn@|&GSt1Gc4U)h-i7b{cu&=kaCY*N!aF@vB-b4jAThsZdiaACIL~@i4IoK)Q%r-Ha)p zb6?abUF`ppJu^}rEgY6@=5|L1>+g}ze?1z2Q!3?U6EWy#vuO6pwZ~D{YH?8yl2rfuDa{YZm|=nCiLv*} zM*O)2Z=(CsWq8(}=7;1hBjW^*J^GA+lO}{~-7aoMiW9GO#F{;21|1}V5R-EcT1pEU zmAj(&QjdT)WP34M>aK_%ro<|Mo_Ny#w%c#e?#cYlGxVsSH2bw;`ea3wVk;(pF9UpK z=dQKd0@?ywm_4;({-aiJQ>YBRJW)$ow}#-af-i@r&-hN!!#x1ZR(FaUeG2lEHEEo~ z0tIR$syb}Ocs#a)UFq6_lleWw7($GUm2PiiT0l>Uxv?}s+t#6u$9!^RKq6UGsc=86!rMe>U^l`(?s1@^a%UzupEytUh-o?3%y9mV0D_dAQ`*i7X%os z{u#;L7IwA0VUTCZ1O@qx*)(CW_! z<8o5)Ga_Q0=GEsX{U))*bi&1lRez+(^$ld@G)?;Ffu|0vBp@+z}h{JXl zbUJZ`aGoQmUl|1?$$1{VI3(SR#-$_xsQUkllTFM}F`1W^a4T<>QNmspqEE3LMg4UVhvgjvYAU@FpZFnR{A=NU`p)vI~Sb;}Yd%xuaMqlSoBE<5%nlD&PQ zNji(GKK0zfG&D0nKAl*xWNe^YDhZjK~kfjTACZbu+ zXaMVkAb+o3&Sf4~jh>JK#(R=EDJSZh&HQ2`&^jC*<1{&sv;pswWsPG>OAdqq{7#pV zd<0GOP_`PcDR0egb3=M|{>~-N^q`m-K;1@5__S{mp%ehy5gb_<*Q_Y4lXt_yfUYbH>g<&u5j{ctSZs+qq8?g_kSB8V~P1xaJ7I0cwPclGU}8ZbiQdxl&D#-FavNepDX z8%?7)`V=RTH|;ZrHG4jpY`M2XnR?&w+U6G)72lmOHaY|) z(A>S?(hLt|h?7H3WH>q3*5cF_$_4mROn0ynUX{a@(ViN)l1l5*1U|m|%fI1HgeZgsJ6<5$5Ld z?4sJEj%S$S96SF|=oi_Fz*)eaY4u{OXfDc zm?oB1$Iv*z1w>&5Z_jrJw`EWqpD!{fP@P121|-!`oNymUf1P=-Oo-mZ|H`Bg4}~*( z8uVHIe3}vdZi*6+(QXs}xuJ_MHVz|e>e|CkG91cgEK4{t!supiaIp;0p${LFIm{0e zB@Ui@Ig5oanpAU`m6)3b~SEF;D!*Md0ohdh|4 zIKHW)LM^N)Hp%(-mBgKX9|&SQ-LYYCzaqD{e&Py5FT*f_Vov$8Z3zv7>*wuqwX;w4 z7zrPc8KvBL8KXGnJ_X!@ApzIM*MTw*s#SCd$P`#_}TC#gT$ ze4E^3`6o-J3Or_L`yiJ>t#)yh6dN21C-z~(c|fk0a@WXyVeq!Ppw16Avhc_zuBvV2 z3+Y&fb^ z37q)=3Z1C7;1l#Q#s`w)7bjo`dY#j;9$^vb$=~p4BCSUQ0COCaW9W{_=lR!_qd9*2 zx|nnLrnWHRq<+ZZQ^7QVpwT@T^>A8|@v9n+fG_JqQH;tP4hCLI?kaBL^0A_m$src# zC68pemxy(>e<^t34dwD0H1;Dz0!Pw15#~n2#ObHF5ZvThkJ6cV(Sh~iNwS$X*bfJH zu00pP`Nkkk=#z$WeB^h^%i*00#kdJTi9)ihmf1JV=IOg?Zq@@%a8S0QO2>m&1Y<^! z%@|=G#S%lr?qx3l)sobD0)#01ACe0jazOh@A7HNtcq2x%gbD0YgFXA7`qSP1W{qtf z>QH=d0Ktd`dY}p=I?mbZ<9=&1^Nc{?5DMd63v`gJ;ww&ynVopNZOY`#i5&qVwg}yB zkIE^H6t=9+q>5F0H4dDp;`l$mV0w5BA+3Cw zezR213L|3YEOBRmyWjAJyv)M8IxETAY$Msr(sWcf1V~TNzsWj{Y6F6#P1J2y=AY_cn#aFe2zb(UDyptAP%0o7 zh`Fs&KsNmkmArY4SsAg(60as3Z!%8&n$2d;PUy5*+0CkttMhzWg7@>xo-WS3JJoJ} z{AD_HFzT=Q{ISHykqpEZZ{#w&Kf_{rqY9ds2{1Q#3XwV)M+F0<`VVI8(cTqX=Nl>B zJVI6%MBD+T1?%qLm2-VQikU;%&}naSfIY=V=i}MDqwFCfYcp`rT<^WKexk9bSC?G3AG{YND zcZ;DH$Nw{@?$}0@{7kb@=!Y_dVkkN}V(^OA-1vrz#j}o}uV070t|Gll-mc=UHS!xd zn_>EiackYuj6UDd1tn2OSPUNWzhsG!XF52@glyT(YN(MZPm?dK?LH3Xf>c@52IH&u zJ*Wd?tb*64@%X{_No4l9p;;TC#+2!q6;^7X7Dx||v>{W|aWs-??&$C)6@;sQsdg<} z$M}#MC|j4533KAxDoOkgaGMBQg{Bj+$*TE3hgo@p9pq)8SAez{4-F zLEy$cEB9T5O&Ms_fk`3ITY#yC75%jH2vV7e5LdpIfXONnbN1#8%{M+WZy8F zNv#a`2D*?gp_y8S>IzMw2#v9ocJ^q6HptfdmgyvzelqWMqw$Pl>m!b(sWDz{oNP5- zMaLm_`yfqPgvT`4RKRr*dx4zF5UpOH-{95A!`|@^K4nQD^P?)JC{BGwU{oL$8S`4l zZ&Y73kMm^oNE*z@(JrC1As(zw7-s)Imw^Va^m-hc-yEaI?2a0>dcrB`g61TMIo_2_ z@2Zh}EjG2*lzS6YlYp?vXIb+g=ZFVQoid1OGee7--nwjJsb5-~4qmm3XlCr%*7u}S zJ{Ofh&*#fH+Vr}KBLf``tLOQ$x*P;PmSdmC*?~h0f(eV&!8G5XPwLz6vXsu*)pJTO z0_ffD8yu|5IiGtPXauysl~`Hlv-JKkjM*^r?T6g&9!!6uGSGY_bp4u30O@^Fm6kt3 z2bb0bwF7FAW)`QD{D2j9qGy`rGrWQ{+Hk5=rPQlR**cJ*#L3T}m@U0i{HMam5PQP2 z3ch7r(UuSosiC+lqL&&ZM~d2HqQ+>F( zHJ>Wd$N%W&ze=Y>QP?U1i13F$FRo0EH5rUWn!O48v;!>S5;Os8YDQkm$~KmaGWh<< z-KUR78xY3%nP4o_Fe+&=04qb?2fZR1v==l~^^@!u@N%e0W#aLDy<*6cqXSaiZGN{8 zJR9XN*(bs6FT(Y(owJc2OzkeY&oA!tQvj?}Y%>0d@AA#Drh%(GP!}dyYOG$+7za^jW-zm*Q_G70syblD&_`GO%61K>DAJ)RjCF- z9vzT77OdRu+DYc}Hp+Z`H!+AK^p=ltnmOrmGYcBIPdm_2&LJ@VT2#G++swYUe5alYiNr$X+Dn03fbd8Qt~{2@TBF z9FEbJiX{-+x@UJo>Azfvu935H$skHX<^>YqIllhmAX@Gg9R5Ffco|0soUtzeJfY>4 z%UP5dPpw=bu;5||kSJ))O$E2+84n%5O_3Rim_@5g=rIVz* z{FK#6Zs?Z(8y+qGy=&~V%85s%yAltIO}ND_pscESC${mV4S{X=jjh)(hM(cvmkFRf z|M@lG_>*`Y8LFJN*slqZRyI{AEOo%2%7906uPGI9 zQ2-4n($^-`ZC+1A$1MV`z|pzwyA^DU3YMssaRat~Z4OeM$VfX*y_*9g*m3`Naeqe4 z_lD`WSvC!dh2+5iGOg10AJC>&HmzwJ`9z=6^j0n?#rTTzl0=8qSg0@?o^x9L5`PSt zZjmI03w@X8Fc+T*21tNn8z~7kL40Z3x>aPhCUK4I4k2safRVJ=GRdg4o!HK%xQ>vU zVo5jNgU`+$ISfJ(;?EW!m+-*4@(@5KtVMZe*zuMHYgW>3@R9Z}d4NaCi~eqMYgnJ?81#~r{f!(=8(X9eC)oF7hdk7X z3=p+h0U9f6?7SxU;+mFDVp{uLnLQR+HIx^Ri#+3UT5LJ{w?)oy9dcQRYw0Vdwi1C7 zkG@|6q6r0@nCLe14+uY~__;S-mRbu2a62}Vlr->>I$Afa)hK(g2{g%7;BW+CvN3R4OjC;Cx;hvl>f8nquBFNeu*{wxNyRQ>&Iqe8&-RUJ$qeCC`i zUtK2uU&S~?cb`17b%&OS1|cW`GmQVJ5`oateMWDJUHq|0iHkmm&C97eZ~x)h%~7y8!V-(3Uyf}M6lvXX9f@BKdwRrkhJ_oq zN-2;Rp~Qe~3p-jeeV{@Zu{bN`Y~MhZE&qpA1J%wQcBzWxxasi{fMTF#YEuQs&eu3^ z1fALe-BF`vM&W9l`Bqjx=IsYvH#1;BBMWypV?aSN$#BU`A{4WO{K1$(GD+=3F# zlQYLkJK6$MZ}%ZA0;Al}v|rDi*~$KzS7?C%{#|1ucxWUhy~4z@JCdC<`Edd7|C#K9 z%uUuFxi{8+udx|f{{WaM_>fG#eO19_1XiME1m?^i5@^%CXgrTBQPeOs?kO@lLB#Y% zJ5A#Z9lJ!ygr5r2OCFLyI4uz(P5Nrk+hih#q<(=^EZ&c zoB=q=gOXs7t{eCI&{&VeyFWqbu-2*N@hGn(3{R3mgcfAXkqC|U6}eW>yatuqki-$D zbhX-fYF0-{zazJb|BY33K9aU6FAD6`=W~;F9G4%wMa^7hP3Pj~VaIv>0vA9>97~8K z{#lYPZnYwIFvcOL4Xkn^GP|NiE;?3*#UjDQ#hAAvkZw?~G(S@kitpTP=x{??Z6dKM zPO>lQIKjp3y*k=*(8PF^;7z)jf+M#LB7Gs&qZE`pa#qwo)3oxf8uMD5q*p}*M)b6Ir@TfkQC<1ShCG!z*`0{$q)J zRwDn!Y`#qznoeH&Rh>9kcF5Tf!T6K1E0%QkKppJ2x#DMfnd+{cYJ$R(h^S z+3HE&#w11BT=(4&UiF$A_=C!C35IN)w4-(x)FIs&>t=?Jo&(=8ucE;s5UTIg59J>$ z(4dcRJixK2mdsKM0q9MH`R2 zXEPj+)f9j|EW{)n6Hx2$DY`)`GOM0SfMXn0Db#Qcei$I=BqKUVv6f3rb}px zV9h;jYd8(i*%A8neU8=<3!~OKKmXpUU$X3Dtu_dMq#E%T`N( zHA3Vwkx>IgEmhu$=3NlnTBubTd%XKf@nJp0IGW^W-KZqPT!vj&Ac%`9WE+)34%6+| zXcQ)(TCr(h=ajR%0Hd>nO(X_8_JWWYFsX-;Rt=DgymU2Py%gc)S&S2U?L4EZc;4j+ zL&eOhjSjK=Demg92tSoy0sO%+Yx|uiev4K(WcZu7zW@fj8^T;S*^OA5AUu%OHk{#C zCK90YhzwN%Z%+s)TYAg~wSrYt=GouCpn|`|!I>T*z@`k~9E%;@ci6(-X3}dF9SO_z zsQMcAfD`7YMeQ1vNK5|O)V&E50hU9!>@#Ij3>2DuKpJtl9M!Wrb~rK6*PP4>Te%vp zp6a*-Ji_LJsKk*526FP;PlP4It9^+RNgn)eMu&G9N)Nm`IXhjKG;C8&%_ghqat?Lh z{7ATs_i5ma_rQGFCYfNA)cEm>Gq{0pS?9w*&v3=EPXo6-r z_26-^WZbayPkyY^sXTtpE4+Dtz`G(#47`m7FpLR?IWDbQ2IZg+vVkihDj?QHh4QoZStVTG{dHt zCA`EdeDZKos)Rk)5Q2eh+BrF>HrotCux5dDp;XH1mgI5c{iKT9y4;fJ1%L*>T5i0x zSPRcIFxe9XGKMipcxS97#UDY80A^c1@M==7u+z*^@%uDRH~t&_{rE_}cKUOJu;VcQ zt3?PbGq@FSeM2TKfKOONR0cn5-mlGjRHH^FTdQ6HNWOeyJ7A&gnNZA^c98SQiedQXa;BtOjM zD=XTPEOg}KNdDFivEfds_twenUfQ8U#d%Oo=i_Ipr5k#BjU>117ZXbu$79CZRm8VL|29Z*D$>1i zV7zm4_B|e4)EiEtQ-aeOdL$8@IgXeD79c}&$$>Ya06{oa+R$IT`xjDaDkycLwc187 z9Onvh8;`<5do>kpH5;#qB6@ZIZbbp9KQ9h-498w?aP`o zx3uAcWNo>cRj6{tnRnK0{-H#}$aOb9B+A>~X=`}Sm)H+3LLJ>h%KVap;8cg&*R;+y z)(ZnfDDR?B5MBFbCQ41cty0@cplKV)3DD0SePSkU71Pss%jacoGlUN46RTsQ^l^T6 z7iI_GIQYwv+A8(M06EBvJCe0c9-W>>&&S6L)`&39|Czad+;!<*_?UjpTMBmgk(Ah` z;6^XgojZ zM&vtN>Rz|I1$mFYGS%ztm+3WXPbonaJ6@PVZ%>qA)SwB&o$H(!vqJ1MV_@E3SLS^E)SqFm1RtEI%TjHu=DWi;#tWh*II4Hvn-* z45)mii4^Yg;xA94hP(o$KuJYNsA4o5YLaE;PlLSIvkUYyL_$kA%FxZw^G8` zbp=98{)XXLMLxINvTbZ^qdde3QhO!W#k~vX749IHnkRC#irfqMVnJ&M3Nd|xNcaxI zOm*91(n}E69!=ERlwYtSt^Q_uTx(qXPlue}!M4Pz;nss;eM%VY2d+p-CBBaDXId+EBeKIM1T)p zEmpo#J2nIqHiNm}YQh6BAz5g9eWq1Hm88}mn~vUf%#g^TvaK1P52?lrjM+Mjv1PqUg-^l z6E3WHw9e>!p@rrWm5I-nJhV+iX(@Xc*~L;9OjpRwqbE#2dDah~Pe@9_y_1izqC~YC zt}vI`Hus|3RMyQPiO+^vBlkP-e?)cW)IMs#DQ)=zl>l6UX~q_|5Z{*UJ+#|fwv{Oq zZFI7qd<73XlLUb&X1p_9>k{Z5S|g|8od|Cw*{3%ku$~M_IV^TaG;SMBWUOW<7 zD{zX5yVy*xF)Rs#kHkR*5`ct=^;Nm;YbsDyOP*Fu$TjL@CE+4K;Ao_Rlz<3Z80Ong z?;~!0)qca#Pb>4fWJuWo>RR^|0Dz2eYCL$sC+r>*+q21QM=!QfaT@Gnv0hP?;PR~m zUN$L}1Rx#%F7aIKclYa5@zx$A`+zvu#*9@>2}S-N)BkIRNlh6W}p8+kDF^5IiBJU?_PnJJL8lKLsa=ZqHT-u=Y!+{c$PGuZKQ41uV5b_>ezA z-5M3bZIm3CZ~wDcD_w+K5>}$yfsp#tS!*ZVn-SwTZ%uax*z!WR1?yVZKcA!n_W7sYn#ymQDkTh zP^`ih&F@hG@+5{<$cG;i)_9Xj!2uNt>h*hcM*RtQPfP|obZck_@h^XsOOcMn|6XN{ zbm;(TJ>l1m2cM=7P3)|24g$}w_*bX#sUE>1Ozm%Ap(M_1EqylYyV$3CQ2YnX`#rQG zffLE0kpvf~vTZ33z^ORK20Am6I#%#3@M7R`_!G98H~~HGVt%jD4$XW*Cz_X;%g_l zLWx||)eGsI*EE1jiRh=zQ{0QHAa`^BMhOi!V>wn~6KVGR#5VgAKnSB2FSB~QQFjU$ z?=ODi!a+VkY#Ck3c{{4g&DALi?pIOT-iV~!v5J3=lsgUX5Dgn(b51l^Ut2s5=91pD zfcyRFwX}LVI0_%S(zd;3SD-KVULx-mc?P&S zCEh_jNkA86%oob3S`l3=+fX2R^h}z&`_?*eodTDc`?FYGg^)j|@Av zRSIE;31-0LqUVGI>pGk}J)btyRq_Q)LYmyJB%%I;V5-c^h*epjm8xhsWg2i_i5QLEMh~2H>+jN; z`i&)83v=eUHDWj`FKm+0m%!KK**%|_lpCrC&7Y`g;-F-yrm>TXF8{+mUAM^uS8{C# zqQw;Wuf{?SpX!~AsgrFy`QarB#wV%b``^|*BPDJjGsU2q0pe)7x2<2=bf1mijv7Ug z+;(v`C`Q?x%#V)mbsW(awZmm#g=i+^YLF zF5{YwKA^+_mO@p~HlVzU>TCa?7s$xYA!U31AQuUC$P3-JpR6k%lLeJzS)0NwX;U(u zK-L@_^8Y49H^RJNS4wR&`UK0PZ-lllxgGh+b6V`IpKOxtM~C?GkTeZV$AzZpu?no8 zalxSW^}lPln7WTl&K56kdkp#P@|B-2#cT z#3?d5Y=4(=7ufI{jB9OGy!)r{pM5TOW|+t~c0nD}pH>&wYvw$v5nI$wC2>Ew?7qD{ zp*;M**H+7Al^Ru`=myC@l0syj#$YC;zmc5;u^-lO+&8346{j^0!JX)*jtVROQqgEe z0oP%XuE0enjJEjQ^Lf?W0?g7yfnsdO5EG>MnIv?O0)^c&CiA%4cJfUIC$OX3Hmx6* z4>tS*V$7JDaF@U?>HCn2Q=;6Gg7|JpHzRW_P#8SX`Y6cc4(RcmB5D)(q>|z?m!Bq? zQE0`1qX0>Im6G_!AcZBN$#>(lo_#6!Te*W2uP1D@9Jh{q33eXSha_?K;Jekf24wCZ z@V6se0Vx(%9lE!x zcrHmN;^AO#YP{Er8Lu?x1n{=^6IgOKYNe#uIc5S^`^)zu(-@x@kNfstN)0H@pN|Q9 zjNi)WJ7PuDC+mg4N+R*b7Kjh2hJeRG(9W)R)(Sv6ZG2~kdxF>xX_WWtMF$l}2BD(f zx-anFp@s)$DYN}siyP6et7~sK5EMcQQ?SNWlU=@Rmd}N%#9J4wI)PJnMX1c%iy)l9 zI6ymLC-bpl!<`gR!w?q~`h|%C>9*w7Gh2d7w1T91?wO^ABI&AA!2~NVz#m9Srk!kQ z?ec}-E$)Sj5WF>CbEm?VyZ^h^xOAS80zlf8@Bf9bXuFEjF5q(YBDpHP0CUB@7PDvR zlYw&VEO7U1%3Okfb`x4321J#d5M05>+kvHZ)fKJfE zbbw#ldY35*dVR|OQ6WpN$t?%}^z9p*@0|)# z$+d4P9H9E!M_%>!(?vBA6Th#Mwn+lDwh)K?u3eTw(e@MK1R)ODYY~1u`qo&kWunO3 zn{1$)kXeQh00=^VS&%26B~nncSg7qaB>(^ioI>qECL8hq0gsmmfPh9(#wgFR#Ao{g K000001X)@h