gs1: update to latest gs1-syntax-dictionary (new AIs 4330-4333,

hyphen)
This commit is contained in:
gitlost 2023-10-27 13:51:32 +01:00
parent 7080918350
commit b343409fb4
3 changed files with 382 additions and 333 deletions

View File

@ -1271,7 +1271,7 @@ static int longitude(const unsigned char *data, int data_len, int offset, int mi
return 1;
}
/* Check AIDC media type (GSCN-22-345 Figure 3.8.22-2) */
/* Check AIDC media type (GSCN 22-345 Figure 3.8.22-2) */
static int mediatype(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) {
@ -1301,6 +1301,33 @@ static int mediatype(const unsigned char *data, int data_len, int offset, int mi
return 1;
}
/* Check negative temperature indicator (GSCN 22-353) */
static int hyphen(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) {
data_len -= offset;
if (data_len < min) {
return 0;
}
if (!length_only && data_len) {
const unsigned char *d = data + offset;
const unsigned char *const de = d + (data_len > max ? max : data_len);
for (; d < de; d++) {
if (*d != '-') {
*p_err_no = 3;
*p_err_posn = d - data + 1;
strcpy(err_msg, "Invalid temperature indicator (hyphen only)");
return 0;
}
}
}
return 1;
}
/* Generated by "php backend/tools/gen_gs1_linter.php > backend/gs1_lint.h" */
#include "gs1_lint.h"

View File

@ -299,6 +299,16 @@ static int n6_yymmdd(const unsigned char *data, const int data_len,
&& yymmdd(data, data_len, 0, 6, 6, p_err_no, p_err_posn, err_msg, 0);
}
/* N6 [X1],hyphen (Used by MAX TEMP F., MAX TEMP C., MIN TEMP F., MIN TEMP C.) */
static int n6__x1__hyphen(const unsigned char *data, const int data_len,
int *p_err_no, int *p_err_posn, char err_msg[50]) {
return data_len >= 6 && data_len <= 7
&& hyphen(data, data_len, 6, 0, 1, p_err_no, p_err_posn, err_msg, 1 /*length_only*/)
&& numeric(data, data_len, 0, 6, 6, p_err_no, p_err_posn, err_msg)
&& cset82(data, data_len, 6, 0, 1, p_err_no, p_err_posn, err_msg)
&& hyphen(data, data_len, 6, 0, 1, p_err_no, p_err_posn, err_msg, 0);
}
/* N13 (Used by NSN) */
static int n13(const unsigned char *data, const int data_len,
int *p_err_no, int *p_err_posn, char err_msg[50]) {
@ -748,6 +758,9 @@ static int gs1_lint(const int ai, const unsigned char *data, const int data_len,
if (ai == 4326) {
return n6_yymmdd(data, data_len, p_err_no, p_err_posn, err_msg);
}
if (ai >= 4330 && ai <= 4333) {
return n6__x1__hyphen(data, data_len, p_err_no, p_err_posn, err_msg);
}
} else if (ai < 7100) {

View File

@ -1019,338 +1019,342 @@ static void test_gs1_verify(const testCtx *const p_ctx) {
/*659*/ { "[4328]121212", ZINT_ERROR_INVALID_DATA, "" },
/*660*/ { "[4329]121212", ZINT_ERROR_INVALID_DATA, "" },
/*661*/ { "[433]121212", ZINT_ERROR_INVALID_DATA, "" },
/*662*/ { "[4330]121212", ZINT_ERROR_INVALID_DATA, "" },
/*663*/ { "[44]1234", ZINT_ERROR_INVALID_DATA, "" },
/*664*/ { "[440]1234", ZINT_ERROR_INVALID_DATA, "" },
/*665*/ { "[4400]1234", ZINT_ERROR_INVALID_DATA, "" },
/*666*/ { "[49]1234", ZINT_ERROR_INVALID_DATA, "" },
/*667*/ { "[490]1234", ZINT_ERROR_INVALID_DATA, "" },
/*668*/ { "[4900]1234", ZINT_ERROR_INVALID_DATA, "" },
/*669*/ { "[499]1234", ZINT_ERROR_INVALID_DATA, "" },
/*670*/ { "[4990]1234", ZINT_ERROR_INVALID_DATA, "" },
/*671*/ { "[50]1234", ZINT_ERROR_INVALID_DATA, "" },
/*672*/ { "[500]1234", ZINT_ERROR_INVALID_DATA, "" },
/*673*/ { "[5000]1234", ZINT_ERROR_INVALID_DATA, "" },
/*674*/ { "[51]1234", ZINT_ERROR_INVALID_DATA, "" },
/*675*/ { "[510]1234", ZINT_ERROR_INVALID_DATA, "" },
/*676*/ { "[5100]1234", ZINT_ERROR_INVALID_DATA, "" },
/*677*/ { "[59]1234", ZINT_ERROR_INVALID_DATA, "" },
/*678*/ { "[590]1234", ZINT_ERROR_INVALID_DATA, "" },
/*679*/ { "[5900]1234", ZINT_ERROR_INVALID_DATA, "" },
/*680*/ { "[60]1234", ZINT_ERROR_INVALID_DATA, "" },
/*681*/ { "[600]1234", ZINT_ERROR_INVALID_DATA, "" },
/*682*/ { "[6000]1234", ZINT_ERROR_INVALID_DATA, "" },
/*683*/ { "[61]1234", ZINT_ERROR_INVALID_DATA, "" },
/*684*/ { "[610]1234", ZINT_ERROR_INVALID_DATA, "" },
/*685*/ { "[6100]1234", ZINT_ERROR_INVALID_DATA, "" },
/*686*/ { "[69]1234", ZINT_ERROR_INVALID_DATA, "" },
/*687*/ { "[690]1234", ZINT_ERROR_INVALID_DATA, "" },
/*688*/ { "[6900]1234", ZINT_ERROR_INVALID_DATA, "" },
/*689*/ { "[70]1234", ZINT_ERROR_INVALID_DATA, "" },
/*690*/ { "[700]1234", ZINT_ERROR_INVALID_DATA, "" },
/*691*/ { "[7000]1234", ZINT_ERROR_INVALID_DATA, "" },
/*692*/ { "[7001]1234567890123", 0, "70011234567890123" },
/*693*/ { "[7001]123456789012", ZINT_ERROR_INVALID_DATA, "" },
/*694*/ { "[7002]abcdefghijklmnopqrstuvwxyz1234", 0, "7002abcdefghijklmnopqrstuvwxyz1234" },
/*695*/ { "[7002]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" },
/*696*/ { "[7003]1212121212", 0, "70031212121212" },
/*697*/ { "[7003]121212121", ZINT_ERROR_INVALID_DATA, "" },
/*698*/ { "[7004]1234", 0, "70041234" },
/*699*/ { "[7004]12345", ZINT_ERROR_INVALID_DATA, "" },
/*700*/ { "[7005]abcdefghijkl", 0, "7005abcdefghijkl" },
/*701*/ { "[7005]abcdefghijklm", ZINT_ERROR_INVALID_DATA, "" },
/*702*/ { "[7006]200132", ZINT_WARN_NONCOMPLIANT, "7006200132" },
/*703*/ { "[7006]200100", ZINT_WARN_NONCOMPLIANT, "7006200100" },
/*704*/ { "[7006]200120", 0, "7006200120" },
/*705*/ { "[7006]2001320", ZINT_ERROR_INVALID_DATA, "" },
/*706*/ { "[7007]010101121212", 0, "7007010101121212" },
/*707*/ { "[7007]01010112121", ZINT_ERROR_INVALID_DATA, "" },
/*708*/ { "[7007]A1010112121", ZINT_ERROR_INVALID_DATA, "" },
/*709*/ { "[7007]121212", 0, "7007121212" },
/*710*/ { "[7007]12121", ZINT_ERROR_INVALID_DATA, "" },
/*711*/ { "[7007]1212121", ZINT_ERROR_INVALID_DATA, "" },
/*712*/ { "[7008]abc", 0, "7008abc" },
/*713*/ { "[7008]abcd", ZINT_ERROR_INVALID_DATA, "" },
/*714*/ { "[7009]abcdefghij", 0, "7009abcdefghij" },
/*715*/ { "[7009]abcdefghijk", ZINT_ERROR_INVALID_DATA, "" },
/*716*/ { "[7010]01", 0, "701001" },
/*717*/ { "[7010]1", 0, "70101" },
/*718*/ { "[7010]012", ZINT_ERROR_INVALID_DATA, "" },
/*719*/ { "[7011]121212", 0, "7011121212" },
/*720*/ { "[7011]1212121212", 0, "70111212121212" },
/*721*/ { "[7011]12121", ZINT_ERROR_INVALID_DATA, "" },
/*722*/ { "[7011]121212121", ZINT_ERROR_INVALID_DATA, "" },
/*723*/ { "[7012]1234", ZINT_ERROR_INVALID_DATA, "" },
/*724*/ { "[7019]1234", ZINT_ERROR_INVALID_DATA, "" },
/*725*/ { "[7020]abcdefghijklmnopqrst", 0, "7020abcdefghijklmnopqrst" },
/*726*/ { "[7020]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*727*/ { "[7021]abcdefghijklmnopqrst", 0, "7021abcdefghijklmnopqrst" },
/*728*/ { "[7021]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*729*/ { "[7022]abcdefghijklmnopqrst", 0, "7022abcdefghijklmnopqrst" },
/*730*/ { "[7022]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*731*/ { "[7023]1234abcdefghijklmnopqrstuvwxyz", 0, "70231234abcdefghijklmnopqrstuvwxyz" },
/*732*/ { "[7023]1234abcdefghijklmnopqrstuvwxyza", ZINT_ERROR_INVALID_DATA, "" },
/*733*/ { "[7024]1234", ZINT_ERROR_INVALID_DATA, "" },
/*734*/ { "[7025]1234", ZINT_ERROR_INVALID_DATA, "" },
/*735*/ { "[7029]1234", ZINT_ERROR_INVALID_DATA, "" },
/*736*/ { "[7030]123abcdefghijklmnopqrstuvwxyza", ZINT_WARN_NONCOMPLIANT, "7030123abcdefghijklmnopqrstuvwxyza" },
/*737*/ { "[7030]004abcdefghijklmnopqrstuvwxyza", 0, "7030004abcdefghijklmnopqrstuvwxyza" },
/*738*/ { "[7030]123abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*739*/ { "[7031]123abcdefghijklmnopqrstuvwxyza", ZINT_WARN_NONCOMPLIANT, "7031123abcdefghijklmnopqrstuvwxyza" },
/*740*/ { "[7031]004abcdefghijklmnopqrstuvwxyza", 0, "7031004abcdefghijklmnopqrstuvwxyza" },
/*741*/ { "[7031]123abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*742*/ { "[7032]004abcdefghijklmnopqrstuvwxyza", 0, "7032004abcdefghijklmnopqrstuvwxyza" },
/*743*/ { "[7032]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*744*/ { "[7033]004abcdefghijklmnopqrstuvwxyza", 0, "7033004abcdefghijklmnopqrstuvwxyza" },
/*745*/ { "[7033]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*746*/ { "[7034]004abcdefghijklmnopqrstuvwxyza", 0, "7034004abcdefghijklmnopqrstuvwxyza" },
/*747*/ { "[7034]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*748*/ { "[7035]004abcdefghijklmnopqrstuvwxyza", 0, "7035004abcdefghijklmnopqrstuvwxyza" },
/*749*/ { "[7035]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*750*/ { "[7036]004abcdefghijklmnopqrstuvwxyza", 0, "7036004abcdefghijklmnopqrstuvwxyza" },
/*751*/ { "[7036]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*752*/ { "[7037]004abcdefghijklmnopqrstuvwxyza", 0, "7037004abcdefghijklmnopqrstuvwxyza" },
/*753*/ { "[7037]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*754*/ { "[7038]004abcdefghijklmnopqrstuvwxyza", 0, "7038004abcdefghijklmnopqrstuvwxyza" },
/*755*/ { "[7038]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*756*/ { "[7039]004abcdefghijklmnopqrstuvwxyza", 0, "7039004abcdefghijklmnopqrstuvwxyza" },
/*757*/ { "[7039]123abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*758*/ { "[7040]1abc", 0, "70401abc" },
/*759*/ { "[7040]1ab", ZINT_ERROR_INVALID_DATA, "" },
/*760*/ { "[7040]1abcd", ZINT_ERROR_INVALID_DATA, "" },
/*761*/ { "[7041]1234", ZINT_ERROR_INVALID_DATA, "" },
/*762*/ { "[7042]1234", ZINT_ERROR_INVALID_DATA, "" },
/*763*/ { "[7050]1234", ZINT_ERROR_INVALID_DATA, "" },
/*764*/ { "[7090]1234", ZINT_ERROR_INVALID_DATA, "" },
/*765*/ { "[7099]1234", ZINT_ERROR_INVALID_DATA, "" },
/*766*/ { "[71]1234", ZINT_ERROR_INVALID_DATA, "" },
/*767*/ { "[710]abcdefghijklmnopqrst", 0, "710abcdefghijklmnopqrst" },
/*768*/ { "[710]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*769*/ { "[7100]1234", ZINT_ERROR_INVALID_DATA, "" },
/*770*/ { "[711]abcdefghijklmnopqrst", 0, "711abcdefghijklmnopqrst" },
/*771*/ { "[711]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*772*/ { "[712]abcdefghijklmnopqrst", 0, "712abcdefghijklmnopqrst" },
/*773*/ { "[712]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*774*/ { "[713]abcdefghijklmnopqrst", 0, "713abcdefghijklmnopqrst" },
/*775*/ { "[713]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*776*/ { "[714]abcdefghijklmnopqrst", 0, "714abcdefghijklmnopqrst" },
/*777*/ { "[714]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*778*/ { "[715]abcdefghijklmnopqrst", 0, "715abcdefghijklmnopqrst" },
/*779*/ { "[715]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*780*/ { "[716]1234", ZINT_ERROR_INVALID_DATA, "" },
/*781*/ { "[719]1234", ZINT_ERROR_INVALID_DATA, "" },
/*782*/ { "[72]1234", ZINT_ERROR_INVALID_DATA, "" },
/*783*/ { "[720]1234", ZINT_ERROR_INVALID_DATA, "" },
/*784*/ { "[7200]1234", ZINT_ERROR_INVALID_DATA, "" },
/*785*/ { "[721]1234", ZINT_ERROR_INVALID_DATA, "" },
/*786*/ { "[7210]1234", ZINT_ERROR_INVALID_DATA, "" },
/*787*/ { "[7220]1234", ZINT_ERROR_INVALID_DATA, "" },
/*788*/ { "[7230]EMabcdefghijklmnopqrstuvwxyzab", 0, "7230EMabcdefghijklmnopqrstuvwxyzab" },
/*789*/ { "[7230]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*790*/ { "[7230]EM", ZINT_ERROR_INVALID_DATA, "" },
/*791*/ { "[7231]EMabcdefghijklmnopqrstuvwxyzab", 0, "7231EMabcdefghijklmnopqrstuvwxyzab" },
/*792*/ { "[7231]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*793*/ { "[7232]EMabcdefghijklmnopqrstuvwxyzab", 0, "7232EMabcdefghijklmnopqrstuvwxyzab" },
/*794*/ { "[7232]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*795*/ { "[7233]EMabcdefghijklmnopqrstuvwxyzab", 0, "7233EMabcdefghijklmnopqrstuvwxyzab" },
/*796*/ { "[7233]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*797*/ { "[7234]EMabcdefghijklmnopqrstuvwxyzab", 0, "7234EMabcdefghijklmnopqrstuvwxyzab" },
/*798*/ { "[7234]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*799*/ { "[7235]EMabcdefghijklmnopqrstuvwxyzab", 0, "7235EMabcdefghijklmnopqrstuvwxyzab" },
/*800*/ { "[7235]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*801*/ { "[7236]EMabcdefghijklmnopqrstuvwxyzab", 0, "7236EMabcdefghijklmnopqrstuvwxyzab" },
/*802*/ { "[7236]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*803*/ { "[7237]EMabcdefghijklmnopqrstuvwxyzab", 0, "7237EMabcdefghijklmnopqrstuvwxyzab" },
/*804*/ { "[7237]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*805*/ { "[7238]EMabcdefghijklmnopqrstuvwxyzab", 0, "7238EMabcdefghijklmnopqrstuvwxyzab" },
/*806*/ { "[7238]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*807*/ { "[7239]EMabcdefghijklmnopqrstuvwxyzab", 0, "7239EMabcdefghijklmnopqrstuvwxyzab" },
/*808*/ { "[7239]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*809*/ { "[7239]E", ZINT_ERROR_INVALID_DATA, "" },
/*810*/ { "[7240]abcdefghijklmnopqrst", 0, "7240abcdefghijklmnopqrst" },
/*811*/ { "[7240]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*812*/ { "[7241]99", 0, "724199" },
/*813*/ { "[7241]100", ZINT_ERROR_INVALID_DATA, "" },
/*814*/ { "[7242]abcdefghijklmnopqrstuvwxy", 0, "7242abcdefghijklmnopqrstuvwxy" },
/*815*/ { "[7242]abcdefghijklmnopqrstuvwxyz", ZINT_ERROR_INVALID_DATA, "" },
/*816*/ { "[7243]1234", ZINT_ERROR_INVALID_DATA, "" },
/*817*/ { "[7249]1234", ZINT_ERROR_INVALID_DATA, "" },
/*818*/ { "[7250]1234", ZINT_ERROR_INVALID_DATA, "" },
/*819*/ { "[7299]1234", ZINT_ERROR_INVALID_DATA, "" },
/*820*/ { "[73]1234", ZINT_ERROR_INVALID_DATA, "" },
/*821*/ { "[7300]1234", ZINT_ERROR_INVALID_DATA, "" },
/*822*/ { "[74]1234", ZINT_ERROR_INVALID_DATA, "" },
/*823*/ { "[7400]1234", ZINT_ERROR_INVALID_DATA, "" },
/*824*/ { "[79]1234", ZINT_ERROR_INVALID_DATA, "" },
/*825*/ { "[7900]1234", ZINT_ERROR_INVALID_DATA, "" },
/*826*/ { "[7999]1234", ZINT_ERROR_INVALID_DATA, "" },
/*827*/ { "[80]1234", ZINT_ERROR_INVALID_DATA, "" },
/*828*/ { "[800]1234", ZINT_ERROR_INVALID_DATA, "" },
/*829*/ { "[8000]1234", ZINT_ERROR_INVALID_DATA, "" },
/*830*/ { "[8001]12345678901234", ZINT_WARN_NONCOMPLIANT, "800112345678901234" },
/*831*/ { "[8001]12345678901204", 0, "800112345678901204" },
/*832*/ { "[8001]1234123456789012345", ZINT_ERROR_INVALID_DATA, "" },
/*833*/ { "[8002]abcdefghijklmnopqrst", 0, "8002abcdefghijklmnopqrst" },
/*834*/ { "[8002]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*835*/ { "[8003]01234567890123abcdefghijklmnop", ZINT_WARN_NONCOMPLIANT, "800301234567890123abcdefghijklmnop" },
/*836*/ { "[8003]01234567890128abcdefghijklmnop", 0, "800301234567890128abcdefghijklmnop" },
/*837*/ { "[8003]01234567890128abcdefghijklmnopq", ZINT_ERROR_INVALID_DATA, "" },
/*838*/ { "[8004]abcdefghijklmnopqrstuvwxyz1234", ZINT_WARN_NONCOMPLIANT, "8004abcdefghijklmnopqrstuvwxyz1234" },
/*839*/ { "[8004]12cdefghijklmnopqrstuvwxyz1234", 0, "800412cdefghijklmnopqrstuvwxyz1234" },
/*840*/ { "[8004]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" },
/*841*/ { "[8005]123456", 0, "8005123456" },
/*842*/ { "[8005]12345", ZINT_ERROR_INVALID_DATA, "" },
/*843*/ { "[8005]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*844*/ { "[8006]123456789012341212", ZINT_WARN_NONCOMPLIANT, "8006123456789012341212" },
/*845*/ { "[8006]123456789012311212", 0, "8006123456789012311212" },
/*846*/ { "[8006]12345678901234121", ZINT_ERROR_INVALID_DATA, "" },
/*847*/ { "[8006]1234567890123412123", ZINT_ERROR_INVALID_DATA, "" },
/*848*/ { "[8007]abcdefghijklmnopqrstuvwxyz12345678", ZINT_WARN_NONCOMPLIANT, "8007abcdefghijklmnopqrstuvwxyz12345678" },
/*849*/ { "[8007]AD95EFGHIJKLMNOPQRSTUVWXYZ12345678", 0, "8007AD95EFGHIJKLMNOPQRSTUVWXYZ12345678" },
/*850*/ { "[8007]AD95EFGHIJKLMNOPQRSTUVWXYZ123456789", ZINT_ERROR_INVALID_DATA, "" },
/*851*/ { "[8008]123456121212", ZINT_WARN_NONCOMPLIANT, "8008123456121212" },
/*852*/ { "[8008]121256121212", ZINT_WARN_NONCOMPLIANT, "8008121256121212" },
/*853*/ { "[8008]121231121212", 0, "8008121231121212" },
/*854*/ { "[8008]1234561212", ZINT_WARN_NONCOMPLIANT, "80081234561212" },
/*855*/ { "[8008]1212311212", 0, "80081212311212" },
/*856*/ { "[8008]12345612", ZINT_WARN_NONCOMPLIANT, "800812345612" },
/*857*/ { "[8008]12010112", 0, "800812010112" },
/*858*/ { "[8008]1234561", ZINT_ERROR_INVALID_DATA, "" },
/*859*/ { "[8008]123456121", ZINT_ERROR_INVALID_DATA, "" },
/*860*/ { "[8008]12345612121", ZINT_ERROR_INVALID_DATA, "" },
/*861*/ { "[8008]1234561212123", ZINT_ERROR_INVALID_DATA, "" },
/*862*/ { "[8009]12345678901234567890123456789012345678901234567890", 0, "800912345678901234567890123456789012345678901234567890" },
/*863*/ { "[8009]123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*864*/ { "[8010]1234abcdefghijklmnopqrstuvwxyz1", ZINT_ERROR_INVALID_DATA, "" },
/*865*/ { "[8011]123456789012", 0, "8011123456789012" },
/*866*/ { "[8011]1234567890123", ZINT_ERROR_INVALID_DATA, "" },
/*867*/ { "[8012]abcdefghijklmnopqrst", 0, "8012abcdefghijklmnopqrst" },
/*868*/ { "[8012]abcdefghijklmnopqrstuv", ZINT_ERROR_INVALID_DATA, "" },
/*869*/ { "[8013]1234abcdefghijklmnopqrsQP", 0, "80131234abcdefghijklmnopqrsQP" },
/*870*/ { "[8013]1234abcdefghijklmnopqrsQPv", ZINT_ERROR_INVALID_DATA, "" },
/*871*/ { "[8014]1234", ZINT_ERROR_INVALID_DATA, "" },
/*872*/ { "[8016]1234", ZINT_ERROR_INVALID_DATA, "" },
/*873*/ { "[8017]313131313131313139", ZINT_WARN_NONCOMPLIANT, "8017313131313131313139" },
/*874*/ { "[8017]313131313131313131", 0, "8017313131313131313131" },
/*875*/ { "[8017]31313131313131313", ZINT_ERROR_INVALID_DATA, "" },
/*876*/ { "[8017]3131313131313131390", ZINT_ERROR_INVALID_DATA, "" },
/*877*/ { "[8018]313131313131313139", ZINT_WARN_NONCOMPLIANT, "8018313131313131313139" },
/*878*/ { "[8018]313131313131313131", 0, "8018313131313131313131" },
/*879*/ { "[8018]31313131313131313", ZINT_ERROR_INVALID_DATA, "" },
/*880*/ { "[8018]3131313131313131390", ZINT_ERROR_INVALID_DATA, "" },
/*881*/ { "[8019]1234567890", 0, "80191234567890" },
/*882*/ { "[8019]12345678901", ZINT_ERROR_INVALID_DATA, "" },
/*883*/ { "[8020]abcdefghijklmnopqrstuvwxy", 0, "8020abcdefghijklmnopqrstuvwxy" },
/*884*/ { "[8020]abcdefghijklmnopqrstuvwxyz", ZINT_ERROR_INVALID_DATA, "" },
/*885*/ { "[8021]1234", ZINT_ERROR_INVALID_DATA, "" },
/*886*/ { "[8025]1234", ZINT_ERROR_INVALID_DATA, "" },
/*887*/ { "[8026]123456789012341212", ZINT_WARN_NONCOMPLIANT, "8026123456789012341212" },
/*888*/ { "[8026]123456789012311212", 0, "8026123456789012311212" },
/*889*/ { "[8026]1234567890123451212", ZINT_ERROR_INVALID_DATA, "" },
/*890*/ { "[8026]12345678901234512", ZINT_ERROR_INVALID_DATA, "" },
/*891*/ { "[8027]1234", ZINT_ERROR_INVALID_DATA, "" },
/*892*/ { "[8030]-1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, "8030-1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ" },
/*893*/ { "[8030]-1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ1", ZINT_ERROR_INVALID_DATA, "" },
/*894*/ { "[8031]1234", ZINT_ERROR_INVALID_DATA, "" },
/*895*/ { "[8040]1234", ZINT_ERROR_INVALID_DATA, "" },
/*896*/ { "[8050]1234", ZINT_ERROR_INVALID_DATA, "" },
/*897*/ { "[8060]1234", ZINT_ERROR_INVALID_DATA, "" },
/*898*/ { "[8070]1234", ZINT_ERROR_INVALID_DATA, "" },
/*899*/ { "[8080]1234", ZINT_ERROR_INVALID_DATA, "" },
/*900*/ { "[8090]1234", ZINT_ERROR_INVALID_DATA, "" },
/*901*/ { "[8099]1234", ZINT_ERROR_INVALID_DATA, "" },
/*902*/ { "[81]1234", ZINT_ERROR_INVALID_DATA, "" },
/*903*/ { "[8100]1234", ZINT_ERROR_INVALID_DATA, "" },
/*904*/ { "[8109]1234", ZINT_ERROR_INVALID_DATA, "" },
/*905*/ { "[8110]5123456789011234565123455123450123105123450123512345678901320123190000", 0, "81105123456789011234565123455123450123105123450123512345678901320123190000" },
/*906*/ { "[8110]51234567890112345651234551234501231051234501235123456789013201231900001", ZINT_ERROR_INVALID_DATA, "" },
/*907*/ { "[8111]1234", 0, "81111234" },
/*908*/ { "[8111]12345", ZINT_ERROR_INVALID_DATA, "" },
/*909*/ { "[8111]123", ZINT_ERROR_INVALID_DATA, "" },
/*910*/ { "[8112]1234567890123456789012345678901234567890123456789012345678901234567890", ZINT_WARN_NONCOMPLIANT, "81121234567890123456789012345678901234567890123456789012345678901234567890" },
/*911*/ { "[8112]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*912*/ { "[8112]061234567890121234569123456789012345", 0, "8112061234567890121234569123456789012345" },
/*913*/ { "[8113]1234", ZINT_ERROR_INVALID_DATA, "" },
/*914*/ { "[8120]1234", ZINT_ERROR_INVALID_DATA, "" },
/*915*/ { "[8130]1234", ZINT_ERROR_INVALID_DATA, "" },
/*916*/ { "[8140]1234", ZINT_ERROR_INVALID_DATA, "" },
/*917*/ { "[8150]1234", ZINT_ERROR_INVALID_DATA, "" },
/*918*/ { "[8190]1234", ZINT_ERROR_INVALID_DATA, "" },
/*919*/ { "[8199]1234", ZINT_ERROR_INVALID_DATA, "" },
/*920*/ { "[82]1234", ZINT_ERROR_INVALID_DATA, "" },
/*921*/ { "[8200]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "82001234567890123456789012345678901234567890123456789012345678901234567890" },
/*922*/ { "[8201]1234", ZINT_ERROR_INVALID_DATA, "" },
/*923*/ { "[8210]1234", ZINT_ERROR_INVALID_DATA, "" },
/*924*/ { "[8220]1234", ZINT_ERROR_INVALID_DATA, "" },
/*925*/ { "[8230]1234", ZINT_ERROR_INVALID_DATA, "" },
/*926*/ { "[8240]1234", ZINT_ERROR_INVALID_DATA, "" },
/*927*/ { "[8250]1234", ZINT_ERROR_INVALID_DATA, "" },
/*928*/ { "[8290]1234", ZINT_ERROR_INVALID_DATA, "" },
/*929*/ { "[8299]1234", ZINT_ERROR_INVALID_DATA, "" },
/*930*/ { "[83]1234", ZINT_ERROR_INVALID_DATA, "" },
/*931*/ { "[830]1234", ZINT_ERROR_INVALID_DATA, "" },
/*932*/ { "[8300]1234", ZINT_ERROR_INVALID_DATA, "" },
/*933*/ { "[84]1234", ZINT_ERROR_INVALID_DATA, "" },
/*934*/ { "[840]1234", ZINT_ERROR_INVALID_DATA, "" },
/*935*/ { "[8400]1234", ZINT_ERROR_INVALID_DATA, "" },
/*936*/ { "[85]1234", ZINT_ERROR_INVALID_DATA, "" },
/*937*/ { "[850]1234", ZINT_ERROR_INVALID_DATA, "" },
/*938*/ { "[8500]1234", ZINT_ERROR_INVALID_DATA, "" },
/*939*/ { "[89]1234", ZINT_ERROR_INVALID_DATA, "" },
/*940*/ { "[890]1234", ZINT_ERROR_INVALID_DATA, "" },
/*941*/ { "[8900]1234", ZINT_ERROR_INVALID_DATA, "" },
/*942*/ { "[90]abcdefghijklmnopqrstuvwxyz1234", 0, "90abcdefghijklmnopqrstuvwxyz1234" },
/*943*/ { "[90]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" },
/*944*/ { "[900]1234", ZINT_ERROR_INVALID_DATA, "" },
/*945*/ { "[9000]1234", ZINT_ERROR_INVALID_DATA, "" },
/*946*/ { "[91]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "91123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*947*/ { "[91]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*948*/ { "[910]1234", ZINT_ERROR_INVALID_DATA, "" },
/*949*/ { "[9100]1234", ZINT_ERROR_INVALID_DATA, "" },
/*950*/ { "[92]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "92123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*951*/ { "[92]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*952*/ { "[920]1234", ZINT_ERROR_INVALID_DATA, "" },
/*953*/ { "[9200]1234", ZINT_ERROR_INVALID_DATA, "" },
/*954*/ { "[93]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "93123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*955*/ { "[93]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*956*/ { "[930]1234", ZINT_ERROR_INVALID_DATA, "" },
/*957*/ { "[9300]1234", ZINT_ERROR_INVALID_DATA, "" },
/*958*/ { "[94]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "94123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*959*/ { "[94]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*960*/ { "[940]1234", ZINT_ERROR_INVALID_DATA, "" },
/*961*/ { "[9400]1234", ZINT_ERROR_INVALID_DATA, "" },
/*962*/ { "[95]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "95123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*963*/ { "[95]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*964*/ { "[950]1234", ZINT_ERROR_INVALID_DATA, "" },
/*965*/ { "[9500]1234", ZINT_ERROR_INVALID_DATA, "" },
/*966*/ { "[96]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "96123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*967*/ { "[96]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*968*/ { "[960]1234", ZINT_ERROR_INVALID_DATA, "" },
/*969*/ { "[9600]1234", ZINT_ERROR_INVALID_DATA, "" },
/*970*/ { "[97]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "97123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*971*/ { "[97]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*972*/ { "[970]1234", ZINT_ERROR_INVALID_DATA, "" },
/*973*/ { "[9700]1234", ZINT_ERROR_INVALID_DATA, "" },
/*974*/ { "[98]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "98123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*975*/ { "[98]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*976*/ { "[980]1234", ZINT_ERROR_INVALID_DATA, "" },
/*977*/ { "[9800]1234", ZINT_ERROR_INVALID_DATA, "" },
/*978*/ { "[99]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "99123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*979*/ { "[99]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*980*/ { "[990]1234", ZINT_ERROR_INVALID_DATA, "" },
/*981*/ { "[9900]1234", ZINT_ERROR_INVALID_DATA, "" },
/*982*/ { "[9999]1234", ZINT_ERROR_INVALID_DATA, "" },
/*983*/ { "[01]12345678901234[7006]200101", ZINT_WARN_NONCOMPLIANT, "01123456789012347006200101" },
/*984*/ { "[01]12345678901231[7006]200101", 0, "01123456789012317006200101" },
/*985*/ { "[3900]1234567890[01]12345678901234", ZINT_WARN_NONCOMPLIANT, "39001234567890[0112345678901234" },
/*986*/ { "[3900]1234567890[01]12345678901231", 0, "39001234567890[0112345678901231" },
/*987*/ { "[253]12345678901234[3901]12345678901234[20]12", ZINT_WARN_NONCOMPLIANT, "25312345678901234[390112345678901234[2012" },
/*988*/ { "[253]12345678901284[3901]12345678901234[20]12", 0, "25312345678901284[390112345678901234[2012" },
/*989*/ { "[253]12345678901234[01]12345678901234[3901]12345678901234[20]12", ZINT_WARN_NONCOMPLIANT, "25312345678901234[0112345678901234390112345678901234[2012" },
/*990*/ { "[253]12345678901284[01]12345678901231[3901]12345678901234[20]12", 0, "25312345678901284[0112345678901231390112345678901234[2012" },
/*991*/ { "[01]12345678901231[0A]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "" },
/*992*/ { "[01]12345678901231[0]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "" },
/*993*/ { "[01]12345678901231[]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "" },
/*662*/ { "[4330]121212", 0, "4330121212" },
/*663*/ { "[4331]121212-", 0, "4331121212-" },
/*664*/ { "[4332]121212", 0, "4332121212" },
/*665*/ { "[4333]121212-", 0, "4333121212-" },
/*666*/ { "[4334]121212", ZINT_ERROR_INVALID_DATA, "" },
/*667*/ { "[44]1234", ZINT_ERROR_INVALID_DATA, "" },
/*668*/ { "[440]1234", ZINT_ERROR_INVALID_DATA, "" },
/*669*/ { "[4400]1234", ZINT_ERROR_INVALID_DATA, "" },
/*670*/ { "[49]1234", ZINT_ERROR_INVALID_DATA, "" },
/*671*/ { "[490]1234", ZINT_ERROR_INVALID_DATA, "" },
/*672*/ { "[4900]1234", ZINT_ERROR_INVALID_DATA, "" },
/*673*/ { "[499]1234", ZINT_ERROR_INVALID_DATA, "" },
/*674*/ { "[4990]1234", ZINT_ERROR_INVALID_DATA, "" },
/*675*/ { "[50]1234", ZINT_ERROR_INVALID_DATA, "" },
/*676*/ { "[500]1234", ZINT_ERROR_INVALID_DATA, "" },
/*677*/ { "[5000]1234", ZINT_ERROR_INVALID_DATA, "" },
/*678*/ { "[51]1234", ZINT_ERROR_INVALID_DATA, "" },
/*679*/ { "[510]1234", ZINT_ERROR_INVALID_DATA, "" },
/*680*/ { "[5100]1234", ZINT_ERROR_INVALID_DATA, "" },
/*681*/ { "[59]1234", ZINT_ERROR_INVALID_DATA, "" },
/*682*/ { "[590]1234", ZINT_ERROR_INVALID_DATA, "" },
/*683*/ { "[5900]1234", ZINT_ERROR_INVALID_DATA, "" },
/*684*/ { "[60]1234", ZINT_ERROR_INVALID_DATA, "" },
/*685*/ { "[600]1234", ZINT_ERROR_INVALID_DATA, "" },
/*686*/ { "[6000]1234", ZINT_ERROR_INVALID_DATA, "" },
/*687*/ { "[61]1234", ZINT_ERROR_INVALID_DATA, "" },
/*688*/ { "[610]1234", ZINT_ERROR_INVALID_DATA, "" },
/*689*/ { "[6100]1234", ZINT_ERROR_INVALID_DATA, "" },
/*690*/ { "[69]1234", ZINT_ERROR_INVALID_DATA, "" },
/*691*/ { "[690]1234", ZINT_ERROR_INVALID_DATA, "" },
/*692*/ { "[6900]1234", ZINT_ERROR_INVALID_DATA, "" },
/*693*/ { "[70]1234", ZINT_ERROR_INVALID_DATA, "" },
/*694*/ { "[700]1234", ZINT_ERROR_INVALID_DATA, "" },
/*695*/ { "[7000]1234", ZINT_ERROR_INVALID_DATA, "" },
/*696*/ { "[7001]1234567890123", 0, "70011234567890123" },
/*697*/ { "[7001]123456789012", ZINT_ERROR_INVALID_DATA, "" },
/*698*/ { "[7002]abcdefghijklmnopqrstuvwxyz1234", 0, "7002abcdefghijklmnopqrstuvwxyz1234" },
/*699*/ { "[7002]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" },
/*700*/ { "[7003]1212121212", 0, "70031212121212" },
/*701*/ { "[7003]121212121", ZINT_ERROR_INVALID_DATA, "" },
/*702*/ { "[7004]1234", 0, "70041234" },
/*703*/ { "[7004]12345", ZINT_ERROR_INVALID_DATA, "" },
/*704*/ { "[7005]abcdefghijkl", 0, "7005abcdefghijkl" },
/*705*/ { "[7005]abcdefghijklm", ZINT_ERROR_INVALID_DATA, "" },
/*706*/ { "[7006]200132", ZINT_WARN_NONCOMPLIANT, "7006200132" },
/*707*/ { "[7006]200100", ZINT_WARN_NONCOMPLIANT, "7006200100" },
/*708*/ { "[7006]200120", 0, "7006200120" },
/*709*/ { "[7006]2001320", ZINT_ERROR_INVALID_DATA, "" },
/*710*/ { "[7007]010101121212", 0, "7007010101121212" },
/*711*/ { "[7007]01010112121", ZINT_ERROR_INVALID_DATA, "" },
/*712*/ { "[7007]A1010112121", ZINT_ERROR_INVALID_DATA, "" },
/*713*/ { "[7007]121212", 0, "7007121212" },
/*714*/ { "[7007]12121", ZINT_ERROR_INVALID_DATA, "" },
/*715*/ { "[7007]1212121", ZINT_ERROR_INVALID_DATA, "" },
/*716*/ { "[7008]abc", 0, "7008abc" },
/*717*/ { "[7008]abcd", ZINT_ERROR_INVALID_DATA, "" },
/*718*/ { "[7009]abcdefghij", 0, "7009abcdefghij" },
/*719*/ { "[7009]abcdefghijk", ZINT_ERROR_INVALID_DATA, "" },
/*720*/ { "[7010]01", 0, "701001" },
/*721*/ { "[7010]1", 0, "70101" },
/*722*/ { "[7010]012", ZINT_ERROR_INVALID_DATA, "" },
/*723*/ { "[7011]121212", 0, "7011121212" },
/*724*/ { "[7011]1212121212", 0, "70111212121212" },
/*725*/ { "[7011]12121", ZINT_ERROR_INVALID_DATA, "" },
/*726*/ { "[7011]121212121", ZINT_ERROR_INVALID_DATA, "" },
/*727*/ { "[7012]1234", ZINT_ERROR_INVALID_DATA, "" },
/*728*/ { "[7019]1234", ZINT_ERROR_INVALID_DATA, "" },
/*729*/ { "[7020]abcdefghijklmnopqrst", 0, "7020abcdefghijklmnopqrst" },
/*730*/ { "[7020]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*731*/ { "[7021]abcdefghijklmnopqrst", 0, "7021abcdefghijklmnopqrst" },
/*732*/ { "[7021]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*733*/ { "[7022]abcdefghijklmnopqrst", 0, "7022abcdefghijklmnopqrst" },
/*734*/ { "[7022]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*735*/ { "[7023]1234abcdefghijklmnopqrstuvwxyz", 0, "70231234abcdefghijklmnopqrstuvwxyz" },
/*736*/ { "[7023]1234abcdefghijklmnopqrstuvwxyza", ZINT_ERROR_INVALID_DATA, "" },
/*737*/ { "[7024]1234", ZINT_ERROR_INVALID_DATA, "" },
/*738*/ { "[7025]1234", ZINT_ERROR_INVALID_DATA, "" },
/*739*/ { "[7029]1234", ZINT_ERROR_INVALID_DATA, "" },
/*740*/ { "[7030]123abcdefghijklmnopqrstuvwxyza", ZINT_WARN_NONCOMPLIANT, "7030123abcdefghijklmnopqrstuvwxyza" },
/*741*/ { "[7030]004abcdefghijklmnopqrstuvwxyza", 0, "7030004abcdefghijklmnopqrstuvwxyza" },
/*742*/ { "[7030]123abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*743*/ { "[7031]123abcdefghijklmnopqrstuvwxyza", ZINT_WARN_NONCOMPLIANT, "7031123abcdefghijklmnopqrstuvwxyza" },
/*744*/ { "[7031]004abcdefghijklmnopqrstuvwxyza", 0, "7031004abcdefghijklmnopqrstuvwxyza" },
/*745*/ { "[7031]123abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*746*/ { "[7032]004abcdefghijklmnopqrstuvwxyza", 0, "7032004abcdefghijklmnopqrstuvwxyza" },
/*747*/ { "[7032]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*748*/ { "[7033]004abcdefghijklmnopqrstuvwxyza", 0, "7033004abcdefghijklmnopqrstuvwxyza" },
/*749*/ { "[7033]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*750*/ { "[7034]004abcdefghijklmnopqrstuvwxyza", 0, "7034004abcdefghijklmnopqrstuvwxyza" },
/*751*/ { "[7034]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*752*/ { "[7035]004abcdefghijklmnopqrstuvwxyza", 0, "7035004abcdefghijklmnopqrstuvwxyza" },
/*753*/ { "[7035]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*754*/ { "[7036]004abcdefghijklmnopqrstuvwxyza", 0, "7036004abcdefghijklmnopqrstuvwxyza" },
/*755*/ { "[7036]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*756*/ { "[7037]004abcdefghijklmnopqrstuvwxyza", 0, "7037004abcdefghijklmnopqrstuvwxyza" },
/*757*/ { "[7037]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*758*/ { "[7038]004abcdefghijklmnopqrstuvwxyza", 0, "7038004abcdefghijklmnopqrstuvwxyza" },
/*759*/ { "[7038]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*760*/ { "[7039]004abcdefghijklmnopqrstuvwxyza", 0, "7039004abcdefghijklmnopqrstuvwxyza" },
/*761*/ { "[7039]123abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
/*762*/ { "[7040]1abc", 0, "70401abc" },
/*763*/ { "[7040]1ab", ZINT_ERROR_INVALID_DATA, "" },
/*764*/ { "[7040]1abcd", ZINT_ERROR_INVALID_DATA, "" },
/*765*/ { "[7041]1234", ZINT_ERROR_INVALID_DATA, "" },
/*766*/ { "[7042]1234", ZINT_ERROR_INVALID_DATA, "" },
/*767*/ { "[7050]1234", ZINT_ERROR_INVALID_DATA, "" },
/*768*/ { "[7090]1234", ZINT_ERROR_INVALID_DATA, "" },
/*769*/ { "[7099]1234", ZINT_ERROR_INVALID_DATA, "" },
/*770*/ { "[71]1234", ZINT_ERROR_INVALID_DATA, "" },
/*771*/ { "[710]abcdefghijklmnopqrst", 0, "710abcdefghijklmnopqrst" },
/*772*/ { "[710]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*773*/ { "[7100]1234", ZINT_ERROR_INVALID_DATA, "" },
/*774*/ { "[711]abcdefghijklmnopqrst", 0, "711abcdefghijklmnopqrst" },
/*775*/ { "[711]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*776*/ { "[712]abcdefghijklmnopqrst", 0, "712abcdefghijklmnopqrst" },
/*777*/ { "[712]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*778*/ { "[713]abcdefghijklmnopqrst", 0, "713abcdefghijklmnopqrst" },
/*779*/ { "[713]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*780*/ { "[714]abcdefghijklmnopqrst", 0, "714abcdefghijklmnopqrst" },
/*781*/ { "[714]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*782*/ { "[715]abcdefghijklmnopqrst", 0, "715abcdefghijklmnopqrst" },
/*783*/ { "[715]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*784*/ { "[716]1234", ZINT_ERROR_INVALID_DATA, "" },
/*785*/ { "[719]1234", ZINT_ERROR_INVALID_DATA, "" },
/*786*/ { "[72]1234", ZINT_ERROR_INVALID_DATA, "" },
/*787*/ { "[720]1234", ZINT_ERROR_INVALID_DATA, "" },
/*788*/ { "[7200]1234", ZINT_ERROR_INVALID_DATA, "" },
/*789*/ { "[721]1234", ZINT_ERROR_INVALID_DATA, "" },
/*790*/ { "[7210]1234", ZINT_ERROR_INVALID_DATA, "" },
/*791*/ { "[7220]1234", ZINT_ERROR_INVALID_DATA, "" },
/*792*/ { "[7230]EMabcdefghijklmnopqrstuvwxyzab", 0, "7230EMabcdefghijklmnopqrstuvwxyzab" },
/*793*/ { "[7230]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*794*/ { "[7230]EM", ZINT_ERROR_INVALID_DATA, "" },
/*795*/ { "[7231]EMabcdefghijklmnopqrstuvwxyzab", 0, "7231EMabcdefghijklmnopqrstuvwxyzab" },
/*796*/ { "[7231]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*797*/ { "[7232]EMabcdefghijklmnopqrstuvwxyzab", 0, "7232EMabcdefghijklmnopqrstuvwxyzab" },
/*798*/ { "[7232]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*799*/ { "[7233]EMabcdefghijklmnopqrstuvwxyzab", 0, "7233EMabcdefghijklmnopqrstuvwxyzab" },
/*800*/ { "[7233]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*801*/ { "[7234]EMabcdefghijklmnopqrstuvwxyzab", 0, "7234EMabcdefghijklmnopqrstuvwxyzab" },
/*802*/ { "[7234]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*803*/ { "[7235]EMabcdefghijklmnopqrstuvwxyzab", 0, "7235EMabcdefghijklmnopqrstuvwxyzab" },
/*804*/ { "[7235]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*805*/ { "[7236]EMabcdefghijklmnopqrstuvwxyzab", 0, "7236EMabcdefghijklmnopqrstuvwxyzab" },
/*806*/ { "[7236]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*807*/ { "[7237]EMabcdefghijklmnopqrstuvwxyzab", 0, "7237EMabcdefghijklmnopqrstuvwxyzab" },
/*808*/ { "[7237]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*809*/ { "[7238]EMabcdefghijklmnopqrstuvwxyzab", 0, "7238EMabcdefghijklmnopqrstuvwxyzab" },
/*810*/ { "[7238]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*811*/ { "[7239]EMabcdefghijklmnopqrstuvwxyzab", 0, "7239EMabcdefghijklmnopqrstuvwxyzab" },
/*812*/ { "[7239]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
/*813*/ { "[7239]E", ZINT_ERROR_INVALID_DATA, "" },
/*814*/ { "[7240]abcdefghijklmnopqrst", 0, "7240abcdefghijklmnopqrst" },
/*815*/ { "[7240]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*816*/ { "[7241]99", 0, "724199" },
/*817*/ { "[7241]100", ZINT_ERROR_INVALID_DATA, "" },
/*818*/ { "[7242]abcdefghijklmnopqrstuvwxy", 0, "7242abcdefghijklmnopqrstuvwxy" },
/*819*/ { "[7242]abcdefghijklmnopqrstuvwxyz", ZINT_ERROR_INVALID_DATA, "" },
/*820*/ { "[7243]1234", ZINT_ERROR_INVALID_DATA, "" },
/*821*/ { "[7249]1234", ZINT_ERROR_INVALID_DATA, "" },
/*822*/ { "[7250]1234", ZINT_ERROR_INVALID_DATA, "" },
/*823*/ { "[7299]1234", ZINT_ERROR_INVALID_DATA, "" },
/*824*/ { "[73]1234", ZINT_ERROR_INVALID_DATA, "" },
/*825*/ { "[7300]1234", ZINT_ERROR_INVALID_DATA, "" },
/*826*/ { "[74]1234", ZINT_ERROR_INVALID_DATA, "" },
/*827*/ { "[7400]1234", ZINT_ERROR_INVALID_DATA, "" },
/*828*/ { "[79]1234", ZINT_ERROR_INVALID_DATA, "" },
/*829*/ { "[7900]1234", ZINT_ERROR_INVALID_DATA, "" },
/*830*/ { "[7999]1234", ZINT_ERROR_INVALID_DATA, "" },
/*831*/ { "[80]1234", ZINT_ERROR_INVALID_DATA, "" },
/*832*/ { "[800]1234", ZINT_ERROR_INVALID_DATA, "" },
/*833*/ { "[8000]1234", ZINT_ERROR_INVALID_DATA, "" },
/*834*/ { "[8001]12345678901234", ZINT_WARN_NONCOMPLIANT, "800112345678901234" },
/*835*/ { "[8001]12345678901204", 0, "800112345678901204" },
/*836*/ { "[8001]1234123456789012345", ZINT_ERROR_INVALID_DATA, "" },
/*837*/ { "[8002]abcdefghijklmnopqrst", 0, "8002abcdefghijklmnopqrst" },
/*838*/ { "[8002]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
/*839*/ { "[8003]01234567890123abcdefghijklmnop", ZINT_WARN_NONCOMPLIANT, "800301234567890123abcdefghijklmnop" },
/*840*/ { "[8003]01234567890128abcdefghijklmnop", 0, "800301234567890128abcdefghijklmnop" },
/*841*/ { "[8003]01234567890128abcdefghijklmnopq", ZINT_ERROR_INVALID_DATA, "" },
/*842*/ { "[8004]abcdefghijklmnopqrstuvwxyz1234", ZINT_WARN_NONCOMPLIANT, "8004abcdefghijklmnopqrstuvwxyz1234" },
/*843*/ { "[8004]12cdefghijklmnopqrstuvwxyz1234", 0, "800412cdefghijklmnopqrstuvwxyz1234" },
/*844*/ { "[8004]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" },
/*845*/ { "[8005]123456", 0, "8005123456" },
/*846*/ { "[8005]12345", ZINT_ERROR_INVALID_DATA, "" },
/*847*/ { "[8005]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*848*/ { "[8006]123456789012341212", ZINT_WARN_NONCOMPLIANT, "8006123456789012341212" },
/*849*/ { "[8006]123456789012311212", 0, "8006123456789012311212" },
/*850*/ { "[8006]12345678901234121", ZINT_ERROR_INVALID_DATA, "" },
/*851*/ { "[8006]1234567890123412123", ZINT_ERROR_INVALID_DATA, "" },
/*852*/ { "[8007]abcdefghijklmnopqrstuvwxyz12345678", ZINT_WARN_NONCOMPLIANT, "8007abcdefghijklmnopqrstuvwxyz12345678" },
/*853*/ { "[8007]AD95EFGHIJKLMNOPQRSTUVWXYZ12345678", 0, "8007AD95EFGHIJKLMNOPQRSTUVWXYZ12345678" },
/*854*/ { "[8007]AD95EFGHIJKLMNOPQRSTUVWXYZ123456789", ZINT_ERROR_INVALID_DATA, "" },
/*855*/ { "[8008]123456121212", ZINT_WARN_NONCOMPLIANT, "8008123456121212" },
/*856*/ { "[8008]121256121212", ZINT_WARN_NONCOMPLIANT, "8008121256121212" },
/*857*/ { "[8008]121231121212", 0, "8008121231121212" },
/*858*/ { "[8008]1234561212", ZINT_WARN_NONCOMPLIANT, "80081234561212" },
/*859*/ { "[8008]1212311212", 0, "80081212311212" },
/*860*/ { "[8008]12345612", ZINT_WARN_NONCOMPLIANT, "800812345612" },
/*861*/ { "[8008]12010112", 0, "800812010112" },
/*862*/ { "[8008]1234561", ZINT_ERROR_INVALID_DATA, "" },
/*863*/ { "[8008]123456121", ZINT_ERROR_INVALID_DATA, "" },
/*864*/ { "[8008]12345612121", ZINT_ERROR_INVALID_DATA, "" },
/*865*/ { "[8008]1234561212123", ZINT_ERROR_INVALID_DATA, "" },
/*866*/ { "[8009]12345678901234567890123456789012345678901234567890", 0, "800912345678901234567890123456789012345678901234567890" },
/*867*/ { "[8009]123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*868*/ { "[8010]1234abcdefghijklmnopqrstuvwxyz1", ZINT_ERROR_INVALID_DATA, "" },
/*869*/ { "[8011]123456789012", 0, "8011123456789012" },
/*870*/ { "[8011]1234567890123", ZINT_ERROR_INVALID_DATA, "" },
/*871*/ { "[8012]abcdefghijklmnopqrst", 0, "8012abcdefghijklmnopqrst" },
/*872*/ { "[8012]abcdefghijklmnopqrstuv", ZINT_ERROR_INVALID_DATA, "" },
/*873*/ { "[8013]1234abcdefghijklmnopqrsQP", 0, "80131234abcdefghijklmnopqrsQP" },
/*874*/ { "[8013]1234abcdefghijklmnopqrsQPv", ZINT_ERROR_INVALID_DATA, "" },
/*875*/ { "[8014]1234", ZINT_ERROR_INVALID_DATA, "" },
/*876*/ { "[8016]1234", ZINT_ERROR_INVALID_DATA, "" },
/*877*/ { "[8017]313131313131313139", ZINT_WARN_NONCOMPLIANT, "8017313131313131313139" },
/*878*/ { "[8017]313131313131313131", 0, "8017313131313131313131" },
/*879*/ { "[8017]31313131313131313", ZINT_ERROR_INVALID_DATA, "" },
/*880*/ { "[8017]3131313131313131390", ZINT_ERROR_INVALID_DATA, "" },
/*881*/ { "[8018]313131313131313139", ZINT_WARN_NONCOMPLIANT, "8018313131313131313139" },
/*882*/ { "[8018]313131313131313131", 0, "8018313131313131313131" },
/*883*/ { "[8018]31313131313131313", ZINT_ERROR_INVALID_DATA, "" },
/*884*/ { "[8018]3131313131313131390", ZINT_ERROR_INVALID_DATA, "" },
/*885*/ { "[8019]1234567890", 0, "80191234567890" },
/*886*/ { "[8019]12345678901", ZINT_ERROR_INVALID_DATA, "" },
/*887*/ { "[8020]abcdefghijklmnopqrstuvwxy", 0, "8020abcdefghijklmnopqrstuvwxy" },
/*888*/ { "[8020]abcdefghijklmnopqrstuvwxyz", ZINT_ERROR_INVALID_DATA, "" },
/*889*/ { "[8021]1234", ZINT_ERROR_INVALID_DATA, "" },
/*890*/ { "[8025]1234", ZINT_ERROR_INVALID_DATA, "" },
/*891*/ { "[8026]123456789012341212", ZINT_WARN_NONCOMPLIANT, "8026123456789012341212" },
/*892*/ { "[8026]123456789012311212", 0, "8026123456789012311212" },
/*893*/ { "[8026]1234567890123451212", ZINT_ERROR_INVALID_DATA, "" },
/*894*/ { "[8026]12345678901234512", ZINT_ERROR_INVALID_DATA, "" },
/*895*/ { "[8027]1234", ZINT_ERROR_INVALID_DATA, "" },
/*896*/ { "[8030]-1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, "8030-1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ" },
/*897*/ { "[8030]-1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ1", ZINT_ERROR_INVALID_DATA, "" },
/*898*/ { "[8031]1234", ZINT_ERROR_INVALID_DATA, "" },
/*899*/ { "[8040]1234", ZINT_ERROR_INVALID_DATA, "" },
/*900*/ { "[8050]1234", ZINT_ERROR_INVALID_DATA, "" },
/*901*/ { "[8060]1234", ZINT_ERROR_INVALID_DATA, "" },
/*902*/ { "[8070]1234", ZINT_ERROR_INVALID_DATA, "" },
/*903*/ { "[8080]1234", ZINT_ERROR_INVALID_DATA, "" },
/*904*/ { "[8090]1234", ZINT_ERROR_INVALID_DATA, "" },
/*905*/ { "[8099]1234", ZINT_ERROR_INVALID_DATA, "" },
/*906*/ { "[81]1234", ZINT_ERROR_INVALID_DATA, "" },
/*907*/ { "[8100]1234", ZINT_ERROR_INVALID_DATA, "" },
/*908*/ { "[8109]1234", ZINT_ERROR_INVALID_DATA, "" },
/*909*/ { "[8110]5123456789011234565123455123450123105123450123512345678901320123190000", 0, "81105123456789011234565123455123450123105123450123512345678901320123190000" },
/*910*/ { "[8110]51234567890112345651234551234501231051234501235123456789013201231900001", ZINT_ERROR_INVALID_DATA, "" },
/*911*/ { "[8111]1234", 0, "81111234" },
/*912*/ { "[8111]12345", ZINT_ERROR_INVALID_DATA, "" },
/*913*/ { "[8111]123", ZINT_ERROR_INVALID_DATA, "" },
/*914*/ { "[8112]1234567890123456789012345678901234567890123456789012345678901234567890", ZINT_WARN_NONCOMPLIANT, "81121234567890123456789012345678901234567890123456789012345678901234567890" },
/*915*/ { "[8112]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*916*/ { "[8112]061234567890121234569123456789012345", 0, "8112061234567890121234569123456789012345" },
/*917*/ { "[8113]1234", ZINT_ERROR_INVALID_DATA, "" },
/*918*/ { "[8120]1234", ZINT_ERROR_INVALID_DATA, "" },
/*919*/ { "[8130]1234", ZINT_ERROR_INVALID_DATA, "" },
/*920*/ { "[8140]1234", ZINT_ERROR_INVALID_DATA, "" },
/*921*/ { "[8150]1234", ZINT_ERROR_INVALID_DATA, "" },
/*922*/ { "[8190]1234", ZINT_ERROR_INVALID_DATA, "" },
/*923*/ { "[8199]1234", ZINT_ERROR_INVALID_DATA, "" },
/*924*/ { "[82]1234", ZINT_ERROR_INVALID_DATA, "" },
/*925*/ { "[8200]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "82001234567890123456789012345678901234567890123456789012345678901234567890" },
/*926*/ { "[8201]1234", ZINT_ERROR_INVALID_DATA, "" },
/*927*/ { "[8210]1234", ZINT_ERROR_INVALID_DATA, "" },
/*928*/ { "[8220]1234", ZINT_ERROR_INVALID_DATA, "" },
/*929*/ { "[8230]1234", ZINT_ERROR_INVALID_DATA, "" },
/*930*/ { "[8240]1234", ZINT_ERROR_INVALID_DATA, "" },
/*931*/ { "[8250]1234", ZINT_ERROR_INVALID_DATA, "" },
/*932*/ { "[8290]1234", ZINT_ERROR_INVALID_DATA, "" },
/*933*/ { "[8299]1234", ZINT_ERROR_INVALID_DATA, "" },
/*934*/ { "[83]1234", ZINT_ERROR_INVALID_DATA, "" },
/*935*/ { "[830]1234", ZINT_ERROR_INVALID_DATA, "" },
/*936*/ { "[8300]1234", ZINT_ERROR_INVALID_DATA, "" },
/*937*/ { "[84]1234", ZINT_ERROR_INVALID_DATA, "" },
/*938*/ { "[840]1234", ZINT_ERROR_INVALID_DATA, "" },
/*939*/ { "[8400]1234", ZINT_ERROR_INVALID_DATA, "" },
/*940*/ { "[85]1234", ZINT_ERROR_INVALID_DATA, "" },
/*941*/ { "[850]1234", ZINT_ERROR_INVALID_DATA, "" },
/*942*/ { "[8500]1234", ZINT_ERROR_INVALID_DATA, "" },
/*943*/ { "[89]1234", ZINT_ERROR_INVALID_DATA, "" },
/*944*/ { "[890]1234", ZINT_ERROR_INVALID_DATA, "" },
/*945*/ { "[8900]1234", ZINT_ERROR_INVALID_DATA, "" },
/*946*/ { "[90]abcdefghijklmnopqrstuvwxyz1234", 0, "90abcdefghijklmnopqrstuvwxyz1234" },
/*947*/ { "[90]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" },
/*948*/ { "[900]1234", ZINT_ERROR_INVALID_DATA, "" },
/*949*/ { "[9000]1234", ZINT_ERROR_INVALID_DATA, "" },
/*950*/ { "[91]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "91123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*951*/ { "[91]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*952*/ { "[910]1234", ZINT_ERROR_INVALID_DATA, "" },
/*953*/ { "[9100]1234", ZINT_ERROR_INVALID_DATA, "" },
/*954*/ { "[92]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "92123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*955*/ { "[92]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*956*/ { "[920]1234", ZINT_ERROR_INVALID_DATA, "" },
/*957*/ { "[9200]1234", ZINT_ERROR_INVALID_DATA, "" },
/*958*/ { "[93]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "93123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*959*/ { "[93]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*960*/ { "[930]1234", ZINT_ERROR_INVALID_DATA, "" },
/*961*/ { "[9300]1234", ZINT_ERROR_INVALID_DATA, "" },
/*962*/ { "[94]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "94123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*963*/ { "[94]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*964*/ { "[940]1234", ZINT_ERROR_INVALID_DATA, "" },
/*965*/ { "[9400]1234", ZINT_ERROR_INVALID_DATA, "" },
/*966*/ { "[95]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "95123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*967*/ { "[95]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*968*/ { "[950]1234", ZINT_ERROR_INVALID_DATA, "" },
/*969*/ { "[9500]1234", ZINT_ERROR_INVALID_DATA, "" },
/*970*/ { "[96]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "96123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*971*/ { "[96]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*972*/ { "[960]1234", ZINT_ERROR_INVALID_DATA, "" },
/*973*/ { "[9600]1234", ZINT_ERROR_INVALID_DATA, "" },
/*974*/ { "[97]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "97123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*975*/ { "[97]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*976*/ { "[970]1234", ZINT_ERROR_INVALID_DATA, "" },
/*977*/ { "[9700]1234", ZINT_ERROR_INVALID_DATA, "" },
/*978*/ { "[98]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "98123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*979*/ { "[98]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*980*/ { "[980]1234", ZINT_ERROR_INVALID_DATA, "" },
/*981*/ { "[9800]1234", ZINT_ERROR_INVALID_DATA, "" },
/*982*/ { "[99]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "99123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
/*983*/ { "[99]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
/*984*/ { "[990]1234", ZINT_ERROR_INVALID_DATA, "" },
/*985*/ { "[9900]1234", ZINT_ERROR_INVALID_DATA, "" },
/*986*/ { "[9999]1234", ZINT_ERROR_INVALID_DATA, "" },
/*987*/ { "[01]12345678901234[7006]200101", ZINT_WARN_NONCOMPLIANT, "01123456789012347006200101" },
/*988*/ { "[01]12345678901231[7006]200101", 0, "01123456789012317006200101" },
/*989*/ { "[3900]1234567890[01]12345678901234", ZINT_WARN_NONCOMPLIANT, "39001234567890[0112345678901234" },
/*990*/ { "[3900]1234567890[01]12345678901231", 0, "39001234567890[0112345678901231" },
/*991*/ { "[253]12345678901234[3901]12345678901234[20]12", ZINT_WARN_NONCOMPLIANT, "25312345678901234[390112345678901234[2012" },
/*992*/ { "[253]12345678901284[3901]12345678901234[20]12", 0, "25312345678901284[390112345678901234[2012" },
/*993*/ { "[253]12345678901234[01]12345678901234[3901]12345678901234[20]12", ZINT_WARN_NONCOMPLIANT, "25312345678901234[0112345678901234390112345678901234[2012" },
/*994*/ { "[253]12345678901284[01]12345678901231[3901]12345678901234[20]12", 0, "25312345678901284[0112345678901231390112345678901234[2012" },
/*995*/ { "[01]12345678901231[0A]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "" },
/*996*/ { "[01]12345678901231[0]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "" },
/*997*/ { "[01]12345678901231[]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "" },
};
int data_size = ARRAY_SIZE(data);
int i, length, ret;
@ -1782,6 +1786,11 @@ static void test_gs1_lint(const testCtx *const p_ctx) {
/*387*/ { "[8112]0A1234567890121234560123456", ZINT_WARN_NONCOMPLIANT, "81120A1234567890121234560123456", "261: AI (8112) position 2: Non-numeric Coupon Funder ID VLI 'A'" }, /* couponposoffer */
/*388*/ { "[8112]261234567890121234560123456", ZINT_WARN_NONCOMPLIANT, "8112261234567890121234560123456", "261: AI (8112) position 1: Coupon Format must be 0 or 1" }, /* couponposoffer */
/*389*/ { "[8112]A61234567890121234560123456", ZINT_WARN_NONCOMPLIANT, "8112A61234567890121234560123456", "261: AI (8112) position 1: Non-numeric Coupon Format" }, /* couponposoffer */
/*390*/ { "[4330]023020", 0, "4330023020", "" }, /* hyphen */
/*391*/ { "[4330]023020-", 0, "4330023020-", "" }, /* hyphen */
/*392*/ { "[4330]023020+", ZINT_WARN_NONCOMPLIANT, "4330023020+", "261: AI (4330) position 7: Invalid temperature indicator (hyphen only)" }, /* hyphen */
/*393*/ { "[4330]02302", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (4330)" }, /* hyphen */
/*394*/ { "[4330]02302000", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (4330)" }, /* hyphen */
};
int data_size = ARRAY_SIZE(data);
int i, length, ret;