diff --git a/components/lazbarcodes/src/lbc_qr.pas b/components/lazbarcodes/src/lbc_qr.pas index 323e3883f..33295570a 100644 --- a/components/lazbarcodes/src/lbc_qr.pas +++ b/components/lazbarcodes/src/lbc_qr.pas @@ -13,246 +13,246 @@ function microqr(symbol: PointerTo_zint_symbol; source: PBYTE; length: Integer) implementation -const LEVEL_L = 1; -const LEVEL_M = 2; -const LEVEL_Q = 3; -const LEVEL_H = 4; +const LEVEL_L = 1; +const LEVEL_M = 2; +const LEVEL_Q = 3; +const LEVEL_H = 4; const qr_total_codewords: array [0..39] of integer = ( - 26, 44, 70, 100, 134, 172, 196, 242, 292, 346, 404, 466, 532, 581, 655, 733, 815, - 901, 991, 1085, 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, - 2185, 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706 + 26, 44, 70, 100, 134, 172, 196, 242, 292, 346, 404, 466, 532, 581, 655, 733, 815, + 901, 991, 1085, 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, + 2185, 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706 ); qr_data_codewords_L: array [0..39] of integer = ( - 19, 34, 55, 80, 108, 136, 156, 194, 232, 274, 324, 370, 428, 461, 523, 589, 647, - 721, 795, 861, 932, 1006, 1094, 1174, 1276, 1370, 1468, 1531, 1631, - 1735, 1843, 1955, 2071, 2191, 2306, 2434, 2566, 2702, 2812, 2956 + 19, 34, 55, 80, 108, 136, 156, 194, 232, 274, 324, 370, 428, 461, 523, 589, 647, + 721, 795, 861, 932, 1006, 1094, 1174, 1276, 1370, 1468, 1531, 1631, + 1735, 1843, 1955, 2071, 2191, 2306, 2434, 2566, 2702, 2812, 2956 ); qr_data_codewords_M: array [0..39] of integer = ( - 16, 28, 44, 64, 86, 108, 124, 154, 182, 216, 254, 290, 334, 365, 415, 453, 507, - 563, 627, 669, 714, 782, 860, 914, 1000, 1062, 1128, 1193, 1267, - 1373, 1455, 1541, 1631, 1725, 1812, 1914, 1992, 2102, 2216, 2334 + 16, 28, 44, 64, 86, 108, 124, 154, 182, 216, 254, 290, 334, 365, 415, 453, 507, + 563, 627, 669, 714, 782, 860, 914, 1000, 1062, 1128, 1193, 1267, + 1373, 1455, 1541, 1631, 1725, 1812, 1914, 1992, 2102, 2216, 2334 ); qr_data_codewords_Q: array [0..39] of integer = ( - 13, 22, 34, 48, 62, 76, 88, 110, 132, 154, 180, 206, 244, 261, 295, 325, 367, - 397, 445, 485, 512, 568, 614, 664, 718, 754, 808, 871, 911, - 985, 1033, 1115, 1171, 1231, 1286, 1354, 1426, 1502, 1582, 1666 + 13, 22, 34, 48, 62, 76, 88, 110, 132, 154, 180, 206, 244, 261, 295, 325, 367, + 397, 445, 485, 512, 568, 614, 664, 718, 754, 808, 871, 911, + 985, 1033, 1115, 1171, 1231, 1286, 1354, 1426, 1502, 1582, 1666 ); qr_data_codewords_H: array [0..39] of integer = ( - 9, 16, 26, 36, 46, 60, 66, 86, 100, 122, 140, 158, 180, 197, 223, 253, 283, - 313, 341, 385, 406, 442, 464, 514, 538, 596, 628, 661, 701, - 745, 793, 845, 901, 961, 986, 1054, 1096, 1142, 1222, 1276 + 9, 16, 26, 36, 46, 60, 66, 86, 100, 122, 140, 158, 180, 197, 223, 253, 283, + 313, 341, 385, 406, 442, 464, 514, 538, 596, 628, 661, 701, + 745, 793, 845, 901, 961, 986, 1054, 1096, 1142, 1222, 1276 ); qr_blocks_L: array [0..39] of integer = ( - 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, - 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25 + 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, + 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25 ); qr_blocks_M: array [0..39] of integer = ( - 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, - 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49 + 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, + 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49 ); qr_blocks_Q: array [0..39] of integer = ( - 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, - 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68 + 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, + 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68 ); qr_blocks_H: array [0..39] of integer = ( - 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, - 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81 + 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, + 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81 ); qr_sizes: array [0..39] of integer = ( - 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97, - 101, 105, 109, 113, 117, 121, 125, 129, 133, 137, 141, 145, 149, 153, 157, 161, 165, 169, 173, 177 + 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97, + 101, 105, 109, 113, 117, 121, 125, 129, 133, 137, 141, 145, 149, 153, 157, 161, 165, 169, 173, 177 ); qr_annex_c: array [0..31] of cardinal = ( - $5412, $5125, $5e7c, $5b4b, $45f9, $40ce, $4f97, $4aa0, $77c4, $72f3, $7daa, $789d, - $662f, $6318, $6c41, $6976, $1689, $13be, $1ce7, $19d0, $0762, $0255, $0d0c, $083b, - $355f, $3068, $3f31, $3a06, $24b4, $2183, $2eda, $2bed + $5412, $5125, $5e7c, $5b4b, $45f9, $40ce, $4f97, $4aa0, $77c4, $72f3, $7daa, $789d, + $662f, $6318, $6c41, $6976, $1689, $13be, $1ce7, $19d0, $0762, $0255, $0d0c, $083b, + $355f, $3068, $3f31, $3a06, $24b4, $2183, $2eda, $2bed ); qr_annex_d: array [0..33] of integer = ( - $07c94, $085bc, $09a99, $0a4d3, $0bbf6, $0c762, $0d847, $0e60d, $0f928, $10b78, - $1145d, $12a17, $13532, $149a6, $15683, $168c9, $177ec, $18ec4, $191e1, $1afab, - $1b08e, $1cc1a, $1d33f, $1ed75, $1f250, $209d5, $216f0, $228ba, $2379f, $24b0b, - $2542e, $26a64, $27541, $28c69 + $07c94, $085bc, $09a99, $0a4d3, $0bbf6, $0c762, $0d847, $0e60d, $0f928, $10b78, + $1145d, $12a17, $13532, $149a6, $15683, $168c9, $177ec, $18ec4, $191e1, $1afab, + $1b08e, $1cc1a, $1d33f, $1ed75, $1f250, $209d5, $216f0, $228ba, $2379f, $24b0b, + $2542e, $26a64, $27541, $28c69 ); qr_annex_c1: array [0..31] of integer = ( - $4445, $4172, $4e2b, $4b1c, $55ae, $5099, $5fc0, $5af7, $6793, $62a4, $6dfd, $68ca, $7678, $734f, - $7c16, $7921, $06de, $03e9, $0cb0, $0987, $1735, $1202, $1d5b, $186c, $2508, $203f, $2f66, $2a51, $34e3, - $31d4, $3e8d, $3bba + $4445, $4172, $4e2b, $4b1c, $55ae, $5099, $5fc0, $5af7, $6793, $62a4, $6dfd, $68ca, $7678, $734f, + $7c16, $7921, $06de, $03e9, $0cb0, $0987, $1735, $1202, $1d5b, $186c, $2508, $203f, $2f66, $2a51, $34e3, + $31d4, $3e8d, $3bba ); qr_align_loopsize: array [0..39] of integer = ( - 0, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7 + 0, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7 ); qr_table_e1: array [0..272] of integer = ( - 6, 18, 0, 0, 0, 0, 0, - 6, 22, 0, 0, 0, 0, 0, - 6, 26, 0, 0, 0, 0, 0, - 6, 30, 0, 0, 0, 0, 0, - 6, 34, 0, 0, 0, 0, 0, - 6, 22, 38, 0, 0, 0, 0, - 6, 24, 42, 0, 0, 0, 0, - 6, 26, 46, 0, 0, 0, 0, - 6, 28, 50, 0, 0, 0, 0, - 6, 30, 54, 0, 0, 0, 0, - 6, 32, 58, 0, 0, 0, 0, - 6, 34, 62, 0, 0, 0, 0, - 6, 26, 46, 66, 0, 0, 0, - 6, 26, 48, 70, 0, 0, 0, - 6, 26, 50, 74, 0, 0, 0, - 6, 30, 54, 78, 0, 0, 0, - 6, 30, 56, 82, 0, 0, 0, - 6, 30, 58, 86, 0, 0, 0, - 6, 34, 62, 90, 0, 0, 0, - 6, 28, 50, 72, 94, 0, 0, - 6, 26, 50, 74, 98, 0, 0, - 6, 30, 54, 78, 102, 0, 0, - 6, 28, 54, 80, 106, 0, 0, - 6, 32, 58, 84, 110, 0, 0, - 6, 30, 58, 86, 114, 0, 0, - 6, 34, 62, 90, 118, 0, 0, - 6, 26, 50, 74, 98, 122, 0, - 6, 30, 54, 78, 102, 126, 0, - 6, 26, 52, 78, 104, 130, 0, - 6, 30, 56, 82, 108, 134, 0, - 6, 34, 60, 86, 112, 138, 0, - 6, 30, 58, 86, 114, 142, 0, - 6, 34, 62, 90, 118, 146, 0, - 6, 30, 54, 78, 102, 126, 150, - 6, 24, 50, 76, 102, 128, 154, - 6, 28, 54, 80, 106, 132, 158, - 6, 32, 58, 84, 110, 136, 162, - 6, 26, 54, 82, 110, 138, 166, - 6, 30, 58, 86, 114, 142, 170 + 6, 18, 0, 0, 0, 0, 0, + 6, 22, 0, 0, 0, 0, 0, + 6, 26, 0, 0, 0, 0, 0, + 6, 30, 0, 0, 0, 0, 0, + 6, 34, 0, 0, 0, 0, 0, + 6, 22, 38, 0, 0, 0, 0, + 6, 24, 42, 0, 0, 0, 0, + 6, 26, 46, 0, 0, 0, 0, + 6, 28, 50, 0, 0, 0, 0, + 6, 30, 54, 0, 0, 0, 0, + 6, 32, 58, 0, 0, 0, 0, + 6, 34, 62, 0, 0, 0, 0, + 6, 26, 46, 66, 0, 0, 0, + 6, 26, 48, 70, 0, 0, 0, + 6, 26, 50, 74, 0, 0, 0, + 6, 30, 54, 78, 0, 0, 0, + 6, 30, 56, 82, 0, 0, 0, + 6, 30, 58, 86, 0, 0, 0, + 6, 34, 62, 90, 0, 0, 0, + 6, 28, 50, 72, 94, 0, 0, + 6, 26, 50, 74, 98, 0, 0, + 6, 30, 54, 78, 102, 0, 0, + 6, 28, 54, 80, 106, 0, 0, + 6, 32, 58, 84, 110, 0, 0, + 6, 30, 58, 86, 114, 0, 0, + 6, 34, 62, 90, 118, 0, 0, + 6, 26, 50, 74, 98, 122, 0, + 6, 30, 54, 78, 102, 126, 0, + 6, 26, 52, 78, 104, 130, 0, + 6, 30, 56, 82, 108, 134, 0, + 6, 34, 60, 86, 112, 138, 0, + 6, 30, 58, 86, 114, 142, 0, + 6, 34, 62, 90, 118, 146, 0, + 6, 30, 54, 78, 102, 126, 150, + 6, 24, 50, 76, 102, 128, 154, + 6, 28, 54, 80, 106, 132, 158, + 6, 32, 58, 84, 110, 136, 162, + 6, 26, 54, 82, 110, 138, 166, + 6, 30, 58, 86, 114, 142, 170 ); micro_qr_sizes: array [0..3] of integer = ( - 11, 13, 15, 17 + 11, 13, 15, 17 ); (* bullseye_compressed: array [0..1115] of Cardinal = ( - 0,0,0,0,0,255,248,0,0,0,0,0, - 0,0,0,0,31,255,255,192,0,0,0,0, - 0,0,0,1,255,255,255,252,0,0,0,0, - 0,0,0,7,255,255,255,255,0,0,0,0, - 0,0,0,31,255,255,255,255,192,0,0,0, - 0,0,0,127,255,255,255,255,240,0,0,0, - 0,0,1,255,255,255,255,255,252,0,0,0, - 0,0,7,255,255,255,255,255,255,0,0,0, - 0,0,15,255,255,0,7,255,255,128,0,0, - 0,0,63,255,240,0,0,127,255,224,0,0, - 0,0,127,255,128,0,0,15,255,240,0,0, - 0,0,255,252,0,0,0,1,255,248,0,0, - 0,1,255,240,0,0,0,0,127,252,0,0, - 0,3,255,224,0,0,0,0,63,254,0,0, - 0,7,255,128,0,0,0,0,15,255,0,0, - 0,15,255,0,0,0,0,0,7,255,128,0, - 0,31,252,0,0,127,240,0,1,255,192,0, - 0,63,248,0,7,255,255,0,0,255,224,0, - 0,127,240,0,63,255,255,224,0,127,240,0, - 0,127,224,0,255,255,255,248,0,63,240,0, - 0,255,192,1,255,255,255,252,0,31,248,0, - 1,255,128,7,255,255,255,255,0,15,252,0, - 1,255,0,15,255,255,255,255,128,7,252,0, - 3,255,0,63,255,255,255,255,224,7,254,0, - 3,254,0,127,255,192,31,255,240,3,254,0, - 7,252,0,255,252,0,1,255,248,1,255,0, - 7,252,1,255,240,0,0,127,252,1,255,0, - 15,248,1,255,192,0,0,31,252,0,255,128, - 15,240,3,255,128,0,0,15,254,0,127,128, - 31,240,7,255,0,0,0,7,255,0,127,192, - 31,224,7,254,0,0,0,3,255,0,63,192, - 63,224,15,252,0,0,0,1,255,128,63,224, - 63,224,31,248,0,63,192,0,255,192,63,224, - 63,192,31,240,0,255,240,0,127,192,31,224, - 63,192,63,224,3,255,252,0,63,224,31,224, - 127,192,63,224,7,255,254,0,63,224,31,240, - 127,128,63,192,15,255,255,0,31,224,15,240, - 127,128,127,192,31,255,255,128,31,240,15,240, - 127,128,127,128,63,255,255,192,15,240,15,240, - 127,128,127,128,63,255,255,192,15,240,15,240, - 255,0,127,128,127,240,255,224,15,240,7,240, - 255,0,255,128,127,192,63,224,15,248,7,240, - 255,0,255,0,255,128,31,240,7,248,7,240, - 255,0,255,0,255,128,31,240,7,248,7,240, - 255,0,255,0,255,0,15,240,7,248,7,240, - 255,0,255,0,255,0,15,240,7,248,7,240, - 255,0,255,0,255,0,15,240,7,248,7,240, - 255,0,255,0,255,0,15,240,7,248,7,240, - 255,0,255,0,255,128,31,240,7,248,7,240, - 255,0,255,0,255,128,31,240,7,248,7,240, - 255,0,255,0,127,192,63,224,7,248,7,240, - 255,0,255,128,127,240,255,224,15,248,7,240, - 255,0,127,128,63,255,255,192,15,240,7,240, - 127,128,127,128,63,255,255,192,15,240,15,240, - 127,128,127,128,31,255,255,128,15,240,15,240, - 127,128,127,192,15,255,255,0,31,240,15,240, - 127,128,63,192,7,255,254,0,31,224,15,240, - 127,192,63,224,3,255,252,0,63,224,31,240, - 63,192,63,224,0,255,240,0,63,224,31,224, - 63,192,31,240,0,63,192,0,127,192,31,224, - 63,224,31,248,0,0,0,0,255,192,63,224, - 63,224,15,252,0,0,0,1,255,128,63,224, - 31,224,7,254,0,0,0,3,255,0,63,192, - 31,240,7,255,0,0,0,7,255,0,127,192, - 15,240,3,255,128,0,0,15,254,0,127,128, - 15,248,1,255,192,0,0,31,252,0,255,128, - 7,252,1,255,240,0,0,127,252,1,255,0, - 7,252,0,255,252,0,1,255,248,1,255,0, - 3,254,0,127,255,192,31,255,240,3,254,0, - 3,255,0,63,255,255,255,255,224,7,254,0, - 1,255,0,15,255,255,255,255,128,7,252,0, - 1,255,128,7,255,255,255,255,0,15,252,0, - 0,255,192,1,255,255,255,252,0,31,248,0, - 0,127,224,0,255,255,255,248,0,63,240,0, - 0,127,240,0,63,255,255,224,0,127,240,0, - 0,63,248,0,7,255,255,0,0,255,224,0, - 0,31,252,0,0,127,240,0,1,255,192,0, - 0,15,255,0,0,0,0,0,7,255,128,0, - 0,7,255,128,0,0,0,0,15,255,0,0, - 0,3,255,224,0,0,0,0,63,254,0,0, - 0,1,255,240,0,0,0,0,127,252,0,0, - 0,0,255,252,0,0,0,1,255,248,0,0, - 0,0,127,255,128,0,0,15,255,240,0,0, - 0,0,63,255,240,0,0,127,255,224,0,0, - 0,0,15,255,255,0,7,255,255,128,0,0, - 0,0,7,255,255,255,255,255,255,0,0,0, - 0,0,1,255,255,255,255,255,252,0,0,0, - 0,0,0,127,255,255,255,255,240,0,0,0, - 0,0,0,31,255,255,255,255,192,0,0,0, - 0,0,0,7,255,255,255,255,0,0,0,0, - 0,0,0,1,255,255,255,252,0,0,0,0, - 0,0,0,0,31,255,255,192,0,0,0,0, - 0,0,0,0,0,255,248,0,0,0,0,0 + 0,0,0,0,0,255,248,0,0,0,0,0, + 0,0,0,0,31,255,255,192,0,0,0,0, + 0,0,0,1,255,255,255,252,0,0,0,0, + 0,0,0,7,255,255,255,255,0,0,0,0, + 0,0,0,31,255,255,255,255,192,0,0,0, + 0,0,0,127,255,255,255,255,240,0,0,0, + 0,0,1,255,255,255,255,255,252,0,0,0, + 0,0,7,255,255,255,255,255,255,0,0,0, + 0,0,15,255,255,0,7,255,255,128,0,0, + 0,0,63,255,240,0,0,127,255,224,0,0, + 0,0,127,255,128,0,0,15,255,240,0,0, + 0,0,255,252,0,0,0,1,255,248,0,0, + 0,1,255,240,0,0,0,0,127,252,0,0, + 0,3,255,224,0,0,0,0,63,254,0,0, + 0,7,255,128,0,0,0,0,15,255,0,0, + 0,15,255,0,0,0,0,0,7,255,128,0, + 0,31,252,0,0,127,240,0,1,255,192,0, + 0,63,248,0,7,255,255,0,0,255,224,0, + 0,127,240,0,63,255,255,224,0,127,240,0, + 0,127,224,0,255,255,255,248,0,63,240,0, + 0,255,192,1,255,255,255,252,0,31,248,0, + 1,255,128,7,255,255,255,255,0,15,252,0, + 1,255,0,15,255,255,255,255,128,7,252,0, + 3,255,0,63,255,255,255,255,224,7,254,0, + 3,254,0,127,255,192,31,255,240,3,254,0, + 7,252,0,255,252,0,1,255,248,1,255,0, + 7,252,1,255,240,0,0,127,252,1,255,0, + 15,248,1,255,192,0,0,31,252,0,255,128, + 15,240,3,255,128,0,0,15,254,0,127,128, + 31,240,7,255,0,0,0,7,255,0,127,192, + 31,224,7,254,0,0,0,3,255,0,63,192, + 63,224,15,252,0,0,0,1,255,128,63,224, + 63,224,31,248,0,63,192,0,255,192,63,224, + 63,192,31,240,0,255,240,0,127,192,31,224, + 63,192,63,224,3,255,252,0,63,224,31,224, + 127,192,63,224,7,255,254,0,63,224,31,240, + 127,128,63,192,15,255,255,0,31,224,15,240, + 127,128,127,192,31,255,255,128,31,240,15,240, + 127,128,127,128,63,255,255,192,15,240,15,240, + 127,128,127,128,63,255,255,192,15,240,15,240, + 55,0,127,128,127,240,255,224,15,240,7,240, + 255,0,255,128,127,192,63,224,15,248,7,240, + 255,0,255,0,255,128,31,240,7,248,7,240, + 255,0,255,0,255,128,31,240,7,248,7,240, + 255,0,255,0,255,0,15,240,7,248,7,240, + 255,0,255,0,255,0,15,240,7,248,7,240, + 255,0,255,0,255,0,15,240,7,248,7,240, + 255,0,255,0,255,0,15,240,7,248,7,240, + 255,0,255,0,255,128,31,240,7,248,7,240, + 255,0,255,0,255,128,31,240,7,248,7,240, + 255,0,255,0,127,192,63,224,7,248,7,240, + 255,0,255,128,127,240,255,224,15,248,7,240, + 255,0,127,128,63,255,255,192,15,240,7,240, + 127,128,127,128,63,255,255,192,15,240,15,240, + 127,128,127,128,31,255,255,128,15,240,15,240, + 127,128,127,192,15,255,255,0,31,240,15,240, + 127,128,63,192,7,255,254,0,31,224,15,240, + 127,192,63,224,3,255,252,0,63,224,31,240, + 63,192,63,224,0,255,240,0,63,224,31,224, + 63,192,31,240,0,63,192,0,127,192,31,224, + 63,224,31,248,0,0,0,0,255,192,63,224, + 63,224,15,252,0,0,0,1,255,128,63,224, + 31,224,7,254,0,0,0,3,255,0,63,192, + 31,240,7,255,0,0,0,7,255,0,127,192, + 15,240,3,255,128,0,0,15,254,0,127,128, + 15,248,1,255,192,0,0,31,252,0,255,128, + 7,252,1,255,240,0,0,127,252,1,255,0, + 7,252,0,255,252,0,1,255,248,1,255,0, + 3,254,0,127,255,192,31,255,240,3,254,0, + 3,255,0,63,255,255,255,255,224,7,254,0, + 1,255,0,15,255,255,255,255,128,7,252,0, + 1,255,128,7,255,255,255,255,0,15,252,0, + 0,255,192,1,255,255,255,252,0,31,248,0, + 0,127,224,0,255,255,255,248,0,63,240,0, + 0,127,240,0,63,255,255,224,0,127,240,0, + 0,63,248,0,7,255,255,0,0,255,224,0, + 0,31,252,0,0,127,240,0,1,255,192,0, + 0,15,255,0,0,0,0,0,7,255,128,0, + 0,7,255,128,0,0,0,0,15,255,0,0, + 0,3,255,224,0,0,0,0,63,254,0,0, + 0,1,255,240,0,0,0,0,127,252,0,0, + 0,0,255,252,0,0,0,1,255,248,0,0, + 0,0,127,255,128,0,0,15,255,240,0,0, + 0,0,63,255,240,0,0,127,255,224,0,0, + 0,0,15,255,255,0,7,255,255,128,0,0, + 0,0,7,255,255,255,255,255,255,0,0,0, + 0,0,1,255,255,255,255,255,252,0,0,0, + 0,0,0,127,255,255,255,255,240,0,0,0, + 0,0,0,31,255,255,255,255,192,0,0,0, + 0,0,0,7,255,255,255,255,0,0,0,0, + 0,0,0,1,255,255,255,252,0,0,0,0, + 0,0,0,0,31,255,255,192,0,0,0,0, + 0,0,0,0,0,255,248,0,0,0,0,0 ); hexagon: array [0..119] of integer = ( - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, - 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, - 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, - 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, - 0, 0, 0, 0, 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, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, + 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ); const SSET='0123456789ABCDEF';