/** * Post Area Display Class * @author Robert John Morton * @version 29 July 1998 */ /* This class paints one specified post area within a specified graphics context in a specified colour. */ import java.awt.*; class uk_areas { static int paNum = 0; // index number of found post area /* Each 16-bit element of this array is a pair 8-bit ASCII pattern side-by-side representing the two-letter post area designator (ie the initial two letters of a post code).*/ static short L[] = { 19287, 18774, 17476, 20552, 16706, 19788, 18208, 19289, 20545, 17995, 19265, 17736, 17217, 17479, 21572, 16980, 20037, 17480, 21330, 21587, 22863, 18503, 17484, 19521, 20562, 18009, 19488, 17224, 16962, 20300, 16972, 22350, 19744, 22337, 17239, 21323, 20549, 17486, 19534, 19539, 18520, 22342, 18500, 21280, 16964, 18517, 21337, 19532, 17222, 19524, 16979, 16961, 21569, 21313, 20048, 18514, 18252, 20312, 21574, 21332, 17477, 20039, 19525, 22355, 22358, 17497, 16928, 17238, 22354, 21326, 17229, 20046, 20050, 18768, 19787, 17231, 21331, 17218, 21319, 19541, 18512, 21324, 16716, 17742, 22340, 18759, 18497, 21826, 21069, 19284, 21325, 17234, 21591, 16978, 17473, 21582, 18261, 17236, 16974, 21064, 19781, 21063, 21327, 20559, 16968, 21328, 17492, 17752, 20556, 21585, 21586, 23109, 22339, 17731, 17696, 20000, 20055, 22304, 21335, 21317 }; /* Each 16-bit element of the following array contains the element number within the post areas plots array at which the plotting data starts for the corresponding post area. */ static short I[] = { 0, 62, 156, 174, 232, 268, 286, 308, 324, 454, 476, 516, 538, 572, 614, 642, 698, 728, 736, 740, 756, 784, 796, 820, 854, 868, 872, 886, 898, 912, 918, 924, 928, 934, 946, 960, 972, 1016, 1040, 1060, 1070, 1078, 1084, 1092, 1108, 1126, 1136, 1174, 1218, 1236, 1254, 1268, 1286, 1304, 1338, 1354, 1372, 1394, 1416, 1428, 1438, 1452, 1472, 1488, 1494, 1502, 1510, 1522, 1538, 1550, 1566, 1582, 1604, 1626, 1654, 1670, 1682, 1686, 1708, 1724, 1730, 1742, 1748, 1754, 1760, 1764, 1766, 1770, 1774, 1782, 1788, 1790, 1792, 1794, 1798, 1804, 1826, 1842, 1854, 1866, 1880, 1892, 1910, 1926, 1940, 1952, 1966, 1980, 2008, 2026, 2038, 2060, 2106, 2116, 2126, 2162, 2204, 2244, 2272, 2318 }; /* Each 8-bit element of the following array contains the number of horizontal lines which make up each post area on the map. */ static short N[] = { 62, 94, 18, 58, 36, 18, 22, 16,130, 22, 40, 22, 34, 42, 28, 56, 30, 8, 4, 16, 28, 12, 24, 34, 14, 4, 14, 12, 14, 6, 6, 4, 6, 12, 14, 12, 44, 24, 20, 10, 8, 6, 8, 16, 18, 10, 38, 44, 18, 18, 14, 18, 18, 34, 16, 18, 22, 22, 12, 10, 14, 20, 16, 6, 8, 8, 12, 16, 12, 16, 16, 22, 22, 28, 16, 12, 4, 22, 16, 6, 12, 6, 6, 6, 4, 2, 4, 4, 8, 6, 2, 2, 2, 4, 6, 22, 16, 12, 12, 14, 12, 18, 16, 14, 12, 14, 14, 28, 18, 12, 22, 46, 10, 10, 36, 42, 40, 28, 46, 58 }; /* Each main element of the following array contains two 8-bit co-ordinates x and y specifying a pixel point on the map image. The elements are grouped in pairs. Each pair forms the beginning point and end point of each horizon- tal line which makes up the shading-in of the post area concerned. */ static byte P[][] = { { -31, -73}, { -26, -73}, { -35, -72}, { -26, -72}, { -37, -71}, { -27, -71}, { -37, -70}, { -26, -70}, { -36, -69}, { -26, -69}, { -36, -68}, { -27, -68}, { -37, -67}, { -29, -67}, { -37, -66}, { -30, -66}, { -36, -65}, { -30, -65}, { -35, -64}, { -32, -64}, { -34, -63}, { -33, -63}, { -35, -62}, { -34, -62}, { 9, -44}, { 9, -44}, { 4, -43}, { 5, -43}, { 9, -43}, { 9, -43}, { 5, -42}, { 5, -42}, { 8, -42}, { 9, -42}, { 6, -41}, { 7, -41}, { 3, -40}, { 4, -40}, { 6, -40}, { 6, -40}, { 1, -39}, { 3, -39}, { 8, -39}, { 8, -39}, { 1, -38}, { 6, -38}, { 1, -37}, { 5, -37}, { 0, -36}, { 3, -36}, { 5, -36}, { 6, -36}, { 0, -35}, { 2, -35}, { 5, -35}, { 5, -35}, { 1, -34}, { 2, -34}, { 4, -34}, { 4, -34}, { 4, -33}, { 4, -33}, { -43, -73}, { -42, -73}, { -44, -72}, { -41, -72}, { -44, -71}, { -38, -71}, { -44, -70}, { -38, -70}, { -45, -69}, { -37, -69}, { -44, -68}, { -37, -68}, { -44, -67}, { -38, -67}, { -46, -66}, { -38, -66}, { -46, -65}, { -37, -65}, { -46, -64}, { -36, -64}, { -47, -63}, { -35, -63}, { -46, -62}, { -36, -62}, { -46, -61}, { -35, -61}, { -49, -60}, { -35, -60}, { -51, -59}, { -33, -59}, { -51, -58}, { -34, -58}, { -57, -57}, { -56, -57}, { -51, -57}, { -34, -57}, { -57, -56}, { -55, -56}, { -51, -56}, { -35, -56}, { -31, -56}, { -26, -56}, { -57, -55}, { -55, -55}, { -51, -55}, { -36, -55}, { -33, -55}, { -26, -55}, { -60, -54}, { -55, -54}, { -52, -54}, { -37, -54}, { -35, -54}, { -27, -54}, { -60, -53}, { -54, -53}, { -51, -53}, { -28, -53}, { -60, -52}, { -54, -52}, { -51, -52}, { -32, -52}, { -57, -51}, { -54, -51}, { -50, -51}, { -33, -51}, { -58, -50}, { -53, -50}, { -51, -50}, { -34, -50}, { -57, -49}, { -35, -49}, { -54, -48}, { -36, -48}, { -53, -47}, { -52, -47}, { -49, -47}, { -48, -47}, { -46, -47}, { -43, -47}, { -40, -47}, { -37, -47}, { -39, -72}, { -39, -72}, { -49, -61}, { -49, -61}, { -51, -60}, { -51, -60}, { -28, -57}, { -28, -57}, { -59, -55}, { -59, -55}, { -53, -46}, { -53, -46}, { -26, -42}, { -26, -34}, { -25, -43}, { -25, -34}, { -24, -44}, { -24, -35}, { -23, -43}, { -23, -35}, { -22, -42}, { -22, -36}, { -21, -40}, { -21, -37}, { -20, -40}, { -20, -38}, { -27, -42}, { -27, -42}, { -19, -41}, { -19, -41}, { -31, -52}, { -30, -52}, { -32, -51}, { -29, -51}, { -33, -50}, { -30, -50}, { -34, -49}, { -30, -49}, { -35, -48}, { -30, -48}, { -42, -47}, { -41, -47}, { -36, -47}, { -31, -47}, { -51, -46}, { -32, -46}, { -52, -45}, { -33, -45}, { -52, -44}, { -33, -44}, { -52, -43}, { -31, -43}, { -51, -42}, { -28, -42}, { -52, -41}, { -27, -41}, { -56, -40}, { -45, -40}, { -57, -46}, { -57, -45}, { -40, -40}, { -27, -40}, { -52, -39}, { -48, -39}, { -40, -39}, { -27, -39}, { -40, -38}, { -27, -38}, { -41, -37}, { -27, -37}, { -36, -36}, { -27, -36}, { -36, -35}, { -27, -35}, { -36, -34}, { -27, -34}, { -36, -33}, { -28, -33}, { -36, -32}, { -29, -32}, { -50, -47}, { -50, -47}, { -47, -47}, { -47, -47}, { -49, -38}, { -49, -38}, { -55, -43}, { -55, -43}, { -25, -56}, { -15, -56}, { -25, -55}, { -14, -55}, { -26, -54}, { -14, -54}, { -27, -53}, { -14, -53}, { -29, -52}, { -14, -52}, { -28, -51}, { -15, -51}, { -29, -50}, { -16, -50}, { -29, -49}, { -16, -49}, { -29, -48}, { -16, -48}, { -30, -47}, { -16, -47}, { -31, -46}, { -16, -46}, { -32, -45}, { -17, -45}, { -32, -44}, { -25, -44}, { -23, -44}, { -17, -44}, { -30, -43}, { -26, -43}, { -22, -43}, { -18, -43}, { -21, -42}, { -18, -42}, { -21, -41}, { -20, -41}, { -37, -21}, { -37, -20}, { -36, -22}, { -36, -20}, { -35, -24}, { -35, -20}, { -34, -25}, { -34, -18}, { -33, -25}, { -33, -16}, { -32, -23}, { -32, -15}, { -31, -22}, { -31, -15}, { -30, -22}, { -30, -17}, { -29, -20}, { -29, -17}, { -43, -28}, { -43, -27}, { -42, -32}, { -42, -27}, { -41, -29}, { -41, -26}, { -40, -29}, { -40, -26}, { -39, -28}, { -39, -26}, { -38, -28}, { -38, -22}, { -37, -28}, { -37, -22}, { -36, -27}, { -36, -23}, { -35, -26}, { -35, -25}, { -39, -23}, { -39, -22}, { -40, -23}, { -40, -23}, { -24, -34}, { -23, -34}, { -27, -33}, { -23, -33}, { -28, -32}, { -22, -32}, { -30, -31}, { -22, -31}, { -30, -30}, { -25, -30}, { -31, -29}, { -26, -29}, { -31, -28}, { -27, -28}, { -30, -27}, { -29, -27}, { -56, -71}, { -55, -71}, { -57, -70}, { -55, -70}, { -59, -69}, { -55, -69}, { -60, -68}, { -56, -68}, { -62, -67}, { -57, -67}, { -63, -66}, { -57, -66}, { -63, -65}, { -57, -65}, { -62, -64}, { -57, -64}, { -63, -63}, { -58, -63}, { -61, -62}, { -58, -62}, { -62, -61}, { -60, -61}, { -63, -60}, { -61, -60}, { -67, -57}, { -67, -56}, { -67, -52}, { -67, -48}, { -68, -46}, { -68, -45}, { -66, -57}, { -66, -47}, { -65, -58}, { -65, -54}, { -64, -57}, { -64, -56}, { -63, -36}, { -62, -37}, { -60, -39}, { -59, -39}, { -57, -29}, { -57, -28}, { -57, -38}, { -50, -38}, { -57, -37}, { -50, -37}, { -56, -36}, { -52, -36}, { -55, -35}, { -51, -35}, { -56, -34}, { -51, -34}, { -58, -33}, { -53, -33}, { -54, -27}, { -53, -27}, { -56, -26}, { -54, -26}, { -58, -25}, { -54, -25}, { -59, -24}, { -55, -24}, { -59, -23}, { -56, -23}, { -60, -22}, { -59, -22}, { -57, -22}, { -55, -22}, { -58, -21}, { -56, -21}, { -53, -16}, { -53, -15}, { -52, -17}, { -52, -15}, { -51, -27}, { -51, -24}, { -51, -22}, { -51, -15}, { -50, -28}, { -50, -18}, { -49, -34}, { -49, -28}, { -49, -25}, { -49, -22}, { -48, -38}, { -48, -28}, { -47, -39}, { -47, -25}, { -46, -39}, { -46, -24}, { -45, -39}, { -45, -23}, { -44, -40}, { -44, -24}, { -43, -40}, { -43, -29}, { -43, -26}, { -43, -25}, { -42, -40}, { -42, -35}, { -42, -26}, { -42, -24}, { -41, -40}, { -41, -38}, { -41, -25}, { -41, -23}, { -40, -25}, { -40, -24}, { -39, -25}, { -39, -24}, { -77, -61}, { -77, -61}, { -55, -67}, { -55, -67}, { -62, -59}, { -62, -59}, { -67, -46}, { -67, -46}, { -60, -38}, { -60, -38}, { -52, -29}, { -52, -29}, { -53, -28}, { -53, -28}, { -50, -32}, { -50, -32}, { -50, -30}, { -50, -30}, { -48, -23}, { -48, -23}, { -41, -36}, { -37, -36}, { -41, -35}, { -37, -35}, { -42, -34}, { -37, -34}, { -42, -33}, { -37, -33}, { -41, -32}, { -37, -32}, { -41, -31}, { -31, -31}, { -41, -30}, { -31, -30}, { -39, -29}, { -32, -29}, { -36, -28}, { -32, -28}, { -35, -27}, { -32, -27}, { -34, -26}, { -32, -26}, { -43, -23}, { -42, -23}, { -43, -22}, { -40, -22}, { -48, -21}, { -47, -21}, { -43, -21}, { -38, -21}, { -48, -20}, { -47, -20}, { -42, -20}, { -38, -20}, { -48, -19}, { -46, -19}, { -41, -19}, { -35, -19}, { -48, -18}, { -46, -18}, { -41, -18}, { -35, -18}, { -41, -17}, { -35, -17}, { -42, -16}, { -36, -16}, { -43, -15}, { -36, -15}, { -43, -14}, { -39, -14}, { -43, -13}, { -39, -13}, { -44, -12}, { -41, -12}, { -45, -11}, { -42, -11}, { -45, -10}, { -42, -10}, { -43, -24}, { -43, -24}, { -47, -17}, { -47, -17}, { -31, -26}, { -27, -26}, { -23, -27}, { -21, -27}, { -24, -26}, { -19, -26}, { -32, -25}, { -20, -25}, { -32, -24}, { -23, -24}, { -31, -23}, { -24, -23}, { -29, -22}, { -25, -22}, { -29, -21}, { -25, -21}, { -28, -20}, { -25, -20}, { -28, -19}, { -26, -19}, { -31, -27}, { -31, -27}, { -31, -1}, { -31, 0}, { -30, -3}, { -30, 1}, { -29, -6}, { -29, 2}, { -28, -6}, { -28, 2}, { -27, -8}, { -27, 1}, { -26, -7}, { -26, 0}, { -25, -9}, { -25, 0}, { -24, -10}, { -24, 0}, { -23, -11}, { -23, 0}, { -22, -11}, { -22, 1}, { -21, -11}, { -21, 1}, { -20, -10}, { -20, -9}, { -20, -7}, { -20, 1}, { -19, -6}, { -19, 2}, { -18, -5}, { -18, 2}, { -17, -1}, { -17, 0}, { -26, -9}, { -26, -9}, { -35, -16}, { -34, -16}, { -30, -16}, { -28, -16}, { -35, -15}, { -33, -15}, { -30, -15}, { -27, -15}, { -38, -14}, { -25, -14}, { -38, -13}, { -24, -13}, { -40, -12}, { -24, -12}, { -41, -11}, { -24, -11}, { -41, -10}, { -25, -10}, { -46, -9}, { -27, -9}, { -47, -8}, { -31, -8}, { -46, -7}, { -31, -7}, { -46, -6}, { -45, -6}, { -42, -6}, { -40, -6}, { -37, -6}, { -34, -6}, { -45, -5}, { -45, -4}, { -41, -5}, { -39, -5}, { -36, -5}, { -35, -5}, { -40, -4}, { -39, -4}, { -34, -17}, { -34, -17}, { -44, -3}, { -44, -3}, { -19, -25}, { -17, -25}, { -22, -24}, { -16, -24}, { -23, -23}, { -15, -23}, { -24, -22}, { -15, -22}, { -24, -21}, { -14, -21}, { -24, -20}, { -15, -20}, { -25, -19}, { -18, -19}, { -28, -18}, { -17, -18}, { -28, -17}, { -17, -17}, { -27, -16}, { -18, -16}, { -26, -15}, { -20, -15}, { -24, -14}, { -21, -14}, { -23, -13}, { -22, -13}, { -23, -12}, { -22, -12}, { -62, -13}, { -57, -13}, { -65, -12}, { -56, -12}, { -65, -11}, { -56, -11}, { -69, -10}, { -56, -10}, { -69, -9}, { -55, -9}, { -70, -8}, { -55, -8}, { -70, -7}, { -54, -7}, { -71, -6}, { -53, -6}, { -74, -5}, { -53, -5}, { -74, -4}, { -54, -4}, { -73, -3}, { -51, -3}, { -76, -2}, { -51, -2}, { -77, -1}, { -51, -1}, { -76, 0}, { -51, 0}, { -76, 1}, { -68, 1}, { -65, 1}, { -51, 1}, { -75, 2}, { -69, 2}, { -64, 2}, { -51, 2}, { -74, 3}, { -68, 3}, { -64, 3}, { -52, 3}, { -73, 4}, { -69, 4}, { -64, 4}, { -52, 4}, { -71, 5}, { -70, 5}, { -62, 5}, { -55, 5}, { -62, 6}, { -55, 6}, { -57, 7}, { -56, 7}, { -68, -11}, { -68, -11}, { -62, 7}, { -62, 7}, { -21, -13}, { -21, -12}, { -20, -14}, { -20, -11}, { -19, -15}, { -19, -7}, { -18, -15}, { -18, -6}, { -17, -16}, { -17, -6}, { -16, -19}, { -16, -7}, { -15, -19}, { -15, -7}, { -14, -20}, { -14, -8}, { -13, -20}, { -13, -8}, { -12, -19}, { -12, -8}, { -11, -18}, { -11, -8}, { -10, -13}, { -10, -8}, { -9, -10}, { -9, -8}, { -20, -8}, { -20, -8}, { -17, -19}, { -17, -19}, { -14, -7}, { -10, -7}, { -16, -6}, { -9, -6}, { -12, -5}, { -9, -5}, { -10, -4}, { -9, -4}, { -8, -8}, { -8, -5}, { -9, -7}, { -9, -7}, { -8, -4}, { -7, -4}, { -9, -3}, { -6, -3}, { -9, -2}, { -5, -2}, { -8, -1}, { -2, -1}, { -8, 0}, { -6, 0}, { -7, 1}, { -6, 1}, { -6, 2}, { -5, 2}, { -6, 3}, { -6, 3}, { -5, 0}, { 0, 0}, { -5, 1}, { 0, 1}, { -4, 2}, { 1, 2}, { -5, 3}, { 2, 3}, { -8, 4}, { 2, 4}, { -8, 5}, { 3, 5}, { -8, 6}, { 5, 6}, { -8, 7}, { 4, 7}, { -7, 8}, { 4, 8}, { -7, 9}, { 4, 9}, { -6, 10}, { 1, 10}, { -5, 11}, { 1, 11}, { -5, 12}, { -3, 12}, { -5, 13}, { -4, 13}, { -13, 5}, { -9, 5}, { -14, 6}, { -9, 6}, { -13, 7}, { -9, 7}, { -12, 8}, { -8, 8}, { -11, 9}, { -8, 9}, { -11, 4}, { -11, 4}, { -17, -5}, { -13, -5}, { -17, -4}, { -11, -4}, { -17, -3}, { -10, -3}, { -17, -2}, { -10, -2}, { -16, -1}, { -9, -1}, { -16, 0}, { -9, 0}, { -17, 1}, { -8, 1}, { -17, 2}, { -7, 2}, { -17, 3}, { -7, 3}, { -17, 4}, { -12, 4}, { -10, 4}, { -9, 4}, { -14, 5}, { -14, 5}, { -26, 1}, { -23, 1}, { -27, 2}, { -20, 2}, { -29, 3}, { -18, 3}, { -28, 4}, { -18, 4}, { -28, 5}, { -18, 5}, { -27, 6}, { -26, 6}, { -40, 2}, { -39, 2}, { -41, 3}, { -39, 3}, { -41, 4}, { -39, 4}, { -42, 5}, { -40, 5}, { -42, 6}, { -40, 6}, { -43, 7}, { -42, 7}, { -22, 6}, { -18, 6}, { -22, 7}, { -18, 7}, { -23, 8}, { -20, 8}, { -23, 9}, { -21, 9}, { -27, 7}, { -27, 7}, { -24, 10}, { -21, 10}, { -23, 11}, { -20, 11}, { -24, 12}, { -20, 12}, { -24, 13}, { -21, 13}, { -23, 14}, { -20, 14}, { -25, 15}, { -20, 15}, { -25, 16}, { -25, 16}, { -25, 11}, { -25, 13}, { -24, 11}, { -24, 11}, { -24, 16}, { -23, 16}, { -25, 17}, { -24, 17}, { -25, 18}, { -23, 18}, { -26, 19}, { -23, 19}, { -26, 20}, { -23, 20}, { -25, 21}, { -23, 21}, { -25, 22}, { -24, 22}, { -28, 21}, { -28, 21}, { -23, 22}, { -23, 22}, { -28, 22}, { -27, 22}, { -27, 23}, { -22, 23}, { -26, 24}, { -22, 24}, { -23, 25}, { -22, 25}, { -19, 8}, { -18, 8}, { -20, 9}, { -18, 9}, { -20, 10}, { -16, 10}, { -19, 11}, { -15, 11}, { -19, 12}, { -16, 12}, { -20, 13}, { -17, 13}, { -19, 14}, { -17, 14}, { -16, 13}, { -16, 16}, { -15, 14}, { -15, 17}, { -14, 16}, { -14, 17}, { -19, 15}, { -17, 15}, { -20, 16}, { -17, 16}, { -19, 17}, { -19, 17}, { -22, 16}, { -21, 16}, { -23, 17}, { -20, 17}, { -18, 17}, { -16, 17}, { -19, 18}, { -16, 18}, { -18, 19}, { -17, 19}, { -22, 18}, { -20, 18}, { -22, 19}, { -19, 19}, { -22, 20}, { -18, 20}, { -22, 21}, { -21, 21}, { -18, 21}, { -18, 21}, { -22, 22}, { -22, 22}, { -20, 21}, { -19, 21}, { -21, 22}, { -18, 22}, { -21, 23}, { -16, 23}, { -21, 24}, { -16, 24}, { -21, 25}, { -18, 25}, { -20, 26}, { -18, 26}, { -20, 27}, { -18, 27}, { -17, 20}, { -17, 22}, { -16, 19}, { -16, 22}, { -15, 18}, { -15, 24}, { -14, 18}, { -14, 24}, { -13, 18}, { -13, 24}, { -12, 21}, { -12, 24}, { 7, 23}, { 11, 23}, { 6, 24}, { 10, 24}, { 7, 25}, { 9, 25}, { 5, 26}, { 9, 26}, { 5, 27}, { 8, 27}, { 13, 27}, { 15, 27}, { 5, 28}, { 7, 28}, { 13, 28}, { 15, 28}, { 3, 29}, { 9, 29}, { 12, 29}, { 15, 29}, { 3, 30}, { 16, 30}, { 2, 31}, { 16, 31}, { 2, 32}, { 16, 32}, { 2, 33}, { 14, 33}, { 3, 34}, { 13, 34}, { 3, 35}, { 9, 35}, { 3, 36}, { 9, 36}, { 3, 37}, { 8, 37}, { 3, 38}, { 7, 38}, { 4, 39}, { 6, 39}, { 5, 40}, { 6, 40}, { 12, 35}, { 12, 35}, { -6, 18}, { 1, 18}, { -5, 19}, { 1, 19}, { -3, 13}, { -1, 13}, { -5, 14}, { 4, 14}, { -5, 15}, { 5, 15}, { -6, 16}, { 6, 16}, { -6, 17}, { 2, 17}, { 4, 17}, { 7, 17}, { 6, 18}, { 7, 18}, { -4, 20}, { 1, 20}, { -4, 21}, { -1, 21}, { -2, 12}, { -2, 12}, { 2, 18}, { 5, 18}, { 8, 18}, { 9, 18}, { 2, 19}, { 9, 19}, { 2, 20}, { 10, 20}, { 0, 21}, { 10, 21}, { 0, 22}, { 10, 22}, { 0, 23}, { 6, 23}, { 0, 24}, { 5, 24}, { 0, 25}, { 6, 25}, { 3, 17}, { 3, 17}, { -13, 10}, { -7, 10}, { -11, 11}, { -6, 11}, { -10, 12}, { -6, 12}, { -10, 13}, { -6, 13}, { -12, 9}, { -12, 9}, { -15, 13}, { -13, 13}, { -14, 14}, { -12, 14}, { -15, 12}, { -15, 12}, { -14, 15}, { -14, 15}, { -10, 14}, { -6, 14}, { -10, 15}, { -6, 15}, { -7, 16}, { -7, 16}, { -13, 15}, { -11, 15}, { -13, 16}, { -10, 16}, { -13, 17}, { -12, 17}, { -11, 14}, { -11, 14}, { -9, 16}, { -8, 16}, { -11, 17}, { -7, 17}, { -12, 18}, { -7, 18}, { -12, 19}, { -6, 19}, { -12, 20}, { -5, 20}, { -11, 21}, { -5, 21}, { -11, 22}, { -6, 22}, { -8, 23}, { -7, 23}, { -17, 5}, { -15, 5}, { -17, 6}, { -15, 6}, { -17, 7}, { -14, 7}, { -17, 8}, { -13, 8}, { -17, 9}, { -13, 9}, { -15, 10}, { -14, 10}, { -14, 11}, { -12, 11}, { -14, 12}, { -11, 12}, { -12, 13}, { -11, 13}, { 2, 10}, { 5, 10}, { 2, 11}, { 5, 11}, { -1, 12}, { 6, 12}, { 0, 13}, { 7, 13}, { 5, 14}, { 8, 14}, { -23, 26}, { -21, 26}, { -23, 27}, { -21, 27}, { -25, 28}, { -21, 28}, { -29, 29}, { -21, 29}, { -31, 30}, { -21, 30}, { -32, 31}, { -21, 31}, { -34, 32}, { -21, 32}, { -35, 33}, { -21, 33}, { -35, 34}, { -22, 34}, { -36, 35}, { -23, 35}, { -36, 36}, { -22, 36}, { -36, 37}, { -29, 37}, { -26, 37}, { -21, 37}, { -37, 38}, { -33, 38}, { -24, 38}, { -21, 38}, { -37, 39}, { -33, 39}, { -22, 39}, { -21, 39}, { -37, 40}, { -33, 40}, { -35, 41}, { -33, 41}, { -41, 19}, { -39, 19}, { -41, 20}, { -38, 20}, { -42, 21}, { -37, 21}, { -41, 22}, { -37, 22}, { -35, 22}, { -29, 22}, { -34, 21}, { -33, 21}, { -30, 21}, { -29, 21}, { -41, 23}, { -28, 23}, { -39, 24}, { -27, 24}, { -38, 25}, { -24, 25}, { -39, 26}, { -24, 26}, { -40, 27}, { -24, 27}, { -42, 28}, { -39, 28}, { -37, 28}, { -26, 28}, { -43, 29}, { -41, 29}, { -36, 29}, { -30, 29}, { -37, 30}, { -32, 30}, { -36, 31}, { -33, 31}, { -36, 32}, { -34, 32}, { -36, 33}, { -35, 33}, { -41, 30}, { -41, 30}, { -36, 34}, { -36, 34}, { -31, 47}, { -29, 47}, { -31, 48}, { -28, 48}, { -31, 49}, { -28, 49}, { -31, 50}, { -28, 50}, { -32, 51}, { -28, 51}, { -32, 52}, { -26, 52}, { -33, 53}, { -25, 53}, { -31, 54}, { -27, 54}, { -30, 55}, { -27, 55}, { -32, 38}, { -32, 47}, { -31, 38}, { -31, 46}, { -30, 38}, { -30, 46}, { -29, 38}, { -29, 46}, { -28, 37}, { -28, 46}, { -27, 37}, { -27, 45}, { -26, 38}, { -26, 40}, { -25, 38}, { -25, 40}, { -33, 47}, { -33, 47}, { -24, 56}, { -24, 57}, { -23, 54}, { -23, 58}, { -22, 54}, { -22, 57}, { -21, 53}, { -21, 56}, { -20, 51}, { -20, 56}, { -19, 52}, { -19, 56}, { -18, 52}, { -18, 54}, { -18, 55}, { -17, 55}, { -18, 56}, { -15, 56}, { -21, 57}, { -15, 57}, { -22, 58}, { -14, 58}, { -22, 59}, { -13, 59}, { -21, 60}, { -16, 60}, { -20, 61}, { -18, 61}, { -21, 62}, { -18, 62}, { -21, 63}, { -21, 64}, { -32, 58}, { -31, 58}, { -33, 59}, { -23, 59}, { -33, 60}, { -22, 60}, { -31, 61}, { -21, 61}, { -29, 62}, { -22, 62}, { -27, 63}, { -22, 63}, { -25, 64}, { -22, 64}, { -24, 58}, { -24, 58}, { -24, 65}, { -24, 65}, { -40, 41}, { -36, 41}, { -43, 42}, { -33, 42}, { -44, 43}, { -33, 43}, { -47, 44}, { -33, 44}, { -49, 45}, { -33, 45}, { -49, 46}, { -33, 46}, { -47, 47}, { -34, 47}, { -48, 48}, { -32, 48}, { -48, 49}, { -44, 49}, { -39, 49}, { -32, 49}, { -47, 50}, { -44, 50}, { -37, 50}, { -32, 50}, { -38, 51}, { -33, 51}, { -38, 40}, { -38, 40}, { -46, 51}, { -46, 51}, { -38, 52}, { -38, 52}, { -33, 52}, { -33, 52}, { -27, 46}, { -27, 51}, { -26, 44}, { -26, 51}, { -25, 46}, { -25, 52}, { -24, 46}, { -24, 52}, { -23, 46}, { -23, 52}, { -22, 47}, { -22, 51}, { -21, 50}, { -21, 51}, { -28, 47}, { -28, 47}, { -24, 39}, { -23, 39}, { -24, 40}, { -19, 40}, { -26, 41}, { -19, 41}, { -26, 42}, { -19, 42}, { -26, 43}, { -18, 43}, { -25, 44}, { -19, 44}, { -25, 45}, { -20, 45}, { -22, 46}, { -19, 46}, { -21, 47}, { -21, 47}, { -18, 44}, { -14, 44}, { -12, 44}, { -10, 44}, { -19, 45}, { -10, 45}, { -18, 46}, { -11, 46}, { -20, 47}, { -11, 47}, { -21, 48}, { -11, 48}, { -21, 49}, { -10, 49}, { -20, 50}, { -12, 50}, { -19, 51}, { -16, 51}, { -17, 52}, { -17, 53}, { -11, 43}, { -11, 43}, { -7, 42}, { -5, 42}, { -8, 43}, { -6, 43}, { -9, 44}, { -6, 44}, { -9, 45}, { -4, 45}, { -10, 46}, { -3, 46}, { -10, 47}, { -4, 47}, { -10, 48}, { -4, 48}, { -9, 49}, { -2, 49}, { -7, 50}, { -2, 50}, { -8, 51}, { -3, 51}, { -8, 52}, { -5, 52}, { -21, 34}, { -21, 35}, { -20, 28}, { -20, 34}, { -19, 28}, { -19, 34}, { -18, 28}, { -18, 33}, { -22, 35}, { -22, 35}, { -17, 32}, { -17, 32}, { -17, 25}, { -17, 31}, { -16, 25}, { -16, 32}, { -15, 25}, { -15, 32}, { -14, 25}, { -14, 30}, { -13, 25}, { -13, 29}, { -12, 25}, { -12, 31}, { -11, 23}, { -11, 31}, { -10, 23}, { -10, 31}, { -9, 23}, { -9, 32}, { -8, 24}, { -8, 30}, { -7, 26}, { -7, 30}, { -7, 24}, { -7, 24}, { -5, 22}, { -1, 22}, { -6, 23}, { -1, 23}, { -6, 24}, { -1, 24}, { -7, 25}, { -1, 25}, { -6, 26}, { 4, 26}, { -6, 27}, { 4, 27}, { -6, 28}, { 4, 28}, { -6, 29}, { -3, 29}, { 0, 29}, { 2, 29}, { 1, 30}, { 2, 30}, { -2, 29}, { -1, 29}, { -6, 30}, { 0, 30}, { -8, 31}, { 1, 31}, { -7, 32}, { 1, 32}, { -7, 33}, { 1, 33}, { -7, 34}, { 0, 34}, { -7, 35}, { -2, 35}, { -6, 36}, { -2, 36}, { -14, 31}, { -14, 34}, { -13, 30}, { -13, 34}, { -12, 32}, { -12, 33}, { -17, 33}, { -15, 33}, { -18, 34}, { -15, 34}, { -20, 35}, { -16, 35}, { -21, 36}, { -18, 36}, { -17, 36}, { -15, 36}, { -20, 37}, { -15, 37}, { -20, 38}, { -16, 38}, { -15, 35}, { -15, 35}, { -14, 35}, { -14, 40}, { -13, 35}, { -13, 40}, { -12, 34}, { -12, 41}, { -11, 32}, { -11, 38}, { -10, 32}, { -10, 35}, { -15, 38}, { -15, 38}, { -11, 39}, { -11, 42}, { -10, 36}, { -10, 43}, { -9, 33}, { -9, 43}, { -8, 32}, { -8, 42}, { -7, 36}, { -7, 41}, { -6, 37}, { -6, 39}, { -12, 42}, { -12, 42}, { -5, 38}, { -5, 38}, { -20, 39}, { -15, 39}, { -18, 40}, { -15, 40}, { -18, 41}, { -13, 41}, { -18, 42}, { -13, 42}, { -17, 43}, { -12, 43}, { -13, 44}, { -13, 44}, { -11, 50}, { -8, 50}, { -15, 51}, { -9, 51}, { -16, 52}, { -9, 52}, { -16, 53}, { -10, 53}, { -17, 54}, { -9, 54}, { -16, 55}, { -9, 55}, { -14, 56}, { -9, 56}, { -14, 57}, { -10, 57}, { 13, 44}, { 14, 44}, { 11, 45}, { 14, 45}, { 10, 46}, { 15, 46}, { 10, 47}, { 15, 47}, { 10, 48}, { 18, 48}, { 10, 49}, { 18, 49}, { 11, 50}, { 18, 50}, { 12, 51}, { 13, 51}, { 1, 34}, { 2, 34}, { -1, 35}, { 2, 35}, { -1, 36}, { 2, 36}, { -5, 37}, { 2, 37}, { -4, 38}, { 2, 38}, { -5, 39}, { 2, 39}, { -6, 40}, { 1, 40}, { -6, 41}, { -1, 41}, { -4, 42}, { -2, 42}, { -5, 43}, { -4, 43}, { -5, 44}, { -4, 44}, { 16, 27}, { 21, 27}, { 16, 28}, { 23, 28}, { 16, 29}, { 24, 29}, { 17, 30}, { 25, 30}, { 17, 31}, { 26, 31}, { 18, 32}, { 26, 32}, { 18, 33}, { 26, 33}, { 18, 34}, { 26, 34}, { 18, 35}, { 20, 35}, { 23, 35}, { 26, 35}, { 25, 36}, { 26, 36}, { 15, 33}, { 17, 33}, { 14, 34}, { 17, 34}, { 13, 35}, { 17, 35}, { 21, 35}, { 22, 35}, { 13, 36}, { 24, 36}, { 13, 37}, { 26, 37}, { 13, 38}, { 25, 38}, { 14, 39}, { 25, 39}, { 15, 40}, { 25, 40}, { 15, 41}, { 25, 41}, { 18, 42}, { 24, 42}, { 18, 43}, { 23, 43}, { 20, 44}, { 22, 44}, { 17, 32}, { 17, 32}, { 2, 40}, { 4, 40}, { 0, 41}, { 4, 41}, { -1, 42}, { 4, 42}, { -3, 43}, { 3, 43}, { -3, 44}, { 3, 44}, { -3, 45}, { 0, 45}, { -2, 46}, { -1, 46}, { 3, 39}, { 3, 39}, { 14, 42}, { 17, 42}, { 14, 43}, { 17, 43}, { 15, 44}, { 19, 44}, { 15, 45}, { 21, 45}, { 16, 46}, { 22, 46}, { 16, 47}, { 20, 47}, { 14, 51}, { 18, 51}, { 13, 52}, { 15, 52}, { 10, 35}, { 11, 35}, { 10, 36}, { 12, 36}, { 9, 37}, { 12, 37}, { 8, 38}, { 12, 38}, { 7, 39}, { 13, 39}, { 7, 40}, { 14, 40}, { 7, 41}, { 14, 41}, { 10, 42}, { 13, 42}, { 10, 43}, { 13, 43}, { 10, 44}, { 12, 44}, { 10, 45}, { 10, 45}, { 5, 41}, { 6, 41}, { 5, 42}, { 9, 42}, { 4, 43}, { 9, 43}, { 4, 44}, { 9, 44}, { 4, 45}, { 9, 45}, { 5, 46}, { 9, 46}, { 7, 47}, { 9, 47}, { 7, 48}, { 8, 48}, { 1, 45}, { 3, 45}, { 0, 46}, { 4, 46}, { 1, 47}, { 1, 47}, { -3, 47}, { 0, 47}, { -3, 48}, { 3, 48}, { -1, 49}, { 2, 49}, { -1, 50}, { 2, 50}, { -1, 51}, { 2, 51}, { 2, 47}, { 2, 47}, { 0, 52}, { 2, 52}, { 0, 53}, { 2, 53}, { 1, 54}, { 2, 54}, { 3, 47}, { 6, 47}, { 4, 48}, { 6, 48}, { 4, 49}, { 6, 49}, { 7, 49}, { 9, 49}, { 6, 50}, { 8, 50}, { 9, 48}, { 9, 48}, { 3, 50}, { 5, 50}, { 3, 49}, { 3, 49}, { 9, 50}, { 9, 51}, { 4, 51}, { 5, 51}, { 4, 52}, { 5, 52}, { 3, 51}, { 3, 53}, { 4, 53}, { 4, 53}, { 10, 51}, { 11, 51}, { 10, 52}, { 12, 52}, { 11, 53}, { 13, 53}, { 10, 50}, { 10, 50}, { 2, 55}, { 6, 55}, { 4, 56}, { 6, 56}, { 4, 57}, { 6, 57}, { 7, 55}, { 7, 56}, { 8, 55}, { 8, 56}, { 3, 54}, { 5, 54}, { 9, 54}, { 9, 55}, { 10, 55}, { 10, 55}, { 10, 54}, { 13, 54}, { 11, 55}, { 13, 55}, { 10, 53}, { 10, 53}, { 9, 56}, { 12, 56}, { 9, 57}, { 12, 57}, { 10, 58}, { 15, 58}, { 17, 58}, { 19, 58}, { 10, 60}, { 19, 60}, { 10, 61}, { 19, 61}, { 10, 62}, { 19, 62}, { 13, 63}, { 16, 63}, { 14, 64}, { 15, 64}, { 10, 59}, { 20, 59}, { 18, 57}, { 18, 57}, { 0, 56}, { 3, 56}, { -1, 57}, { 3, 57}, { -1, 58}, { 4, 58}, { -2, 59}, { 4, 59}, { -2, 60}, { 3, 60}, { -3, 61}, { 2, 61}, { -3, 62}, { 2, 62}, { 1, 55}, { 1, 55}, { 20, 55}, { 24, 55}, { 20, 56}, { 23, 56}, { 19, 57}, { 24, 57}, { 20, 58}, { 24, 58}, { 21, 59}, { 22, 59}, { 20, 60}, { 20, 60}, { 2, 63}, { 3, 63}, { 5, 63}, { 12, 63}, { 2, 64}, { 13, 64}, { 3, 65}, { 5, 65}, { 8, 65}, { 12, 65}, { 9, 62}, { 9, 62}, { 7, 57}, { 8, 57}, { 5, 58}, { 9, 58}, { 5, 59}, { 9, 59}, { 4, 60}, { 9, 60}, { 3, 61}, { 9, 61}, { 3, 62}, { 8, 62}, { 4, 63}, { 4, 63}, { 14, 53}, { 16, 53}, { 14, 54}, { 18, 54}, { 14, 55}, { 19, 55}, { 13, 56}, { 19, 56}, { 13, 57}, { 17, 57}, { 16, 58}, { 16, 58}, { -4, 52}, { -1, 52}, { -9, 53}, { -1, 53}, { -8, 54}, { 0, 54}, { -8, 55}, { 0, 55}, { -8, 56}, { -1, 56}, { -7, 57}, { -2, 57}, { -6, 58}, { -2, 58}, { -4, 59}, { -3, 59}, { -2, 51}, { -2, 51}, { -9, 59}, { -5, 59}, { -9, 60}, { -3, 60}, { -9, 61}, { -4, 61}, { -9, 62}, { -4, 62}, { -9, 63}, { -4, 63}, { -9, 64}, { -6, 64}, { -9, 65}, { -6, 65}, { -9, 66}, { -7, 66}, { -3, 63}, { 1, 63}, { -5, 64}, { 1, 64}, { -5, 65}, { 2, 65}, { -7, 67}, { -4, 67}, { -8, 68}, { -4, 68}, { -6, 69}, { -5, 69}, { 0, 66}, { 0, 66}, { -14, 64}, { -10, 64}, { -14, 65}, { -10, 65}, { -16, 66}, { -10, 66}, { -16, 67}, { -11, 67}, { -16, 68}, { -13, 68}, { -15, 69}, { -13, 69}, { -9, 57}, { -8, 57}, { -13, 58}, { -7, 58}, { -12, 59}, { -10, 59}, { -15, 60}, { -10, 60}, { -17, 61}, { -10, 61}, { -17, 62}, { -10, 62}, { -14, 63}, { -10, 63}, { -20, 63}, { -15, 63}, { -20, 64}, { -15, 64}, { -23, 65}, { -15, 65}, { -23, 66}, { -17, 66}, { -22, 67}, { -17, 67}, { -20, 68}, { -17, 68}, { -19, 69}, { -18, 70}, { -35, 58}, { -33, 58}, { -38, 59}, { -34, 59}, { -38, 60}, { -34, 60}, { -38, 61}, { -32, 61}, { -41, 62}, { -30, 62}, { -42, 63}, { -28, 63}, { -42, 64}, { -26, 64}, { -42, 65}, { -25, 65}, { -42, 66}, { -24, 66}, { -42, 67}, { -25, 67}, { -38, 68}, { -36, 68}, { -32, 68}, { -28, 68}, { -43, 59}, { -43, 59}, { -30, 69}, { -30, 69}, { -44, 68}, { -39, 68}, { -45, 69}, { -35, 69}, { -47, 70}, { -35, 70}, { -46, 71}, { -35, 71}, { -46, 72}, { -35, 72}, { -46, 73}, { -35, 73}, { -45, 74}, { -45, 75}, { -37, 74}, { -36, 74}, { -43, 67}, { -43, 67}, { -34, 68}, { -34, 75}, { -33, 68}, { -33, 75}, { -32, 69}, { -32, 75}, { -31, 69}, { -31, 73}, { -35, 68}, { -35, 68}, { -35, 74}, { -35, 74}, { -54, 76}, { -47, 76}, { -55, 77}, { -49, 77}, { -55, 78}, { -54, 78}, { -51, 78}, { -49, 78}, { -50, 79}, { -49, 79}, { -48, 72}, { -47, 72}, { -49, 73}, { -47, 73}, { -50, 74}, { -46, 74}, { -51, 75}, { -46, 75}, { -62, 79}, { -62, 79}, { -47, 71}, { -47, 71}, { 33, -70}, { 33, -70}, { 33, -69}, { 33, -69}, { 31, -68}, { 33, -68}, { 31, -67}, { 32, -67}, { 31, -66}, { 34, -66}, { 31, -65}, { 32, -65}, { 29, -66}, { 29, -66}, { 28, -65}, { 29, -65}, { 27, -64}, { 31, -64}, { 28, -63}, { 30, -63}, { 28, -62}, { 31, -62}, { 29, -61}, { 32, -61}, { 26, -60}, { 31, -60}, { 27, -59}, { 30, -59}, { 28, -58}, { 28, -58}, { 30, -58}, { 32, -58}, { 30, -57}, { 31, -57}, { 30, -56}, { 30, -56}, { 29, -55}, { 30, -55}, { 29, -54}, { 29, -54}, { 29, -53}, { 29, -53}, { 27, -47}, { 27, -47}, { 22, -58}, { 22, -58}, { 7, 52}, { 7, 53}, { 48, 47}, { 48, 47}, { 47, 48}, { 48, 48}, { 47, 49}, { 48, 49}, { 47, 50}, { 48, 50}, { 8, 52}, { 8, 52}, { 49, 47}, { 49, 47}, { 49, 48}, { 51, 48}, { 49, 49}, { 51, 49}, { 49, 50}, { 51, 50}, { 9, 52}, { 9, 53}, { 52, 44}, { 52, 51}, { 53, 40}, { 53, 51}, { 54, 39}, { 54, 50}, { 55, 37}, { 55, 50}, { 56, 32}, { 56, 53}, { 57, 30}, { 57, 53}, { 58, 28}, { 58, 50}, { 59, 30}, { 59, 34}, { 59, 37}, { 59, 50}, { 60, 31}, { 60, 33}, { 60, 37}, { 60, 51}, { 61, 38}, { 61, 51}, { 62, 41}, { 62, 51}, { 63, 43}, { 63, 51}, { 64, 43}, { 64, 51}, { 65, 49}, { 65, 50}, { 66, 49}, { 66, 49}, { 7, 51}, { 8, 51}, { 46, 30}, { 50, 30}, { 38, 31}, { 43, 31}, { 46, 31}, { 50, 31}, { 38, 32}, { 44, 32}, { 46, 32}, { 55, 32}, { 41, 33}, { 55, 33}, { 41, 34}, { 55, 34}, { 41, 35}, { 55, 35}, { 41, 36}, { 55, 36}, { 40, 37}, { 54, 37}, { 40, 38}, { 54, 38}, { 43, 39}, { 53, 39}, { 43, 40}, { 52, 40}, { 44, 41}, { 52, 41}, { 45, 42}, { 52, 42}, { 46, 43}, { 52, 43}, { 47, 44}, { 51, 44}, { 48, 45}, { 51, 45}, { 48, 46}, { 51, 46}, { 50, 47}, { 51, 47}, { 6, 51}, { 6, 51}, { 35, 31}, { 37, 31}, { 36, 32}, { 37, 32}, { 36, 33}, { 40, 33}, { 36, 34}, { 40, 34}, { 37, 35}, { 40, 35}, { 36, 36}, { 40, 36}, { 35, 37}, { 39, 37}, { 34, 38}, { 39, 38}, { 34, 39}, { 42, 39}, { 34, 40}, { 42, 40}, { 35, 41}, { 43, 41}, { 35, 42}, { 44, 42}, { 35, 43}, { 46, 43}, { 35, 44}, { 46, 44}, { 34, 45}, { 47, 45}, { 33, 46}, { 47, 46}, { 34, 47}, { 38, 47}, { 43, 47}, { 47, 47}, { 44, 48}, { 44, 48}, { 6, 52}, { 6, 53}, { 32, 46}, { 32, 46}, { 27, 47}, { 33, 47}, { 39, 47}, { 42, 47}, { 27, 48}, { 43, 48}, { 45, 48}, { 46, 48}, { 27, 49}, { 46, 49}, { 28, 50}, { 46, 50}, { 28, 51}, { 42, 51}, { 32, 52}, { 40, 52}, { 33, 53}, { 36, 53}, { 39, 53}, { 40, 53}, { 34, 54}, { 36, 54}, { 35, 55}, { 35, 55}, { 6, 54}, { 7, 54}, { 5, 53}, { 5, 53}, { 43, 51}, { 47, 51}, { 41, 52}, { 47, 52}, { 37, 53}, { 38, 53}, { 41, 53}, { 47, 53}, { 37, 54}, { 48, 54}, { 34, 55}, { 34, 55}, { 36, 55}, { 48, 55}, { 34, 56}, { 48, 56}, { 33, 57}, { 48, 57}, { 35, 58}, { 48, 58}, { 36, 59}, { 48, 59}, { 35, 60}, { 48, 60}, { 35, 61}, { 48, 61}, { 36, 62}, { 48, 62}, { 36, 63}, { 43, 63}, { 46, 63}, { 48, 63}, { 36, 64}, { 42, 64}, { 46, 64}, { 48, 64}, { 37, 65}, { 41, 65}, { 47, 65}, { 48, 65}, { 38, 66}, { 38, 66}, { 8, 53}, { 8, 54}, { 69, 50}, { 70, 50}, { 48, 51}, { 51, 51}, { 54, 51}, { 55, 51}, { 58, 51}, { 58, 51}, { 66, 51}, { 70, 51}, { 48, 52}, { 55, 52}, { 59, 52}, { 59, 52}, { 66, 52}, { 69, 52}, { 48, 53}, { 55, 53}, { 59, 53}, { 69, 53}, { 49, 54}, { 70, 54}, { 49, 55}, { 68, 55}, { 49, 56}, { 65, 56}, { 49, 57}, { 64, 57}, { 49, 58}, { 64, 58}, { 49, 59}, { 64, 59}, { 49, 60}, { 64, 60}, { 49, 61}, { 64, 61}, { 49, 62}, { 56, 62}, { 61, 62}, { 61, 62}, { 63, 62}, { 63, 62}, { 49, 63}, { 53, 63}, { 50, 64}, { 53, 64}, { 50, 65}, { 53, 65}, { 50, 66}, { 53, 66}, { 50, 67}, { 50, 67}, { 52, 67}, { 53, 67}, { 52, 68}, { 52, 68} }; /* Paint the selected post area on the map image [gc]. Arguments: graphics context where post area to be painted, colour it is to be painted, 2-letter post area code, co-ordinates of centre of map, within graphics context. */ static void paintMap(Graphics gc, Color colour, String s, int X, int Y) { if(PostAreaFound(s)) { int i = (int)I[paNum]; // start of this post area's plots gc.setColor(colour); // set required colour post areas int K = (int)N[paNum]; // number of horizontal lines in this post area /* for each horizontal line in the post area, draw the line from the start of this horizontal scan to the end of this horizontal scan. */ for(int k = 0; k < K; k += 2) gc.drawLine( X + (int)P[i + k][0], Y + (int)P[i + k][1], X + (int)P[i + k + 1][0], Y + (int)P[i + k + 1][1] ); } } /* The following method should be upgraded into a binary search. However, before this can be done, the post area index must be re-sorted into alpha- betical order. This should greatly improve the speed of finding the post area index number. This should later be upgraded to a binary search. */ static boolean PostAreaFound(String s) { boolean found = false; // set flag to indicate 'not found' /* Shift first letter of post area 1 byte up and lay in the second letter's low-byte. */ int p = ((int)(s.charAt(0)) << 8) | ((int)(s.charAt(1))); for(int k = 0; k < L.length; k++) // for each entry in post area index if(p == (int)L[k]) { // if it matches presented post area paNum = k; // note index number of found code found = true; // set the 'found' flag break; // bail out of the loop } return found; // return the state of the 'found' flag } }