#line 1 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" #line 81 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" #include "smtp_parsers.h" #line 10 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" static const short _smtp_addr_parser_key_offsets[] = { 0, 0, 18, 32, 46, 53, 61, 70, 78, 87, 91, 96, 106, 108, 111, 113, 116, 118, 121, 124, 125, 128, 129, 132, 133, 143, 153, 163, 173, 183, 192, 209, 227, 245, 263, 269, 287, 305, 323, 341, 347, 365, 383, 401, 419, 425, 443, 461, 479, 497, 503, 521, 539, 557, 575, 581, 599, 617, 635, 653, 659, 677, 696, 705, 715, 724, 734, 743, 752, 761, 766, 776, 782, 792, 798, 817, 836, 842, 859, 876, 893, 910, 915, 933, 951, 968, 986, 1004, 1022, 1028, 1045, 1063, 1081, 1099, 1105, 1122, 1140, 1158, 1176, 1182, 1199, 1217, 1235, 1253, 1259, 1276, 1294, 1312, 1330, 1336, 1354, 1371, 1390, 1409, 1428, 1434, 1451, 1470, 1489, 1508, 1514, 1531, 1550, 1569, 1588, 1594, 1611, 1630, 1649, 1668, 1674, 1691, 1710, 1729, 1748, 1766, 1784, 1802, 1820, 1838, 1856, 1874, 1892, 1910, 1928, 1946, 1964, 1970, 1974, 1978, 1979, 1981, 1985, 2000, 2015, 2029, 2043, 2050, 2061, 2063, 2071, 2079, 2088, 2096, 2105, 2109, 2114, 2117, 2127, 2129, 2132, 2134, 2137, 2139, 2142, 2145, 2146, 2149, 2150, 2153, 2154, 2164, 2174, 2184, 2194, 2204, 2213, 2230, 2248, 2266, 2284, 2290, 2308, 2326, 2344, 2362, 2368, 2386, 2404, 2422, 2440, 2446, 2464, 2482, 2500, 2518, 2524, 2542, 2560, 2578, 2596, 2602, 2620, 2638, 2656, 2674, 2680, 2698, 2717, 2726, 2736, 2745, 2755, 2764, 2773, 2782, 2787, 2797, 2803, 2813, 2819, 2838, 2857, 2863, 2880, 2897, 2914, 2931, 2936, 2954, 2972, 2989, 3007, 3025, 3043, 3049, 3066, 3084, 3102, 3120, 3126, 3143, 3161, 3179, 3197, 3203, 3220, 3238, 3256, 3274, 3280, 3297, 3315, 3333, 3351, 3357, 3375, 3392, 3411, 3430, 3449, 3455, 3472, 3491, 3510, 3529, 3535, 3552, 3571, 3590, 3609, 3615, 3632, 3651, 3670, 3689, 3695, 3712, 3731, 3750, 3769, 3787, 3805, 3823, 3841, 3859, 3877, 3895, 3913, 3931, 3949, 3967, 3985, 3991, 3995, 3999, 4000, 4002, 4006, 4012, 4023, 4024, 4032, 4046, 4052, 4063, 4064, 4072, 4086, 4098, 4101, 4110, 4114, 4117, 4120, 0 }; static const char _smtp_addr_parser_trans_keys[] = { 32, 34, 45, 60, 61, 64, 9, 13, 33, 39, 42, 43, 47, 57, 63, 90, 94, 126, 33, 46, 61, 64, 35, 39, 42, 43, 45, 57, 63, 90, 94, 126, 33, 45, 61, 63, 35, 39, 42, 43, 47, 57, 65, 90, 94, 126, 91, 48, 57, 65, 90, 97, 122, 45, 95, 48, 57, 65, 90, 97, 122, 45, 73, 95, 48, 57, 65, 90, 97, 122, 45, 95, 48, 57, 65, 90, 97, 122, 45, 58, 95, 48, 57, 65, 90, 97, 122, 33, 90, 94, 126, 93, 33, 90, 94, 126, 45, 46, 58, 95, 48, 57, 65, 90, 97, 122, 48, 57, 46, 48, 57, 48, 57, 46, 48, 57, 48, 57, 93, 48, 57, 93, 48, 57, 93, 46, 48, 57, 46, 46, 48, 57, 46, 45, 46, 58, 95, 48, 57, 65, 90, 97, 122, 45, 46, 58, 95, 48, 57, 65, 90, 97, 122, 45, 58, 80, 95, 48, 57, 65, 90, 97, 122, 45, 58, 95, 118, 48, 57, 65, 90, 97, 122, 45, 54, 58, 95, 48, 57, 65, 90, 97, 122, 45, 58, 95, 48, 57, 65, 90, 97, 122, 58, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 93, 33, 47, 48, 57, 58, 90, 94, 126, 46, 93, 33, 47, 48, 57, 58, 90, 94, 126, 93, 33, 47, 48, 57, 58, 90, 94, 126, 46, 93, 33, 47, 48, 57, 58, 90, 94, 126, 93, 33, 47, 48, 57, 58, 90, 94, 126, 93, 33, 47, 48, 57, 58, 90, 94, 126, 93, 33, 47, 48, 57, 58, 90, 94, 126, 93, 33, 90, 94, 126, 46, 93, 33, 47, 48, 57, 58, 90, 94, 126, 46, 93, 33, 90, 94, 126, 46, 93, 33, 47, 48, 57, 58, 90, 94, 126, 46, 93, 33, 90, 94, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 34, 92, 32, 126, 34, 92, 32, 126, 64, 32, 126, 34, 92, 32, 126, 32, 34, 45, 62, 64, 33, 39, 42, 43, 47, 57, 61, 90, 94, 126, 32, 34, 45, 61, 64, 33, 39, 42, 43, 47, 57, 63, 90, 94, 126, 33, 46, 61, 64, 35, 39, 42, 43, 45, 57, 63, 90, 94, 126, 33, 45, 61, 63, 35, 39, 42, 43, 47, 57, 65, 90, 94, 126, 91, 48, 57, 65, 90, 97, 122, 32, 45, 46, 62, 95, 48, 57, 65, 90, 97, 122, 32, 62, 45, 95, 48, 57, 65, 90, 97, 122, 32, 62, 48, 57, 65, 90, 97, 122, 45, 73, 95, 48, 57, 65, 90, 97, 122, 45, 95, 48, 57, 65, 90, 97, 122, 45, 58, 95, 48, 57, 65, 90, 97, 122, 33, 90, 94, 126, 93, 33, 90, 94, 126, 32, 46, 62, 45, 46, 58, 95, 48, 57, 65, 90, 97, 122, 48, 57, 46, 48, 57, 48, 57, 46, 48, 57, 48, 57, 93, 48, 57, 93, 48, 57, 93, 46, 48, 57, 46, 46, 48, 57, 46, 45, 46, 58, 95, 48, 57, 65, 90, 97, 122, 45, 46, 58, 95, 48, 57, 65, 90, 97, 122, 45, 58, 80, 95, 48, 57, 65, 90, 97, 122, 45, 58, 95, 118, 48, 57, 65, 90, 97, 122, 45, 54, 58, 95, 48, 57, 65, 90, 97, 122, 45, 58, 95, 48, 57, 65, 90, 97, 122, 58, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 93, 33, 47, 48, 57, 58, 90, 94, 126, 46, 93, 33, 47, 48, 57, 58, 90, 94, 126, 93, 33, 47, 48, 57, 58, 90, 94, 126, 46, 93, 33, 47, 48, 57, 58, 90, 94, 126, 93, 33, 47, 48, 57, 58, 90, 94, 126, 93, 33, 47, 48, 57, 58, 90, 94, 126, 93, 33, 47, 48, 57, 58, 90, 94, 126, 93, 33, 90, 94, 126, 46, 93, 33, 47, 48, 57, 58, 90, 94, 126, 46, 93, 33, 90, 94, 126, 46, 93, 33, 47, 48, 57, 58, 90, 94, 126, 46, 93, 33, 90, 94, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 93, 33, 47, 48, 57, 58, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 46, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 47, 48, 57, 59, 64, 65, 70, 71, 90, 94, 96, 97, 102, 103, 126, 58, 93, 33, 90, 94, 126, 34, 92, 32, 126, 34, 92, 32, 126, 64, 32, 126, 34, 92, 32, 126, 48, 57, 65, 90, 97, 122, 44, 45, 46, 58, 95, 48, 57, 65, 90, 97, 122, 64, 45, 95, 48, 57, 65, 90, 97, 122, 34, 45, 61, 63, 33, 39, 42, 43, 47, 57, 65, 90, 94, 126, 48, 57, 65, 90, 97, 122, 44, 45, 46, 58, 95, 48, 57, 65, 90, 97, 122, 64, 45, 95, 48, 57, 65, 90, 97, 122, 34, 45, 61, 63, 33, 39, 42, 43, 47, 57, 65, 90, 94, 126, 32, 45, 46, 95, 9, 13, 48, 57, 65, 90, 97, 122, 32, 9, 13, 32, 9, 13, 48, 57, 65, 90, 97, 122, 32, 46, 9, 13, 32, 9, 13, 32, 9, 13, 32, 9, 13, 0 }; static const signed char _smtp_addr_parser_single_lengths[] = { 0, 6, 4, 4, 1, 2, 3, 2, 3, 0, 1, 4, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 1, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 2, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 3, 3, 3, 2, 1, 3, 3, 3, 2, 1, 3, 3, 3, 2, 1, 3, 3, 3, 2, 1, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 2, 5, 5, 4, 4, 1, 5, 2, 2, 2, 3, 2, 3, 0, 1, 3, 4, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 1, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 2, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 3, 3, 3, 2, 1, 3, 3, 3, 2, 1, 3, 3, 3, 2, 1, 3, 3, 3, 2, 1, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 2, 0, 5, 1, 2, 4, 0, 5, 1, 2, 4, 4, 1, 1, 2, 1, 1, 1, 0 }; static const signed char _smtp_addr_parser_range_lengths[] = { 0, 6, 5, 5, 3, 3, 3, 3, 3, 2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 3, 3, 3, 3, 3, 3, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 4, 4, 4, 4, 4, 4, 4, 2, 4, 2, 4, 2, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 1, 1, 0, 1, 1, 5, 5, 5, 5, 3, 3, 0, 3, 3, 3, 3, 3, 2, 2, 0, 3, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 3, 3, 3, 3, 3, 3, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 4, 4, 4, 4, 4, 4, 4, 2, 4, 2, 4, 2, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 1, 1, 0, 1, 1, 3, 3, 0, 3, 5, 3, 3, 0, 3, 5, 4, 1, 4, 1, 1, 1, 1, 0 }; static const short _smtp_addr_parser_index_offsets[] = { 0, 0, 13, 23, 33, 38, 44, 51, 57, 64, 67, 71, 79, 81, 84, 86, 89, 91, 94, 97, 99, 102, 104, 107, 109, 117, 125, 133, 141, 149, 156, 166, 177, 188, 199, 204, 215, 226, 237, 248, 253, 264, 275, 286, 297, 302, 313, 324, 335, 346, 351, 362, 373, 384, 395, 400, 411, 422, 433, 444, 449, 460, 472, 478, 485, 491, 498, 504, 510, 516, 520, 527, 532, 539, 544, 556, 568, 573, 583, 593, 603, 613, 617, 628, 639, 649, 660, 671, 682, 687, 697, 708, 719, 730, 735, 745, 756, 767, 778, 783, 793, 804, 815, 826, 831, 841, 852, 863, 874, 879, 890, 900, 912, 924, 936, 941, 951, 963, 975, 987, 992, 1002, 1014, 1026, 1038, 1043, 1053, 1065, 1077, 1089, 1094, 1104, 1116, 1128, 1140, 1151, 1162, 1173, 1184, 1195, 1206, 1217, 1228, 1239, 1250, 1261, 1272, 1277, 1281, 1285, 1287, 1289, 1293, 1304, 1315, 1325, 1335, 1340, 1349, 1352, 1358, 1364, 1371, 1377, 1384, 1387, 1391, 1395, 1403, 1405, 1408, 1410, 1413, 1415, 1418, 1421, 1423, 1426, 1428, 1431, 1433, 1441, 1449, 1457, 1465, 1473, 1480, 1490, 1501, 1512, 1523, 1528, 1539, 1550, 1561, 1572, 1577, 1588, 1599, 1610, 1621, 1626, 1637, 1648, 1659, 1670, 1675, 1686, 1697, 1708, 1719, 1724, 1735, 1746, 1757, 1768, 1773, 1784, 1796, 1802, 1809, 1815, 1822, 1828, 1834, 1840, 1844, 1851, 1856, 1863, 1868, 1880, 1892, 1897, 1907, 1917, 1927, 1937, 1941, 1952, 1963, 1973, 1984, 1995, 2006, 2011, 2021, 2032, 2043, 2054, 2059, 2069, 2080, 2091, 2102, 2107, 2117, 2128, 2139, 2150, 2155, 2165, 2176, 2187, 2198, 2203, 2214, 2224, 2236, 2248, 2260, 2265, 2275, 2287, 2299, 2311, 2316, 2326, 2338, 2350, 2362, 2367, 2377, 2389, 2401, 2413, 2418, 2428, 2440, 2452, 2464, 2475, 2486, 2497, 2508, 2519, 2530, 2541, 2552, 2563, 2574, 2585, 2596, 2601, 2605, 2609, 2611, 2613, 2617, 2621, 2630, 2632, 2638, 2648, 2652, 2661, 2663, 2669, 2679, 2688, 2691, 2697, 2701, 2704, 2707, 0 }; static const short _smtp_addr_parser_cond_targs[] = { 1, 147, 2, 152, 2, 313, 1, 2, 2, 2, 2, 2, 0, 2, 3, 2, 4, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 6, 318, 318, 318, 0, 5, 5, 318, 318, 318, 0, 7, 26, 7, 11, 8, 8, 0, 7, 7, 8, 8, 8, 0, 7, 9, 7, 8, 8, 8, 0, 10, 10, 0, 321, 10, 10, 0, 7, 12, 9, 7, 24, 8, 8, 0, 13, 0, 14, 22, 0, 15, 0, 16, 20, 0, 17, 0, 321, 18, 0, 321, 19, 0, 321, 0, 16, 21, 0, 16, 0, 14, 23, 0, 14, 0, 7, 12, 9, 7, 25, 8, 8, 0, 7, 12, 9, 7, 8, 8, 8, 0, 7, 9, 27, 7, 8, 8, 8, 0, 7, 9, 7, 28, 8, 8, 8, 0, 7, 29, 9, 7, 8, 8, 8, 0, 7, 30, 7, 8, 8, 8, 0, 146, 10, 31, 10, 31, 10, 10, 31, 10, 0, 35, 321, 10, 32, 10, 32, 10, 10, 32, 10, 0, 35, 321, 10, 33, 10, 33, 10, 10, 33, 10, 0, 35, 321, 10, 34, 10, 34, 10, 10, 34, 10, 0, 35, 321, 10, 10, 0, 110, 321, 10, 36, 10, 36, 10, 10, 36, 10, 0, 40, 321, 10, 37, 10, 37, 10, 10, 37, 10, 0, 40, 321, 10, 38, 10, 38, 10, 10, 38, 10, 0, 40, 321, 10, 39, 10, 39, 10, 10, 39, 10, 0, 40, 321, 10, 10, 0, 110, 321, 10, 41, 10, 41, 10, 10, 41, 10, 0, 45, 321, 10, 42, 10, 42, 10, 10, 42, 10, 0, 45, 321, 10, 43, 10, 43, 10, 10, 43, 10, 0, 45, 321, 10, 44, 10, 44, 10, 10, 44, 10, 0, 45, 321, 10, 10, 0, 110, 321, 10, 46, 10, 46, 10, 10, 46, 10, 0, 50, 321, 10, 47, 10, 47, 10, 10, 47, 10, 0, 50, 321, 10, 48, 10, 48, 10, 10, 48, 10, 0, 50, 321, 10, 49, 10, 49, 10, 10, 49, 10, 0, 50, 321, 10, 10, 0, 110, 321, 10, 51, 10, 51, 10, 10, 51, 10, 0, 55, 321, 10, 52, 10, 52, 10, 10, 52, 10, 0, 55, 321, 10, 53, 10, 53, 10, 10, 53, 10, 0, 55, 321, 10, 54, 10, 54, 10, 10, 54, 10, 0, 55, 321, 10, 10, 0, 84, 321, 10, 56, 10, 56, 10, 10, 56, 10, 0, 60, 321, 10, 57, 10, 57, 10, 10, 57, 10, 0, 60, 321, 10, 58, 10, 58, 10, 10, 58, 10, 0, 60, 321, 10, 59, 10, 59, 10, 10, 59, 10, 0, 60, 321, 10, 10, 0, 84, 321, 10, 61, 10, 109, 10, 10, 109, 10, 0, 62, 77, 321, 10, 74, 10, 83, 10, 10, 83, 10, 0, 321, 10, 63, 10, 10, 0, 64, 321, 10, 72, 10, 10, 0, 321, 10, 65, 10, 10, 0, 66, 321, 10, 70, 10, 10, 0, 321, 10, 67, 10, 10, 0, 321, 10, 68, 10, 10, 0, 321, 10, 69, 10, 10, 0, 321, 10, 10, 0, 66, 321, 10, 71, 10, 10, 0, 66, 321, 10, 10, 0, 64, 321, 10, 73, 10, 10, 0, 64, 321, 10, 10, 0, 62, 77, 321, 10, 75, 10, 82, 10, 10, 82, 10, 0, 62, 77, 321, 10, 76, 10, 76, 10, 10, 76, 10, 0, 77, 321, 10, 10, 0, 321, 10, 78, 10, 78, 10, 10, 78, 10, 0, 321, 10, 79, 10, 79, 10, 10, 79, 10, 0, 321, 10, 80, 10, 80, 10, 10, 80, 10, 0, 321, 10, 81, 10, 81, 10, 10, 81, 10, 0, 321, 10, 10, 0, 77, 321, 10, 76, 10, 76, 10, 10, 76, 10, 0, 77, 321, 10, 82, 10, 82, 10, 10, 82, 10, 0, 321, 10, 85, 10, 85, 10, 10, 85, 10, 0, 89, 321, 10, 86, 10, 86, 10, 10, 86, 10, 0, 89, 321, 10, 87, 10, 87, 10, 10, 87, 10, 0, 89, 321, 10, 88, 10, 88, 10, 10, 88, 10, 0, 89, 321, 10, 10, 0, 321, 10, 90, 10, 90, 10, 10, 90, 10, 0, 94, 321, 10, 91, 10, 91, 10, 10, 91, 10, 0, 94, 321, 10, 92, 10, 92, 10, 10, 92, 10, 0, 94, 321, 10, 93, 10, 93, 10, 10, 93, 10, 0, 94, 321, 10, 10, 0, 321, 10, 95, 10, 95, 10, 10, 95, 10, 0, 99, 321, 10, 96, 10, 96, 10, 10, 96, 10, 0, 99, 321, 10, 97, 10, 97, 10, 10, 97, 10, 0, 99, 321, 10, 98, 10, 98, 10, 10, 98, 10, 0, 99, 321, 10, 10, 0, 321, 10, 100, 10, 100, 10, 10, 100, 10, 0, 104, 321, 10, 101, 10, 101, 10, 10, 101, 10, 0, 104, 321, 10, 102, 10, 102, 10, 10, 102, 10, 0, 104, 321, 10, 103, 10, 103, 10, 10, 103, 10, 0, 104, 321, 10, 10, 0, 321, 10, 105, 10, 105, 10, 10, 105, 10, 0, 77, 321, 10, 106, 10, 106, 10, 10, 106, 10, 0, 77, 321, 10, 107, 10, 107, 10, 10, 107, 10, 0, 77, 321, 10, 108, 10, 108, 10, 10, 108, 10, 0, 77, 321, 10, 10, 0, 77, 321, 10, 83, 10, 83, 10, 10, 83, 10, 0, 321, 10, 111, 10, 145, 10, 10, 145, 10, 0, 62, 115, 321, 10, 112, 10, 144, 10, 10, 144, 10, 0, 62, 115, 321, 10, 113, 10, 143, 10, 10, 143, 10, 0, 62, 115, 321, 10, 114, 10, 114, 10, 10, 114, 10, 0, 115, 321, 10, 10, 0, 321, 10, 116, 10, 142, 10, 10, 142, 10, 0, 62, 120, 321, 10, 117, 10, 141, 10, 10, 141, 10, 0, 62, 120, 321, 10, 118, 10, 140, 10, 10, 140, 10, 0, 62, 120, 321, 10, 119, 10, 119, 10, 10, 119, 10, 0, 120, 321, 10, 10, 0, 321, 10, 121, 10, 139, 10, 10, 139, 10, 0, 62, 125, 321, 10, 122, 10, 138, 10, 10, 138, 10, 0, 62, 125, 321, 10, 123, 10, 137, 10, 10, 137, 10, 0, 62, 125, 321, 10, 124, 10, 124, 10, 10, 124, 10, 0, 125, 321, 10, 10, 0, 321, 10, 126, 10, 136, 10, 10, 136, 10, 0, 62, 130, 321, 10, 127, 10, 135, 10, 10, 135, 10, 0, 62, 130, 321, 10, 128, 10, 134, 10, 10, 134, 10, 0, 62, 130, 321, 10, 129, 10, 129, 10, 10, 129, 10, 0, 130, 321, 10, 10, 0, 321, 10, 131, 10, 105, 10, 10, 105, 10, 0, 62, 77, 321, 10, 132, 10, 106, 10, 10, 106, 10, 0, 62, 77, 321, 10, 133, 10, 107, 10, 10, 107, 10, 0, 62, 77, 321, 10, 108, 10, 108, 10, 10, 108, 10, 0, 130, 321, 10, 129, 10, 129, 10, 10, 129, 10, 0, 130, 321, 10, 134, 10, 134, 10, 10, 134, 10, 0, 130, 321, 10, 135, 10, 135, 10, 10, 135, 10, 0, 125, 321, 10, 124, 10, 124, 10, 10, 124, 10, 0, 125, 321, 10, 137, 10, 137, 10, 10, 137, 10, 0, 125, 321, 10, 138, 10, 138, 10, 10, 138, 10, 0, 120, 321, 10, 119, 10, 119, 10, 10, 119, 10, 0, 120, 321, 10, 140, 10, 140, 10, 10, 140, 10, 0, 120, 321, 10, 141, 10, 141, 10, 10, 141, 10, 0, 115, 321, 10, 114, 10, 114, 10, 10, 114, 10, 0, 115, 321, 10, 143, 10, 143, 10, 10, 143, 10, 0, 115, 321, 10, 144, 10, 144, 10, 10, 144, 10, 0, 110, 321, 10, 10, 0, 149, 150, 148, 0, 149, 150, 148, 0, 4, 0, 151, 0, 149, 150, 148, 0, 153, 303, 154, 324, 308, 154, 154, 154, 154, 154, 0, 153, 303, 154, 154, 308, 154, 154, 154, 154, 154, 0, 154, 155, 154, 156, 154, 154, 154, 154, 154, 0, 154, 154, 154, 154, 154, 154, 154, 154, 154, 0, 161, 157, 157, 157, 0, 158, 159, 160, 323, 159, 157, 157, 157, 0, 158, 323, 0, 159, 159, 157, 157, 157, 0, 158, 323, 157, 157, 157, 0, 162, 182, 162, 167, 163, 163, 0, 162, 162, 163, 163, 163, 0, 162, 164, 162, 163, 163, 163, 0, 165, 165, 0, 166, 165, 165, 0, 158, 158, 323, 0, 162, 168, 164, 162, 180, 163, 163, 0, 169, 0, 170, 178, 0, 171, 0, 172, 176, 0, 173, 0, 166, 174, 0, 166, 175, 0, 166, 0, 172, 177, 0, 172, 0, 170, 179, 0, 170, 0, 162, 168, 164, 162, 181, 163, 163, 0, 162, 168, 164, 162, 163, 163, 163, 0, 162, 164, 183, 162, 163, 163, 163, 0, 162, 164, 162, 184, 163, 163, 163, 0, 162, 185, 164, 162, 163, 163, 163, 0, 162, 186, 162, 163, 163, 163, 0, 302, 165, 187, 165, 187, 165, 165, 187, 165, 0, 191, 166, 165, 188, 165, 188, 165, 165, 188, 165, 0, 191, 166, 165, 189, 165, 189, 165, 165, 189, 165, 0, 191, 166, 165, 190, 165, 190, 165, 165, 190, 165, 0, 191, 166, 165, 165, 0, 266, 166, 165, 192, 165, 192, 165, 165, 192, 165, 0, 196, 166, 165, 193, 165, 193, 165, 165, 193, 165, 0, 196, 166, 165, 194, 165, 194, 165, 165, 194, 165, 0, 196, 166, 165, 195, 165, 195, 165, 165, 195, 165, 0, 196, 166, 165, 165, 0, 266, 166, 165, 197, 165, 197, 165, 165, 197, 165, 0, 201, 166, 165, 198, 165, 198, 165, 165, 198, 165, 0, 201, 166, 165, 199, 165, 199, 165, 165, 199, 165, 0, 201, 166, 165, 200, 165, 200, 165, 165, 200, 165, 0, 201, 166, 165, 165, 0, 266, 166, 165, 202, 165, 202, 165, 165, 202, 165, 0, 206, 166, 165, 203, 165, 203, 165, 165, 203, 165, 0, 206, 166, 165, 204, 165, 204, 165, 165, 204, 165, 0, 206, 166, 165, 205, 165, 205, 165, 165, 205, 165, 0, 206, 166, 165, 165, 0, 266, 166, 165, 207, 165, 207, 165, 165, 207, 165, 0, 211, 166, 165, 208, 165, 208, 165, 165, 208, 165, 0, 211, 166, 165, 209, 165, 209, 165, 165, 209, 165, 0, 211, 166, 165, 210, 165, 210, 165, 165, 210, 165, 0, 211, 166, 165, 165, 0, 240, 166, 165, 212, 165, 212, 165, 165, 212, 165, 0, 216, 166, 165, 213, 165, 213, 165, 165, 213, 165, 0, 216, 166, 165, 214, 165, 214, 165, 165, 214, 165, 0, 216, 166, 165, 215, 165, 215, 165, 165, 215, 165, 0, 216, 166, 165, 165, 0, 240, 166, 165, 217, 165, 265, 165, 165, 265, 165, 0, 218, 233, 166, 165, 230, 165, 239, 165, 165, 239, 165, 0, 166, 165, 219, 165, 165, 0, 220, 166, 165, 228, 165, 165, 0, 166, 165, 221, 165, 165, 0, 222, 166, 165, 226, 165, 165, 0, 166, 165, 223, 165, 165, 0, 166, 165, 224, 165, 165, 0, 166, 165, 225, 165, 165, 0, 166, 165, 165, 0, 222, 166, 165, 227, 165, 165, 0, 222, 166, 165, 165, 0, 220, 166, 165, 229, 165, 165, 0, 220, 166, 165, 165, 0, 218, 233, 166, 165, 231, 165, 238, 165, 165, 238, 165, 0, 218, 233, 166, 165, 232, 165, 232, 165, 165, 232, 165, 0, 233, 166, 165, 165, 0, 166, 165, 234, 165, 234, 165, 165, 234, 165, 0, 166, 165, 235, 165, 235, 165, 165, 235, 165, 0, 166, 165, 236, 165, 236, 165, 165, 236, 165, 0, 166, 165, 237, 165, 237, 165, 165, 237, 165, 0, 166, 165, 165, 0, 233, 166, 165, 232, 165, 232, 165, 165, 232, 165, 0, 233, 166, 165, 238, 165, 238, 165, 165, 238, 165, 0, 166, 165, 241, 165, 241, 165, 165, 241, 165, 0, 245, 166, 165, 242, 165, 242, 165, 165, 242, 165, 0, 245, 166, 165, 243, 165, 243, 165, 165, 243, 165, 0, 245, 166, 165, 244, 165, 244, 165, 165, 244, 165, 0, 245, 166, 165, 165, 0, 166, 165, 246, 165, 246, 165, 165, 246, 165, 0, 250, 166, 165, 247, 165, 247, 165, 165, 247, 165, 0, 250, 166, 165, 248, 165, 248, 165, 165, 248, 165, 0, 250, 166, 165, 249, 165, 249, 165, 165, 249, 165, 0, 250, 166, 165, 165, 0, 166, 165, 251, 165, 251, 165, 165, 251, 165, 0, 255, 166, 165, 252, 165, 252, 165, 165, 252, 165, 0, 255, 166, 165, 253, 165, 253, 165, 165, 253, 165, 0, 255, 166, 165, 254, 165, 254, 165, 165, 254, 165, 0, 255, 166, 165, 165, 0, 166, 165, 256, 165, 256, 165, 165, 256, 165, 0, 260, 166, 165, 257, 165, 257, 165, 165, 257, 165, 0, 260, 166, 165, 258, 165, 258, 165, 165, 258, 165, 0, 260, 166, 165, 259, 165, 259, 165, 165, 259, 165, 0, 260, 166, 165, 165, 0, 166, 165, 261, 165, 261, 165, 165, 261, 165, 0, 233, 166, 165, 262, 165, 262, 165, 165, 262, 165, 0, 233, 166, 165, 263, 165, 263, 165, 165, 263, 165, 0, 233, 166, 165, 264, 165, 264, 165, 165, 264, 165, 0, 233, 166, 165, 165, 0, 233, 166, 165, 239, 165, 239, 165, 165, 239, 165, 0, 166, 165, 267, 165, 301, 165, 165, 301, 165, 0, 218, 271, 166, 165, 268, 165, 300, 165, 165, 300, 165, 0, 218, 271, 166, 165, 269, 165, 299, 165, 165, 299, 165, 0, 218, 271, 166, 165, 270, 165, 270, 165, 165, 270, 165, 0, 271, 166, 165, 165, 0, 166, 165, 272, 165, 298, 165, 165, 298, 165, 0, 218, 276, 166, 165, 273, 165, 297, 165, 165, 297, 165, 0, 218, 276, 166, 165, 274, 165, 296, 165, 165, 296, 165, 0, 218, 276, 166, 165, 275, 165, 275, 165, 165, 275, 165, 0, 276, 166, 165, 165, 0, 166, 165, 277, 165, 295, 165, 165, 295, 165, 0, 218, 281, 166, 165, 278, 165, 294, 165, 165, 294, 165, 0, 218, 281, 166, 165, 279, 165, 293, 165, 165, 293, 165, 0, 218, 281, 166, 165, 280, 165, 280, 165, 165, 280, 165, 0, 281, 166, 165, 165, 0, 166, 165, 282, 165, 292, 165, 165, 292, 165, 0, 218, 286, 166, 165, 283, 165, 291, 165, 165, 291, 165, 0, 218, 286, 166, 165, 284, 165, 290, 165, 165, 290, 165, 0, 218, 286, 166, 165, 285, 165, 285, 165, 165, 285, 165, 0, 286, 166, 165, 165, 0, 166, 165, 287, 165, 261, 165, 165, 261, 165, 0, 218, 233, 166, 165, 288, 165, 262, 165, 165, 262, 165, 0, 218, 233, 166, 165, 289, 165, 263, 165, 165, 263, 165, 0, 218, 233, 166, 165, 264, 165, 264, 165, 165, 264, 165, 0, 286, 166, 165, 285, 165, 285, 165, 165, 285, 165, 0, 286, 166, 165, 290, 165, 290, 165, 165, 290, 165, 0, 286, 166, 165, 291, 165, 291, 165, 165, 291, 165, 0, 281, 166, 165, 280, 165, 280, 165, 165, 280, 165, 0, 281, 166, 165, 293, 165, 293, 165, 165, 293, 165, 0, 281, 166, 165, 294, 165, 294, 165, 165, 294, 165, 0, 276, 166, 165, 275, 165, 275, 165, 165, 275, 165, 0, 276, 166, 165, 296, 165, 296, 165, 165, 296, 165, 0, 276, 166, 165, 297, 165, 297, 165, 165, 297, 165, 0, 271, 166, 165, 270, 165, 270, 165, 165, 270, 165, 0, 271, 166, 165, 299, 165, 299, 165, 165, 299, 165, 0, 271, 166, 165, 300, 165, 300, 165, 165, 300, 165, 0, 266, 166, 165, 165, 0, 305, 306, 304, 0, 305, 306, 304, 0, 156, 0, 307, 0, 305, 306, 304, 0, 309, 309, 309, 0, 310, 311, 308, 312, 311, 309, 309, 309, 0, 308, 0, 311, 311, 309, 309, 309, 0, 303, 154, 154, 154, 154, 154, 154, 154, 154, 0, 314, 314, 314, 0, 315, 316, 313, 317, 316, 314, 314, 314, 0, 313, 0, 316, 316, 314, 314, 314, 0, 147, 2, 2, 2, 2, 2, 2, 2, 2, 0, 319, 5, 320, 5, 319, 318, 318, 318, 0, 319, 319, 0, 319, 319, 318, 318, 318, 0, 319, 322, 319, 0, 319, 319, 0, 319, 319, 0, 319, 319, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0 }; static const signed char _smtp_addr_parser_cond_actions[] = { 0, 2, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 6, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 9, 0, 9, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 14, 13, 13, 0, 3, 0, 0, 0, 15, 0, 0, 0, 17, 16, 16, 0, 0, 2, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 2, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 18, 0, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 6, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 9, 0, 9, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 14, 13, 13, 0, 3, 0, 0, 0, 15, 0, 0, 0, 17, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 20, 0, 18, 0, 20, 0, 0, 0, 0, 0, 0, 0, 21, 21, 0, 0, 0, 0, 22, 19, 22, 0, 21, 21, 0, 23, 23, 0, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 21, 22, 21, 23, 24, 0 }; static const short _smtp_addr_parser_eof_trans[] = { 2711, 2712, 2713, 2714, 2715, 2716, 2717, 2718, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, 2846, 2847, 2848, 2849, 2850, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2862, 2863, 2864, 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883, 2884, 2885, 2886, 2887, 2888, 2889, 2890, 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2901, 2902, 2903, 2904, 2905, 2906, 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, 2962, 2963, 2964, 2965, 2966, 2967, 2968, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 0 }; static const int smtp_addr_parser_start = 1; static const int smtp_addr_parser_first_final = 318; static const int smtp_addr_parser_error = 0; static const int smtp_addr_parser_en_main = 1; #line 85 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" int rspamd_smtp_addr_parse (const char *data, size_t len, struct rspamd_email_address *addr) { const char *p = data, *pe = data + len, *eof; int cs; g_assert (addr != NULL); memset (addr, 0, sizeof (*addr)); addr->raw = data; addr->raw_len = len; eof = pe; #line 1539 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { cs = (int)smtp_addr_parser_start; } #line 99 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" #line 1547 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { int _klen; unsigned int _trans = 0; const char * _keys; _resume: {} if ( p == pe && p != eof ) goto _out; if ( p == eof ) { if ( _smtp_addr_parser_eof_trans[cs] > 0 ) { _trans = (unsigned int)_smtp_addr_parser_eof_trans[cs] - 1; } } else { _keys = ( _smtp_addr_parser_trans_keys + (_smtp_addr_parser_key_offsets[cs])); _trans = (unsigned int)_smtp_addr_parser_index_offsets[cs]; _klen = (int)_smtp_addr_parser_single_lengths[cs]; if ( _klen > 0 ) { const char *_lower = _keys; const char *_upper = _keys + _klen - 1; const char *_mid; while ( 1 ) { if ( _upper < _lower ) { _keys += _klen; _trans += (unsigned int)_klen; break; } _mid = _lower + ((_upper-_lower) >> 1); if ( ( (*( p))) < (*( _mid)) ) _upper = _mid - 1; else if ( ( (*( p))) > (*( _mid)) ) _lower = _mid + 1; else { _trans += (unsigned int)(_mid - _keys); goto _match; } } } _klen = (int)_smtp_addr_parser_range_lengths[cs]; if ( _klen > 0 ) { const char *_lower = _keys; const char *_upper = _keys + (_klen<<1) - 2; const char *_mid; while ( 1 ) { if ( _upper < _lower ) { _trans += (unsigned int)_klen; break; } _mid = _lower + (((_upper-_lower) >> 1) & ~1); if ( ( (*( p))) < (*( _mid)) ) _upper = _mid - 2; else if ( ( (*( p))) > (*( _mid + 1)) ) _lower = _mid + 2; else { _trans += (unsigned int)((_mid - _keys)>>1); break; } } } _match: {} } cs = (int)_smtp_addr_parser_cond_targs[_trans]; if ( _smtp_addr_parser_cond_actions[_trans] != 0 ) { switch ( _smtp_addr_parser_cond_actions[_trans] ) { case 9: { { #line 5 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" } #line 1623 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 10: { { #line 7 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" } #line 1633 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 13: { { #line 10 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" addr->user = p; } #line 1645 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 3: { { #line 14 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->user) { addr->user_len = p - addr->user; } } #line 1659 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 4: { { #line 20 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" addr->domain = p; } #line 1671 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 5: { { #line 30 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" addr->domain = p; addr->flags |= RSPAMD_EMAIL_ADDR_IP; } #line 1684 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 7: { { #line 35 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->domain) { addr->domain_len = p - addr->domain; } } #line 1698 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 16: { { #line 41 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" addr->flags |= RSPAMD_EMAIL_ADDR_HAS_BACKSLASH; } #line 1710 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 15: { { #line 45 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" addr->flags |= RSPAMD_EMAIL_ADDR_QUOTED; } #line 1722 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 21: { { #line 56 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->addr_len > 0) { addr->flags |= RSPAMD_EMAIL_ADDR_VALID; } } #line 1736 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 2: { { #line 66 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" addr->addr = p; } #line 1748 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 19: { { #line 70 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->addr) { addr->addr_len = p - addr->addr; } } #line 1762 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 12: { { #line 6 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" } #line 1772 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { #line 35 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->domain) { addr->domain_len = p - addr->domain; } } #line 1782 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 8: { { #line 8 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" } #line 1792 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { #line 35 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->domain) { addr->domain_len = p - addr->domain; } } #line 1802 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 14: { { #line 10 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" addr->user = p; } #line 1814 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { #line 14 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->user) { addr->user_len = p - addr->user; } } #line 1824 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 18: { { #line 24 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->domain) { addr->domain_len = p - addr->domain; } } #line 1838 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { #line 70 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->addr) { addr->addr_len = p - addr->addr; } } #line 1848 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 6: { { #line 30 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" addr->domain = p; addr->flags |= RSPAMD_EMAIL_ADDR_IP; } #line 1861 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { #line 7 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" } #line 1867 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 17: { { #line 41 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" addr->flags |= RSPAMD_EMAIL_ADDR_HAS_BACKSLASH; } #line 1879 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { #line 14 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->user) { addr->user_len = p - addr->user; } } #line 1889 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 24: { { #line 49 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" addr->flags |= RSPAMD_EMAIL_ADDR_EMPTY|RSPAMD_EMAIL_ADDR_VALID; addr->addr = ""; addr->user = addr->addr; addr->domain = addr->addr; } #line 1904 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { #line 56 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->addr_len > 0) { addr->flags |= RSPAMD_EMAIL_ADDR_VALID; } } #line 1914 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 23: { { #line 62 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" addr->flags |= RSPAMD_EMAIL_ADDR_BRACED; } #line 1926 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { #line 56 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->addr_len > 0) { addr->flags |= RSPAMD_EMAIL_ADDR_VALID; } } #line 1936 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 1: { { #line 66 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" addr->addr = p; } #line 1948 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { #line 10 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" addr->user = p; } #line 1956 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 22: { { #line 70 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->addr) { addr->addr_len = p - addr->addr; } } #line 1970 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { #line 56 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->addr_len > 0) { addr->flags |= RSPAMD_EMAIL_ADDR_VALID; } } #line 1980 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 11: { { #line 8 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" } #line 1990 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { #line 6 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" } #line 1996 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { #line 35 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->domain) { addr->domain_len = p - addr->domain; } } #line 2006 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } case 20: { { #line 24 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->domain) { addr->domain_len = p - addr->domain; } } #line 2020 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { #line 70 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->addr) { addr->addr_len = p - addr->addr; } } #line 2030 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" { #line 56 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" if (addr->addr_len > 0) { addr->flags |= RSPAMD_EMAIL_ADDR_VALID; } } #line 2040 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/smtp_addr_parser.rl.c" break; } } } if ( p == eof ) { if ( cs >= 318 ) goto _out; } else { if ( cs != 0 ) { p += 1; goto _resume; } } _out: {} } #line 100 "/home/hanzlik/rpmbuild/BUILD/rspamd-3.1/src/ragel/smtp_addr_parser.rl" return cs; }