diff --git a/backend/2of5.c b/backend/2of5.c index 3f1429ed..fea1408d 100644 --- a/backend/2of5.c +++ b/backend/2of5.c @@ -34,6 +34,7 @@ #include "common.h" #include "gs1.h" +/* First 5 of each entry Interleaved also */ static const char C25MatrixTable[10][6] = { {'1','1','3','3','1','1'}, {'3','1','1','1','3','1'}, {'1','3','1','1','3','1'}, {'3','3','1','1','1','1'}, {'1','1','3','1','3','1'}, {'3','1','3','1','1','1'}, {'1','3','3','1','1','1'}, {'1','1','1','3','3','1'}, @@ -53,15 +54,6 @@ static const char C25MatrixStartStop[2][6] = { {'4', '1', '1', '1', '1', '1'} static const char C25IndustStartStop[2][6] = { {'3', '1', '3', '1', '1', '1'}, {'3', '1', '1', '1', '3'} }; static const char C25IataLogicStartStop[2][6] = { {'1', '1', '1', '1'}, {'3', '1', '1'} }; -static const char C25InterTable[10][5] = { - {'1','1','3','3','1'}, {'3','1','1','1','3'}, {'1','3','1','1','3'}, {'3','3','1','1','1'}, {'1','1','3','1','3'}, - {'3','1','3','1','1'}, {'1','3','3','1','1'}, {'1','1','1','3','3'}, {'3','1','1','3','1'}, {'1','3','1','3','1'} -}; - -static char c25_check_digit(const unsigned int count) { - return itoc((10 - (count % 10)) % 10); -} - /* Common to Standard (Matrix), Industrial, IATA, and Data Logic */ static int c25_common(struct zint_symbol *symbol, const unsigned char source[], int length, const int max, const int is_matrix, const char start_stop[2][6], const int start_length, const int error_base) { @@ -163,15 +155,16 @@ static int c25_inter_common(struct zint_symbol *symbol, unsigned char source[], return ZINT_ERROR_INVALID_DATA; } - temp[0] = '\0'; /* Input must be an even number of characters for Interlaced 2 of 5 to work: if an odd number of characters has been entered and no check digit or an even number and have check digit then add a leading zero */ - if (((length & 1) && !have_checkdigit) || (!(length & 1) && have_checkdigit)) { - ustrcpy(temp, "0"); - length++; + if (have_checkdigit == !(length & 1)) { + temp[0] = '0'; + memcpy(temp + 1, source, length++); + } else { + memcpy(temp, source, length); } - ustrncat(temp, source, length); + temp[length] = '\0'; if (have_checkdigit) { /* Add standard GS1 check digit */ @@ -179,16 +172,16 @@ static int c25_inter_common(struct zint_symbol *symbol, unsigned char source[], temp[++length] = '\0'; } - /* start character */ + /* Start character */ memcpy(d, "1111", 4); d += 4; for (i = 0; i < length; i += 2) { - /* look up the bars and the spaces */ - const char *const bars = C25InterTable[temp[i] - '0']; - const char *const spaces = C25InterTable[temp[i + 1] - '0']; + /* Look up the bars and the spaces */ + const char *const bars = C25MatrixTable[temp[i] - '0']; + const char *const spaces = C25MatrixTable[temp[i + 1] - '0']; - /* then merge (interlace) the strings together */ + /* Then merge (interlace) the strings together */ for (j = 0; j < 5; j++) { *d++ = bars[j]; *d++ = spaces[j]; @@ -287,6 +280,11 @@ INTERNAL int itf14(struct zint_symbol *symbol, unsigned char source[], int lengt return error_number; } +/* Deutsche Post check digit */ +static char c25_dp_check_digit(const unsigned int count) { + return itoc((10 - (count % 10)) % 10); +} + /* Deutsche Post Leitcode */ /* Documentation (of a very incomplete and non-technical type): https://www.deutschepost.de/content/dam/dpag/images/D_d/dialogpost-schwer/dp-dialogpost-schwer-broschuere-072021.pdf @@ -318,7 +316,7 @@ INTERNAL int dpleit(struct zint_symbol *symbol, unsigned char source[], int leng count += factor * ctoi(localstr[i]); factor ^= 0x0D; /* Toggles 4 and 9 */ } - localstr[13] = c25_check_digit(count); + localstr[13] = c25_dp_check_digit(count); localstr[14] = '\0'; error_number = c25_inter_common(symbol, localstr, 14, 0 /*checkdigit_option*/, 1 /*dont_set_height*/); @@ -366,7 +364,7 @@ INTERNAL int dpident(struct zint_symbol *symbol, unsigned char source[], int len count += factor * ctoi(localstr[i]); factor ^= 0x0D; /* Toggles 4 and 9 */ } - localstr[11] = c25_check_digit(count); + localstr[11] = c25_dp_check_digit(count); localstr[12] = '\0'; error_number = c25_inter_common(symbol, localstr, 12, 0 /*checkdigit_option*/, 1 /*dont_set_height*/); diff --git a/backend/code128.c b/backend/code128.c index 4df55a11..af78c0f7 100644 --- a/backend/code128.c +++ b/backend/code128.c @@ -325,7 +325,7 @@ static void c128_expand(struct zint_symbol *symbol, int values[C128_MAX], int ba static int c128_glyph_count(const unsigned char source[], const int length, const char set[C128_MAX], const char fset[C128_MAX]) { int glyph_count = 0; - char current_set = ' '; + char current_set = 0; int f_state = 0; int i; @@ -402,7 +402,7 @@ INTERNAL int code128(struct zint_symbol *symbol, unsigned char source[], int len unsigned char *src = source; char manual_set[C128_MAX] = {0}; unsigned char fncs[C128_MAX] = {0}; /* Manual FNC1 positions */ - char set[C128_MAX] = {0}, fset[C128_MAX], current_set = ' '; + char set[C128_MAX] = {0}, fset[C128_MAX], current_set = 0; int f_state = 0; int have_fnc1 = 0; /* Whether have at least 1 manual FNC1 */ char manual_ch = 0; @@ -468,20 +468,19 @@ INTERNAL int code128(struct zint_symbol *symbol, unsigned char source[], int len fset[i] = src[i] >= 128 ? 'f' : ' '; } - /* Decide when to latch to extended mode - Annex E note 3 */ + /* Decide when to latch to extended mode - ISO/IEC 15417:2007 Annex E note 3 */ j = 0; for (i = 0; i < length; i++) { if (fset[i] == 'f') { j++; + if (j >= 5) { + for (k = i; k > (i - 5); k--) { + fset[k] = 'F'; + } + } } else { j = 0; } - - if (j >= 5) { - for (k = i; k > (i - 5); k--) { - fset[k] = 'F'; - } - } } if (j >= 3) { for (k = length - 1; k > length - 1 - j; k--) { @@ -504,7 +503,7 @@ INTERNAL int code128(struct zint_symbol *symbol, unsigned char source[], int len } if (j - c < 3 || (j - c < 5 && k > 2)) { /* Change to shifting back rather than latching back */ - /* Inverts the same figures recommended by Annex E note 3 */ + /* Inverts the same figures recommended by ISO/IEC 15417:2007 Annex E note 3 */ for (k = 0; k < j; k++) { fset[i + k] = 'n'; } diff --git a/backend/code49.c b/backend/code49.c index e51b14e0..6c94b2b5 100644 --- a/backend/code49.c +++ b/backend/code49.c @@ -219,7 +219,7 @@ INTERNAL int code49(struct zint_symbol *symbol, unsigned char source[], int leng } if (codeword_count > 49) { - strcpy(symbol->errtxt, "432: Input too long"); + strcpy(symbol->errtxt, "432: Input too long (49 symbol character maximum)"); return ZINT_ERROR_TOO_LONG; } diff --git a/backend/gs1.c b/backend/gs1.c index e73f480f..6017598f 100644 --- a/backend/gs1.c +++ b/backend/gs1.c @@ -30,6 +30,7 @@ */ /* SPDX-License-Identifier: BSD-3-Clause */ +#include #include #include "common.h" #include "gs1.h" @@ -1494,6 +1495,129 @@ static int hasnondigit(const unsigned char *data, int data_len, int offset, int return 1; } +/* Check for package type (GSCN 23-272) */ +static int packagetype(const unsigned char *data, int data_len, int offset, int min, int max, int *p_err_no, + int *p_err_posn, char err_msg[50], const int length_only) { + + /* Package type codes https://navigator.gs1.org/edi/codelist-details?name=PackageTypeCode */ + static const char packagetypes2[381][2] = { + {'1','A'}, {'1','B'}, {'1','D'}, {'1','F'}, {'1','G'}, {'1','W'}, {'2','C'}, {'3','A'}, {'3','H'}, {'4','3'}, + {'4','4'}, {'4','A'}, {'4','B'}, {'4','C'}, {'4','D'}, {'4','F'}, {'4','G'}, {'4','H'}, {'5','H'}, {'5','L'}, + {'5','M'}, {'6','H'}, {'6','P'}, {'7','A'}, {'7','B'}, {'8','A'}, {'8','B'}, {'8','C'}, {'A','A'}, {'A','B'}, + {'A','C'}, {'A','D'}, {'A','F'}, {'A','G'}, {'A','H'}, {'A','I'}, {'A','J'}, {'A','L'}, {'A','M'}, {'A','P'}, + {'A','T'}, {'A','V'}, {'B','4'}, {'B','B'}, {'B','C'}, {'B','D'}, {'B','E'}, {'B','F'}, {'B','G'}, {'B','H'}, + {'B','I'}, {'B','J'}, {'B','K'}, {'B','L'}, {'B','M'}, {'B','N'}, {'B','O'}, {'B','P'}, {'B','Q'}, {'B','R'}, + {'B','S'}, {'B','T'}, {'B','U'}, {'B','V'}, {'B','W'}, {'B','X'}, {'B','Y'}, {'B','Z'}, {'C','A'}, {'C','B'}, + {'C','C'}, {'C','D'}, {'C','E'}, {'C','F'}, {'C','G'}, {'C','H'}, {'C','I'}, {'C','J'}, {'C','K'}, {'C','L'}, + {'C','M'}, {'C','N'}, {'C','O'}, {'C','P'}, {'C','Q'}, {'C','R'}, {'C','S'}, {'C','T'}, {'C','U'}, {'C','V'}, + {'C','W'}, {'C','X'}, {'C','Y'}, {'C','Z'}, {'D','A'}, {'D','B'}, {'D','C'}, {'D','G'}, {'D','H'}, {'D','I'}, + {'D','J'}, {'D','K'}, {'D','L'}, {'D','M'}, {'D','N'}, {'D','P'}, {'D','R'}, {'D','S'}, {'D','T'}, {'D','U'}, + {'D','V'}, {'D','W'}, {'D','X'}, {'D','Y'}, {'E','1'}, {'E','2'}, {'E','3'}, {'E','C'}, {'E','D'}, {'E','E'}, + {'E','F'}, {'E','G'}, {'E','H'}, {'E','I'}, {'E','N'}, {'F','B'}, {'F','C'}, {'F','D'}, {'F','E'}, {'F','I'}, + {'F','L'}, {'F','O'}, {'F','P'}, {'F','R'}, {'F','T'}, {'F','W'}, {'F','X'}, {'G','B'}, {'G','I'}, {'G','L'}, + {'G','R'}, {'G','U'}, {'G','Y'}, {'G','Z'}, {'H','A'}, {'H','B'}, {'H','C'}, {'H','G'}, {'H','N'}, {'H','R'}, + {'I','A'}, {'I','B'}, {'I','C'}, {'I','D'}, {'I','E'}, {'I','F'}, {'I','G'}, {'I','H'}, {'I','K'}, {'I','L'}, + {'I','N'}, {'I','Z'}, {'J','B'}, {'J','C'}, {'J','G'}, {'J','R'}, {'J','T'}, {'J','Y'}, {'K','G'}, {'K','I'}, + {'L','E'}, {'L','G'}, {'L','T'}, {'L','U'}, {'L','V'}, {'L','Z'}, {'M','A'}, {'M','B'}, {'M','C'}, {'M','E'}, + {'M','R'}, {'M','S'}, {'M','T'}, {'M','W'}, {'M','X'}, {'N','A'}, {'N','E'}, {'N','F'}, {'N','G'}, {'N','S'}, + {'N','T'}, {'N','U'}, {'N','V'}, {'O','A'}, {'O','B'}, {'O','C'}, {'O','D'}, {'O','E'}, {'O','F'}, {'O','K'}, + {'O','T'}, {'O','U'}, {'P','2'}, {'P','A'}, {'P','B'}, {'P','C'}, {'P','D'}, {'P','E'}, {'P','F'}, {'P','G'}, + {'P','H'}, {'P','I'}, {'P','J'}, {'P','K'}, {'P','L'}, {'P','N'}, {'P','O'}, {'P','P'}, {'P','R'}, {'P','T'}, + {'P','U'}, {'P','V'}, {'P','X'}, {'P','Y'}, {'P','Z'}, {'Q','A'}, {'Q','B'}, {'Q','C'}, {'Q','D'}, {'Q','F'}, + {'Q','G'}, {'Q','H'}, {'Q','J'}, {'Q','K'}, {'Q','L'}, {'Q','M'}, {'Q','N'}, {'Q','P'}, {'Q','Q'}, {'Q','R'}, + {'Q','S'}, {'R','D'}, {'R','G'}, {'R','J'}, {'R','K'}, {'R','L'}, {'R','O'}, {'R','T'}, {'R','Z'}, {'S','1'}, + {'S','A'}, {'S','B'}, {'S','C'}, {'S','D'}, {'S','E'}, {'S','H'}, {'S','I'}, {'S','K'}, {'S','L'}, {'S','M'}, + {'S','O'}, {'S','P'}, {'S','S'}, {'S','T'}, {'S','U'}, {'S','V'}, {'S','W'}, {'S','X'}, {'S','Y'}, {'S','Z'}, + {'T','1'}, {'T','B'}, {'T','C'}, {'T','D'}, {'T','E'}, {'T','G'}, {'T','I'}, {'T','K'}, {'T','L'}, {'T','N'}, + {'T','O'}, {'T','R'}, {'T','S'}, {'T','T'}, {'T','U'}, {'T','V'}, {'T','W'}, {'T','Y'}, {'T','Z'}, {'U','C'}, + {'U','N'}, {'V','A'}, {'V','G'}, {'V','I'}, {'V','K'}, {'V','L'}, {'V','N'}, {'V','O'}, {'V','P'}, {'V','Q'}, + {'V','R'}, {'V','S'}, {'V','Y'}, {'W','A'}, {'W','B'}, {'W','C'}, {'W','D'}, {'W','F'}, {'W','G'}, {'W','H'}, + {'W','J'}, {'W','K'}, {'W','L'}, {'W','M'}, {'W','N'}, {'W','P'}, {'W','Q'}, {'W','R'}, {'W','S'}, {'W','T'}, + {'W','U'}, {'W','V'}, {'W','W'}, {'W','X'}, {'W','Y'}, {'W','Z'}, {'X','3'}, {'X','A'}, {'X','B'}, {'X','C'}, + {'X','D'}, {'X','F'}, {'X','G'}, {'X','H'}, {'X','J'}, {'X','K'}, {'Y','A'}, {'Y','B'}, {'Y','C'}, {'Y','D'}, + {'Y','F'}, {'Y','G'}, {'Y','H'}, {'Y','J'}, {'Y','K'}, {'Y','L'}, {'Y','M'}, {'Y','N'}, {'Y','P'}, {'Y','Q'}, + {'Y','R'}, {'Y','S'}, {'Y','T'}, {'Y','V'}, {'Y','W'}, {'Y','X'}, {'Y','Y'}, {'Y','Z'}, {'Z','A'}, {'Z','B'}, + {'Z','C'}, {'Z','D'}, {'Z','F'}, {'Z','G'}, {'Z','H'}, {'Z','J'}, {'Z','K'}, {'Z','L'}, {'Z','M'}, {'Z','N'}, + {'Z','P'}, {'Z','Q'}, {'Z','R'}, {'Z','S'}, {'Z','T'}, {'Z','U'}, {'Z','V'}, {'Z','W'}, {'Z','X'}, {'Z','Y'}, + {'Z','Z'}, + }; + static const char packagetypes3[48][3] = { + {'2','0','0'}, {'2','0','1'}, {'2','0','2'}, {'2','0','3'}, {'2','0','4'}, + {'2','0','5'}, {'2','0','6'}, {'2','1','0'}, {'2','1','1'}, {'2','1','2'}, + {'A','P','E'}, {'B','G','E'}, {'B','M','E'}, {'B','R','I'}, {'C','B','L'}, + {'C','C','E'}, {'D','P','E'}, {'F','O','B'}, {'F','P','E'}, {'L','A','B'}, + {'M','P','E'}, {'O','P','E'}, {'P','A','E'}, {'P','L','P'}, {'P','O','P'}, + {'P','P','E'}, {'P','U','E'}, {'R','B','1'}, {'R','B','2'}, {'R','B','3'}, + {'R','C','B'}, {'S','E','C'}, {'S','T','L'}, {'T','E','V'}, {'T','H','E'}, + {'T','R','E'}, {'T','T','E'}, {'T','W','E'}, {'U','U','E'}, {'W','R','P'}, + {'X','1','1'}, {'X','1','2'}, {'X','1','5'}, {'X','1','6'}, {'X','1','7'}, + {'X','1','8'}, {'X','1','9'}, {'X','2','0'}, + }; + + (void)max; + + data_len = data_len < offset ? 0 : data_len - offset; + + if (data_len < min) { + return 0; + } + + if (!length_only && data_len) { + /* Adapted from GS1 Syntax Dictionary and Linters + https://github.com/gs1/gs1-syntax-dictionary/blob/main/src/lint_packagetype.c */ + /* SPDX-License-Identifier: Apache-2.0 */ + const char *const d = (const char *const) (data + offset); + int valid = 0; + + assert(2 /*single 8/9*/ + ARRAY_SIZE(packagetypes2) + ARRAY_SIZE(packagetypes3) == 431); + + if (data_len == 1) { + valid = *d == '8' || *d == '9'; + } else if (data_len == 2) { + int s = 0; + int e = ARRAY_SIZE(packagetypes2); + + while (s < e) { + const int m = s + (e - s) / 2; + const int cmp = memcmp(packagetypes2[m], d, 2); + if (cmp < 0) { + s = m + 1; + } else if (cmp > 0) { + e = m; + } else { + valid = 1; + break; + } + } + } else if (data_len == 3) { + int s = 0; + int e = ARRAY_SIZE(packagetypes3); + + while (s < e) { + const int m = s + (e - s) / 2; + const int cmp = memcmp(packagetypes3[m], d, 3); + if (cmp < 0) { + s = m + 1; + } else if (cmp > 0) { + e = m; + } else { + valid = 1; + break; + } + } + } + + if (!valid) { + *p_err_no = 3; + *p_err_posn = offset + 1; + sprintf(err_msg, "Invalid package type '%.*s'", data_len, d); + return 0; + } + } + + return 1; +} + /* Generated by "php backend/tools/gen_gs1_linter.php > backend/gs1_lint.h" */ #include "gs1_lint.h" diff --git a/backend/gs1_lint.h b/backend/gs1_lint.h index 521501b5..bc160ec6 100644 --- a/backend/gs1_lint.h +++ b/backend/gs1_lint.h @@ -414,6 +414,15 @@ static int n1_x1_x1_x1_importeridx(const unsigned char *data, && importeridx(data, data_len, 3, 1, 1, p_err_no, p_err_posn, err_msg, 0); } +/* X..4,packagetype (Used by UFRGT UNIT TYPE) */ +static int x__4_packagetype(const unsigned char *data, + const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { + return data_len >= 1 && data_len <= 4 + && packagetype(data, data_len, 0, 1, 4, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) + && cset82(data, data_len, 0, 1, 4, p_err_no, p_err_posn, err_msg) + && packagetype(data, data_len, 0, 1, 4, p_err_no, p_err_posn, err_msg, 0); +} + /* X2 X..28 (Used by CERT # 1, CERT # 2, CERT # 3, CERT # 4, CERT # 5, CERT # 6, CERT # 7, CERT # 8, CERT # 9, ...) */ static int x2_x__28(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { @@ -750,7 +759,7 @@ static int gs1_lint(const int ai, const unsigned char *data, const int data_len, } else if (ai < 800) { - if (ai >= 710 && ai <= 715) { + if (ai >= 710 && ai <= 716) { return x__20(data, data_len, p_err_no, p_err_posn, err_msg); } @@ -897,6 +906,9 @@ static int gs1_lint(const int ai, const unsigned char *data, const int data_len, if (ai == 7040) { return n1_x1_x1_x1_importeridx(data, data_len, p_err_no, p_err_posn, err_msg); } + if (ai == 7041) { + return x__4_packagetype(data, data_len, p_err_no, p_err_posn, err_msg); + } } else if (ai < 7300) { diff --git a/backend/pdf417_tabs.h b/backend/pdf417_tabs.h index b7c7e3ba..5a049e48 100644 --- a/backend/pdf417_tabs.h +++ b/backend/pdf417_tabs.h @@ -1,7 +1,7 @@ /* pdf417_tabs.h - PDF417 tables and coefficients */ /* 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 diff --git a/backend/raster.c b/backend/raster.c index 5e3a62d8..7e9bf93c 100644 --- a/backend/raster.c +++ b/backend/raster.c @@ -63,12 +63,12 @@ INTERNAL int tif_pixel_plot(struct zint_symbol *symbol, const unsigned char *pix static const char ultra_colour[] = "0CBMRYGKW"; -/* Wrapper to pre-check `size` on `malloc()` isn't too big (`size2` given if doing X `malloc()`s in a row) */ -static void *raster_malloc(size_t size, size_t size2) { +/* Wrapper to pre-check `size` on `malloc()` isn't too big (`prev_size` given if doing 2nd `malloc()` in a row) */ +static void *raster_malloc(size_t size, size_t prev_size) { /* Check for large image `malloc`s, which produce very large files most systems can't handle anyway */ /* Also `malloc()` on Linux will (usually) succeed regardless of request, and then get untrappably killed on access by OOM killer if too much, so this is a crude mitigation */ - if (size + size2 < size /*Overflow check*/ || size + size2 > 0x40000000 /*1GB*/) { + if (size + prev_size < size /*Overflow check*/ || size + prev_size > 0x40000000 /*1GB*/) { return NULL; } return malloc(size); @@ -112,16 +112,14 @@ static int buffer_plot(struct zint_symbol *symbol, const unsigned char *pixelbuf symbol->alphamap = NULL; } - symbol->bitmap = (unsigned char *) raster_malloc(bm_bitmap_size, 0 /*size2*/); - if (symbol->bitmap == NULL) { + if (!(symbol->bitmap = (unsigned char *) raster_malloc(bm_bitmap_size, 0 /*prev_size*/))) { strcpy(symbol->errtxt, "661: Insufficient memory for bitmap buffer"); return ZINT_ERROR_MEMORY; } if (plot_alpha) { const size_t alpha_size = (size_t) symbol->bitmap_width * symbol->bitmap_height; - symbol->alphamap = (unsigned char *) raster_malloc(alpha_size, bm_bitmap_size); - if (symbol->alphamap == NULL) { + if (!(symbol->alphamap = (unsigned char *) raster_malloc(alpha_size, bm_bitmap_size))) { strcpy(symbol->errtxt, "662: Insufficient memory for alphamap buffer"); return ZINT_ERROR_MEMORY; } @@ -182,7 +180,8 @@ static int save_raster_image_to_file(struct zint_symbol *symbol, const int image } if (rotate_angle) { - if (!(rotated_pixbuf = (unsigned char *) raster_malloc((size_t) image_width * image_height, 0 /*size2*/))) { + if (!(rotated_pixbuf = (unsigned char *) raster_malloc((size_t) image_width * image_height, + 0 /*prev_size*/))) { strcpy(symbol->errtxt, "650: Insufficient memory for pixel buffer"); return ZINT_ERROR_MEMORY; } @@ -783,7 +782,7 @@ static int plot_raster_maxicode(struct zint_symbol *symbol, const int rotate_ang assert(image_width && image_height); image_size = (size_t) image_width * image_height; - if (!(pixelbuf = (unsigned char *) raster_malloc(image_size, 0 /*size2*/))) { + if (!(pixelbuf = (unsigned char *) raster_malloc(image_size, 0 /*prev_size*/))) { strcpy(symbol->errtxt, "655: Insufficient memory for pixel buffer"); return ZINT_ERROR_MEMORY; } @@ -879,7 +878,7 @@ static int plot_raster_dotty(struct zint_symbol *symbol, const int rotate_angle, scale_size = (size_t) scale_width * scale_height; /* Apply scale options by creating pixel buffer */ - if (!(scaled_pixelbuf = (unsigned char *) raster_malloc(scale_size, 0 /*size2*/))) { + if (!(scaled_pixelbuf = (unsigned char *) raster_malloc(scale_size, 0 /*prev_size*/))) { strcpy(symbol->errtxt, "657: Insufficient memory for pixel buffer"); return ZINT_ERROR_MEMORY; } @@ -1045,7 +1044,7 @@ static int plot_raster_default(struct zint_symbol *symbol, const int rotate_angl assert(image_width && image_height); image_size = (size_t) image_width * image_height; - if (!(pixelbuf = (unsigned char *) raster_malloc(image_size, 0 /*size2*/))) { + if (!(pixelbuf = (unsigned char *) raster_malloc(image_size, 0 /*prev_size*/))) { strcpy(symbol->errtxt, "658: Insufficient memory for pixel buffer"); return ZINT_ERROR_MEMORY; } diff --git a/backend/tests/data/png/code128_egrave.png b/backend/tests/data/png/code128_egrave.png new file mode 100644 index 00000000..dfc34a14 Binary files /dev/null and b/backend/tests/data/png/code128_egrave.png differ diff --git a/backend/tests/data/png/code128_latin1_1.png b/backend/tests/data/png/code128_latin1_1.png new file mode 100644 index 00000000..91115ce5 Binary files /dev/null and b/backend/tests/data/png/code128_latin1_1.png differ diff --git a/backend/tests/data/png/code128_latin1_2.png b/backend/tests/data/png/code128_latin1_2.png new file mode 100644 index 00000000..7affde32 Binary files /dev/null and b/backend/tests/data/png/code128_latin1_2.png differ diff --git a/backend/tests/test_code49.c b/backend/tests/test_code49.c index 6d5fc148..cae2e41a 100644 --- a/backend/tests/test_code49.c +++ b/backend/tests/test_code49.c @@ -1,6 +1,6 @@ /* libzint - the open source barcode library - Copyright (C) 2020-2022 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 @@ -126,6 +126,8 @@ static void test_input(const testCtx *const p_ctx) { /* 22*/ { UNICODE_MODE, 6, "1234567890123456789012345678901234567890", -1, 0, 6, 70, "(48) 5 17 9 29 22 18 5 7 17 9 29 22 18 5 17 19 9 29 22 18 5 17 9 11 29 22 18 48 48 48 48 16", "" }, /* 23*/ { UNICODE_MODE, 7, "1234567890123456789012345678901234567890", -1, 0, 7, 70, "(56) 5 17 9 29 22 18 5 7 17 9 29 22 18 5 17 19 9 29 22 18 5 17 9 11 29 22 18 48 48 48 48 16", "" }, /* 24*/ { UNICODE_MODE, 8, "1234567890123456789012345678901234567890", -1, 0, 8, 70, "(64) 5 17 9 29 22 18 5 7 17 9 29 22 18 5 17 19 9 29 22 18 5 17 9 11 29 22 18 48 48 48 48 16", "" }, + /* 25*/ { UNICODE_MODE, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVW", -1, 0, 8, 70, "(64) 10 11 12 13 14 15 16 42 17 18 19 20 21 22 23 42 24 25 26 27 28 29 30 42 31 32 33 34 35", "" }, + /* 26*/ { UNICODE_MODE, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWX", -1, ZINT_ERROR_TOO_LONG, 0, 0, "Error 432: Input too long (49 symbol character maximum)", "" }, }; int data_size = ARRAY_SIZE(data); int i, length, ret; diff --git a/backend/tests/test_gs1.c b/backend/tests/test_gs1.c index 5e8d63ff..3cfa4d3f 100644 --- a/backend/tests/test_gs1.c +++ b/backend/tests/test_gs1.c @@ -1141,261 +1141,265 @@ static void test_gs1_verify(const testCtx *const p_ctx) { /*764*/ { "[7040]1abc", 0, "70401abc", "" }, /*765*/ { "[7040]1ab", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7040)" }, /*766*/ { "[7040]1abcd", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7040)" }, - /*767*/ { "[7041]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7041)" }, - /*768*/ { "[7042]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7042)" }, - /*769*/ { "[7050]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7050)" }, - /*770*/ { "[7090]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7090)" }, - /*771*/ { "[7099]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7099)" }, - /*772*/ { "[71]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (71)" }, - /*773*/ { "[710]abcdefghijklmnopqrst", 0, "710abcdefghijklmnopqrst", "" }, - /*774*/ { "[710]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (710)" }, - /*775*/ { "[7100]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7100)" }, - /*776*/ { "[711]abcdefghijklmnopqrst", 0, "711abcdefghijklmnopqrst", "" }, - /*777*/ { "[711]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (711)" }, - /*778*/ { "[712]abcdefghijklmnopqrst", 0, "712abcdefghijklmnopqrst", "" }, - /*779*/ { "[712]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (712)" }, - /*780*/ { "[713]abcdefghijklmnopqrst", 0, "713abcdefghijklmnopqrst", "" }, - /*781*/ { "[713]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (713)" }, - /*782*/ { "[714]abcdefghijklmnopqrst", 0, "714abcdefghijklmnopqrst", "" }, - /*783*/ { "[714]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (714)" }, - /*784*/ { "[715]abcdefghijklmnopqrst", 0, "715abcdefghijklmnopqrst", "" }, - /*785*/ { "[715]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (715)" }, - /*786*/ { "[716]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (716)" }, - /*787*/ { "[719]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (719)" }, - /*788*/ { "[72]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (72)" }, - /*789*/ { "[720]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (720)" }, - /*790*/ { "[7200]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7200)" }, - /*791*/ { "[721]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (721)" }, - /*792*/ { "[7210]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7210)" }, - /*793*/ { "[7220]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7220)" }, - /*794*/ { "[7230]EMabcdefghijklmnopqrstuvwxyzab", 0, "7230EMabcdefghijklmnopqrstuvwxyzab", "" }, - /*795*/ { "[7230]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7230)" }, - /*796*/ { "[7230]EM", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7230)" }, - /*797*/ { "[7231]EMabcdefghijklmnopqrstuvwxyzab", 0, "7231EMabcdefghijklmnopqrstuvwxyzab", "" }, - /*798*/ { "[7231]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7231)" }, - /*799*/ { "[7232]EMabcdefghijklmnopqrstuvwxyzab", 0, "7232EMabcdefghijklmnopqrstuvwxyzab", "" }, - /*800*/ { "[7232]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7232)" }, - /*801*/ { "[7233]EMabcdefghijklmnopqrstuvwxyzab", 0, "7233EMabcdefghijklmnopqrstuvwxyzab", "" }, - /*802*/ { "[7233]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7233)" }, - /*803*/ { "[7234]EMabcdefghijklmnopqrstuvwxyzab", 0, "7234EMabcdefghijklmnopqrstuvwxyzab", "" }, - /*804*/ { "[7234]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7234)" }, - /*805*/ { "[7235]EMabcdefghijklmnopqrstuvwxyzab", 0, "7235EMabcdefghijklmnopqrstuvwxyzab", "" }, - /*806*/ { "[7235]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7235)" }, - /*807*/ { "[7236]EMabcdefghijklmnopqrstuvwxyzab", 0, "7236EMabcdefghijklmnopqrstuvwxyzab", "" }, - /*808*/ { "[7236]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7236)" }, - /*809*/ { "[7237]EMabcdefghijklmnopqrstuvwxyzab", 0, "7237EMabcdefghijklmnopqrstuvwxyzab", "" }, - /*810*/ { "[7237]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7237)" }, - /*811*/ { "[7238]EMabcdefghijklmnopqrstuvwxyzab", 0, "7238EMabcdefghijklmnopqrstuvwxyzab", "" }, - /*812*/ { "[7238]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7238)" }, - /*813*/ { "[7239]EMabcdefghijklmnopqrstuvwxyzab", 0, "7239EMabcdefghijklmnopqrstuvwxyzab", "" }, - /*814*/ { "[7239]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7239)" }, - /*815*/ { "[7239]E", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7239)" }, - /*816*/ { "[7240]abcdefghijklmnopqrst", 0, "7240abcdefghijklmnopqrst", "" }, - /*817*/ { "[7240]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7240)" }, - /*818*/ { "[7241]99", 0, "724199", "" }, - /*819*/ { "[7241]100", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7241)" }, - /*820*/ { "[7242]abcdefghijklmnopqrstuvwxy", 0, "7242abcdefghijklmnopqrstuvwxy", "" }, - /*821*/ { "[7242]abcdefghijklmnopqrstuvwxyz", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7242)" }, - /*822*/ { "[7243]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7243)" }, - /*823*/ { "[7249]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7249)" }, - /*824*/ { "[7250]12341201", 0, "725012341201", "" }, - /*825*/ { "[7250]123412012", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7250)" }, - /*826*/ { "[7251]123412011359", 0, "7251123412011359", "" }, - /*827*/ { "[7251]1234120113591", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7251)" }, - /*828*/ { "[7252]2", 0, "72522", "" }, - /*829*/ { "[7252]20", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7252)" }, - /*830*/ { "[7253]abcdefghijklmnopqrstuvwxyzabcdefghijklmn", 0, "7253abcdefghijklmnopqrstuvwxyzabcdefghijklmn", "" }, - /*831*/ { "[7253]abcdefghijklmnopqrstuvwxyzabcdefghijklmno", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7253)" }, - /*832*/ { "[7254]abcdefghijklmnopqrstuvwxyzabcdefghijklmn", 0, "7254abcdefghijklmnopqrstuvwxyzabcdefghijklmn", "" }, - /*833*/ { "[7254]abcdefghijklmnopqrstuvwxyzabcdefghijklmno", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7254)" }, - /*834*/ { "[7255]abcdefghij", 0, "7255abcdefghij", "" }, - /*835*/ { "[7255]abcdefghijk", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7255)" }, - /*836*/ { "[7256]abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl", 0, "7256abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl", "" }, - /*837*/ { "[7256]abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7256)" }, - /*838*/ { "[7257]abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqr", 0, "7257abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqr", "" }, - /*839*/ { "[7257]abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrs", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7257)" }, - /*840*/ { "[7258]1/1", 0, "72581/1", "" }, - /*841*/ { "[7258]1/01", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7258)" }, - /*842*/ { "[7259]abcdefghijklmnopqrstuvwxyzabcdefghijklmn", 0, "7259abcdefghijklmnopqrstuvwxyzabcdefghijklmn", "" }, - /*843*/ { "[7259]abcdefghijklmnopqrstuvwxyzabcdefghijklmno", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7259)" }, - /*844*/ { "[7260]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7260)" }, - /*845*/ { "[7299]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7299)" }, - /*846*/ { "[73]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (73)" }, - /*847*/ { "[7300]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7300)" }, - /*848*/ { "[74]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (74)" }, - /*849*/ { "[7400]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7400)" }, - /*850*/ { "[79]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (79)" }, - /*851*/ { "[7900]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7900)" }, - /*852*/ { "[7999]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7999)" }, - /*853*/ { "[80]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (80)" }, - /*854*/ { "[800]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (800)" }, - /*855*/ { "[8000]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8000)" }, - /*856*/ { "[8001]12345678901234", ZINT_WARN_NONCOMPLIANT, "800112345678901234", "261: AI (8001) position 13: Invalid winding direction '3'" }, - /*857*/ { "[8001]12345678901204", 0, "800112345678901204", "" }, - /*858*/ { "[8001]1234123456789012345", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8001)" }, - /*859*/ { "[8002]abcdefghijklmnopqrst", 0, "8002abcdefghijklmnopqrst", "" }, - /*860*/ { "[8002]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8002)" }, - /*861*/ { "[8003]01234567890123abcdefghijklmnop", ZINT_WARN_NONCOMPLIANT, "800301234567890123abcdefghijklmnop", "261: AI (8003) position 14: Bad checksum '3', expected '8'" }, - /*862*/ { "[8003]01234567890128abcdefghijklmnop", 0, "800301234567890128abcdefghijklmnop", "" }, - /*863*/ { "[8003]01234567890128abcdefghijklmnopq", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8003)" }, - /*864*/ { "[8004]abcdefghijklmnopqrstuvwxyz1234", ZINT_WARN_NONCOMPLIANT, "8004abcdefghijklmnopqrstuvwxyz1234", "261: AI (8004) position 1: Non-numeric company prefix 'a'" }, - /*865*/ { "[8004]12cdefghijklmnopqrstuvwxyz1234", 0, "800412cdefghijklmnopqrstuvwxyz1234", "" }, - /*866*/ { "[8004]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8004)" }, - /*867*/ { "[8005]123456", 0, "8005123456", "" }, - /*868*/ { "[8005]12345", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8005)" }, - /*869*/ { "[8005]1234567", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8005)" }, - /*870*/ { "[8006]123456789012341212", ZINT_WARN_NONCOMPLIANT, "8006123456789012341212", "261: AI (8006) position 14: Bad checksum '4', expected '1'" }, - /*871*/ { "[8006]123456789012311212", 0, "8006123456789012311212", "" }, - /*872*/ { "[8006]12345678901234121", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8006)" }, - /*873*/ { "[8006]1234567890123412123", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8006)" }, - /*874*/ { "[8007]abcdefghijklmnopqrstuvwxyz12345678", ZINT_WARN_NONCOMPLIANT, "8007abcdefghijklmnopqrstuvwxyz12345678", "261: AI (8007) position 1: Non-alphabetic IBAN country code 'ab'" }, - /*875*/ { "[8007]AD95EFGHIJKLMNOPQRSTUVWXYZ12345678", 0, "8007AD95EFGHIJKLMNOPQRSTUVWXYZ12345678", "" }, - /*876*/ { "[8007]AD95EFGHIJKLMNOPQRSTUVWXYZ123456789", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8007)" }, - /*877*/ { "[8008]123456121212", ZINT_WARN_NONCOMPLIANT, "8008123456121212", "261: AI (8008) position 3: Invalid month '34'" }, - /*878*/ { "[8008]121256121212", ZINT_WARN_NONCOMPLIANT, "8008121256121212", "261: AI (8008) position 5: Invalid day '56'" }, - /*879*/ { "[8008]121231121212", 0, "8008121231121212", "" }, - /*880*/ { "[8008]1234561212", ZINT_WARN_NONCOMPLIANT, "80081234561212", "261: AI (8008) position 3: Invalid month '34'" }, - /*881*/ { "[8008]1212311212", 0, "80081212311212", "" }, - /*882*/ { "[8008]12345612", ZINT_WARN_NONCOMPLIANT, "800812345612", "261: AI (8008) position 3: Invalid month '34'" }, - /*883*/ { "[8008]12010112", 0, "800812010112", "" }, - /*884*/ { "[8008]1234561", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8008)" }, - /*885*/ { "[8008]123456121", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8008)" }, - /*886*/ { "[8008]12345612121", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8008)" }, - /*887*/ { "[8008]1234561212123", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8008)" }, - /*888*/ { "[8009]12345678901234567890123456789012345678901234567890", 0, "800912345678901234567890123456789012345678901234567890", "" }, - /*889*/ { "[8009]123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8009)" }, - /*890*/ { "[8010]1234abcdefghijklmnopqrstuvwxyz1", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8010)" }, - /*891*/ { "[8011]123456789012", 0, "8011123456789012", "" }, - /*892*/ { "[8011]1234567890123", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8011)" }, - /*893*/ { "[8012]abcdefghijklmnopqrst", 0, "8012abcdefghijklmnopqrst", "" }, - /*894*/ { "[8012]abcdefghijklmnopqrstuv", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8012)" }, - /*895*/ { "[8013]1234abcdefghijklmnopqrsQP", 0, "80131234abcdefghijklmnopqrsQP", "" }, - /*896*/ { "[8013]1234abcdefghijklmnopqrsQPv", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8013)" }, - /*897*/ { "[8014]1234abcdefghijklmnopqrsQP", 0, "80141234abcdefghijklmnopqrsQP", "" }, - /*898*/ { "[8014]1234abcdefghijklmnopqrsQPv", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8014)" }, - /*899*/ { "[8015]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8015)" }, - /*900*/ { "[8016]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8016)" }, - /*901*/ { "[8017]313131313131313139", ZINT_WARN_NONCOMPLIANT, "8017313131313131313139", "261: AI (8017) position 18: Bad checksum '9', expected '1'" }, - /*902*/ { "[8017]313131313131313131", 0, "8017313131313131313131", "" }, - /*903*/ { "[8017]31313131313131313", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8017)" }, - /*904*/ { "[8017]3131313131313131390", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8017)" }, - /*905*/ { "[8018]313131313131313139", ZINT_WARN_NONCOMPLIANT, "8018313131313131313139", "261: AI (8018) position 18: Bad checksum '9', expected '1'" }, - /*906*/ { "[8018]313131313131313131", 0, "8018313131313131313131", "" }, - /*907*/ { "[8018]31313131313131313", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8018)" }, - /*908*/ { "[8018]3131313131313131390", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8018)" }, - /*909*/ { "[8019]1234567890", 0, "80191234567890", "" }, - /*910*/ { "[8019]12345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8019)" }, - /*911*/ { "[8020]abcdefghijklmnopqrstuvwxy", 0, "8020abcdefghijklmnopqrstuvwxy", "" }, - /*912*/ { "[8020]abcdefghijklmnopqrstuvwxyz", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8020)" }, - /*913*/ { "[8021]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8021)" }, - /*914*/ { "[8025]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8025)" }, - /*915*/ { "[8026]123456789012341212", ZINT_WARN_NONCOMPLIANT, "8026123456789012341212", "261: AI (8026) position 14: Bad checksum '4', expected '1'" }, - /*916*/ { "[8026]123456789012311212", 0, "8026123456789012311212", "" }, - /*917*/ { "[8026]1234567890123451212", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8026)" }, - /*918*/ { "[8026]12345678901234512", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8026)" }, - /*919*/ { "[8027]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8027)" }, - /*920*/ { "[8030]-1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, "8030-1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ", "" }, - /*921*/ { "[8030]-1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ1", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8030)" }, - /*922*/ { "[8031]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8031)" }, - /*923*/ { "[8040]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8040)" }, - /*924*/ { "[8050]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8050)" }, - /*925*/ { "[8060]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8060)" }, - /*926*/ { "[8070]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8070)" }, - /*927*/ { "[8080]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8080)" }, - /*928*/ { "[8090]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8090)" }, - /*929*/ { "[8099]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8099)" }, - /*930*/ { "[81]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (81)" }, - /*931*/ { "[8100]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8100)" }, - /*932*/ { "[8109]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8109)" }, - /*933*/ { "[8110]5123456789011234565123455123450123105123450123512345678901320123190000", 0, "81105123456789011234565123455123450123105123450123512345678901320123190000", "" }, - /*934*/ { "[8110]51234567890112345651234551234501231051234501235123456789013201231900001", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8110)" }, - /*935*/ { "[8111]1234", 0, "81111234", "" }, - /*936*/ { "[8111]12345", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8111)" }, - /*937*/ { "[8111]123", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8111)" }, - /*938*/ { "[8112]1234567890123456789012345678901234567890123456789012345678901234567890", ZINT_WARN_NONCOMPLIANT, "81121234567890123456789012345678901234567890123456789012345678901234567890", "259: Invalid data length for AI (8112)" }, - /*939*/ { "[8112]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8112)" }, - /*940*/ { "[8112]061234567890121234569123456789012345", 0, "8112061234567890121234569123456789012345", "" }, - /*941*/ { "[8113]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8113)" }, - /*942*/ { "[8120]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8120)" }, - /*943*/ { "[8130]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8130)" }, - /*944*/ { "[8140]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8140)" }, - /*945*/ { "[8150]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8150)" }, - /*946*/ { "[8190]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8190)" }, - /*947*/ { "[8199]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8199)" }, - /*948*/ { "[82]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (82)" }, - /*949*/ { "[8200]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "82001234567890123456789012345678901234567890123456789012345678901234567890", "" }, - /*950*/ { "[8201]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8201)" }, - /*951*/ { "[8210]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8210)" }, - /*952*/ { "[8220]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8220)" }, - /*953*/ { "[8230]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8230)" }, - /*954*/ { "[8240]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8240)" }, - /*955*/ { "[8250]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8250)" }, - /*956*/ { "[8290]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8290)" }, - /*957*/ { "[8299]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8299)" }, - /*958*/ { "[83]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (83)" }, - /*959*/ { "[830]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (830)" }, - /*960*/ { "[8300]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8300)" }, - /*961*/ { "[84]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (84)" }, - /*962*/ { "[840]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (840)" }, - /*963*/ { "[8400]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8400)" }, - /*964*/ { "[85]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (85)" }, - /*965*/ { "[850]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (850)" }, - /*966*/ { "[8500]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8500)" }, - /*967*/ { "[89]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (89)" }, - /*968*/ { "[890]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (890)" }, - /*969*/ { "[8900]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8900)" }, - /*970*/ { "[90]abcdefghijklmnopqrstuvwxyz1234", 0, "90abcdefghijklmnopqrstuvwxyz1234", "" }, - /*971*/ { "[90]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (90)" }, - /*972*/ { "[900]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (900)" }, - /*973*/ { "[9000]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9000)" }, - /*974*/ { "[91]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "91123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, - /*975*/ { "[91]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (91)" }, - /*976*/ { "[910]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (910)" }, - /*977*/ { "[9100]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9100)" }, - /*978*/ { "[92]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "92123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, - /*979*/ { "[92]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (92)" }, - /*980*/ { "[920]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (920)" }, - /*981*/ { "[9200]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9200)" }, - /*982*/ { "[93]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "93123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, - /*983*/ { "[93]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (93)" }, - /*984*/ { "[930]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (930)" }, - /*985*/ { "[9300]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9300)" }, - /*986*/ { "[94]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "94123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, - /*987*/ { "[94]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (94)" }, - /*988*/ { "[940]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (940)" }, - /*989*/ { "[9400]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9400)" }, - /*990*/ { "[95]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "95123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, - /*991*/ { "[95]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (95)" }, - /*992*/ { "[950]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (950)" }, - /*993*/ { "[9500]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9500)" }, - /*994*/ { "[96]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "96123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, - /*995*/ { "[96]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (96)" }, - /*996*/ { "[960]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (960)" }, - /*997*/ { "[9600]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9600)" }, - /*998*/ { "[97]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "97123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, - /*999*/ { "[97]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (97)" }, - /*1000*/ { "[970]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (970)" }, - /*1001*/ { "[9700]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9700)" }, - /*1002*/ { "[98]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "98123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, - /*1003*/ { "[98]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (98)" }, - /*1004*/ { "[980]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (980)" }, - /*1005*/ { "[9800]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9800)" }, - /*1006*/ { "[99]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "99123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, - /*1007*/ { "[99]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (99)" }, - /*1008*/ { "[990]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (990)" }, - /*1009*/ { "[9900]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9900)" }, - /*1010*/ { "[9999]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9999)" }, - /*1011*/ { "[01]12345678901234[7006]200101", ZINT_WARN_NONCOMPLIANT, "01123456789012347006200101", "261: AI (01) position 14: Bad checksum '4', expected '1'" }, - /*1012*/ { "[01]12345678901231[7006]200101", 0, "01123456789012317006200101", "" }, - /*1013*/ { "[3900]1234567890[01]12345678901234", ZINT_WARN_NONCOMPLIANT, "39001234567890\0350112345678901234", "261: AI (01) position 14: Bad checksum '4', expected '1'" }, - /*1014*/ { "[3900]1234567890[01]12345678901231", 0, "39001234567890\0350112345678901231", "" }, - /*1015*/ { "[253]12345678901234[3901]12345678901234[20]12", ZINT_WARN_NONCOMPLIANT, "25312345678901234\035390112345678901234\0352012", "261: AI (253) position 13: Bad checksum '3', expected '8'" }, - /*1016*/ { "[253]12345678901284[3901]12345678901234[20]12", 0, "25312345678901284\035390112345678901234\0352012", "" }, - /*1017*/ { "[253]12345678901234[01]12345678901234[3901]12345678901234[20]12", ZINT_WARN_NONCOMPLIANT, "25312345678901234\0350112345678901234390112345678901234\0352012", "261: AI (01) position 14: Bad checksum '4', expected '1'" }, - /*1018*/ { "[253]12345678901284[01]12345678901231[3901]12345678901234[20]12", 0, "25312345678901284\0350112345678901231390112345678901234\0352012", "" }, - /*1019*/ { "[01]12345678901231[0A]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "", "257: Invalid AI in input data (non-numeric characters in AI)" }, - /*1020*/ { "[01]12345678901231[0]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "", "256: Invalid AI in input data (AI too short)" }, - /*1021*/ { "[01]12345678901231[]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "", "256: Invalid AI in input data (AI too short)" }, + /*767*/ { "[7041]BGE", 0, "7041BGE", "" }, + /*768*/ { "[7041]12345", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7041)" }, + /*769*/ { "[7042]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7042)" }, + /*770*/ { "[7050]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7050)" }, + /*771*/ { "[7090]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7090)" }, + /*772*/ { "[7099]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7099)" }, + /*773*/ { "[71]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (71)" }, + /*774*/ { "[710]abcdefghijklmnopqrst", 0, "710abcdefghijklmnopqrst", "" }, + /*775*/ { "[710]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (710)" }, + /*776*/ { "[7100]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7100)" }, + /*777*/ { "[711]abcdefghijklmnopqrst", 0, "711abcdefghijklmnopqrst", "" }, + /*778*/ { "[711]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (711)" }, + /*779*/ { "[712]abcdefghijklmnopqrst", 0, "712abcdefghijklmnopqrst", "" }, + /*780*/ { "[712]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (712)" }, + /*781*/ { "[713]abcdefghijklmnopqrst", 0, "713abcdefghijklmnopqrst", "" }, + /*782*/ { "[713]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (713)" }, + /*783*/ { "[714]abcdefghijklmnopqrst", 0, "714abcdefghijklmnopqrst", "" }, + /*784*/ { "[714]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (714)" }, + /*785*/ { "[715]abcdefghijklmnopqrst", 0, "715abcdefghijklmnopqrst", "" }, + /*786*/ { "[715]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (715)" }, + /*787*/ { "[716]abcdefghijklmnopqrst", 0, "716abcdefghijklmnopqrst", "" }, + /*788*/ { "[716]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (716)" }, + /*789*/ { "[717]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (717)" }, + /*790*/ { "[718]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (718)" }, + /*791*/ { "[719]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (719)" }, + /*792*/ { "[72]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (72)" }, + /*793*/ { "[720]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (720)" }, + /*794*/ { "[7200]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7200)" }, + /*795*/ { "[721]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (721)" }, + /*796*/ { "[7210]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7210)" }, + /*797*/ { "[7220]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7220)" }, + /*798*/ { "[7230]EMabcdefghijklmnopqrstuvwxyzab", 0, "7230EMabcdefghijklmnopqrstuvwxyzab", "" }, + /*799*/ { "[7230]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7230)" }, + /*800*/ { "[7230]EM", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7230)" }, + /*801*/ { "[7231]EMabcdefghijklmnopqrstuvwxyzab", 0, "7231EMabcdefghijklmnopqrstuvwxyzab", "" }, + /*802*/ { "[7231]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7231)" }, + /*803*/ { "[7232]EMabcdefghijklmnopqrstuvwxyzab", 0, "7232EMabcdefghijklmnopqrstuvwxyzab", "" }, + /*804*/ { "[7232]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7232)" }, + /*805*/ { "[7233]EMabcdefghijklmnopqrstuvwxyzab", 0, "7233EMabcdefghijklmnopqrstuvwxyzab", "" }, + /*806*/ { "[7233]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7233)" }, + /*807*/ { "[7234]EMabcdefghijklmnopqrstuvwxyzab", 0, "7234EMabcdefghijklmnopqrstuvwxyzab", "" }, + /*808*/ { "[7234]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7234)" }, + /*809*/ { "[7235]EMabcdefghijklmnopqrstuvwxyzab", 0, "7235EMabcdefghijklmnopqrstuvwxyzab", "" }, + /*810*/ { "[7235]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7235)" }, + /*811*/ { "[7236]EMabcdefghijklmnopqrstuvwxyzab", 0, "7236EMabcdefghijklmnopqrstuvwxyzab", "" }, + /*812*/ { "[7236]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7236)" }, + /*813*/ { "[7237]EMabcdefghijklmnopqrstuvwxyzab", 0, "7237EMabcdefghijklmnopqrstuvwxyzab", "" }, + /*814*/ { "[7237]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7237)" }, + /*815*/ { "[7238]EMabcdefghijklmnopqrstuvwxyzab", 0, "7238EMabcdefghijklmnopqrstuvwxyzab", "" }, + /*816*/ { "[7238]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7238)" }, + /*817*/ { "[7239]EMabcdefghijklmnopqrstuvwxyzab", 0, "7239EMabcdefghijklmnopqrstuvwxyzab", "" }, + /*818*/ { "[7239]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7239)" }, + /*819*/ { "[7239]E", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7239)" }, + /*820*/ { "[7240]abcdefghijklmnopqrst", 0, "7240abcdefghijklmnopqrst", "" }, + /*821*/ { "[7240]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7240)" }, + /*822*/ { "[7241]99", 0, "724199", "" }, + /*823*/ { "[7241]100", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7241)" }, + /*824*/ { "[7242]abcdefghijklmnopqrstuvwxy", 0, "7242abcdefghijklmnopqrstuvwxy", "" }, + /*825*/ { "[7242]abcdefghijklmnopqrstuvwxyz", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7242)" }, + /*826*/ { "[7243]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7243)" }, + /*827*/ { "[7249]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7249)" }, + /*828*/ { "[7250]12341201", 0, "725012341201", "" }, + /*829*/ { "[7250]123412012", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7250)" }, + /*830*/ { "[7251]123412011359", 0, "7251123412011359", "" }, + /*831*/ { "[7251]1234120113591", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7251)" }, + /*832*/ { "[7252]2", 0, "72522", "" }, + /*833*/ { "[7252]20", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7252)" }, + /*834*/ { "[7253]abcdefghijklmnopqrstuvwxyzabcdefghijklmn", 0, "7253abcdefghijklmnopqrstuvwxyzabcdefghijklmn", "" }, + /*835*/ { "[7253]abcdefghijklmnopqrstuvwxyzabcdefghijklmno", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7253)" }, + /*836*/ { "[7254]abcdefghijklmnopqrstuvwxyzabcdefghijklmn", 0, "7254abcdefghijklmnopqrstuvwxyzabcdefghijklmn", "" }, + /*837*/ { "[7254]abcdefghijklmnopqrstuvwxyzabcdefghijklmno", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7254)" }, + /*838*/ { "[7255]abcdefghij", 0, "7255abcdefghij", "" }, + /*839*/ { "[7255]abcdefghijk", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7255)" }, + /*840*/ { "[7256]abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl", 0, "7256abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl", "" }, + /*841*/ { "[7256]abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7256)" }, + /*842*/ { "[7257]abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqr", 0, "7257abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqr", "" }, + /*843*/ { "[7257]abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrs", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7257)" }, + /*844*/ { "[7258]1/1", 0, "72581/1", "" }, + /*845*/ { "[7258]1/01", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7258)" }, + /*846*/ { "[7259]abcdefghijklmnopqrstuvwxyzabcdefghijklmn", 0, "7259abcdefghijklmnopqrstuvwxyzabcdefghijklmn", "" }, + /*847*/ { "[7259]abcdefghijklmnopqrstuvwxyzabcdefghijklmno", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (7259)" }, + /*848*/ { "[7260]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7260)" }, + /*849*/ { "[7299]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7299)" }, + /*850*/ { "[73]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (73)" }, + /*851*/ { "[7300]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7300)" }, + /*852*/ { "[74]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (74)" }, + /*853*/ { "[7400]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7400)" }, + /*854*/ { "[79]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (79)" }, + /*855*/ { "[7900]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7900)" }, + /*856*/ { "[7999]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (7999)" }, + /*857*/ { "[80]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (80)" }, + /*858*/ { "[800]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (800)" }, + /*859*/ { "[8000]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8000)" }, + /*860*/ { "[8001]12345678901234", ZINT_WARN_NONCOMPLIANT, "800112345678901234", "261: AI (8001) position 13: Invalid winding direction '3'" }, + /*861*/ { "[8001]12345678901204", 0, "800112345678901204", "" }, + /*862*/ { "[8001]1234123456789012345", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8001)" }, + /*863*/ { "[8002]abcdefghijklmnopqrst", 0, "8002abcdefghijklmnopqrst", "" }, + /*864*/ { "[8002]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8002)" }, + /*865*/ { "[8003]01234567890123abcdefghijklmnop", ZINT_WARN_NONCOMPLIANT, "800301234567890123abcdefghijklmnop", "261: AI (8003) position 14: Bad checksum '3', expected '8'" }, + /*866*/ { "[8003]01234567890128abcdefghijklmnop", 0, "800301234567890128abcdefghijklmnop", "" }, + /*867*/ { "[8003]01234567890128abcdefghijklmnopq", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8003)" }, + /*868*/ { "[8004]abcdefghijklmnopqrstuvwxyz1234", ZINT_WARN_NONCOMPLIANT, "8004abcdefghijklmnopqrstuvwxyz1234", "261: AI (8004) position 1: Non-numeric company prefix 'a'" }, + /*869*/ { "[8004]12cdefghijklmnopqrstuvwxyz1234", 0, "800412cdefghijklmnopqrstuvwxyz1234", "" }, + /*870*/ { "[8004]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8004)" }, + /*871*/ { "[8005]123456", 0, "8005123456", "" }, + /*872*/ { "[8005]12345", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8005)" }, + /*873*/ { "[8005]1234567", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8005)" }, + /*874*/ { "[8006]123456789012341212", ZINT_WARN_NONCOMPLIANT, "8006123456789012341212", "261: AI (8006) position 14: Bad checksum '4', expected '1'" }, + /*875*/ { "[8006]123456789012311212", 0, "8006123456789012311212", "" }, + /*876*/ { "[8006]12345678901234121", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8006)" }, + /*877*/ { "[8006]1234567890123412123", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8006)" }, + /*878*/ { "[8007]abcdefghijklmnopqrstuvwxyz12345678", ZINT_WARN_NONCOMPLIANT, "8007abcdefghijklmnopqrstuvwxyz12345678", "261: AI (8007) position 1: Non-alphabetic IBAN country code 'ab'" }, + /*879*/ { "[8007]AD95EFGHIJKLMNOPQRSTUVWXYZ12345678", 0, "8007AD95EFGHIJKLMNOPQRSTUVWXYZ12345678", "" }, + /*880*/ { "[8007]AD95EFGHIJKLMNOPQRSTUVWXYZ123456789", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8007)" }, + /*881*/ { "[8008]123456121212", ZINT_WARN_NONCOMPLIANT, "8008123456121212", "261: AI (8008) position 3: Invalid month '34'" }, + /*882*/ { "[8008]121256121212", ZINT_WARN_NONCOMPLIANT, "8008121256121212", "261: AI (8008) position 5: Invalid day '56'" }, + /*883*/ { "[8008]121231121212", 0, "8008121231121212", "" }, + /*884*/ { "[8008]1234561212", ZINT_WARN_NONCOMPLIANT, "80081234561212", "261: AI (8008) position 3: Invalid month '34'" }, + /*885*/ { "[8008]1212311212", 0, "80081212311212", "" }, + /*886*/ { "[8008]12345612", ZINT_WARN_NONCOMPLIANT, "800812345612", "261: AI (8008) position 3: Invalid month '34'" }, + /*887*/ { "[8008]12010112", 0, "800812010112", "" }, + /*888*/ { "[8008]1234561", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8008)" }, + /*889*/ { "[8008]123456121", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8008)" }, + /*890*/ { "[8008]12345612121", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8008)" }, + /*891*/ { "[8008]1234561212123", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8008)" }, + /*892*/ { "[8009]12345678901234567890123456789012345678901234567890", 0, "800912345678901234567890123456789012345678901234567890", "" }, + /*893*/ { "[8009]123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8009)" }, + /*894*/ { "[8010]1234abcdefghijklmnopqrstuvwxyz1", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8010)" }, + /*895*/ { "[8011]123456789012", 0, "8011123456789012", "" }, + /*896*/ { "[8011]1234567890123", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8011)" }, + /*897*/ { "[8012]abcdefghijklmnopqrst", 0, "8012abcdefghijklmnopqrst", "" }, + /*898*/ { "[8012]abcdefghijklmnopqrstuv", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8012)" }, + /*899*/ { "[8013]1234abcdefghijklmnopqrsQP", 0, "80131234abcdefghijklmnopqrsQP", "" }, + /*900*/ { "[8013]1234abcdefghijklmnopqrsQPv", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8013)" }, + /*901*/ { "[8014]1234abcdefghijklmnopqrsQP", 0, "80141234abcdefghijklmnopqrsQP", "" }, + /*902*/ { "[8014]1234abcdefghijklmnopqrsQPv", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8014)" }, + /*903*/ { "[8015]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8015)" }, + /*904*/ { "[8016]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8016)" }, + /*905*/ { "[8017]313131313131313139", ZINT_WARN_NONCOMPLIANT, "8017313131313131313139", "261: AI (8017) position 18: Bad checksum '9', expected '1'" }, + /*906*/ { "[8017]313131313131313131", 0, "8017313131313131313131", "" }, + /*907*/ { "[8017]31313131313131313", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8017)" }, + /*908*/ { "[8017]3131313131313131390", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8017)" }, + /*909*/ { "[8018]313131313131313139", ZINT_WARN_NONCOMPLIANT, "8018313131313131313139", "261: AI (8018) position 18: Bad checksum '9', expected '1'" }, + /*910*/ { "[8018]313131313131313131", 0, "8018313131313131313131", "" }, + /*911*/ { "[8018]31313131313131313", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8018)" }, + /*912*/ { "[8018]3131313131313131390", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8018)" }, + /*913*/ { "[8019]1234567890", 0, "80191234567890", "" }, + /*914*/ { "[8019]12345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8019)" }, + /*915*/ { "[8020]abcdefghijklmnopqrstuvwxy", 0, "8020abcdefghijklmnopqrstuvwxy", "" }, + /*916*/ { "[8020]abcdefghijklmnopqrstuvwxyz", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8020)" }, + /*917*/ { "[8021]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8021)" }, + /*918*/ { "[8025]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8025)" }, + /*919*/ { "[8026]123456789012341212", ZINT_WARN_NONCOMPLIANT, "8026123456789012341212", "261: AI (8026) position 14: Bad checksum '4', expected '1'" }, + /*920*/ { "[8026]123456789012311212", 0, "8026123456789012311212", "" }, + /*921*/ { "[8026]1234567890123451212", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8026)" }, + /*922*/ { "[8026]12345678901234512", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8026)" }, + /*923*/ { "[8027]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8027)" }, + /*924*/ { "[8030]-1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, "8030-1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ", "" }, + /*925*/ { "[8030]-1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ1", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8030)" }, + /*926*/ { "[8031]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8031)" }, + /*927*/ { "[8040]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8040)" }, + /*928*/ { "[8050]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8050)" }, + /*929*/ { "[8060]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8060)" }, + /*930*/ { "[8070]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8070)" }, + /*931*/ { "[8080]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8080)" }, + /*932*/ { "[8090]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8090)" }, + /*933*/ { "[8099]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8099)" }, + /*934*/ { "[81]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (81)" }, + /*935*/ { "[8100]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8100)" }, + /*936*/ { "[8109]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8109)" }, + /*937*/ { "[8110]5123456789011234565123455123450123105123450123512345678901320123190000", 0, "81105123456789011234565123455123450123105123450123512345678901320123190000", "" }, + /*938*/ { "[8110]51234567890112345651234551234501231051234501235123456789013201231900001", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8110)" }, + /*939*/ { "[8111]1234", 0, "81111234", "" }, + /*940*/ { "[8111]12345", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8111)" }, + /*941*/ { "[8111]123", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8111)" }, + /*942*/ { "[8112]1234567890123456789012345678901234567890123456789012345678901234567890", ZINT_WARN_NONCOMPLIANT, "81121234567890123456789012345678901234567890123456789012345678901234567890", "259: Invalid data length for AI (8112)" }, + /*943*/ { "[8112]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8112)" }, + /*944*/ { "[8112]061234567890121234569123456789012345", 0, "8112061234567890121234569123456789012345", "" }, + /*945*/ { "[8113]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8113)" }, + /*946*/ { "[8120]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8120)" }, + /*947*/ { "[8130]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8130)" }, + /*948*/ { "[8140]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8140)" }, + /*949*/ { "[8150]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8150)" }, + /*950*/ { "[8190]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8190)" }, + /*951*/ { "[8199]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8199)" }, + /*952*/ { "[82]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (82)" }, + /*953*/ { "[8200]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "82001234567890123456789012345678901234567890123456789012345678901234567890", "" }, + /*954*/ { "[8201]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8201)" }, + /*955*/ { "[8210]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8210)" }, + /*956*/ { "[8220]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8220)" }, + /*957*/ { "[8230]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8230)" }, + /*958*/ { "[8240]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8240)" }, + /*959*/ { "[8250]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8250)" }, + /*960*/ { "[8290]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8290)" }, + /*961*/ { "[8299]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8299)" }, + /*962*/ { "[83]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (83)" }, + /*963*/ { "[830]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (830)" }, + /*964*/ { "[8300]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8300)" }, + /*965*/ { "[84]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (84)" }, + /*966*/ { "[840]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (840)" }, + /*967*/ { "[8400]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8400)" }, + /*968*/ { "[85]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (85)" }, + /*969*/ { "[850]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (850)" }, + /*970*/ { "[8500]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8500)" }, + /*971*/ { "[89]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (89)" }, + /*972*/ { "[890]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (890)" }, + /*973*/ { "[8900]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (8900)" }, + /*974*/ { "[90]abcdefghijklmnopqrstuvwxyz1234", 0, "90abcdefghijklmnopqrstuvwxyz1234", "" }, + /*975*/ { "[90]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (90)" }, + /*976*/ { "[900]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (900)" }, + /*977*/ { "[9000]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9000)" }, + /*978*/ { "[91]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "91123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, + /*979*/ { "[91]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (91)" }, + /*980*/ { "[910]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (910)" }, + /*981*/ { "[9100]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9100)" }, + /*982*/ { "[92]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "92123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, + /*983*/ { "[92]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (92)" }, + /*984*/ { "[920]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (920)" }, + /*985*/ { "[9200]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9200)" }, + /*986*/ { "[93]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "93123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, + /*987*/ { "[93]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (93)" }, + /*988*/ { "[930]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (930)" }, + /*989*/ { "[9300]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9300)" }, + /*990*/ { "[94]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "94123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, + /*991*/ { "[94]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (94)" }, + /*992*/ { "[940]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (940)" }, + /*993*/ { "[9400]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9400)" }, + /*994*/ { "[95]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "95123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, + /*995*/ { "[95]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (95)" }, + /*996*/ { "[950]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (950)" }, + /*997*/ { "[9500]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9500)" }, + /*998*/ { "[96]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "96123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, + /*999*/ { "[96]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (96)" }, + /*1000*/ { "[960]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (960)" }, + /*1001*/ { "[9600]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9600)" }, + /*1002*/ { "[97]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "97123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, + /*1003*/ { "[97]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (97)" }, + /*1004*/ { "[970]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (970)" }, + /*1005*/ { "[9700]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9700)" }, + /*1006*/ { "[98]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "98123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, + /*1007*/ { "[98]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (98)" }, + /*1008*/ { "[980]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (980)" }, + /*1009*/ { "[9800]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9800)" }, + /*1010*/ { "[99]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "99123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "" }, + /*1011*/ { "[99]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (99)" }, + /*1012*/ { "[990]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (990)" }, + /*1013*/ { "[9900]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9900)" }, + /*1014*/ { "[9999]1234", ZINT_ERROR_INVALID_DATA, "", "260: Invalid AI (9999)" }, + /*1015*/ { "[01]12345678901234[7006]200101", ZINT_WARN_NONCOMPLIANT, "01123456789012347006200101", "261: AI (01) position 14: Bad checksum '4', expected '1'" }, + /*1016*/ { "[01]12345678901231[7006]200101", 0, "01123456789012317006200101", "" }, + /*1017*/ { "[3900]1234567890[01]12345678901234", ZINT_WARN_NONCOMPLIANT, "39001234567890\0350112345678901234", "261: AI (01) position 14: Bad checksum '4', expected '1'" }, + /*1018*/ { "[3900]1234567890[01]12345678901231", 0, "39001234567890\0350112345678901231", "" }, + /*1019*/ { "[253]12345678901234[3901]12345678901234[20]12", ZINT_WARN_NONCOMPLIANT, "25312345678901234\035390112345678901234\0352012", "261: AI (253) position 13: Bad checksum '3', expected '8'" }, + /*1020*/ { "[253]12345678901284[3901]12345678901234[20]12", 0, "25312345678901284\035390112345678901234\0352012", "" }, + /*1021*/ { "[253]12345678901234[01]12345678901234[3901]12345678901234[20]12", ZINT_WARN_NONCOMPLIANT, "25312345678901234\0350112345678901234390112345678901234\0352012", "261: AI (01) position 14: Bad checksum '4', expected '1'" }, + /*1022*/ { "[253]12345678901284[01]12345678901231[3901]12345678901234[20]12", 0, "25312345678901284\0350112345678901231390112345678901234\0352012", "" }, + /*1023*/ { "[01]12345678901231[0A]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "", "257: Invalid AI in input data (non-numeric characters in AI)" }, + /*1024*/ { "[01]12345678901231[0]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "", "256: Invalid AI in input data (AI too short)" }, + /*1025*/ { "[01]12345678901231[]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "", "256: Invalid AI in input data (AI too short)" }, }; int data_size = ARRAY_SIZE(data); int i, length, ret; @@ -1880,6 +1884,224 @@ static void test_gs1_lint(const testCtx *const p_ctx) { /*428*/ { "[7258]1/A", ZINT_WARN_NONCOMPLIANT, "72581/A", "261: AI (7258) position 3: Invalid character 'A' in sequence" }, /* posinseqslash */ /*429*/ { "[8014]990000A35", 0, "8014990000A35", "" }, /* hasnondigit */ /*430*/ { "[8014]990000025", ZINT_WARN_NONCOMPLIANT, "8014990000025", "261: AI (8014) position 1: A non-digit character is required" }, /* hasnondigit */ + /*431*/ { "[7041]8", 0, "70418", "" }, /* packagetype */ + /*432*/ { "[7041]9", 0, "70419", "" }, /* packagetype */ + /*433*/ { "[7041]9[00]123456789012345675", 0, "70419\03500123456789012345675", "" }, /* packagetype */ + /*434*/ { "[7041]20", ZINT_WARN_NONCOMPLIANT, "704120", "261: AI (7041) position 1: Invalid package type '20'" }, /* packagetype */ + /*435*/ { "[7041]20[00]123456789012345675", ZINT_WARN_NONCOMPLIANT, "704120\03500123456789012345675", "261: AI (7041) position 1: Invalid package type '20'" }, /* packagetype */ + /*436*/ { "[7041]200", 0, "7041200", "" }, /* packagetype */ + /*437*/ { "[7041]200[00]123456789012345675", 0, "7041200\03500123456789012345675", "" }, /* packagetype */ + /*438*/ { "[7041]2000", ZINT_WARN_NONCOMPLIANT, "70412000", "261: AI (7041) position 1: Invalid package type '2000'" }, /* packagetype */ + /*439*/ { "[7041]200_", ZINT_WARN_NONCOMPLIANT, "7041200_", "261: AI (7041) position 1: Invalid package type '200_'" }, /* packagetype */ + /*440*/ { "[7041]_", ZINT_WARN_NONCOMPLIANT, "7041_", "261: AI (7041) position 1: Invalid package type '_'" }, /* packagetype */ + /*441*/ { "[7041]_9", ZINT_WARN_NONCOMPLIANT, "7041_9", "261: AI (7041) position 1: Invalid package type '_9'" }, /* packagetype */ + /*442*/ { "[7041]9_", ZINT_WARN_NONCOMPLIANT, "70419_", "261: AI (7041) position 1: Invalid package type '9_'" }, /* packagetype */ + /*443*/ { "[7041]/", ZINT_WARN_NONCOMPLIANT, "7041/", "261: AI (7041) position 1: Invalid package type '/'" }, /* packagetype */ + /*444*/ { "[7041]/9", ZINT_WARN_NONCOMPLIANT, "7041/9", "261: AI (7041) position 1: Invalid package type '/9'" }, /* packagetype */ + /*445*/ { "[7041]9/", ZINT_WARN_NONCOMPLIANT, "70419/", "261: AI (7041) position 1: Invalid package type '9/'" }, /* packagetype */ + /*446*/ { "[7041]0", ZINT_WARN_NONCOMPLIANT, "70410", "261: AI (7041) position 1: Invalid package type '0'" }, /* packagetype */ + /*447*/ { "[7041]00", ZINT_WARN_NONCOMPLIANT, "704100", "261: AI (7041) position 1: Invalid package type '00'" }, /* packagetype */ + /*448*/ { "[7041]000", ZINT_WARN_NONCOMPLIANT, "7041000", "261: AI (7041) position 1: Invalid package type '000'" }, /* packagetype */ + /*449*/ { "[7041]0000", ZINT_WARN_NONCOMPLIANT, "70410000", "261: AI (7041) position 1: Invalid package type '0000'" }, /* packagetype */ + /*450*/ { "[7041]1", ZINT_WARN_NONCOMPLIANT, "70411", "261: AI (7041) position 1: Invalid package type '1'" }, /* packagetype */ + /*451*/ { "[7041]//", ZINT_WARN_NONCOMPLIANT, "7041//", "261: AI (7041) position 1: Invalid package type '//'" }, /* packagetype */ + /*452*/ { "[7041]11", ZINT_WARN_NONCOMPLIANT, "704111", "261: AI (7041) position 1: Invalid package type '11'" }, /* packagetype */ + /*453*/ { "[7041]1A", 0, "70411A", "" }, /* packagetype */ + /*454*/ { "[7041]1A1", ZINT_WARN_NONCOMPLIANT, "70411A1", "261: AI (7041) position 1: Invalid package type '1A1'" }, /* packagetype */ + /*455*/ { "[7041]1_A1", ZINT_WARN_NONCOMPLIANT, "70411_A1", "261: AI (7041) position 1: Invalid package type '1_A1'" }, /* packagetype */ + /*456*/ { "[7041]1A1_", ZINT_WARN_NONCOMPLIANT, "70411A1_", "261: AI (7041) position 1: Invalid package type '1A1_'" }, /* packagetype */ + /*457*/ { "[7041]1B", 0, "70411B", "" }, /* packagetype */ + /*458*/ { "[7041]1W", 0, "70411W", "" }, /* packagetype */ + /*459*/ { "[7041]1X", ZINT_WARN_NONCOMPLIANT, "70411X", "261: AI (7041) position 1: Invalid package type '1X'" }, /* packagetype */ + /*460*/ { "[7041]2A", ZINT_WARN_NONCOMPLIANT, "70412A", "261: AI (7041) position 1: Invalid package type '2A'" }, /* packagetype */ + /*461*/ { "[7041]2B", ZINT_WARN_NONCOMPLIANT, "70412B", "261: AI (7041) position 1: Invalid package type '2B'" }, /* packagetype */ + /*462*/ { "[7041]2C", 0, "70412C", "" }, /* packagetype */ + /*463*/ { "[7041]2D", ZINT_WARN_NONCOMPLIANT, "70412D", "261: AI (7041) position 1: Invalid package type '2D'" }, /* packagetype */ + /*464*/ { "[7041]3A", 0, "70413A", "" }, /* packagetype */ + /*465*/ { "[7041]3H", 0, "70413H", "" }, /* packagetype */ + /*466*/ { "[7041]42", ZINT_WARN_NONCOMPLIANT, "704142", "261: AI (7041) position 1: Invalid package type '42'" }, /* packagetype */ + /*467*/ { "[7041]43", 0, "704143", "" }, /* packagetype */ + /*468*/ { "[7041]44", 0, "704144", "" }, /* packagetype */ + /*469*/ { "[7041]45", ZINT_WARN_NONCOMPLIANT, "704145", "261: AI (7041) position 1: Invalid package type '45'" }, /* packagetype */ + /*470*/ { "[7041]4A", 0, "70414A", "" }, /* packagetype */ + /*471*/ { "[7041]4H", 0, "70414H", "" }, /* packagetype */ + /*472*/ { "[7041]4I", ZINT_WARN_NONCOMPLIANT, "70414I", "261: AI (7041) position 1: Invalid package type '4I'" }, /* packagetype */ + /*473*/ { "[7041]5H", 0, "70415H", "" }, /* packagetype */ + /*474*/ { "[7041]5K", ZINT_WARN_NONCOMPLIANT, "70415K", "261: AI (7041) position 1: Invalid package type '5K'" }, /* packagetype */ + /*475*/ { "[7041]5M", 0, "70415M", "" }, /* packagetype */ + /*476*/ { "[7041]6H", 0, "70416H", "" }, /* packagetype */ + /*477*/ { "[7041]6I", ZINT_WARN_NONCOMPLIANT, "70416I", "261: AI (7041) position 1: Invalid package type '6I'" }, /* packagetype */ + /*478*/ { "[7041]7B", 0, "70417B", "" }, /* packagetype */ + /*479*/ { "[7041]7C", ZINT_WARN_NONCOMPLIANT, "70417C", "261: AI (7041) position 1: Invalid package type '7C'" }, /* packagetype */ + /*480*/ { "[7041]81", ZINT_WARN_NONCOMPLIANT, "704181", "261: AI (7041) position 1: Invalid package type '81'" }, /* packagetype */ + /*481*/ { "[7041]8A", 0, "70418A", "" }, /* packagetype */ + /*482*/ { "[7041]8C", 0, "70418C", "" }, /* packagetype */ + /*483*/ { "[7041]90", ZINT_WARN_NONCOMPLIANT, "704190", "261: AI (7041) position 1: Invalid package type '90'" }, /* packagetype */ + /*484*/ { "[7041]AA", 0, "7041AA", "" }, /* packagetype */ + /*485*/ { "[7041]AB", 0, "7041AB", "" }, /* packagetype */ + /*486*/ { "[7041]AJ", 0, "7041AJ", "" }, /* packagetype */ + /*487*/ { "[7041]AK", ZINT_WARN_NONCOMPLIANT, "7041AK", "261: AI (7041) position 1: Invalid package type 'AK'" }, /* packagetype */ + /*488*/ { "[7041]AM", 0, "7041AM", "" }, /* packagetype */ + /*489*/ { "[7041]AP", 0, "7041AP", "" }, /* packagetype */ + /*490*/ { "[7041]AV", 0, "7041AV", "" }, /* packagetype */ + /*491*/ { "[7041]B3", ZINT_WARN_NONCOMPLIANT, "7041B3", "261: AI (7041) position 1: Invalid package type 'B3'" }, /* packagetype */ + /*492*/ { "[7041]B4", 0, "7041B4", "" }, /* packagetype */ + /*493*/ { "[7041]BA", ZINT_WARN_NONCOMPLIANT, "7041BA", "261: AI (7041) position 1: Invalid package type 'BA'" }, /* packagetype */ + /*494*/ { "[7041]BB", 0, "7041BB", "" }, /* packagetype */ + /*495*/ { "[7041]BG", 0, "7041BG", "" }, /* packagetype */ + /*496*/ { "[7041]BM", 0, "7041BM", "" }, /* packagetype */ + /*497*/ { "[7041]BN", 0, "7041BN", "" }, /* packagetype */ + /*498*/ { "[7041]BR", 0, "7041BR", "" }, /* packagetype */ + /*499*/ { "[7041]BZ", 0, "7041BZ", "" }, /* packagetype */ + /*500*/ { "[7041]C?", ZINT_WARN_NONCOMPLIANT, "7041C?", "261: AI (7041) position 1: Invalid package type 'C?'" }, /* packagetype */ + /*501*/ { "[7041]CA", 0, "7041CA", "" }, /* packagetype */ + /*502*/ { "[7041]CB", 0, "7041CB", "" }, /* packagetype */ + /*503*/ { "[7041]CC", 0, "7041CC", "" }, /* packagetype */ + /*504*/ { "[7041]DA", 0, "7041DA", "" }, /* packagetype */ + /*505*/ { "[7041]DD", ZINT_WARN_NONCOMPLIANT, "7041DD", "261: AI (7041) position 1: Invalid package type 'DD'" }, /* packagetype */ + /*506*/ { "[7041]DF", ZINT_WARN_NONCOMPLIANT, "7041DF", "261: AI (7041) position 1: Invalid package type 'DF'" }, /* packagetype */ + /*507*/ { "[7041]DG", 0, "7041DG", "" }, /* packagetype */ + /*508*/ { "[7041]DP", 0, "7041DP", "" }, /* packagetype */ + /*509*/ { "[7041]DQ", ZINT_WARN_NONCOMPLIANT, "7041DQ", "261: AI (7041) position 1: Invalid package type 'DQ'" }, /* packagetype */ + /*510*/ { "[7041]E0", ZINT_WARN_NONCOMPLIANT, "7041E0", "261: AI (7041) position 1: Invalid package type 'E0'" }, /* packagetype */ + /*511*/ { "[7041]E1", 0, "7041E1", "" }, /* packagetype */ + /*512*/ { "[7041]E3", 0, "7041E3", "" }, /* packagetype */ + /*513*/ { "[7041]EB", ZINT_WARN_NONCOMPLIANT, "7041EB", "261: AI (7041) position 1: Invalid package type 'EB'" }, /* packagetype */ + /*514*/ { "[7041]EC", 0, "7041EC", "" }, /* packagetype */ + /*515*/ { "[7041]FA", ZINT_WARN_NONCOMPLIANT, "7041FA", "261: AI (7041) position 1: Invalid package type 'FA'" }, /* packagetype */ + /*516*/ { "[7041]FO", 0, "7041FO", "" }, /* packagetype */ + /*517*/ { "[7041]FP", 0, "7041FP", "" }, /* packagetype */ + /*518*/ { "[7041]GA", ZINT_WARN_NONCOMPLIANT, "7041GA", "261: AI (7041) position 1: Invalid package type 'GA'" }, /* packagetype */ + /*519*/ { "[7041]GB", 0, "7041GB", "" }, /* packagetype */ + /*520*/ { "[7041]HR", 0, "7041HR", "" }, /* packagetype */ + /*521*/ { "[7041]HT", ZINT_WARN_NONCOMPLIANT, "7041HT", "261: AI (7041) position 1: Invalid package type 'HT'" }, /* packagetype */ + /*522*/ { "[7041]IJ", ZINT_WARN_NONCOMPLIANT, "7041IJ", "261: AI (7041) position 1: Invalid package type 'IJ'" }, /* packagetype */ + /*523*/ { "[7041]IL", 0, "7041IL", "" }, /* packagetype */ + /*524*/ { "[7041]IZ", 0, "7041IZ", "" }, /* packagetype */ + /*525*/ { "[7041]JB", 0, "7041JB", "" }, /* packagetype */ + /*526*/ { "[7041]JD", ZINT_WARN_NONCOMPLIANT, "7041JD", "261: AI (7041) position 1: Invalid package type 'JD'" }, /* packagetype */ + /*527*/ { "[7041]KG", 0, "7041KG", "" }, /* packagetype */ + /*528*/ { "[7041]KH", ZINT_WARN_NONCOMPLIANT, "7041KH", "261: AI (7041) position 1: Invalid package type 'KH'" }, /* packagetype */ + /*529*/ { "[7041]LA", ZINT_WARN_NONCOMPLIANT, "7041LA", "261: AI (7041) position 1: Invalid package type 'LA'" }, /* packagetype */ + /*530*/ { "[7041]LE", 0, "7041LE", "" }, /* packagetype */ + /*531*/ { "[7041]ME", 0, "7041ME", "" }, /* packagetype */ + /*532*/ { "[7041]MP", ZINT_WARN_NONCOMPLIANT, "7041MP", "261: AI (7041) position 1: Invalid package type 'MP'" }, /* packagetype */ + /*533*/ { "[7041]NA", 0, "7041NA", "" }, /* packagetype */ + /*534*/ { "[7041]NB", ZINT_WARN_NONCOMPLIANT, "7041NB", "261: AI (7041) position 1: Invalid package type 'NB'" }, /* packagetype */ + /*535*/ { "[7041]OK", 0, "7041OK", "" }, /* packagetype */ + /*536*/ { "[7041]OP", ZINT_WARN_NONCOMPLIANT, "7041OP", "261: AI (7041) position 1: Invalid package type 'OP'" }, /* packagetype */ + /*537*/ { "[7041]P1", ZINT_WARN_NONCOMPLIANT, "7041P1", "261: AI (7041) position 1: Invalid package type 'P1'" }, /* packagetype */ + /*538*/ { "[7041]P2", 0, "7041P2", "" }, /* packagetype */ + /*539*/ { "[7041]P3", ZINT_WARN_NONCOMPLIANT, "7041P3", "261: AI (7041) position 1: Invalid package type 'P3'" }, /* packagetype */ + /*540*/ { "[7041]PA", 0, "7041PA", "" }, /* packagetype */ + /*541*/ { "[7041]PL", 0, "7041PL", "" }, /* packagetype */ + /*542*/ { "[7041]PO", 0, "7041PO", "" }, /* packagetype */ + /*543*/ { "[7041]PQ", ZINT_WARN_NONCOMPLIANT, "7041PQ", "261: AI (7041) position 1: Invalid package type 'PQ'" }, /* packagetype */ + /*544*/ { "[7041]PP", 0, "7041PP", "" }, /* packagetype */ + /*545*/ { "[7041]PU", 0, "7041PU", "" }, /* packagetype */ + /*546*/ { "[7041]QO", ZINT_WARN_NONCOMPLIANT, "7041QO", "261: AI (7041) position 1: Invalid package type 'QO'" }, /* packagetype */ + /*547*/ { "[7041]QS", 0, "7041QS", "" }, /* packagetype */ + /*548*/ { "[7041]RB", ZINT_WARN_NONCOMPLIANT, "7041RB", "261: AI (7041) position 1: Invalid package type 'RB'" }, /* packagetype */ + /*549*/ { "[7041]RC", ZINT_WARN_NONCOMPLIANT, "7041RC", "261: AI (7041) position 1: Invalid package type 'RC'" }, /* packagetype */ + /*550*/ { "[7041]RD", 0, "7041RD", "" }, /* packagetype */ + /*551*/ { "[7041]S1", 0, "7041S1", "" }, /* packagetype */ + /*552*/ { "[7041]S2", ZINT_WARN_NONCOMPLIANT, "7041S2", "261: AI (7041) position 1: Invalid package type 'S2'" }, /* packagetype */ + /*553*/ { "[7041]SE", 0, "7041SE", "" }, /* packagetype */ + /*554*/ { "[7041]ST", 0, "7041ST", "" }, /* packagetype */ + /*555*/ { "[7041]T0", ZINT_WARN_NONCOMPLIANT, "7041T0", "261: AI (7041) position 1: Invalid package type 'T0'" }, /* packagetype */ + /*556*/ { "[7041]T1", 0, "7041T1", "" }, /* packagetype */ + /*557*/ { "[7041]TE", 0, "7041TE", "" }, /* packagetype */ + /*558*/ { "[7041]TR", 0, "7041TR", "" }, /* packagetype */ + /*559*/ { "[7041]TT", 0, "7041TT", "" }, /* packagetype */ + /*560*/ { "[7041]TW", 0, "7041TW", "" }, /* packagetype */ + /*561*/ { "[7041]UA", ZINT_WARN_NONCOMPLIANT, "7041UA", "261: AI (7041) position 1: Invalid package type 'UA'" }, /* packagetype */ + /*562*/ { "[7041]UN", 0, "7041UN", "" }, /* packagetype */ + /*563*/ { "[7041]UU", ZINT_WARN_NONCOMPLIANT, "7041UU", "261: AI (7041) position 1: Invalid package type 'UU'" }, /* packagetype */ + /*564*/ { "[7041]VK", 0, "7041VK", "" }, /* packagetype */ + /*565*/ { "[7041]WA", 0, "7041WA", "" }, /* packagetype */ + /*566*/ { "[7041]WI", ZINT_WARN_NONCOMPLIANT, "7041WI", "261: AI (7041) position 1: Invalid package type 'WI'" }, /* packagetype */ + /*567*/ { "[7041]WR", 0, "7041WR", "" }, /* packagetype */ + /*568*/ { "[7041]X1", ZINT_WARN_NONCOMPLIANT, "7041X1", "261: AI (7041) position 1: Invalid package type 'X1'" }, /* packagetype */ + /*569*/ { "[7041]X2", ZINT_WARN_NONCOMPLIANT, "7041X2", "261: AI (7041) position 1: Invalid package type 'X2'" }, /* packagetype */ + /*570*/ { "[7041]X3", 0, "7041X3", "" }, /* packagetype */ + /*571*/ { "[7041]XA", 0, "7041XA", "" }, /* packagetype */ + /*572*/ { "[7041]XL", ZINT_WARN_NONCOMPLIANT, "7041XL", "261: AI (7041) position 1: Invalid package type 'XL'" }, /* packagetype */ + /*573*/ { "[7041]YA", 0, "7041YA", "" }, /* packagetype */ + /*574*/ { "[7041]YE", ZINT_WARN_NONCOMPLIANT, "7041YE", "261: AI (7041) position 1: Invalid package type 'YE'" }, /* packagetype */ + /*575*/ { "[7041]YZ", 0, "7041YZ", "" }, /* packagetype */ + /*576*/ { "[7041]ZA", 0, "7041ZA", "" }, /* packagetype */ + /*577*/ { "[7041]ZE", ZINT_WARN_NONCOMPLIANT, "7041ZE", "261: AI (7041) position 1: Invalid package type 'ZE'" }, /* packagetype */ + /*578*/ { "[7041]ZY", 0, "7041ZY", "" }, /* packagetype */ + /*579*/ { "[7041]ZZ", 0, "7041ZZ", "" }, /* packagetype */ + /*580*/ { "[7041]Z_", ZINT_WARN_NONCOMPLIANT, "7041Z_", "261: AI (7041) position 1: Invalid package type 'Z_'" }, /* packagetype */ + /*581*/ { "[7041]__", ZINT_WARN_NONCOMPLIANT, "7041__", "261: AI (7041) position 1: Invalid package type '__'" }, /* packagetype */ + /*582*/ { "[7041]///", ZINT_WARN_NONCOMPLIANT, "7041///", "261: AI (7041) position 1: Invalid package type '///'" }, /* packagetype */ + /*583*/ { "[7041]100", ZINT_WARN_NONCOMPLIANT, "7041100", "261: AI (7041) position 1: Invalid package type '100'" }, /* packagetype */ + /*584*/ { "[7041]201", 0, "7041201", "" }, /* packagetype */ + /*585*/ { "[7041]202", 0, "7041202", "" }, /* packagetype */ + /*586*/ { "[7041]206", 0, "7041206", "" }, /* packagetype */ + /*587*/ { "[7041]207", ZINT_WARN_NONCOMPLIANT, "7041207", "261: AI (7041) position 1: Invalid package type '207'" }, /* packagetype */ + /*588*/ { "[7041]210", 0, "7041210", "" }, /* packagetype */ + /*589*/ { "[7041]212", 0, "7041212", "" }, /* packagetype */ + /*590*/ { "[7041]800", ZINT_WARN_NONCOMPLIANT, "7041800", "261: AI (7041) position 1: Invalid package type '800'" }, /* packagetype */ + /*591*/ { "[7041]900", ZINT_WARN_NONCOMPLIANT, "7041900", "261: AI (7041) position 1: Invalid package type '900'" }, /* packagetype */ + /*592*/ { "[7041]AAE", ZINT_WARN_NONCOMPLIANT, "7041AAE", "261: AI (7041) position 1: Invalid package type 'AAE'" }, /* packagetype */ + /*593*/ { "[7041]APE", 0, "7041APE", "" }, /* packagetype */ + /*594*/ { "[7041]APF", ZINT_WARN_NONCOMPLIANT, "7041APF", "261: AI (7041) position 1: Invalid package type 'APF'" }, /* packagetype */ + /*595*/ { "[7041]BBC", ZINT_WARN_NONCOMPLIANT, "7041BBC", "261: AI (7041) position 1: Invalid package type 'BBC'" }, /* packagetype */ + /*596*/ { "[7041]BGE", 0, "7041BGE", "" }, /* packagetype */ + /*597*/ { "[7041]BME", 0, "7041BME", "" }, /* packagetype */ + /*598*/ { "[7041]BRI", 0, "7041BRI", "" }, /* packagetype */ + /*599*/ { "[7041]BSI", ZINT_WARN_NONCOMPLIANT, "7041BSI", "261: AI (7041) position 1: Invalid package type 'BSI'" }, /* packagetype */ + /*600*/ { "[7041]CAL", ZINT_WARN_NONCOMPLIANT, "7041CAL", "261: AI (7041) position 1: Invalid package type 'CAL'" }, /* packagetype */ + /*601*/ { "[7041]CBL", 0, "7041CBL", "" }, /* packagetype */ + /*602*/ { "[7041]CCE", 0, "7041CCE", "" }, /* packagetype */ + /*603*/ { "[7041]DPE", 0, "7041DPE", "" }, /* packagetype */ + /*604*/ { "[7041]DPF", ZINT_WARN_NONCOMPLIANT, "7041DPF", "261: AI (7041) position 1: Invalid package type 'DPF'" }, /* packagetype */ + /*605*/ { "[7041]EPE", ZINT_WARN_NONCOMPLIANT, "7041EPE", "261: AI (7041) position 1: Invalid package type 'EPE'" }, /* packagetype */ + /*606*/ { "[7041]FOB", 0, "7041FOB", "" }, /* packagetype */ + /*607*/ { "[7041]FOC", ZINT_WARN_NONCOMPLIANT, "7041FOC", "261: AI (7041) position 1: Invalid package type 'FOC'" }, /* packagetype */ + /*608*/ { "[7041]FPE", 0, "7041FPE", "" }, /* packagetype */ + /*609*/ { "[7041]GPE", ZINT_WARN_NONCOMPLIANT, "7041GPE", "261: AI (7041) position 1: Invalid package type 'GPE'" }, /* packagetype */ + /*610*/ { "[7041]HPE", ZINT_WARN_NONCOMPLIANT, "7041HPE", "261: AI (7041) position 1: Invalid package type 'HPE'" }, /* packagetype */ + /*611*/ { "[7041]IPE", ZINT_WARN_NONCOMPLIANT, "7041IPE", "261: AI (7041) position 1: Invalid package type 'IPE'" }, /* packagetype */ + /*612*/ { "[7041]JAB", ZINT_WARN_NONCOMPLIANT, "7041JAB", "261: AI (7041) position 1: Invalid package type 'JAB'" }, /* packagetype */ + /*613*/ { "[7041]KAB", ZINT_WARN_NONCOMPLIANT, "7041KAB", "261: AI (7041) position 1: Invalid package type 'KAB'" }, /* packagetype */ + /*614*/ { "[7041]LAA", ZINT_WARN_NONCOMPLIANT, "7041LAA", "261: AI (7041) position 1: Invalid package type 'LAA'" }, /* packagetype */ + /*615*/ { "[7041]LAB", 0, "7041LAB", "" }, /* packagetype */ + /*616*/ { "[7041]MPE", 0, "7041MPE", "" }, /* packagetype */ + /*617*/ { "[7041]MPF", ZINT_WARN_NONCOMPLIANT, "7041MPF", "261: AI (7041) position 1: Invalid package type 'MPF'" }, /* packagetype */ + /*618*/ { "[7041]OPE", 0, "7041OPE", "" }, /* packagetype */ + /*619*/ { "[7041]QAE", ZINT_WARN_NONCOMPLIANT, "7041QAE", "261: AI (7041) position 1: Invalid package type 'QAE'" }, /* packagetype */ + /*620*/ { "[7041]PAD", ZINT_WARN_NONCOMPLIANT, "7041PAD", "261: AI (7041) position 1: Invalid package type 'PAD'" }, /* packagetype */ + /*621*/ { "[7041]PAE", 0, "7041PAE", "" }, /* packagetype */ + /*622*/ { "[7041]PLP", 0, "7041PLP", "" }, /* packagetype */ + /*623*/ { "[7041]POP", 0, "7041POP", "" }, /* packagetype */ + /*624*/ { "[7041]PPE", 0, "7041PPE", "" }, /* packagetype */ + /*625*/ { "[7041]PUE", 0, "7041PUE", "" }, /* packagetype */ + /*626*/ { "[7041]QUE", ZINT_WARN_NONCOMPLIANT, "7041QUE", "261: AI (7041) position 1: Invalid package type 'QUE'" }, /* packagetype */ + /*627*/ { "[7041]RB0", ZINT_WARN_NONCOMPLIANT, "7041RB0", "261: AI (7041) position 1: Invalid package type 'RB0'" }, /* packagetype */ + /*628*/ { "[7041]RB1", 0, "7041RB1", "" }, /* packagetype */ + /*629*/ { "[7041]RB3", 0, "7041RB3", "" }, /* packagetype */ + /*630*/ { "[7041]RB4", ZINT_WARN_NONCOMPLIANT, "7041RB4", "261: AI (7041) position 1: Invalid package type 'RB4'" }, /* packagetype */ + /*631*/ { "[7041]RBA", ZINT_WARN_NONCOMPLIANT, "7041RBA", "261: AI (7041) position 1: Invalid package type 'RBA'" }, /* packagetype */ + /*632*/ { "[7041]RCB", 0, "7041RCB", "" }, /* packagetype */ + /*633*/ { "[7041]SEC", 0, "7041SEC", "" }, /* packagetype */ + /*634*/ { "[7041]STL", 0, "7041STL", "" }, /* packagetype */ + /*635*/ { "[7041]STM", ZINT_WARN_NONCOMPLIANT, "7041STM", "261: AI (7041) position 1: Invalid package type 'STM'" }, /* packagetype */ + /*636*/ { "[7041]TEV", 0, "7041TEV", "" }, /* packagetype */ + /*637*/ { "[7041]TTE", 0, "7041TTE", "" }, /* packagetype */ + /*638*/ { "[7041]TTF", ZINT_WARN_NONCOMPLIANT, "7041TTF", "261: AI (7041) position 1: Invalid package type 'TTF'" }, /* packagetype */ + /*639*/ { "[7041]TWE", 0, "7041TWE", "" }, /* packagetype */ + /*640*/ { "[7041]X10", ZINT_WARN_NONCOMPLIANT, "7041X10", "261: AI (7041) position 1: Invalid package type 'X10'" }, /* packagetype */ + /*641*/ { "[7041]X11", 0, "7041X11", "" }, /* packagetype */ + /*642*/ { "[7041]X13", ZINT_WARN_NONCOMPLIANT, "7041X13", "261: AI (7041) position 1: Invalid package type 'X13'" }, /* packagetype */ + /*643*/ { "[7041]X14", ZINT_WARN_NONCOMPLIANT, "7041X14", "261: AI (7041) position 1: Invalid package type 'X14'" }, /* packagetype */ + /*644*/ { "[7041]X15", 0, "7041X15", "" }, /* packagetype */ + /*645*/ { "[7041]X19", 0, "7041X19", "" }, /* packagetype */ + /*646*/ { "[7041]X20", 0, "7041X20", "" }, /* packagetype */ + /*647*/ { "[7041]X21", ZINT_WARN_NONCOMPLIANT, "7041X21", "261: AI (7041) position 1: Invalid package type 'X21'" }, /* packagetype */ + /*648*/ { "[7041]___", ZINT_WARN_NONCOMPLIANT, "7041___", "261: AI (7041) position 1: Invalid package type '___'" }, /* packagetype */ }; int data_size = ARRAY_SIZE(data); int i, length, ret; diff --git a/backend/tests/test_png.c b/backend/tests/test_png.c index 013646df..c4b90113 100644 --- a/backend/tests/test_png.c +++ b/backend/tests/test_png.c @@ -145,91 +145,94 @@ static void test_print(const testCtx *const p_ctx) { char *comment; }; struct item data[] = { - /* 0*/ { BARCODE_CODE128, UNICODE_MODE, -1, BOLD_TEXT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "Égjpqy", "", 0, "code128_egrave_bold.png", "" }, - /* 1*/ { BARCODE_CODE128, UNICODE_MODE, 3, BOLD_TEXT | BARCODE_BOX, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "Égjpqy", "", 0, "code128_egrave_bold_box3.png", "" }, - /* 2*/ { BARCODE_CODE128, UNICODE_MODE, 2, BOLD_TEXT | BARCODE_BOX, 2, 2, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "Égjpqy", "", 0, "code128_egrave_bold_hvwsp2_box2.png", "" }, - /* 3*/ { BARCODE_GS1_128_CC, -1, -1, -1, -1, -1, -1, 3, -1, 0, 0, { 0, 0, "" }, "", "", 1, "[00]030123456789012340", "[02]13012345678909[37]24[10]1234567ABCDEFG", 0, "gs1_128_cc_fig12.png", "" }, - /* 4*/ { BARCODE_CODABLOCKF, -1, 3, -1, -1, -1, -1, 3, -1, 0, 0, { 0, 0, "" }, "", "", 1, "AAAAAAAAA", "", 0, "codablockf_3rows.png", "" }, - /* 5*/ { BARCODE_CODABLOCKF, -1, -1, -1, 2, 2, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "AAAAAAAAA", "", 0, "codablockf_hvwsp2.png", "" }, - /* 6*/ { BARCODE_CODABLOCKF, -1, 2, BARCODE_BOX, 2, 2, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "AAAAAAAAA", "", 0, "codablockf_hvwsp2_box2.png", "" }, - /* 7*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9771384524017", "", 0, "ean13_ggs_5.2.2.1-1.png", "" }, - /* 8*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9771384524017", "", 0, "ean13_ggs_5.2.2.1-1_gws.png", "" }, - /* 9*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9771384524017+12", "", 0, "ean13_2addon_ggs_5.2.2.5.1-2.png", "" }, - /* 10*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9771384524017+12", "", 0, "ean13_2addon_ggs_5.2.2.5.1-2_gws.png", "" }, - /* 11*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9780877799306+54321", "", 0, "ean13_5addon_ggs_5.2.2.5.2-2.png", "" }, - /* 12*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9780877799306+54321", "", 0, "ean13_5addon_ggs_5.2.2.5.2-2_gws.png", "" }, - /* 13*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123456789012", "[91]12345678901234567890123456789", 0, "ean13_cc_cca_5x4.png", "" }, - /* 14*/ { BARCODE_EANX_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123456789012", "[91]12345678901234567890123456789", 0, "ean13_cc_cca_5x4_gws.png", "" }, - /* 15*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123456789012+12", "[91]123456789012345678901", 0, "ean13_cc_2addon_cca_4x4.png", "" }, - /* 16*/ { BARCODE_EANX_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123456789012+12", "[91]123456789012345678901", 0, "ean13_cc_2addon_cca_4x4_gws.png", "" }, - /* 17*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123456789012+54321", "[91]1234567890", 0, "ean13_cc_5addon_ccb_3x4.png", "" }, - /* 18*/ { BARCODE_EANX_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123456789012+54321", "[91]1234567890", 0, "ean13_cc_5addon_ccb_3x4_gws.png", "" }, - /* 19*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, 0, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123456789012+54321", "[91]1234567890", 0, "ean13_cc_5addon_ccb_3x4_notext.png", "" }, - /* 20*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "012345678905+24", "", 0, "upca_2addon_ggs_5.2.6.6-5.png", "" }, - /* 21*/ { BARCODE_UPCA, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "012345678905+24", "", 0, "upca_2addon_ggs_5.2.6.6-5_gws.png", "" }, - /* 22*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "614141234417+12345", "", 0, "upca_5addon.png", "" }, - /* 23*/ { BARCODE_UPCA, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "614141234417+12345", "", 0, "upca_5addon_gws.png", "" }, - /* 24*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "614141234417+12345", "", 0, "upca_5addon_notext.png", "" }, - /* 25*/ { BARCODE_UPCA, -1, 3, BARCODE_BIND, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "614141234417+12345", "", 0, "upca_5addon_bind3.png", "" }, - /* 26*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345678901+12", "[91]123456789", 0, "upca_cc_2addon_cca_3x4.png", "" }, - /* 27*/ { BARCODE_UPCA_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345678901+12", "[91]123456789", 0, "upca_cc_2addon_cca_3x4_gws.png", "" }, - /* 28*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4.png", "" }, - /* 29*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, 0, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4_notext.png", "" }, - /* 30*/ { BARCODE_UPCA_CC, -1, 3, BARCODE_BIND, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4_bind3.png", "" }, - /* 31*/ { BARCODE_UPCE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12", "", 0, "upce_2addon.png", "" }, - /* 32*/ { BARCODE_UPCE, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12", "", 0, "upce_2addon_gws.png", "" }, - /* 33*/ { BARCODE_UPCE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12345", "", 0, "upce_5addon.png", "" }, - /* 34*/ { BARCODE_UPCE, -1, -1, SMALL_TEXT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12345", "", 0, "upce_5addon_small.png", "" }, - /* 35*/ { BARCODE_UPCE, -1, -1, SMALL_TEXT | EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12345", "", 0, "upce_5addon_small_gws.png", "" }, - /* 36*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "0654321+89", "[91]1", 0, "upce_cc_2addon_cca_5x2.png", "" }, - /* 37*/ { BARCODE_UPCE_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "0654321+89", "[91]1", 0, "upce_cc_2addon_cca_5x2_gws.png", "" }, - /* 38*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1876543+56789", "[91]12345", 0, "upce_cc_5addon_ccb_8x2.png", "" }, - /* 39*/ { BARCODE_UPCE_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1876543+56789", "[91]12345", 0, "upce_cc_5addon_ccb_8x2_gws.png", "" }, - /* 40*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, 0, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1876543+56789", "[91]12345", 0, "upce_cc_5addon_ccb_8x2_notext.png", "" }, - /* 41*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567", "", 0, "ean8_gss_5.2.2.2-1.png", "" }, - /* 42*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567", "", 0, "ean8_gss_5.2.2.2-1_gws.png", "" }, - /* 43*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12", "", 0, "ean8_2addon.png", "" }, - /* 44*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12", "", 0, "ean8_2addon_gws.png", "" }, - /* 45*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12345", "", 0, "ean8_5addon.png", "" }, - /* 46*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12345", "", 0, "ean8_5addon_gws.png", "" }, - /* 47*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9876543+65", "[91]1234567", 0, "ean8_cc_2addon_cca_4x3.png", "" }, - /* 48*/ { BARCODE_EANX_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9876543+65", "[91]1234567", 0, "ean8_cc_2addon_cca_4x3_gws.png", "" }, - /* 49*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9876543+74083", "[91]123456789012345678", 0, "ean8_cc_5addon_ccb_8x3.png", "" }, - /* 50*/ { BARCODE_EANX_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9876543+74083", "[91]123456789012345678", 0, "ean8_cc_5addon_ccb_8x3_gws.png", "" }, - /* 51*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345", "", 0, "ean5.png", "" }, - /* 52*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345", "", 0, "ean5_gws.png", "" }, - /* 53*/ { BARCODE_EANX, -1, 2, BARCODE_BIND, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345", "", 0, "ean5_bind2.png", "" }, - /* 54*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12", "", 0, "ean2.png", "" }, - /* 55*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12", "", 0, "ean2_gws.png", "" }, - /* 56*/ { BARCODE_EANX, -1, 1, BARCODE_BOX, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12", "", 0, "ean2_box1.png", "" }, - /* 57*/ { BARCODE_CODE39, -1, -1, SMALL_TEXT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123", "", 0, "code39_small.png", "" }, - /* 58*/ { BARCODE_POSTNET, -1, -1, -1, -1, -1, -1, -1, -1, 0, 3.5, { 0, 0, "" }, "", "", 1, "12345", "", 0, "postnet_zip.png", "300 dpi, using 1/43in X, 300 / 43 / 2 = ~3.5 scale" }, - /* 59*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "CFCECDCC", 1, "12345", "", 0, "pdf417_bgalpha.png", "" }, - /* 60*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "30313233", "", 1, "12345", "", 0, "pdf417_fgalpha.png", "" }, - /* 61*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "20212244", "CFCECDCC", 1, "12345", "", 0, "pdf417_bgfgalpha.png", "" }, - /* 62*/ { BARCODE_ULTRA, -1, -1, -1, 2, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "0000007F", "FF000033", 1, "12345", "", 0, "ultra_bgfgalpha.png", "" }, - /* 63*/ { BARCODE_ULTRA, -1, -1, -1, 2, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "FF000033", 1, "12345", "", 0, "ultra_bgalpha.png", "" }, - /* 64*/ { BARCODE_ULTRA, -1, -1, -1, 2, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "0000007F", "FF0000", 1, "12345", "", 0, "ultra_fgalpha.png", "" }, - /* 65*/ { BARCODE_ULTRA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "0000007F", "", 1, "12345", "", 0, "ultra_fgalpha_nobg.png", "" }, - /* 66*/ { BARCODE_ULTRA, -1, 1, BARCODE_BOX, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345", "", 0, "ultra_hvwsp1_box1.png", "" }, - /* 67*/ { BARCODE_ULTRA, -1, 1, BARCODE_BOX, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "00FF007F", "BABDB6", 1, "12345", "", 0, "ultra_fgalpha_hvwsp1_box1.png", "" }, - /* 68*/ { BARCODE_ULTRA, -1, 1, BARCODE_BIND_TOP, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "00FF007F", "BABDB6", 1, "12345", "", 0, "ultra_fgalpha_hvwsp1_bindtop1.png", "" }, - /* 69*/ { BARCODE_ULTRA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, { 0, 0, "" }, "", "", 1, "1", "", 0, "ultra_odd.png", "" }, - /* 70*/ { BARCODE_MAXICODE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, { 0, 0, "" }, "", "", 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_0.5.png", "6 dpmm, 150 dpi" }, - /* 71*/ { BARCODE_MAXICODE, -1, 1, BARCODE_BOX, 3, -1, -1, -1, -1, 0, 0.7, { 0, 0, "" }, "", "", 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_0.7_wsp3_box1.png", "8 dpmm, 200 dpi" }, - /* 72*/ { BARCODE_MAXICODE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1.4, { 0, 0, "" }, "1111117F", "EEEEEEEE", 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_1.4_bgfgalpha.png", "16 dpmm, 400 dpi" }, - /* 73*/ { BARCODE_MAXICODE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 2.1, { 0, 0, "" }, "", "", 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_2.1.png", "24 dpmm, 600 dpi" }, - /* 74*/ { BARCODE_MAXICODE, -1, 2, BARCODE_BOX, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_hvwsp1_box2.png", "" }, - /* 75*/ { BARCODE_MAXICODE, -1, 1, BARCODE_BIND, -1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_vwsp1_bind1.png", "" }, - /* 76*/ { BARCODE_DATAMATRIX, -1, 1, BARCODE_BIND | BARCODE_DOTTY_MODE, -1, -1, -1, -1, -1, 0, 2.0, { 0, 0, "" }, "", "", 1, "1234", "", 0, "datamatrix_2.0_bind1_dotty.png", "" }, - /* 77*/ { BARCODE_DATAMATRIX, -1, 1, BARCODE_BIND | BARCODE_DOTTY_MODE, 1, 1, -1, -1, -1, 0, 2.0, { 0, 0, "" }, "", "", 1, "1234", "", 0, "datamatrix_2.0_hvwsp1_bind1_dotty.png", "" }, - /* 78*/ { BARCODE_DBAR_LTD, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345678909", "", 0, "dbar_ltd.png", "" }, - /* 79*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 5.0, 0, { 0, 0, "" }, "", "", 1, "Your Data Here!", "", ZINT_WARN_NONCOMPLIANT, "pdf417_height5.png", "" }, - /* 80*/ { BARCODE_USPS_IMAIL, -1, -1, -1, -1, -1, -1, -1, -1, 7.75, 0, { 0, 0, "" }, "", "", 1, "12345678901234567890", "", 0, "imail_height7.75.png", "" }, - /* 81*/ { BARCODE_AZTEC, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 4, 7, "Z1.txt" }, "", "", 1, "3456", "", 0, "aztec_z1_seq4of7.png", "" }, - /* 82*/ { BARCODE_PDF417, -1, -1, BARCODE_NO_QUIET_ZONES, -1, -1, -1, 5, 8, 16, 1.5, { 0, 0, "" }, "", "", 1, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBB", "", ZINT_WARN_NONCOMPLIANT, "pdf417_#204.png", "Ticket #204 Blank line in PDF417" }, - /* 83*/ { BARCODE_DPD, -1, -1, BARCODE_QUIET_ZONES | COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "008182709980000020028101276", "", 0, "dpd_compliant.png", "Now with bind top 3X default" }, - /* 84*/ { BARCODE_CHANNEL, -1, -1, CMYK_COLOUR | COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "100,85,0,20", "FFFFFF00", 1, "123", "", 0, "channel_cmyk_nobg.png", "" }, + /* 0*/ { BARCODE_CODE128, UNICODE_MODE, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~", "", 0, "code128_latin1_1.png", "" }, + /* 1*/ { BARCODE_CODE128, UNICODE_MODE, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ", "", 0, "code128_latin1_2.png", "" }, + /* 2*/ { BARCODE_CODE128, UNICODE_MODE, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "Égjpqy", "", 0, "code128_egrave.png", "" }, + /* 3*/ { BARCODE_CODE128, UNICODE_MODE, -1, BOLD_TEXT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "Égjpqy", "", 0, "code128_egrave_bold.png", "" }, + /* 4*/ { BARCODE_CODE128, UNICODE_MODE, 3, BOLD_TEXT | BARCODE_BOX, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "Égjpqy", "", 0, "code128_egrave_bold_box3.png", "" }, + /* 5*/ { BARCODE_CODE128, UNICODE_MODE, 2, BOLD_TEXT | BARCODE_BOX, 2, 2, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "Égjpqy", "", 0, "code128_egrave_bold_hvwsp2_box2.png", "" }, + /* 6*/ { BARCODE_GS1_128_CC, -1, -1, -1, -1, -1, -1, 3, -1, 0, 0, { 0, 0, "" }, "", "", 1, "[00]030123456789012340", "[02]13012345678909[37]24[10]1234567ABCDEFG", 0, "gs1_128_cc_fig12.png", "" }, + /* 7*/ { BARCODE_CODABLOCKF, -1, 3, -1, -1, -1, -1, 3, -1, 0, 0, { 0, 0, "" }, "", "", 1, "AAAAAAAAA", "", 0, "codablockf_3rows.png", "" }, + /* 8*/ { BARCODE_CODABLOCKF, -1, -1, -1, 2, 2, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "AAAAAAAAA", "", 0, "codablockf_hvwsp2.png", "" }, + /* 9*/ { BARCODE_CODABLOCKF, -1, 2, BARCODE_BOX, 2, 2, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "AAAAAAAAA", "", 0, "codablockf_hvwsp2_box2.png", "" }, + /* 10*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9771384524017", "", 0, "ean13_ggs_5.2.2.1-1.png", "" }, + /* 11*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9771384524017", "", 0, "ean13_ggs_5.2.2.1-1_gws.png", "" }, + /* 12*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9771384524017+12", "", 0, "ean13_2addon_ggs_5.2.2.5.1-2.png", "" }, + /* 13*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9771384524017+12", "", 0, "ean13_2addon_ggs_5.2.2.5.1-2_gws.png", "" }, + /* 14*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9780877799306+54321", "", 0, "ean13_5addon_ggs_5.2.2.5.2-2.png", "" }, + /* 15*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9780877799306+54321", "", 0, "ean13_5addon_ggs_5.2.2.5.2-2_gws.png", "" }, + /* 16*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123456789012", "[91]12345678901234567890123456789", 0, "ean13_cc_cca_5x4.png", "" }, + /* 17*/ { BARCODE_EANX_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123456789012", "[91]12345678901234567890123456789", 0, "ean13_cc_cca_5x4_gws.png", "" }, + /* 18*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123456789012+12", "[91]123456789012345678901", 0, "ean13_cc_2addon_cca_4x4.png", "" }, + /* 19*/ { BARCODE_EANX_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123456789012+12", "[91]123456789012345678901", 0, "ean13_cc_2addon_cca_4x4_gws.png", "" }, + /* 20*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123456789012+54321", "[91]1234567890", 0, "ean13_cc_5addon_ccb_3x4.png", "" }, + /* 21*/ { BARCODE_EANX_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123456789012+54321", "[91]1234567890", 0, "ean13_cc_5addon_ccb_3x4_gws.png", "" }, + /* 22*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, 0, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123456789012+54321", "[91]1234567890", 0, "ean13_cc_5addon_ccb_3x4_notext.png", "" }, + /* 23*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "012345678905+24", "", 0, "upca_2addon_ggs_5.2.6.6-5.png", "" }, + /* 24*/ { BARCODE_UPCA, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "012345678905+24", "", 0, "upca_2addon_ggs_5.2.6.6-5_gws.png", "" }, + /* 25*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "614141234417+12345", "", 0, "upca_5addon.png", "" }, + /* 26*/ { BARCODE_UPCA, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "614141234417+12345", "", 0, "upca_5addon_gws.png", "" }, + /* 27*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "614141234417+12345", "", 0, "upca_5addon_notext.png", "" }, + /* 28*/ { BARCODE_UPCA, -1, 3, BARCODE_BIND, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "614141234417+12345", "", 0, "upca_5addon_bind3.png", "" }, + /* 29*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345678901+12", "[91]123456789", 0, "upca_cc_2addon_cca_3x4.png", "" }, + /* 30*/ { BARCODE_UPCA_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345678901+12", "[91]123456789", 0, "upca_cc_2addon_cca_3x4_gws.png", "" }, + /* 31*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4.png", "" }, + /* 32*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, 0, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4_notext.png", "" }, + /* 33*/ { BARCODE_UPCA_CC, -1, 3, BARCODE_BIND, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4_bind3.png", "" }, + /* 34*/ { BARCODE_UPCE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12", "", 0, "upce_2addon.png", "" }, + /* 35*/ { BARCODE_UPCE, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12", "", 0, "upce_2addon_gws.png", "" }, + /* 36*/ { BARCODE_UPCE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12345", "", 0, "upce_5addon.png", "" }, + /* 37*/ { BARCODE_UPCE, -1, -1, SMALL_TEXT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12345", "", 0, "upce_5addon_small.png", "" }, + /* 38*/ { BARCODE_UPCE, -1, -1, SMALL_TEXT | EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12345", "", 0, "upce_5addon_small_gws.png", "" }, + /* 39*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "0654321+89", "[91]1", 0, "upce_cc_2addon_cca_5x2.png", "" }, + /* 40*/ { BARCODE_UPCE_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "0654321+89", "[91]1", 0, "upce_cc_2addon_cca_5x2_gws.png", "" }, + /* 41*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1876543+56789", "[91]12345", 0, "upce_cc_5addon_ccb_8x2.png", "" }, + /* 42*/ { BARCODE_UPCE_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1876543+56789", "[91]12345", 0, "upce_cc_5addon_ccb_8x2_gws.png", "" }, + /* 43*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, 0, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1876543+56789", "[91]12345", 0, "upce_cc_5addon_ccb_8x2_notext.png", "" }, + /* 44*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567", "", 0, "ean8_gss_5.2.2.2-1.png", "" }, + /* 45*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567", "", 0, "ean8_gss_5.2.2.2-1_gws.png", "" }, + /* 46*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12", "", 0, "ean8_2addon.png", "" }, + /* 47*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12", "", 0, "ean8_2addon_gws.png", "" }, + /* 48*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12345", "", 0, "ean8_5addon.png", "" }, + /* 49*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "1234567+12345", "", 0, "ean8_5addon_gws.png", "" }, + /* 50*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9876543+65", "[91]1234567", 0, "ean8_cc_2addon_cca_4x3.png", "" }, + /* 51*/ { BARCODE_EANX_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9876543+65", "[91]1234567", 0, "ean8_cc_2addon_cca_4x3_gws.png", "" }, + /* 52*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9876543+74083", "[91]123456789012345678", 0, "ean8_cc_5addon_ccb_8x3.png", "" }, + /* 53*/ { BARCODE_EANX_CC, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 1, "9876543+74083", "[91]123456789012345678", 0, "ean8_cc_5addon_ccb_8x3_gws.png", "" }, + /* 54*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345", "", 0, "ean5.png", "" }, + /* 55*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345", "", 0, "ean5_gws.png", "" }, + /* 56*/ { BARCODE_EANX, -1, 2, BARCODE_BIND, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345", "", 0, "ean5_bind2.png", "" }, + /* 57*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12", "", 0, "ean2.png", "" }, + /* 58*/ { BARCODE_EANX, -1, -1, EANUPC_GUARD_WHITESPACE, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12", "", 0, "ean2_gws.png", "" }, + /* 59*/ { BARCODE_EANX, -1, 1, BARCODE_BOX, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12", "", 0, "ean2_box1.png", "" }, + /* 60*/ { BARCODE_CODE39, -1, -1, SMALL_TEXT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "123", "", 0, "code39_small.png", "" }, + /* 61*/ { BARCODE_POSTNET, -1, -1, -1, -1, -1, -1, -1, -1, 0, 3.5, { 0, 0, "" }, "", "", 1, "12345", "", 0, "postnet_zip.png", "300 dpi, using 1/43in X, 300 / 43 / 2 = ~3.5 scale" }, + /* 62*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "CFCECDCC", 1, "12345", "", 0, "pdf417_bgalpha.png", "" }, + /* 63*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "30313233", "", 1, "12345", "", 0, "pdf417_fgalpha.png", "" }, + /* 64*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "20212244", "CFCECDCC", 1, "12345", "", 0, "pdf417_bgfgalpha.png", "" }, + /* 65*/ { BARCODE_ULTRA, -1, -1, -1, 2, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "0000007F", "FF000033", 1, "12345", "", 0, "ultra_bgfgalpha.png", "" }, + /* 66*/ { BARCODE_ULTRA, -1, -1, -1, 2, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "FF000033", 1, "12345", "", 0, "ultra_bgalpha.png", "" }, + /* 67*/ { BARCODE_ULTRA, -1, -1, -1, 2, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "0000007F", "FF0000", 1, "12345", "", 0, "ultra_fgalpha.png", "" }, + /* 68*/ { BARCODE_ULTRA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "0000007F", "", 1, "12345", "", 0, "ultra_fgalpha_nobg.png", "" }, + /* 69*/ { BARCODE_ULTRA, -1, 1, BARCODE_BOX, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345", "", 0, "ultra_hvwsp1_box1.png", "" }, + /* 70*/ { BARCODE_ULTRA, -1, 1, BARCODE_BOX, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "00FF007F", "BABDB6", 1, "12345", "", 0, "ultra_fgalpha_hvwsp1_box1.png", "" }, + /* 71*/ { BARCODE_ULTRA, -1, 1, BARCODE_BIND_TOP, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "00FF007F", "BABDB6", 1, "12345", "", 0, "ultra_fgalpha_hvwsp1_bindtop1.png", "" }, + /* 72*/ { BARCODE_ULTRA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, { 0, 0, "" }, "", "", 1, "1", "", 0, "ultra_odd.png", "" }, + /* 73*/ { BARCODE_MAXICODE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, { 0, 0, "" }, "", "", 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_0.5.png", "6 dpmm, 150 dpi" }, + /* 74*/ { BARCODE_MAXICODE, -1, 1, BARCODE_BOX, 3, -1, -1, -1, -1, 0, 0.7, { 0, 0, "" }, "", "", 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_0.7_wsp3_box1.png", "8 dpmm, 200 dpi" }, + /* 75*/ { BARCODE_MAXICODE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1.4, { 0, 0, "" }, "1111117F", "EEEEEEEE", 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_1.4_bgfgalpha.png", "16 dpmm, 400 dpi" }, + /* 76*/ { BARCODE_MAXICODE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 2.1, { 0, 0, "" }, "", "", 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_2.1.png", "24 dpmm, 600 dpi" }, + /* 77*/ { BARCODE_MAXICODE, -1, 2, BARCODE_BOX, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_hvwsp1_box2.png", "" }, + /* 78*/ { BARCODE_MAXICODE, -1, 1, BARCODE_BIND, -1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_vwsp1_bind1.png", "" }, + /* 79*/ { BARCODE_DATAMATRIX, -1, 1, BARCODE_BIND | BARCODE_DOTTY_MODE, -1, -1, -1, -1, -1, 0, 2.0, { 0, 0, "" }, "", "", 1, "1234", "", 0, "datamatrix_2.0_bind1_dotty.png", "" }, + /* 80*/ { BARCODE_DATAMATRIX, -1, 1, BARCODE_BIND | BARCODE_DOTTY_MODE, 1, 1, -1, -1, -1, 0, 2.0, { 0, 0, "" }, "", "", 1, "1234", "", 0, "datamatrix_2.0_hvwsp1_bind1_dotty.png", "" }, + /* 81*/ { BARCODE_DBAR_LTD, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "12345678909", "", 0, "dbar_ltd.png", "" }, + /* 82*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 5.0, 0, { 0, 0, "" }, "", "", 1, "Your Data Here!", "", ZINT_WARN_NONCOMPLIANT, "pdf417_height5.png", "" }, + /* 83*/ { BARCODE_USPS_IMAIL, -1, -1, -1, -1, -1, -1, -1, -1, 7.75, 0, { 0, 0, "" }, "", "", 1, "12345678901234567890", "", 0, "imail_height7.75.png", "" }, + /* 84*/ { BARCODE_AZTEC, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 4, 7, "Z1.txt" }, "", "", 1, "3456", "", 0, "aztec_z1_seq4of7.png", "" }, + /* 85*/ { BARCODE_PDF417, -1, -1, BARCODE_NO_QUIET_ZONES, -1, -1, -1, 5, 8, 16, 1.5, { 0, 0, "" }, "", "", 1, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBB", "", ZINT_WARN_NONCOMPLIANT, "pdf417_#204.png", "Ticket #204 Blank line in PDF417" }, + /* 86*/ { BARCODE_DPD, -1, -1, BARCODE_QUIET_ZONES | COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 1, "008182709980000020028101276", "", 0, "dpd_compliant.png", "Now with bind top 3X default" }, + /* 87*/ { BARCODE_CHANNEL, -1, -1, CMYK_COLOUR | COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "100,85,0,20", "FFFFFF00", 1, "123", "", 0, "channel_cmyk_nobg.png", "" }, }; int data_size = ARRAY_SIZE(data); int i, length, ret; diff --git a/backend/tools/data/GB2312.TXT b/backend/tools/data/GB2312.TXT deleted file mode 100644 index 8d06d30b..00000000 --- a/backend/tools/data/GB2312.TXT +++ /dev/null @@ -1,7510 +0,0 @@ -# -# Name: GB2312-80 to Unicode table (complete, hex format) -# Unicode version: 3.0 -# Table version: 1.0 -# Table format: Format A -# Date: 1999 October 8 -# Author: Ken Whistler -# Original authors: Glenn Adams, John H. Jenkin -# -# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. -# -# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). -# No claims are made as to fitness for any particular purpose. No -# warranties of any kind are expressed or implied. The recipient -# agrees to determine applicability of information provided. If this -# file has been provided on optical media by Unicode, Inc., the sole -# remedy for any claim will be exchange of defective media within 90 -# days of receipt. -# -# Unicode, Inc. hereby grants the right to freely use the information -# supplied in this file in the creation of products supporting the -# Unicode Standard, and to make copies of this file in any form for -# internal or external distribution as long as this notice remains -# attached. -# -# General notes: -# -# This table contains the datathe Unicode Consortium currently has on how -# GB2312-80 characters map into Unicode. -# -# Format: Three tab-separated columns -# Column #1 is the GB2312 code (in hex as 0xXXXX) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 the Unicode name (follows a comment sign, '#') -# The official names for Unicode characters U+4E00 -# to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX", -# where XXXX is the code point. Including all these -# names in this file increases its size substantially -# and needlessly. The token "" is used for the -# name of these characters. If necessary, it can be -# expanded algorithmically by a parser or editor. -# -# The entries are in GB2312 order -# -# The following algorithms can be used to change the hex form -# of GB2312 to other standard forms: -# -# To change hex to EUC form, add 0x8080 -# To change hex to kuten form, first subtract 0x2020. Then -# the high and low bytes correspond to the ku and ten of -# the kuten form. For example, 0x2121 -> 0x0101 -> 0101; -# 0x777E -> 0x575E -> 8794 -# -# Version history -# 1.0 version updates 0.0d2 version by correcting mapping for 0x212C -# from U+2225 to U+2016. -# -# Updated versions of this file may be found in: -# -# -# Any comments or problems, contact -# Please note that is an archival address; -# notices will be checked, but do not expect an immediate response. -# - -0x2121 0x3000 # IDEOGRAPHIC SPACE -0x2122 0x3001 # IDEOGRAPHIC COMMA -0x2123 0x3002 # IDEOGRAPHIC FULL STOP -0x2124 0x30FB # KATAKANA MIDDLE DOT -0x2125 0x02C9 # MODIFIER LETTER MACRON (Mandarin Chinese first tone) -0x2126 0x02C7 # CARON (Mandarin Chinese third tone) -0x2127 0x00A8 # DIAERESIS -0x2128 0x3003 # DITTO MARK -0x2129 0x3005 # IDEOGRAPHIC ITERATION MARK -0x212A 0x2015 # HORIZONTAL BAR -0x212B 0xFF5E # FULLWIDTH TILDE -0x212C 0x2016 # DOUBLE VERTICAL LINE -0x212D 0x2026 # HORIZONTAL ELLIPSIS -0x212E 0x2018 # LEFT SINGLE QUOTATION MARK -0x212F 0x2019 # RIGHT SINGLE QUOTATION MARK -0x2130 0x201C # LEFT DOUBLE QUOTATION MARK -0x2131 0x201D # RIGHT DOUBLE QUOTATION MARK -0x2132 0x3014 # LEFT TORTOISE SHELL BRACKET -0x2133 0x3015 # RIGHT TORTOISE SHELL BRACKET -0x2134 0x3008 # LEFT ANGLE BRACKET -0x2135 0x3009 # RIGHT ANGLE BRACKET -0x2136 0x300A # LEFT DOUBLE ANGLE BRACKET -0x2137 0x300B # RIGHT DOUBLE ANGLE BRACKET -0x2138 0x300C # LEFT CORNER BRACKET -0x2139 0x300D # RIGHT CORNER BRACKET -0x213A 0x300E # LEFT WHITE CORNER BRACKET -0x213B 0x300F # RIGHT WHITE CORNER BRACKET -0x213C 0x3016 # LEFT WHITE LENTICULAR BRACKET -0x213D 0x3017 # RIGHT WHITE LENTICULAR BRACKET -0x213E 0x3010 # LEFT BLACK LENTICULAR BRACKET -0x213F 0x3011 # RIGHT BLACK LENTICULAR BRACKET -0x2140 0x00B1 # PLUS-MINUS SIGN -0x2141 0x00D7 # MULTIPLICATION SIGN -0x2142 0x00F7 # DIVISION SIGN -0x2143 0x2236 # RATIO -0x2144 0x2227 # LOGICAL AND -0x2145 0x2228 # LOGICAL OR -0x2146 0x2211 # N-ARY SUMMATION -0x2147 0x220F # N-ARY PRODUCT -0x2148 0x222A # UNION -0x2149 0x2229 # INTERSECTION -0x214A 0x2208 # ELEMENT OF -0x214B 0x2237 # PROPORTION -0x214C 0x221A # SQUARE ROOT -0x214D 0x22A5 # UP TACK -0x214E 0x2225 # PARALLEL TO -0x214F 0x2220 # ANGLE -0x2150 0x2312 # ARC -0x2151 0x2299 # CIRCLED DOT OPERATOR -0x2152 0x222B # INTEGRAL -0x2153 0x222E # CONTOUR INTEGRAL -0x2154 0x2261 # IDENTICAL TO -0x2155 0x224C # ALL EQUAL TO -0x2156 0x2248 # ALMOST EQUAL TO -0x2157 0x223D # REVERSED TILDE -0x2158 0x221D # PROPORTIONAL TO -0x2159 0x2260 # NOT EQUAL TO -0x215A 0x226E # NOT LESS-THAN -0x215B 0x226F # NOT GREATER-THAN -0x215C 0x2264 # LESS-THAN OR EQUAL TO -0x215D 0x2265 # GREATER-THAN OR EQUAL TO -0x215E 0x221E # INFINITY -0x215F 0x2235 # BECAUSE -0x2160 0x2234 # THEREFORE -0x2161 0x2642 # MALE SIGN -0x2162 0x2640 # FEMALE SIGN -0x2163 0x00B0 # DEGREE SIGN -0x2164 0x2032 # PRIME -0x2165 0x2033 # DOUBLE PRIME -0x2166 0x2103 # DEGREE CELSIUS -0x2167 0xFF04 # FULLWIDTH DOLLAR SIGN -0x2168 0x00A4 # CURRENCY SIGN -0x2169 0xFFE0 # FULLWIDTH CENT SIGN -0x216A 0xFFE1 # FULLWIDTH POUND SIGN -0x216B 0x2030 # PER MILLE SIGN -0x216C 0x00A7 # SECTION SIGN -0x216D 0x2116 # NUMERO SIGN -0x216E 0x2606 # WHITE STAR -0x216F 0x2605 # BLACK STAR -0x2170 0x25CB # WHITE CIRCLE -0x2171 0x25CF # BLACK CIRCLE -0x2172 0x25CE # BULLSEYE -0x2173 0x25C7 # WHITE DIAMOND -0x2174 0x25C6 # BLACK DIAMOND -0x2175 0x25A1 # WHITE SQUARE -0x2176 0x25A0 # BLACK SQUARE -0x2177 0x25B3 # WHITE UP-POINTING TRIANGLE -0x2178 0x25B2 # BLACK UP-POINTING TRIANGLE -0x2179 0x203B # REFERENCE MARK -0x217A 0x2192 # RIGHTWARDS ARROW -0x217B 0x2190 # LEFTWARDS ARROW -0x217C 0x2191 # UPWARDS ARROW -0x217D 0x2193 # DOWNWARDS ARROW -0x217E 0x3013 # GETA MARK -0x2231 0x2488 # DIGIT ONE FULL STOP -0x2232 0x2489 # DIGIT TWO FULL STOP -0x2233 0x248A # DIGIT THREE FULL STOP -0x2234 0x248B # DIGIT FOUR FULL STOP -0x2235 0x248C # DIGIT FIVE FULL STOP -0x2236 0x248D # DIGIT SIX FULL STOP -0x2237 0x248E # DIGIT SEVEN FULL STOP -0x2238 0x248F # DIGIT EIGHT FULL STOP -0x2239 0x2490 # DIGIT NINE FULL STOP -0x223A 0x2491 # NUMBER TEN FULL STOP -0x223B 0x2492 # NUMBER ELEVEN FULL STOP -0x223C 0x2493 # NUMBER TWELVE FULL STOP -0x223D 0x2494 # NUMBER THIRTEEN FULL STOP -0x223E 0x2495 # NUMBER FOURTEEN FULL STOP -0x223F 0x2496 # NUMBER FIFTEEN FULL STOP -0x2240 0x2497 # NUMBER SIXTEEN FULL STOP -0x2241 0x2498 # NUMBER SEVENTEEN FULL STOP -0x2242 0x2499 # NUMBER EIGHTEEN FULL STOP -0x2243 0x249A # NUMBER NINETEEN FULL STOP -0x2244 0x249B # NUMBER TWENTY FULL STOP -0x2245 0x2474 # PARENTHESIZED DIGIT ONE -0x2246 0x2475 # PARENTHESIZED DIGIT TWO -0x2247 0x2476 # PARENTHESIZED DIGIT THREE -0x2248 0x2477 # PARENTHESIZED DIGIT FOUR -0x2249 0x2478 # PARENTHESIZED DIGIT FIVE -0x224A 0x2479 # PARENTHESIZED DIGIT SIX -0x224B 0x247A # PARENTHESIZED DIGIT SEVEN -0x224C 0x247B # PARENTHESIZED DIGIT EIGHT -0x224D 0x247C # PARENTHESIZED DIGIT NINE -0x224E 0x247D # PARENTHESIZED NUMBER TEN -0x224F 0x247E # PARENTHESIZED NUMBER ELEVEN -0x2250 0x247F # PARENTHESIZED NUMBER TWELVE -0x2251 0x2480 # PARENTHESIZED NUMBER THIRTEEN -0x2252 0x2481 # PARENTHESIZED NUMBER FOURTEEN -0x2253 0x2482 # PARENTHESIZED NUMBER FIFTEEN -0x2254 0x2483 # PARENTHESIZED NUMBER SIXTEEN -0x2255 0x2484 # PARENTHESIZED NUMBER SEVENTEEN -0x2256 0x2485 # PARENTHESIZED NUMBER EIGHTEEN -0x2257 0x2486 # PARENTHESIZED NUMBER NINETEEN -0x2258 0x2487 # PARENTHESIZED NUMBER TWENTY -0x2259 0x2460 # CIRCLED DIGIT ONE -0x225A 0x2461 # CIRCLED DIGIT TWO -0x225B 0x2462 # CIRCLED DIGIT THREE -0x225C 0x2463 # CIRCLED DIGIT FOUR -0x225D 0x2464 # CIRCLED DIGIT FIVE -0x225E 0x2465 # CIRCLED DIGIT SIX -0x225F 0x2466 # CIRCLED DIGIT SEVEN -0x2260 0x2467 # CIRCLED DIGIT EIGHT -0x2261 0x2468 # CIRCLED DIGIT NINE -0x2262 0x2469 # CIRCLED NUMBER TEN -0x2265 0x3220 # PARENTHESIZED IDEOGRAPH ONE -0x2266 0x3221 # PARENTHESIZED IDEOGRAPH TWO -0x2267 0x3222 # PARENTHESIZED IDEOGRAPH THREE -0x2268 0x3223 # PARENTHESIZED IDEOGRAPH FOUR -0x2269 0x3224 # PARENTHESIZED IDEOGRAPH FIVE -0x226A 0x3225 # PARENTHESIZED IDEOGRAPH SIX -0x226B 0x3226 # PARENTHESIZED IDEOGRAPH SEVEN -0x226C 0x3227 # PARENTHESIZED IDEOGRAPH EIGHT -0x226D 0x3228 # PARENTHESIZED IDEOGRAPH NINE -0x226E 0x3229 # PARENTHESIZED IDEOGRAPH TEN -0x2271 0x2160 # ROMAN NUMERAL ONE -0x2272 0x2161 # ROMAN NUMERAL TWO -0x2273 0x2162 # ROMAN NUMERAL THREE -0x2274 0x2163 # ROMAN NUMERAL FOUR -0x2275 0x2164 # ROMAN NUMERAL FIVE -0x2276 0x2165 # ROMAN NUMERAL SIX -0x2277 0x2166 # ROMAN NUMERAL SEVEN -0x2278 0x2167 # ROMAN NUMERAL EIGHT -0x2279 0x2168 # ROMAN NUMERAL NINE -0x227A 0x2169 # ROMAN NUMERAL TEN -0x227B 0x216A # ROMAN NUMERAL ELEVEN -0x227C 0x216B # ROMAN NUMERAL TWELVE -0x2321 0xFF01 # FULLWIDTH EXCLAMATION MARK -0x2322 0xFF02 # FULLWIDTH QUOTATION MARK -0x2323 0xFF03 # FULLWIDTH NUMBER SIGN -0x2324 0xFFE5 # FULLWIDTH YEN SIGN -0x2325 0xFF05 # FULLWIDTH PERCENT SIGN -0x2326 0xFF06 # FULLWIDTH AMPERSAND -0x2327 0xFF07 # FULLWIDTH APOSTROPHE -0x2328 0xFF08 # FULLWIDTH LEFT PARENTHESIS -0x2329 0xFF09 # FULLWIDTH RIGHT PARENTHESIS -0x232A 0xFF0A # FULLWIDTH ASTERISK -0x232B 0xFF0B # FULLWIDTH PLUS SIGN -0x232C 0xFF0C # FULLWIDTH COMMA -0x232D 0xFF0D # FULLWIDTH HYPHEN-MINUS -0x232E 0xFF0E # FULLWIDTH FULL STOP -0x232F 0xFF0F # FULLWIDTH SOLIDUS -0x2330 0xFF10 # FULLWIDTH DIGIT ZERO -0x2331 0xFF11 # FULLWIDTH DIGIT ONE -0x2332 0xFF12 # FULLWIDTH DIGIT TWO -0x2333 0xFF13 # FULLWIDTH DIGIT THREE -0x2334 0xFF14 # FULLWIDTH DIGIT FOUR -0x2335 0xFF15 # FULLWIDTH DIGIT FIVE -0x2336 0xFF16 # FULLWIDTH DIGIT SIX -0x2337 0xFF17 # FULLWIDTH DIGIT SEVEN -0x2338 0xFF18 # FULLWIDTH DIGIT EIGHT -0x2339 0xFF19 # FULLWIDTH DIGIT NINE -0x233A 0xFF1A # FULLWIDTH COLON -0x233B 0xFF1B # FULLWIDTH SEMICOLON -0x233C 0xFF1C # FULLWIDTH LESS-THAN SIGN -0x233D 0xFF1D # FULLWIDTH EQUALS SIGN -0x233E 0xFF1E # FULLWIDTH GREATER-THAN SIGN -0x233F 0xFF1F # FULLWIDTH QUESTION MARK -0x2340 0xFF20 # FULLWIDTH COMMERCIAL AT -0x2341 0xFF21 # FULLWIDTH LATIN CAPITAL LETTER A -0x2342 0xFF22 # FULLWIDTH LATIN CAPITAL LETTER B -0x2343 0xFF23 # FULLWIDTH LATIN CAPITAL LETTER C -0x2344 0xFF24 # FULLWIDTH LATIN CAPITAL LETTER D -0x2345 0xFF25 # FULLWIDTH LATIN CAPITAL LETTER E -0x2346 0xFF26 # FULLWIDTH LATIN CAPITAL LETTER F -0x2347 0xFF27 # FULLWIDTH LATIN CAPITAL LETTER G -0x2348 0xFF28 # FULLWIDTH LATIN CAPITAL LETTER H -0x2349 0xFF29 # FULLWIDTH LATIN CAPITAL LETTER I -0x234A 0xFF2A # FULLWIDTH LATIN CAPITAL LETTER J -0x234B 0xFF2B # FULLWIDTH LATIN CAPITAL LETTER K -0x234C 0xFF2C # FULLWIDTH LATIN CAPITAL LETTER L -0x234D 0xFF2D # FULLWIDTH LATIN CAPITAL LETTER M -0x234E 0xFF2E # FULLWIDTH LATIN CAPITAL LETTER N -0x234F 0xFF2F # FULLWIDTH LATIN CAPITAL LETTER O -0x2350 0xFF30 # FULLWIDTH LATIN CAPITAL LETTER P -0x2351 0xFF31 # FULLWIDTH LATIN CAPITAL LETTER Q -0x2352 0xFF32 # FULLWIDTH LATIN CAPITAL LETTER R -0x2353 0xFF33 # FULLWIDTH LATIN CAPITAL LETTER S -0x2354 0xFF34 # FULLWIDTH LATIN CAPITAL LETTER T -0x2355 0xFF35 # FULLWIDTH LATIN CAPITAL LETTER U -0x2356 0xFF36 # FULLWIDTH LATIN CAPITAL LETTER V -0x2357 0xFF37 # FULLWIDTH LATIN CAPITAL LETTER W -0x2358 0xFF38 # FULLWIDTH LATIN CAPITAL LETTER X -0x2359 0xFF39 # FULLWIDTH LATIN CAPITAL LETTER Y -0x235A 0xFF3A # FULLWIDTH LATIN CAPITAL LETTER Z -0x235B 0xFF3B # FULLWIDTH LEFT SQUARE BRACKET -0x235C 0xFF3C # FULLWIDTH REVERSE SOLIDUS -0x235D 0xFF3D # FULLWIDTH RIGHT SQUARE BRACKET -0x235E 0xFF3E # FULLWIDTH CIRCUMFLEX ACCENT -0x235F 0xFF3F # FULLWIDTH LOW LINE -0x2360 0xFF40 # FULLWIDTH GRAVE ACCENT -0x2361 0xFF41 # FULLWIDTH LATIN SMALL LETTER A -0x2362 0xFF42 # FULLWIDTH LATIN SMALL LETTER B -0x2363 0xFF43 # FULLWIDTH LATIN SMALL LETTER C -0x2364 0xFF44 # FULLWIDTH LATIN SMALL LETTER D -0x2365 0xFF45 # FULLWIDTH LATIN SMALL LETTER E -0x2366 0xFF46 # FULLWIDTH LATIN SMALL LETTER F -0x2367 0xFF47 # FULLWIDTH LATIN SMALL LETTER G -0x2368 0xFF48 # FULLWIDTH LATIN SMALL LETTER H -0x2369 0xFF49 # FULLWIDTH LATIN SMALL LETTER I -0x236A 0xFF4A # FULLWIDTH LATIN SMALL LETTER J -0x236B 0xFF4B # FULLWIDTH LATIN SMALL LETTER K -0x236C 0xFF4C # FULLWIDTH LATIN SMALL LETTER L -0x236D 0xFF4D # FULLWIDTH LATIN SMALL LETTER M -0x236E 0xFF4E # FULLWIDTH LATIN SMALL LETTER N -0x236F 0xFF4F # FULLWIDTH LATIN SMALL LETTER O -0x2370 0xFF50 # FULLWIDTH LATIN SMALL LETTER P -0x2371 0xFF51 # FULLWIDTH LATIN SMALL LETTER Q -0x2372 0xFF52 # FULLWIDTH LATIN SMALL LETTER R -0x2373 0xFF53 # FULLWIDTH LATIN SMALL LETTER S -0x2374 0xFF54 # FULLWIDTH LATIN SMALL LETTER T -0x2375 0xFF55 # FULLWIDTH LATIN SMALL LETTER U -0x2376 0xFF56 # FULLWIDTH LATIN SMALL LETTER V -0x2377 0xFF57 # FULLWIDTH LATIN SMALL LETTER W -0x2378 0xFF58 # FULLWIDTH LATIN SMALL LETTER X -0x2379 0xFF59 # FULLWIDTH LATIN SMALL LETTER Y -0x237A 0xFF5A # FULLWIDTH LATIN SMALL LETTER Z -0x237B 0xFF5B # FULLWIDTH LEFT CURLY BRACKET -0x237C 0xFF5C # FULLWIDTH VERTICAL LINE -0x237D 0xFF5D # FULLWIDTH RIGHT CURLY BRACKET -0x237E 0xFFE3 # FULLWIDTH MACRON -0x2421 0x3041 # HIRAGANA LETTER SMALL A -0x2422 0x3042 # HIRAGANA LETTER A -0x2423 0x3043 # HIRAGANA LETTER SMALL I -0x2424 0x3044 # HIRAGANA LETTER I -0x2425 0x3045 # HIRAGANA LETTER SMALL U -0x2426 0x3046 # HIRAGANA LETTER U -0x2427 0x3047 # HIRAGANA LETTER SMALL E -0x2428 0x3048 # HIRAGANA LETTER E -0x2429 0x3049 # HIRAGANA LETTER SMALL O -0x242A 0x304A # HIRAGANA LETTER O -0x242B 0x304B # HIRAGANA LETTER KA -0x242C 0x304C # HIRAGANA LETTER GA -0x242D 0x304D # HIRAGANA LETTER KI -0x242E 0x304E # HIRAGANA LETTER GI -0x242F 0x304F # HIRAGANA LETTER KU -0x2430 0x3050 # HIRAGANA LETTER GU -0x2431 0x3051 # HIRAGANA LETTER KE -0x2432 0x3052 # HIRAGANA LETTER GE -0x2433 0x3053 # HIRAGANA LETTER KO -0x2434 0x3054 # HIRAGANA LETTER GO -0x2435 0x3055 # HIRAGANA LETTER SA -0x2436 0x3056 # HIRAGANA LETTER ZA -0x2437 0x3057 # HIRAGANA LETTER SI -0x2438 0x3058 # HIRAGANA LETTER ZI -0x2439 0x3059 # HIRAGANA LETTER SU -0x243A 0x305A # HIRAGANA LETTER ZU -0x243B 0x305B # HIRAGANA LETTER SE -0x243C 0x305C # HIRAGANA LETTER ZE -0x243D 0x305D # HIRAGANA LETTER SO -0x243E 0x305E # HIRAGANA LETTER ZO -0x243F 0x305F # HIRAGANA LETTER TA -0x2440 0x3060 # HIRAGANA LETTER DA -0x2441 0x3061 # HIRAGANA LETTER TI -0x2442 0x3062 # HIRAGANA LETTER DI -0x2443 0x3063 # HIRAGANA LETTER SMALL TU -0x2444 0x3064 # HIRAGANA LETTER TU -0x2445 0x3065 # HIRAGANA LETTER DU -0x2446 0x3066 # HIRAGANA LETTER TE -0x2447 0x3067 # HIRAGANA LETTER DE -0x2448 0x3068 # HIRAGANA LETTER TO -0x2449 0x3069 # HIRAGANA LETTER DO -0x244A 0x306A # HIRAGANA LETTER NA -0x244B 0x306B # HIRAGANA LETTER NI -0x244C 0x306C # HIRAGANA LETTER NU -0x244D 0x306D # HIRAGANA LETTER NE -0x244E 0x306E # HIRAGANA LETTER NO -0x244F 0x306F # HIRAGANA LETTER HA -0x2450 0x3070 # HIRAGANA LETTER BA -0x2451 0x3071 # HIRAGANA LETTER PA -0x2452 0x3072 # HIRAGANA LETTER HI -0x2453 0x3073 # HIRAGANA LETTER BI -0x2454 0x3074 # HIRAGANA LETTER PI -0x2455 0x3075 # HIRAGANA LETTER HU -0x2456 0x3076 # HIRAGANA LETTER BU -0x2457 0x3077 # HIRAGANA LETTER PU -0x2458 0x3078 # HIRAGANA LETTER HE -0x2459 0x3079 # HIRAGANA LETTER BE -0x245A 0x307A # HIRAGANA LETTER PE -0x245B 0x307B # HIRAGANA LETTER HO -0x245C 0x307C # HIRAGANA LETTER BO -0x245D 0x307D # HIRAGANA LETTER PO -0x245E 0x307E # HIRAGANA LETTER MA -0x245F 0x307F # HIRAGANA LETTER MI -0x2460 0x3080 # HIRAGANA LETTER MU -0x2461 0x3081 # HIRAGANA LETTER ME -0x2462 0x3082 # HIRAGANA LETTER MO -0x2463 0x3083 # HIRAGANA LETTER SMALL YA -0x2464 0x3084 # HIRAGANA LETTER YA -0x2465 0x3085 # HIRAGANA LETTER SMALL YU -0x2466 0x3086 # HIRAGANA LETTER YU -0x2467 0x3087 # HIRAGANA LETTER SMALL YO -0x2468 0x3088 # HIRAGANA LETTER YO -0x2469 0x3089 # HIRAGANA LETTER RA -0x246A 0x308A # HIRAGANA LETTER RI -0x246B 0x308B # HIRAGANA LETTER RU -0x246C 0x308C # HIRAGANA LETTER RE -0x246D 0x308D # HIRAGANA LETTER RO -0x246E 0x308E # HIRAGANA LETTER SMALL WA -0x246F 0x308F # HIRAGANA LETTER WA -0x2470 0x3090 # HIRAGANA LETTER WI -0x2471 0x3091 # HIRAGANA LETTER WE -0x2472 0x3092 # HIRAGANA LETTER WO -0x2473 0x3093 # HIRAGANA LETTER N -0x2521 0x30A1 # KATAKANA LETTER SMALL A -0x2522 0x30A2 # KATAKANA LETTER A -0x2523 0x30A3 # KATAKANA LETTER SMALL I -0x2524 0x30A4 # KATAKANA LETTER I -0x2525 0x30A5 # KATAKANA LETTER SMALL U -0x2526 0x30A6 # KATAKANA LETTER U -0x2527 0x30A7 # KATAKANA LETTER SMALL E -0x2528 0x30A8 # KATAKANA LETTER E -0x2529 0x30A9 # KATAKANA LETTER SMALL O -0x252A 0x30AA # KATAKANA LETTER O -0x252B 0x30AB # KATAKANA LETTER KA -0x252C 0x30AC # KATAKANA LETTER GA -0x252D 0x30AD # KATAKANA LETTER KI -0x252E 0x30AE # KATAKANA LETTER GI -0x252F 0x30AF # KATAKANA LETTER KU -0x2530 0x30B0 # KATAKANA LETTER GU -0x2531 0x30B1 # KATAKANA LETTER KE -0x2532 0x30B2 # KATAKANA LETTER GE -0x2533 0x30B3 # KATAKANA LETTER KO -0x2534 0x30B4 # KATAKANA LETTER GO -0x2535 0x30B5 # KATAKANA LETTER SA -0x2536 0x30B6 # KATAKANA LETTER ZA -0x2537 0x30B7 # KATAKANA LETTER SI -0x2538 0x30B8 # KATAKANA LETTER ZI -0x2539 0x30B9 # KATAKANA LETTER SU -0x253A 0x30BA # KATAKANA LETTER ZU -0x253B 0x30BB # KATAKANA LETTER SE -0x253C 0x30BC # KATAKANA LETTER ZE -0x253D 0x30BD # KATAKANA LETTER SO -0x253E 0x30BE # KATAKANA LETTER ZO -0x253F 0x30BF # KATAKANA LETTER TA -0x2540 0x30C0 # KATAKANA LETTER DA -0x2541 0x30C1 # KATAKANA LETTER TI -0x2542 0x30C2 # KATAKANA LETTER DI -0x2543 0x30C3 # KATAKANA LETTER SMALL TU -0x2544 0x30C4 # KATAKANA LETTER TU -0x2545 0x30C5 # KATAKANA LETTER DU -0x2546 0x30C6 # KATAKANA LETTER TE -0x2547 0x30C7 # KATAKANA LETTER DE -0x2548 0x30C8 # KATAKANA LETTER TO -0x2549 0x30C9 # KATAKANA LETTER DO -0x254A 0x30CA # KATAKANA LETTER NA -0x254B 0x30CB # KATAKANA LETTER NI -0x254C 0x30CC # KATAKANA LETTER NU -0x254D 0x30CD # KATAKANA LETTER NE -0x254E 0x30CE # KATAKANA LETTER NO -0x254F 0x30CF # KATAKANA LETTER HA -0x2550 0x30D0 # KATAKANA LETTER BA -0x2551 0x30D1 # KATAKANA LETTER PA -0x2552 0x30D2 # KATAKANA LETTER HI -0x2553 0x30D3 # KATAKANA LETTER BI -0x2554 0x30D4 # KATAKANA LETTER PI -0x2555 0x30D5 # KATAKANA LETTER HU -0x2556 0x30D6 # KATAKANA LETTER BU -0x2557 0x30D7 # KATAKANA LETTER PU -0x2558 0x30D8 # KATAKANA LETTER HE -0x2559 0x30D9 # KATAKANA LETTER BE -0x255A 0x30DA # KATAKANA LETTER PE -0x255B 0x30DB # KATAKANA LETTER HO -0x255C 0x30DC # KATAKANA LETTER BO -0x255D 0x30DD # KATAKANA LETTER PO -0x255E 0x30DE # KATAKANA LETTER MA -0x255F 0x30DF # KATAKANA LETTER MI -0x2560 0x30E0 # KATAKANA LETTER MU -0x2561 0x30E1 # KATAKANA LETTER ME -0x2562 0x30E2 # KATAKANA LETTER MO -0x2563 0x30E3 # KATAKANA LETTER SMALL YA -0x2564 0x30E4 # KATAKANA LETTER YA -0x2565 0x30E5 # KATAKANA LETTER SMALL YU -0x2566 0x30E6 # KATAKANA LETTER YU -0x2567 0x30E7 # KATAKANA LETTER SMALL YO -0x2568 0x30E8 # KATAKANA LETTER YO -0x2569 0x30E9 # KATAKANA LETTER RA -0x256A 0x30EA # KATAKANA LETTER RI -0x256B 0x30EB # KATAKANA LETTER RU -0x256C 0x30EC # KATAKANA LETTER RE -0x256D 0x30ED # KATAKANA LETTER RO -0x256E 0x30EE # KATAKANA LETTER SMALL WA -0x256F 0x30EF # KATAKANA LETTER WA -0x2570 0x30F0 # KATAKANA LETTER WI -0x2571 0x30F1 # KATAKANA LETTER WE -0x2572 0x30F2 # KATAKANA LETTER WO -0x2573 0x30F3 # KATAKANA LETTER N -0x2574 0x30F4 # KATAKANA LETTER VU -0x2575 0x30F5 # KATAKANA LETTER SMALL KA -0x2576 0x30F6 # KATAKANA LETTER SMALL KE -0x2621 0x0391 # GREEK CAPITAL LETTER ALPHA -0x2622 0x0392 # GREEK CAPITAL LETTER BETA -0x2623 0x0393 # GREEK CAPITAL LETTER GAMMA -0x2624 0x0394 # GREEK CAPITAL LETTER DELTA -0x2625 0x0395 # GREEK CAPITAL LETTER EPSILON -0x2626 0x0396 # GREEK CAPITAL LETTER ZETA -0x2627 0x0397 # GREEK CAPITAL LETTER ETA -0x2628 0x0398 # GREEK CAPITAL LETTER THETA -0x2629 0x0399 # GREEK CAPITAL LETTER IOTA -0x262A 0x039A # GREEK CAPITAL LETTER KAPPA -0x262B 0x039B # GREEK CAPITAL LETTER LAMDA -0x262C 0x039C # GREEK CAPITAL LETTER MU -0x262D 0x039D # GREEK CAPITAL LETTER NU -0x262E 0x039E # GREEK CAPITAL LETTER XI -0x262F 0x039F # GREEK CAPITAL LETTER OMICRON -0x2630 0x03A0 # GREEK CAPITAL LETTER PI -0x2631 0x03A1 # GREEK CAPITAL LETTER RHO -0x2632 0x03A3 # GREEK CAPITAL LETTER SIGMA -0x2633 0x03A4 # GREEK CAPITAL LETTER TAU -0x2634 0x03A5 # GREEK CAPITAL LETTER UPSILON -0x2635 0x03A6 # GREEK CAPITAL LETTER PHI -0x2636 0x03A7 # GREEK CAPITAL LETTER CHI -0x2637 0x03A8 # GREEK CAPITAL LETTER PSI -0x2638 0x03A9 # GREEK CAPITAL LETTER OMEGA -0x2641 0x03B1 # GREEK SMALL LETTER ALPHA -0x2642 0x03B2 # GREEK SMALL LETTER BETA -0x2643 0x03B3 # GREEK SMALL LETTER GAMMA -0x2644 0x03B4 # GREEK SMALL LETTER DELTA -0x2645 0x03B5 # GREEK SMALL LETTER EPSILON -0x2646 0x03B6 # GREEK SMALL LETTER ZETA -0x2647 0x03B7 # GREEK SMALL LETTER ETA -0x2648 0x03B8 # GREEK SMALL LETTER THETA -0x2649 0x03B9 # GREEK SMALL LETTER IOTA -0x264A 0x03BA # GREEK SMALL LETTER KAPPA -0x264B 0x03BB # GREEK SMALL LETTER LAMDA -0x264C 0x03BC # GREEK SMALL LETTER MU -0x264D 0x03BD # GREEK SMALL LETTER NU -0x264E 0x03BE # GREEK SMALL LETTER XI -0x264F 0x03BF # GREEK SMALL LETTER OMICRON -0x2650 0x03C0 # GREEK SMALL LETTER PI -0x2651 0x03C1 # GREEK SMALL LETTER RHO -0x2652 0x03C3 # GREEK SMALL LETTER SIGMA -0x2653 0x03C4 # GREEK SMALL LETTER TAU -0x2654 0x03C5 # GREEK SMALL LETTER UPSILON -0x2655 0x03C6 # GREEK SMALL LETTER PHI -0x2656 0x03C7 # GREEK SMALL LETTER CHI -0x2657 0x03C8 # GREEK SMALL LETTER PSI -0x2658 0x03C9 # GREEK SMALL LETTER OMEGA -0x2721 0x0410 # CYRILLIC CAPITAL LETTER A -0x2722 0x0411 # CYRILLIC CAPITAL LETTER BE -0x2723 0x0412 # CYRILLIC CAPITAL LETTER VE -0x2724 0x0413 # CYRILLIC CAPITAL LETTER GHE -0x2725 0x0414 # CYRILLIC CAPITAL LETTER DE -0x2726 0x0415 # CYRILLIC CAPITAL LETTER IE -0x2727 0x0401 # CYRILLIC CAPITAL LETTER IO -0x2728 0x0416 # CYRILLIC CAPITAL LETTER ZHE -0x2729 0x0417 # CYRILLIC CAPITAL LETTER ZE -0x272A 0x0418 # CYRILLIC CAPITAL LETTER I -0x272B 0x0419 # CYRILLIC CAPITAL LETTER SHORT I -0x272C 0x041A # CYRILLIC CAPITAL LETTER KA -0x272D 0x041B # CYRILLIC CAPITAL LETTER EL -0x272E 0x041C # CYRILLIC CAPITAL LETTER EM -0x272F 0x041D # CYRILLIC CAPITAL LETTER EN -0x2730 0x041E # CYRILLIC CAPITAL LETTER O -0x2731 0x041F # CYRILLIC CAPITAL LETTER PE -0x2732 0x0420 # CYRILLIC CAPITAL LETTER ER -0x2733 0x0421 # CYRILLIC CAPITAL LETTER ES -0x2734 0x0422 # CYRILLIC CAPITAL LETTER TE -0x2735 0x0423 # CYRILLIC CAPITAL LETTER U -0x2736 0x0424 # CYRILLIC CAPITAL LETTER EF -0x2737 0x0425 # CYRILLIC CAPITAL LETTER HA -0x2738 0x0426 # CYRILLIC CAPITAL LETTER TSE -0x2739 0x0427 # CYRILLIC CAPITAL LETTER CHE -0x273A 0x0428 # CYRILLIC CAPITAL LETTER SHA -0x273B 0x0429 # CYRILLIC CAPITAL LETTER SHCHA -0x273C 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN -0x273D 0x042B # CYRILLIC CAPITAL LETTER YERU -0x273E 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN -0x273F 0x042D # CYRILLIC CAPITAL LETTER E -0x2740 0x042E # CYRILLIC CAPITAL LETTER YU -0x2741 0x042F # CYRILLIC CAPITAL LETTER YA -0x2751 0x0430 # CYRILLIC SMALL LETTER A -0x2752 0x0431 # CYRILLIC SMALL LETTER BE -0x2753 0x0432 # CYRILLIC SMALL LETTER VE -0x2754 0x0433 # CYRILLIC SMALL LETTER GHE -0x2755 0x0434 # CYRILLIC SMALL LETTER DE -0x2756 0x0435 # CYRILLIC SMALL LETTER IE -0x2757 0x0451 # CYRILLIC SMALL LETTER IO -0x2758 0x0436 # CYRILLIC SMALL LETTER ZHE -0x2759 0x0437 # CYRILLIC SMALL LETTER ZE -0x275A 0x0438 # CYRILLIC SMALL LETTER I -0x275B 0x0439 # CYRILLIC SMALL LETTER SHORT I -0x275C 0x043A # CYRILLIC SMALL LETTER KA -0x275D 0x043B # CYRILLIC SMALL LETTER EL -0x275E 0x043C # CYRILLIC SMALL LETTER EM -0x275F 0x043D # CYRILLIC SMALL LETTER EN -0x2760 0x043E # CYRILLIC SMALL LETTER O -0x2761 0x043F # CYRILLIC SMALL LETTER PE -0x2762 0x0440 # CYRILLIC SMALL LETTER ER -0x2763 0x0441 # CYRILLIC SMALL LETTER ES -0x2764 0x0442 # CYRILLIC SMALL LETTER TE -0x2765 0x0443 # CYRILLIC SMALL LETTER U -0x2766 0x0444 # CYRILLIC SMALL LETTER EF -0x2767 0x0445 # CYRILLIC SMALL LETTER HA -0x2768 0x0446 # CYRILLIC SMALL LETTER TSE -0x2769 0x0447 # CYRILLIC SMALL LETTER CHE -0x276A 0x0448 # CYRILLIC SMALL LETTER SHA -0x276B 0x0449 # CYRILLIC SMALL LETTER SHCHA -0x276C 0x044A # CYRILLIC SMALL LETTER HARD SIGN -0x276D 0x044B # CYRILLIC SMALL LETTER YERU -0x276E 0x044C # CYRILLIC SMALL LETTER SOFT SIGN -0x276F 0x044D # CYRILLIC SMALL LETTER E -0x2770 0x044E # CYRILLIC SMALL LETTER YU -0x2771 0x044F # CYRILLIC SMALL LETTER YA -0x2821 0x0101 # LATIN SMALL LETTER A WITH MACRON -0x2822 0x00E1 # LATIN SMALL LETTER A WITH ACUTE -0x2823 0x01CE # LATIN SMALL LETTER A WITH CARON -0x2824 0x00E0 # LATIN SMALL LETTER A WITH GRAVE -0x2825 0x0113 # LATIN SMALL LETTER E WITH MACRON -0x2826 0x00E9 # LATIN SMALL LETTER E WITH ACUTE -0x2827 0x011B # LATIN SMALL LETTER E WITH CARON -0x2828 0x00E8 # LATIN SMALL LETTER E WITH GRAVE -0x2829 0x012B # LATIN SMALL LETTER I WITH MACRON -0x282A 0x00ED # LATIN SMALL LETTER I WITH ACUTE -0x282B 0x01D0 # LATIN SMALL LETTER I WITH CARON -0x282C 0x00EC # LATIN SMALL LETTER I WITH GRAVE -0x282D 0x014D # LATIN SMALL LETTER O WITH MACRON -0x282E 0x00F3 # LATIN SMALL LETTER O WITH ACUTE -0x282F 0x01D2 # LATIN SMALL LETTER O WITH CARON -0x2830 0x00F2 # LATIN SMALL LETTER O WITH GRAVE -0x2831 0x016B # LATIN SMALL LETTER U WITH MACRON -0x2832 0x00FA # LATIN SMALL LETTER U WITH ACUTE -0x2833 0x01D4 # LATIN SMALL LETTER U WITH CARON -0x2834 0x00F9 # LATIN SMALL LETTER U WITH GRAVE -0x2835 0x01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON -0x2836 0x01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE -0x2837 0x01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON -0x2838 0x01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE -0x2839 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS -0x283A 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX -0x2845 0x3105 # BOPOMOFO LETTER B -0x2846 0x3106 # BOPOMOFO LETTER P -0x2847 0x3107 # BOPOMOFO LETTER M -0x2848 0x3108 # BOPOMOFO LETTER F -0x2849 0x3109 # BOPOMOFO LETTER D -0x284A 0x310A # BOPOMOFO LETTER T -0x284B 0x310B # BOPOMOFO LETTER N -0x284C 0x310C # BOPOMOFO LETTER L -0x284D 0x310D # BOPOMOFO LETTER G -0x284E 0x310E # BOPOMOFO LETTER K -0x284F 0x310F # BOPOMOFO LETTER H -0x2850 0x3110 # BOPOMOFO LETTER J -0x2851 0x3111 # BOPOMOFO LETTER Q -0x2852 0x3112 # BOPOMOFO LETTER X -0x2853 0x3113 # BOPOMOFO LETTER ZH -0x2854 0x3114 # BOPOMOFO LETTER CH -0x2855 0x3115 # BOPOMOFO LETTER SH -0x2856 0x3116 # BOPOMOFO LETTER R -0x2857 0x3117 # BOPOMOFO LETTER Z -0x2858 0x3118 # BOPOMOFO LETTER C -0x2859 0x3119 # BOPOMOFO LETTER S -0x285A 0x311A # BOPOMOFO LETTER A -0x285B 0x311B # BOPOMOFO LETTER O -0x285C 0x311C # BOPOMOFO LETTER E -0x285D 0x311D # BOPOMOFO LETTER EH -0x285E 0x311E # BOPOMOFO LETTER AI -0x285F 0x311F # BOPOMOFO LETTER EI -0x2860 0x3120 # BOPOMOFO LETTER AU -0x2861 0x3121 # BOPOMOFO LETTER OU -0x2862 0x3122 # BOPOMOFO LETTER AN -0x2863 0x3123 # BOPOMOFO LETTER EN -0x2864 0x3124 # BOPOMOFO LETTER ANG -0x2865 0x3125 # BOPOMOFO LETTER ENG -0x2866 0x3126 # BOPOMOFO LETTER ER -0x2867 0x3127 # BOPOMOFO LETTER I -0x2868 0x3128 # BOPOMOFO LETTER U -0x2869 0x3129 # BOPOMOFO LETTER IU -0x2924 0x2500 # BOX DRAWINGS LIGHT HORIZONTAL -0x2925 0x2501 # BOX DRAWINGS HEAVY HORIZONTAL -0x2926 0x2502 # BOX DRAWINGS LIGHT VERTICAL -0x2927 0x2503 # BOX DRAWINGS HEAVY VERTICAL -0x2928 0x2504 # BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL -0x2929 0x2505 # BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL -0x292A 0x2506 # BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL -0x292B 0x2507 # BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL -0x292C 0x2508 # BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL -0x292D 0x2509 # BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL -0x292E 0x250A # BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL -0x292F 0x250B # BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL -0x2930 0x250C # BOX DRAWINGS LIGHT DOWN AND RIGHT -0x2931 0x250D # BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY -0x2932 0x250E # BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT -0x2933 0x250F # BOX DRAWINGS HEAVY DOWN AND RIGHT -0x2934 0x2510 # BOX DRAWINGS LIGHT DOWN AND LEFT -0x2935 0x2511 # BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY -0x2936 0x2512 # BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT -0x2937 0x2513 # BOX DRAWINGS HEAVY DOWN AND LEFT -0x2938 0x2514 # BOX DRAWINGS LIGHT UP AND RIGHT -0x2939 0x2515 # BOX DRAWINGS UP LIGHT AND RIGHT HEAVY -0x293A 0x2516 # BOX DRAWINGS UP HEAVY AND RIGHT LIGHT -0x293B 0x2517 # BOX DRAWINGS HEAVY UP AND RIGHT -0x293C 0x2518 # BOX DRAWINGS LIGHT UP AND LEFT -0x293D 0x2519 # BOX DRAWINGS UP LIGHT AND LEFT HEAVY -0x293E 0x251A # BOX DRAWINGS UP HEAVY AND LEFT LIGHT -0x293F 0x251B # BOX DRAWINGS HEAVY UP AND LEFT -0x2940 0x251C # BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0x2941 0x251D # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY -0x2942 0x251E # BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT -0x2943 0x251F # BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT -0x2944 0x2520 # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT -0x2945 0x2521 # BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY -0x2946 0x2522 # BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY -0x2947 0x2523 # BOX DRAWINGS HEAVY VERTICAL AND RIGHT -0x2948 0x2524 # BOX DRAWINGS LIGHT VERTICAL AND LEFT -0x2949 0x2525 # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY -0x294A 0x2526 # BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT -0x294B 0x2527 # BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT -0x294C 0x2528 # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT -0x294D 0x2529 # BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY -0x294E 0x252A # BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY -0x294F 0x252B # BOX DRAWINGS HEAVY VERTICAL AND LEFT -0x2950 0x252C # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0x2951 0x252D # BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT -0x2952 0x252E # BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT -0x2953 0x252F # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY -0x2954 0x2530 # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT -0x2955 0x2531 # BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY -0x2956 0x2532 # BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY -0x2957 0x2533 # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL -0x2958 0x2534 # BOX DRAWINGS LIGHT UP AND HORIZONTAL -0x2959 0x2535 # BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT -0x295A 0x2536 # BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT -0x295B 0x2537 # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY -0x295C 0x2538 # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT -0x295D 0x2539 # BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY -0x295E 0x253A # BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY -0x295F 0x253B # BOX DRAWINGS HEAVY UP AND HORIZONTAL -0x2960 0x253C # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0x2961 0x253D # BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT -0x2962 0x253E # BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT -0x2963 0x253F # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY -0x2964 0x2540 # BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT -0x2965 0x2541 # BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT -0x2966 0x2542 # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT -0x2967 0x2543 # BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT -0x2968 0x2544 # BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT -0x2969 0x2545 # BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT -0x296A 0x2546 # BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT -0x296B 0x2547 # BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY -0x296C 0x2548 # BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY -0x296D 0x2549 # BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY -0x296E 0x254A # BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY -0x296F 0x254B # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL -0x3021 0x554A # -0x3022 0x963F # -0x3023 0x57C3 # -0x3024 0x6328 # -0x3025 0x54CE # -0x3026 0x5509 # -0x3027 0x54C0 # -0x3028 0x7691 # -0x3029 0x764C # -0x302A 0x853C # -0x302B 0x77EE # -0x302C 0x827E # -0x302D 0x788D # -0x302E 0x7231 # -0x302F 0x9698 # -0x3030 0x978D # -0x3031 0x6C28 # -0x3032 0x5B89 # -0x3033 0x4FFA # -0x3034 0x6309 # -0x3035 0x6697 # -0x3036 0x5CB8 # -0x3037 0x80FA # -0x3038 0x6848 # -0x3039 0x80AE # -0x303A 0x6602 # -0x303B 0x76CE # -0x303C 0x51F9 # -0x303D 0x6556 # -0x303E 0x71AC # -0x303F 0x7FF1 # -0x3040 0x8884 # -0x3041 0x50B2 # -0x3042 0x5965 # -0x3043 0x61CA # -0x3044 0x6FB3 # -0x3045 0x82AD # -0x3046 0x634C # -0x3047 0x6252 # -0x3048 0x53ED # -0x3049 0x5427 # -0x304A 0x7B06 # -0x304B 0x516B # -0x304C 0x75A4 # -0x304D 0x5DF4 # -0x304E 0x62D4 # -0x304F 0x8DCB # -0x3050 0x9776 # -0x3051 0x628A # -0x3052 0x8019 # -0x3053 0x575D # -0x3054 0x9738 # -0x3055 0x7F62 # -0x3056 0x7238 # -0x3057 0x767D # -0x3058 0x67CF # -0x3059 0x767E # -0x305A 0x6446 # -0x305B 0x4F70 # -0x305C 0x8D25 # -0x305D 0x62DC # -0x305E 0x7A17 # -0x305F 0x6591 # -0x3060 0x73ED # -0x3061 0x642C # -0x3062 0x6273 # -0x3063 0x822C # -0x3064 0x9881 # -0x3065 0x677F # -0x3066 0x7248 # -0x3067 0x626E # -0x3068 0x62CC # -0x3069 0x4F34 # -0x306A 0x74E3 # -0x306B 0x534A # -0x306C 0x529E # -0x306D 0x7ECA # -0x306E 0x90A6 # -0x306F 0x5E2E # -0x3070 0x6886 # -0x3071 0x699C # -0x3072 0x8180 # -0x3073 0x7ED1 # -0x3074 0x68D2 # -0x3075 0x78C5 # -0x3076 0x868C # -0x3077 0x9551 # -0x3078 0x508D # -0x3079 0x8C24 # -0x307A 0x82DE # -0x307B 0x80DE # -0x307C 0x5305 # -0x307D 0x8912 # -0x307E 0x5265 # -0x3121 0x8584 # -0x3122 0x96F9 # -0x3123 0x4FDD # -0x3124 0x5821 # -0x3125 0x9971 # -0x3126 0x5B9D # -0x3127 0x62B1 # -0x3128 0x62A5 # -0x3129 0x66B4 # -0x312A 0x8C79 # -0x312B 0x9C8D # -0x312C 0x7206 # -0x312D 0x676F # -0x312E 0x7891 # -0x312F 0x60B2 # -0x3130 0x5351 # -0x3131 0x5317 # -0x3132 0x8F88 # -0x3133 0x80CC # -0x3134 0x8D1D # -0x3135 0x94A1 # -0x3136 0x500D # -0x3137 0x72C8 # -0x3138 0x5907 # -0x3139 0x60EB # -0x313A 0x7119 # -0x313B 0x88AB # -0x313C 0x5954 # -0x313D 0x82EF # -0x313E 0x672C # -0x313F 0x7B28 # -0x3140 0x5D29 # -0x3141 0x7EF7 # -0x3142 0x752D # -0x3143 0x6CF5 # -0x3144 0x8E66 # -0x3145 0x8FF8 # -0x3146 0x903C # -0x3147 0x9F3B # -0x3148 0x6BD4 # -0x3149 0x9119 # -0x314A 0x7B14 # -0x314B 0x5F7C # -0x314C 0x78A7 # -0x314D 0x84D6 # -0x314E 0x853D # -0x314F 0x6BD5 # -0x3150 0x6BD9 # -0x3151 0x6BD6 # -0x3152 0x5E01 # -0x3153 0x5E87 # -0x3154 0x75F9 # -0x3155 0x95ED # -0x3156 0x655D # -0x3157 0x5F0A # -0x3158 0x5FC5 # -0x3159 0x8F9F # -0x315A 0x58C1 # -0x315B 0x81C2 # -0x315C 0x907F # -0x315D 0x965B # -0x315E 0x97AD # -0x315F 0x8FB9 # -0x3160 0x7F16 # -0x3161 0x8D2C # -0x3162 0x6241 # -0x3163 0x4FBF # -0x3164 0x53D8 # -0x3165 0x535E # -0x3166 0x8FA8 # -0x3167 0x8FA9 # -0x3168 0x8FAB # -0x3169 0x904D # -0x316A 0x6807 # -0x316B 0x5F6A # -0x316C 0x8198 # -0x316D 0x8868 # -0x316E 0x9CD6 # -0x316F 0x618B # -0x3170 0x522B # -0x3171 0x762A # -0x3172 0x5F6C # -0x3173 0x658C # -0x3174 0x6FD2 # -0x3175 0x6EE8 # -0x3176 0x5BBE # -0x3177 0x6448 # -0x3178 0x5175 # -0x3179 0x51B0 # -0x317A 0x67C4 # -0x317B 0x4E19 # -0x317C 0x79C9 # -0x317D 0x997C # -0x317E 0x70B3 # -0x3221 0x75C5 # -0x3222 0x5E76 # -0x3223 0x73BB # -0x3224 0x83E0 # -0x3225 0x64AD # -0x3226 0x62E8 # -0x3227 0x94B5 # -0x3228 0x6CE2 # -0x3229 0x535A # -0x322A 0x52C3 # -0x322B 0x640F # -0x322C 0x94C2 # -0x322D 0x7B94 # -0x322E 0x4F2F # -0x322F 0x5E1B # -0x3230 0x8236 # -0x3231 0x8116 # -0x3232 0x818A # -0x3233 0x6E24 # -0x3234 0x6CCA # -0x3235 0x9A73 # -0x3236 0x6355 # -0x3237 0x535C # -0x3238 0x54FA # -0x3239 0x8865 # -0x323A 0x57E0 # -0x323B 0x4E0D # -0x323C 0x5E03 # -0x323D 0x6B65 # -0x323E 0x7C3F # -0x323F 0x90E8 # -0x3240 0x6016 # -0x3241 0x64E6 # -0x3242 0x731C # -0x3243 0x88C1 # -0x3244 0x6750 # -0x3245 0x624D # -0x3246 0x8D22 # -0x3247 0x776C # -0x3248 0x8E29 # -0x3249 0x91C7 # -0x324A 0x5F69 # -0x324B 0x83DC # -0x324C 0x8521 # -0x324D 0x9910 # -0x324E 0x53C2 # -0x324F 0x8695 # -0x3250 0x6B8B # -0x3251 0x60ED # -0x3252 0x60E8 # -0x3253 0x707F # -0x3254 0x82CD # -0x3255 0x8231 # -0x3256 0x4ED3 # -0x3257 0x6CA7 # -0x3258 0x85CF # -0x3259 0x64CD # -0x325A 0x7CD9 # -0x325B 0x69FD # -0x325C 0x66F9 # -0x325D 0x8349 # -0x325E 0x5395 # -0x325F 0x7B56 # -0x3260 0x4FA7 # -0x3261 0x518C # -0x3262 0x6D4B # -0x3263 0x5C42 # -0x3264 0x8E6D # -0x3265 0x63D2 # -0x3266 0x53C9 # -0x3267 0x832C # -0x3268 0x8336 # -0x3269 0x67E5 # -0x326A 0x78B4 # -0x326B 0x643D # -0x326C 0x5BDF # -0x326D 0x5C94 # -0x326E 0x5DEE # -0x326F 0x8BE7 # -0x3270 0x62C6 # -0x3271 0x67F4 # -0x3272 0x8C7A # -0x3273 0x6400 # -0x3274 0x63BA # -0x3275 0x8749 # -0x3276 0x998B # -0x3277 0x8C17 # -0x3278 0x7F20 # -0x3279 0x94F2 # -0x327A 0x4EA7 # -0x327B 0x9610 # -0x327C 0x98A4 # -0x327D 0x660C # -0x327E 0x7316 # -0x3321 0x573A # -0x3322 0x5C1D # -0x3323 0x5E38 # -0x3324 0x957F # -0x3325 0x507F # -0x3326 0x80A0 # -0x3327 0x5382 # -0x3328 0x655E # -0x3329 0x7545 # -0x332A 0x5531 # -0x332B 0x5021 # -0x332C 0x8D85 # -0x332D 0x6284 # -0x332E 0x949E # -0x332F 0x671D # -0x3330 0x5632 # -0x3331 0x6F6E # -0x3332 0x5DE2 # -0x3333 0x5435 # -0x3334 0x7092 # -0x3335 0x8F66 # -0x3336 0x626F # -0x3337 0x64A4 # -0x3338 0x63A3 # -0x3339 0x5F7B # -0x333A 0x6F88 # -0x333B 0x90F4 # -0x333C 0x81E3 # -0x333D 0x8FB0 # -0x333E 0x5C18 # -0x333F 0x6668 # -0x3340 0x5FF1 # -0x3341 0x6C89 # -0x3342 0x9648 # -0x3343 0x8D81 # -0x3344 0x886C # -0x3345 0x6491 # -0x3346 0x79F0 # -0x3347 0x57CE # -0x3348 0x6A59 # -0x3349 0x6210 # -0x334A 0x5448 # -0x334B 0x4E58 # -0x334C 0x7A0B # -0x334D 0x60E9 # -0x334E 0x6F84 # -0x334F 0x8BDA # -0x3350 0x627F # -0x3351 0x901E # -0x3352 0x9A8B # -0x3353 0x79E4 # -0x3354 0x5403 # -0x3355 0x75F4 # -0x3356 0x6301 # -0x3357 0x5319 # -0x3358 0x6C60 # -0x3359 0x8FDF # -0x335A 0x5F1B # -0x335B 0x9A70 # -0x335C 0x803B # -0x335D 0x9F7F # -0x335E 0x4F88 # -0x335F 0x5C3A # -0x3360 0x8D64 # -0x3361 0x7FC5 # -0x3362 0x65A5 # -0x3363 0x70BD # -0x3364 0x5145 # -0x3365 0x51B2 # -0x3366 0x866B # -0x3367 0x5D07 # -0x3368 0x5BA0 # -0x3369 0x62BD # -0x336A 0x916C # -0x336B 0x7574 # -0x336C 0x8E0C # -0x336D 0x7A20 # -0x336E 0x6101 # -0x336F 0x7B79 # -0x3370 0x4EC7 # -0x3371 0x7EF8 # -0x3372 0x7785 # -0x3373 0x4E11 # -0x3374 0x81ED # -0x3375 0x521D # -0x3376 0x51FA # -0x3377 0x6A71 # -0x3378 0x53A8 # -0x3379 0x8E87 # -0x337A 0x9504 # -0x337B 0x96CF # -0x337C 0x6EC1 # -0x337D 0x9664 # -0x337E 0x695A # -0x3421 0x7840 # -0x3422 0x50A8 # -0x3423 0x77D7 # -0x3424 0x6410 # -0x3425 0x89E6 # -0x3426 0x5904 # -0x3427 0x63E3 # -0x3428 0x5DDD # -0x3429 0x7A7F # -0x342A 0x693D # -0x342B 0x4F20 # -0x342C 0x8239 # -0x342D 0x5598 # -0x342E 0x4E32 # -0x342F 0x75AE # -0x3430 0x7A97 # -0x3431 0x5E62 # -0x3432 0x5E8A # -0x3433 0x95EF # -0x3434 0x521B # -0x3435 0x5439 # -0x3436 0x708A # -0x3437 0x6376 # -0x3438 0x9524 # -0x3439 0x5782 # -0x343A 0x6625 # -0x343B 0x693F # -0x343C 0x9187 # -0x343D 0x5507 # -0x343E 0x6DF3 # -0x343F 0x7EAF # -0x3440 0x8822 # -0x3441 0x6233 # -0x3442 0x7EF0 # -0x3443 0x75B5 # -0x3444 0x8328 # -0x3445 0x78C1 # -0x3446 0x96CC # -0x3447 0x8F9E # -0x3448 0x6148 # -0x3449 0x74F7 # -0x344A 0x8BCD # -0x344B 0x6B64 # -0x344C 0x523A # -0x344D 0x8D50 # -0x344E 0x6B21 # -0x344F 0x806A # -0x3450 0x8471 # -0x3451 0x56F1 # -0x3452 0x5306 # -0x3453 0x4ECE # -0x3454 0x4E1B # -0x3455 0x51D1 # -0x3456 0x7C97 # -0x3457 0x918B # -0x3458 0x7C07 # -0x3459 0x4FC3 # -0x345A 0x8E7F # -0x345B 0x7BE1 # -0x345C 0x7A9C # -0x345D 0x6467 # -0x345E 0x5D14 # -0x345F 0x50AC # -0x3460 0x8106 # -0x3461 0x7601 # -0x3462 0x7CB9 # -0x3463 0x6DEC # -0x3464 0x7FE0 # -0x3465 0x6751 # -0x3466 0x5B58 # -0x3467 0x5BF8 # -0x3468 0x78CB # -0x3469 0x64AE # -0x346A 0x6413 # -0x346B 0x63AA # -0x346C 0x632B # -0x346D 0x9519 # -0x346E 0x642D # -0x346F 0x8FBE # -0x3470 0x7B54 # -0x3471 0x7629 # -0x3472 0x6253 # -0x3473 0x5927 # -0x3474 0x5446 # -0x3475 0x6B79 # -0x3476 0x50A3 # -0x3477 0x6234 # -0x3478 0x5E26 # -0x3479 0x6B86 # -0x347A 0x4EE3 # -0x347B 0x8D37 # -0x347C 0x888B # -0x347D 0x5F85 # -0x347E 0x902E # -0x3521 0x6020 # -0x3522 0x803D # -0x3523 0x62C5 # -0x3524 0x4E39 # -0x3525 0x5355 # -0x3526 0x90F8 # -0x3527 0x63B8 # -0x3528 0x80C6 # -0x3529 0x65E6 # -0x352A 0x6C2E # -0x352B 0x4F46 # -0x352C 0x60EE # -0x352D 0x6DE1 # -0x352E 0x8BDE # -0x352F 0x5F39 # -0x3530 0x86CB # -0x3531 0x5F53 # -0x3532 0x6321 # -0x3533 0x515A # -0x3534 0x8361 # -0x3535 0x6863 # -0x3536 0x5200 # -0x3537 0x6363 # -0x3538 0x8E48 # -0x3539 0x5012 # -0x353A 0x5C9B # -0x353B 0x7977 # -0x353C 0x5BFC # -0x353D 0x5230 # -0x353E 0x7A3B # -0x353F 0x60BC # -0x3540 0x9053 # -0x3541 0x76D7 # -0x3542 0x5FB7 # -0x3543 0x5F97 # -0x3544 0x7684 # -0x3545 0x8E6C # -0x3546 0x706F # -0x3547 0x767B # -0x3548 0x7B49 # -0x3549 0x77AA # -0x354A 0x51F3 # -0x354B 0x9093 # -0x354C 0x5824 # -0x354D 0x4F4E # -0x354E 0x6EF4 # -0x354F 0x8FEA # -0x3550 0x654C # -0x3551 0x7B1B # -0x3552 0x72C4 # -0x3553 0x6DA4 # -0x3554 0x7FDF # -0x3555 0x5AE1 # -0x3556 0x62B5 # -0x3557 0x5E95 # -0x3558 0x5730 # -0x3559 0x8482 # -0x355A 0x7B2C # -0x355B 0x5E1D # -0x355C 0x5F1F # -0x355D 0x9012 # -0x355E 0x7F14 # -0x355F 0x98A0 # -0x3560 0x6382 # -0x3561 0x6EC7 # -0x3562 0x7898 # -0x3563 0x70B9 # -0x3564 0x5178 # -0x3565 0x975B # -0x3566 0x57AB # -0x3567 0x7535 # -0x3568 0x4F43 # -0x3569 0x7538 # -0x356A 0x5E97 # -0x356B 0x60E6 # -0x356C 0x5960 # -0x356D 0x6DC0 # -0x356E 0x6BBF # -0x356F 0x7889 # -0x3570 0x53FC # -0x3571 0x96D5 # -0x3572 0x51CB # -0x3573 0x5201 # -0x3574 0x6389 # -0x3575 0x540A # -0x3576 0x9493 # -0x3577 0x8C03 # -0x3578 0x8DCC # -0x3579 0x7239 # -0x357A 0x789F # -0x357B 0x8776 # -0x357C 0x8FED # -0x357D 0x8C0D # -0x357E 0x53E0 # -0x3621 0x4E01 # -0x3622 0x76EF # -0x3623 0x53EE # -0x3624 0x9489 # -0x3625 0x9876 # -0x3626 0x9F0E # -0x3627 0x952D # -0x3628 0x5B9A # -0x3629 0x8BA2 # -0x362A 0x4E22 # -0x362B 0x4E1C # -0x362C 0x51AC # -0x362D 0x8463 # -0x362E 0x61C2 # -0x362F 0x52A8 # -0x3630 0x680B # -0x3631 0x4F97 # -0x3632 0x606B # -0x3633 0x51BB # -0x3634 0x6D1E # -0x3635 0x515C # -0x3636 0x6296 # -0x3637 0x6597 # -0x3638 0x9661 # -0x3639 0x8C46 # -0x363A 0x9017 # -0x363B 0x75D8 # -0x363C 0x90FD # -0x363D 0x7763 # -0x363E 0x6BD2 # -0x363F 0x728A # -0x3640 0x72EC # -0x3641 0x8BFB # -0x3642 0x5835 # -0x3643 0x7779 # -0x3644 0x8D4C # -0x3645 0x675C # -0x3646 0x9540 # -0x3647 0x809A # -0x3648 0x5EA6 # -0x3649 0x6E21 # -0x364A 0x5992 # -0x364B 0x7AEF # -0x364C 0x77ED # -0x364D 0x953B # -0x364E 0x6BB5 # -0x364F 0x65AD # -0x3650 0x7F0E # -0x3651 0x5806 # -0x3652 0x5151 # -0x3653 0x961F # -0x3654 0x5BF9 # -0x3655 0x58A9 # -0x3656 0x5428 # -0x3657 0x8E72 # -0x3658 0x6566 # -0x3659 0x987F # -0x365A 0x56E4 # -0x365B 0x949D # -0x365C 0x76FE # -0x365D 0x9041 # -0x365E 0x6387 # -0x365F 0x54C6 # -0x3660 0x591A # -0x3661 0x593A # -0x3662 0x579B # -0x3663 0x8EB2 # -0x3664 0x6735 # -0x3665 0x8DFA # -0x3666 0x8235 # -0x3667 0x5241 # -0x3668 0x60F0 # -0x3669 0x5815 # -0x366A 0x86FE # -0x366B 0x5CE8 # -0x366C 0x9E45 # -0x366D 0x4FC4 # -0x366E 0x989D # -0x366F 0x8BB9 # -0x3670 0x5A25 # -0x3671 0x6076 # -0x3672 0x5384 # -0x3673 0x627C # -0x3674 0x904F # -0x3675 0x9102 # -0x3676 0x997F # -0x3677 0x6069 # -0x3678 0x800C # -0x3679 0x513F # -0x367A 0x8033 # -0x367B 0x5C14 # -0x367C 0x9975 # -0x367D 0x6D31 # -0x367E 0x4E8C # -0x3721 0x8D30 # -0x3722 0x53D1 # -0x3723 0x7F5A # -0x3724 0x7B4F # -0x3725 0x4F10 # -0x3726 0x4E4F # -0x3727 0x9600 # -0x3728 0x6CD5 # -0x3729 0x73D0 # -0x372A 0x85E9 # -0x372B 0x5E06 # -0x372C 0x756A # -0x372D 0x7FFB # -0x372E 0x6A0A # -0x372F 0x77FE # -0x3730 0x9492 # -0x3731 0x7E41 # -0x3732 0x51E1 # -0x3733 0x70E6 # -0x3734 0x53CD # -0x3735 0x8FD4 # -0x3736 0x8303 # -0x3737 0x8D29 # -0x3738 0x72AF # -0x3739 0x996D # -0x373A 0x6CDB # -0x373B 0x574A # -0x373C 0x82B3 # -0x373D 0x65B9 # -0x373E 0x80AA # -0x373F 0x623F # -0x3740 0x9632 # -0x3741 0x59A8 # -0x3742 0x4EFF # -0x3743 0x8BBF # -0x3744 0x7EBA # -0x3745 0x653E # -0x3746 0x83F2 # -0x3747 0x975E # -0x3748 0x5561 # -0x3749 0x98DE # -0x374A 0x80A5 # -0x374B 0x532A # -0x374C 0x8BFD # -0x374D 0x5420 # -0x374E 0x80BA # -0x374F 0x5E9F # -0x3750 0x6CB8 # -0x3751 0x8D39 # -0x3752 0x82AC # -0x3753 0x915A # -0x3754 0x5429 # -0x3755 0x6C1B # -0x3756 0x5206 # -0x3757 0x7EB7 # -0x3758 0x575F # -0x3759 0x711A # -0x375A 0x6C7E # -0x375B 0x7C89 # -0x375C 0x594B # -0x375D 0x4EFD # -0x375E 0x5FFF # -0x375F 0x6124 # -0x3760 0x7CAA # -0x3761 0x4E30 # -0x3762 0x5C01 # -0x3763 0x67AB # -0x3764 0x8702 # -0x3765 0x5CF0 # -0x3766 0x950B # -0x3767 0x98CE # -0x3768 0x75AF # -0x3769 0x70FD # -0x376A 0x9022 # -0x376B 0x51AF # -0x376C 0x7F1D # -0x376D 0x8BBD # -0x376E 0x5949 # -0x376F 0x51E4 # -0x3770 0x4F5B # -0x3771 0x5426 # -0x3772 0x592B # -0x3773 0x6577 # -0x3774 0x80A4 # -0x3775 0x5B75 # -0x3776 0x6276 # -0x3777 0x62C2 # -0x3778 0x8F90 # -0x3779 0x5E45 # -0x377A 0x6C1F # -0x377B 0x7B26 # -0x377C 0x4F0F # -0x377D 0x4FD8 # -0x377E 0x670D # -0x3821 0x6D6E # -0x3822 0x6DAA # -0x3823 0x798F # -0x3824 0x88B1 # -0x3825 0x5F17 # -0x3826 0x752B # -0x3827 0x629A # -0x3828 0x8F85 # -0x3829 0x4FEF # -0x382A 0x91DC # -0x382B 0x65A7 # -0x382C 0x812F # -0x382D 0x8151 # -0x382E 0x5E9C # -0x382F 0x8150 # -0x3830 0x8D74 # -0x3831 0x526F # -0x3832 0x8986 # -0x3833 0x8D4B # -0x3834 0x590D # -0x3835 0x5085 # -0x3836 0x4ED8 # -0x3837 0x961C # -0x3838 0x7236 # -0x3839 0x8179 # -0x383A 0x8D1F # -0x383B 0x5BCC # -0x383C 0x8BA3 # -0x383D 0x9644 # -0x383E 0x5987 # -0x383F 0x7F1A # -0x3840 0x5490 # -0x3841 0x5676 # -0x3842 0x560E # -0x3843 0x8BE5 # -0x3844 0x6539 # -0x3845 0x6982 # -0x3846 0x9499 # -0x3847 0x76D6 # -0x3848 0x6E89 # -0x3849 0x5E72 # -0x384A 0x7518 # -0x384B 0x6746 # -0x384C 0x67D1 # -0x384D 0x7AFF # -0x384E 0x809D # -0x384F 0x8D76 # -0x3850 0x611F # -0x3851 0x79C6 # -0x3852 0x6562 # -0x3853 0x8D63 # -0x3854 0x5188 # -0x3855 0x521A # -0x3856 0x94A2 # -0x3857 0x7F38 # -0x3858 0x809B # -0x3859 0x7EB2 # -0x385A 0x5C97 # -0x385B 0x6E2F # -0x385C 0x6760 # -0x385D 0x7BD9 # -0x385E 0x768B # -0x385F 0x9AD8 # -0x3860 0x818F # -0x3861 0x7F94 # -0x3862 0x7CD5 # -0x3863 0x641E # -0x3864 0x9550 # -0x3865 0x7A3F # -0x3866 0x544A # -0x3867 0x54E5 # -0x3868 0x6B4C # -0x3869 0x6401 # -0x386A 0x6208 # -0x386B 0x9E3D # -0x386C 0x80F3 # -0x386D 0x7599 # -0x386E 0x5272 # -0x386F 0x9769 # -0x3870 0x845B # -0x3871 0x683C # -0x3872 0x86E4 # -0x3873 0x9601 # -0x3874 0x9694 # -0x3875 0x94EC # -0x3876 0x4E2A # -0x3877 0x5404 # -0x3878 0x7ED9 # -0x3879 0x6839 # -0x387A 0x8DDF # -0x387B 0x8015 # -0x387C 0x66F4 # -0x387D 0x5E9A # -0x387E 0x7FB9 # -0x3921 0x57C2 # -0x3922 0x803F # -0x3923 0x6897 # -0x3924 0x5DE5 # -0x3925 0x653B # -0x3926 0x529F # -0x3927 0x606D # -0x3928 0x9F9A # -0x3929 0x4F9B # -0x392A 0x8EAC # -0x392B 0x516C # -0x392C 0x5BAB # -0x392D 0x5F13 # -0x392E 0x5DE9 # -0x392F 0x6C5E # -0x3930 0x62F1 # -0x3931 0x8D21 # -0x3932 0x5171 # -0x3933 0x94A9 # -0x3934 0x52FE # -0x3935 0x6C9F # -0x3936 0x82DF # -0x3937 0x72D7 # -0x3938 0x57A2 # -0x3939 0x6784 # -0x393A 0x8D2D # -0x393B 0x591F # -0x393C 0x8F9C # -0x393D 0x83C7 # -0x393E 0x5495 # -0x393F 0x7B8D # -0x3940 0x4F30 # -0x3941 0x6CBD # -0x3942 0x5B64 # -0x3943 0x59D1 # -0x3944 0x9F13 # -0x3945 0x53E4 # -0x3946 0x86CA # -0x3947 0x9AA8 # -0x3948 0x8C37 # -0x3949 0x80A1 # -0x394A 0x6545 # -0x394B 0x987E # -0x394C 0x56FA # -0x394D 0x96C7 # -0x394E 0x522E # -0x394F 0x74DC # -0x3950 0x5250 # -0x3951 0x5BE1 # -0x3952 0x6302 # -0x3953 0x8902 # -0x3954 0x4E56 # -0x3955 0x62D0 # -0x3956 0x602A # -0x3957 0x68FA # -0x3958 0x5173 # -0x3959 0x5B98 # -0x395A 0x51A0 # -0x395B 0x89C2 # -0x395C 0x7BA1 # -0x395D 0x9986 # -0x395E 0x7F50 # -0x395F 0x60EF # -0x3960 0x704C # -0x3961 0x8D2F # -0x3962 0x5149 # -0x3963 0x5E7F # -0x3964 0x901B # -0x3965 0x7470 # -0x3966 0x89C4 # -0x3967 0x572D # -0x3968 0x7845 # -0x3969 0x5F52 # -0x396A 0x9F9F # -0x396B 0x95FA # -0x396C 0x8F68 # -0x396D 0x9B3C # -0x396E 0x8BE1 # -0x396F 0x7678 # -0x3970 0x6842 # -0x3971 0x67DC # -0x3972 0x8DEA # -0x3973 0x8D35 # -0x3974 0x523D # -0x3975 0x8F8A # -0x3976 0x6EDA # -0x3977 0x68CD # -0x3978 0x9505 # -0x3979 0x90ED # -0x397A 0x56FD # -0x397B 0x679C # -0x397C 0x88F9 # -0x397D 0x8FC7 # -0x397E 0x54C8 # -0x3A21 0x9AB8 # -0x3A22 0x5B69 # -0x3A23 0x6D77 # -0x3A24 0x6C26 # -0x3A25 0x4EA5 # -0x3A26 0x5BB3 # -0x3A27 0x9A87 # -0x3A28 0x9163 # -0x3A29 0x61A8 # -0x3A2A 0x90AF # -0x3A2B 0x97E9 # -0x3A2C 0x542B # -0x3A2D 0x6DB5 # -0x3A2E 0x5BD2 # -0x3A2F 0x51FD # -0x3A30 0x558A # -0x3A31 0x7F55 # -0x3A32 0x7FF0 # -0x3A33 0x64BC # -0x3A34 0x634D # -0x3A35 0x65F1 # -0x3A36 0x61BE # -0x3A37 0x608D # -0x3A38 0x710A # -0x3A39 0x6C57 # -0x3A3A 0x6C49 # -0x3A3B 0x592F # -0x3A3C 0x676D # -0x3A3D 0x822A # -0x3A3E 0x58D5 # -0x3A3F 0x568E # -0x3A40 0x8C6A # -0x3A41 0x6BEB # -0x3A42 0x90DD # -0x3A43 0x597D # -0x3A44 0x8017 # -0x3A45 0x53F7 # -0x3A46 0x6D69 # -0x3A47 0x5475 # -0x3A48 0x559D # -0x3A49 0x8377 # -0x3A4A 0x83CF # -0x3A4B 0x6838 # -0x3A4C 0x79BE # -0x3A4D 0x548C # -0x3A4E 0x4F55 # -0x3A4F 0x5408 # -0x3A50 0x76D2 # -0x3A51 0x8C89 # -0x3A52 0x9602 # -0x3A53 0x6CB3 # -0x3A54 0x6DB8 # -0x3A55 0x8D6B # -0x3A56 0x8910 # -0x3A57 0x9E64 # -0x3A58 0x8D3A # -0x3A59 0x563F # -0x3A5A 0x9ED1 # -0x3A5B 0x75D5 # -0x3A5C 0x5F88 # -0x3A5D 0x72E0 # -0x3A5E 0x6068 # -0x3A5F 0x54FC # -0x3A60 0x4EA8 # -0x3A61 0x6A2A # -0x3A62 0x8861 # -0x3A63 0x6052 # -0x3A64 0x8F70 # -0x3A65 0x54C4 # -0x3A66 0x70D8 # -0x3A67 0x8679 # -0x3A68 0x9E3F # -0x3A69 0x6D2A # -0x3A6A 0x5B8F # -0x3A6B 0x5F18 # -0x3A6C 0x7EA2 # -0x3A6D 0x5589 # -0x3A6E 0x4FAF # -0x3A6F 0x7334 # -0x3A70 0x543C # -0x3A71 0x539A # -0x3A72 0x5019 # -0x3A73 0x540E # -0x3A74 0x547C # -0x3A75 0x4E4E # -0x3A76 0x5FFD # -0x3A77 0x745A # -0x3A78 0x58F6 # -0x3A79 0x846B # -0x3A7A 0x80E1 # -0x3A7B 0x8774 # -0x3A7C 0x72D0 # -0x3A7D 0x7CCA # -0x3A7E 0x6E56 # -0x3B21 0x5F27 # -0x3B22 0x864E # -0x3B23 0x552C # -0x3B24 0x62A4 # -0x3B25 0x4E92 # -0x3B26 0x6CAA # -0x3B27 0x6237 # -0x3B28 0x82B1 # -0x3B29 0x54D7 # -0x3B2A 0x534E # -0x3B2B 0x733E # -0x3B2C 0x6ED1 # -0x3B2D 0x753B # -0x3B2E 0x5212 # -0x3B2F 0x5316 # -0x3B30 0x8BDD # -0x3B31 0x69D0 # -0x3B32 0x5F8A # -0x3B33 0x6000 # -0x3B34 0x6DEE # -0x3B35 0x574F # -0x3B36 0x6B22 # -0x3B37 0x73AF # -0x3B38 0x6853 # -0x3B39 0x8FD8 # -0x3B3A 0x7F13 # -0x3B3B 0x6362 # -0x3B3C 0x60A3 # -0x3B3D 0x5524 # -0x3B3E 0x75EA # -0x3B3F 0x8C62 # -0x3B40 0x7115 # -0x3B41 0x6DA3 # -0x3B42 0x5BA6 # -0x3B43 0x5E7B # -0x3B44 0x8352 # -0x3B45 0x614C # -0x3B46 0x9EC4 # -0x3B47 0x78FA # -0x3B48 0x8757 # -0x3B49 0x7C27 # -0x3B4A 0x7687 # -0x3B4B 0x51F0 # -0x3B4C 0x60F6 # -0x3B4D 0x714C # -0x3B4E 0x6643 # -0x3B4F 0x5E4C # -0x3B50 0x604D # -0x3B51 0x8C0E # -0x3B52 0x7070 # -0x3B53 0x6325 # -0x3B54 0x8F89 # -0x3B55 0x5FBD # -0x3B56 0x6062 # -0x3B57 0x86D4 # -0x3B58 0x56DE # -0x3B59 0x6BC1 # -0x3B5A 0x6094 # -0x3B5B 0x6167 # -0x3B5C 0x5349 # -0x3B5D 0x60E0 # -0x3B5E 0x6666 # -0x3B5F 0x8D3F # -0x3B60 0x79FD # -0x3B61 0x4F1A # -0x3B62 0x70E9 # -0x3B63 0x6C47 # -0x3B64 0x8BB3 # -0x3B65 0x8BF2 # -0x3B66 0x7ED8 # -0x3B67 0x8364 # -0x3B68 0x660F # -0x3B69 0x5A5A # -0x3B6A 0x9B42 # -0x3B6B 0x6D51 # -0x3B6C 0x6DF7 # -0x3B6D 0x8C41 # -0x3B6E 0x6D3B # -0x3B6F 0x4F19 # -0x3B70 0x706B # -0x3B71 0x83B7 # -0x3B72 0x6216 # -0x3B73 0x60D1 # -0x3B74 0x970D # -0x3B75 0x8D27 # -0x3B76 0x7978 # -0x3B77 0x51FB # -0x3B78 0x573E # -0x3B79 0x57FA # -0x3B7A 0x673A # -0x3B7B 0x7578 # -0x3B7C 0x7A3D # -0x3B7D 0x79EF # -0x3B7E 0x7B95 # -0x3C21 0x808C # -0x3C22 0x9965 # -0x3C23 0x8FF9 # -0x3C24 0x6FC0 # -0x3C25 0x8BA5 # -0x3C26 0x9E21 # -0x3C27 0x59EC # -0x3C28 0x7EE9 # -0x3C29 0x7F09 # -0x3C2A 0x5409 # -0x3C2B 0x6781 # -0x3C2C 0x68D8 # -0x3C2D 0x8F91 # -0x3C2E 0x7C4D # -0x3C2F 0x96C6 # -0x3C30 0x53CA # -0x3C31 0x6025 # -0x3C32 0x75BE # -0x3C33 0x6C72 # -0x3C34 0x5373 # -0x3C35 0x5AC9 # -0x3C36 0x7EA7 # -0x3C37 0x6324 # -0x3C38 0x51E0 # -0x3C39 0x810A # -0x3C3A 0x5DF1 # -0x3C3B 0x84DF # -0x3C3C 0x6280 # -0x3C3D 0x5180 # -0x3C3E 0x5B63 # -0x3C3F 0x4F0E # -0x3C40 0x796D # -0x3C41 0x5242 # -0x3C42 0x60B8 # -0x3C43 0x6D4E # -0x3C44 0x5BC4 # -0x3C45 0x5BC2 # -0x3C46 0x8BA1 # -0x3C47 0x8BB0 # -0x3C48 0x65E2 # -0x3C49 0x5FCC # -0x3C4A 0x9645 # -0x3C4B 0x5993 # -0x3C4C 0x7EE7 # -0x3C4D 0x7EAA # -0x3C4E 0x5609 # -0x3C4F 0x67B7 # -0x3C50 0x5939 # -0x3C51 0x4F73 # -0x3C52 0x5BB6 # -0x3C53 0x52A0 # -0x3C54 0x835A # -0x3C55 0x988A # -0x3C56 0x8D3E # -0x3C57 0x7532 # -0x3C58 0x94BE # -0x3C59 0x5047 # -0x3C5A 0x7A3C # -0x3C5B 0x4EF7 # -0x3C5C 0x67B6 # -0x3C5D 0x9A7E # -0x3C5E 0x5AC1 # -0x3C5F 0x6B7C # -0x3C60 0x76D1 # -0x3C61 0x575A # -0x3C62 0x5C16 # -0x3C63 0x7B3A # -0x3C64 0x95F4 # -0x3C65 0x714E # -0x3C66 0x517C # -0x3C67 0x80A9 # -0x3C68 0x8270 # -0x3C69 0x5978 # -0x3C6A 0x7F04 # -0x3C6B 0x8327 # -0x3C6C 0x68C0 # -0x3C6D 0x67EC # -0x3C6E 0x78B1 # -0x3C6F 0x7877 # -0x3C70 0x62E3 # -0x3C71 0x6361 # -0x3C72 0x7B80 # -0x3C73 0x4FED # -0x3C74 0x526A # -0x3C75 0x51CF # -0x3C76 0x8350 # -0x3C77 0x69DB # -0x3C78 0x9274 # -0x3C79 0x8DF5 # -0x3C7A 0x8D31 # -0x3C7B 0x89C1 # -0x3C7C 0x952E # -0x3C7D 0x7BAD # -0x3C7E 0x4EF6 # -0x3D21 0x5065 # -0x3D22 0x8230 # -0x3D23 0x5251 # -0x3D24 0x996F # -0x3D25 0x6E10 # -0x3D26 0x6E85 # -0x3D27 0x6DA7 # -0x3D28 0x5EFA # -0x3D29 0x50F5 # -0x3D2A 0x59DC # -0x3D2B 0x5C06 # -0x3D2C 0x6D46 # -0x3D2D 0x6C5F # -0x3D2E 0x7586 # -0x3D2F 0x848B # -0x3D30 0x6868 # -0x3D31 0x5956 # -0x3D32 0x8BB2 # -0x3D33 0x5320 # -0x3D34 0x9171 # -0x3D35 0x964D # -0x3D36 0x8549 # -0x3D37 0x6912 # -0x3D38 0x7901 # -0x3D39 0x7126 # -0x3D3A 0x80F6 # -0x3D3B 0x4EA4 # -0x3D3C 0x90CA # -0x3D3D 0x6D47 # -0x3D3E 0x9A84 # -0x3D3F 0x5A07 # -0x3D40 0x56BC # -0x3D41 0x6405 # -0x3D42 0x94F0 # -0x3D43 0x77EB # -0x3D44 0x4FA5 # -0x3D45 0x811A # -0x3D46 0x72E1 # -0x3D47 0x89D2 # -0x3D48 0x997A # -0x3D49 0x7F34 # -0x3D4A 0x7EDE # -0x3D4B 0x527F # -0x3D4C 0x6559 # -0x3D4D 0x9175 # -0x3D4E 0x8F7F # -0x3D4F 0x8F83 # -0x3D50 0x53EB # -0x3D51 0x7A96 # -0x3D52 0x63ED # -0x3D53 0x63A5 # -0x3D54 0x7686 # -0x3D55 0x79F8 # -0x3D56 0x8857 # -0x3D57 0x9636 # -0x3D58 0x622A # -0x3D59 0x52AB # -0x3D5A 0x8282 # -0x3D5B 0x6854 # -0x3D5C 0x6770 # -0x3D5D 0x6377 # -0x3D5E 0x776B # -0x3D5F 0x7AED # -0x3D60 0x6D01 # -0x3D61 0x7ED3 # -0x3D62 0x89E3 # -0x3D63 0x59D0 # -0x3D64 0x6212 # -0x3D65 0x85C9 # -0x3D66 0x82A5 # -0x3D67 0x754C # -0x3D68 0x501F # -0x3D69 0x4ECB # -0x3D6A 0x75A5 # -0x3D6B 0x8BEB # -0x3D6C 0x5C4A # -0x3D6D 0x5DFE # -0x3D6E 0x7B4B # -0x3D6F 0x65A4 # -0x3D70 0x91D1 # -0x3D71 0x4ECA # -0x3D72 0x6D25 # -0x3D73 0x895F # -0x3D74 0x7D27 # -0x3D75 0x9526 # -0x3D76 0x4EC5 # -0x3D77 0x8C28 # -0x3D78 0x8FDB # -0x3D79 0x9773 # -0x3D7A 0x664B # -0x3D7B 0x7981 # -0x3D7C 0x8FD1 # -0x3D7D 0x70EC # -0x3D7E 0x6D78 # -0x3E21 0x5C3D # -0x3E22 0x52B2 # -0x3E23 0x8346 # -0x3E24 0x5162 # -0x3E25 0x830E # -0x3E26 0x775B # -0x3E27 0x6676 # -0x3E28 0x9CB8 # -0x3E29 0x4EAC # -0x3E2A 0x60CA # -0x3E2B 0x7CBE # -0x3E2C 0x7CB3 # -0x3E2D 0x7ECF # -0x3E2E 0x4E95 # -0x3E2F 0x8B66 # -0x3E30 0x666F # -0x3E31 0x9888 # -0x3E32 0x9759 # -0x3E33 0x5883 # -0x3E34 0x656C # -0x3E35 0x955C # -0x3E36 0x5F84 # -0x3E37 0x75C9 # -0x3E38 0x9756 # -0x3E39 0x7ADF # -0x3E3A 0x7ADE # -0x3E3B 0x51C0 # -0x3E3C 0x70AF # -0x3E3D 0x7A98 # -0x3E3E 0x63EA # -0x3E3F 0x7A76 # -0x3E40 0x7EA0 # -0x3E41 0x7396 # -0x3E42 0x97ED # -0x3E43 0x4E45 # -0x3E44 0x7078 # -0x3E45 0x4E5D # -0x3E46 0x9152 # -0x3E47 0x53A9 # -0x3E48 0x6551 # -0x3E49 0x65E7 # -0x3E4A 0x81FC # -0x3E4B 0x8205 # -0x3E4C 0x548E # -0x3E4D 0x5C31 # -0x3E4E 0x759A # -0x3E4F 0x97A0 # -0x3E50 0x62D8 # -0x3E51 0x72D9 # -0x3E52 0x75BD # -0x3E53 0x5C45 # -0x3E54 0x9A79 # -0x3E55 0x83CA # -0x3E56 0x5C40 # -0x3E57 0x5480 # -0x3E58 0x77E9 # -0x3E59 0x4E3E # -0x3E5A 0x6CAE # -0x3E5B 0x805A # -0x3E5C 0x62D2 # -0x3E5D 0x636E # -0x3E5E 0x5DE8 # -0x3E5F 0x5177 # -0x3E60 0x8DDD # -0x3E61 0x8E1E # -0x3E62 0x952F # -0x3E63 0x4FF1 # -0x3E64 0x53E5 # -0x3E65 0x60E7 # -0x3E66 0x70AC # -0x3E67 0x5267 # -0x3E68 0x6350 # -0x3E69 0x9E43 # -0x3E6A 0x5A1F # -0x3E6B 0x5026 # -0x3E6C 0x7737 # -0x3E6D 0x5377 # -0x3E6E 0x7EE2 # -0x3E6F 0x6485 # -0x3E70 0x652B # -0x3E71 0x6289 # -0x3E72 0x6398 # -0x3E73 0x5014 # -0x3E74 0x7235 # -0x3E75 0x89C9 # -0x3E76 0x51B3 # -0x3E77 0x8BC0 # -0x3E78 0x7EDD # -0x3E79 0x5747 # -0x3E7A 0x83CC # -0x3E7B 0x94A7 # -0x3E7C 0x519B # -0x3E7D 0x541B # -0x3E7E 0x5CFB # -0x3F21 0x4FCA # -0x3F22 0x7AE3 # -0x3F23 0x6D5A # -0x3F24 0x90E1 # -0x3F25 0x9A8F # -0x3F26 0x5580 # -0x3F27 0x5496 # -0x3F28 0x5361 # -0x3F29 0x54AF # -0x3F2A 0x5F00 # -0x3F2B 0x63E9 # -0x3F2C 0x6977 # -0x3F2D 0x51EF # -0x3F2E 0x6168 # -0x3F2F 0x520A # -0x3F30 0x582A # -0x3F31 0x52D8 # -0x3F32 0x574E # -0x3F33 0x780D # -0x3F34 0x770B # -0x3F35 0x5EB7 # -0x3F36 0x6177 # -0x3F37 0x7CE0 # -0x3F38 0x625B # -0x3F39 0x6297 # -0x3F3A 0x4EA2 # -0x3F3B 0x7095 # -0x3F3C 0x8003 # -0x3F3D 0x62F7 # -0x3F3E 0x70E4 # -0x3F3F 0x9760 # -0x3F40 0x5777 # -0x3F41 0x82DB # -0x3F42 0x67EF # -0x3F43 0x68F5 # -0x3F44 0x78D5 # -0x3F45 0x9897 # -0x3F46 0x79D1 # -0x3F47 0x58F3 # -0x3F48 0x54B3 # -0x3F49 0x53EF # -0x3F4A 0x6E34 # -0x3F4B 0x514B # -0x3F4C 0x523B # -0x3F4D 0x5BA2 # -0x3F4E 0x8BFE # -0x3F4F 0x80AF # -0x3F50 0x5543 # -0x3F51 0x57A6 # -0x3F52 0x6073 # -0x3F53 0x5751 # -0x3F54 0x542D # -0x3F55 0x7A7A # -0x3F56 0x6050 # -0x3F57 0x5B54 # -0x3F58 0x63A7 # -0x3F59 0x62A0 # -0x3F5A 0x53E3 # -0x3F5B 0x6263 # -0x3F5C 0x5BC7 # -0x3F5D 0x67AF # -0x3F5E 0x54ED # -0x3F5F 0x7A9F # -0x3F60 0x82E6 # -0x3F61 0x9177 # -0x3F62 0x5E93 # -0x3F63 0x88E4 # -0x3F64 0x5938 # -0x3F65 0x57AE # -0x3F66 0x630E # -0x3F67 0x8DE8 # -0x3F68 0x80EF # -0x3F69 0x5757 # -0x3F6A 0x7B77 # -0x3F6B 0x4FA9 # -0x3F6C 0x5FEB # -0x3F6D 0x5BBD # -0x3F6E 0x6B3E # -0x3F6F 0x5321 # -0x3F70 0x7B50 # -0x3F71 0x72C2 # -0x3F72 0x6846 # -0x3F73 0x77FF # -0x3F74 0x7736 # -0x3F75 0x65F7 # -0x3F76 0x51B5 # -0x3F77 0x4E8F # -0x3F78 0x76D4 # -0x3F79 0x5CBF # -0x3F7A 0x7AA5 # -0x3F7B 0x8475 # -0x3F7C 0x594E # -0x3F7D 0x9B41 # -0x3F7E 0x5080 # -0x4021 0x9988 # -0x4022 0x6127 # -0x4023 0x6E83 # -0x4024 0x5764 # -0x4025 0x6606 # -0x4026 0x6346 # -0x4027 0x56F0 # -0x4028 0x62EC # -0x4029 0x6269 # -0x402A 0x5ED3 # -0x402B 0x9614 # -0x402C 0x5783 # -0x402D 0x62C9 # -0x402E 0x5587 # -0x402F 0x8721 # -0x4030 0x814A # -0x4031 0x8FA3 # -0x4032 0x5566 # -0x4033 0x83B1 # -0x4034 0x6765 # -0x4035 0x8D56 # -0x4036 0x84DD # -0x4037 0x5A6A # -0x4038 0x680F # -0x4039 0x62E6 # -0x403A 0x7BEE # -0x403B 0x9611 # -0x403C 0x5170 # -0x403D 0x6F9C # -0x403E 0x8C30 # -0x403F 0x63FD # -0x4040 0x89C8 # -0x4041 0x61D2 # -0x4042 0x7F06 # -0x4043 0x70C2 # -0x4044 0x6EE5 # -0x4045 0x7405 # -0x4046 0x6994 # -0x4047 0x72FC # -0x4048 0x5ECA # -0x4049 0x90CE # -0x404A 0x6717 # -0x404B 0x6D6A # -0x404C 0x635E # -0x404D 0x52B3 # -0x404E 0x7262 # -0x404F 0x8001 # -0x4050 0x4F6C # -0x4051 0x59E5 # -0x4052 0x916A # -0x4053 0x70D9 # -0x4054 0x6D9D # -0x4055 0x52D2 # -0x4056 0x4E50 # -0x4057 0x96F7 # -0x4058 0x956D # -0x4059 0x857E # -0x405A 0x78CA # -0x405B 0x7D2F # -0x405C 0x5121 # -0x405D 0x5792 # -0x405E 0x64C2 # -0x405F 0x808B # -0x4060 0x7C7B # -0x4061 0x6CEA # -0x4062 0x68F1 # -0x4063 0x695E # -0x4064 0x51B7 # -0x4065 0x5398 # -0x4066 0x68A8 # -0x4067 0x7281 # -0x4068 0x9ECE # -0x4069 0x7BF1 # -0x406A 0x72F8 # -0x406B 0x79BB # -0x406C 0x6F13 # -0x406D 0x7406 # -0x406E 0x674E # -0x406F 0x91CC # -0x4070 0x9CA4 # -0x4071 0x793C # -0x4072 0x8389 # -0x4073 0x8354 # -0x4074 0x540F # -0x4075 0x6817 # -0x4076 0x4E3D # -0x4077 0x5389 # -0x4078 0x52B1 # -0x4079 0x783E # -0x407A 0x5386 # -0x407B 0x5229 # -0x407C 0x5088 # -0x407D 0x4F8B # -0x407E 0x4FD0 # -0x4121 0x75E2 # -0x4122 0x7ACB # -0x4123 0x7C92 # -0x4124 0x6CA5 # -0x4125 0x96B6 # -0x4126 0x529B # -0x4127 0x7483 # -0x4128 0x54E9 # -0x4129 0x4FE9 # -0x412A 0x8054 # -0x412B 0x83B2 # -0x412C 0x8FDE # -0x412D 0x9570 # -0x412E 0x5EC9 # -0x412F 0x601C # -0x4130 0x6D9F # -0x4131 0x5E18 # -0x4132 0x655B # -0x4133 0x8138 # -0x4134 0x94FE # -0x4135 0x604B # -0x4136 0x70BC # -0x4137 0x7EC3 # -0x4138 0x7CAE # -0x4139 0x51C9 # -0x413A 0x6881 # -0x413B 0x7CB1 # -0x413C 0x826F # -0x413D 0x4E24 # -0x413E 0x8F86 # -0x413F 0x91CF # -0x4140 0x667E # -0x4141 0x4EAE # -0x4142 0x8C05 # -0x4143 0x64A9 # -0x4144 0x804A # -0x4145 0x50DA # -0x4146 0x7597 # -0x4147 0x71CE # -0x4148 0x5BE5 # -0x4149 0x8FBD # -0x414A 0x6F66 # -0x414B 0x4E86 # -0x414C 0x6482 # -0x414D 0x9563 # -0x414E 0x5ED6 # -0x414F 0x6599 # -0x4150 0x5217 # -0x4151 0x88C2 # -0x4152 0x70C8 # -0x4153 0x52A3 # -0x4154 0x730E # -0x4155 0x7433 # -0x4156 0x6797 # -0x4157 0x78F7 # -0x4158 0x9716 # -0x4159 0x4E34 # -0x415A 0x90BB # -0x415B 0x9CDE # -0x415C 0x6DCB # -0x415D 0x51DB # -0x415E 0x8D41 # -0x415F 0x541D # -0x4160 0x62CE # -0x4161 0x73B2 # -0x4162 0x83F1 # -0x4163 0x96F6 # -0x4164 0x9F84 # -0x4165 0x94C3 # -0x4166 0x4F36 # -0x4167 0x7F9A # -0x4168 0x51CC # -0x4169 0x7075 # -0x416A 0x9675 # -0x416B 0x5CAD # -0x416C 0x9886 # -0x416D 0x53E6 # -0x416E 0x4EE4 # -0x416F 0x6E9C # -0x4170 0x7409 # -0x4171 0x69B4 # -0x4172 0x786B # -0x4173 0x998F # -0x4174 0x7559 # -0x4175 0x5218 # -0x4176 0x7624 # -0x4177 0x6D41 # -0x4178 0x67F3 # -0x4179 0x516D # -0x417A 0x9F99 # -0x417B 0x804B # -0x417C 0x5499 # -0x417D 0x7B3C # -0x417E 0x7ABF # -0x4221 0x9686 # -0x4222 0x5784 # -0x4223 0x62E2 # -0x4224 0x9647 # -0x4225 0x697C # -0x4226 0x5A04 # -0x4227 0x6402 # -0x4228 0x7BD3 # -0x4229 0x6F0F # -0x422A 0x964B # -0x422B 0x82A6 # -0x422C 0x5362 # -0x422D 0x9885 # -0x422E 0x5E90 # -0x422F 0x7089 # -0x4230 0x63B3 # -0x4231 0x5364 # -0x4232 0x864F # -0x4233 0x9C81 # -0x4234 0x9E93 # -0x4235 0x788C # -0x4236 0x9732 # -0x4237 0x8DEF # -0x4238 0x8D42 # -0x4239 0x9E7F # -0x423A 0x6F5E # -0x423B 0x7984 # -0x423C 0x5F55 # -0x423D 0x9646 # -0x423E 0x622E # -0x423F 0x9A74 # -0x4240 0x5415 # -0x4241 0x94DD # -0x4242 0x4FA3 # -0x4243 0x65C5 # -0x4244 0x5C65 # -0x4245 0x5C61 # -0x4246 0x7F15 # -0x4247 0x8651 # -0x4248 0x6C2F # -0x4249 0x5F8B # -0x424A 0x7387 # -0x424B 0x6EE4 # -0x424C 0x7EFF # -0x424D 0x5CE6 # -0x424E 0x631B # -0x424F 0x5B6A # -0x4250 0x6EE6 # -0x4251 0x5375 # -0x4252 0x4E71 # -0x4253 0x63A0 # -0x4254 0x7565 # -0x4255 0x62A1 # -0x4256 0x8F6E # -0x4257 0x4F26 # -0x4258 0x4ED1 # -0x4259 0x6CA6 # -0x425A 0x7EB6 # -0x425B 0x8BBA # -0x425C 0x841D # -0x425D 0x87BA # -0x425E 0x7F57 # -0x425F 0x903B # -0x4260 0x9523 # -0x4261 0x7BA9 # -0x4262 0x9AA1 # -0x4263 0x88F8 # -0x4264 0x843D # -0x4265 0x6D1B # -0x4266 0x9A86 # -0x4267 0x7EDC # -0x4268 0x5988 # -0x4269 0x9EBB # -0x426A 0x739B # -0x426B 0x7801 # -0x426C 0x8682 # -0x426D 0x9A6C # -0x426E 0x9A82 # -0x426F 0x561B # -0x4270 0x5417 # -0x4271 0x57CB # -0x4272 0x4E70 # -0x4273 0x9EA6 # -0x4274 0x5356 # -0x4275 0x8FC8 # -0x4276 0x8109 # -0x4277 0x7792 # -0x4278 0x9992 # -0x4279 0x86EE # -0x427A 0x6EE1 # -0x427B 0x8513 # -0x427C 0x66FC # -0x427D 0x6162 # -0x427E 0x6F2B # -0x4321 0x8C29 # -0x4322 0x8292 # -0x4323 0x832B # -0x4324 0x76F2 # -0x4325 0x6C13 # -0x4326 0x5FD9 # -0x4327 0x83BD # -0x4328 0x732B # -0x4329 0x8305 # -0x432A 0x951A # -0x432B 0x6BDB # -0x432C 0x77DB # -0x432D 0x94C6 # -0x432E 0x536F # -0x432F 0x8302 # -0x4330 0x5192 # -0x4331 0x5E3D # -0x4332 0x8C8C # -0x4333 0x8D38 # -0x4334 0x4E48 # -0x4335 0x73AB # -0x4336 0x679A # -0x4337 0x6885 # -0x4338 0x9176 # -0x4339 0x9709 # -0x433A 0x7164 # -0x433B 0x6CA1 # -0x433C 0x7709 # -0x433D 0x5A92 # -0x433E 0x9541 # -0x433F 0x6BCF # -0x4340 0x7F8E # -0x4341 0x6627 # -0x4342 0x5BD0 # -0x4343 0x59B9 # -0x4344 0x5A9A # -0x4345 0x95E8 # -0x4346 0x95F7 # -0x4347 0x4EEC # -0x4348 0x840C # -0x4349 0x8499 # -0x434A 0x6AAC # -0x434B 0x76DF # -0x434C 0x9530 # -0x434D 0x731B # -0x434E 0x68A6 # -0x434F 0x5B5F # -0x4350 0x772F # -0x4351 0x919A # -0x4352 0x9761 # -0x4353 0x7CDC # -0x4354 0x8FF7 # -0x4355 0x8C1C # -0x4356 0x5F25 # -0x4357 0x7C73 # -0x4358 0x79D8 # -0x4359 0x89C5 # -0x435A 0x6CCC # -0x435B 0x871C # -0x435C 0x5BC6 # -0x435D 0x5E42 # -0x435E 0x68C9 # -0x435F 0x7720 # -0x4360 0x7EF5 # -0x4361 0x5195 # -0x4362 0x514D # -0x4363 0x52C9 # -0x4364 0x5A29 # -0x4365 0x7F05 # -0x4366 0x9762 # -0x4367 0x82D7 # -0x4368 0x63CF # -0x4369 0x7784 # -0x436A 0x85D0 # -0x436B 0x79D2 # -0x436C 0x6E3A # -0x436D 0x5E99 # -0x436E 0x5999 # -0x436F 0x8511 # -0x4370 0x706D # -0x4371 0x6C11 # -0x4372 0x62BF # -0x4373 0x76BF # -0x4374 0x654F # -0x4375 0x60AF # -0x4376 0x95FD # -0x4377 0x660E # -0x4378 0x879F # -0x4379 0x9E23 # -0x437A 0x94ED # -0x437B 0x540D # -0x437C 0x547D # -0x437D 0x8C2C # -0x437E 0x6478 # -0x4421 0x6479 # -0x4422 0x8611 # -0x4423 0x6A21 # -0x4424 0x819C # -0x4425 0x78E8 # -0x4426 0x6469 # -0x4427 0x9B54 # -0x4428 0x62B9 # -0x4429 0x672B # -0x442A 0x83AB # -0x442B 0x58A8 # -0x442C 0x9ED8 # -0x442D 0x6CAB # -0x442E 0x6F20 # -0x442F 0x5BDE # -0x4430 0x964C # -0x4431 0x8C0B # -0x4432 0x725F # -0x4433 0x67D0 # -0x4434 0x62C7 # -0x4435 0x7261 # -0x4436 0x4EA9 # -0x4437 0x59C6 # -0x4438 0x6BCD # -0x4439 0x5893 # -0x443A 0x66AE # -0x443B 0x5E55 # -0x443C 0x52DF # -0x443D 0x6155 # -0x443E 0x6728 # -0x443F 0x76EE # -0x4440 0x7766 # -0x4441 0x7267 # -0x4442 0x7A46 # -0x4443 0x62FF # -0x4444 0x54EA # -0x4445 0x5450 # -0x4446 0x94A0 # -0x4447 0x90A3 # -0x4448 0x5A1C # -0x4449 0x7EB3 # -0x444A 0x6C16 # -0x444B 0x4E43 # -0x444C 0x5976 # -0x444D 0x8010 # -0x444E 0x5948 # -0x444F 0x5357 # -0x4450 0x7537 # -0x4451 0x96BE # -0x4452 0x56CA # -0x4453 0x6320 # -0x4454 0x8111 # -0x4455 0x607C # -0x4456 0x95F9 # -0x4457 0x6DD6 # -0x4458 0x5462 # -0x4459 0x9981 # -0x445A 0x5185 # -0x445B 0x5AE9 # -0x445C 0x80FD # -0x445D 0x59AE # -0x445E 0x9713 # -0x445F 0x502A # -0x4460 0x6CE5 # -0x4461 0x5C3C # -0x4462 0x62DF # -0x4463 0x4F60 # -0x4464 0x533F # -0x4465 0x817B # -0x4466 0x9006 # -0x4467 0x6EBA # -0x4468 0x852B # -0x4469 0x62C8 # -0x446A 0x5E74 # -0x446B 0x78BE # -0x446C 0x64B5 # -0x446D 0x637B # -0x446E 0x5FF5 # -0x446F 0x5A18 # -0x4470 0x917F # -0x4471 0x9E1F # -0x4472 0x5C3F # -0x4473 0x634F # -0x4474 0x8042 # -0x4475 0x5B7D # -0x4476 0x556E # -0x4477 0x954A # -0x4478 0x954D # -0x4479 0x6D85 # -0x447A 0x60A8 # -0x447B 0x67E0 # -0x447C 0x72DE # -0x447D 0x51DD # -0x447E 0x5B81 # -0x4521 0x62E7 # -0x4522 0x6CDE # -0x4523 0x725B # -0x4524 0x626D # -0x4525 0x94AE # -0x4526 0x7EBD # -0x4527 0x8113 # -0x4528 0x6D53 # -0x4529 0x519C # -0x452A 0x5F04 # -0x452B 0x5974 # -0x452C 0x52AA # -0x452D 0x6012 # -0x452E 0x5973 # -0x452F 0x6696 # -0x4530 0x8650 # -0x4531 0x759F # -0x4532 0x632A # -0x4533 0x61E6 # -0x4534 0x7CEF # -0x4535 0x8BFA # -0x4536 0x54E6 # -0x4537 0x6B27 # -0x4538 0x9E25 # -0x4539 0x6BB4 # -0x453A 0x85D5 # -0x453B 0x5455 # -0x453C 0x5076 # -0x453D 0x6CA4 # -0x453E 0x556A # -0x453F 0x8DB4 # -0x4540 0x722C # -0x4541 0x5E15 # -0x4542 0x6015 # -0x4543 0x7436 # -0x4544 0x62CD # -0x4545 0x6392 # -0x4546 0x724C # -0x4547 0x5F98 # -0x4548 0x6E43 # -0x4549 0x6D3E # -0x454A 0x6500 # -0x454B 0x6F58 # -0x454C 0x76D8 # -0x454D 0x78D0 # -0x454E 0x76FC # -0x454F 0x7554 # -0x4550 0x5224 # -0x4551 0x53DB # -0x4552 0x4E53 # -0x4553 0x5E9E # -0x4554 0x65C1 # -0x4555 0x802A # -0x4556 0x80D6 # -0x4557 0x629B # -0x4558 0x5486 # -0x4559 0x5228 # -0x455A 0x70AE # -0x455B 0x888D # -0x455C 0x8DD1 # -0x455D 0x6CE1 # -0x455E 0x5478 # -0x455F 0x80DA # -0x4560 0x57F9 # -0x4561 0x88F4 # -0x4562 0x8D54 # -0x4563 0x966A # -0x4564 0x914D # -0x4565 0x4F69 # -0x4566 0x6C9B # -0x4567 0x55B7 # -0x4568 0x76C6 # -0x4569 0x7830 # -0x456A 0x62A8 # -0x456B 0x70F9 # -0x456C 0x6F8E # -0x456D 0x5F6D # -0x456E 0x84EC # -0x456F 0x68DA # -0x4570 0x787C # -0x4571 0x7BF7 # -0x4572 0x81A8 # -0x4573 0x670B # -0x4574 0x9E4F # -0x4575 0x6367 # -0x4576 0x78B0 # -0x4577 0x576F # -0x4578 0x7812 # -0x4579 0x9739 # -0x457A 0x6279 # -0x457B 0x62AB # -0x457C 0x5288 # -0x457D 0x7435 # -0x457E 0x6BD7 # -0x4621 0x5564 # -0x4622 0x813E # -0x4623 0x75B2 # -0x4624 0x76AE # -0x4625 0x5339 # -0x4626 0x75DE # -0x4627 0x50FB # -0x4628 0x5C41 # -0x4629 0x8B6C # -0x462A 0x7BC7 # -0x462B 0x504F # -0x462C 0x7247 # -0x462D 0x9A97 # -0x462E 0x98D8 # -0x462F 0x6F02 # -0x4630 0x74E2 # -0x4631 0x7968 # -0x4632 0x6487 # -0x4633 0x77A5 # -0x4634 0x62FC # -0x4635 0x9891 # -0x4636 0x8D2B # -0x4637 0x54C1 # -0x4638 0x8058 # -0x4639 0x4E52 # -0x463A 0x576A # -0x463B 0x82F9 # -0x463C 0x840D # -0x463D 0x5E73 # -0x463E 0x51ED # -0x463F 0x74F6 # -0x4640 0x8BC4 # -0x4641 0x5C4F # -0x4642 0x5761 # -0x4643 0x6CFC # -0x4644 0x9887 # -0x4645 0x5A46 # -0x4646 0x7834 # -0x4647 0x9B44 # -0x4648 0x8FEB # -0x4649 0x7C95 # -0x464A 0x5256 # -0x464B 0x6251 # -0x464C 0x94FA # -0x464D 0x4EC6 # -0x464E 0x8386 # -0x464F 0x8461 # -0x4650 0x83E9 # -0x4651 0x84B2 # -0x4652 0x57D4 # -0x4653 0x6734 # -0x4654 0x5703 # -0x4655 0x666E # -0x4656 0x6D66 # -0x4657 0x8C31 # -0x4658 0x66DD # -0x4659 0x7011 # -0x465A 0x671F # -0x465B 0x6B3A # -0x465C 0x6816 # -0x465D 0x621A # -0x465E 0x59BB # -0x465F 0x4E03 # -0x4660 0x51C4 # -0x4661 0x6F06 # -0x4662 0x67D2 # -0x4663 0x6C8F # -0x4664 0x5176 # -0x4665 0x68CB # -0x4666 0x5947 # -0x4667 0x6B67 # -0x4668 0x7566 # -0x4669 0x5D0E # -0x466A 0x8110 # -0x466B 0x9F50 # -0x466C 0x65D7 # -0x466D 0x7948 # -0x466E 0x7941 # -0x466F 0x9A91 # -0x4670 0x8D77 # -0x4671 0x5C82 # -0x4672 0x4E5E # -0x4673 0x4F01 # -0x4674 0x542F # -0x4675 0x5951 # -0x4676 0x780C # -0x4677 0x5668 # -0x4678 0x6C14 # -0x4679 0x8FC4 # -0x467A 0x5F03 # -0x467B 0x6C7D # -0x467C 0x6CE3 # -0x467D 0x8BAB # -0x467E 0x6390 # -0x4721 0x6070 # -0x4722 0x6D3D # -0x4723 0x7275 # -0x4724 0x6266 # -0x4725 0x948E # -0x4726 0x94C5 # -0x4727 0x5343 # -0x4728 0x8FC1 # -0x4729 0x7B7E # -0x472A 0x4EDF # -0x472B 0x8C26 # -0x472C 0x4E7E # -0x472D 0x9ED4 # -0x472E 0x94B1 # -0x472F 0x94B3 # -0x4730 0x524D # -0x4731 0x6F5C # -0x4732 0x9063 # -0x4733 0x6D45 # -0x4734 0x8C34 # -0x4735 0x5811 # -0x4736 0x5D4C # -0x4737 0x6B20 # -0x4738 0x6B49 # -0x4739 0x67AA # -0x473A 0x545B # -0x473B 0x8154 # -0x473C 0x7F8C # -0x473D 0x5899 # -0x473E 0x8537 # -0x473F 0x5F3A # -0x4740 0x62A2 # -0x4741 0x6A47 # -0x4742 0x9539 # -0x4743 0x6572 # -0x4744 0x6084 # -0x4745 0x6865 # -0x4746 0x77A7 # -0x4747 0x4E54 # -0x4748 0x4FA8 # -0x4749 0x5DE7 # -0x474A 0x9798 # -0x474B 0x64AC # -0x474C 0x7FD8 # -0x474D 0x5CED # -0x474E 0x4FCF # -0x474F 0x7A8D # -0x4750 0x5207 # -0x4751 0x8304 # -0x4752 0x4E14 # -0x4753 0x602F # -0x4754 0x7A83 # -0x4755 0x94A6 # -0x4756 0x4FB5 # -0x4757 0x4EB2 # -0x4758 0x79E6 # -0x4759 0x7434 # -0x475A 0x52E4 # -0x475B 0x82B9 # -0x475C 0x64D2 # -0x475D 0x79BD # -0x475E 0x5BDD # -0x475F 0x6C81 # -0x4760 0x9752 # -0x4761 0x8F7B # -0x4762 0x6C22 # -0x4763 0x503E # -0x4764 0x537F # -0x4765 0x6E05 # -0x4766 0x64CE # -0x4767 0x6674 # -0x4768 0x6C30 # -0x4769 0x60C5 # -0x476A 0x9877 # -0x476B 0x8BF7 # -0x476C 0x5E86 # -0x476D 0x743C # -0x476E 0x7A77 # -0x476F 0x79CB # -0x4770 0x4E18 # -0x4771 0x90B1 # -0x4772 0x7403 # -0x4773 0x6C42 # -0x4774 0x56DA # -0x4775 0x914B # -0x4776 0x6CC5 # -0x4777 0x8D8B # -0x4778 0x533A # -0x4779 0x86C6 # -0x477A 0x66F2 # -0x477B 0x8EAF # -0x477C 0x5C48 # -0x477D 0x9A71 # -0x477E 0x6E20 # -0x4821 0x53D6 # -0x4822 0x5A36 # -0x4823 0x9F8B # -0x4824 0x8DA3 # -0x4825 0x53BB # -0x4826 0x5708 # -0x4827 0x98A7 # -0x4828 0x6743 # -0x4829 0x919B # -0x482A 0x6CC9 # -0x482B 0x5168 # -0x482C 0x75CA # -0x482D 0x62F3 # -0x482E 0x72AC # -0x482F 0x5238 # -0x4830 0x529D # -0x4831 0x7F3A # -0x4832 0x7094 # -0x4833 0x7638 # -0x4834 0x5374 # -0x4835 0x9E4A # -0x4836 0x69B7 # -0x4837 0x786E # -0x4838 0x96C0 # -0x4839 0x88D9 # -0x483A 0x7FA4 # -0x483B 0x7136 # -0x483C 0x71C3 # -0x483D 0x5189 # -0x483E 0x67D3 # -0x483F 0x74E4 # -0x4840 0x58E4 # -0x4841 0x6518 # -0x4842 0x56B7 # -0x4843 0x8BA9 # -0x4844 0x9976 # -0x4845 0x6270 # -0x4846 0x7ED5 # -0x4847 0x60F9 # -0x4848 0x70ED # -0x4849 0x58EC # -0x484A 0x4EC1 # -0x484B 0x4EBA # -0x484C 0x5FCD # -0x484D 0x97E7 # -0x484E 0x4EFB # -0x484F 0x8BA4 # -0x4850 0x5203 # -0x4851 0x598A # -0x4852 0x7EAB # -0x4853 0x6254 # -0x4854 0x4ECD # -0x4855 0x65E5 # -0x4856 0x620E # -0x4857 0x8338 # -0x4858 0x84C9 # -0x4859 0x8363 # -0x485A 0x878D # -0x485B 0x7194 # -0x485C 0x6EB6 # -0x485D 0x5BB9 # -0x485E 0x7ED2 # -0x485F 0x5197 # -0x4860 0x63C9 # -0x4861 0x67D4 # -0x4862 0x8089 # -0x4863 0x8339 # -0x4864 0x8815 # -0x4865 0x5112 # -0x4866 0x5B7A # -0x4867 0x5982 # -0x4868 0x8FB1 # -0x4869 0x4E73 # -0x486A 0x6C5D # -0x486B 0x5165 # -0x486C 0x8925 # -0x486D 0x8F6F # -0x486E 0x962E # -0x486F 0x854A # -0x4870 0x745E # -0x4871 0x9510 # -0x4872 0x95F0 # -0x4873 0x6DA6 # -0x4874 0x82E5 # -0x4875 0x5F31 # -0x4876 0x6492 # -0x4877 0x6D12 # -0x4878 0x8428 # -0x4879 0x816E # -0x487A 0x9CC3 # -0x487B 0x585E # -0x487C 0x8D5B # -0x487D 0x4E09 # -0x487E 0x53C1 # -0x4921 0x4F1E # -0x4922 0x6563 # -0x4923 0x6851 # -0x4924 0x55D3 # -0x4925 0x4E27 # -0x4926 0x6414 # -0x4927 0x9A9A # -0x4928 0x626B # -0x4929 0x5AC2 # -0x492A 0x745F # -0x492B 0x8272 # -0x492C 0x6DA9 # -0x492D 0x68EE # -0x492E 0x50E7 # -0x492F 0x838E # -0x4930 0x7802 # -0x4931 0x6740 # -0x4932 0x5239 # -0x4933 0x6C99 # -0x4934 0x7EB1 # -0x4935 0x50BB # -0x4936 0x5565 # -0x4937 0x715E # -0x4938 0x7B5B # -0x4939 0x6652 # -0x493A 0x73CA # -0x493B 0x82EB # -0x493C 0x6749 # -0x493D 0x5C71 # -0x493E 0x5220 # -0x493F 0x717D # -0x4940 0x886B # -0x4941 0x95EA # -0x4942 0x9655 # -0x4943 0x64C5 # -0x4944 0x8D61 # -0x4945 0x81B3 # -0x4946 0x5584 # -0x4947 0x6C55 # -0x4948 0x6247 # -0x4949 0x7F2E # -0x494A 0x5892 # -0x494B 0x4F24 # -0x494C 0x5546 # -0x494D 0x8D4F # -0x494E 0x664C # -0x494F 0x4E0A # -0x4950 0x5C1A # -0x4951 0x88F3 # -0x4952 0x68A2 # -0x4953 0x634E # -0x4954 0x7A0D # -0x4955 0x70E7 # -0x4956 0x828D # -0x4957 0x52FA # -0x4958 0x97F6 # -0x4959 0x5C11 # -0x495A 0x54E8 # -0x495B 0x90B5 # -0x495C 0x7ECD # -0x495D 0x5962 # -0x495E 0x8D4A # -0x495F 0x86C7 # -0x4960 0x820C # -0x4961 0x820D # -0x4962 0x8D66 # -0x4963 0x6444 # -0x4964 0x5C04 # -0x4965 0x6151 # -0x4966 0x6D89 # -0x4967 0x793E # -0x4968 0x8BBE # -0x4969 0x7837 # -0x496A 0x7533 # -0x496B 0x547B # -0x496C 0x4F38 # -0x496D 0x8EAB # -0x496E 0x6DF1 # -0x496F 0x5A20 # -0x4970 0x7EC5 # -0x4971 0x795E # -0x4972 0x6C88 # -0x4973 0x5BA1 # -0x4974 0x5A76 # -0x4975 0x751A # -0x4976 0x80BE # -0x4977 0x614E # -0x4978 0x6E17 # -0x4979 0x58F0 # -0x497A 0x751F # -0x497B 0x7525 # -0x497C 0x7272 # -0x497D 0x5347 # -0x497E 0x7EF3 # -0x4A21 0x7701 # -0x4A22 0x76DB # -0x4A23 0x5269 # -0x4A24 0x80DC # -0x4A25 0x5723 # -0x4A26 0x5E08 # -0x4A27 0x5931 # -0x4A28 0x72EE # -0x4A29 0x65BD # -0x4A2A 0x6E7F # -0x4A2B 0x8BD7 # -0x4A2C 0x5C38 # -0x4A2D 0x8671 # -0x4A2E 0x5341 # -0x4A2F 0x77F3 # -0x4A30 0x62FE # -0x4A31 0x65F6 # -0x4A32 0x4EC0 # -0x4A33 0x98DF # -0x4A34 0x8680 # -0x4A35 0x5B9E # -0x4A36 0x8BC6 # -0x4A37 0x53F2 # -0x4A38 0x77E2 # -0x4A39 0x4F7F # -0x4A3A 0x5C4E # -0x4A3B 0x9A76 # -0x4A3C 0x59CB # -0x4A3D 0x5F0F # -0x4A3E 0x793A # -0x4A3F 0x58EB # -0x4A40 0x4E16 # -0x4A41 0x67FF # -0x4A42 0x4E8B # -0x4A43 0x62ED # -0x4A44 0x8A93 # -0x4A45 0x901D # -0x4A46 0x52BF # -0x4A47 0x662F # -0x4A48 0x55DC # -0x4A49 0x566C # -0x4A4A 0x9002 # -0x4A4B 0x4ED5 # -0x4A4C 0x4F8D # -0x4A4D 0x91CA # -0x4A4E 0x9970 # -0x4A4F 0x6C0F # -0x4A50 0x5E02 # -0x4A51 0x6043 # -0x4A52 0x5BA4 # -0x4A53 0x89C6 # -0x4A54 0x8BD5 # -0x4A55 0x6536 # -0x4A56 0x624B # -0x4A57 0x9996 # -0x4A58 0x5B88 # -0x4A59 0x5BFF # -0x4A5A 0x6388 # -0x4A5B 0x552E # -0x4A5C 0x53D7 # -0x4A5D 0x7626 # -0x4A5E 0x517D # -0x4A5F 0x852C # -0x4A60 0x67A2 # -0x4A61 0x68B3 # -0x4A62 0x6B8A # -0x4A63 0x6292 # -0x4A64 0x8F93 # -0x4A65 0x53D4 # -0x4A66 0x8212 # -0x4A67 0x6DD1 # -0x4A68 0x758F # -0x4A69 0x4E66 # -0x4A6A 0x8D4E # -0x4A6B 0x5B70 # -0x4A6C 0x719F # -0x4A6D 0x85AF # -0x4A6E 0x6691 # -0x4A6F 0x66D9 # -0x4A70 0x7F72 # -0x4A71 0x8700 # -0x4A72 0x9ECD # -0x4A73 0x9F20 # -0x4A74 0x5C5E # -0x4A75 0x672F # -0x4A76 0x8FF0 # -0x4A77 0x6811 # -0x4A78 0x675F # -0x4A79 0x620D # -0x4A7A 0x7AD6 # -0x4A7B 0x5885 # -0x4A7C 0x5EB6 # -0x4A7D 0x6570 # -0x4A7E 0x6F31 # -0x4B21 0x6055 # -0x4B22 0x5237 # -0x4B23 0x800D # -0x4B24 0x6454 # -0x4B25 0x8870 # -0x4B26 0x7529 # -0x4B27 0x5E05 # -0x4B28 0x6813 # -0x4B29 0x62F4 # -0x4B2A 0x971C # -0x4B2B 0x53CC # -0x4B2C 0x723D # -0x4B2D 0x8C01 # -0x4B2E 0x6C34 # -0x4B2F 0x7761 # -0x4B30 0x7A0E # -0x4B31 0x542E # -0x4B32 0x77AC # -0x4B33 0x987A # -0x4B34 0x821C # -0x4B35 0x8BF4 # -0x4B36 0x7855 # -0x4B37 0x6714 # -0x4B38 0x70C1 # -0x4B39 0x65AF # -0x4B3A 0x6495 # -0x4B3B 0x5636 # -0x4B3C 0x601D # -0x4B3D 0x79C1 # -0x4B3E 0x53F8 # -0x4B3F 0x4E1D # -0x4B40 0x6B7B # -0x4B41 0x8086 # -0x4B42 0x5BFA # -0x4B43 0x55E3 # -0x4B44 0x56DB # -0x4B45 0x4F3A # -0x4B46 0x4F3C # -0x4B47 0x9972 # -0x4B48 0x5DF3 # -0x4B49 0x677E # -0x4B4A 0x8038 # -0x4B4B 0x6002 # -0x4B4C 0x9882 # -0x4B4D 0x9001 # -0x4B4E 0x5B8B # -0x4B4F 0x8BBC # -0x4B50 0x8BF5 # -0x4B51 0x641C # -0x4B52 0x8258 # -0x4B53 0x64DE # -0x4B54 0x55FD # -0x4B55 0x82CF # -0x4B56 0x9165 # -0x4B57 0x4FD7 # -0x4B58 0x7D20 # -0x4B59 0x901F # -0x4B5A 0x7C9F # -0x4B5B 0x50F3 # -0x4B5C 0x5851 # -0x4B5D 0x6EAF # -0x4B5E 0x5BBF # -0x4B5F 0x8BC9 # -0x4B60 0x8083 # -0x4B61 0x9178 # -0x4B62 0x849C # -0x4B63 0x7B97 # -0x4B64 0x867D # -0x4B65 0x968B # -0x4B66 0x968F # -0x4B67 0x7EE5 # -0x4B68 0x9AD3 # -0x4B69 0x788E # -0x4B6A 0x5C81 # -0x4B6B 0x7A57 # -0x4B6C 0x9042 # -0x4B6D 0x96A7 # -0x4B6E 0x795F # -0x4B6F 0x5B59 # -0x4B70 0x635F # -0x4B71 0x7B0B # -0x4B72 0x84D1 # -0x4B73 0x68AD # -0x4B74 0x5506 # -0x4B75 0x7F29 # -0x4B76 0x7410 # -0x4B77 0x7D22 # -0x4B78 0x9501 # -0x4B79 0x6240 # -0x4B7A 0x584C # -0x4B7B 0x4ED6 # -0x4B7C 0x5B83 # -0x4B7D 0x5979 # -0x4B7E 0x5854 # -0x4C21 0x736D # -0x4C22 0x631E # -0x4C23 0x8E4B # -0x4C24 0x8E0F # -0x4C25 0x80CE # -0x4C26 0x82D4 # -0x4C27 0x62AC # -0x4C28 0x53F0 # -0x4C29 0x6CF0 # -0x4C2A 0x915E # -0x4C2B 0x592A # -0x4C2C 0x6001 # -0x4C2D 0x6C70 # -0x4C2E 0x574D # -0x4C2F 0x644A # -0x4C30 0x8D2A # -0x4C31 0x762B # -0x4C32 0x6EE9 # -0x4C33 0x575B # -0x4C34 0x6A80 # -0x4C35 0x75F0 # -0x4C36 0x6F6D # -0x4C37 0x8C2D # -0x4C38 0x8C08 # -0x4C39 0x5766 # -0x4C3A 0x6BEF # -0x4C3B 0x8892 # -0x4C3C 0x78B3 # -0x4C3D 0x63A2 # -0x4C3E 0x53F9 # -0x4C3F 0x70AD # -0x4C40 0x6C64 # -0x4C41 0x5858 # -0x4C42 0x642A # -0x4C43 0x5802 # -0x4C44 0x68E0 # -0x4C45 0x819B # -0x4C46 0x5510 # -0x4C47 0x7CD6 # -0x4C48 0x5018 # -0x4C49 0x8EBA # -0x4C4A 0x6DCC # -0x4C4B 0x8D9F # -0x4C4C 0x70EB # -0x4C4D 0x638F # -0x4C4E 0x6D9B # -0x4C4F 0x6ED4 # -0x4C50 0x7EE6 # -0x4C51 0x8404 # -0x4C52 0x6843 # -0x4C53 0x9003 # -0x4C54 0x6DD8 # -0x4C55 0x9676 # -0x4C56 0x8BA8 # -0x4C57 0x5957 # -0x4C58 0x7279 # -0x4C59 0x85E4 # -0x4C5A 0x817E # -0x4C5B 0x75BC # -0x4C5C 0x8A8A # -0x4C5D 0x68AF # -0x4C5E 0x5254 # -0x4C5F 0x8E22 # -0x4C60 0x9511 # -0x4C61 0x63D0 # -0x4C62 0x9898 # -0x4C63 0x8E44 # -0x4C64 0x557C # -0x4C65 0x4F53 # -0x4C66 0x66FF # -0x4C67 0x568F # -0x4C68 0x60D5 # -0x4C69 0x6D95 # -0x4C6A 0x5243 # -0x4C6B 0x5C49 # -0x4C6C 0x5929 # -0x4C6D 0x6DFB # -0x4C6E 0x586B # -0x4C6F 0x7530 # -0x4C70 0x751C # -0x4C71 0x606C # -0x4C72 0x8214 # -0x4C73 0x8146 # -0x4C74 0x6311 # -0x4C75 0x6761 # -0x4C76 0x8FE2 # -0x4C77 0x773A # -0x4C78 0x8DF3 # -0x4C79 0x8D34 # -0x4C7A 0x94C1 # -0x4C7B 0x5E16 # -0x4C7C 0x5385 # -0x4C7D 0x542C # -0x4C7E 0x70C3 # -0x4D21 0x6C40 # -0x4D22 0x5EF7 # -0x4D23 0x505C # -0x4D24 0x4EAD # -0x4D25 0x5EAD # -0x4D26 0x633A # -0x4D27 0x8247 # -0x4D28 0x901A # -0x4D29 0x6850 # -0x4D2A 0x916E # -0x4D2B 0x77B3 # -0x4D2C 0x540C # -0x4D2D 0x94DC # -0x4D2E 0x5F64 # -0x4D2F 0x7AE5 # -0x4D30 0x6876 # -0x4D31 0x6345 # -0x4D32 0x7B52 # -0x4D33 0x7EDF # -0x4D34 0x75DB # -0x4D35 0x5077 # -0x4D36 0x6295 # -0x4D37 0x5934 # -0x4D38 0x900F # -0x4D39 0x51F8 # -0x4D3A 0x79C3 # -0x4D3B 0x7A81 # -0x4D3C 0x56FE # -0x4D3D 0x5F92 # -0x4D3E 0x9014 # -0x4D3F 0x6D82 # -0x4D40 0x5C60 # -0x4D41 0x571F # -0x4D42 0x5410 # -0x4D43 0x5154 # -0x4D44 0x6E4D # -0x4D45 0x56E2 # -0x4D46 0x63A8 # -0x4D47 0x9893 # -0x4D48 0x817F # -0x4D49 0x8715 # -0x4D4A 0x892A # -0x4D4B 0x9000 # -0x4D4C 0x541E # -0x4D4D 0x5C6F # -0x4D4E 0x81C0 # -0x4D4F 0x62D6 # -0x4D50 0x6258 # -0x4D51 0x8131 # -0x4D52 0x9E35 # -0x4D53 0x9640 # -0x4D54 0x9A6E # -0x4D55 0x9A7C # -0x4D56 0x692D # -0x4D57 0x59A5 # -0x4D58 0x62D3 # -0x4D59 0x553E # -0x4D5A 0x6316 # -0x4D5B 0x54C7 # -0x4D5C 0x86D9 # -0x4D5D 0x6D3C # -0x4D5E 0x5A03 # -0x4D5F 0x74E6 # -0x4D60 0x889C # -0x4D61 0x6B6A # -0x4D62 0x5916 # -0x4D63 0x8C4C # -0x4D64 0x5F2F # -0x4D65 0x6E7E # -0x4D66 0x73A9 # -0x4D67 0x987D # -0x4D68 0x4E38 # -0x4D69 0x70F7 # -0x4D6A 0x5B8C # -0x4D6B 0x7897 # -0x4D6C 0x633D # -0x4D6D 0x665A # -0x4D6E 0x7696 # -0x4D6F 0x60CB # -0x4D70 0x5B9B # -0x4D71 0x5A49 # -0x4D72 0x4E07 # -0x4D73 0x8155 # -0x4D74 0x6C6A # -0x4D75 0x738B # -0x4D76 0x4EA1 # -0x4D77 0x6789 # -0x4D78 0x7F51 # -0x4D79 0x5F80 # -0x4D7A 0x65FA # -0x4D7B 0x671B # -0x4D7C 0x5FD8 # -0x4D7D 0x5984 # -0x4D7E 0x5A01 # -0x4E21 0x5DCD # -0x4E22 0x5FAE # -0x4E23 0x5371 # -0x4E24 0x97E6 # -0x4E25 0x8FDD # -0x4E26 0x6845 # -0x4E27 0x56F4 # -0x4E28 0x552F # -0x4E29 0x60DF # -0x4E2A 0x4E3A # -0x4E2B 0x6F4D # -0x4E2C 0x7EF4 # -0x4E2D 0x82C7 # -0x4E2E 0x840E # -0x4E2F 0x59D4 # -0x4E30 0x4F1F # -0x4E31 0x4F2A # -0x4E32 0x5C3E # -0x4E33 0x7EAC # -0x4E34 0x672A # -0x4E35 0x851A # -0x4E36 0x5473 # -0x4E37 0x754F # -0x4E38 0x80C3 # -0x4E39 0x5582 # -0x4E3A 0x9B4F # -0x4E3B 0x4F4D # -0x4E3C 0x6E2D # -0x4E3D 0x8C13 # -0x4E3E 0x5C09 # -0x4E3F 0x6170 # -0x4E40 0x536B # -0x4E41 0x761F # -0x4E42 0x6E29 # -0x4E43 0x868A # -0x4E44 0x6587 # -0x4E45 0x95FB # -0x4E46 0x7EB9 # -0x4E47 0x543B # -0x4E48 0x7A33 # -0x4E49 0x7D0A # -0x4E4A 0x95EE # -0x4E4B 0x55E1 # -0x4E4C 0x7FC1 # -0x4E4D 0x74EE # -0x4E4E 0x631D # -0x4E4F 0x8717 # -0x4E50 0x6DA1 # -0x4E51 0x7A9D # -0x4E52 0x6211 # -0x4E53 0x65A1 # -0x4E54 0x5367 # -0x4E55 0x63E1 # -0x4E56 0x6C83 # -0x4E57 0x5DEB # -0x4E58 0x545C # -0x4E59 0x94A8 # -0x4E5A 0x4E4C # -0x4E5B 0x6C61 # -0x4E5C 0x8BEC # -0x4E5D 0x5C4B # -0x4E5E 0x65E0 # -0x4E5F 0x829C # -0x4E60 0x68A7 # -0x4E61 0x543E # -0x4E62 0x5434 # -0x4E63 0x6BCB # -0x4E64 0x6B66 # -0x4E65 0x4E94 # -0x4E66 0x6342 # -0x4E67 0x5348 # -0x4E68 0x821E # -0x4E69 0x4F0D # -0x4E6A 0x4FAE # -0x4E6B 0x575E # -0x4E6C 0x620A # -0x4E6D 0x96FE # -0x4E6E 0x6664 # -0x4E6F 0x7269 # -0x4E70 0x52FF # -0x4E71 0x52A1 # -0x4E72 0x609F # -0x4E73 0x8BEF # -0x4E74 0x6614 # -0x4E75 0x7199 # -0x4E76 0x6790 # -0x4E77 0x897F # -0x4E78 0x7852 # -0x4E79 0x77FD # -0x4E7A 0x6670 # -0x4E7B 0x563B # -0x4E7C 0x5438 # -0x4E7D 0x9521 # -0x4E7E 0x727A # -0x4F21 0x7A00 # -0x4F22 0x606F # -0x4F23 0x5E0C # -0x4F24 0x6089 # -0x4F25 0x819D # -0x4F26 0x5915 # -0x4F27 0x60DC # -0x4F28 0x7184 # -0x4F29 0x70EF # -0x4F2A 0x6EAA # -0x4F2B 0x6C50 # -0x4F2C 0x7280 # -0x4F2D 0x6A84 # -0x4F2E 0x88AD # -0x4F2F 0x5E2D # -0x4F30 0x4E60 # -0x4F31 0x5AB3 # -0x4F32 0x559C # -0x4F33 0x94E3 # -0x4F34 0x6D17 # -0x4F35 0x7CFB # -0x4F36 0x9699 # -0x4F37 0x620F # -0x4F38 0x7EC6 # -0x4F39 0x778E # -0x4F3A 0x867E # -0x4F3B 0x5323 # -0x4F3C 0x971E # -0x4F3D 0x8F96 # -0x4F3E 0x6687 # -0x4F3F 0x5CE1 # -0x4F40 0x4FA0 # -0x4F41 0x72ED # -0x4F42 0x4E0B # -0x4F43 0x53A6 # -0x4F44 0x590F # -0x4F45 0x5413 # -0x4F46 0x6380 # -0x4F47 0x9528 # -0x4F48 0x5148 # -0x4F49 0x4ED9 # -0x4F4A 0x9C9C # -0x4F4B 0x7EA4 # -0x4F4C 0x54B8 # -0x4F4D 0x8D24 # -0x4F4E 0x8854 # -0x4F4F 0x8237 # -0x4F50 0x95F2 # -0x4F51 0x6D8E # -0x4F52 0x5F26 # -0x4F53 0x5ACC # -0x4F54 0x663E # -0x4F55 0x9669 # -0x4F56 0x73B0 # -0x4F57 0x732E # -0x4F58 0x53BF # -0x4F59 0x817A # -0x4F5A 0x9985 # -0x4F5B 0x7FA1 # -0x4F5C 0x5BAA # -0x4F5D 0x9677 # -0x4F5E 0x9650 # -0x4F5F 0x7EBF # -0x4F60 0x76F8 # -0x4F61 0x53A2 # -0x4F62 0x9576 # -0x4F63 0x9999 # -0x4F64 0x7BB1 # -0x4F65 0x8944 # -0x4F66 0x6E58 # -0x4F67 0x4E61 # -0x4F68 0x7FD4 # -0x4F69 0x7965 # -0x4F6A 0x8BE6 # -0x4F6B 0x60F3 # -0x4F6C 0x54CD # -0x4F6D 0x4EAB # -0x4F6E 0x9879 # -0x4F6F 0x5DF7 # -0x4F70 0x6A61 # -0x4F71 0x50CF # -0x4F72 0x5411 # -0x4F73 0x8C61 # -0x4F74 0x8427 # -0x4F75 0x785D # -0x4F76 0x9704 # -0x4F77 0x524A # -0x4F78 0x54EE # -0x4F79 0x56A3 # -0x4F7A 0x9500 # -0x4F7B 0x6D88 # -0x4F7C 0x5BB5 # -0x4F7D 0x6DC6 # -0x4F7E 0x6653 # -0x5021 0x5C0F # -0x5022 0x5B5D # -0x5023 0x6821 # -0x5024 0x8096 # -0x5025 0x5578 # -0x5026 0x7B11 # -0x5027 0x6548 # -0x5028 0x6954 # -0x5029 0x4E9B # -0x502A 0x6B47 # -0x502B 0x874E # -0x502C 0x978B # -0x502D 0x534F # -0x502E 0x631F # -0x502F 0x643A # -0x5030 0x90AA # -0x5031 0x659C # -0x5032 0x80C1 # -0x5033 0x8C10 # -0x5034 0x5199 # -0x5035 0x68B0 # -0x5036 0x5378 # -0x5037 0x87F9 # -0x5038 0x61C8 # -0x5039 0x6CC4 # -0x503A 0x6CFB # -0x503B 0x8C22 # -0x503C 0x5C51 # -0x503D 0x85AA # -0x503E 0x82AF # -0x503F 0x950C # -0x5040 0x6B23 # -0x5041 0x8F9B # -0x5042 0x65B0 # -0x5043 0x5FFB # -0x5044 0x5FC3 # -0x5045 0x4FE1 # -0x5046 0x8845 # -0x5047 0x661F # -0x5048 0x8165 # -0x5049 0x7329 # -0x504A 0x60FA # -0x504B 0x5174 # -0x504C 0x5211 # -0x504D 0x578B # -0x504E 0x5F62 # -0x504F 0x90A2 # -0x5050 0x884C # -0x5051 0x9192 # -0x5052 0x5E78 # -0x5053 0x674F # -0x5054 0x6027 # -0x5055 0x59D3 # -0x5056 0x5144 # -0x5057 0x51F6 # -0x5058 0x80F8 # -0x5059 0x5308 # -0x505A 0x6C79 # -0x505B 0x96C4 # -0x505C 0x718A # -0x505D 0x4F11 # -0x505E 0x4FEE # -0x505F 0x7F9E # -0x5060 0x673D # -0x5061 0x55C5 # -0x5062 0x9508 # -0x5063 0x79C0 # -0x5064 0x8896 # -0x5065 0x7EE3 # -0x5066 0x589F # -0x5067 0x620C # -0x5068 0x9700 # -0x5069 0x865A # -0x506A 0x5618 # -0x506B 0x987B # -0x506C 0x5F90 # -0x506D 0x8BB8 # -0x506E 0x84C4 # -0x506F 0x9157 # -0x5070 0x53D9 # -0x5071 0x65ED # -0x5072 0x5E8F # -0x5073 0x755C # -0x5074 0x6064 # -0x5075 0x7D6E # -0x5076 0x5A7F # -0x5077 0x7EEA # -0x5078 0x7EED # -0x5079 0x8F69 # -0x507A 0x55A7 # -0x507B 0x5BA3 # -0x507C 0x60AC # -0x507D 0x65CB # -0x507E 0x7384 # -0x5121 0x9009 # -0x5122 0x7663 # -0x5123 0x7729 # -0x5124 0x7EDA # -0x5125 0x9774 # -0x5126 0x859B # -0x5127 0x5B66 # -0x5128 0x7A74 # -0x5129 0x96EA # -0x512A 0x8840 # -0x512B 0x52CB # -0x512C 0x718F # -0x512D 0x5FAA # -0x512E 0x65EC # -0x512F 0x8BE2 # -0x5130 0x5BFB # -0x5131 0x9A6F # -0x5132 0x5DE1 # -0x5133 0x6B89 # -0x5134 0x6C5B # -0x5135 0x8BAD # -0x5136 0x8BAF # -0x5137 0x900A # -0x5138 0x8FC5 # -0x5139 0x538B # -0x513A 0x62BC # -0x513B 0x9E26 # -0x513C 0x9E2D # -0x513D 0x5440 # -0x513E 0x4E2B # -0x513F 0x82BD # -0x5140 0x7259 # -0x5141 0x869C # -0x5142 0x5D16 # -0x5143 0x8859 # -0x5144 0x6DAF # -0x5145 0x96C5 # -0x5146 0x54D1 # -0x5147 0x4E9A # -0x5148 0x8BB6 # -0x5149 0x7109 # -0x514A 0x54BD # -0x514B 0x9609 # -0x514C 0x70DF # -0x514D 0x6DF9 # -0x514E 0x76D0 # -0x514F 0x4E25 # -0x5150 0x7814 # -0x5151 0x8712 # -0x5152 0x5CA9 # -0x5153 0x5EF6 # -0x5154 0x8A00 # -0x5155 0x989C # -0x5156 0x960E # -0x5157 0x708E # -0x5158 0x6CBF # -0x5159 0x5944 # -0x515A 0x63A9 # -0x515B 0x773C # -0x515C 0x884D # -0x515D 0x6F14 # -0x515E 0x8273 # -0x515F 0x5830 # -0x5160 0x71D5 # -0x5161 0x538C # -0x5162 0x781A # -0x5163 0x96C1 # -0x5164 0x5501 # -0x5165 0x5F66 # -0x5166 0x7130 # -0x5167 0x5BB4 # -0x5168 0x8C1A # -0x5169 0x9A8C # -0x516A 0x6B83 # -0x516B 0x592E # -0x516C 0x9E2F # -0x516D 0x79E7 # -0x516E 0x6768 # -0x516F 0x626C # -0x5170 0x4F6F # -0x5171 0x75A1 # -0x5172 0x7F8A # -0x5173 0x6D0B # -0x5174 0x9633 # -0x5175 0x6C27 # -0x5176 0x4EF0 # -0x5177 0x75D2 # -0x5178 0x517B # -0x5179 0x6837 # -0x517A 0x6F3E # -0x517B 0x9080 # -0x517C 0x8170 # -0x517D 0x5996 # -0x517E 0x7476 # -0x5221 0x6447 # -0x5222 0x5C27 # -0x5223 0x9065 # -0x5224 0x7A91 # -0x5225 0x8C23 # -0x5226 0x59DA # -0x5227 0x54AC # -0x5228 0x8200 # -0x5229 0x836F # -0x522A 0x8981 # -0x522B 0x8000 # -0x522C 0x6930 # -0x522D 0x564E # -0x522E 0x8036 # -0x522F 0x7237 # -0x5230 0x91CE # -0x5231 0x51B6 # -0x5232 0x4E5F # -0x5233 0x9875 # -0x5234 0x6396 # -0x5235 0x4E1A # -0x5236 0x53F6 # -0x5237 0x66F3 # -0x5238 0x814B # -0x5239 0x591C # -0x523A 0x6DB2 # -0x523B 0x4E00 # -0x523C 0x58F9 # -0x523D 0x533B # -0x523E 0x63D6 # -0x523F 0x94F1 # -0x5240 0x4F9D # -0x5241 0x4F0A # -0x5242 0x8863 # -0x5243 0x9890 # -0x5244 0x5937 # -0x5245 0x9057 # -0x5246 0x79FB # -0x5247 0x4EEA # -0x5248 0x80F0 # -0x5249 0x7591 # -0x524A 0x6C82 # -0x524B 0x5B9C # -0x524C 0x59E8 # -0x524D 0x5F5D # -0x524E 0x6905 # -0x524F 0x8681 # -0x5250 0x501A # -0x5251 0x5DF2 # -0x5252 0x4E59 # -0x5253 0x77E3 # -0x5254 0x4EE5 # -0x5255 0x827A # -0x5256 0x6291 # -0x5257 0x6613 # -0x5258 0x9091 # -0x5259 0x5C79 # -0x525A 0x4EBF # -0x525B 0x5F79 # -0x525C 0x81C6 # -0x525D 0x9038 # -0x525E 0x8084 # -0x525F 0x75AB # -0x5260 0x4EA6 # -0x5261 0x88D4 # -0x5262 0x610F # -0x5263 0x6BC5 # -0x5264 0x5FC6 # -0x5265 0x4E49 # -0x5266 0x76CA # -0x5267 0x6EA2 # -0x5268 0x8BE3 # -0x5269 0x8BAE # -0x526A 0x8C0A # -0x526B 0x8BD1 # -0x526C 0x5F02 # -0x526D 0x7FFC # -0x526E 0x7FCC # -0x526F 0x7ECE # -0x5270 0x8335 # -0x5271 0x836B # -0x5272 0x56E0 # -0x5273 0x6BB7 # -0x5274 0x97F3 # -0x5275 0x9634 # -0x5276 0x59FB # -0x5277 0x541F # -0x5278 0x94F6 # -0x5279 0x6DEB # -0x527A 0x5BC5 # -0x527B 0x996E # -0x527C 0x5C39 # -0x527D 0x5F15 # -0x527E 0x9690 # -0x5321 0x5370 # -0x5322 0x82F1 # -0x5323 0x6A31 # -0x5324 0x5A74 # -0x5325 0x9E70 # -0x5326 0x5E94 # -0x5327 0x7F28 # -0x5328 0x83B9 # -0x5329 0x8424 # -0x532A 0x8425 # -0x532B 0x8367 # -0x532C 0x8747 # -0x532D 0x8FCE # -0x532E 0x8D62 # -0x532F 0x76C8 # -0x5330 0x5F71 # -0x5331 0x9896 # -0x5332 0x786C # -0x5333 0x6620 # -0x5334 0x54DF # -0x5335 0x62E5 # -0x5336 0x4F63 # -0x5337 0x81C3 # -0x5338 0x75C8 # -0x5339 0x5EB8 # -0x533A 0x96CD # -0x533B 0x8E0A # -0x533C 0x86F9 # -0x533D 0x548F # -0x533E 0x6CF3 # -0x533F 0x6D8C # -0x5340 0x6C38 # -0x5341 0x607F # -0x5342 0x52C7 # -0x5343 0x7528 # -0x5344 0x5E7D # -0x5345 0x4F18 # -0x5346 0x60A0 # -0x5347 0x5FE7 # -0x5348 0x5C24 # -0x5349 0x7531 # -0x534A 0x90AE # -0x534B 0x94C0 # -0x534C 0x72B9 # -0x534D 0x6CB9 # -0x534E 0x6E38 # -0x534F 0x9149 # -0x5350 0x6709 # -0x5351 0x53CB # -0x5352 0x53F3 # -0x5353 0x4F51 # -0x5354 0x91C9 # -0x5355 0x8BF1 # -0x5356 0x53C8 # -0x5357 0x5E7C # -0x5358 0x8FC2 # -0x5359 0x6DE4 # -0x535A 0x4E8E # -0x535B 0x76C2 # -0x535C 0x6986 # -0x535D 0x865E # -0x535E 0x611A # -0x535F 0x8206 # -0x5360 0x4F59 # -0x5361 0x4FDE # -0x5362 0x903E # -0x5363 0x9C7C # -0x5364 0x6109 # -0x5365 0x6E1D # -0x5366 0x6E14 # -0x5367 0x9685 # -0x5368 0x4E88 # -0x5369 0x5A31 # -0x536A 0x96E8 # -0x536B 0x4E0E # -0x536C 0x5C7F # -0x536D 0x79B9 # -0x536E 0x5B87 # -0x536F 0x8BED # -0x5370 0x7FBD # -0x5371 0x7389 # -0x5372 0x57DF # -0x5373 0x828B # -0x5374 0x90C1 # -0x5375 0x5401 # -0x5376 0x9047 # -0x5377 0x55BB # -0x5378 0x5CEA # -0x5379 0x5FA1 # -0x537A 0x6108 # -0x537B 0x6B32 # -0x537C 0x72F1 # -0x537D 0x80B2 # -0x537E 0x8A89 # -0x5421 0x6D74 # -0x5422 0x5BD3 # -0x5423 0x88D5 # -0x5424 0x9884 # -0x5425 0x8C6B # -0x5426 0x9A6D # -0x5427 0x9E33 # -0x5428 0x6E0A # -0x5429 0x51A4 # -0x542A 0x5143 # -0x542B 0x57A3 # -0x542C 0x8881 # -0x542D 0x539F # -0x542E 0x63F4 # -0x542F 0x8F95 # -0x5430 0x56ED # -0x5431 0x5458 # -0x5432 0x5706 # -0x5433 0x733F # -0x5434 0x6E90 # -0x5435 0x7F18 # -0x5436 0x8FDC # -0x5437 0x82D1 # -0x5438 0x613F # -0x5439 0x6028 # -0x543A 0x9662 # -0x543B 0x66F0 # -0x543C 0x7EA6 # -0x543D 0x8D8A # -0x543E 0x8DC3 # -0x543F 0x94A5 # -0x5440 0x5CB3 # -0x5441 0x7CA4 # -0x5442 0x6708 # -0x5443 0x60A6 # -0x5444 0x9605 # -0x5445 0x8018 # -0x5446 0x4E91 # -0x5447 0x90E7 # -0x5448 0x5300 # -0x5449 0x9668 # -0x544A 0x5141 # -0x544B 0x8FD0 # -0x544C 0x8574 # -0x544D 0x915D # -0x544E 0x6655 # -0x544F 0x97F5 # -0x5450 0x5B55 # -0x5451 0x531D # -0x5452 0x7838 # -0x5453 0x6742 # -0x5454 0x683D # -0x5455 0x54C9 # -0x5456 0x707E # -0x5457 0x5BB0 # -0x5458 0x8F7D # -0x5459 0x518D # -0x545A 0x5728 # -0x545B 0x54B1 # -0x545C 0x6512 # -0x545D 0x6682 # -0x545E 0x8D5E # -0x545F 0x8D43 # -0x5460 0x810F # -0x5461 0x846C # -0x5462 0x906D # -0x5463 0x7CDF # -0x5464 0x51FF # -0x5465 0x85FB # -0x5466 0x67A3 # -0x5467 0x65E9 # -0x5468 0x6FA1 # -0x5469 0x86A4 # -0x546A 0x8E81 # -0x546B 0x566A # -0x546C 0x9020 # -0x546D 0x7682 # -0x546E 0x7076 # -0x546F 0x71E5 # -0x5470 0x8D23 # -0x5471 0x62E9 # -0x5472 0x5219 # -0x5473 0x6CFD # -0x5474 0x8D3C # -0x5475 0x600E # -0x5476 0x589E # -0x5477 0x618E # -0x5478 0x66FE # -0x5479 0x8D60 # -0x547A 0x624E # -0x547B 0x55B3 # -0x547C 0x6E23 # -0x547D 0x672D # -0x547E 0x8F67 # -0x5521 0x94E1 # -0x5522 0x95F8 # -0x5523 0x7728 # -0x5524 0x6805 # -0x5525 0x69A8 # -0x5526 0x548B # -0x5527 0x4E4D # -0x5528 0x70B8 # -0x5529 0x8BC8 # -0x552A 0x6458 # -0x552B 0x658B # -0x552C 0x5B85 # -0x552D 0x7A84 # -0x552E 0x503A # -0x552F 0x5BE8 # -0x5530 0x77BB # -0x5531 0x6BE1 # -0x5532 0x8A79 # -0x5533 0x7C98 # -0x5534 0x6CBE # -0x5535 0x76CF # -0x5536 0x65A9 # -0x5537 0x8F97 # -0x5538 0x5D2D # -0x5539 0x5C55 # -0x553A 0x8638 # -0x553B 0x6808 # -0x553C 0x5360 # -0x553D 0x6218 # -0x553E 0x7AD9 # -0x553F 0x6E5B # -0x5540 0x7EFD # -0x5541 0x6A1F # -0x5542 0x7AE0 # -0x5543 0x5F70 # -0x5544 0x6F33 # -0x5545 0x5F20 # -0x5546 0x638C # -0x5547 0x6DA8 # -0x5548 0x6756 # -0x5549 0x4E08 # -0x554A 0x5E10 # -0x554B 0x8D26 # -0x554C 0x4ED7 # -0x554D 0x80C0 # -0x554E 0x7634 # -0x554F 0x969C # -0x5550 0x62DB # -0x5551 0x662D # -0x5552 0x627E # -0x5553 0x6CBC # -0x5554 0x8D75 # -0x5555 0x7167 # -0x5556 0x7F69 # -0x5557 0x5146 # -0x5558 0x8087 # -0x5559 0x53EC # -0x555A 0x906E # -0x555B 0x6298 # -0x555C 0x54F2 # -0x555D 0x86F0 # -0x555E 0x8F99 # -0x555F 0x8005 # -0x5560 0x9517 # -0x5561 0x8517 # -0x5562 0x8FD9 # -0x5563 0x6D59 # -0x5564 0x73CD # -0x5565 0x659F # -0x5566 0x771F # -0x5567 0x7504 # -0x5568 0x7827 # -0x5569 0x81FB # -0x556A 0x8D1E # -0x556B 0x9488 # -0x556C 0x4FA6 # -0x556D 0x6795 # -0x556E 0x75B9 # -0x556F 0x8BCA # -0x5570 0x9707 # -0x5571 0x632F # -0x5572 0x9547 # -0x5573 0x9635 # -0x5574 0x84B8 # -0x5575 0x6323 # -0x5576 0x7741 # -0x5577 0x5F81 # -0x5578 0x72F0 # -0x5579 0x4E89 # -0x557A 0x6014 # -0x557B 0x6574 # -0x557C 0x62EF # -0x557D 0x6B63 # -0x557E 0x653F # -0x5621 0x5E27 # -0x5622 0x75C7 # -0x5623 0x90D1 # -0x5624 0x8BC1 # -0x5625 0x829D # -0x5626 0x679D # -0x5627 0x652F # -0x5628 0x5431 # -0x5629 0x8718 # -0x562A 0x77E5 # -0x562B 0x80A2 # -0x562C 0x8102 # -0x562D 0x6C41 # -0x562E 0x4E4B # -0x562F 0x7EC7 # -0x5630 0x804C # -0x5631 0x76F4 # -0x5632 0x690D # -0x5633 0x6B96 # -0x5634 0x6267 # -0x5635 0x503C # -0x5636 0x4F84 # -0x5637 0x5740 # -0x5638 0x6307 # -0x5639 0x6B62 # -0x563A 0x8DBE # -0x563B 0x53EA # -0x563C 0x65E8 # -0x563D 0x7EB8 # -0x563E 0x5FD7 # -0x563F 0x631A # -0x5640 0x63B7 # -0x5641 0x81F3 # -0x5642 0x81F4 # -0x5643 0x7F6E # -0x5644 0x5E1C # -0x5645 0x5CD9 # -0x5646 0x5236 # -0x5647 0x667A # -0x5648 0x79E9 # -0x5649 0x7A1A # -0x564A 0x8D28 # -0x564B 0x7099 # -0x564C 0x75D4 # -0x564D 0x6EDE # -0x564E 0x6CBB # -0x564F 0x7A92 # -0x5650 0x4E2D # -0x5651 0x76C5 # -0x5652 0x5FE0 # -0x5653 0x949F # -0x5654 0x8877 # -0x5655 0x7EC8 # -0x5656 0x79CD # -0x5657 0x80BF # -0x5658 0x91CD # -0x5659 0x4EF2 # -0x565A 0x4F17 # -0x565B 0x821F # -0x565C 0x5468 # -0x565D 0x5DDE # -0x565E 0x6D32 # -0x565F 0x8BCC # -0x5660 0x7CA5 # -0x5661 0x8F74 # -0x5662 0x8098 # -0x5663 0x5E1A # -0x5664 0x5492 # -0x5665 0x76B1 # -0x5666 0x5B99 # -0x5667 0x663C # -0x5668 0x9AA4 # -0x5669 0x73E0 # -0x566A 0x682A # -0x566B 0x86DB # -0x566C 0x6731 # -0x566D 0x732A # -0x566E 0x8BF8 # -0x566F 0x8BDB # -0x5670 0x9010 # -0x5671 0x7AF9 # -0x5672 0x70DB # -0x5673 0x716E # -0x5674 0x62C4 # -0x5675 0x77A9 # -0x5676 0x5631 # -0x5677 0x4E3B # -0x5678 0x8457 # -0x5679 0x67F1 # -0x567A 0x52A9 # -0x567B 0x86C0 # -0x567C 0x8D2E # -0x567D 0x94F8 # -0x567E 0x7B51 # -0x5721 0x4F4F # -0x5722 0x6CE8 # -0x5723 0x795D # -0x5724 0x9A7B # -0x5725 0x6293 # -0x5726 0x722A # -0x5727 0x62FD # -0x5728 0x4E13 # -0x5729 0x7816 # -0x572A 0x8F6C # -0x572B 0x64B0 # -0x572C 0x8D5A # -0x572D 0x7BC6 # -0x572E 0x6869 # -0x572F 0x5E84 # -0x5730 0x88C5 # -0x5731 0x5986 # -0x5732 0x649E # -0x5733 0x58EE # -0x5734 0x72B6 # -0x5735 0x690E # -0x5736 0x9525 # -0x5737 0x8FFD # -0x5738 0x8D58 # -0x5739 0x5760 # -0x573A 0x7F00 # -0x573B 0x8C06 # -0x573C 0x51C6 # -0x573D 0x6349 # -0x573E 0x62D9 # -0x573F 0x5353 # -0x5740 0x684C # -0x5741 0x7422 # -0x5742 0x8301 # -0x5743 0x914C # -0x5744 0x5544 # -0x5745 0x7740 # -0x5746 0x707C # -0x5747 0x6D4A # -0x5748 0x5179 # -0x5749 0x54A8 # -0x574A 0x8D44 # -0x574B 0x59FF # -0x574C 0x6ECB # -0x574D 0x6DC4 # -0x574E 0x5B5C # -0x574F 0x7D2B # -0x5750 0x4ED4 # -0x5751 0x7C7D # -0x5752 0x6ED3 # -0x5753 0x5B50 # -0x5754 0x81EA # -0x5755 0x6E0D # -0x5756 0x5B57 # -0x5757 0x9B03 # -0x5758 0x68D5 # -0x5759 0x8E2A # -0x575A 0x5B97 # -0x575B 0x7EFC # -0x575C 0x603B # -0x575D 0x7EB5 # -0x575E 0x90B9 # -0x575F 0x8D70 # -0x5760 0x594F # -0x5761 0x63CD # -0x5762 0x79DF # -0x5763 0x8DB3 # -0x5764 0x5352 # -0x5765 0x65CF # -0x5766 0x7956 # -0x5767 0x8BC5 # -0x5768 0x963B # -0x5769 0x7EC4 # -0x576A 0x94BB # -0x576B 0x7E82 # -0x576C 0x5634 # -0x576D 0x9189 # -0x576E 0x6700 # -0x576F 0x7F6A # -0x5770 0x5C0A # -0x5771 0x9075 # -0x5772 0x6628 # -0x5773 0x5DE6 # -0x5774 0x4F50 # -0x5775 0x67DE # -0x5776 0x505A # -0x5777 0x4F5C # -0x5778 0x5750 # -0x5779 0x5EA7 # -0x5821 0x4E8D # -0x5822 0x4E0C # -0x5823 0x5140 # -0x5824 0x4E10 # -0x5825 0x5EFF # -0x5826 0x5345 # -0x5827 0x4E15 # -0x5828 0x4E98 # -0x5829 0x4E1E # -0x582A 0x9B32 # -0x582B 0x5B6C # -0x582C 0x5669 # -0x582D 0x4E28 # -0x582E 0x79BA # -0x582F 0x4E3F # -0x5830 0x5315 # -0x5831 0x4E47 # -0x5832 0x592D # -0x5833 0x723B # -0x5834 0x536E # -0x5835 0x6C10 # -0x5836 0x56DF # -0x5837 0x80E4 # -0x5838 0x9997 # -0x5839 0x6BD3 # -0x583A 0x777E # -0x583B 0x9F17 # -0x583C 0x4E36 # -0x583D 0x4E9F # -0x583E 0x9F10 # -0x583F 0x4E5C # -0x5840 0x4E69 # -0x5841 0x4E93 # -0x5842 0x8288 # -0x5843 0x5B5B # -0x5844 0x556C # -0x5845 0x560F # -0x5846 0x4EC4 # -0x5847 0x538D # -0x5848 0x539D # -0x5849 0x53A3 # -0x584A 0x53A5 # -0x584B 0x53AE # -0x584C 0x9765 # -0x584D 0x8D5D # -0x584E 0x531A # -0x584F 0x53F5 # -0x5850 0x5326 # -0x5851 0x532E # -0x5852 0x533E # -0x5853 0x8D5C # -0x5854 0x5366 # -0x5855 0x5363 # -0x5856 0x5202 # -0x5857 0x5208 # -0x5858 0x520E # -0x5859 0x522D # -0x585A 0x5233 # -0x585B 0x523F # -0x585C 0x5240 # -0x585D 0x524C # -0x585E 0x525E # -0x585F 0x5261 # -0x5860 0x525C # -0x5861 0x84AF # -0x5862 0x527D # -0x5863 0x5282 # -0x5864 0x5281 # -0x5865 0x5290 # -0x5866 0x5293 # -0x5867 0x5182 # -0x5868 0x7F54 # -0x5869 0x4EBB # -0x586A 0x4EC3 # -0x586B 0x4EC9 # -0x586C 0x4EC2 # -0x586D 0x4EE8 # -0x586E 0x4EE1 # -0x586F 0x4EEB # -0x5870 0x4EDE # -0x5871 0x4F1B # -0x5872 0x4EF3 # -0x5873 0x4F22 # -0x5874 0x4F64 # -0x5875 0x4EF5 # -0x5876 0x4F25 # -0x5877 0x4F27 # -0x5878 0x4F09 # -0x5879 0x4F2B # -0x587A 0x4F5E # -0x587B 0x4F67 # -0x587C 0x6538 # -0x587D 0x4F5A # -0x587E 0x4F5D # -0x5921 0x4F5F # -0x5922 0x4F57 # -0x5923 0x4F32 # -0x5924 0x4F3D # -0x5925 0x4F76 # -0x5926 0x4F74 # -0x5927 0x4F91 # -0x5928 0x4F89 # -0x5929 0x4F83 # -0x592A 0x4F8F # -0x592B 0x4F7E # -0x592C 0x4F7B # -0x592D 0x4FAA # -0x592E 0x4F7C # -0x592F 0x4FAC # -0x5930 0x4F94 # -0x5931 0x4FE6 # -0x5932 0x4FE8 # -0x5933 0x4FEA # -0x5934 0x4FC5 # -0x5935 0x4FDA # -0x5936 0x4FE3 # -0x5937 0x4FDC # -0x5938 0x4FD1 # -0x5939 0x4FDF # -0x593A 0x4FF8 # -0x593B 0x5029 # -0x593C 0x504C # -0x593D 0x4FF3 # -0x593E 0x502C # -0x593F 0x500F # -0x5940 0x502E # -0x5941 0x502D # -0x5942 0x4FFE # -0x5943 0x501C # -0x5944 0x500C # -0x5945 0x5025 # -0x5946 0x5028 # -0x5947 0x507E # -0x5948 0x5043 # -0x5949 0x5055 # -0x594A 0x5048 # -0x594B 0x504E # -0x594C 0x506C # -0x594D 0x507B # -0x594E 0x50A5 # -0x594F 0x50A7 # -0x5950 0x50A9 # -0x5951 0x50BA # -0x5952 0x50D6 # -0x5953 0x5106 # -0x5954 0x50ED # -0x5955 0x50EC # -0x5956 0x50E6 # -0x5957 0x50EE # -0x5958 0x5107 # -0x5959 0x510B # -0x595A 0x4EDD # -0x595B 0x6C3D # -0x595C 0x4F58 # -0x595D 0x4F65 # -0x595E 0x4FCE # -0x595F 0x9FA0 # -0x5960 0x6C46 # -0x5961 0x7C74 # -0x5962 0x516E # -0x5963 0x5DFD # -0x5964 0x9EC9 # -0x5965 0x9998 # -0x5966 0x5181 # -0x5967 0x5914 # -0x5968 0x52F9 # -0x5969 0x530D # -0x596A 0x8A07 # -0x596B 0x5310 # -0x596C 0x51EB # -0x596D 0x5919 # -0x596E 0x5155 # -0x596F 0x4EA0 # -0x5970 0x5156 # -0x5971 0x4EB3 # -0x5972 0x886E # -0x5973 0x88A4 # -0x5974 0x4EB5 # -0x5975 0x8114 # -0x5976 0x88D2 # -0x5977 0x7980 # -0x5978 0x5B34 # -0x5979 0x8803 # -0x597A 0x7FB8 # -0x597B 0x51AB # -0x597C 0x51B1 # -0x597D 0x51BD # -0x597E 0x51BC # -0x5A21 0x51C7 # -0x5A22 0x5196 # -0x5A23 0x51A2 # -0x5A24 0x51A5 # -0x5A25 0x8BA0 # -0x5A26 0x8BA6 # -0x5A27 0x8BA7 # -0x5A28 0x8BAA # -0x5A29 0x8BB4 # -0x5A2A 0x8BB5 # -0x5A2B 0x8BB7 # -0x5A2C 0x8BC2 # -0x5A2D 0x8BC3 # -0x5A2E 0x8BCB # -0x5A2F 0x8BCF # -0x5A30 0x8BCE # -0x5A31 0x8BD2 # -0x5A32 0x8BD3 # -0x5A33 0x8BD4 # -0x5A34 0x8BD6 # -0x5A35 0x8BD8 # -0x5A36 0x8BD9 # -0x5A37 0x8BDC # -0x5A38 0x8BDF # -0x5A39 0x8BE0 # -0x5A3A 0x8BE4 # -0x5A3B 0x8BE8 # -0x5A3C 0x8BE9 # -0x5A3D 0x8BEE # -0x5A3E 0x8BF0 # -0x5A3F 0x8BF3 # -0x5A40 0x8BF6 # -0x5A41 0x8BF9 # -0x5A42 0x8BFC # -0x5A43 0x8BFF # -0x5A44 0x8C00 # -0x5A45 0x8C02 # -0x5A46 0x8C04 # -0x5A47 0x8C07 # -0x5A48 0x8C0C # -0x5A49 0x8C0F # -0x5A4A 0x8C11 # -0x5A4B 0x8C12 # -0x5A4C 0x8C14 # -0x5A4D 0x8C15 # -0x5A4E 0x8C16 # -0x5A4F 0x8C19 # -0x5A50 0x8C1B # -0x5A51 0x8C18 # -0x5A52 0x8C1D # -0x5A53 0x8C1F # -0x5A54 0x8C20 # -0x5A55 0x8C21 # -0x5A56 0x8C25 # -0x5A57 0x8C27 # -0x5A58 0x8C2A # -0x5A59 0x8C2B # -0x5A5A 0x8C2E # -0x5A5B 0x8C2F # -0x5A5C 0x8C32 # -0x5A5D 0x8C33 # -0x5A5E 0x8C35 # -0x5A5F 0x8C36 # -0x5A60 0x5369 # -0x5A61 0x537A # -0x5A62 0x961D # -0x5A63 0x9622 # -0x5A64 0x9621 # -0x5A65 0x9631 # -0x5A66 0x962A # -0x5A67 0x963D # -0x5A68 0x963C # -0x5A69 0x9642 # -0x5A6A 0x9649 # -0x5A6B 0x9654 # -0x5A6C 0x965F # -0x5A6D 0x9667 # -0x5A6E 0x966C # -0x5A6F 0x9672 # -0x5A70 0x9674 # -0x5A71 0x9688 # -0x5A72 0x968D # -0x5A73 0x9697 # -0x5A74 0x96B0 # -0x5A75 0x9097 # -0x5A76 0x909B # -0x5A77 0x909D # -0x5A78 0x9099 # -0x5A79 0x90AC # -0x5A7A 0x90A1 # -0x5A7B 0x90B4 # -0x5A7C 0x90B3 # -0x5A7D 0x90B6 # -0x5A7E 0x90BA # -0x5B21 0x90B8 # -0x5B22 0x90B0 # -0x5B23 0x90CF # -0x5B24 0x90C5 # -0x5B25 0x90BE # -0x5B26 0x90D0 # -0x5B27 0x90C4 # -0x5B28 0x90C7 # -0x5B29 0x90D3 # -0x5B2A 0x90E6 # -0x5B2B 0x90E2 # -0x5B2C 0x90DC # -0x5B2D 0x90D7 # -0x5B2E 0x90DB # -0x5B2F 0x90EB # -0x5B30 0x90EF # -0x5B31 0x90FE # -0x5B32 0x9104 # -0x5B33 0x9122 # -0x5B34 0x911E # -0x5B35 0x9123 # -0x5B36 0x9131 # -0x5B37 0x912F # -0x5B38 0x9139 # -0x5B39 0x9143 # -0x5B3A 0x9146 # -0x5B3B 0x520D # -0x5B3C 0x5942 # -0x5B3D 0x52A2 # -0x5B3E 0x52AC # -0x5B3F 0x52AD # -0x5B40 0x52BE # -0x5B41 0x54FF # -0x5B42 0x52D0 # -0x5B43 0x52D6 # -0x5B44 0x52F0 # -0x5B45 0x53DF # -0x5B46 0x71EE # -0x5B47 0x77CD # -0x5B48 0x5EF4 # -0x5B49 0x51F5 # -0x5B4A 0x51FC # -0x5B4B 0x9B2F # -0x5B4C 0x53B6 # -0x5B4D 0x5F01 # -0x5B4E 0x755A # -0x5B4F 0x5DEF # -0x5B50 0x574C # -0x5B51 0x57A9 # -0x5B52 0x57A1 # -0x5B53 0x587E # -0x5B54 0x58BC # -0x5B55 0x58C5 # -0x5B56 0x58D1 # -0x5B57 0x5729 # -0x5B58 0x572C # -0x5B59 0x572A # -0x5B5A 0x5733 # -0x5B5B 0x5739 # -0x5B5C 0x572E # -0x5B5D 0x572F # -0x5B5E 0x575C # -0x5B5F 0x573B # -0x5B60 0x5742 # -0x5B61 0x5769 # -0x5B62 0x5785 # -0x5B63 0x576B # -0x5B64 0x5786 # -0x5B65 0x577C # -0x5B66 0x577B # -0x5B67 0x5768 # -0x5B68 0x576D # -0x5B69 0x5776 # -0x5B6A 0x5773 # -0x5B6B 0x57AD # -0x5B6C 0x57A4 # -0x5B6D 0x578C # -0x5B6E 0x57B2 # -0x5B6F 0x57CF # -0x5B70 0x57A7 # -0x5B71 0x57B4 # -0x5B72 0x5793 # -0x5B73 0x57A0 # -0x5B74 0x57D5 # -0x5B75 0x57D8 # -0x5B76 0x57DA # -0x5B77 0x57D9 # -0x5B78 0x57D2 # -0x5B79 0x57B8 # -0x5B7A 0x57F4 # -0x5B7B 0x57EF # -0x5B7C 0x57F8 # -0x5B7D 0x57E4 # -0x5B7E 0x57DD # -0x5C21 0x580B # -0x5C22 0x580D # -0x5C23 0x57FD # -0x5C24 0x57ED # -0x5C25 0x5800 # -0x5C26 0x581E # -0x5C27 0x5819 # -0x5C28 0x5844 # -0x5C29 0x5820 # -0x5C2A 0x5865 # -0x5C2B 0x586C # -0x5C2C 0x5881 # -0x5C2D 0x5889 # -0x5C2E 0x589A # -0x5C2F 0x5880 # -0x5C30 0x99A8 # -0x5C31 0x9F19 # -0x5C32 0x61FF # -0x5C33 0x8279 # -0x5C34 0x827D # -0x5C35 0x827F # -0x5C36 0x828F # -0x5C37 0x828A # -0x5C38 0x82A8 # -0x5C39 0x8284 # -0x5C3A 0x828E # -0x5C3B 0x8291 # -0x5C3C 0x8297 # -0x5C3D 0x8299 # -0x5C3E 0x82AB # -0x5C3F 0x82B8 # -0x5C40 0x82BE # -0x5C41 0x82B0 # -0x5C42 0x82C8 # -0x5C43 0x82CA # -0x5C44 0x82E3 # -0x5C45 0x8298 # -0x5C46 0x82B7 # -0x5C47 0x82AE # -0x5C48 0x82CB # -0x5C49 0x82CC # -0x5C4A 0x82C1 # -0x5C4B 0x82A9 # -0x5C4C 0x82B4 # -0x5C4D 0x82A1 # -0x5C4E 0x82AA # -0x5C4F 0x829F # -0x5C50 0x82C4 # -0x5C51 0x82CE # -0x5C52 0x82A4 # -0x5C53 0x82E1 # -0x5C54 0x8309 # -0x5C55 0x82F7 # -0x5C56 0x82E4 # -0x5C57 0x830F # -0x5C58 0x8307 # -0x5C59 0x82DC # -0x5C5A 0x82F4 # -0x5C5B 0x82D2 # -0x5C5C 0x82D8 # -0x5C5D 0x830C # -0x5C5E 0x82FB # -0x5C5F 0x82D3 # -0x5C60 0x8311 # -0x5C61 0x831A # -0x5C62 0x8306 # -0x5C63 0x8314 # -0x5C64 0x8315 # -0x5C65 0x82E0 # -0x5C66 0x82D5 # -0x5C67 0x831C # -0x5C68 0x8351 # -0x5C69 0x835B # -0x5C6A 0x835C # -0x5C6B 0x8308 # -0x5C6C 0x8392 # -0x5C6D 0x833C # -0x5C6E 0x8334 # -0x5C6F 0x8331 # -0x5C70 0x839B # -0x5C71 0x835E # -0x5C72 0x832F # -0x5C73 0x834F # -0x5C74 0x8347 # -0x5C75 0x8343 # -0x5C76 0x835F # -0x5C77 0x8340 # -0x5C78 0x8317 # -0x5C79 0x8360 # -0x5C7A 0x832D # -0x5C7B 0x833A # -0x5C7C 0x8333 # -0x5C7D 0x8366 # -0x5C7E 0x8365 # -0x5D21 0x8368 # -0x5D22 0x831B # -0x5D23 0x8369 # -0x5D24 0x836C # -0x5D25 0x836A # -0x5D26 0x836D # -0x5D27 0x836E # -0x5D28 0x83B0 # -0x5D29 0x8378 # -0x5D2A 0x83B3 # -0x5D2B 0x83B4 # -0x5D2C 0x83A0 # -0x5D2D 0x83AA # -0x5D2E 0x8393 # -0x5D2F 0x839C # -0x5D30 0x8385 # -0x5D31 0x837C # -0x5D32 0x83B6 # -0x5D33 0x83A9 # -0x5D34 0x837D # -0x5D35 0x83B8 # -0x5D36 0x837B # -0x5D37 0x8398 # -0x5D38 0x839E # -0x5D39 0x83A8 # -0x5D3A 0x83BA # -0x5D3B 0x83BC # -0x5D3C 0x83C1 # -0x5D3D 0x8401 # -0x5D3E 0x83E5 # -0x5D3F 0x83D8 # -0x5D40 0x5807 # -0x5D41 0x8418 # -0x5D42 0x840B # -0x5D43 0x83DD # -0x5D44 0x83FD # -0x5D45 0x83D6 # -0x5D46 0x841C # -0x5D47 0x8438 # -0x5D48 0x8411 # -0x5D49 0x8406 # -0x5D4A 0x83D4 # -0x5D4B 0x83DF # -0x5D4C 0x840F # -0x5D4D 0x8403 # -0x5D4E 0x83F8 # -0x5D4F 0x83F9 # -0x5D50 0x83EA # -0x5D51 0x83C5 # -0x5D52 0x83C0 # -0x5D53 0x8426 # -0x5D54 0x83F0 # -0x5D55 0x83E1 # -0x5D56 0x845C # -0x5D57 0x8451 # -0x5D58 0x845A # -0x5D59 0x8459 # -0x5D5A 0x8473 # -0x5D5B 0x8487 # -0x5D5C 0x8488 # -0x5D5D 0x847A # -0x5D5E 0x8489 # -0x5D5F 0x8478 # -0x5D60 0x843C # -0x5D61 0x8446 # -0x5D62 0x8469 # -0x5D63 0x8476 # -0x5D64 0x848C # -0x5D65 0x848E # -0x5D66 0x8431 # -0x5D67 0x846D # -0x5D68 0x84C1 # -0x5D69 0x84CD # -0x5D6A 0x84D0 # -0x5D6B 0x84E6 # -0x5D6C 0x84BD # -0x5D6D 0x84D3 # -0x5D6E 0x84CA # -0x5D6F 0x84BF # -0x5D70 0x84BA # -0x5D71 0x84E0 # -0x5D72 0x84A1 # -0x5D73 0x84B9 # -0x5D74 0x84B4 # -0x5D75 0x8497 # -0x5D76 0x84E5 # -0x5D77 0x84E3 # -0x5D78 0x850C # -0x5D79 0x750D # -0x5D7A 0x8538 # -0x5D7B 0x84F0 # -0x5D7C 0x8539 # -0x5D7D 0x851F # -0x5D7E 0x853A # -0x5E21 0x8556 # -0x5E22 0x853B # -0x5E23 0x84FF # -0x5E24 0x84FC # -0x5E25 0x8559 # -0x5E26 0x8548 # -0x5E27 0x8568 # -0x5E28 0x8564 # -0x5E29 0x855E # -0x5E2A 0x857A # -0x5E2B 0x77A2 # -0x5E2C 0x8543 # -0x5E2D 0x8572 # -0x5E2E 0x857B # -0x5E2F 0x85A4 # -0x5E30 0x85A8 # -0x5E31 0x8587 # -0x5E32 0x858F # -0x5E33 0x8579 # -0x5E34 0x85AE # -0x5E35 0x859C # -0x5E36 0x8585 # -0x5E37 0x85B9 # -0x5E38 0x85B7 # -0x5E39 0x85B0 # -0x5E3A 0x85D3 # -0x5E3B 0x85C1 # -0x5E3C 0x85DC # -0x5E3D 0x85FF # -0x5E3E 0x8627 # -0x5E3F 0x8605 # -0x5E40 0x8629 # -0x5E41 0x8616 # -0x5E42 0x863C # -0x5E43 0x5EFE # -0x5E44 0x5F08 # -0x5E45 0x593C # -0x5E46 0x5941 # -0x5E47 0x8037 # -0x5E48 0x5955 # -0x5E49 0x595A # -0x5E4A 0x5958 # -0x5E4B 0x530F # -0x5E4C 0x5C22 # -0x5E4D 0x5C25 # -0x5E4E 0x5C2C # -0x5E4F 0x5C34 # -0x5E50 0x624C # -0x5E51 0x626A # -0x5E52 0x629F # -0x5E53 0x62BB # -0x5E54 0x62CA # -0x5E55 0x62DA # -0x5E56 0x62D7 # -0x5E57 0x62EE # -0x5E58 0x6322 # -0x5E59 0x62F6 # -0x5E5A 0x6339 # -0x5E5B 0x634B # -0x5E5C 0x6343 # -0x5E5D 0x63AD # -0x5E5E 0x63F6 # -0x5E5F 0x6371 # -0x5E60 0x637A # -0x5E61 0x638E # -0x5E62 0x63B4 # -0x5E63 0x636D # -0x5E64 0x63AC # -0x5E65 0x638A # -0x5E66 0x6369 # -0x5E67 0x63AE # -0x5E68 0x63BC # -0x5E69 0x63F2 # -0x5E6A 0x63F8 # -0x5E6B 0x63E0 # -0x5E6C 0x63FF # -0x5E6D 0x63C4 # -0x5E6E 0x63DE # -0x5E6F 0x63CE # -0x5E70 0x6452 # -0x5E71 0x63C6 # -0x5E72 0x63BE # -0x5E73 0x6445 # -0x5E74 0x6441 # -0x5E75 0x640B # -0x5E76 0x641B # -0x5E77 0x6420 # -0x5E78 0x640C # -0x5E79 0x6426 # -0x5E7A 0x6421 # -0x5E7B 0x645E # -0x5E7C 0x6484 # -0x5E7D 0x646D # -0x5E7E 0x6496 # -0x5F21 0x647A # -0x5F22 0x64B7 # -0x5F23 0x64B8 # -0x5F24 0x6499 # -0x5F25 0x64BA # -0x5F26 0x64C0 # -0x5F27 0x64D0 # -0x5F28 0x64D7 # -0x5F29 0x64E4 # -0x5F2A 0x64E2 # -0x5F2B 0x6509 # -0x5F2C 0x6525 # -0x5F2D 0x652E # -0x5F2E 0x5F0B # -0x5F2F 0x5FD2 # -0x5F30 0x7519 # -0x5F31 0x5F11 # -0x5F32 0x535F # -0x5F33 0x53F1 # -0x5F34 0x53FD # -0x5F35 0x53E9 # -0x5F36 0x53E8 # -0x5F37 0x53FB # -0x5F38 0x5412 # -0x5F39 0x5416 # -0x5F3A 0x5406 # -0x5F3B 0x544B # -0x5F3C 0x5452 # -0x5F3D 0x5453 # -0x5F3E 0x5454 # -0x5F3F 0x5456 # -0x5F40 0x5443 # -0x5F41 0x5421 # -0x5F42 0x5457 # -0x5F43 0x5459 # -0x5F44 0x5423 # -0x5F45 0x5432 # -0x5F46 0x5482 # -0x5F47 0x5494 # -0x5F48 0x5477 # -0x5F49 0x5471 # -0x5F4A 0x5464 # -0x5F4B 0x549A # -0x5F4C 0x549B # -0x5F4D 0x5484 # -0x5F4E 0x5476 # -0x5F4F 0x5466 # -0x5F50 0x549D # -0x5F51 0x54D0 # -0x5F52 0x54AD # -0x5F53 0x54C2 # -0x5F54 0x54B4 # -0x5F55 0x54D2 # -0x5F56 0x54A7 # -0x5F57 0x54A6 # -0x5F58 0x54D3 # -0x5F59 0x54D4 # -0x5F5A 0x5472 # -0x5F5B 0x54A3 # -0x5F5C 0x54D5 # -0x5F5D 0x54BB # -0x5F5E 0x54BF # -0x5F5F 0x54CC # -0x5F60 0x54D9 # -0x5F61 0x54DA # -0x5F62 0x54DC # -0x5F63 0x54A9 # -0x5F64 0x54AA # -0x5F65 0x54A4 # -0x5F66 0x54DD # -0x5F67 0x54CF # -0x5F68 0x54DE # -0x5F69 0x551B # -0x5F6A 0x54E7 # -0x5F6B 0x5520 # -0x5F6C 0x54FD # -0x5F6D 0x5514 # -0x5F6E 0x54F3 # -0x5F6F 0x5522 # -0x5F70 0x5523 # -0x5F71 0x550F # -0x5F72 0x5511 # -0x5F73 0x5527 # -0x5F74 0x552A # -0x5F75 0x5567 # -0x5F76 0x558F # -0x5F77 0x55B5 # -0x5F78 0x5549 # -0x5F79 0x556D # -0x5F7A 0x5541 # -0x5F7B 0x5555 # -0x5F7C 0x553F # -0x5F7D 0x5550 # -0x5F7E 0x553C # -0x6021 0x5537 # -0x6022 0x5556 # -0x6023 0x5575 # -0x6024 0x5576 # -0x6025 0x5577 # -0x6026 0x5533 # -0x6027 0x5530 # -0x6028 0x555C # -0x6029 0x558B # -0x602A 0x55D2 # -0x602B 0x5583 # -0x602C 0x55B1 # -0x602D 0x55B9 # -0x602E 0x5588 # -0x602F 0x5581 # -0x6030 0x559F # -0x6031 0x557E # -0x6032 0x55D6 # -0x6033 0x5591 # -0x6034 0x557B # -0x6035 0x55DF # -0x6036 0x55BD # -0x6037 0x55BE # -0x6038 0x5594 # -0x6039 0x5599 # -0x603A 0x55EA # -0x603B 0x55F7 # -0x603C 0x55C9 # -0x603D 0x561F # -0x603E 0x55D1 # -0x603F 0x55EB # -0x6040 0x55EC # -0x6041 0x55D4 # -0x6042 0x55E6 # -0x6043 0x55DD # -0x6044 0x55C4 # -0x6045 0x55EF # -0x6046 0x55E5 # -0x6047 0x55F2 # -0x6048 0x55F3 # -0x6049 0x55CC # -0x604A 0x55CD # -0x604B 0x55E8 # -0x604C 0x55F5 # -0x604D 0x55E4 # -0x604E 0x8F94 # -0x604F 0x561E # -0x6050 0x5608 # -0x6051 0x560C # -0x6052 0x5601 # -0x6053 0x5624 # -0x6054 0x5623 # -0x6055 0x55FE # -0x6056 0x5600 # -0x6057 0x5627 # -0x6058 0x562D # -0x6059 0x5658 # -0x605A 0x5639 # -0x605B 0x5657 # -0x605C 0x562C # -0x605D 0x564D # -0x605E 0x5662 # -0x605F 0x5659 # -0x6060 0x565C # -0x6061 0x564C # -0x6062 0x5654 # -0x6063 0x5686 # -0x6064 0x5664 # -0x6065 0x5671 # -0x6066 0x566B # -0x6067 0x567B # -0x6068 0x567C # -0x6069 0x5685 # -0x606A 0x5693 # -0x606B 0x56AF # -0x606C 0x56D4 # -0x606D 0x56D7 # -0x606E 0x56DD # -0x606F 0x56E1 # -0x6070 0x56F5 # -0x6071 0x56EB # -0x6072 0x56F9 # -0x6073 0x56FF # -0x6074 0x5704 # -0x6075 0x570A # -0x6076 0x5709 # -0x6077 0x571C # -0x6078 0x5E0F # -0x6079 0x5E19 # -0x607A 0x5E14 # -0x607B 0x5E11 # -0x607C 0x5E31 # -0x607D 0x5E3B # -0x607E 0x5E3C # -0x6121 0x5E37 # -0x6122 0x5E44 # -0x6123 0x5E54 # -0x6124 0x5E5B # -0x6125 0x5E5E # -0x6126 0x5E61 # -0x6127 0x5C8C # -0x6128 0x5C7A # -0x6129 0x5C8D # -0x612A 0x5C90 # -0x612B 0x5C96 # -0x612C 0x5C88 # -0x612D 0x5C98 # -0x612E 0x5C99 # -0x612F 0x5C91 # -0x6130 0x5C9A # -0x6131 0x5C9C # -0x6132 0x5CB5 # -0x6133 0x5CA2 # -0x6134 0x5CBD # -0x6135 0x5CAC # -0x6136 0x5CAB # -0x6137 0x5CB1 # -0x6138 0x5CA3 # -0x6139 0x5CC1 # -0x613A 0x5CB7 # -0x613B 0x5CC4 # -0x613C 0x5CD2 # -0x613D 0x5CE4 # -0x613E 0x5CCB # -0x613F 0x5CE5 # -0x6140 0x5D02 # -0x6141 0x5D03 # -0x6142 0x5D27 # -0x6143 0x5D26 # -0x6144 0x5D2E # -0x6145 0x5D24 # -0x6146 0x5D1E # -0x6147 0x5D06 # -0x6148 0x5D1B # -0x6149 0x5D58 # -0x614A 0x5D3E # -0x614B 0x5D34 # -0x614C 0x5D3D # -0x614D 0x5D6C # -0x614E 0x5D5B # -0x614F 0x5D6F # -0x6150 0x5D5D # -0x6151 0x5D6B # -0x6152 0x5D4B # -0x6153 0x5D4A # -0x6154 0x5D69 # -0x6155 0x5D74 # -0x6156 0x5D82 # -0x6157 0x5D99 # -0x6158 0x5D9D # -0x6159 0x8C73 # -0x615A 0x5DB7 # -0x615B 0x5DC5 # -0x615C 0x5F73 # -0x615D 0x5F77 # -0x615E 0x5F82 # -0x615F 0x5F87 # -0x6160 0x5F89 # -0x6161 0x5F8C # -0x6162 0x5F95 # -0x6163 0x5F99 # -0x6164 0x5F9C # -0x6165 0x5FA8 # -0x6166 0x5FAD # -0x6167 0x5FB5 # -0x6168 0x5FBC # -0x6169 0x8862 # -0x616A 0x5F61 # -0x616B 0x72AD # -0x616C 0x72B0 # -0x616D 0x72B4 # -0x616E 0x72B7 # -0x616F 0x72B8 # -0x6170 0x72C3 # -0x6171 0x72C1 # -0x6172 0x72CE # -0x6173 0x72CD # -0x6174 0x72D2 # -0x6175 0x72E8 # -0x6176 0x72EF # -0x6177 0x72E9 # -0x6178 0x72F2 # -0x6179 0x72F4 # -0x617A 0x72F7 # -0x617B 0x7301 # -0x617C 0x72F3 # -0x617D 0x7303 # -0x617E 0x72FA # -0x6221 0x72FB # -0x6222 0x7317 # -0x6223 0x7313 # -0x6224 0x7321 # -0x6225 0x730A # -0x6226 0x731E # -0x6227 0x731D # -0x6228 0x7315 # -0x6229 0x7322 # -0x622A 0x7339 # -0x622B 0x7325 # -0x622C 0x732C # -0x622D 0x7338 # -0x622E 0x7331 # -0x622F 0x7350 # -0x6230 0x734D # -0x6231 0x7357 # -0x6232 0x7360 # -0x6233 0x736C # -0x6234 0x736F # -0x6235 0x737E # -0x6236 0x821B # -0x6237 0x5925 # -0x6238 0x98E7 # -0x6239 0x5924 # -0x623A 0x5902 # -0x623B 0x9963 # -0x623C 0x9967 # -0x623D 0x9968 # -0x623E 0x9969 # -0x623F 0x996A # -0x6240 0x996B # -0x6241 0x996C # -0x6242 0x9974 # -0x6243 0x9977 # -0x6244 0x997D # -0x6245 0x9980 # -0x6246 0x9984 # -0x6247 0x9987 # -0x6248 0x998A # -0x6249 0x998D # -0x624A 0x9990 # -0x624B 0x9991 # -0x624C 0x9993 # -0x624D 0x9994 # -0x624E 0x9995 # -0x624F 0x5E80 # -0x6250 0x5E91 # -0x6251 0x5E8B # -0x6252 0x5E96 # -0x6253 0x5EA5 # -0x6254 0x5EA0 # -0x6255 0x5EB9 # -0x6256 0x5EB5 # -0x6257 0x5EBE # -0x6258 0x5EB3 # -0x6259 0x8D53 # -0x625A 0x5ED2 # -0x625B 0x5ED1 # -0x625C 0x5EDB # -0x625D 0x5EE8 # -0x625E 0x5EEA # -0x625F 0x81BA # -0x6260 0x5FC4 # -0x6261 0x5FC9 # -0x6262 0x5FD6 # -0x6263 0x5FCF # -0x6264 0x6003 # -0x6265 0x5FEE # -0x6266 0x6004 # -0x6267 0x5FE1 # -0x6268 0x5FE4 # -0x6269 0x5FFE # -0x626A 0x6005 # -0x626B 0x6006 # -0x626C 0x5FEA # -0x626D 0x5FED # -0x626E 0x5FF8 # -0x626F 0x6019 # -0x6270 0x6035 # -0x6271 0x6026 # -0x6272 0x601B # -0x6273 0x600F # -0x6274 0x600D # -0x6275 0x6029 # -0x6276 0x602B # -0x6277 0x600A # -0x6278 0x603F # -0x6279 0x6021 # -0x627A 0x6078 # -0x627B 0x6079 # -0x627C 0x607B # -0x627D 0x607A # -0x627E 0x6042 # -0x6321 0x606A # -0x6322 0x607D # -0x6323 0x6096 # -0x6324 0x609A # -0x6325 0x60AD # -0x6326 0x609D # -0x6327 0x6083 # -0x6328 0x6092 # -0x6329 0x608C # -0x632A 0x609B # -0x632B 0x60EC # -0x632C 0x60BB # -0x632D 0x60B1 # -0x632E 0x60DD # -0x632F 0x60D8 # -0x6330 0x60C6 # -0x6331 0x60DA # -0x6332 0x60B4 # -0x6333 0x6120 # -0x6334 0x6126 # -0x6335 0x6115 # -0x6336 0x6123 # -0x6337 0x60F4 # -0x6338 0x6100 # -0x6339 0x610E # -0x633A 0x612B # -0x633B 0x614A # -0x633C 0x6175 # -0x633D 0x61AC # -0x633E 0x6194 # -0x633F 0x61A7 # -0x6340 0x61B7 # -0x6341 0x61D4 # -0x6342 0x61F5 # -0x6343 0x5FDD # -0x6344 0x96B3 # -0x6345 0x95E9 # -0x6346 0x95EB # -0x6347 0x95F1 # -0x6348 0x95F3 # -0x6349 0x95F5 # -0x634A 0x95F6 # -0x634B 0x95FC # -0x634C 0x95FE # -0x634D 0x9603 # -0x634E 0x9604 # -0x634F 0x9606 # -0x6350 0x9608 # -0x6351 0x960A # -0x6352 0x960B # -0x6353 0x960C # -0x6354 0x960D # -0x6355 0x960F # -0x6356 0x9612 # -0x6357 0x9615 # -0x6358 0x9616 # -0x6359 0x9617 # -0x635A 0x9619 # -0x635B 0x961A # -0x635C 0x4E2C # -0x635D 0x723F # -0x635E 0x6215 # -0x635F 0x6C35 # -0x6360 0x6C54 # -0x6361 0x6C5C # -0x6362 0x6C4A # -0x6363 0x6CA3 # -0x6364 0x6C85 # -0x6365 0x6C90 # -0x6366 0x6C94 # -0x6367 0x6C8C # -0x6368 0x6C68 # -0x6369 0x6C69 # -0x636A 0x6C74 # -0x636B 0x6C76 # -0x636C 0x6C86 # -0x636D 0x6CA9 # -0x636E 0x6CD0 # -0x636F 0x6CD4 # -0x6370 0x6CAD # -0x6371 0x6CF7 # -0x6372 0x6CF8 # -0x6373 0x6CF1 # -0x6374 0x6CD7 # -0x6375 0x6CB2 # -0x6376 0x6CE0 # -0x6377 0x6CD6 # -0x6378 0x6CFA # -0x6379 0x6CEB # -0x637A 0x6CEE # -0x637B 0x6CB1 # -0x637C 0x6CD3 # -0x637D 0x6CEF # -0x637E 0x6CFE # -0x6421 0x6D39 # -0x6422 0x6D27 # -0x6423 0x6D0C # -0x6424 0x6D43 # -0x6425 0x6D48 # -0x6426 0x6D07 # -0x6427 0x6D04 # -0x6428 0x6D19 # -0x6429 0x6D0E # -0x642A 0x6D2B # -0x642B 0x6D4D # -0x642C 0x6D2E # -0x642D 0x6D35 # -0x642E 0x6D1A # -0x642F 0x6D4F # -0x6430 0x6D52 # -0x6431 0x6D54 # -0x6432 0x6D33 # -0x6433 0x6D91 # -0x6434 0x6D6F # -0x6435 0x6D9E # -0x6436 0x6DA0 # -0x6437 0x6D5E # -0x6438 0x6D93 # -0x6439 0x6D94 # -0x643A 0x6D5C # -0x643B 0x6D60 # -0x643C 0x6D7C # -0x643D 0x6D63 # -0x643E 0x6E1A # -0x643F 0x6DC7 # -0x6440 0x6DC5 # -0x6441 0x6DDE # -0x6442 0x6E0E # -0x6443 0x6DBF # -0x6444 0x6DE0 # -0x6445 0x6E11 # -0x6446 0x6DE6 # -0x6447 0x6DDD # -0x6448 0x6DD9 # -0x6449 0x6E16 # -0x644A 0x6DAB # -0x644B 0x6E0C # -0x644C 0x6DAE # -0x644D 0x6E2B # -0x644E 0x6E6E # -0x644F 0x6E4E # -0x6450 0x6E6B # -0x6451 0x6EB2 # -0x6452 0x6E5F # -0x6453 0x6E86 # -0x6454 0x6E53 # -0x6455 0x6E54 # -0x6456 0x6E32 # -0x6457 0x6E25 # -0x6458 0x6E44 # -0x6459 0x6EDF # -0x645A 0x6EB1 # -0x645B 0x6E98 # -0x645C 0x6EE0 # -0x645D 0x6F2D # -0x645E 0x6EE2 # -0x645F 0x6EA5 # -0x6460 0x6EA7 # -0x6461 0x6EBD # -0x6462 0x6EBB # -0x6463 0x6EB7 # -0x6464 0x6ED7 # -0x6465 0x6EB4 # -0x6466 0x6ECF # -0x6467 0x6E8F # -0x6468 0x6EC2 # -0x6469 0x6E9F # -0x646A 0x6F62 # -0x646B 0x6F46 # -0x646C 0x6F47 # -0x646D 0x6F24 # -0x646E 0x6F15 # -0x646F 0x6EF9 # -0x6470 0x6F2F # -0x6471 0x6F36 # -0x6472 0x6F4B # -0x6473 0x6F74 # -0x6474 0x6F2A # -0x6475 0x6F09 # -0x6476 0x6F29 # -0x6477 0x6F89 # -0x6478 0x6F8D # -0x6479 0x6F8C # -0x647A 0x6F78 # -0x647B 0x6F72 # -0x647C 0x6F7C # -0x647D 0x6F7A # -0x647E 0x6FD1 # -0x6521 0x6FC9 # -0x6522 0x6FA7 # -0x6523 0x6FB9 # -0x6524 0x6FB6 # -0x6525 0x6FC2 # -0x6526 0x6FE1 # -0x6527 0x6FEE # -0x6528 0x6FDE # -0x6529 0x6FE0 # -0x652A 0x6FEF # -0x652B 0x701A # -0x652C 0x7023 # -0x652D 0x701B # -0x652E 0x7039 # -0x652F 0x7035 # -0x6530 0x704F # -0x6531 0x705E # -0x6532 0x5B80 # -0x6533 0x5B84 # -0x6534 0x5B95 # -0x6535 0x5B93 # -0x6536 0x5BA5 # -0x6537 0x5BB8 # -0x6538 0x752F # -0x6539 0x9A9E # -0x653A 0x6434 # -0x653B 0x5BE4 # -0x653C 0x5BEE # -0x653D 0x8930 # -0x653E 0x5BF0 # -0x653F 0x8E47 # -0x6540 0x8B07 # -0x6541 0x8FB6 # -0x6542 0x8FD3 # -0x6543 0x8FD5 # -0x6544 0x8FE5 # -0x6545 0x8FEE # -0x6546 0x8FE4 # -0x6547 0x8FE9 # -0x6548 0x8FE6 # -0x6549 0x8FF3 # -0x654A 0x8FE8 # -0x654B 0x9005 # -0x654C 0x9004 # -0x654D 0x900B # -0x654E 0x9026 # -0x654F 0x9011 # -0x6550 0x900D # -0x6551 0x9016 # -0x6552 0x9021 # -0x6553 0x9035 # -0x6554 0x9036 # -0x6555 0x902D # -0x6556 0x902F # -0x6557 0x9044 # -0x6558 0x9051 # -0x6559 0x9052 # -0x655A 0x9050 # -0x655B 0x9068 # -0x655C 0x9058 # -0x655D 0x9062 # -0x655E 0x905B # -0x655F 0x66B9 # -0x6560 0x9074 # -0x6561 0x907D # -0x6562 0x9082 # -0x6563 0x9088 # -0x6564 0x9083 # -0x6565 0x908B # -0x6566 0x5F50 # -0x6567 0x5F57 # -0x6568 0x5F56 # -0x6569 0x5F58 # -0x656A 0x5C3B # -0x656B 0x54AB # -0x656C 0x5C50 # -0x656D 0x5C59 # -0x656E 0x5B71 # -0x656F 0x5C63 # -0x6570 0x5C66 # -0x6571 0x7FBC # -0x6572 0x5F2A # -0x6573 0x5F29 # -0x6574 0x5F2D # -0x6575 0x8274 # -0x6576 0x5F3C # -0x6577 0x9B3B # -0x6578 0x5C6E # -0x6579 0x5981 # -0x657A 0x5983 # -0x657B 0x598D # -0x657C 0x59A9 # -0x657D 0x59AA # -0x657E 0x59A3 # -0x6621 0x5997 # -0x6622 0x59CA # -0x6623 0x59AB # -0x6624 0x599E # -0x6625 0x59A4 # -0x6626 0x59D2 # -0x6627 0x59B2 # -0x6628 0x59AF # -0x6629 0x59D7 # -0x662A 0x59BE # -0x662B 0x5A05 # -0x662C 0x5A06 # -0x662D 0x59DD # -0x662E 0x5A08 # -0x662F 0x59E3 # -0x6630 0x59D8 # -0x6631 0x59F9 # -0x6632 0x5A0C # -0x6633 0x5A09 # -0x6634 0x5A32 # -0x6635 0x5A34 # -0x6636 0x5A11 # -0x6637 0x5A23 # -0x6638 0x5A13 # -0x6639 0x5A40 # -0x663A 0x5A67 # -0x663B 0x5A4A # -0x663C 0x5A55 # -0x663D 0x5A3C # -0x663E 0x5A62 # -0x663F 0x5A75 # -0x6640 0x80EC # -0x6641 0x5AAA # -0x6642 0x5A9B # -0x6643 0x5A77 # -0x6644 0x5A7A # -0x6645 0x5ABE # -0x6646 0x5AEB # -0x6647 0x5AB2 # -0x6648 0x5AD2 # -0x6649 0x5AD4 # -0x664A 0x5AB8 # -0x664B 0x5AE0 # -0x664C 0x5AE3 # -0x664D 0x5AF1 # -0x664E 0x5AD6 # -0x664F 0x5AE6 # -0x6650 0x5AD8 # -0x6651 0x5ADC # -0x6652 0x5B09 # -0x6653 0x5B17 # -0x6654 0x5B16 # -0x6655 0x5B32 # -0x6656 0x5B37 # -0x6657 0x5B40 # -0x6658 0x5C15 # -0x6659 0x5C1C # -0x665A 0x5B5A # -0x665B 0x5B65 # -0x665C 0x5B73 # -0x665D 0x5B51 # -0x665E 0x5B53 # -0x665F 0x5B62 # -0x6660 0x9A75 # -0x6661 0x9A77 # -0x6662 0x9A78 # -0x6663 0x9A7A # -0x6664 0x9A7F # -0x6665 0x9A7D # -0x6666 0x9A80 # -0x6667 0x9A81 # -0x6668 0x9A85 # -0x6669 0x9A88 # -0x666A 0x9A8A # -0x666B 0x9A90 # -0x666C 0x9A92 # -0x666D 0x9A93 # -0x666E 0x9A96 # -0x666F 0x9A98 # -0x6670 0x9A9B # -0x6671 0x9A9C # -0x6672 0x9A9D # -0x6673 0x9A9F # -0x6674 0x9AA0 # -0x6675 0x9AA2 # -0x6676 0x9AA3 # -0x6677 0x9AA5 # -0x6678 0x9AA7 # -0x6679 0x7E9F # -0x667A 0x7EA1 # -0x667B 0x7EA3 # -0x667C 0x7EA5 # -0x667D 0x7EA8 # -0x667E 0x7EA9 # -0x6721 0x7EAD # -0x6722 0x7EB0 # -0x6723 0x7EBE # -0x6724 0x7EC0 # -0x6725 0x7EC1 # -0x6726 0x7EC2 # -0x6727 0x7EC9 # -0x6728 0x7ECB # -0x6729 0x7ECC # -0x672A 0x7ED0 # -0x672B 0x7ED4 # -0x672C 0x7ED7 # -0x672D 0x7EDB # -0x672E 0x7EE0 # -0x672F 0x7EE1 # -0x6730 0x7EE8 # -0x6731 0x7EEB # -0x6732 0x7EEE # -0x6733 0x7EEF # -0x6734 0x7EF1 # -0x6735 0x7EF2 # -0x6736 0x7F0D # -0x6737 0x7EF6 # -0x6738 0x7EFA # -0x6739 0x7EFB # -0x673A 0x7EFE # -0x673B 0x7F01 # -0x673C 0x7F02 # -0x673D 0x7F03 # -0x673E 0x7F07 # -0x673F 0x7F08 # -0x6740 0x7F0B # -0x6741 0x7F0C # -0x6742 0x7F0F # -0x6743 0x7F11 # -0x6744 0x7F12 # -0x6745 0x7F17 # -0x6746 0x7F19 # -0x6747 0x7F1C # -0x6748 0x7F1B # -0x6749 0x7F1F # -0x674A 0x7F21 # -0x674B 0x7F22 # -0x674C 0x7F23 # -0x674D 0x7F24 # -0x674E 0x7F25 # -0x674F 0x7F26 # -0x6750 0x7F27 # -0x6751 0x7F2A # -0x6752 0x7F2B # -0x6753 0x7F2C # -0x6754 0x7F2D # -0x6755 0x7F2F # -0x6756 0x7F30 # -0x6757 0x7F31 # -0x6758 0x7F32 # -0x6759 0x7F33 # -0x675A 0x7F35 # -0x675B 0x5E7A # -0x675C 0x757F # -0x675D 0x5DDB # -0x675E 0x753E # -0x675F 0x9095 # -0x6760 0x738E # -0x6761 0x7391 # -0x6762 0x73AE # -0x6763 0x73A2 # -0x6764 0x739F # -0x6765 0x73CF # -0x6766 0x73C2 # -0x6767 0x73D1 # -0x6768 0x73B7 # -0x6769 0x73B3 # -0x676A 0x73C0 # -0x676B 0x73C9 # -0x676C 0x73C8 # -0x676D 0x73E5 # -0x676E 0x73D9 # -0x676F 0x987C # -0x6770 0x740A # -0x6771 0x73E9 # -0x6772 0x73E7 # -0x6773 0x73DE # -0x6774 0x73BA # -0x6775 0x73F2 # -0x6776 0x740F # -0x6777 0x742A # -0x6778 0x745B # -0x6779 0x7426 # -0x677A 0x7425 # -0x677B 0x7428 # -0x677C 0x7430 # -0x677D 0x742E # -0x677E 0x742C # -0x6821 0x741B # -0x6822 0x741A # -0x6823 0x7441 # -0x6824 0x745C # -0x6825 0x7457 # -0x6826 0x7455 # -0x6827 0x7459 # -0x6828 0x7477 # -0x6829 0x746D # -0x682A 0x747E # -0x682B 0x749C # -0x682C 0x748E # -0x682D 0x7480 # -0x682E 0x7481 # -0x682F 0x7487 # -0x6830 0x748B # -0x6831 0x749E # -0x6832 0x74A8 # -0x6833 0x74A9 # -0x6834 0x7490 # -0x6835 0x74A7 # -0x6836 0x74D2 # -0x6837 0x74BA # -0x6838 0x97EA # -0x6839 0x97EB # -0x683A 0x97EC # -0x683B 0x674C # -0x683C 0x6753 # -0x683D 0x675E # -0x683E 0x6748 # -0x683F 0x6769 # -0x6840 0x67A5 # -0x6841 0x6787 # -0x6842 0x676A # -0x6843 0x6773 # -0x6844 0x6798 # -0x6845 0x67A7 # -0x6846 0x6775 # -0x6847 0x67A8 # -0x6848 0x679E # -0x6849 0x67AD # -0x684A 0x678B # -0x684B 0x6777 # -0x684C 0x677C # -0x684D 0x67F0 # -0x684E 0x6809 # -0x684F 0x67D8 # -0x6850 0x680A # -0x6851 0x67E9 # -0x6852 0x67B0 # -0x6853 0x680C # -0x6854 0x67D9 # -0x6855 0x67B5 # -0x6856 0x67DA # -0x6857 0x67B3 # -0x6858 0x67DD # -0x6859 0x6800 # -0x685A 0x67C3 # -0x685B 0x67B8 # -0x685C 0x67E2 # -0x685D 0x680E # -0x685E 0x67C1 # -0x685F 0x67FD # -0x6860 0x6832 # -0x6861 0x6833 # -0x6862 0x6860 # -0x6863 0x6861 # -0x6864 0x684E # -0x6865 0x6862 # -0x6866 0x6844 # -0x6867 0x6864 # -0x6868 0x6883 # -0x6869 0x681D # -0x686A 0x6855 # -0x686B 0x6866 # -0x686C 0x6841 # -0x686D 0x6867 # -0x686E 0x6840 # -0x686F 0x683E # -0x6870 0x684A # -0x6871 0x6849 # -0x6872 0x6829 # -0x6873 0x68B5 # -0x6874 0x688F # -0x6875 0x6874 # -0x6876 0x6877 # -0x6877 0x6893 # -0x6878 0x686B # -0x6879 0x68C2 # -0x687A 0x696E # -0x687B 0x68FC # -0x687C 0x691F # -0x687D 0x6920 # -0x687E 0x68F9 # -0x6921 0x6924 # -0x6922 0x68F0 # -0x6923 0x690B # -0x6924 0x6901 # -0x6925 0x6957 # -0x6926 0x68E3 # -0x6927 0x6910 # -0x6928 0x6971 # -0x6929 0x6939 # -0x692A 0x6960 # -0x692B 0x6942 # -0x692C 0x695D # -0x692D 0x6984 # -0x692E 0x696B # -0x692F 0x6980 # -0x6930 0x6998 # -0x6931 0x6978 # -0x6932 0x6934 # -0x6933 0x69CC # -0x6934 0x6987 # -0x6935 0x6988 # -0x6936 0x69CE # -0x6937 0x6989 # -0x6938 0x6966 # -0x6939 0x6963 # -0x693A 0x6979 # -0x693B 0x699B # -0x693C 0x69A7 # -0x693D 0x69BB # -0x693E 0x69AB # -0x693F 0x69AD # -0x6940 0x69D4 # -0x6941 0x69B1 # -0x6942 0x69C1 # -0x6943 0x69CA # -0x6944 0x69DF # -0x6945 0x6995 # -0x6946 0x69E0 # -0x6947 0x698D # -0x6948 0x69FF # -0x6949 0x6A2F # -0x694A 0x69ED # -0x694B 0x6A17 # -0x694C 0x6A18 # -0x694D 0x6A65 # -0x694E 0x69F2 # -0x694F 0x6A44 # -0x6950 0x6A3E # -0x6951 0x6AA0 # -0x6952 0x6A50 # -0x6953 0x6A5B # -0x6954 0x6A35 # -0x6955 0x6A8E # -0x6956 0x6A79 # -0x6957 0x6A3D # -0x6958 0x6A28 # -0x6959 0x6A58 # -0x695A 0x6A7C # -0x695B 0x6A91 # -0x695C 0x6A90 # -0x695D 0x6AA9 # -0x695E 0x6A97 # -0x695F 0x6AAB # -0x6960 0x7337 # -0x6961 0x7352 # -0x6962 0x6B81 # -0x6963 0x6B82 # -0x6964 0x6B87 # -0x6965 0x6B84 # -0x6966 0x6B92 # -0x6967 0x6B93 # -0x6968 0x6B8D # -0x6969 0x6B9A # -0x696A 0x6B9B # -0x696B 0x6BA1 # -0x696C 0x6BAA # -0x696D 0x8F6B # -0x696E 0x8F6D # -0x696F 0x8F71 # -0x6970 0x8F72 # -0x6971 0x8F73 # -0x6972 0x8F75 # -0x6973 0x8F76 # -0x6974 0x8F78 # -0x6975 0x8F77 # -0x6976 0x8F79 # -0x6977 0x8F7A # -0x6978 0x8F7C # -0x6979 0x8F7E # -0x697A 0x8F81 # -0x697B 0x8F82 # -0x697C 0x8F84 # -0x697D 0x8F87 # -0x697E 0x8F8B # -0x6A21 0x8F8D # -0x6A22 0x8F8E # -0x6A23 0x8F8F # -0x6A24 0x8F98 # -0x6A25 0x8F9A # -0x6A26 0x8ECE # -0x6A27 0x620B # -0x6A28 0x6217 # -0x6A29 0x621B # -0x6A2A 0x621F # -0x6A2B 0x6222 # -0x6A2C 0x6221 # -0x6A2D 0x6225 # -0x6A2E 0x6224 # -0x6A2F 0x622C # -0x6A30 0x81E7 # -0x6A31 0x74EF # -0x6A32 0x74F4 # -0x6A33 0x74FF # -0x6A34 0x750F # -0x6A35 0x7511 # -0x6A36 0x7513 # -0x6A37 0x6534 # -0x6A38 0x65EE # -0x6A39 0x65EF # -0x6A3A 0x65F0 # -0x6A3B 0x660A # -0x6A3C 0x6619 # -0x6A3D 0x6772 # -0x6A3E 0x6603 # -0x6A3F 0x6615 # -0x6A40 0x6600 # -0x6A41 0x7085 # -0x6A42 0x66F7 # -0x6A43 0x661D # -0x6A44 0x6634 # -0x6A45 0x6631 # -0x6A46 0x6636 # -0x6A47 0x6635 # -0x6A48 0x8006 # -0x6A49 0x665F # -0x6A4A 0x6654 # -0x6A4B 0x6641 # -0x6A4C 0x664F # -0x6A4D 0x6656 # -0x6A4E 0x6661 # -0x6A4F 0x6657 # -0x6A50 0x6677 # -0x6A51 0x6684 # -0x6A52 0x668C # -0x6A53 0x66A7 # -0x6A54 0x669D # -0x6A55 0x66BE # -0x6A56 0x66DB # -0x6A57 0x66DC # -0x6A58 0x66E6 # -0x6A59 0x66E9 # -0x6A5A 0x8D32 # -0x6A5B 0x8D33 # -0x6A5C 0x8D36 # -0x6A5D 0x8D3B # -0x6A5E 0x8D3D # -0x6A5F 0x8D40 # -0x6A60 0x8D45 # -0x6A61 0x8D46 # -0x6A62 0x8D48 # -0x6A63 0x8D49 # -0x6A64 0x8D47 # -0x6A65 0x8D4D # -0x6A66 0x8D55 # -0x6A67 0x8D59 # -0x6A68 0x89C7 # -0x6A69 0x89CA # -0x6A6A 0x89CB # -0x6A6B 0x89CC # -0x6A6C 0x89CE # -0x6A6D 0x89CF # -0x6A6E 0x89D0 # -0x6A6F 0x89D1 # -0x6A70 0x726E # -0x6A71 0x729F # -0x6A72 0x725D # -0x6A73 0x7266 # -0x6A74 0x726F # -0x6A75 0x727E # -0x6A76 0x727F # -0x6A77 0x7284 # -0x6A78 0x728B # -0x6A79 0x728D # -0x6A7A 0x728F # -0x6A7B 0x7292 # -0x6A7C 0x6308 # -0x6A7D 0x6332 # -0x6A7E 0x63B0 # -0x6B21 0x643F # -0x6B22 0x64D8 # -0x6B23 0x8004 # -0x6B24 0x6BEA # -0x6B25 0x6BF3 # -0x6B26 0x6BFD # -0x6B27 0x6BF5 # -0x6B28 0x6BF9 # -0x6B29 0x6C05 # -0x6B2A 0x6C07 # -0x6B2B 0x6C06 # -0x6B2C 0x6C0D # -0x6B2D 0x6C15 # -0x6B2E 0x6C18 # -0x6B2F 0x6C19 # -0x6B30 0x6C1A # -0x6B31 0x6C21 # -0x6B32 0x6C29 # -0x6B33 0x6C24 # -0x6B34 0x6C2A # -0x6B35 0x6C32 # -0x6B36 0x6535 # -0x6B37 0x6555 # -0x6B38 0x656B # -0x6B39 0x724D # -0x6B3A 0x7252 # -0x6B3B 0x7256 # -0x6B3C 0x7230 # -0x6B3D 0x8662 # -0x6B3E 0x5216 # -0x6B3F 0x809F # -0x6B40 0x809C # -0x6B41 0x8093 # -0x6B42 0x80BC # -0x6B43 0x670A # -0x6B44 0x80BD # -0x6B45 0x80B1 # -0x6B46 0x80AB # -0x6B47 0x80AD # -0x6B48 0x80B4 # -0x6B49 0x80B7 # -0x6B4A 0x80E7 # -0x6B4B 0x80E8 # -0x6B4C 0x80E9 # -0x6B4D 0x80EA # -0x6B4E 0x80DB # -0x6B4F 0x80C2 # -0x6B50 0x80C4 # -0x6B51 0x80D9 # -0x6B52 0x80CD # -0x6B53 0x80D7 # -0x6B54 0x6710 # -0x6B55 0x80DD # -0x6B56 0x80EB # -0x6B57 0x80F1 # -0x6B58 0x80F4 # -0x6B59 0x80ED # -0x6B5A 0x810D # -0x6B5B 0x810E # -0x6B5C 0x80F2 # -0x6B5D 0x80FC # -0x6B5E 0x6715 # -0x6B5F 0x8112 # -0x6B60 0x8C5A # -0x6B61 0x8136 # -0x6B62 0x811E # -0x6B63 0x812C # -0x6B64 0x8118 # -0x6B65 0x8132 # -0x6B66 0x8148 # -0x6B67 0x814C # -0x6B68 0x8153 # -0x6B69 0x8174 # -0x6B6A 0x8159 # -0x6B6B 0x815A # -0x6B6C 0x8171 # -0x6B6D 0x8160 # -0x6B6E 0x8169 # -0x6B6F 0x817C # -0x6B70 0x817D # -0x6B71 0x816D # -0x6B72 0x8167 # -0x6B73 0x584D # -0x6B74 0x5AB5 # -0x6B75 0x8188 # -0x6B76 0x8182 # -0x6B77 0x8191 # -0x6B78 0x6ED5 # -0x6B79 0x81A3 # -0x6B7A 0x81AA # -0x6B7B 0x81CC # -0x6B7C 0x6726 # -0x6B7D 0x81CA # -0x6B7E 0x81BB # -0x6C21 0x81C1 # -0x6C22 0x81A6 # -0x6C23 0x6B24 # -0x6C24 0x6B37 # -0x6C25 0x6B39 # -0x6C26 0x6B43 # -0x6C27 0x6B46 # -0x6C28 0x6B59 # -0x6C29 0x98D1 # -0x6C2A 0x98D2 # -0x6C2B 0x98D3 # -0x6C2C 0x98D5 # -0x6C2D 0x98D9 # -0x6C2E 0x98DA # -0x6C2F 0x6BB3 # -0x6C30 0x5F40 # -0x6C31 0x6BC2 # -0x6C32 0x89F3 # -0x6C33 0x6590 # -0x6C34 0x9F51 # -0x6C35 0x6593 # -0x6C36 0x65BC # -0x6C37 0x65C6 # -0x6C38 0x65C4 # -0x6C39 0x65C3 # -0x6C3A 0x65CC # -0x6C3B 0x65CE # -0x6C3C 0x65D2 # -0x6C3D 0x65D6 # -0x6C3E 0x7080 # -0x6C3F 0x709C # -0x6C40 0x7096 # -0x6C41 0x709D # -0x6C42 0x70BB # -0x6C43 0x70C0 # -0x6C44 0x70B7 # -0x6C45 0x70AB # -0x6C46 0x70B1 # -0x6C47 0x70E8 # -0x6C48 0x70CA # -0x6C49 0x7110 # -0x6C4A 0x7113 # -0x6C4B 0x7116 # -0x6C4C 0x712F # -0x6C4D 0x7131 # -0x6C4E 0x7173 # -0x6C4F 0x715C # -0x6C50 0x7168 # -0x6C51 0x7145 # -0x6C52 0x7172 # -0x6C53 0x714A # -0x6C54 0x7178 # -0x6C55 0x717A # -0x6C56 0x7198 # -0x6C57 0x71B3 # -0x6C58 0x71B5 # -0x6C59 0x71A8 # -0x6C5A 0x71A0 # -0x6C5B 0x71E0 # -0x6C5C 0x71D4 # -0x6C5D 0x71E7 # -0x6C5E 0x71F9 # -0x6C5F 0x721D # -0x6C60 0x7228 # -0x6C61 0x706C # -0x6C62 0x7118 # -0x6C63 0x7166 # -0x6C64 0x71B9 # -0x6C65 0x623E # -0x6C66 0x623D # -0x6C67 0x6243 # -0x6C68 0x6248 # -0x6C69 0x6249 # -0x6C6A 0x793B # -0x6C6B 0x7940 # -0x6C6C 0x7946 # -0x6C6D 0x7949 # -0x6C6E 0x795B # -0x6C6F 0x795C # -0x6C70 0x7953 # -0x6C71 0x795A # -0x6C72 0x7962 # -0x6C73 0x7957 # -0x6C74 0x7960 # -0x6C75 0x796F # -0x6C76 0x7967 # -0x6C77 0x797A # -0x6C78 0x7985 # -0x6C79 0x798A # -0x6C7A 0x799A # -0x6C7B 0x79A7 # -0x6C7C 0x79B3 # -0x6C7D 0x5FD1 # -0x6C7E 0x5FD0 # -0x6D21 0x603C # -0x6D22 0x605D # -0x6D23 0x605A # -0x6D24 0x6067 # -0x6D25 0x6041 # -0x6D26 0x6059 # -0x6D27 0x6063 # -0x6D28 0x60AB # -0x6D29 0x6106 # -0x6D2A 0x610D # -0x6D2B 0x615D # -0x6D2C 0x61A9 # -0x6D2D 0x619D # -0x6D2E 0x61CB # -0x6D2F 0x61D1 # -0x6D30 0x6206 # -0x6D31 0x8080 # -0x6D32 0x807F # -0x6D33 0x6C93 # -0x6D34 0x6CF6 # -0x6D35 0x6DFC # -0x6D36 0x77F6 # -0x6D37 0x77F8 # -0x6D38 0x7800 # -0x6D39 0x7809 # -0x6D3A 0x7817 # -0x6D3B 0x7818 # -0x6D3C 0x7811 # -0x6D3D 0x65AB # -0x6D3E 0x782D # -0x6D3F 0x781C # -0x6D40 0x781D # -0x6D41 0x7839 # -0x6D42 0x783A # -0x6D43 0x783B # -0x6D44 0x781F # -0x6D45 0x783C # -0x6D46 0x7825 # -0x6D47 0x782C # -0x6D48 0x7823 # -0x6D49 0x7829 # -0x6D4A 0x784E # -0x6D4B 0x786D # -0x6D4C 0x7856 # -0x6D4D 0x7857 # -0x6D4E 0x7826 # -0x6D4F 0x7850 # -0x6D50 0x7847 # -0x6D51 0x784C # -0x6D52 0x786A # -0x6D53 0x789B # -0x6D54 0x7893 # -0x6D55 0x789A # -0x6D56 0x7887 # -0x6D57 0x789C # -0x6D58 0x78A1 # -0x6D59 0x78A3 # -0x6D5A 0x78B2 # -0x6D5B 0x78B9 # -0x6D5C 0x78A5 # -0x6D5D 0x78D4 # -0x6D5E 0x78D9 # -0x6D5F 0x78C9 # -0x6D60 0x78EC # -0x6D61 0x78F2 # -0x6D62 0x7905 # -0x6D63 0x78F4 # -0x6D64 0x7913 # -0x6D65 0x7924 # -0x6D66 0x791E # -0x6D67 0x7934 # -0x6D68 0x9F9B # -0x6D69 0x9EF9 # -0x6D6A 0x9EFB # -0x6D6B 0x9EFC # -0x6D6C 0x76F1 # -0x6D6D 0x7704 # -0x6D6E 0x770D # -0x6D6F 0x76F9 # -0x6D70 0x7707 # -0x6D71 0x7708 # -0x6D72 0x771A # -0x6D73 0x7722 # -0x6D74 0x7719 # -0x6D75 0x772D # -0x6D76 0x7726 # -0x6D77 0x7735 # -0x6D78 0x7738 # -0x6D79 0x7750 # -0x6D7A 0x7751 # -0x6D7B 0x7747 # -0x6D7C 0x7743 # -0x6D7D 0x775A # -0x6D7E 0x7768 # -0x6E21 0x7762 # -0x6E22 0x7765 # -0x6E23 0x777F # -0x6E24 0x778D # -0x6E25 0x777D # -0x6E26 0x7780 # -0x6E27 0x778C # -0x6E28 0x7791 # -0x6E29 0x779F # -0x6E2A 0x77A0 # -0x6E2B 0x77B0 # -0x6E2C 0x77B5 # -0x6E2D 0x77BD # -0x6E2E 0x753A # -0x6E2F 0x7540 # -0x6E30 0x754E # -0x6E31 0x754B # -0x6E32 0x7548 # -0x6E33 0x755B # -0x6E34 0x7572 # -0x6E35 0x7579 # -0x6E36 0x7583 # -0x6E37 0x7F58 # -0x6E38 0x7F61 # -0x6E39 0x7F5F # -0x6E3A 0x8A48 # -0x6E3B 0x7F68 # -0x6E3C 0x7F74 # -0x6E3D 0x7F71 # -0x6E3E 0x7F79 # -0x6E3F 0x7F81 # -0x6E40 0x7F7E # -0x6E41 0x76CD # -0x6E42 0x76E5 # -0x6E43 0x8832 # -0x6E44 0x9485 # -0x6E45 0x9486 # -0x6E46 0x9487 # -0x6E47 0x948B # -0x6E48 0x948A # -0x6E49 0x948C # -0x6E4A 0x948D # -0x6E4B 0x948F # -0x6E4C 0x9490 # -0x6E4D 0x9494 # -0x6E4E 0x9497 # -0x6E4F 0x9495 # -0x6E50 0x949A # -0x6E51 0x949B # -0x6E52 0x949C # -0x6E53 0x94A3 # -0x6E54 0x94A4 # -0x6E55 0x94AB # -0x6E56 0x94AA # -0x6E57 0x94AD # -0x6E58 0x94AC # -0x6E59 0x94AF # -0x6E5A 0x94B0 # -0x6E5B 0x94B2 # -0x6E5C 0x94B4 # -0x6E5D 0x94B6 # -0x6E5E 0x94B7 # -0x6E5F 0x94B8 # -0x6E60 0x94B9 # -0x6E61 0x94BA # -0x6E62 0x94BC # -0x6E63 0x94BD # -0x6E64 0x94BF # -0x6E65 0x94C4 # -0x6E66 0x94C8 # -0x6E67 0x94C9 # -0x6E68 0x94CA # -0x6E69 0x94CB # -0x6E6A 0x94CC # -0x6E6B 0x94CD # -0x6E6C 0x94CE # -0x6E6D 0x94D0 # -0x6E6E 0x94D1 # -0x6E6F 0x94D2 # -0x6E70 0x94D5 # -0x6E71 0x94D6 # -0x6E72 0x94D7 # -0x6E73 0x94D9 # -0x6E74 0x94D8 # -0x6E75 0x94DB # -0x6E76 0x94DE # -0x6E77 0x94DF # -0x6E78 0x94E0 # -0x6E79 0x94E2 # -0x6E7A 0x94E4 # -0x6E7B 0x94E5 # -0x6E7C 0x94E7 # -0x6E7D 0x94E8 # -0x6E7E 0x94EA # -0x6F21 0x94E9 # -0x6F22 0x94EB # -0x6F23 0x94EE # -0x6F24 0x94EF # -0x6F25 0x94F3 # -0x6F26 0x94F4 # -0x6F27 0x94F5 # -0x6F28 0x94F7 # -0x6F29 0x94F9 # -0x6F2A 0x94FC # -0x6F2B 0x94FD # -0x6F2C 0x94FF # -0x6F2D 0x9503 # -0x6F2E 0x9502 # -0x6F2F 0x9506 # -0x6F30 0x9507 # -0x6F31 0x9509 # -0x6F32 0x950A # -0x6F33 0x950D # -0x6F34 0x950E # -0x6F35 0x950F # -0x6F36 0x9512 # -0x6F37 0x9513 # -0x6F38 0x9514 # -0x6F39 0x9515 # -0x6F3A 0x9516 # -0x6F3B 0x9518 # -0x6F3C 0x951B # -0x6F3D 0x951D # -0x6F3E 0x951E # -0x6F3F 0x951F # -0x6F40 0x9522 # -0x6F41 0x952A # -0x6F42 0x952B # -0x6F43 0x9529 # -0x6F44 0x952C # -0x6F45 0x9531 # -0x6F46 0x9532 # -0x6F47 0x9534 # -0x6F48 0x9536 # -0x6F49 0x9537 # -0x6F4A 0x9538 # -0x6F4B 0x953C # -0x6F4C 0x953E # -0x6F4D 0x953F # -0x6F4E 0x9542 # -0x6F4F 0x9535 # -0x6F50 0x9544 # -0x6F51 0x9545 # -0x6F52 0x9546 # -0x6F53 0x9549 # -0x6F54 0x954C # -0x6F55 0x954E # -0x6F56 0x954F # -0x6F57 0x9552 # -0x6F58 0x9553 # -0x6F59 0x9554 # -0x6F5A 0x9556 # -0x6F5B 0x9557 # -0x6F5C 0x9558 # -0x6F5D 0x9559 # -0x6F5E 0x955B # -0x6F5F 0x955E # -0x6F60 0x955F # -0x6F61 0x955D # -0x6F62 0x9561 # -0x6F63 0x9562 # -0x6F64 0x9564 # -0x6F65 0x9565 # -0x6F66 0x9566 # -0x6F67 0x9567 # -0x6F68 0x9568 # -0x6F69 0x9569 # -0x6F6A 0x956A # -0x6F6B 0x956B # -0x6F6C 0x956C # -0x6F6D 0x956F # -0x6F6E 0x9571 # -0x6F6F 0x9572 # -0x6F70 0x9573 # -0x6F71 0x953A # -0x6F72 0x77E7 # -0x6F73 0x77EC # -0x6F74 0x96C9 # -0x6F75 0x79D5 # -0x6F76 0x79ED # -0x6F77 0x79E3 # -0x6F78 0x79EB # -0x6F79 0x7A06 # -0x6F7A 0x5D47 # -0x6F7B 0x7A03 # -0x6F7C 0x7A02 # -0x6F7D 0x7A1E # -0x6F7E 0x7A14 # -0x7021 0x7A39 # -0x7022 0x7A37 # -0x7023 0x7A51 # -0x7024 0x9ECF # -0x7025 0x99A5 # -0x7026 0x7A70 # -0x7027 0x7688 # -0x7028 0x768E # -0x7029 0x7693 # -0x702A 0x7699 # -0x702B 0x76A4 # -0x702C 0x74DE # -0x702D 0x74E0 # -0x702E 0x752C # -0x702F 0x9E20 # -0x7030 0x9E22 # -0x7031 0x9E28 # -0x7032 0x9E29 # -0x7033 0x9E2A # -0x7034 0x9E2B # -0x7035 0x9E2C # -0x7036 0x9E32 # -0x7037 0x9E31 # -0x7038 0x9E36 # -0x7039 0x9E38 # -0x703A 0x9E37 # -0x703B 0x9E39 # -0x703C 0x9E3A # -0x703D 0x9E3E # -0x703E 0x9E41 # -0x703F 0x9E42 # -0x7040 0x9E44 # -0x7041 0x9E46 # -0x7042 0x9E47 # -0x7043 0x9E48 # -0x7044 0x9E49 # -0x7045 0x9E4B # -0x7046 0x9E4C # -0x7047 0x9E4E # -0x7048 0x9E51 # -0x7049 0x9E55 # -0x704A 0x9E57 # -0x704B 0x9E5A # -0x704C 0x9E5B # -0x704D 0x9E5C # -0x704E 0x9E5E # -0x704F 0x9E63 # -0x7050 0x9E66 # -0x7051 0x9E67 # -0x7052 0x9E68 # -0x7053 0x9E69 # -0x7054 0x9E6A # -0x7055 0x9E6B # -0x7056 0x9E6C # -0x7057 0x9E71 # -0x7058 0x9E6D # -0x7059 0x9E73 # -0x705A 0x7592 # -0x705B 0x7594 # -0x705C 0x7596 # -0x705D 0x75A0 # -0x705E 0x759D # -0x705F 0x75AC # -0x7060 0x75A3 # -0x7061 0x75B3 # -0x7062 0x75B4 # -0x7063 0x75B8 # -0x7064 0x75C4 # -0x7065 0x75B1 # -0x7066 0x75B0 # -0x7067 0x75C3 # -0x7068 0x75C2 # -0x7069 0x75D6 # -0x706A 0x75CD # -0x706B 0x75E3 # -0x706C 0x75E8 # -0x706D 0x75E6 # -0x706E 0x75E4 # -0x706F 0x75EB # -0x7070 0x75E7 # -0x7071 0x7603 # -0x7072 0x75F1 # -0x7073 0x75FC # -0x7074 0x75FF # -0x7075 0x7610 # -0x7076 0x7600 # -0x7077 0x7605 # -0x7078 0x760C # -0x7079 0x7617 # -0x707A 0x760A # -0x707B 0x7625 # -0x707C 0x7618 # -0x707D 0x7615 # -0x707E 0x7619 # -0x7121 0x761B # -0x7122 0x763C # -0x7123 0x7622 # -0x7124 0x7620 # -0x7125 0x7640 # -0x7126 0x762D # -0x7127 0x7630 # -0x7128 0x763F # -0x7129 0x7635 # -0x712A 0x7643 # -0x712B 0x763E # -0x712C 0x7633 # -0x712D 0x764D # -0x712E 0x765E # -0x712F 0x7654 # -0x7130 0x765C # -0x7131 0x7656 # -0x7132 0x766B # -0x7133 0x766F # -0x7134 0x7FCA # -0x7135 0x7AE6 # -0x7136 0x7A78 # -0x7137 0x7A79 # -0x7138 0x7A80 # -0x7139 0x7A86 # -0x713A 0x7A88 # -0x713B 0x7A95 # -0x713C 0x7AA6 # -0x713D 0x7AA0 # -0x713E 0x7AAC # -0x713F 0x7AA8 # -0x7140 0x7AAD # -0x7141 0x7AB3 # -0x7142 0x8864 # -0x7143 0x8869 # -0x7144 0x8872 # -0x7145 0x887D # -0x7146 0x887F # -0x7147 0x8882 # -0x7148 0x88A2 # -0x7149 0x88C6 # -0x714A 0x88B7 # -0x714B 0x88BC # -0x714C 0x88C9 # -0x714D 0x88E2 # -0x714E 0x88CE # -0x714F 0x88E3 # -0x7150 0x88E5 # -0x7151 0x88F1 # -0x7152 0x891A # -0x7153 0x88FC # -0x7154 0x88E8 # -0x7155 0x88FE # -0x7156 0x88F0 # -0x7157 0x8921 # -0x7158 0x8919 # -0x7159 0x8913 # -0x715A 0x891B # -0x715B 0x890A # -0x715C 0x8934 # -0x715D 0x892B # -0x715E 0x8936 # -0x715F 0x8941 # -0x7160 0x8966 # -0x7161 0x897B # -0x7162 0x758B # -0x7163 0x80E5 # -0x7164 0x76B2 # -0x7165 0x76B4 # -0x7166 0x77DC # -0x7167 0x8012 # -0x7168 0x8014 # -0x7169 0x8016 # -0x716A 0x801C # -0x716B 0x8020 # -0x716C 0x8022 # -0x716D 0x8025 # -0x716E 0x8026 # -0x716F 0x8027 # -0x7170 0x8029 # -0x7171 0x8028 # -0x7172 0x8031 # -0x7173 0x800B # -0x7174 0x8035 # -0x7175 0x8043 # -0x7176 0x8046 # -0x7177 0x804D # -0x7178 0x8052 # -0x7179 0x8069 # -0x717A 0x8071 # -0x717B 0x8983 # -0x717C 0x9878 # -0x717D 0x9880 # -0x717E 0x9883 # -0x7221 0x9889 # -0x7222 0x988C # -0x7223 0x988D # -0x7224 0x988F # -0x7225 0x9894 # -0x7226 0x989A # -0x7227 0x989B # -0x7228 0x989E # -0x7229 0x989F # -0x722A 0x98A1 # -0x722B 0x98A2 # -0x722C 0x98A5 # -0x722D 0x98A6 # -0x722E 0x864D # -0x722F 0x8654 # -0x7230 0x866C # -0x7231 0x866E # -0x7232 0x867F # -0x7233 0x867A # -0x7234 0x867C # -0x7235 0x867B # -0x7236 0x86A8 # -0x7237 0x868D # -0x7238 0x868B # -0x7239 0x86AC # -0x723A 0x869D # -0x723B 0x86A7 # -0x723C 0x86A3 # -0x723D 0x86AA # -0x723E 0x8693 # -0x723F 0x86A9 # -0x7240 0x86B6 # -0x7241 0x86C4 # -0x7242 0x86B5 # -0x7243 0x86CE # -0x7244 0x86B0 # -0x7245 0x86BA # -0x7246 0x86B1 # -0x7247 0x86AF # -0x7248 0x86C9 # -0x7249 0x86CF # -0x724A 0x86B4 # -0x724B 0x86E9 # -0x724C 0x86F1 # -0x724D 0x86F2 # -0x724E 0x86ED # -0x724F 0x86F3 # -0x7250 0x86D0 # -0x7251 0x8713 # -0x7252 0x86DE # -0x7253 0x86F4 # -0x7254 0x86DF # -0x7255 0x86D8 # -0x7256 0x86D1 # -0x7257 0x8703 # -0x7258 0x8707 # -0x7259 0x86F8 # -0x725A 0x8708 # -0x725B 0x870A # -0x725C 0x870D # -0x725D 0x8709 # -0x725E 0x8723 # -0x725F 0x873B # -0x7260 0x871E # -0x7261 0x8725 # -0x7262 0x872E # -0x7263 0x871A # -0x7264 0x873E # -0x7265 0x8748 # -0x7266 0x8734 # -0x7267 0x8731 # -0x7268 0x8729 # -0x7269 0x8737 # -0x726A 0x873F # -0x726B 0x8782 # -0x726C 0x8722 # -0x726D 0x877D # -0x726E 0x877E # -0x726F 0x877B # -0x7270 0x8760 # -0x7271 0x8770 # -0x7272 0x874C # -0x7273 0x876E # -0x7274 0x878B # -0x7275 0x8753 # -0x7276 0x8763 # -0x7277 0x877C # -0x7278 0x8764 # -0x7279 0x8759 # -0x727A 0x8765 # -0x727B 0x8793 # -0x727C 0x87AF # -0x727D 0x87A8 # -0x727E 0x87D2 # -0x7321 0x87C6 # -0x7322 0x8788 # -0x7323 0x8785 # -0x7324 0x87AD # -0x7325 0x8797 # -0x7326 0x8783 # -0x7327 0x87AB # -0x7328 0x87E5 # -0x7329 0x87AC # -0x732A 0x87B5 # -0x732B 0x87B3 # -0x732C 0x87CB # -0x732D 0x87D3 # -0x732E 0x87BD # -0x732F 0x87D1 # -0x7330 0x87C0 # -0x7331 0x87CA # -0x7332 0x87DB # -0x7333 0x87EA # -0x7334 0x87E0 # -0x7335 0x87EE # -0x7336 0x8816 # -0x7337 0x8813 # -0x7338 0x87FE # -0x7339 0x880A # -0x733A 0x881B # -0x733B 0x8821 # -0x733C 0x8839 # -0x733D 0x883C # -0x733E 0x7F36 # -0x733F 0x7F42 # -0x7340 0x7F44 # -0x7341 0x7F45 # -0x7342 0x8210 # -0x7343 0x7AFA # -0x7344 0x7AFD # -0x7345 0x7B08 # -0x7346 0x7B03 # -0x7347 0x7B04 # -0x7348 0x7B15 # -0x7349 0x7B0A # -0x734A 0x7B2B # -0x734B 0x7B0F # -0x734C 0x7B47 # -0x734D 0x7B38 # -0x734E 0x7B2A # -0x734F 0x7B19 # -0x7350 0x7B2E # -0x7351 0x7B31 # -0x7352 0x7B20 # -0x7353 0x7B25 # -0x7354 0x7B24 # -0x7355 0x7B33 # -0x7356 0x7B3E # -0x7357 0x7B1E # -0x7358 0x7B58 # -0x7359 0x7B5A # -0x735A 0x7B45 # -0x735B 0x7B75 # -0x735C 0x7B4C # -0x735D 0x7B5D # -0x735E 0x7B60 # -0x735F 0x7B6E # -0x7360 0x7B7B # -0x7361 0x7B62 # -0x7362 0x7B72 # -0x7363 0x7B71 # -0x7364 0x7B90 # -0x7365 0x7BA6 # -0x7366 0x7BA7 # -0x7367 0x7BB8 # -0x7368 0x7BAC # -0x7369 0x7B9D # -0x736A 0x7BA8 # -0x736B 0x7B85 # -0x736C 0x7BAA # -0x736D 0x7B9C # -0x736E 0x7BA2 # -0x736F 0x7BAB # -0x7370 0x7BB4 # -0x7371 0x7BD1 # -0x7372 0x7BC1 # -0x7373 0x7BCC # -0x7374 0x7BDD # -0x7375 0x7BDA # -0x7376 0x7BE5 # -0x7377 0x7BE6 # -0x7378 0x7BEA # -0x7379 0x7C0C # -0x737A 0x7BFE # -0x737B 0x7BFC # -0x737C 0x7C0F # -0x737D 0x7C16 # -0x737E 0x7C0B # -0x7421 0x7C1F # -0x7422 0x7C2A # -0x7423 0x7C26 # -0x7424 0x7C38 # -0x7425 0x7C41 # -0x7426 0x7C40 # -0x7427 0x81FE # -0x7428 0x8201 # -0x7429 0x8202 # -0x742A 0x8204 # -0x742B 0x81EC # -0x742C 0x8844 # -0x742D 0x8221 # -0x742E 0x8222 # -0x742F 0x8223 # -0x7430 0x822D # -0x7431 0x822F # -0x7432 0x8228 # -0x7433 0x822B # -0x7434 0x8238 # -0x7435 0x823B # -0x7436 0x8233 # -0x7437 0x8234 # -0x7438 0x823E # -0x7439 0x8244 # -0x743A 0x8249 # -0x743B 0x824B # -0x743C 0x824F # -0x743D 0x825A # -0x743E 0x825F # -0x743F 0x8268 # -0x7440 0x887E # -0x7441 0x8885 # -0x7442 0x8888 # -0x7443 0x88D8 # -0x7444 0x88DF # -0x7445 0x895E # -0x7446 0x7F9D # -0x7447 0x7F9F # -0x7448 0x7FA7 # -0x7449 0x7FAF # -0x744A 0x7FB0 # -0x744B 0x7FB2 # -0x744C 0x7C7C # -0x744D 0x6549 # -0x744E 0x7C91 # -0x744F 0x7C9D # -0x7450 0x7C9C # -0x7451 0x7C9E # -0x7452 0x7CA2 # -0x7453 0x7CB2 # -0x7454 0x7CBC # -0x7455 0x7CBD # -0x7456 0x7CC1 # -0x7457 0x7CC7 # -0x7458 0x7CCC # -0x7459 0x7CCD # -0x745A 0x7CC8 # -0x745B 0x7CC5 # -0x745C 0x7CD7 # -0x745D 0x7CE8 # -0x745E 0x826E # -0x745F 0x66A8 # -0x7460 0x7FBF # -0x7461 0x7FCE # -0x7462 0x7FD5 # -0x7463 0x7FE5 # -0x7464 0x7FE1 # -0x7465 0x7FE6 # -0x7466 0x7FE9 # -0x7467 0x7FEE # -0x7468 0x7FF3 # -0x7469 0x7CF8 # -0x746A 0x7D77 # -0x746B 0x7DA6 # -0x746C 0x7DAE # -0x746D 0x7E47 # -0x746E 0x7E9B # -0x746F 0x9EB8 # -0x7470 0x9EB4 # -0x7471 0x8D73 # -0x7472 0x8D84 # -0x7473 0x8D94 # -0x7474 0x8D91 # -0x7475 0x8DB1 # -0x7476 0x8D67 # -0x7477 0x8D6D # -0x7478 0x8C47 # -0x7479 0x8C49 # -0x747A 0x914A # -0x747B 0x9150 # -0x747C 0x914E # -0x747D 0x914F # -0x747E 0x9164 # -0x7521 0x9162 # -0x7522 0x9161 # -0x7523 0x9170 # -0x7524 0x9169 # -0x7525 0x916F # -0x7526 0x917D # -0x7527 0x917E # -0x7528 0x9172 # -0x7529 0x9174 # -0x752A 0x9179 # -0x752B 0x918C # -0x752C 0x9185 # -0x752D 0x9190 # -0x752E 0x918D # -0x752F 0x9191 # -0x7530 0x91A2 # -0x7531 0x91A3 # -0x7532 0x91AA # -0x7533 0x91AD # -0x7534 0x91AE # -0x7535 0x91AF # -0x7536 0x91B5 # -0x7537 0x91B4 # -0x7538 0x91BA # -0x7539 0x8C55 # -0x753A 0x9E7E # -0x753B 0x8DB8 # -0x753C 0x8DEB # -0x753D 0x8E05 # -0x753E 0x8E59 # -0x753F 0x8E69 # -0x7540 0x8DB5 # -0x7541 0x8DBF # -0x7542 0x8DBC # -0x7543 0x8DBA # -0x7544 0x8DC4 # -0x7545 0x8DD6 # -0x7546 0x8DD7 # -0x7547 0x8DDA # -0x7548 0x8DDE # -0x7549 0x8DCE # -0x754A 0x8DCF # -0x754B 0x8DDB # -0x754C 0x8DC6 # -0x754D 0x8DEC # -0x754E 0x8DF7 # -0x754F 0x8DF8 # -0x7550 0x8DE3 # -0x7551 0x8DF9 # -0x7552 0x8DFB # -0x7553 0x8DE4 # -0x7554 0x8E09 # -0x7555 0x8DFD # -0x7556 0x8E14 # -0x7557 0x8E1D # -0x7558 0x8E1F # -0x7559 0x8E2C # -0x755A 0x8E2E # -0x755B 0x8E23 # -0x755C 0x8E2F # -0x755D 0x8E3A # -0x755E 0x8E40 # -0x755F 0x8E39 # -0x7560 0x8E35 # -0x7561 0x8E3D # -0x7562 0x8E31 # -0x7563 0x8E49 # -0x7564 0x8E41 # -0x7565 0x8E42 # -0x7566 0x8E51 # -0x7567 0x8E52 # -0x7568 0x8E4A # -0x7569 0x8E70 # -0x756A 0x8E76 # -0x756B 0x8E7C # -0x756C 0x8E6F # -0x756D 0x8E74 # -0x756E 0x8E85 # -0x756F 0x8E8F # -0x7570 0x8E94 # -0x7571 0x8E90 # -0x7572 0x8E9C # -0x7573 0x8E9E # -0x7574 0x8C78 # -0x7575 0x8C82 # -0x7576 0x8C8A # -0x7577 0x8C85 # -0x7578 0x8C98 # -0x7579 0x8C94 # -0x757A 0x659B # -0x757B 0x89D6 # -0x757C 0x89DE # -0x757D 0x89DA # -0x757E 0x89DC # -0x7621 0x89E5 # -0x7622 0x89EB # -0x7623 0x89EF # -0x7624 0x8A3E # -0x7625 0x8B26 # -0x7626 0x9753 # -0x7627 0x96E9 # -0x7628 0x96F3 # -0x7629 0x96EF # -0x762A 0x9706 # -0x762B 0x9701 # -0x762C 0x9708 # -0x762D 0x970F # -0x762E 0x970E # -0x762F 0x972A # -0x7630 0x972D # -0x7631 0x9730 # -0x7632 0x973E # -0x7633 0x9F80 # -0x7634 0x9F83 # -0x7635 0x9F85 # -0x7636 0x9F86 # -0x7637 0x9F87 # -0x7638 0x9F88 # -0x7639 0x9F89 # -0x763A 0x9F8A # -0x763B 0x9F8C # -0x763C 0x9EFE # -0x763D 0x9F0B # -0x763E 0x9F0D # -0x763F 0x96B9 # -0x7640 0x96BC # -0x7641 0x96BD # -0x7642 0x96CE # -0x7643 0x96D2 # -0x7644 0x77BF # -0x7645 0x96E0 # -0x7646 0x928E # -0x7647 0x92AE # -0x7648 0x92C8 # -0x7649 0x933E # -0x764A 0x936A # -0x764B 0x93CA # -0x764C 0x938F # -0x764D 0x943E # -0x764E 0x946B # -0x764F 0x9C7F # -0x7650 0x9C82 # -0x7651 0x9C85 # -0x7652 0x9C86 # -0x7653 0x9C87 # -0x7654 0x9C88 # -0x7655 0x7A23 # -0x7656 0x9C8B # -0x7657 0x9C8E # -0x7658 0x9C90 # -0x7659 0x9C91 # -0x765A 0x9C92 # -0x765B 0x9C94 # -0x765C 0x9C95 # -0x765D 0x9C9A # -0x765E 0x9C9B # -0x765F 0x9C9E # -0x7660 0x9C9F # -0x7661 0x9CA0 # -0x7662 0x9CA1 # -0x7663 0x9CA2 # -0x7664 0x9CA3 # -0x7665 0x9CA5 # -0x7666 0x9CA6 # -0x7667 0x9CA7 # -0x7668 0x9CA8 # -0x7669 0x9CA9 # -0x766A 0x9CAB # -0x766B 0x9CAD # -0x766C 0x9CAE # -0x766D 0x9CB0 # -0x766E 0x9CB1 # -0x766F 0x9CB2 # -0x7670 0x9CB3 # -0x7671 0x9CB4 # -0x7672 0x9CB5 # -0x7673 0x9CB6 # -0x7674 0x9CB7 # -0x7675 0x9CBA # -0x7676 0x9CBB # -0x7677 0x9CBC # -0x7678 0x9CBD # -0x7679 0x9CC4 # -0x767A 0x9CC5 # -0x767B 0x9CC6 # -0x767C 0x9CC7 # -0x767D 0x9CCA # -0x767E 0x9CCB # -0x7721 0x9CCC # -0x7722 0x9CCD # -0x7723 0x9CCE # -0x7724 0x9CCF # -0x7725 0x9CD0 # -0x7726 0x9CD3 # -0x7727 0x9CD4 # -0x7728 0x9CD5 # -0x7729 0x9CD7 # -0x772A 0x9CD8 # -0x772B 0x9CD9 # -0x772C 0x9CDC # -0x772D 0x9CDD # -0x772E 0x9CDF # -0x772F 0x9CE2 # -0x7730 0x977C # -0x7731 0x9785 # -0x7732 0x9791 # -0x7733 0x9792 # -0x7734 0x9794 # -0x7735 0x97AF # -0x7736 0x97AB # -0x7737 0x97A3 # -0x7738 0x97B2 # -0x7739 0x97B4 # -0x773A 0x9AB1 # -0x773B 0x9AB0 # -0x773C 0x9AB7 # -0x773D 0x9E58 # -0x773E 0x9AB6 # -0x773F 0x9ABA # -0x7740 0x9ABC # -0x7741 0x9AC1 # -0x7742 0x9AC0 # -0x7743 0x9AC5 # -0x7744 0x9AC2 # -0x7745 0x9ACB # -0x7746 0x9ACC # -0x7747 0x9AD1 # -0x7748 0x9B45 # -0x7749 0x9B43 # -0x774A 0x9B47 # -0x774B 0x9B49 # -0x774C 0x9B48 # -0x774D 0x9B4D # -0x774E 0x9B51 # -0x774F 0x98E8 # -0x7750 0x990D # -0x7751 0x992E # -0x7752 0x9955 # -0x7753 0x9954 # -0x7754 0x9ADF # -0x7755 0x9AE1 # -0x7756 0x9AE6 # -0x7757 0x9AEF # -0x7758 0x9AEB # -0x7759 0x9AFB # -0x775A 0x9AED # -0x775B 0x9AF9 # -0x775C 0x9B08 # -0x775D 0x9B0F # -0x775E 0x9B13 # -0x775F 0x9B1F # -0x7760 0x9B23 # -0x7761 0x9EBD # -0x7762 0x9EBE # -0x7763 0x7E3B # -0x7764 0x9E82 # -0x7765 0x9E87 # -0x7766 0x9E88 # -0x7767 0x9E8B # -0x7768 0x9E92 # -0x7769 0x93D6 # -0x776A 0x9E9D # -0x776B 0x9E9F # -0x776C 0x9EDB # -0x776D 0x9EDC # -0x776E 0x9EDD # -0x776F 0x9EE0 # -0x7770 0x9EDF # -0x7771 0x9EE2 # -0x7772 0x9EE9 # -0x7773 0x9EE7 # -0x7774 0x9EE5 # -0x7775 0x9EEA # -0x7776 0x9EEF # -0x7777 0x9F22 # -0x7778 0x9F2C # -0x7779 0x9F2F # -0x777A 0x9F39 # -0x777B 0x9F37 # -0x777C 0x9F3D # -0x777D 0x9F3E # -0x777E 0x9F44 # diff --git a/docs/manual.html b/docs/manual.html index 976cb10c..34479412 100644 --- a/docs/manual.html +++ b/docs/manual.html @@ -1436,13 +1436,13 @@ is hexadecimal (000000-10FFFF)

(Special escape sequences are available for Code 128 only to manually -switch Code Sets and/or insert special FNC1 characters - see 6.1.10.1 Standard Code 128 (ISO 15417) for details.)

Input data can be read directly from file using the -i or --input switch as shown below. The input file is assumed to be UTF-8 formatted unless an alternative mode is selected. This -command replaces the use of the -d switch.

+option replaces the use of the -d switch.

zint -i somefile.txt

To read from stdin specify a single hyphen "-" as the @@ -2066,13 +2066,13 @@ example:

class="sourceCode bash">zint --height=100 -d "This Text"

This specifies a symbol height of 100 times the X-dimension of the symbol.

-

The default height of most linear barcodes is 50X, but this can be +

The default height of most linear barcodes is 50.0X, but this can be changed for barcodes whose specifications give a standard height by using the switch --compliantheight. For instance

zint -b LOGMARS -d "This Text" --compliantheight

will produce a barcode of height 45.455X instead of the normal -default of 50X. The flag also causes Zint to return a warning if a +default of 50.0X. The flag also causes Zint to return a warning if a non-compliant height is given:

zint -b LOGMARS -d "This Text" --compliantheight --height=6.2
@@ -2237,7 +2237,7 @@ aria-hidden="true">zint -d "This Text" --rotate=90
 

4.9 Adjusting Image Size (X-dimension)

The size of the image can be altered using the --scale -option, which sets the X-dimension. The default scale is 1.

+option, which sets the X-dimension. The default scale is 1.0.

The scale is multiplied by 2 (with the exception of MaxiCode) before being applied to the X-dimension. For MaxiCode, it is multiplied by 10 for raster output, by 40 for EMF vector output, and by 2 otherwise @@ -2387,9 +2387,9 @@ aria-hidden="true">zint --bold -d "This Text" --small

The gap between the barcode and the text can be adjusted using the --textgap option, where the gap is given in X-dimensions, -and may be negative (minimum -5X, maximum 10X). The default gap is 1X. -Note that a very small gap may cause accented texts to overlap with the -barcode:

+and may be negative (minimum -5.0X, maximum 10.0X). The default gap is +1X. Note that a very small gap may cause accented texts to overlap with +the barcode:

zint -d "Áccent" --textgap=0.1 @@ -4450,7 +4450,8 @@ integral multiples of the X-dimension by setting --addongap (API option_2) to a value between 9 (default) and 12. The height in X-dimensions that the guard bars descend below the main bars can be adjusted by setting --guarddescent (API -guard_descent) to a value between 0 and 20 (default 5).

+guard_descent) to a value between 0.0 and 20.0 (default +5.0).

6.1.3.2 UPC Version E

--addongap (API option_2) to a value between 7 (default) and 12. The height in X-dimensions that the guard bars descend below the main bars can be adjusted by setting --guarddescent (API -guard_descent) to a value between 0 and 20 (default 5).

+guard_descent) to a value between 0.0 and 20.0 (default +5.0).

6.1.4 EAN (European Article Number) (ISO 15420)

6.1.4.1 EAN-2, EAN-5, EAN-8 and @@ -9392,10 +9394,10 @@ class="sourceCode bash">Create “qr.svg” in the current directory, as a QR Code symbol.

zint -b QRCode -d 'This Text' -o 'qr.svg'
-

Use batch mode to read from an input file “ean13nos.txt” containing -13-digit GTINs, to create a series of EAN-13 barcodes, formatting the -output filenames to “ean001.gif”, “ean002.gif” etc. using the special -character “~”.

+

Use batch mode to read from an input file “ean13nos.txt” containing a +list of 13-digit GTINs, each on a separate line, to create a series of +EAN-13 barcodes, formatting the output filenames to “ean001.gif”, +“ean002.gif” etc. using the special character “~”.

zint -b EANX --batch -i 'ean13nos.txt' -o 'ean~~~.gif'

BUGS

diff --git a/docs/manual.pmd b/docs/manual.pmd index 2ec39ef2..54fc5a0d 100644 --- a/docs/manual.pmd +++ b/docs/manual.pmd @@ -574,12 +574,12 @@ codeset from U+0000 to U+D7FF and U+E000 to U+FFFF (i.e. excluding surrogates). Not to be confused with the Windows Bitmap file format BMP! (Special escape sequences are available for Code 128 only to manually switch -Code Sets and/or insert special FNC1 characters - see [6.1.10.1 Standard Code -128 (ISO 15417)] for details.) +Code Sets and insert special FNC1 characters - see [6.1.10.1 Standard Code 128 +(ISO 15417)] for details.) Input data can be read directly from file using the `-i` or `--input` switch as shown below. The input file is assumed to be UTF-8 formatted unless an -alternative mode is selected. This command replaces the use of the `-d` switch. +alternative mode is selected. This option replaces the use of the `-d` switch. ```bash zint -i somefile.txt @@ -885,7 +885,7 @@ zint --height=100 -d "This Text" This specifies a symbol height of 100 times the X-dimension of the symbol. -The default height of most linear barcodes is 50X, but this can be changed for +The default height of most linear barcodes is 50.0X, but this can be changed for barcodes whose specifications give a standard height by using the switch `--compliantheight`. For instance @@ -893,7 +893,7 @@ barcodes whose specifications give a standard height by using the switch zint -b LOGMARS -d "This Text" --compliantheight ``` -will produce a barcode of height 45.455X instead of the normal default of 50X. +will produce a barcode of height 45.455X instead of the normal default of 50.0X. The flag also causes Zint to return a warning if a non-compliant height is given: @@ -1073,7 +1073,7 @@ followed by the angle of rotation as shown below. ## 4.9 Adjusting Image Size (X-dimension) The size of the image can be altered using the `--scale` option, which sets the -X-dimension. The default scale is 1. +X-dimension. The default scale is 1.0. The scale is multiplied by 2 (with the exception of MaxiCode) before being applied to the X-dimension. For MaxiCode, it is multiplied by 10 for raster @@ -1197,8 +1197,8 @@ be used together if required, but only for vector output. The gap between the barcode and the text can be adjusted using the `--textgap` option, where the gap is given in X-dimensions, and may be negative (minimum --5X, maximum 10X). The default gap is 1X. Note that a very small gap may cause -accented texts to overlap with the barcode: +-5.0X, maximum 10.0X). The default gap is 1X. Note that a very small gap may +cause accented texts to overlap with the barcode: ![`zint -d "Áccent" --textgap=0.1`](images/code128_textgap.svg){.lin} @@ -2818,7 +2818,7 @@ You can adjust the gap between the main symbol and an add-on in integral multiples of the X-dimension by setting `--addongap` (API `option_2`) to a value between 9 (default) and 12. The height in X-dimensions that the guard bars descend below the main bars can be adjusted by setting `--guarddescent` (API -`guard_descent`) to a value between 0 and 20 (default 5). +`guard_descent`) to a value between 0.0 and 20.0 (default 5.0). #### 6.1.3.2 UPC Version E @@ -2859,7 +2859,7 @@ You can adjust the gap between the main symbol and an add-on in integral multiples of the X-dimension by setting `--addongap` (API `option_2`) to a value between 7 (default) and 12. The height in X-dimensions that the guard bars descend below the main bars can be adjusted by setting `--guarddescent` (API -`guard_descent`) to a value between 0 and 20 (default 5). +`guard_descent`) to a value between 0.0 and 20.0 (default 5.0). ### 6.1.4 EAN (European Article Number) (ISO 15420) diff --git a/docs/manual.txt b/docs/manual.txt index e4da077f..234bb1d2 100644 --- a/docs/manual.txt +++ b/docs/manual.txt @@ -720,12 +720,12 @@ sequences are shown in the table below. Table : Escape Sequences (Special escape sequences are available for Code 128 only to manually switch -Code Sets and/or insert special FNC1 characters - see 6.1.10.1 Standard Code 128 +Code Sets and insert special FNC1 characters - see 6.1.10.1 Standard Code 128 (ISO 15417) for details.) Input data can be read directly from file using the -i or --input switch as shown below. The input file is assumed to be UTF-8 formatted unless an -alternative mode is selected. This command replaces the use of the -d switch. +alternative mode is selected. This option replaces the use of the -d switch. zint -i somefile.txt @@ -1011,13 +1011,13 @@ adjusted using the --height switch. For example: This specifies a symbol height of 100 times the X-dimension of the symbol. -The default height of most linear barcodes is 50X, but this can be changed for +The default height of most linear barcodes is 50.0X, but this can be changed for barcodes whose specifications give a standard height by using the switch --compliantheight. For instance zint -b LOGMARS -d "This Text" --compliantheight -will produce a barcode of height 45.455X instead of the normal default of 50X. +will produce a barcode of height 45.455X instead of the normal default of 50.0X. The flag also causes Zint to return a warning if a non-compliant height is given: @@ -1166,7 +1166,7 @@ followed by the angle of rotation as shown below. 4.9 Adjusting Image Size (X-dimension) The size of the image can be altered using the --scale option, which sets the -X-dimension. The default scale is 1. +X-dimension. The default scale is 1.0. The scale is multiplied by 2 (with the exception of MaxiCode) before being applied to the X-dimension. For MaxiCode, it is multiplied by 10 for raster @@ -1278,8 +1278,8 @@ together if required, but only for vector output. The gap between the barcode and the text can be adjusted using the --textgap option, where the gap is given in X-dimensions, and may be negative (minimum --5X, maximum 10X). The default gap is 1X. Note that a very small gap may cause -accented texts to overlap with the barcode: +-5.0X, maximum 10.0X). The default gap is 1X. Note that a very small gap may +cause accented texts to overlap with the barcode: [zint -d "Áccent" --textgap=0.1] @@ -2747,7 +2747,7 @@ You can adjust the gap between the main symbol and an add-on in integral multiples of the X-dimension by setting --addongap (API option_2) to a value between 9 (default) and 12. The height in X-dimensions that the guard bars descend below the main bars can be adjusted by setting --guarddescent (API -guard_descent) to a value between 0 and 20 (default 5). +guard_descent) to a value between 0.0 and 20.0 (default 5.0). 6.1.3.2 UPC Version E @@ -2781,7 +2781,7 @@ You can adjust the gap between the main symbol and an add-on in integral multiples of the X-dimension by setting --addongap (API option_2) to a value between 7 (default) and 12. The height in X-dimensions that the guard bars descend below the main bars can be adjusted by setting --guarddescent (API -guard_descent) to a value between 0 and 20 (default 5). +guard_descent) to a value between 0.0 and 20.0 (default 5.0). 6.1.4 EAN (European Article Number) (ISO 15420) @@ -5484,9 +5484,10 @@ Create “qr.svg” in the current directory, as a QR Code symbol. zint -b QRCode -d 'This Text' -o 'qr.svg' -Use batch mode to read from an input file “ean13nos.txt” containing 13-digit -GTINs, to create a series of EAN-13 barcodes, formatting the output filenames to -“ean001.gif”, “ean002.gif” etc. using the special character “~”. +Use batch mode to read from an input file “ean13nos.txt” containing a list of +13-digit GTINs, each on a separate line, to create a series of EAN-13 barcodes, +formatting the output filenames to “ean001.gif”, “ean002.gif” etc. using the +special character “~”. zint -b EANX --batch -i 'ean13nos.txt' -o 'ean~~~.gif' diff --git a/docs/zint.1 b/docs/zint.1 index 738ae434..bff834d3 100644 --- a/docs/zint.1 +++ b/docs/zint.1 @@ -693,9 +693,9 @@ zint \-b QRCode \-d \[aq]This Text\[aq] \-o \[aq]qr.svg\[aq] .EE .PP Use batch mode to read from an input file \[lq]ean13nos.txt\[rq] -containing 13\-digit GTINs, to create a series of EAN\-13 barcodes, -formatting the output filenames to \[lq]ean001.gif\[rq], -\[lq]ean002.gif\[rq] etc. +containing a list of 13\-digit GTINs, each on a separate line, to create +a series of EAN\-13 barcodes, formatting the output filenames to +\[lq]ean001.gif\[rq], \[lq]ean002.gif\[rq] etc. using the special character \[lq]\[ti]\[rq]. .IP .EX diff --git a/docs/zint.1.pmd b/docs/zint.1.pmd index aeb3f4e0..5cc02569 100644 --- a/docs/zint.1.pmd +++ b/docs/zint.1.pmd @@ -619,8 +619,9 @@ Create "qr.svg" in the current directory, as a QR Code symbol. zint -b QRCode -d 'This Text' -o 'qr.svg' ``` -Use batch mode to read from an input file "ean13nos.txt" containing 13-digit GTINs, to create a series of EAN-13 -barcodes, formatting the output filenames to "ean001.gif", "ean002.gif" etc. using the special character "~". +Use batch mode to read from an input file "ean13nos.txt" containing a list of 13-digit GTINs, each on a separate line, +to create a series of EAN-13 barcodes, formatting the output filenames to "ean001.gif", "ean002.gif" etc. using the +special character "~". ```bash zint -b EANX --batch -i 'ean13nos.txt' -o 'ean~~~.gif'