History

dca: K&R formatting cosmetics

Gabriel Dume committed 12 years ago

Commit 45ff7c91 parent 9030c586 files · +7953 −7981Browse files

Unified · Split

6 files
  1. libavcodec/dca.c +1 −2
  2. libavcodec/dca_parser.c +19 −20
  3. libavcodec/dcadata.h +7344 −7340
  4. libavcodec/dcadec.c +118 −118
  5. libavcodec/dcadsp.c +15 −10
  6. libavcodec/dcahuff.h +456 −491
libavcodec/dca.c+1−2
@@ -26,8 +26,7 @@ · 25 unmodified lines
26#include "dca.h"26#include "dca.h"
27#include "put_bits.h"27#include "put_bits.h"
28 28
29const uint32_t avpriv_dca_sample_rates[16] =29const uint32_t avpriv_dca_sample_rates[16] = {
30{
31 0, 8000, 16000, 32000, 0, 0, 11025, 22050, 44100, 0, 0,30 0, 8000, 16000, 32000, 0, 0, 11025, 22050, 44100, 0, 0,
32 12000, 24000, 48000, 96000, 19200031 12000, 24000, 48000, 96000, 192000
33};32};
libavcodec/dca_parser.c+19−20
@@ -22,9 +22,9 @@ · 21 unmodified lines
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23 */23 */
24 24
25#include "parser.h"
26#include "dca.h"25#include "dca.h"
27#include "get_bits.h"26#include "get_bits.h"
27#include "parser.h"
28 28
29typedef struct DCAParseContext {29typedef struct DCAParseContext {
30 ParseContext pc;30 ParseContext pc;
@@ -35,15 +35,15 @@ typedef struct DCAParseContext { · 4 unmodified lines
35} DCAParseContext;35} DCAParseContext;
36 36
37#define IS_MARKER(state, i, buf, buf_size) \37#define IS_MARKER(state, i, buf, buf_size) \
38 ((state == DCA_MARKER_14B_LE && (i < buf_size-2) && (buf[i+1] & 0xF0) == 0xF0 && buf[i+2] == 0x07) \38 ((state == DCA_MARKER_14B_LE && (i < buf_size - 2) && (buf[i + 1] & 0xF0) == 0xF0 && buf[i + 2] == 0x07) || \
39 || (state == DCA_MARKER_14B_BE && (i < buf_size-2) && buf[i+1] == 0x07 && (buf[i+2] & 0xF0) == 0xF0) \39 (state == DCA_MARKER_14B_BE && (i < buf_size - 2) && buf[i + 1] == 0x07 && (buf[i + 2] & 0xF0) == 0xF0) || \
40 || state == DCA_MARKER_RAW_LE || state == DCA_MARKER_RAW_BE)40 state == DCA_MARKER_RAW_LE || state == DCA_MARKER_RAW_BE)
41 41
42/**42/**
43 * Find the end of the current frame in the bitstream.43 * Find the end of the current frame in the bitstream.
44 * @return the position of the first byte of the next frame, or -144 * @return the position of the first byte of the next frame, or -1
45 */45 */
46static int dca_find_frame_end(DCAParseContext * pc1, const uint8_t * buf,46static int dca_find_frame_end(DCAParseContext *pc1, const uint8_t *buf,
47 int buf_size)47 int buf_size)
48{48{
49 int start_found, i;49 int start_found, i;
@@ -51,7 +51,7 @@ static int dca_find_frame_end(DCAParseContext * pc1, const uint8_t * buf, · 1 unmodified line
51 ParseContext *pc = &pc1->pc;51 ParseContext *pc = &pc1->pc;
52 52
53 start_found = pc->frame_start_found;53 start_found = pc->frame_start_found;
54 state = pc->state;54 state = pc->state;
55 55
56 i = 0;56 i = 0;
57 if (!start_found) {57 if (!start_found) {
@@ -63,7 +63,7 @@ static int dca_find_frame_end(DCAParseContext * pc1, const uint8_t * buf, · 5 unmodified lines
63 i++;63 i++;
64 break;64 break;
65 } else if (!pc1->lastmarker) {65 } else if (!pc1->lastmarker) {
66 start_found = 1;66 start_found = 1;
67 pc1->lastmarker = state;67 pc1->lastmarker = state;
68 i++;68 i++;
69 break;69 break;
@@ -78,21 +78,21 @@ static int dca_find_frame_end(DCAParseContext * pc1, const uint8_t * buf, · 8 unmodified lines
78 if (state == DCA_HD_MARKER && !pc1->hd_pos)78 if (state == DCA_HD_MARKER && !pc1->hd_pos)
79 pc1->hd_pos = pc1->size;79 pc1->hd_pos = pc1->size;
80 if (state == pc1->lastmarker && IS_MARKER(state, i, buf, buf_size)) {80 if (state == pc1->lastmarker && IS_MARKER(state, i, buf, buf_size)) {
81 if(pc1->framesize > pc1->size)81 if (pc1->framesize > pc1->size)
82 continue;82 continue;
83 pc->frame_start_found = 0;83 pc->frame_start_found = 0;
84 pc->state = -1;84 pc->state = -1;
85 pc1->size = 0;85 pc1->size = 0;
86 return i - 3;86 return i - 3;
87 }87 }
88 }88 }
89 }89 }
90 pc->frame_start_found = start_found;90 pc->frame_start_found = start_found;
91 pc->state = state;91 pc->state = state;
92 return END_NOT_FOUND;92 return END_NOT_FOUND;
93}93}
94 94
95static av_cold int dca_parse_init(AVCodecParserContext * s)95static av_cold int dca_parse_init(AVCodecParserContext *s)
96{96{
97 DCAParseContext *pc1 = s->priv_data;97 DCAParseContext *pc1 = s->priv_data;
98 98
@@ -126,7 +126,7 @@ static int dca_parse_params(const uint8_t *buf, int buf_size, int *duration, · 27 unmodified lines
126 return AVERROR_INVALIDDATA;126 return AVERROR_INVALIDDATA;
127 127
128 skip_bits(&gb, 6);128 skip_bits(&gb, 6);
129 sr_code = get_bits(&gb, 4);129 sr_code = get_bits(&gb, 4);
130 *sample_rate = avpriv_dca_sample_rates[sr_code];130 *sample_rate = avpriv_dca_sample_rates[sr_code];
131 if (*sample_rate == 0)131 if (*sample_rate == 0)
132 return AVERROR_INVALIDDATA;132 return AVERROR_INVALIDDATA;
@@ -134,10 +134,9 @@ static int dca_parse_params(const uint8_t *buf, int buf_size, int *duration, · 1 unmodified line
134 return 0;134 return 0;
135}135}
136 136
137static int dca_parse(AVCodecParserContext * s,137static int dca_parse(AVCodecParserContext *s, AVCodecContext *avctx,
138 AVCodecContext * avctx,138 const uint8_t **poutbuf, int *poutbuf_size,
139 const uint8_t ** poutbuf, int *poutbuf_size,139 const uint8_t *buf, int buf_size)
140 const uint8_t * buf, int buf_size)
141{140{
142 DCAParseContext *pc1 = s->priv_data;141 DCAParseContext *pc1 = s->priv_data;
143 ParseContext *pc = &pc1->pc;142 ParseContext *pc = &pc1->pc;
@@ -149,7 +148,7 @@ static int dca_parse(AVCodecParserContext * s, · 5 unmodified lines
149 next = dca_find_frame_end(pc1, buf, buf_size);148 next = dca_find_frame_end(pc1, buf, buf_size);
150 149
151 if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) {150 if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) {
152 *poutbuf = NULL;151 *poutbuf = NULL;
153 *poutbuf_size = 0;152 *poutbuf_size = 0;
154 return buf_size;153 return buf_size;
155 }154 }
@@ -157,12 +156,12 @@ static int dca_parse(AVCodecParserContext * s, · 1 unmodified line
157 156
158 /* read the duration and sample rate from the frame header */157 /* read the duration and sample rate from the frame header */
159 if (!dca_parse_params(buf, buf_size, &duration, &sample_rate, &pc1->framesize)) {158 if (!dca_parse_params(buf, buf_size, &duration, &sample_rate, &pc1->framesize)) {
160 s->duration = duration;159 s->duration = duration;
161 avctx->sample_rate = sample_rate;160 avctx->sample_rate = sample_rate;
162 } else161 } else
163 s->duration = 0;162 s->duration = 0;
164 163
165 *poutbuf = buf;164 *poutbuf = buf;
166 *poutbuf_size = buf_size;165 *poutbuf_size = buf_size;
167 return next;166 return next;
168}167}
libavcodec/dcadata.h+7344−7340
@@ -24,4172 +24,4168 @@ · 23 unmodified lines
24#define AVCODEC_DCADATA_H24#define AVCODEC_DCADATA_H
25 25
26#include <stdint.h>26#include <stdint.h>
27
27#include "libavutil/mem.h"28#include "libavutil/mem.h"
28 29
29/* Generic tables */30/* Generic tables */
30 31
31static const uint32_t dca_bit_rates[32] =32static const uint32_t dca_bit_rates[32] = {
32{33 32000, 56000, 64000, 96000, 112000, 128000,
33 32000, 56000, 64000, 96000, 112000, 128000,34 192000, 224000, 256000, 320000, 384000,
34 192000, 224000, 256000, 320000, 384000,35 448000, 512000, 576000, 640000, 768000,
35 448000, 512000, 576000, 640000, 768000,36 896000, 1024000, 1152000, 1280000, 1344000,
36 896000, 1024000, 1152000, 1280000, 1344000,
37 1408000, 1411200, 1472000, 1536000, 1920000,37 1408000, 1411200, 1472000, 1536000, 1920000,
38 2048000, 3072000, 3840000, 1/*open*/, 2/*variable*/, 3/*lossless*/38 2048000, 3072000, 3840000, 1 /* open */, 2 /* variable */, 3 /* lossless */
39};39};
40 40
41static const uint8_t dca_channels[16] =41static const uint8_t dca_channels[16] = {
42{
43 1, 2, 2, 2, 2, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 842 1, 2, 2, 2, 2, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 8
44};43};
45 44
46static const uint8_t dca_bits_per_sample[7] =45static const uint8_t dca_bits_per_sample[7] = {
47{
48 16, 16, 20, 20, 0, 24, 2446 16, 16, 20, 20, 0, 24, 24
49};47};
50 48
51 49/* ADPCM data */
52/* Adpcm data */
53 50
54/* 16bits signed fractional Q13 binary codes */51/* 16bits signed fractional Q13 binary codes */
55static const int16_t adpcm_vb[4096][4] =52static const int16_t adpcm_vb[4096][4] = {
56{53 { 9928, -2618, -1093, -1263 },
57 { 9928, -2618, -1093, -1263 },54 { 11077, -2876, -1747, -308 },
58 { 11077, -2876, -1747, -308 },55 { 10503, -1082, -1426, -1167 },
59 { 10503, -1082, -1426, -1167 },56 { 9337, -2403, -1495, 274 },
60 { 9337, -2403, -1495, 274 },57 { 10698, -2529, -532, -1122 },
61 { 10698, -2529, -532, -1122 },58 { 10368, -3974, -1264, -750 },
62 { 10368, -3974, -1264, -750 },59 { 10070, -3667, 346, 863 },
63 { 10070, -3667, 346, 863 },60 { 10278, -3093, 311, -576 },
64 { 10278, -3093, 311, -576 },61 { 9894, -1330, -1428, -860 },
65 { 9894, -1330, -1428, -860 },62 { 10544, -1923, -1058, -971 },
66 { 10544, -1923, -1058, -971 },63 { 10996, -1632, -841, -1404 },
67 { 10996, -1632, -841, -1404 },64 { 11832, -3465, 1658, -1990 },
68 { 11832, -3465, 1658, -1990 },65 { 10852, -688, -2658, -499 },
69 { 10852, -688, -2658, -499 },66 { 10546, -1749, -147, -1733 },
70 { 10546, -1749, -147, -1733 },67 { 10801, -1004, -708, -1453 },
71 { 10801, -1004, -708, -1453 },68 { 10588, -441, -2113, -952 },
72 { 10588, -441, -2113, -952 },69 { 10141, -3331, -582, -1432 },
73 { 10141, -3331, -582, -1432 },70 { 9608, -2590, 383, 258 },
74 { 9608, -2590, 383, 258 },71 { 11422, -3265, 229, -1544 },
75 { 11422, -3265, 229, -1544 },72 { 10460, -1338, -713, -1568 },
76 { 10460, -1338, -713, -1568 },73 { 10306, -1721, -1660, -603 },
77 { 10306, -1721, -1660, -603 },74 { 9580, -1812, -1235, -1061 },
78 { 9580, -1812, -1235, -1061 },75 { 11471, -2285, -1617, -607 },
79 { 11471, -2285, -1617, -607 },76 { 10081, -2225, -1408, -868 },
80 { 10081, -2225, -1408, -868 },77 { 10715, -2624, -1367, -704 },
81 { 10715, -2624, -1367, -704 },78 { 10616, -1871, -2770, -35 },
82 { 10616, -1871, -2770, -35 },79 { 9352, -2340, -1024, -1566 },
83 { 9352, -2340, -1024, -1566 },80 { 11065, -1458, -1926, -735 },
84 { 11065, -1458, -1926, -735 },81 { 11334, -2056, -1041, -1144 },
85 { 11334, -2056, -1041, -1144 },82 { 9825, -2048, -794, -1536 },
86 { 9825, -2048, -794, -1536 },83 { 11850, -2695, -1123, -867 },
87 { 11850, -2695, -1123, -867 },84 { 10654, -2226, -1891, -373 },
88 { 10654, -2226, -1891, -373 },85 { 10024, -1557, -808, -1069 },
89 { 10024, -1557, -808, -1069 },86 { 11142, -1266, -3238, 128 },
90 { 11142, -1266, -3238, 128 },87 { 11729, -3282, -514, -1011 },
91 { 11729, -3282, -514, -1011 },88 { 11402, -2094, -2335, -189 },
92 { 11402, -2094, -2335, -189 },89 { 10195, -3658, 181, -1875 },
93 { 10195, -3658, 181, -1875 },90 { 11431, -2626, -404, -1377 },
94 { 11431, -2626, -404, -1377 },91 { 11001, -3868, -619, -1077 },
95 { 11001, -3868, -619, -1077 },92 { 10894, -2559, 274, -1758 },
96 { 10894, -2559, 274, -1758 },93 { 9633, -1482, -2253, -773 },
97 { 9633, -1482, -2253, -773 },94 { 11245, -3321, 830, -1972 },
98 { 11245, -3321, 830, -1972 },95 { 9768, -2701, -199, -1859 },
99 { 9768, -2701, -199, -1859 },96 { 10500, -2042, 525, -2043 },
100 { 10500, -2042, 525, -2043 },97 { 11669, -4069, 293, -1468 },
101 { 11669, -4069, 293, -1468 },98 { 9192, -1991, -583, -61 },
102 { 9192, -1991, -583, -61 },99 { 10057, -3220, -2015, -473 },
103 { 10057, -3220, -2015, -473 },100 { 9497, -2315, -2490, -467 },
104 { 9497, -2315, -2490, -467 },101 { 10455, -3069, -1194, -1007 },
105 { 10455, -3069, -1194, -1007 },102 { 9994, -1936, -60, -1225 },
106 { 9994, -1936, -60, -1225 },103 { 9295, -2156, -1761, -1134 },
107 { 9295, -2156, -1761, -1134 },104 { 10085, -3748, -1026, 197 },
108 { 10085, -3748, -1026, 197 },105 { 9334, -2360, 804, -351 },
109 { 9334, -2360, 804, -351 },106 { 11561, -2553, 1352, -2313 },
110 { 11561, -2553, 1352, -2313 },107 { 12837, -3998, 1195, -1958 },
111 { 12837, -3998, 1195, -1958 },108 { 10114, -1100, -2414, -394 },
112 { 10114, -1100, -2414, -394 },109 { 9341, -2530, 315, 755 },
113 { 9341, -2530, 315, 755 },110 { 10131, -3164, 1411, -674 },
114 { 10131, -3164, 1411, -674 },111 { 9535, -905, -1551, 579 },
115 { 9535, -905, -1551, 579 },112 { 11717, -1519, -3051, 91 },
116 { 11717, -1519, -3051, 91 },113 { 9824, -2911, -2775, 192 },
117 { 9824, -2911, -2775, 192 },114 { 9662, -2934, -561, 1450 },
118 { 9662, -2934, -561, 1450 },115 { 11085, -3392, -1298, -659 },
119 { 11085, -3392, -1298, -659 },116 { 8955, -2102, -1899, 703 },
120 { 8955, -2102, -1899, 703 },117 { 8607, -1742, -4348, 814 },
121 { 8607, -1742, -4348, 814 },118 { 7640, -2063, -3617, 52 },
122 { 7640, -2063, -3617, 52 },119 { 7074, -826, -4325, 4375 },
123 { 7074, -826, -4325, 4375 },120 { 7714, 584, -4238, 1927 },
124 { 7714, 584, -4238, 1927 },121 { 6355, -952, -4912, 3127 },
125 { 6355, -952, -4912, 3127 },122 { 7069, -660, -6413, 4087 },
126 { 7069, -660, -6413, 4087 },123 { 8313, -132, -2964, -876 },
127 { 8313, -132, -2964, -876 },124 { 6952, -1422, -3962, -24 },
128 { 6952, -1422, -3962, -24 },125 { 9299, -734, -3088, -263 },
129 { 9299, -734, -3088, -263 },126 { 9484, -574, -4513, 466 },
130 { 9484, -574, -4513, 466 },127 { 7246, -91, -3735, -704 },
131 { 7246, -91, -3735, -704 },128 { 8325, -1417, -3090, -530 },
132 { 8325, -1417, -3090, -530 },129 { 6469, -1226, -4757, 829 },
133 { 6469, -1226, -4757, 829 },130 { 6652, -368, -5682, 1393 },
134 { 6652, -368, -5682, 1393 },131 { 7971, -1278, -2284, 1205 },
135 { 7971, -1278, -2284, 1205 },132 { 7229, -699, -3556, 1840 },
136 { 7229, -699, -3556, 1840 },133 { 7994, 1284, -2729, 732 },
137 { 7994, 1284, -2729, 732 },134 { 9005, -698, -4522, 2189 },
138 { 9005, -698, -4522, 2189 },135 { 6963, 197, -2727, 380 },
139 { 6963, 197, -2727, 380 },136 { 8527, 135, -3991, -213 },
140 { 8527, 135, -3991, -213 },137 { 8840, 934, -3014, -567 },
141 { 8840, 934, -3014, -567 },138 { 10125, 418, -3284, -371 },
142 { 10125, 418, -3284, -371 },139 { 6367, 361, -2318, 2554 },
143 { 6367, 361, -2318, 2554 },140 { 7892, 172, -5247, 4673 },
144 { 7892, 172, -5247, 4673 },141 { 6674, 387, -5424, 4398 },
145 { 6674, 387, -5424, 4398 },142 { 6240, 684, -4047, 1219 },
146 { 6240, 684, -4047, 1219 },143 { 11170, -794, -5081, 1195 },
147 { 11170, -794, -5081, 1195 },144 { 11765, -648, -6265, 2052 },
148 { 11765, -648, -6265, 2052 },145 { 10845, -775, -3837, 366 },
149 { 10845, -775, -3837, 366 },146 { 12496, -689, -8260, 3562 },
150 { 12496, -689, -8260, 3562 },147 { 7893, -1166, -4972, 988 },
151 { 7893, -1166, -4972, 988 },148 { 8592, 1052, -5986, 3087 },
152 { 8592, 1052, -5986, 3087 },149 { 7277, 1874, -5685, 3579 },
153 { 7277, 1874, -5685, 3579 },150 { 6900, 2016, -4809, 3491 },
154 { 6900, 2016, -4809, 3491 },151 { 8530, -2405, -3250, 1986 },
155 { 8530, -2405, -3250, 1986 },152 { 9426, 494, -7067, 5038 },
156 { 9426, 494, -7067, 5038 },153 { 10285, 564, -8210, 5370 },
157 { 10285, 564, -8210, 5370 },154 { 8749, -2207, -3980, 2852 },
158 { 8749, -2207, -3980, 2852 },155 { 9653, -2686, -4300, 1400 },
159 { 9653, -2686, -4300, 1400 },156 { 9770, -2286, -5663, 4233 },
160 { 9770, -2286, -5663, 4233 },157 { 8490, -4, -7048, 4496 },
161 { 8490, -4, -7048, 4496 },158 { 7697, -1209, -5328, 3183 },
162 { 7697, -1209, -5328, 3183 },159 { 6451, 801, -4324, -554 },
163 { 6451, 801, -4324, -554 },160 { 7387, 1806, -5265, 545 },
164 { 7387, 1806, -5265, 545 },161 { 7450, -2302, -4445, 1418 },
165 { 7450, -2302, -4445, 1418 },162 { 8817, -1370, -5827, 2168 },
166 { 8817, -1370, -5827, 2168 },163 { 10324, -2406, -5629, 2579 },
167 { 10324, -2406, -5629, 2579 },164 { 8863, -2578, -3537, 467 },
168 { 8863, -2578, -3537, 467 },165 { 6901, -1624, -3169, 3392 },
169 { 6901, -1624, -3169, 3392 },166 { 7846, 156, -6948, 3381 },
170 { 7846, 156, -6948, 3381 },167 { 7928, -1115, -5972, 4816 },
171 { 7928, -1115, -5972, 4816 },168 { 6089, -599, -4368, -320 },
172 { 6089, -599, -4368, -320 },169 { 7833, 1246, -3960, -621 },
173 { 7833, 1246, -3960, -621 },170 { 8931, 2521, -6768, 2052 },
174 { 8931, 2521, -6768, 2052 },171 { 8900, 1944, -4126, 40 },
175 { 8900, 1944, -4126, 40 },172 { 7661, -34, -2855, 2480 },
176 { 7661, -34, -2855, 2480 },173 { 5873, 474, -3262, 3712 },
177 { 5873, 474, -3262, 3712 },174 { 7535, -234, -4699, 216 },
178 { 7535, -234, -4699, 216 },175 { 5856, 143, -5142, 73 },
179 { 5856, 143, -5142, 73 },176 { 8944, -106, -5874, 3663 },
180 { 8944, -106, -5874, 3663 },177 { 7134, 426, -5879, 2895 },
181 { 7134, 426, -5879, 2895 },178 { 10199, 1011, -4762, 369 },
182 { 10199, 1011, -4762, 369 },179 { 8454, 264, -5971, 1291 },
183 { 8454, 264, -5971, 1291 },180 { 7822, -2449, -4333, 4540 },
184 { 7822, -2449, -4333, 4540 },181 { 6200, -2758, -2632, 1497 },
185 { 6200, -2758, -2632, 1497 },182 { 6070, -4315, -2699, 414 },
186 { 6070, -4315, -2699, 414 },183 { 7047, -3739, -3210, 1060 },
187 { 7047, -3739, -3210, 1060 },184 { 5675, -3801, -2717, -407 },
188 { 5675, -3801, -2717, -407 },185 { 4789, -4063, -2628, -744 },
189 { 4789, -4063, -2628, -744 },186 { 4023, -3366, -3133, -726 },
190 { 4023, -3366, -3133, -726 },187 { 4296, -2407, -3381, -513 },
191 { 4296, -2407, -3381, -513 },188 { 4388, -2931, -2820, 1512 },
192 { 4388, -2931, -2820, 1512 },189 { 4559, -4233, -1941, 1976 },
193 { 4559, -4233, -1941, 1976 },190 { 6702, -3208, -1755, 1680 },
194 { 6702, -3208, -1755, 1680 },191 { 4416, -3521, -1052, 2984 },
195 { 4416, -3521, -1052, 2984 },192 { 7154, -4266, -1203, 3732 },
196 { 7154, -4266, -1203, 3732 },193 { 3625, -4242, -3244, 1395 },
197 { 3625, -4242, -3244, 1395 },194 { 6518, -2856, -1304, 2887 },
198 { 6518, -2856, -1304, 2887 },195 { 6170, -1949, -3014, 3973 },
199 { 6170, -1949, -3014, 3973 },196 { 5189, -2451, -4020, 3477 },
200 { 5189, -2451, -4020, 3477 },197 { 6218, -2988, -1921, 3844 },
201 { 6218, -2988, -1921, 3844 },198 { 4827, -3688, -1928, 3343 },
202 { 4827, -3688, -1928, 3343 },199 { 6668, -3991, -2805, 3095 },
203 { 6668, -3991, -2805, 3095 },200 { 5297, -3115, -3684, 2390 },
204 { 5297, -3115, -3684, 2390 },201 { 5354, -4614, -2662, 1504 },
205 { 5354, -4614, -2662, 1504 },202 { 4196, -3091, -4147, 1135 },
206 { 4196, -3091, -4147, 1135 },203 { 3540, -2893, -4007, 100 },
207 { 3540, -2893, -4007, 100 },204 { 5569, -1602, -4007, 1909 },
208 { 5569, -1602, -4007, 1909 },205 { 4341, -2091, -4272, 252 },
209 { 4341, -2091, -4272, 252 },206 { 5559, -2878, -3832, 498 },
210 { 5559, -2878, -3832, 498 },207 { 4548, -4479, -2898, -27 },
211 { 4548, -4479, -2898, -27 },208 { 5176, -2494, -4635, 1476 },
212 { 5176, -2494, -4635, 1476 },209 { 3294, -3485, -3738, 716 },
213 { 3294, -3485, -3738, 716 },210 { 4920, -1229, -4195, -365 },
214 { 4920, -1229, -4195, -365 },211 { 3257, -3518, -3349, 2862 },
215 { 3257, -3518, -3349, 2862 },212 { 5286, -1948, -3485, -778 },
216 { 5286, -1948, -3485, -778 },213 { 6502, -3051, -152, 2854 },
217 { 6502, -3051, -152, 2854 },214 { 5864, -4192, -1076, 3451 },
218 { 5864, -4192, -1076, 3451 },215 { 4656, -3122, -3448, 179 },
219 { 4656, -3122, -3448, 179 },216 { 5907, -754, -1596, 3116 },
220 { 5907, -754, -1596, 3116 },217 { 7229, -3680, -1590, 2892 },
221 { 7229, -3680, -1590, 2892 },218 { 5107, -3888, -3364, 806 },
222 { 5107, -3888, -3364, 806 },219 { 6764, -2635, -3450, 134 },
223 { 6764, -2635, -3450, 134 },220 { 5258, -2827, -2844, -1052 },
224 { 5258, -2827, -2844, -1052 },221 { 5798, -1725, -4305, 205 },
225 { 5798, -1725, -4305, 205 },222 { 5404, -1213, -3362, 449 },
226 { 5404, -1213, -3362, 449 },223 { 6224, -2738, -3046, -581 },
227 { 6224, -2738, -3046, -581 },224 { 4223, -2438, -2725, 3745 },
228 { 4223, -2438, -2725, 3745 },225 { 4751, -3411, -2123, 116 },
229 { 4751, -3411, -2123, 116 },226 { 3868, -3000, -3954, 2297 },
230 { 3868, -3000, -3954, 2297 },227 { 6819, -2899, -4277, 2825 },
231 { 6819, -2899, -4277, 2825 },228 { 4207, -4754, -2808, 865 },
232 { 4207, -4754, -2808, 865 },229 { 4804, -1494, -1997, 4688 },
233 { 4804, -1494, -1997, 4688 },230 { 5282, -2213, -548, 3559 },
234 { 5282, -2213, -548, 3559 },231 { 5580, -1912, -566, 4370 },
235 { 5580, -1912, -566, 4370 },232 { 6168, -2857, -672, 4053 },
236 { 6168, -2857, -672, 4053 },233 { 6583, -4515, -2850, 1670 },
237 { 6583, -4515, -2850, 1670 },234 { 6511, -3093, -3988, 1421 },
238 { 6511, -3093, -3988, 1421 },235 { 4646, -1790, -1443, 3650 },
239 { 4646, -1790, -1443, 3650 },236 { 5915, -924, -2020, 896 },
240 { 5915, -924, -2020, 896 },237 { 7814, -4181, -3152, 2007 },
241 { 7814, -4181, -3152, 2007 },238 { 6190, -2238, -4817, 2279 },
242 { 6190, -2238, -4817, 2279 },239 { 4737, -4034, -3288, 1835 },
243 { 4737, -4034, -3288, 1835 },240 { 8161, -3633, -3423, 3137 },
244 { 8161, -3633, -3423, 3137 },241 { 7415, -2351, -2088, 4290 },
245 { 7415, -2351, -2088, 4290 },242 { 4106, -2517, -62, 2905 },
246 { 4106, -2517, -62, 2905 },243 { 4909, -3145, -614, 4112 },
247 { 4909, -3145, -614, 4112 },244 { 4938, -3281, -397, 1100 },
248 { 4938, -3281, -397, 1100 },245 { -173, 919, 1589, -5363 },
249 { -173, 919, 1589, -5363 },246 { -13, 796, -295, -6655 },
250 { -13, 796, -295, -6655 },247 { -1860, -829, 1141, -4555 },
251 { -1860, -829, 1141, -4555 },248 { 2298, -838, -664, -5005 },
252 { 2298, -838, -664, -5005 },249 { -884, -1097, 2074, -4613 },
253 { -884, -1097, 2074, -4613 },250 { -101, 281, 2846, -4535 },
254 { -101, 281, 2846, -4535 },251 { 1166, 453, 2429, -5910 },
255 { 1166, 453, 2429, -5910 },252 { 879, -664, 2370, -5452 },
256 { 879, -664, 2370, -5452 },253 { 1415, -370, -1699, -4727 },
257 { 1415, -370, -1699, -4727 },254 { -1413, 1277, -669, -6649 },
258 { -1413, 1277, -669, -6649 },255 { 2133, 304, -968, -4624 },
259 { 2133, 304, -968, -4624 },256 { 380, 586, -2087, -4892 },
260 { 380, 586, -2087, -4892 },257 { 1336, 275, -82, -5789 },
261 { 1336, 275, -82, -5789 },258 { -2459, 1057, -34, -5416 },
262 { -2459, 1057, -34, -5416 },259 { 2278, -1758, 866, -5653 },
263 { 2278, -1758, 866, -5653 },260 { 1945, -2295, -149, -5302 },
264 { 1945, -2295, -149, -5302 },261 { 1287, -3525, 996, -5255 },
265 { 1287, -3525, 996, -5255 },262 { 2297, 803, 1177, -6067 },
266 { 2297, 803, 1177, -6067 },263 { 187, -180, -619, -6202 },
267 { 187, -180, -619, -6202 },264 { -793, -2537, 1554, -5057 },
268 { -793, -2537, 1554, -5057 },265 { -2703, -204, -629, -5853 },
269 { -2703, -204, -629, -5853 },266 { -1007, -146, 313, -5582 },
270 { -1007, -146, 313, -5582 },267 { 830, 357, 869, -6363 },
271 { 830, 357, 869, -6363 },268 { -228, -575, -3177, -4433 },
272 { -228, -575, -3177, -4433 },269 { -1001, -1553, -142, -5708 },
273 { -1001, -1553, -142, -5708 },270 { -1644, 1683, 1721, -4533 },
274 { -1644, 1683, 1721, -4533 },271 { 893, 1924, -15, -5791 },
275 { 893, 1924, -15, -5791 },272 { 2195, 2061, -262, -5471 },
276 { 2195, 2061, -262, -5471 },273 { 3031, 270, 311, -5096 },
277 { 3031, 270, 311, -5096 },274 { 1912, 1638, -1523, -4677 },
278 { 1912, 1638, -1523, -4677 },275 { -3142, -55, 253, -4914 },
279 { -3142, -55, 253, -4914 },276 { 356, -1680, 343, -6123 },
280 { 356, -1680, 343, -6123 },277 { -2241, -1734, -976, -5939 },
281 { -2241, -1734, -976, -5939 },278 { -2196, -2893, 547, -4938 },
282 { -2196, -2893, 547, -4938 },279 { -1245, 126, -1916, -5419 },
283 { -1245, 126, -1916, -5419 },280 { -249, -3755, -1422, -5594 },
284 { -249, -3755, -1422, -5594 },281 { 575, -2683, -1926, -4566 },
285 { 575, -2683, -1926, -4566 },282 { -762, 1885, 192, -5880 },
286 { -762, 1885, 192, -5880 },283 { -811, -2562, -1068, -6013 },
287 { -811, -2562, -1068, -6013 },284 { -2264, -3086, -976, -4775 },
288 { -2264, -3086, -976, -4775 },285 { 70, -1215, 2880, -4410 },
289 { 70, -1215, 2880, -4410 },286 { 714, -3760, 2916, -4691 },
290 { 714, -3760, 2916, -4691 },287 { -244, -3404, 1740, -4493 },
291 { -244, -3404, 1740, -4493 },288 { 684, -5137, -328, -5608 },
292 { 684, -5137, -328, -5608 },289 { -529, -3825, -1786, -4535 },
293 { -529, -3825, -1786, -4535 },290 { -713, -4743, -1118, -5546 },
294 { -713, -4743, -1118, -5546 },291 { 2718, -3788, 1798, -5708 },
295 { 2718, -3788, 1798, -5708 },292 { -1639, -3679, -1564, -6095 },
296 { -1639, -3679, -1564, -6095 },293 { 1693, -2642, -1389, -4539 },
297 { 1693, -2642, -1389, -4539 },294 { 505, -1573, -1651, -4878 },
298 { 505, -1573, -1651, -4878 },295 { -835, -2256, -1941, -5352 },
299 { -835, -2256, -1941, -5352 },296 { 1464, -411, 1993, -6441 },
300 { 1464, -411, 1993, -6441 },297 { 493, -3184, -145, -6148 },
301 { 493, -3184, -145, -6148 },298 { -1413, 499, -1617, -6479 },
302 { -1413, 499, -1617, -6479 },299 { -294, 1722, -1419, -5725 },
303 { -294, 1722, -1419, -5725 },300 { -2937, -1528, -175, -4624 },
304 { -2937, -1528, -175, -4624 },301 { -594, -5911, -56, -6146 },
305 { -594, -5911, -56, -6146 },302 { -300, -4275, 1156, -5947 },
306 { -300, -4275, 1156, -5947 },303 { 552, -2643, 2669, -3959 },
307 { 552, -2643, 2669, -3959 },304 { 905, -4158, 1789, -5809 },
308 { 905, -4158, 1789, -5809 },305 { 1336, -2009, 2108, -5903 },
309 { 1336, -2009, 2108, -5903 },306 { 1555, -3600, 1110, -6759 },
310 { 1555, -3600, 1110, -6759 },307 { -1294, -3464, 77, -6084 },
311 { -1294, -3464, 77, -6084 },308 { -1139, -4006, -1270, -4181 },
312 { -1139, -4006, -1270, -4181 },309 { -5094, -3296, 1092, -2847 },
313 { -5094, -3296, 1092, -2847 },310 { -5503, -2883, 1984, -2067 },
314 { -5503, -2883, 1984, -2067 },311 { -4671, -4218, -1417, -4132 },
315 { -4671, -4218, -1417, -4132 },312 { -3763, -3818, 1262, -3082 },
316 { -3763, -3818, 1262, -3082 },313 { -5132, -3430, 2928, -728 },
317 { -5132, -3430, 2928, -728 },314 { -5957, -2877, 1251, -2446 },
318 { -5957, -2877, 1251, -2446 },315 { -4425, -2319, -212, -4276 },
319 { -4425, -2319, -212, -4276 },316 { -6201, -1993, 1774, -2182 },
320 { -6201, -1993, 1774, -2182 },317 { -5500, -3836, 2201, -1396 },
321 { -5500, -3836, 2201, -1396 },318 { -6934, -2334, 2366, -1293 },
322 { -6934, -2334, 2366, -1293 },319 { -6124, -4140, 1337, -1977 },
323 { -6124, -4140, 1337, -1977 },320 { -6553, -4186, 1756, -1325 },
324 { -6553, -4186, 1756, -1325 },321 { -5126, -1258, 744, -3656 },
325 { -5126, -1258, 744, -3656 },322 { -5167, -1390, 1581, -2895 },
326 { -5167, -1390, 1581, -2895 },323 { -4525, -3398, 2429, -1865 },
327 { -4525, -3398, 2429, -1865 },324 { -4076, -3183, 2027, -2510 },
328 { -4076, -3183, 2027, -2510 },325 { -6191, -3274, 1838, -1814 },
329 { -6191, -3274, 1838, -1814 },326 { -4454, -2753, 2723, -1185 },
330 { -4454, -2753, 2723, -1185 },327 { -6655, -4797, 251, -2595 },
331 { -6655, -4797, 251, -2595 },328 { -6332, -2232, 1832, 217 },
332 { -6332, -2232, 1832, 217 },329 { -5869, -1698, 134, 340 },
333 { -5869, -1698, 134, 340 },330 { -6614, -1045, 2126, -1932 },
334 { -6614, -1045, 2126, -1932 },331 { -4859, -2107, 2010, -2435 },
335 { -4859, -2107, 2010, -2435 },332 { -6274, -1622, 2808, -1374 },
336 { -6274, -1622, 2808, -1374 },333 { -3119, -3209, 521, -3988 },
337 { -3119, -3209, 521, -3988 },334 { -5676, -2082, -420, -2711 },
338 { -5676, -2082, -420, -2711 },335 { -7073, -3623, 696, -2343 },
339 { -7073, -3623, 696, -2343 },336 { -5986, -4224, 572, -2454 },
340 { -5986, -4224, 572, -2454 },337 { -4340, -4521, 882, -2771 },
341 { -4340, -4521, 882, -2771 },338 { -6178, -1933, 535, -1444 },
342 { -6178, -1933, 535, -1444 },339 { -4923, -4163, 1744, -2066 },
343 { -4923, -4163, 1744, -2066 },340 { -6410, -1519, 1058, -2683 },
344 { -6410, -1519, 1058, -2683 },341 { -5077, -1185, 856, -2216 },
345 { -5077, -1185, 856, -2216 },342 { -7091, -2444, 687, -2597 },
346 { -7091, -2444, 687, -2597 },343 { -5284, -2165, 3239, -993 },
347 { -5284, -2165, 3239, -993 },344 { -4763, -1497, 197, -3179 },
348 { -4763, -1497, 197, -3179 },345 { -4128, -4958, -396, -3578 },
349 { -4128, -4958, -396, -3578 },346 { -5054, -3878, -647, -2672 },
350 { -5054, -3878, -647, -2672 },347 { -7005, -3348, 1679, -1579 },
351 { -7005, -3348, 1679, -1579 },348 { -5767, -1017, 2582, -1915 },
352 { -5767, -1017, 2582, -1915 },349 { -7069, -2787, 1331, -2070 },
353 { -7069, -2787, 1331, -2070 },350 { -5532, -2296, 706, -2950 },
354 { -5532, -2296, 706, -2950 },351 { -5059, -3543, -821, -3637 },
355 { -5059, -3543, -821, -3637 },352 { -6639, -1835, 1016, -696 },
356 { -6639, -1835, 1016, -696 },353 { -5611, -5220, -694, -3371 },
357 { -5611, -5220, -694, -3371 },354 { -5994, -2803, 2933, -729 },
358 { -5994, -2803, 2933, -729 },355 { -5948, -619, 1596, -2676 },
359 { -5948, -619, 1596, -2676 },356 { -5486, -4419, 153, -3265 },
360 { -5486, -4419, 153, -3265 },357 { -4329, -3440, 1646, -1439 },
361 { -4329, -3440, 1646, -1439 },358 { -4083, -3978, 177, -3569 },
362 { -4083, -3978, 177, -3569 },359 { -4289, -2599, 1224, -3075 },
363 { -4289, -2599, 1224, -3075 },360 { -5707, -3253, 1912, -759 },
364 { -5707, -3253, 1912, -759 },361 { -6606, -3437, 2562, -571 },
365 { -6606, -3437, 2562, -571 },362 { -5254, -2444, 769, -352 },
366 { -5254, -2444, 769, -352 },363 { -6545, -3154, 582, -1103 },
367 { -6545, -3154, 582, -1103 },364 { -5328, -2241, 2566, -1775 },
368 { -5328, -2241, 2566, -1775 },365 { -7216, -1936, 1538, -1983 },
369 { -7216, -1936, 1538, -1983 },366 { -3730, -2451, 426, -3869 },
370 { -3730, -2451, 426, -3869 },367 { -5110, -1385, 2031, -1169 },
371 { -5110, -1385, 2031, -1169 },368 { -6470, -2715, 269, -3123 },
372 { -6470, -2715, 269, -3123 },369 { -5806, -2480, -97, -3832 },
373 { -5806, -2480, -97, -3832 },370 { -3683, -4916, -490, -4330 },
374 { -3683, -4916, -490, -4330 },371 { -6341, -2083, -669, -115 },
375 { -6341, -2083, -669, -115 },372 { -4913, -4079, -837, -4673 },
376 { -4913, -4079, -837, -4673 },373 { -3274, -2497, 2334, -2652 },
377 { -3274, -2497, 2334, -2652 },374 { -1286, -1731, 2550, -3756 },
378 { -1286, -1731, 2550, -3756 },375 { -3375, -877, 926, -3977 },
379 { -3375, -877, 926, -3977 },376 { -2525, -2079, 2879, -2625 },
380 { -2525, -2079, 2879, -2625 },377 { -5308, -504, 3111, -1607 },
381 { -5308, -504, 3111, -1607 },378 { -4904, 460, 4093, -1232 },
382 { -4904, 460, 4093, -1232 },379 { -1993, 1616, 4656, -1913 },
383 { -1993, 1616, 4656, -1913 },380 { -3481, -1176, 3119, -2236 },
384 { -3481, -1176, 3119, -2236 },381 { -4132, -1502, 2339, -2545 },
385 { -4132, -1502, 2339, -2545 },382 { -2542, 1151, 3569, -2550 },
386 { -2542, 1151, 3569, -2550 },383 { -4381, 430, 3147, -2082 },
387 { -4381, 430, 3147, -2082 },384 { -3888, 867, 3899, -1657 },
388 { -3888, 867, 3899, -1657 },385 { -2861, 1290, 4202, -1979 },
389 { -2861, 1290, 4202, -1979 },386 { -3893, -253, 2363, -2764 },
390 { -3893, -253, 2363, -2764 },387 { -1705, 688, 3827, -2923 },
391 { -1705, 688, 3827, -2923 },388 { -2223, 2312, 3700, -3148 },
392 { -2223, 2312, 3700, -3148 },389 { -1986, -720, 5021, -795 },
393 { -1986, -720, 5021, -795 },390 { -3177, 242, 1952, -3352 },
394 { -3177, 242, 1952, -3352 },391 { -1854, 1509, 2528, -3815 },
395 { -1854, 1509, 2528, -3815 },392 { -3173, 97, 5019, -706 },
396 { -3173, 97, 5019, -706 },393 { -2689, -145, 1375, -3915 },
397 { -2689, -145, 1375, -3915 },394 { -4838, -385, 2488, -2427 },
398 { -4838, -385, 2488, -2427 },395 { -4557, -355, 1603, -3060 },
399 { -4557, -355, 1603, -3060 },396 { -3522, 1832, 3292, -2674 },
400 { -3522, 1832, 3292, -2674 },397 { -3769, 780, 2378, -2704 },
401 { -3769, 780, 2378, -2704 },398 { -4323, -1932, 3414, -1169 },
402 { -4323, -1932, 3414, -1169 },399 { -2740, 1158, 2729, -3273 },
403 { -2740, 1158, 2729, -3273 },400 { -3647, 210, 1464, -2892 },
404 { -3647, 210, 1464, -2892 },401 { -2342, -2097, 1513, -3727 },
405 { -2342, -2097, 1513, -3727 },402 { -4422, -1242, 3130, -1833 },
406 { -4422, -1242, 3130, -1833 },403 { -1308, -1039, 4290, -1875 },
407 { -1308, -1039, 4290, -1875 },404 { -1754, -2535, 3298, -2314 },
408 { -1754, -2535, 3298, -2314 },405 { -4102, -186, 4037, -1094 },
409 { -4102, -186, 4037, -1094 },406 { -1008, 1570, 3290, 171 },
410 { -1008, 1570, 3290, 171 },407 { -3322, -2621, 2791, -1536 },
411 { -3322, -2621, 2791, -1536 },408 { -2539, -2597, 3442, -1672 },
412 { -2539, -2597, 3442, -1672 },409 { -3411, -2015, 3670, -1174 },
413 { -3411, -2015, 3670, -1174 },410 { -2097, 730, 5581, -1399 },
414 { -2097, 730, 5581, -1399 },411 { -1510, -74, 4820, -2004 },
415 { -1510, -74, 4820, -2004 },412 { -4086, -868, 4425, -771 },
416 { -4086, -868, 4425, -771 },413 { -956, -986, 3640, -2925 },
417 { -956, -986, 3640, -2925 },414 { -2087, -1250, 3464, -2458 },
418 { -2087, -1250, 3464, -2458 },415 { -3308, -2411, 1334, -3667 },
419 { -3308, -2411, 1334, -3667 },416 { -2264, -389, 4004, -1854 },
420 { -2264, -389, 4004, -1854 },417 { -680, 239, 4058, -3388 },
421 { -680, 239, 4058, -3388 },418 { -1357, 30, 2993, -3658 },
422 { -1357, 30, 2993, -3658 },419 { -3601, -552, 1177, -1136 },
423 { -3601, -552, 1177, -1136 },420 { -2641, 442, 4374, -1625 },
424 { -2641, 442, 4374, -1625 },421 { -2525, 770, 1640, -3895 },
425 { -2525, 770, 1640, -3895 },422 { -3172, -891, 3893, -1608 },
426 { -3172, -891, 3893, -1608 },423 { -2996, 13, 3277, -2414 },
427 { -2996, 13, 3277, -2414 },424 { -899, 1055, 4470, -2501 },
428 { -899, 1055, 4470, -2501 },425 { -422, -584, 3475, -3787 },
429 { -422, -584, 3475, -3787 },426 { -1978, -593, 2566, -3415 },
430 { -1978, -593, 2566, -3415 },427 { -3150, -1280, 2362, -3047 },
431 { -3150, -1280, 2362, -3047 },428 { -3592, 224, 1026, -3932 },
432 { -3592, 224, 1026, -3932 },429 { -4840, -1189, 3633, -879 },
433 { -4840, -1189, 3633, -879 },430 { -3952, -2255, 2916, -1826 },
434 { -3952, -2255, 2916, -1826 },431 { -1695, 28, 1810, -349 },
435 { -1695, 28, 1810, -349 },432 { -745, -2484, 3308, -3293 },
436 { -745, -2484, 3308, -3293 },433 { -1016, 1563, 5365, -1823 },
437 { -1016, 1563, 5365, -1823 },434 { -2172, -1787, 4266, -1287 },
438 { -2172, -1787, 4266, -1287 },435 { -1241, -1951, 3982, -2413 },
439 { -1241, -1951, 3982, -2413 },436 { -2009, -2639, 2330, -3480 },
440 { -2009, -2639, 2330, -3480 },437 { 5105, -1618, -2588, -2015 },
441 { 5105, -1618, -2588, -2015 },438 { 6497, -1523, -3218, -910 },
442 { 6497, -1523, -3218, -910 },439 { 6526, -2305, -2029, -1790 },
443 { 6526, -2305, -2029, -1790 },440 { 5289, -99, -3436, -400 },
444 { 5289, -99, -3436, -400 },441 { 5781, -1623, -1577, -2617 },
445 { 5781, -1623, -1577, -2617 },442 { 5259, -670, -3125, -1700 },
446 { 5259, -670, -3125, -1700 },443 { 6343, -1256, -331, -3222 },
447 { 6343, -1256, -331, -3222 },444 { 7967, -678, -2195, -1462 },
448 { 7967, -678, -2195, -1462 },445 { 6119, -695, -2988, -1538 },
449 { 6119, -695, -2988, -1538 },446 { 6108, 494, -3359, -1548 },
450 { 6108, 494, -3359, -1548 },447 { 5067, 969, -2328, -2707 },
451 { 5067, 969, -2328, -2707 },448 { 7595, -435, -1497, -2056 },
452 { 7595, -435, -1497, -2056 },449 { 6929, -719, -2420, -1665 },
453 { 6929, -719, -2420, -1665 },450 { 5190, 584, -2982, -2103 },
454 { 5190, 584, -2982, -2103 },451 { 6106, -444, -1411, -2739 },
455 { 6106, -444, -1411, -2739 },452 { 5584, 289, -1804, -2803 },
456 { 5584, 289, -1804, -2803 },453 { 5276, 227, -1180, -3361 },
457 { 5276, 227, -1180, -3361 },454 { 7544, -1525, -1834, -1725 },
458 { 7544, -1525, -1834, -1725 },455 { 5986, -1470, -2606, -1701 },
459 { 5986, -1470, -2606, -1701 },456 { 5096, -765, -1712, -3006 },
460 { 5096, -765, -1712, -3006 },457 { 5423, -149, -3933, -1157 },
461 { 5423, -149, -3933, -1157 },458 { 7651, 26, -2445, -1507 },
462 { 7651, 26, -2445, -1507 },459 { 4745, -464, -1735, -2362 },
463 { 4745, -464, -1735, -2362 },460 { 5352, -1011, -1094, -1999 },
464 { 5352, -1011, -1094, -1999 },461 { 6300, -672, -542, -1950 },
465 { 6300, -672, -542, -1950 },462 { 6675, -1020, -1318, -1059 },
466 { 6675, -1020, -1318, -1059 },463 { 7218, -2036, -603, -2462 },
467 { 7218, -2036, -603, -2462 },464 { 7755, -1514, -2430, -1229 },
468 { 7755, -1514, -2430, -1229 },465 { 5041, 449, -1056, -2405 },
469 { 5041, 449, -1056, -2405 },466 { 6710, -2277, -1344, -2284 },
470 { 6710, -2277, -1344, -2284 },467 { 6824, -1347, -2254, 251 },
471 { 6824, -1347, -2254, 251 },468 { 6068, -1857, -983, -1316 },
472 { 6068, -1857, -983, -1316 },469 { 5603, -2177, -2730, -1477 },
473 { 5603, -2177, -2730, -1477 },470 { 5838, -1059, -3604, -970 },
474 { 5838, -1059, -3604, -970 },471 { 5076, -789, -335, -2413 },
475 { 5076, -789, -335, -2413 },472 { 6191, -1634, -2000, -2129 },
476 { 6191, -1634, -2000, -2129 },473 { 5092, -1292, -2543, -1034 },
477 { 5092, -1292, -2543, -1034 },474 { 5305, 435, -1710, -1850 },
478 { 5305, 435, -1710, -1850 },475 { 6140, 561, -2176, -2380 },
479 { 6140, 561, -2176, -2380 },476 { 6752, 348, -2496, -1890 },
480 { 6752, 348, -2496, -1890 },477 { 6405, 273, -1098, -2778 },
481 { 6405, 273, -1098, -2778 },478 { 6942, -1340, -496, -1381 },
482 { 6942, -1340, -496, -1381 },479 { 5238, -687, -2454, -2349 },
483 { 5238, -687, -2454, -2349 },480 { 6959, -882, -1833, -2061 },
484 { 6959, -882, -1833, -2061 },481 { 6292, -253, -2125, -2199 },
485 { 6292, -253, -2125, -2199 },482 { 5838, -574, -759, -3215 },
486 { 5838, -574, -759, -3215 },483 { 6954, -1484, -640, -2771 },
487 { 6954, -1484, -640, -2771 },484 { 7498, -1706, -1210, -2154 },
488 { 7498, -1706, -1210, -2154 },485 { 6772, -1003, -1235, -2532 },
489 { 6772, -1003, -1235, -2532 },486 { 6014, 228, -2154, -1108 },
490 { 6014, 228, -2154, -1108 },487 { 6943, -2178, -2644, -1122 },
491 { 6943, -2178, -2644, -1122 },488 { 7262, -763, -3056, -1090 },
492 { 7262, -763, -3056, -1090 },489 { 6273, -1478, -1072, 177 },
493 { 6273, -1478, -1072, 177 },490 { 4734, 425, -2912, 357 },
494 { 4734, 425, -2912, 357 },491 { 7129, 168, -1537, -2327 },
495 { 7129, 168, -1537, -2327 },492 { 7204, -434, -746, -2660 },
496 { 7204, -434, -746, -2660 },493 { 6879, 57, -3087, -1310 },
497 { 6879, 57, -3087, -1310 },494 { 4623, -610, -718, -3459 },
498 { 4623, -610, -718, -3459 },495 { 6565, -543, -1998, -339 },
499 { 6565, -543, -1998, -339 },496 { 4752, -277, -2066, -1405 },
500 { 4752, -277, -2066, -1405 },497 { 7435, -1416, -1904, -505 },
501 { 7435, -1416, -1904, -505 },498 { 4076, 150, -1222, -3556 },
502 { 4076, 150, -1222, -3556 },499 { 7082, -28, -1456, -1174 },
503 { 7082, -28, -1456, -1174 },500 { 5941, -446, -1326, -1158 },
504 { 5941, -446, -1326, -1158 },501 { 3870, -1648, -2474, -2589 },
505 { 3870, -1648, -2474, -2589 },502 { 858, 37, -3387, -3721 },
506 { 858, 37, -3387, -3721 },503 { 3557, -1503, -1664, -3383 },
507 { 3557, -1503, -1664, -3383 },504 { 3336, -1972, -3079, -2216 },
508 { 3336, -1972, -3079, -2216 },505 { 3186, 60, -4185, -863 },
509 { 3186, 60, -4185, -863 },506 { 3456, -773, -3066, -2457 },
510 { 3456, -773, -3066, -2457 },507 { 4131, -913, -2060, -2601 },
511 { 4131, -913, -2060, -2601 },508 { 4431, -691, -4114, -972 },
512 { 4431, -691, -4114, -972 },509 { 3461, -334, -3680, -1751 },
513 { 3461, -334, -3680, -1751 },510 { 2006, -459, -2214, -3827 },
514 { 2006, -459, -2214, -3827 },511 { 1322, 32, -2816, -3203 },
515 { 1322, 32, -2816, -3203 },512 { 4425, -1897, -2791, -1946 },
516 { 4425, -1897, -2791, -1946 },513 { 4504, 23, -3421, -1909 },
517 { 4504, 23, -3421, -1909 },514 { 3090, -885, -2366, -3264 },
518 { 3090, -885, -2366, -3264 },515 { 3209, -2363, -3730, -834 },
519 { 3209, -2363, -3730, -834 },516 { 3312, -1471, -3641, -1579 },
520 { 3312, -1471, -3641, -1579 },517 { 4184, -1669, -3323, -1248 },
521 { 4184, -1669, -3323, -1248 },518 { 2190, -931, -3302, -2944 },
522 { 2190, -931, -3302, -2944 },519 { 2947, -229, -4791, -1195 },
523 { 2947, -229, -4791, -1195 },520 { 2020, -1626, -2700, -3125 },
524 { 2020, -1626, -2700, -3125 },521 { 2214, -326, -4352, -1683 },
525 { 2214, -326, -4352, -1683 },522 { 3286, -2619, -2412, -2458 },
526 { 3286, -2619, -2412, -2458 },523 { 1000, -2571, -4129, -2158 },
527 { 1000, -2571, -4129, -2158 },524 { 2496, -2627, -3611, -1433 },
528 { 2496, -2627, -3611, -1433 },525 { 2043, -2191, -2167, -3827 },
529 { 2043, -2191, -2167, -3827 },526 { 2571, -2544, -1915, -3222 },
530 { 2571, -2544, -1915, -3222 },527 { 2022, -1501, -3856, -2165 },
531 { 2022, -1501, -3856, -2165 },528 { 2685, -1180, -1461, -4038 },
532 { 2685, -1180, -1461, -4038 },529 { 1610, -2313, -4391, -1173 },
533 { 1610, -2313, -4391, -1173 },530 { 2340, -2490, -4215, -516 },
534 { 2340, -2490, -4215, -516 },531 { 1742, -2615, -3632, -2146 },
535 { 1742, -2615, -3632, -2146 },532 { 523, -1293, -4246, -2442 },
536 { 523, -1293, -4246, -2442 },533 { 3725, -2723, -3014, -1576 },
537 { 3725, -2723, -3014, -1576 },534 { 3554, -1381, -4200, -824 },
538 { 3554, -1381, -4200, -824 },535 { 1291, -1594, -4777, -1430 },
539 { 1291, -1594, -4777, -1430 },536 { 1452, 515, -2960, -3830 },
540 { 1452, 515, -2960, -3830 },537 { 4264, -894, -3305, -1826 },
541 { 4264, -894, -3305, -1826 },538 { 2606, -1452, -4522, -966 },
542 { 2606, -1452, -4522, -966 },539 { 1196, -830, -4807, -1816 },
543 { 1196, -830, -4807, -1816 },540 { 1054, -775, -2616, -4071 },
544 { 1054, -775, -2616, -4071 },541 { 4206, 415, -4344, -1132 },
545 { 4206, 415, -4344, -1132 },542 { 3044, 491, -4126, -1934 },
546 { 3044, 491, -4126, -1934 },543 { 988, -901, -3353, -3443 },
547 { 988, -901, -3353, -3443 },544 { 1729, -3063, -2267, -3370 },
548 { 1729, -3063, -2267, -3370 },545 { 3915, 912, -2989, -2387 },
549 { 3915, 912, -2989, -2387 },546 { 3781, 300, -2457, -3050 },
550 { 3781, 300, -2457, -3050 },547 { 2712, 924, -1350, -1206 },
551 { 2712, 924, -1350, -1206 },548 { 4230, 405, -2343, 665 },
552 { 4230, 405, -2343, 665 },549 { 1878, -873, -225, -29 },
553 { 1878, -873, -225, -29 },550 { 3510, 56, -1334, -3420 },
554 { 3510, 56, -1334, -3420 },551 { 2850, 1447, -2651, -3150 },
555 { 2850, 1447, -2651, -3150 },552 { 1510, -706, -4125, -2483 },
556 { 1510, -706, -4125, -2483 },553 { 3115, 793, -1692, -3894 },
557 { 3115, 793, -1692, -3894 },554 { 2667, 213, -2973, -2786 },
558 { 2667, 213, -2973, -2786 },555 { 1184, -2384, -3051, -3173 },
559 { 1184, -2384, -3051, -3173 },556 { 2139, 796, -2079, -3697 },
560 { 2139, 796, -2079, -3697 },557 { 1464, -1483, -3726, -2754 },
561 { 1464, -1483, -3726, -2754 },558 { 2407, -1148, -3915, -1569 },
562 { 2407, -1148, -3915, -1569 },559 { 2612, -1779, -3217, -2271 },
563 { 2612, -1779, -3217, -2271 },560 { 2406, -2870, -2937, -2496 },
564 { 2406, -2870, -2937, -2496 },561 { 2140, 126, -3646, -2758 },
565 { 2140, 126, -3646, -2758 },562 { 2952, -1036, 268, -1423 },
566 { 2952, -1036, 268, -1423 },563 { 93, -1931, -3841, -3535 },
567 { 93, -1931, -3841, -3535 },564 { 389, -2953, -3383, -3343 },
568 { 389, -2953, -3383, -3343 },565 { 8652, -5511, -1662, 565 },
569 { 8652, -5511, -1662, 565 },566 { 7427, -2791, -2535, -842 },
570 { 7427, -2791, -2535, -842 },567 { 8541, -4253, -1407, -988 },
571 { 8541, -4253, -1407, -988 },568 { 8018, -3203, -2998, 105 },
572 { 8018, -3203, -2998, 105 },569 { 7231, -3926, -958, 1308 },
573 { 7231, -3926, -958, 1308 },570 { 7331, -3690, -363, 2586 },
574 { 7331, -3690, -363, 2586 },571 { 6803, -3646, -2226, -903 },
575 { 6803, -3646, -2226, -903 },572 { 8163, -2811, -477, -2235 },
576 { 8163, -2811, -477, -2235 },573 { 9356, -3818, -1685, -684 },
577 { 9356, -3818, -1685, -684 },574 { 8466, -2854, -302, -698 },
578 { 8466, -2854, -302, -698 },575 { 8458, -3224, 517, 279 },
579 { 8458, -3224, 517, 279 },576 { 8074, -2619, -1326, 2596 },
580 { 8074, -2619, -1326, 2596 },577 { 8779, -2761, -2527, -441 },
581 { 8779, -2761, -2527, -441 },578 { 6533, -2887, -899, -696 },
582 { 6533, -2887, -899, -696 },579 { 7394, -2305, -1642, -120 },
583 { 7394, -2305, -1642, -120 },580 { 8281, -3780, -22, 1305 },
584 { 8281, -3780, -22, 1305 },581 { 9158, -4413, -779, 901 },
585 { 9158, -4413, -779, 901 },582 { 9031, -5240, -1109, 1678 },
586 { 9031, -5240, -1109, 1678 },583 { 8717, -3650, 410, -1075 },
587 { 8717, -3650, 410, -1075 },584 { 7317, -3197, -818, -2264 },
588 { 7317, -3197, -818, -2264 },585 { 7934, -2385, -1214, -1886 },
589 { 7934, -2385, -1214, -1886 },586 { 8256, -4441, -291, -587 },
590 { 8256, -4441, -291, -587 },587 { 7358, -3395, 1090, -270 },
591 { 7358, -3395, 1090, -270 },588 { 9446, -4910, -1343, -473 },
592 { 9446, -4910, -1343, -473 },589 { 8187, -4726, -808, 1166 },
593 { 8187, -4726, -808, 1166 },590 { 7504, -3845, -47, 267 },
594 { 7504, -3845, -47, 267 },591 { 8029, -2146, -1283, -383 },
595 { 8029, -2146, -1283, -383 },592 { 7461, -2705, -853, 783 },
596 { 7461, -2705, -853, 783 },593 { 9367, -3636, -645, -354 },
597 { 9367, -3636, -645, -354 },594 { 8955, -3473, -308, -1947 },
598 { 8955, -3473, -308, -1947 },595 { 8676, -2683, -2099, 1485 },
599 { 8676, -2683, -2099, 1485 },596 { 7481, -3003, -871, -444 },
600 { 7481, -3003, -871, -444 },597 { 8015, -2839, -1673, 1175 },
601 { 8015, -2839, -1673, 1175 },598 { 6947, -4643, -1527, -1047 },
602 { 6947, -4643, -1527, -1047 },599 { 7622, -2575, -137, -960 },
603 { 7622, -2575, -137, -960 },600 { 9388, -4279, -707, -1322 },
604 { 9388, -4279, -707, -1322 },601 { 8382, -5259, -1283, -565 },
605 { 8382, -5259, -1283, -565 },602 { 6856, -4138, -1030, 630 },
606 { 6856, -4138, -1030, 630 },603 { 8659, -2571, -1124, -1666 },
607 { 8659, -2571, -1124, -1666 },604 { 8763, -3807, -537, 2543 },
608 { 8763, -3807, -537, 2543 },605 { 8049, -3578, -2186, -604 },
609 { 8049, -3578, -2186, -604 },606 { 8272, -2351, -1985, -1214 },
610 { 8272, -2351, -1985, -1214 },607 { 6855, -3796, -1527, -1631 },
611 { 6855, -3796, -1527, -1631 },608 { 7178, -2896, -1600, -1756 },
612 { 7178, -2896, -1600, -1756 },609 { 7040, -2888, -89, -1586 },
613 { 7040, -2888, -89, -1586 },610 { 6261, -3403, -264, 998 },
614 { 6261, -3403, -264, 998 },611 { 7756, -4699, -1543, -834 },
615 { 7756, -4699, -1543, -834 },612 { 7682, -4622, -758, -1721 },
616 { 7682, -4622, -758, -1721 },613 { 8839, -4232, -2932, 1959 },
617 { 8839, -4232, -2932, 1959 },614 { 9363, -4679, -1956, 39 },
618 { 9363, -4679, -1956, 39 },615 { 7883, -3616, -1414, -1432 },
619 { 7883, -3616, -1414, -1432 },616 { 8828, -3188, -1356, -1312 },
620 { 8828, -3188, -1356, -1312 },617 { 7746, -3987, -121, -2424 },
621 { 7746, -3987, -121, -2424 },618 { 9262, -3256, -693, 818 },
622 { 9262, -3256, -693, 818 },619 { 7670, -3420, -148, 3504 },
623 { 7670, -3420, -148, 3504 },620 { 7344, -3183, 608, 1595 },
624 { 7344, -3183, 608, 1595 },621 { 8976, -4139, -1848, 1304 },
625 { 8976, -4139, -1848, 1304 },622 { 6708, -4131, 33, -852 },
626 { 6708, -4131, 33, -852 },623 { 7840, -4429, -2275, 79 },
627 { 7840, -4429, -2275, 79 },624 { 8980, -3858, -2838, 453 },
628 { 8980, -3858, -2838, 453 },625 { 7815, -4604, -2563, 944 },
629 { 7815, -4604, -2563, 944 },626 { 8372, -4422, -1783, 3071 },
630 { 8372, -4422, -1783, 3071 },627 { 8623, -5128, -1754, 2888 },
631 { 8623, -5128, -1754, 2888 },628 { 7462, -3281, 889, 920 },
632 { 7462, -3281, 889, 920 },629 { 8416, -59, -1320, -1825 },
633 { 8416, -59, -1320, -1825 },630 { 7928, -1488, -414, -2499 },
634 { 7928, -1488, -414, -2499 },631 { 8110, -977, -1047, -2042 },
635 { 8110, -977, -1047, -2042 },632 { 8278, -687, -1597, -1550 },
636 { 8278, -687, -1597, -1550 },633 { 7988, -174, -977, -2106 },
637 { 7988, -174, -977, -2106 },634 { 8609, -1547, -1628, -1527 },
638 { 8609, -1547, -1628, -1527 },635 { 9000, -1798, -946, -1761 },
639 { 9000, -1798, -946, -1761 },636 { 8954, -872, -1404, -1594 },
640 { 8954, -872, -1404, -1594 },637 { 8939, 466, -748, -1212 },
641 { 8939, 466, -748, -1212 },638 { 9549, -329, -177, -1360 },
642 { 9549, -329, -177, -1360 },639 { 9411, -18, -1126, -1568 },
643 { 9411, -18, -1126, -1568 },640 { 8859, -782, -488, -1338 },
644 { 8859, -782, -488, -1338 },641 { 8955, -218, -43, -1209 },
645 { 8955, -218, -43, -1209 },642 { 9131, -69, -453, -1001 },
646 { 9131, -69, -453, -1001 },643 { 9069, -1519, -1091, -1199 },
647 { 9069, -1519, -1091, -1199 },644 { 9247, -1309, -566, -1146 },
648 { 9247, -1309, -566, -1146 },645 { 8528, -1617, -287, -1313 },
649 { 8528, -1617, -287, -1313 },646 { 7763, -745, -149, -2040 },
650 { 7763, -745, -149, -2040 },647 { 8294, -343, 257, -2633 },
651 { 8294, -343, 257, -2633 },648 { 10149, -893, -552, -1649 },
652 { 10149, -893, -552, -1649 },649 { 9398, -915, 218, -2042 },
653 { 9398, -915, 218, -2042 },650 { 9703, -1194, -675, -1592 },
654 { 9703, -1194, -675, -1592 },651 { 9586, -700, -427, -1710 },
655 { 9586, -700, -427, -1710 },652 { 8930, 497, -1445, -1218 },
656 { 8930, 497, -1445, -1218 },653 { 9285, -1323, -163, -1552 },
657 { 9285, -1323, -163, -1552 },654 { 8431, -1289, -985, -1404 },
658 { 8431, -1289, -985, -1404 },655 { 8965, -655, 653, -1483 },
659 { 8965, -655, 653, -1483 },656 { 9542, -1001, -951, -1128 },
660 { 9542, -1001, -951, -1128 },657 { 9205, -647, -37, -882 },
661 { 9205, -647, -37, -882 },658 { 8603, -56, 514, -1793 },
662 { 8603, -56, 514, -1793 },659 { 9300, -12, -1324, -567 },
663 { 9300, -12, -1324, -567 },660 { 8773, 238, -184, -1456 },
664 { 8773, 238, -184, -1456 },661 { 9941, -1306, -69, -1792 },
665 { 9941, -1306, -69, -1792 },662 { 9360, 279, -376, -1919 },
666 { 9360, 279, -376, -1919 },663 { 9180, -285, 95, -2170 },
667 { 9180, -285, 95, -2170 },664 { 9922, -501, -970, -1570 },
668 { 9922, -501, -970, -1570 },665 { 8341, -1493, -856, -2092 },
669 { 8341, -1493, -856, -2092 },666 { 8780, -981, -850, -1014 },
670 { 8780, -981, -850, -1014 },667 { 9721, -548, -1504, -1094 },
671 { 9721, -548, -1504, -1094 },668 { 9973, -1493, 482, -2105 },
672 { 9973, -1493, 482, -2105 },669 { 8707, -333, -1027, -1087 },
673 { 8707, -333, -1027, -1087 },670 { 9098, -469, -315, -1723 },
674 { 9098, -469, -315, -1723 },671 { 8879, -1050, -661, -2020 },
675 { 8879, -1050, -661, -2020 },672 { 8857, 602, -866, -1918 },
676 { 8857, 602, -866, -1918 },673 { 8945, -1025, -2154, -1071 },
677 { 8945, -1025, -2154, -1071 },674 { 8484, -1930, -468, -2179 },
678 { 8484, -1930, -468, -2179 },675 { 9177, -1903, -224, -2112 },
679 { 9177, -1903, -224, -2112 },676 { 8652, -137, -2097, -1214 },
680 { 8652, -137, -2097, -1214 },677 { 9063, -973, -1405, -772 },
681 { 9063, -973, -1405, -772 },678 { 9328, -456, 662, -2469 },
682 { 9328, -456, 662, -2469 },679 { 10101, -697, 127, -2113 },
683 { 10101, -697, 127, -2113 },680 { 9685, 811, -2359, -1024 },
684 { 9685, 811, -2359, -1024 },681 { 8586, -94, -460, -1982 },
685 { 8586, -94, -460, -1982 },682 { 7924, -141, -509, -2513 },
686 { 7924, -141, -509, -2513 },683 { 7773, -669, -107, -2835 },
687 { 7773, -669, -107, -2835 },684 { 8636, -1064, -46, -2409 },
688 { 8636, -1064, -46, -2409 },685 { 9748, 596, -1815, -1349 },
689 { 9748, 596, -1815, -1349 },686 { 8924, 304, 547, -2614 },
690 { 8924, 304, 547, -2614 },687 { 9442, 746, -1153, -1679 },
691 { 9442, 746, -1153, -1679 },688 { 9454, -278, -529, -1976 },
692 { 9454, -278, -529, -1976 },689 { 8488, 561, -32, -2160 },
693 { 8488, 561, -32, -2160 },690 { 10083, -63, -1544, -1364 },
694 { 10083, -63, -1544, -1364 },691 { 9390, -1278, 568, -1131 },
695 { 9390, -1278, 568, -1131 },692 { 9740, -49, -2253, -910 },
696 { 9740, -49, -2253, -910 },693 { 3636, -2391, -1115, -3614 },
697 { 3636, -2391, -1115, -3614 },694 { 6014, -3204, -1902, -1808 },
698 { 6014, -3204, -1902, -1808 },695 { 5787, -3497, -1116, -2590 },
699 { 5787, -3497, -1116, -2590 },696 { 4365, -3046, -1632, -2668 },
700 { 4365, -3046, -1632, -2668 },697 { 4733, -2192, -2029, -2468 },
701 { 4733, -2192, -2029, -2468 },698 { 5412, -2753, -1633, -2464 },
702 { 5412, -2753, -1633, -2464 },699 { 4455, -3375, -767, -3399 },
703 { 4455, -3375, -767, -3399 },700 { 4456, -1644, -983, -2841 },
704 { 4456, -1644, -983, -2841 },701 { 4039, -2523, 38, -3967 },
705 { 4039, -2523, 38, -3967 },702 { 3406, -2662, 72, -4757 },
706 { 3406, -2662, 72, -4757 },703 { 4279, -2005, 1055, -4399 },
707 { 4279, -2005, 1055, -4399 },704 { 4321, -1377, -860, -3786 },
708 { 4321, -1377, -860, -3786 },705 { 3743, -5739, -651, -3047 },
709 { 3743, -5739, -651, -3047 },706 { 3528, -5510, 361, -4060 },
710 { 3528, -5510, 361, -4060 },707 { 6496, -4886, -136, -2689 },
711 { 6496, -4886, -136, -2689 },708 { 4513, -5254, 551, -4010 },
712 { 4513, -5254, 551, -4010 },709 { 6557, -3413, -92, -3063 },
713 { 6557, -3413, -92, -3063 },710 { 4186, -2059, 187, 47 },
714 { 4186, -2059, 187, 47 },711 { 6210, -4117, -1256, -1985 },
715 { 6210, -4117, -1256, -1985 },712 { 6038, -4343, 351, -2124 },
716 { 6038, -4343, 351, -2124 },713 { 4305, -4780, -2077, -1897 },
717 { 4305, -4780, -2077, -1897 },714 { 4480, -3815, -2228, -1533 },
718 { 4480, -3815, -2228, -1533 },715 { 5582, -3689, 1221, -3429 },
719 { 5582, -3689, 1221, -3429 },716 { 5532, -4874, 1195, -2765 },
720 { 5532, -4874, 1195, -2765 },717 { 6518, -2853, -905, -2568 },
721 { 6518, -2853, -905, -2568 },718 { 5467, -2192, 470, -4115 },
722 { 5467, -2192, 470, -4115 },719 { 4139, -1577, 240, -3493 },
723 { 4139, -1577, 240, -3493 },720 { 5281, -1926, -729, -3340 },
724 { 5281, -1926, -729, -3340 },721 { 5214, -2870, 1359, -4289 },
725 { 5214, -2870, 1359, -4289 },722 { 3046, -3510, -1536, -3214 },
726 { 3046, -3510, -1536, -3214 },723 { 5433, -2881, -1230, -1184 },
727 { 5433, -2881, -1230, -1184 },724 { 4861, -3932, -1071, -2791 },
728 { 4861, -3932, -1071, -2791 },725 { 5693, -4234, -1906, -1502 },
729 { 5693, -4234, -1906, -1502 },726 { 4004, -3935, -1804, -2383 },
730 { 4004, -3935, -1804, -2383 },727 { 3728, -3792, 681, -4773 },
731 { 3728, -3792, 681, -4773 },728 { 3621, -3030, -1951, -2598 },
732 { 3621, -3030, -1951, -2598 },729 { 5133, -3903, 44, -3700 },
733 { 5133, -3903, 44, -3700 },730 { 3561, -3451, 1183, -5301 },
734 { 3561, -3451, 1183, -5301 },731 { 5026, -2762, -2341, -1780 },
735 { 5026, -2762, -2341, -1780 },732 { 5841, -2492, -467, -3210 },
736 { 5841, -2492, -467, -3210 },733 { 5591, -1791, 497, -2472 },
737 { 5591, -1791, 497, -2472 },734 { 5054, -3898, -1822, -2097 },
738 { 5054, -3898, -1822, -2097 },735 { 5813, -2792, 83, -1469 },
739 { 5813, -2792, 83, -1469 },736 { 4432, -4497, 1670, -5193 },
740 { 4432, -4497, 1670, -5193 },737 { 5338, -4653, -1109, -2200 },
741 { 5338, -4653, -1109, -2200 },738 { 3239, -4401, -648, -3655 },
742 { 3239, -4401, -648, -3655 },739 { 2147, -3598, -1200, -4242 },
743 { 2147, -3598, -1200, -4242 },740 { 4417, -2271, -1552, -3210 },
744 { 4417, -2271, -1552, -3210 },741 { 6494, -4360, 852, -3565 },
745 { 6494, -4360, 852, -3565 },742 { 2393, -6358, -856, -4524 },
746 { 2393, -6358, -856, -4524 },743 { 4959, -4196, -847, -1403 },
747 { 4959, -4196, -847, -1403 },744 { 4924, -5438, -226, -3026 },
748 { 4924, -5438, -226, -3026 },745 { 4254, -5303, -1306, -2424 },
749 { 4254, -5303, -1306, -2424 },746 { 4121, -3126, -2334, -1981 },
750 { 4121, -3126, -2334, -1981 },747 { 3437, -4443, -1464, -2953 },
751 { 3437, -4443, -1464, -2953 },748 { 3203, -3459, -529, -4339 },
752 { 3203, -3459, -529, -4339 },749 { 5896, -5945, 543, -3246 },
753 { 5896, -5945, 543, -3246 },750 { 1987, -4733, -220, -4863 },
754 { 1987, -4733, -220, -4863 },751 { 4358, -4431, -514, -3081 },
755 { 4358, -4431, -514, -3081 },752 { 4583, -2416, -492, -2287 },
756 { 4583, -2416, -492, -2287 },753 { 2943, -5035, 419, -4927 },
757 { 2943, -5035, 419, -4927 },754 { 5358, -5129, 987, -4309 },
758 { 5358, -5129, 987, -4309 },755 { 4460, -3392, 1752, -5634 },
759 { 4460, -3392, 1752, -5634 },756 { 3415, -4633, 1507, -5945 },
760 { 3415, -4633, 1507, -5945 },757 { 811, -4692, -445, 2333 },
761 { 811, -4692, -445, 2333 },758 { 1009, -5613, -1857, 1360 },
762 { 1009, -5613, -1857, 1360 },759 { 1338, -2712, -2720, 3036 },
763 { 1338, -2712, -2720, 3036 },760 { 1002, -3754, -2582, 2344 },
764 { 1002, -3754, -2582, 2344 },761 { 750, -4608, -2334, 714 },
765 { 750, -4608, -2334, 714 },762 { 2043, -3207, -2822, 2173 },
766 { 2043, -3207, -2822, 2173 },763 { -140, -4654, -2953, 357 },
767 { -140, -4654, -2953, 357 },764 { -54, -4026, -2376, 2695 },
768 { -54, -4026, -2376, 2695 },765 { 1858, -5022, -717, 2287 },
769 { 1858, -5022, -717, 2287 },766 { 2064, -3894, -722, 3255 },
770 { 2064, -3894, -722, 3255 },767 { 2727, -4558, -332, 2603 },
771 { 2727, -4558, -332, 2603 },768 { 1810, -5378, 283, 1826 },
772 { 1810, -5378, 283, 1826 },769 { 3935, -4326, 762, 3383 },
773 { 3935, -4326, 762, 3383 },770 { -767, -4697, -2510, 1922 },
774 { -767, -4697, -2510, 1922 },771 { 2146, -4312, -3090, 1641 },
775 { 2146, -4312, -3090, 1641 },772 { 54, -5881, -2114, 921 },
776 { 54, -5881, -2114, 921 },773 { 1992, -5766, -640, 1574 },
777 { 1992, -5766, -640, 1574 },774 { 1200, -5371, -1114, 1828 },
778 { 1200, -5371, -1114, 1828 },775 { 2973, -5337, 34, 2266 },
779 { 2973, -5337, 34, 2266 },776 { 1531, -5018, -2817, 1192 },
780 { 1531, -5018, -2817, 1192 },777 { 3078, -4570, 117, 1990 },
781 { 3078, -4570, 117, 1990 },778 { 924, -4286, -1388, 2713 },
782 { 924, -4286, -1388, 2713 },779 { 142, -5058, -2848, 1487 },
783 { 142, -5058, -2848, 1487 },780 { -106, -6180, -881, 842 },
784 { -106, -6180, -881, 842 },781 { 673, -5433, -229, 1596 },
785 { 673, -5433, -229, 1596 },782 { 783, -5710, -2784, 562 },
786 { 783, -5710, -2784, 562 },783 { 1935, -5729, -2009, 856 },
787 { 1935, -5729, -2009, 856 },784 { -410, -3375, -3326, 2734 },
788 { -410, -3375, -3326, 2734 },785 { 234, -3000, -2628, 3260 },
789 { 234, -3000, -2628, 3260 },786 { 733, -3405, -3806, 1589 },
790 { 733, -3405, -3806, 1589 },787 { 771, -4285, -3544, 1314 },
791 { 771, -4285, -3544, 1314 },788 { 1192, -3563, -3960, 2178 },
792 { 1192, -3563, -3960, 2178 },789 { 206, -5555, -1250, 1546 },
793 { 206, -5555, -1250, 1546 },790 { -130, -3815, -1210, 3041 },
794 { -130, -3815, -1210, 3041 },791 { 646, -3940, -393, 2992 },
795 { 646, -3940, -393, 2992 },792 { -184, -4931, -1767, 1925 },
796 { -184, -4931, -1767, 1925 },793 { 2746, -5120, -2275, 1464 },
797 { 2746, -5120, -2275, 1464 },794 { 2440, -3731, -3352, 2729 },
798 { 2440, -3731, -3352, 2729 },795 { -490, -4942, -3779, 997 },
799 { -490, -4942, -3779, 997 },796 { 68, -2636, -4167, 3778 },
800 { 68, -2636, -4167, 3778 },797 { 48, -3986, -4118, 2106 },
801 { 48, -3986, -4118, 2106 },798 { -978, -5486, -1336, 1390 },
802 { -978, -5486, -1336, 1390 },799 { 1126, -5297, -855, 640 },
803 { 1126, -5297, -855, 640 },800 { -472, -3975, -3622, 1557 },
804 { -472, -3975, -3622, 1557 },801 { 2456, -5344, -1523, 1648 },
805 { 2456, -5344, -1523, 1648 },802 { -774, -5652, -2417, 1147 },
806 { -774, -5652, -2417, 1147 },803 { 995, -6122, -812, 1132 },
807 { 995, -6122, -812, 1132 },804 { 3282, -4571, -1763, 2175 },
808 { 3282, -4571, -1763, 2175 },805 { 3655, -3862, -676, 3568 },
809 { 3655, -3862, -676, 3568 },806 { 3038, -3647, -1672, 3381 },
810 { 3038, -3647, -1672, 3381 },807 { 2595, -2964, -2772, 3263 },
811 { 2595, -2964, -2772, 3263 },808 { 4176, -3353, -1148, 4354 },
812 { 4176, -3353, -1148, 4354 },809 { 1603, -3442, -1500, 3444 },
813 { 1603, -3442, -1500, 3444 },810 { 828, -6226, -1783, 678 },
814 { 828, -6226, -1783, 678 },811 { 1421, -3333, -3080, 3403 },
815 { 1421, -3333, -3080, 3403 },812 { 1121, -4727, -1924, 1984 },
816 { 1121, -4727, -1924, 1984 },813 { -186, -5083, -682, 1796 },
817 { -186, -5083, -682, 1796 },814 { 819, -2778, -3488, 530 },
818 { 819, -2778, -3488, 530 },815 { 421, -2873, -3832, 2596 },
819 { 421, -2873, -3832, 2596 },816 { 2164, -4263, -1605, 2282 },
820 { 2164, -4263, -1605, 2282 },817 { 585, -4437, -682, -491 },
821 { 585, -4437, -682, -491 },818 { -644, -4452, -1157, 2325 },
822 { -644, -4452, -1157, 2325 },819 { 1991, -4299, 210, 2834 },
823 { 1991, -4299, 210, 2834 },820 { 2135, -3632, -2113, 665 },
824 { 2135, -3632, -2113, 665 },821 { -7482, -2724, -2662, -1380 },
825 { -7482, -2724, -2662, -1380 },822 { -6983, -2166, -3756, -3509 },
826 { -6983, -2166, -3756, -3509 },823 { -7085, -1439, -2397, -3112 },
827 { -7085, -1439, -2397, -3112 },824 { -7760, -3049, -3319, -2822 },
828 { -7760, -3049, -3319, -2822 },825 { -8413, -2760, -4406, -3298 },
829 { -8413, -2760, -4406, -3298 },826 { -5995, -3943, -1260, -3750 },
830 { -5995, -3943, -1260, -3750 },827 { -7879, -1554, -3464, -2606 },
831 { -7879, -1554, -3464, -2606 },828 { -6314, -2034, -3878, -1681 },
832 { -6314, -2034, -3878, -1681 },829 { -8849, -2084, -1399, -1231 },
833 { -8849, -2084, -1399, -1231 },830 { -7153, -2602, -1384, -817 },
834 { -7153, -2602, -1384, -817 },831 { -8041, -2571, -407, -2785 },
835 { -8041, -2571, -407, -2785 },832 { -7246, -2233, -1578, 260 },
836 { -7246, -2233, -1578, 260 },833 { -7336, -3883, -4061, -1342 },
837 { -7336, -3883, -4061, -1342 },834 { -7619, -3908, -2342, 382 },
838 { -7619, -3908, -2342, 382 },835 { -8684, -3724, -1662, -727 },
839 { -8684, -3724, -1662, -727 },836 { -7850, -2922, -1770, -3449 },
840 { -7850, -2922, -1770, -3449 },837 { -6766, -2034, -1293, -1988 },
841 { -6766, -2034, -1293, -1988 },838 { -6895, -2116, -968, -3744 },
842 { -6895, -2116, -968, -3744 },839 { -7136, -5147, -2618, -2809 },
843 { -7136, -5147, -2618, -2809 },840 { -8224, -3724, -2519, -1589 },
844 { -8224, -3724, -2519, -1589 },841 { -6711, -2750, -3021, -219 },
845 { -6711, -2750, -3021, -219 },842 { -8059, -1638, -1102, -3175 },
846 { -8059, -1638, -1102, -3175 },843 { -8710, -4839, -3963, -3143 },
847 { -8710, -4839, -3963, -3143 },844 { -9363, -4965, -3257, -1002 },
848 { -9363, -4965, -3257, -1002 },845 { -6099, -1751, -3157, -395 },
849 { -6099, -1751, -3157, -395 },846 { -6453, -3216, -4597, -483 },
850 { -6453, -3216, -4597, -483 },847 { -7879, -5477, -839, -2638 },
851 { -7879, -5477, -839, -2638 },848 { -7202, -4038, -526, -2856 },
852 { -7202, -4038, -526, -2856 },849 { -8022, -1228, -1910, -1646 },
853 { -8022, -1228, -1910, -1646 },850 { -9117, -1393, -1582, -2535 },
854 { -9117, -1393, -1582, -2535 },851 { -9095, -2693, -636, -2605 },
855 { -9095, -2693, -636, -2605 },852 { -9076, -2580, -3481, -2519 },
856 { -9076, -2580, -3481, -2519 },853 { -8327, -4859, -2422, 83 },
857 { -8327, -4859, -2422, 83 },854 { -8368, -2129, -2324, -2173 },
858 { -8368, -2129, -2324, -2173 },855 { -8554, -4563, -3842, -2007 },
859 { -8554, -4563, -3842, -2007 },856 { -10462, -4261, -1934, -2084 },
860 { -10462, -4261, -1934, -2084 },857 { -9717, -3187, -2294, -1896 },
861 { -9717, -3187, -2294, -1896 },858 { -9625, -3889, -3020, -3224 },
862 { -9625, -3889, -3020, -3224 },859 { -9857, -4955, -4239, -2184 },
863 { -9857, -4955, -4239, -2184 },860 { -9752, -2351, -2277, -3129 },
864 { -9752, -2351, -2277, -3129 },861 { -7219, -1302, -2639, -1603 },
865 { -7219, -1302, -2639, -1603 },862 { -7477, -4360, -3718, -559 },
866 { -7477, -4360, -3718, -559 },863 { -5680, -2033, -2326, -3078 },
867 { -5680, -2033, -2326, -3078 },864 { -10190, -5548, -4643, -3601 },
868 { -10190, -5548, -4643, -3601 },865 { -9431, -4121, -879, -2479 },
869 { -9431, -4121, -879, -2479 },866 { -8365, -5450, -2020, -1439 },
870 { -8365, -5450, -2020, -1439 },867 { -6289, -5178, -1605, -3845 },
871 { -6289, -5178, -1605, -3845 },868 { -8319, -3866, -687, -2792 },
872 { -8319, -3866, -687, -2792 },869 { -8131, -1031, -3608, -3947 },
873 { -8131, -1031, -3608, -3947 },870 { -10510, -2560, -1199, -2082 },
874 { -10510, -2560, -1199, -2082 },871 { -11015, -3640, -2748, -3041 },
875 { -11015, -3640, -2748, -3041 },872 { -8762, -5022, -5231, -1162 },
876 { -8762, -5022, -5231, -1162 },873 { -10153, -2715, -4648, -4859 },
877 { -10153, -2715, -4648, -4859 },874 { -7930, -5205, -1900, -3600 },
878 { -7930, -5205, -1900, -3600 },875 { -9561, -3548, -4812, -3722 },
879 { -9561, -3548, -4812, -3722 },876 { -7663, -4709, -1180, -1475 },
880 { -7663, -4709, -1180, -1475 },877 { -9073, -5707, -1815, -2980 },
881 { -9073, -5707, -1815, -2980 },878 { -8602, -2363, -2675, -3770 },
882 { -8602, -2363, -2675, -3770 },879 { -9967, -5614, -3575, -3838 },
883 { -9967, -5614, -3575, -3838 },880 { -8324, -1005, -2131, -3254 },
884 { -8324, -1005, -2131, -3254 },881 { -10331, -5737, -2550, -2940 },
885 { -10331, -5737, -2550, -2940 },882 { -8234, -3354, -3361, -4479 },
886 { -8234, -3354, -3361, -4479 },883 { -8140, -1951, -4526, -4545 },
887 { -8140, -1951, -4526, -4545 },884 { -6679, -2662, -2284, -4182 },
888 { -6679, -2662, -2284, -4182 },885 { -1122, -1514, -6427, -212 },
889 { -1122, -1514, -6427, -212 },886 { 54, -1660, -5424, -1404 },
890 { 54, -1660, -5424, -1404 },887 { 254, -2778, -5222, 846 },
891 { 254, -2778, -5222, 846 },888 { -267, -1661, -6577, 814 },
892 { -267, -1661, -6577, 814 },889 { -305, -2021, -5759, 1484 },
893 { -305, -2021, -5759, 1484 },890 { -1791, -2446, -6867, -86 },
894 { -1791, -2446, -6867, -86 },891 { -2929, -3158, -6603, -1799 },
895 { -2929, -3158, -6603, -1799 },892 { -1391, -3189, -5557, -1053 },
896 { -1391, -3189, -5557, -1053 },893 { -1602, -884, -6767, -1213 },
897 { -1602, -884, -6767, -1213 },894 { -361, -318, -6219, -44 },
898 { -361, -318, -6219, -44 },895 { -4078, -2635, -5523, -433 },
899 { -4078, -2635, -5523, -433 },896 { -956, 478, -4382, 1470 },
900 { -956, 478, -4382, 1470 },897 { -3300, -2462, -6021, -2721 },
901 { -3300, -2462, -6021, -2721 },898 { 708, -2434, -5085, -540 },
902 { 708, -2434, -5085, -540 },899 { -2435, -3607, -5647, -2110 },
903 { -2435, -3607, -5647, -2110 },900 { -491, -1134, -4681, -2886 },
904 { -491, -1134, -4681, -2886 },901 { 87, -3435, -4641, -1194 },
905 { 87, -3435, -4641, -1194 },902 { -586, -2927, -4784, 366 },
906 { -586, -2927, -4784, 366 },903 { -1394, -2326, -6021, 350 },
907 { -1394, -2326, -6021, 350 },904 { 97, -2519, -4678, -2120 },
908 { 97, -2519, -4678, -2120 },905 { -1547, -1907, -5069, -2993 },
909 { -1547, -1907, -5069, -2993 },906 { 268, -3724, -4719, 127 },
910 { 268, -3724, -4719, 127 },907 { -827, -1190, -5912, 1144 },
911 { -827, -1190, -5912, 1144 },908 { -3959, -2322, -6898, -1974 },
912 { -3959, -2322, -6898, -1974 },909 { -2728, -2228, -6426, -562 },
913 { -2728, -2228, -6426, -562 },910 { -456, -666, -5785, -1609 },
914 { -456, -666, -5785, -1609 },911 { 531, -1096, -5731, -656 },
915 { 531, -1096, -5731, -656 },
916 { -3569, -688, -3915, 110 },
917 { -4752, -1725, -4393, -377 },
918 { -3210, -3315, -6960, -840 },
919 { -688, -3416, -4971, 1221 },
920 { -1833, 77, -6491, -2434 },
921 { -239, -255, -6850, -886 },
922 { -2112, -1490, -6291, -2689 },
923 { -1544, -4579, -5198, -1261 },
924 { -2771, -4014, -5520, 683 },
925 { -1635, -2829, -5512, 1214 },
926 { -958, -2582, -4823, 2360 },
927 { -2077, -4566, -4642, 365 },
928 { -3112, -4214, -5960, -823 },
929 { -2467, -2510, -4858, 1467 },
930 { -1561, -3399, -5822, 211 },
931 { -775, -1081, -4424, 2636 },
932 { -1263, 25, -6378, -1392 },
933 { -3476, -366, -5417, -1393 },
934 { -3176, -1476, -4149, 1466 },
935 { -2479, 518, -4448, -257 },
936 { -2992, 158, -4660, -1279 },
937 { -1320, -3872, -4479, 1147 },
938 { -1475, -312, -5318, 539 },
939 { -3527, -1679, -5860, -1681 },
940 { -3397, -3438, -5593, 1866 },
941 { -4089, -2439, -4763, 1275 },
942 { -748, -4513, -4687, -48 },
943 { -2166, -4531, -4691, -2856 },
944 { -2385, -853, -6035, -627 },
945 { -1194, -4091, -4472, -1963 },
946 { -682, -3234, -4084, -3033 },
947 { -3255, -5015, -5328, -12 },
948 { -2313, -3436, -4601, -155 },
949 { -2792, -1038, -6947, -2019 },
950 { -1244, -1526, -5771, -1882 },
951 { -4679, -3731, -5506, 283 },
952 { -3062, -66, -3558, -758 },
953 { -4895, -1187, 4751, 3728 },
954 { -7600, -2752, 3320, 4613 },
955 { -5703, -2975, 3944, 2659 },
956 { -4972, -1257, -246, 2952 },
957 { -4221, -2487, 1702, 4295 },
958 { -2900, -1529, 2458, 4935 },
959 { -5061, 407, 2416, 4050 },
960 { -6931, -3478, 2761, 2213 },
961 { -6037, -3921, 3192, 1866 },
962 { -6113, -811, 2407, 3782 },
963 { -5878, -1716, 1207, 3478 },
964 { -5953, -2853, 2207, 2712 },
965 { -6807, -3223, 2749, 3595 },
966 { -3272, -3157, 1389, 3788 },
967 { -5368, -1904, 1980, 5077 },
968 { -7235, -1398, 3075, 4548 },
969 { -4765, -3487, 2755, 2796 },
970 { -7658, -4435, 2694, 2582 },
971 { -6997, -4282, 456, 3832 },
972 { -5563, -3115, -63, 3713 },
973 { -4244, -4220, 1450, 2767 },
974 { -3801, -2194, 190, 4303 },
975 { -5458, -4119, 1958, 2274 },
976 { -7300, -3469, 3514, 3193 },
977 { -4594, -2067, 775, 4752 },
978 { -3389, -1654, 1464, 5412 },
979 { -4845, -3483, 964, 3437 },
980 { -6007, -2818, 1666, 4659 },
981 { -8709, -5007, 1757, 3287 },
982 { -5833, -4389, 1025, 3171 },
983 { -5788, -1780, 3944, 3661 },
984 { -4430, -920, 1938, 4753 },
985 { -7066, -1857, 4591, 4538 },
986 { -3549, -513, 1427, 5317 },
987 { -7517, -1220, 2883, 3049 },
988 { -7605, -2687, 1874, 2735 },
989 { -8718, -4035, 2676, 3730 },
990 { -7990, -3907, 1185, 2607 },
991 { -6058, -1744, 3349, 5157 },
992 { -5954, 565, 3161, 3250 },
993 { -6478, -612, 1930, 2271 },
994 { -6535, -1445, -2, 1618 },
995 { -8963, -4151, 1192, 4044 },
996 { -7227, -3570, 1600, 4234 },
997 { -4674, 79, 595, 3015 },
998 { -3974, 430, 2727, 5137 },
999 { -5299, 9, 3714, 4779 },
1000 { -6779, -2699, -8, 2436 },
1001 { -7016, -1145, 1293, 2310 },
1002 { -6955, -3312, 1534, 1801 },
1003 { -4025, 740, 1850, 4054 },
1004 { -9589, -3460, 4154, 5270 },
1005 { -4404, -1181, 4298, 5173 },
1006 { -7356, -4583, -18, 2644 },
1007 { -6516, -1235, 4439, 6234 },
1008 { -3453, -301, 4344, 4464 },
1009 { -4643, 1530, 3315, 4340 },
1010 { -4575, -2557, 3754, 3682 },
1011 { -3643, -3501, 2051, 2997 },
1012 { -5412, -2475, 2301, 1579 },
1013 { -5846, 259, 1360, 2348 },
1014 { -5258, -1358, 1050, 838 },
1015 { -5542, -219, 6377, 5750 },
1016 { -5713, -2952, 922, 899 },
1017 { -2049, -1135, 5206, 1033 },
1018 { -1693, -1886, 4835, -106 },
1019 { -2344, -3504, 4232, -13 },
1020 { -2475, -2334, 5043, 1126 },
1021 { -787, -2549, 3880, 2138 },
1022 { -3159, -2341, 4830, 2887 },
1023 { -1780, -1009, 6240, 2061 },
1024 { -4327, -3363, 2818, 886 },
1025 { -3376, -2743, 4104, 207 },
1026 { -3250, -4640, 2718, 1498 },
1027 { -382, -1075, 4382, 3460 },
1028 { -2416, -4168, 3530, 816 },
1029 { -1756, -2708, 4861, 622 },
1030 { -1879, -2097, 5156, 2889 },
1031 { -2496, -2418, 3722, 2671 },
1032 { -2717, -3252, 3341, 1944 },
1033 { -4063, -4091, 3306, 267 },
1034 { -3549, -3808, 3747, 842 },
1035 { -2635, 546, 5794, 1894 },
1036 { -1857, -1121, 4383, 3964 },
1037 { -2226, -2166, 3489, 3678 },
1038 { -3492, -660, 5323, 1063 },
1039 { -3033, -3130, 4382, 1828 },
1040 { -2703, -625, 6369, 2851 },
1041 { -1656, -2842, 4584, -528 },
1042 { -4781, -2622, 4390, 2097 },
1043 { -413, -2045, 5081, 3035 },
1044 { -3810, -2662, 4532, 1095 },
1045 { -3144, -1858, 5215, 1880 },
1046 { -3562, -1795, 4928, 670 },
1047 { -4800, -1509, 5189, 1859 },
1048 { -1085, -3832, 4169, 900 },
1049 { -1969, -3270, 2857, 2878 },
1050 { -4267, -4140, 3176, 1805 },
1051 { -5145, -3727, 3524, 1168 },
1052 { -1346, -1876, 5501, 1748 },
1053 { -4998, -2945, 3699, 338 },
1054 { -3458, -3096, 3406, -635 },
1055 { -1751, -3209, 3508, 395 },
1056 { -2507, 170, 5987, 705 },
1057 { -3756, -1072, 5647, 3536 },
1058 { -2870, -1439, 5026, 3212 },
1059 { -3913, -3225, 3669, 2144 },
1060 { -3739, 226, 5747, 764 },
1061 { -2052, -820, 5266, 3093 },
1062 { -3214, -3820, 2409, 2391 },
1063 { -4398, -2588, 3501, -218 },
1064 { -4484, -1763, 4180, -198 },
1065 { -3368, -1525, 4362, -134 },
1066 { -2407, 224, 4905, 3533 },
1067 { -1369, -2937, 4728, 1788 },
1068 { -4848, -1707, 4159, 851 },
1069 { -3454, -1749, 4281, 3230 },
1070 { -1990, -3853, 3487, 1735 },
1071 { -3117, 92, 6155, 4075 },
1072 { -2676, -2472, 4078, -589 },
1073 { -1547, -2012, 2626, 1835 },
1074 { -4275, -588, 4824, 725 },
1075 { -601, -2249, 3736, 3548 },
1076 { -4060, -61, 5333, 3097 },
1077 { -4303, 7, 6551, 3054 },
1078 { -5003, -1029, 5786, 3319 },
1079 { -2810, -728, 5392, 199 },
1080 { -1232, -200, 5228, 3121 },
1081 { 2621, 165, -6255, 298 },
1082 { 3669, 537, -6844, 1564 },
1083 { 1598, -1190, -6235, 2523 },
1084 { 2164, -32, -6894, 1383 },
1085 { 853, -1597, -6069, 1449 },
1086 { 1377, -1661, -5266, 108 },
1087 { 2660, 48, -5172, -517 },
1088 { 1903, -391, -5677, 1010 },
1089 { 3792, 206, -5274, -11 },
1090 { 1239, 2776, -2929, 2721 },
1091 { 4071, 149, -7259, 3125 },
1092 { 1436, -480, -6156, -196 },
1093 { 1373, -1960, -5005, 3122 },
1094 { 3413, -1271, -5176, 3283 },
1095 { 3060, -68, -6495, 2238 },
1096 { 2700, -2075, -4681, 91 },
1097 { 2928, -1728, -5168, 1858 },
1098 { 4424, 828, -4471, 88 },
1099 { 2672, -2604, -4038, 2753 },
1100 { 5223, -123, -6749, 2295 },
1101 { 4237, -420, -5538, 1353 },
1102 { 4744, -1281, -4097, 4708 },
1103 { 1103, -2764, -4751, 2024 },
1104 { 3747, -1913, -3911, 3960 },
1105 { 2470, -1416, -5542, 615 },
1106 { 4847, -1354, -5334, 1733 },
1107 { 5336, 88, -7593, 4007 },
1108 { 2388, -2880, -4807, 1037 },
1109 { 4495, 1391, -5685, -139 },
1110 { 5253, 1637, -6450, 1533 },
1111 { 1199, 795, -5515, 1261 },
1112 { 1397, -1259, -4252, 3838 },
1113 { 746, 70, -6640, 604 },
1114 { 1584, 166, -4972, 3072 },
1115 { 380, -999, -5397, 2267 },
1116 { 2974, 1707, -3242, 5360 },
1117 { 5202, -403, -5453, 2832 },
1118 { 3718, -1731, -4760, 714 },
1119 { 4150, -975, -4792, 61 },
1120 { 2925, -818, -4841, 15 },
1121 { 5301, 577, -4006, 3259 },
1122 { 5265, 1986, -5679, 3028 },
1123 { 3752, 1928, -4509, 3729 },
1124 { 3278, 1925, -6370, 1247 },
1125 { 5107, 1721, -4853, 3127 },
1126 { 3279, 2982, -2515, 4005 },
1127 { 4622, 668, -6204, 759 },
1128 { 6034, 317, -5763, 4818 },
1129 { -558, 57, -3785, 2817 },
1130 { 4476, 1616, -3965, 4536 },
1131 { 5953, 2056, -8215, 2715 },
1132 { 4387, 2613, -7463, 868 },
1133 { 5834, 1088, -4736, 4924 },
1134 { 6473, -856, -6991, 4172 },
1135 { 4959, -293, -5162, 76 },
1136 { 2731, -843, -6119, 3847 },
1137 { 3245, 1202, -6833, 616 },
1138 { 2553, 1383, -3829, 3859 },
1139 { 4332, 2099, -3480, 3622 },
1140 { 2110, 2683, -2728, 3990 },
1141 { 876, 1167, -3290, 3466 },
1142 { 3991, 1709, -2410, 4077 },
1143 { 5105, 939, -2584, 3256 },
1144 { 4719, 688, -1566, 3040 },
1145 { -3632, 4335, 1266, -3303 },
1146 { -4956, 3207, 1312, -2806 },
1147 { -4669, 2627, 2663, -2435 },
1148 { -4282, 3708, 2303, -3038 },
1149 { -4536, 2297, -175, -3350 },
1150 { -5234, 2503, -139, -880 },
1151 { -3978, 1512, 1092, -3619 },
1152 { -4519, 4649, 1363, -2455 },
1153 { -5118, 3132, 1961, -1577 },
1154 { -5196, 3379, -182, -1378 },
1155 { -6420, 4486, 2397, -1993 },
1156 { -5030, 5046, 1292, -1118 },
1157 { -4559, 2573, -927, -1406 },
1158 { -3501, 3730, 691, -4930 },
1159 { -4364, 2758, 1007, -3909 },
1160 { -4026, 2839, -1559, -2340 },
1161 { -5037, 4053, 836, -1571 },
1162 { -4727, 5136, 1110, -3588 },
1163 { -5245, 2799, -999, -2164 },
1164 { -4954, 1501, 422, -3963 },
1165 { -5994, 2726, 1462, -2833 },
1166 { -5621, 5159, 2038, -2512 },
1167 { -4991, 2291, 1917, -3151 },
1168 { -5469, 4382, -148, -2978 },
1169 { -5858, 1983, 807, -2720 },
1170 { -4709, 3556, 952, -467 },
1171 { -2489, 2362, 1714, -4230 },
1172 { -4717, 5004, -1180, -3672 },
1173 { -5914, 3653, 1359, -1317 },
1174 { -5506, 2995, 780, -1059 },
1175 { -5287, 3945, 2480, -2293 },
1176 { -3849, 4358, 322, -1770 },
1177 { -3911, 3570, 252, -3185 },
1178 { -3660, 5128, 158, -3719 },
1179 { -4599, 3277, -503, -2727 },
1180 { -3673, 3760, -1252, -3339 },
1181 { -5161, 2337, 388, -1943 },
1182 { -3529, 2216, 2156, -3080 },
1183 { -4309, 4331, 1808, -1460 },
1184 { -4782, 3820, 480, -2504 },
1185 { -4166, 3544, -378, -1567 },
1186 { -5572, 2466, -418, -2909 },
1187 { -6096, 2930, 119, -1878 },
1188 { -5963, 3554, 1011, -2233 },
1189 { -6433, 4335, 935, -2930 },
1190 { -5004, 3314, -1352, -3430 },
1191 { -6042, 3463, -1008, -3940 },
1192 { -4671, 2214, -640, -5040 },
1193 { -2795, 3759, 1412, -3803 },
1194 { -3647, 4436, 729, -515 },
1195 { -3594, 1033, 56, -4148 },
1196 { -2908, 3027, 2889, -3485 },
1197 { -3338, 2234, 313, -4285 },
1198 { -3825, 4497, -561, -2634 },
1199 { -6167, 3012, -48, -3149 },
1200 { -4828, 3515, -969, -4475 },
1201 { -5789, 2757, -539, -4173 },
1202 { -2452, 3067, 564, -4249 },
1203 { -4921, 1358, 1331, -2889 },
1204 { -3127, 4239, -1045, -1523 },
1205 { -4780, 2326, -1118, -3446 },
1206 { -3908, 5546, 152, -2622 },
1207 { -6972, 2976, 337, -2809 },
1208 { -4839, 4613, -35, -4077 },
1209 { -1408, 4822, -1149, -4997 },
1210 { -981, 4979, -912, -6304 },
1211 { -2098, 5689, -888, -2878 },
1212 { -3343, 4814, -657, -4434 },
1213 { -2461, 3601, -967, -4869 },
1214 { -2652, 3944, 87, -5520 },
1215 { -1104, 6076, 174, -6407 },
1216 { 355, 5370, -1721, -5869 },
1217 { 1242, 4497, -1107, -5091 },
1218 { -89, 4002, -1491, -5182 },
1219 { 1059, 5693, -1591, -4905 },
1220 { 1323, 4682, -2078, -4768 },
1221 { 818, 3996, -549, -5468 },
1222 { -287, 4529, 929, -5543 },
1223 { -919, 5519, -2791, -2844 },
1224 { -1407, 5679, -3289, -3974 },
1225 { -189, 6530, -3547, -4002 },
1226 { -900, 7039, -3371, -4855 },
1227 { -2983, 7211, -363, -4835 },
1228 { -814, 6503, -104, -5106 },
1229 { -2386, 6896, 809, -4919 },
1230 { 845, 4492, 352, -6621 },
1231 { -1998, 7237, -1646, -4231 },
1232 { -3380, 6251, 471, -4577 },
1233 { -1908, 7059, 84, -5726 },
1234 { -340, 6346, -803, -6265 },
1235 { -2279, 5834, -47, -4633 },
1236 { -1532, 5286, -1748, -1901 },
1237 { -2757, 6188, -453, -3415 },
1238 { -1255, 6405, -2043, -6357 },
1239 { 918, 5581, -121, -5667 },
1240 { 1840, 5336, -821, -5034 },
1241 { -2475, 4992, -1825, -3104 },
1242 { -2413, 5606, -1789, -4298 },
1243 { 132, 5128, -2389, -4442 },
1244 { 223, 6400, -2653, -4742 },
1245 { -673, 5012, 680, -4582 },
1246 { -1657, 6624, -349, -3596 },
1247 { -755, 6289, -1860, -3978 },
1248 { -572, 6894, -1946, -5207 },
1249 { -1141, 4756, -2665, -5586 },
1250 { -1073, 4269, -431, -4030 },
1251 { 186, 5761, 916, -5868 },
1252 { -1907, 4836, 1017, -5106 },
1253 { -963, 3363, -1248, -6348 },
1254 { -3262, 4774, -1818, -5858 },
1255 { 847, 3812, -2538, -4302 },
1256 { -1223, 5903, 1360, -5479 },
1257 { -1094, 6923, -1244, -2381 },
1258 { 267, 6276, -709, -2846 },
1259 { -157, 5840, 1124, -4266 },
1260 { 889, 3206, -910, -5305 },
1261 { -1736, 3344, 582, -4838 },
1262 { -2357, 5676, -2695, -6277 },
1263 { -1916, 6901, -986, -5397 },
1264 { -3062, 6028, -695, -5687 },
1265 { 1836, 3566, -1357, -5226 },
1266 { -2176, 4938, 646, -3872 },
1267 { -2199, 3055, -208, -6124 },
1268 { -236, 3032, -821, -5325 },
1269 { -3989, 7277, -565, -3899 },
1270 { -595, 4362, 74, -5975 },
1271 { 684, 5874, -841, -4424 },
1272 { -2731, 6305, -2389, -5465 },
1273 { -5775, 1325, -56, -2528 },
1274 { -7029, -534, -1890, -3278 },
1275 { -5798, -15, -2734, -2210 },
1276 { -5504, -1198, -353, -3659 },
1277 { -5079, 960, -894, -4336 },
1278 { -6073, -36, -133, -3014 },
1279 { -5782, -259, -1025, -3986 },
1280 { -6843, 1262, -807, -1639 },
1281 { -5263, -918, -3290, -579 },
1282 { -4840, 461, -2158, -533 },
1283 { -6014, -50, -620, 504 },
1284 { -5843, 241, -1359, -282 },
1285 { -5898, 577, 769, -3271 },
1286 { -6833, -946, -466, -3347 },
1287 { -6026, 1459, -512, -729 },
1288 { -7361, 747, -388, -1110 },
1289 { -6391, 2142, -1160, -2513 },
1290 { -6995, 304, 498, -2673 },
1291 { -6757, 679, -386, -433 },
1292 { -5222, 1688, -1093, -1032 },
1293 { -5019, 575, 184, -3627 },
1294 { -4237, 628, -3507, -1243 },
1295 { -7479, -456, -1722, -1486 },
1296 { -6464, 713, -1273, -1153 },
1297 { -6255, 1682, -606, -3607 },
1298 { -7033, 1497, -71, -1955 },
1299 { -6694, 1556, -1721, -3214 },
1300 { -6114, -356, 813, -2575 },
1301 { -5308, 632, -1851, -1636 },
1302 { -5742, -911, -1733, 383 },
1303 { -6083, -387, -2313, -879 },
1304 { -6535, -530, -1505, -2083 },
1305 { -4896, 1223, -2750, -1816 },
1306 { -6392, -463, -3247, -2093 },
1307 { -5373, 1264, -2706, -3042 },
1308 { -3894, -1390, -1020, -891 },
1309 { -6179, 1168, -1966, -1922 },
1310 { -5162, 1668, -1617, -1916 },
1311 { -6453, 920, -1169, -2432 },
1312 { -6130, 2005, -536, -1519 },
1313 { -6552, -98, -518, -1938 },
1314 { -7528, 355, -1101, -1772 },
1315 { -5745, 610, -247, -1360 },
1316 { -7003, 177, -2064, -1958 },
1317 { -6956, -570, -2220, -4225 },
1318 { -7830, 791, -1394, -2774 },
1319 { -7634, 480, -3171, -4224 },
1320 { -7913, 1154, -350, -2381 },
1321 { -5063, 1704, -1804, -2977 },
1322 { -4887, -524, -2703, 188 },
1323 { -5551, 406, -1620, -3063 },
1324 { -7109, 1342, 381, -3021 },
1325 { -6846, 631, -458, -3398 },
1326 { -4606, -605, 11, -3930 },
1327 { -8134, -225, -1738, -2648 },
1328 { -7043, 402, -2734, -3059 },
1329 { -7417, 1825, -2545, -4389 },
1330 { -6971, -236, -1031, -665 },
1331 { -5752, 2111, -1632, -3808 },
1332 { -7660, -78, -624, -3135 },
1333 { -6358, 619, -1951, -3911 },
1334 { -8134, 408, -1935, -3695 },
1335 { -6335, 1911, -2368, -4505 },
1336 { -7116, 2163, -344, -2753 },
1337 { 2357, 4488, 2220, -5682 },
1338 { 1385, 3206, 2300, -5305 },
1339 { 1419, 2557, 5203, -3516 },
1340 { 262, 4315, 3920, -1847 },
1341 { 3316, 3187, 1612, -5609 },
1342 { 1729, 2350, 1673, -6068 },
1343 { 1603, 6126, 1467, -2839 },
1344 { -1339, 3316, 3691, -3530 },
1345 { -563, 4618, 3180, -4548 },
1346 { 463, 4624, 3111, -5614 },
1347 { 1246, 5455, 3356, -5720 },
1348 { 480, 2149, 5422, -2893 },
1349 { 1768, 4827, 913, -5579 },
1350 { -149, 5381, 4366, -3297 },
1351 { 985, 3672, 2644, -92 },
1352 { -258, 2911, 5817, -2213 },
1353 { 3428, 3289, 3351, -3541 },
1354 { -666, 3295, 4727, -2869 },
1355 { 35, 6641, 4160, -4052 },
1356 { 623, 6787, 3156, -4560 },
1357 { 2654, 4360, 4676, -4632 },
1358 { 1386, 5246, 4834, -4497 },
1359 { 3488, 4574, 3856, -5946 },
1360 { 383, 4481, 4168, -4110 },
1361 { 1753, 3652, 4288, -3326 },
1362 { 1344, 4905, 2508, -4660 },
1363 { 1580, 4106, 3104, -2224 },
1364 { 2027, 5038, 1683, -1554 },
1365 { 446, 3699, 5872, -3013 },
1366 { 4637, 4087, 3578, -5018 },
1367 { 2629, 3560, 5331, -4900 },
1368 { 1527, 6674, 2523, -4131 },
1369 { -1437, 2804, 2528, -4464 },
1370 { -229, 3355, 2016, -5537 },
1371 { 3666, 3418, 4374, -4581 },
1372 { 1192, 3799, 923, -6596 },
1373 { 2040, 2956, 448, -5322 },
1374 { 2468, 5768, 4029, -5869 },
1375 { 3438, 6516, 3529, -6667 },
1376 { 2737, 5495, 680, -5535 },
1377 { 3896, 5727, 1801, -4958 },
1378 { 4988, 4957, 3592, -6518 },
1379 { -542, 4416, 5794, -2787 },
1380 { 4136, 4354, 2064, -4696 },
1381 { 3067, 5936, 1207, -3396 },
1382 { 2789, 4966, 2405, -3854 },
1383 { 1731, 3270, 3251, -1063 },
1384 { 1767, 5537, 2084, -2349 },
1385 { 465, 3116, 4532, -837 },
1386 { 1499, 2627, 4610, -2212 },
1387 { 122, 3095, 3642, -3552 },
1388 { 2542, 2866, 2705, -6402 },
1389 { 3134, 4323, 698, -4785 },
1390 { 731, 1859, 3112, -5242 },
1391 { 2553, 2980, 3241, -4846 },
1392 { 1329, 5310, 1607, -6624 },
1393 { 2468, 1858, 3476, -1034 },
1394 { -172, 4996, 2000, -5562 },
1395 { 2621, 4220, 1574, -3386 },
1396 { -333, 1832, 3362, -4117 },
1397 { 2169, 6762, 3065, -6225 },
1398 { 2844, 5528, 3223, -4765 },
1399 { 526, 5175, 1644, -4267 },
1400 { 2922, 4426, 2414, -2610 },
1401 { 452, 1399, -4516, -2636 },
1402 { 2872, 1720, -4667, -1435 },
1403 { 1279, 702, -5424, -1984 },
1404 { 2187, 870, -5021, -1341 },
1405 { 583, -144, -4628, -2464 },
1406 { 3, 2237, -5284, -2827 },
1407 { -19, 1005, -5460, -1819 },
1408 { 2897, 2084, -5885, -515 },
1409 { -400, 3370, -5527, -2947 },
1410 { 1505, 2593, -5518, -1802 },
1411 { 1341, 4534, -5094, -1899 },
1412 { 3241, 3670, -5493, -1252 },
1413 { -1287, 921, -5994, -1675 },
1414 { 627, 408, -6652, -364 },
1415 { -260, 1127, -4849, -3247 },
1416 { 371, 3400, -5976, -2285 },
1417 { 1533, 1566, -6373, -610 },
1418 { 2462, 4274, -6184, -1254 },
1419 { 1782, 3363, -6222, -1381 },
1420 { 572, 4650, -5673, -2754 },
1421 { 2674, 3414, -4460, -2154 },
1422 { 3614, 3820, -6883, -398 },
1423 { 1136, -1, -5511, -1112 },
1424 { -1773, 1137, -5647, -2377 },
1425 { -753, 2104, -6085, -2565 },
1426 { -204, 3025, -4731, -1418 },
1427 { -1486, 1438, -4380, -216 },
1428 { 302, 858, -5786, -264 },
1429 { 3486, 1495, -5234, -783 },
1430 { 888, 2327, -3423, -3720 },
1431 { -259, 772, -6596, -1311 },
1432 { -1197, 2073, -5174, -1826 },
1433 { 1500, 3470, -4462, -2645 },
1434 { 3072, 1960, -3277, -2264 },
1435 { 1841, 952, -4324, -2340 },
1436 { 1994, 2200, -3940, -2923 },
1437 { -1782, 1699, -4667, -1075 },
1438 { -1464, 2906, -3468, -375 },
1439 { 366, 2380, -3747, 1467 },
1440 { -545, 1645, -4619, 376 },
1441 { 1724, 2350, -2374, -3512 },
1442 { 3184, 2628, -2996, -3275 },
1443 { 734, 2010, -6239, -1479 },
1444 { 524, 3756, -4496, -3263 },
1445 { 1492, 3570, -3494, -3600 },
1446 { -932, 618, -5389, -2894 },
1447 { -133, 2161, -4083, -3267 },
1448 { 786, 774, -3279, -3731 },
1449 { 1078, 803, -3843, -3007 },
1450 { -332, 3405, -3347, 40 },
1451 { -17, 6, -4005, -3690 },
1452 { -189, 4372, -4488, -2561 },
1453 { -450, 3846, -3790, -1370 },
1454 { 362, 2212, -5272, -15 },
1455 { -1529, 791, -6802, -2296 },
1456 { 2145, 4241, -4474, 376 },
1457 { 1813, 2426, -2932, -2726 },
1458 { -542, 4557, -3140, -1080 },
1459 { 1192, 3784, -4371, -20 },
1460 { 2784, 5188, -6399, -1394 },
1461 { 431, 4561, -3673, -1398 },
1462 { 1382, 3096, -4083, 1253 },
1463 { 1209, 4224, -2930, 1500 },
1464 { 2798, 2684, -6676, -606 },
1465 { -2396, 1510, -5381, -2713 },
1466 { -2625, 2542, -4032, -2880 },
1467 { -1231, 3967, -4098, -2886 },
1468 { -1393, 2374, -3862, -4525 },
1469 { -2495, 1665, -1637, -5445 },
1470 { -3854, 1759, -1750, -4944 },
1471 { -2373, 1668, -2856, -6251 },
1472 { -2668, 1981, -886, -4557 },
1473 { -2927, 4427, -3451, -6172 },
1474 { -1925, 2596, -4696, -2527 },
1475 { -3202, 2847, -3928, -5896 },
1476 { -3332, 1665, -5025, -3412 },
1477 { -3212, 3115, -4155, -4062 },
1478 { -1013, 3205, -5133, -3751 },
1479 { -2022, 4595, -3947, -5611 },
1480 { -3556, 1755, -3715, -2300 },
1481 { -1784, 4114, -2723, -1773 },
1482 { -3586, 4081, -2733, -4942 },
1483 { -1608, 3685, -4154, -4573 },
1484 { -3368, 4042, -4452, -6227 },
1485 { -1407, 3881, -5729, -3719 },
1486 { -2751, 3281, -5077, -4999 },
1487 { -3791, 2410, -4906, -5288 },
1488 { -730, 2303, -4217, -3755 },
1489 { -1812, 2311, -5492, -3709 },
1490 { -610, 4336, -3915, -3783 },
1491 { -2841, 4337, -4278, -4430 },
1492 { -1662, 4666, -4661, -3964 },
1493 { -589, 5209, -4923, -3682 },
1494 { -4155, 2234, -4076, -4218 },
1495 { -3951, 2770, -2665, -2805 },
1496 { -2302, 3228, -3717, -1908 },
1497 { -3129, 4373, -2264, -2851 },
1498 { -447, 1363, -3578, -4323 },
1499 { -2648, 4237, -3159, -3071 },
1500 { -4072, 3241, -3541, -4605 },
1501 { -4507, 3458, -2339, -3838 },
1502 { -1646, 997, -4926, -3970 },
1503 { -3025, 1614, -3940, -1242 },
1504 { -1337, 1756, -3163, -5529 },
1505 { -3203, 1865, -3282, -4354 },
1506 { -1646, 2118, -2203, -6018 },
1507 { 174, 1871, -2707, -4639 },
1508 { -2607, 1485, -4778, -4750 },
1509 { -2199, 3991, -3134, -4879 },
1510 { -2962, 3323, -2816, -2419 },
1511 { -5286, 2495, -4548, -5395 },
1512 { -2810, 3710, -2274, -4211 },
1513 { -330, 3006, -2993, -4678 },
1514 { -1187, 2411, -2743, -5196 },
1515 { -664, 4033, -3101, -5641 },
1516 { -1458, 3602, -2816, -5371 },
1517 { -4116, 4923, -3321, -5630 },
1518 { -4165, 2528, -2592, -4798 },
1519 { -2759, 3080, -2333, -5719 },
1520 { -5157, 3011, -5526, -6348 },
1521 { -3095, 2126, -5881, -4234 },
1522 { -4377, 3849, -3600, -6099 },
1523 { -1994, 4947, -5235, -4753 },
1524 { -1067, 600, -3258, -5133 },
1525 { -4992, 3302, -2208, -5051 },
1526 { -3377, 2981, -1655, -4815 },
1527 { -3325, 2446, -1787, -6116 },
1528 { -2341, 2737, -3240, -6347 },
1529 { -2258, -3732, 3710, -1235 },
1530 { -1558, -3849, 2694, -3012 },
1531 { -599, -4837, 3050, -2951 },
1532 { -2246, -5433, 2798, -1910 },
1533 { -2255, -4989, 3260, 270 },
1534 { -3026, -5353, 2693, -1036 },
1535 { -1151, -6097, 1097, -3782 },
1536 { -3391, -6012, 2130, -1303 },
1537 { -2850, -4422, 3375, -480 },
1538 { -1138, -3779, 1491, -4162 },
1539 { -551, -3892, 3787, -2082 },
1540 { -3221, -3676, 3144, -1202 },
1541 { -3023, -5196, 2650, 605 },
1542 { -1756, -5729, 2646, 321 },
1543 { -2693, -4409, 494, -4797 },
1544 { -1913, -4573, 3372, -1730 },
1545 { -1277, -3604, 4061, -993 },
1546 { -420, -4993, 1351, -4796 },
1547 { -3052, -5333, 1435, -1242 },
1548 { -602, -5034, 3869, -1141 },
1549 { -2436, -4680, 1665, -3019 },
1550 { -2657, -3658, 1459, -3391 },
1551 { -1220, -6246, 2749, -525 },
1552 { -3838, -4844, 2265, -1735 },
1553 { -1247, -5679, 3356, -1417 },
1554 { -917, -5448, 3342, 105 },
1555 { -1756, -6839, 2276, -2350 },
1556 { -412, -5206, 1764, -3539 },
1557 { -1439, -6915, 1442, -3750 },
1558 { -1381, -4439, 3863, -282 },
1559 { -3482, -4953, 2726, -336 },
1560 { -1376, -5931, 1714, -1987 },
1561 { -1716, -4405, 2608, 105 },
1562 { -1590, -5191, 2652, -2704 },
1563 { -2149, -6442, 2453, -1263 },
1564 { -3426, -3832, 2334, -1829 },
1565 { -2747, -5948, 2362, -173 },
1566 { -2435, -3267, 2966, -1710 },
1567 { -3979, -4282, 2705, -775 },
1568 { -356, -4238, 2544, -4343 },
1569 { -1363, -6471, 2817, -1836 },
1570 { -2878, -5117, 218, -3149 },
1571 { -3539, -5196, 1710, -2356 },
1572 { -2888, -4537, 2746, -1701 },
1573 { -1870, -4439, 1496, -4121 },
1574 { -1486, -3388, 3349, -2145 },
1575 { -3333, -4138, 1467, -2876 },
1576 { -345, -5340, 1012, -1190 },
1577 { -1672, -4992, 2289, -1029 },
1578 { -2146, -5528, 3038, -635 },
1579 { -316, -3656, 3426, -3152 },
1580 { -2695, -5812, 2336, -2050 },
1581 { -2067, -6052, 737, -3258 },
1582 { -2664, -4205, -350, -1266 },
1583 { -617, -5406, 80, -4853 },
1584 { -2418, -3825, 1853, -1326 },
1585 { -1961, -4339, 583, -4315 },
1586 { -1495, -5141, -133, -5205 },
1587 { -3208, -6440, 1691, -2069 },
1588 { -2632, -3633, 2325, -2761 },
1589 { -2624, -5670, 1252, -3676 },
1590 { -3687, -5608, 687, -2833 },
1591 { -3320, -5707, 16, -3877 },
1592 { -2738, -6112, 84, -5135 },
1593 { 2277, -5661, 3076, 843 },
1594 { 1555, -5769, 2821, -5236 },
1595 { 536, -6381, 603, -4910 },
1596 { 734, -4609, 3314, -4092 },
1597 { 1836, -4547, 3267, -4322 },
1598 { -13, -5976, 3752, -1607 },
1599 { 1423, -6318, 2336, 398 },
1600 { 365, -7779, 1498, -534 },
1601 { 2104, -8366, 2946, -1345 },
1602 { 143, -5545, 1898, -3756 },
1603 { 655, -6852, 1430, 148 },
1604 { 4, -6653, 2397, -59 },
1605 { 2346, -5996, 4562, -934 },
1606 { 1229, -7104, 2963, -598 },
1607 { -528, -7048, 2887, -1790 },
1608 { 1451, -6857, 3900, -1637 },
1609 { 554, -6018, 3336, 9 },
1610 { 3278, -5758, 4034, 129 },
1611 { 3541, -7145, 4905, -1575 },
1612 { 2339, -6907, 3464, -301 },
1613 { 2775, -7301, 1667, -3894 },
1614 { 539, -7887, 991, -4156 },
1615 { 2115, -7421, 3131, -3075 },
1616 { 2803, -8546, 2564, -5836 },
1617 { 2869, -5833, 1620, -4561 },
1618 { 2591, -7281, 3215, -4719 },
1619 { -1228, -8477, 706, -4782 },
1620 { 1967, -5243, 4813, -1940 },
1621 { 701, -7010, 2273, -3893 },
1622 { 915, -8470, 1918, -5620 },
1623 { -94, -6715, 156, -3873 },
1624 { 1074, -5607, 4389, -1017 },
1625 { 2739, -6551, 1227, -3521 },
1626 { 725, -7835, 2701, -1291 },
1627 { -493, -7475, 2263, -1075 },
1628 { -412, -6508, 2984, -744 },
1629 { 665, -5451, 3725, -2692 },
1630 { 1499, -8129, 3564, -2072 },
1631 { 2870, -6333, 4487, -2108 },
1632 { 706, -5007, 3911, -152 },
1633 { -482, -8660, 1483, -2900 },
1634 { 2481, -6596, 2518, -1715 },
1635 { 1403, -6414, 1398, -5387 },
1636 { 652, -6267, 583, -5942 },
1637 { 694, -7540, 646, -6272 },
1638 { 2275, -7614, 256, -5015 },
1639 { 1416, -9727, 1900, -3153 },
1640 { 2760, -6433, 3875, -3771 },
1641 { 2325, -11196, 2182, -5155 },
1642 { 1223, -11061, 1377, -5097 },
1643 { 108, -10603, 307, -4952 },
1644 { -118, -8268, 1650, -1572 },
1645 { 1839, -7943, 1755, -612 },
1646 { 2501, -9056, 981, -2969 },
1647 { 2902, -8476, 1491, -5780 },
1648 { 1995, -11175, 1585, -3643 },
1649 { 696, -8212, 828, -2474 },
1650 { 1526, -8649, 1380, -1210 },
1651 { 461, -7253, 3222, -2229 },
1652 { 2966, -8641, 4121, -3271 },
1653 { 833, -6039, 2361, -1086 },
1654 { 3565, -7312, 1980, -5427 },
1655 { 2850, -8671, 3760, -1846 },
1656 { 2643, -7281, 2163, -173 },
1657 { 3463, -3706, -3132, -923 },
1658 { 1315, -3825, -3443, 2 },
1659 { 2594, -4083, -3815, 670 },
1660 { 1826, -4291, -2741, -155 },
1661 { 868, -3749, -4175, -298 },
1662 { 2008, -4237, -3897, -517 },
1663 { 1242, -3493, -4335, -1335 },
1664 { -88, -4142, -3390, -1529 },
1665 { 2176, -3488, -3822, -975 },
1666 { 1706, -5188, -3415, -637 },
1667 { 2717, -6159, -2333, -882 },
1668 { 1276, -3978, -4361, 537 },
1669 { 2471, -5556, -2866, -208 },
1670 { 799, -4673, -4086, 56 },
1671 { 1901, -4786, -3533, 270 },
1672 { 3036, -3902, -3606, -333 },
1673 { 2249, -3317, -4319, -144 },
1674 { 2594, -4207, -2105, -2930 },
1675 { 4008, -4774, -2626, -902 },
1676 { 1038, -3659, -3496, -2454 },
1677 { 2725, -3597, -3298, -1535 },
1678 { 1662, -5803, -2813, 175 },
1679 { 705, -3757, -3441, -1484 },
1680 { 1860, -5987, -2821, -886 },
1681 { 3786, -4918, -2199, -1929 },
1682 { 3683, -4235, -2547, -1287 },
1683 { 2531, -4896, -2956, -1593 },
1684 { 1005, -5585, -3324, -180 },
1685 { 1625, -5229, -1756, -3642 },
1686 { 1494, -5041, -2989, -2685 },
1687 { 2718, -4655, -3224, -867 },
1688 { 2374, -6640, -1745, -2975 },
1689 { 2133, -6436, -2477, -1499 },
1690 { 1833, -4418, -3523, -1512 },
1691 { 1128, -4910, -2658, -1106 },
1692 { 689, -4777, -2831, -2085 },
1693 { 3593, -5280, -2627, -315 },
1694 { 3264, -3771, -2673, -1861 },
1695 { 3202, -5602, -2409, 402 },
1696 { 552, -4618, -2221, -3002 },
1697 { 3095, -5356, -2666, -1083 },
1698 { 3401, -4609, -3146, 45 },
1699 { 3051, -4662, -2192, -2232 },
1700 { 2798, -5552, -2462, -1941 },
1701 { 2354, -5815, -2223, -2619 },
1702 { 192, -3708, -2807, -2658 },
1703 { 1886, -4226, -1862, -3529 },
1704 { 2526, -3976, -2819, -2332 },
1705 { 1577, -3870, -2711, -2806 },
1706 { 1288, -5588, -3382, -1403 },
1707 { 2711, -5399, -1564, -3253 },
1708 { 1459, -5492, -2222, -322 },
1709 { 2823, -5091, -2886, 776 },
1710 { 3559, -5821, -2109, -1360 },
1711 { 1587, -6331, -2760, -1909 },
1712 { 2139, -5213, -2874, -2120 },
1713 { 1318, -4337, -3695, -2098 },
1714 { 821, -4471, -1849, -565 },
1715 { 3329, -4782, -1725, -89 },
1716 { 582, -4914, -4105, -1119 },
1717 { 417, -4144, -4072, -2529 },
1718 { -199, -3803, -2765, -4042 },
1719 { 2731, -4283, -2143, 1 },
1720 { 2911, -6187, -1951, -2116 },
1721 { 1573, -6094, -493, -2838 },
1722 { 2081, -6927, -864, -3211 },
1723 { 1058, -7826, 79, -364 },
1724 { 3147, -5570, -684, -978 },
1725 { 3572, -5856, 1060, 1824 },
1726 { 1143, -6702, -1478, 338 },
1727 { 2341, -7220, -88, 260 },
1728 { 3639, -6861, 668, 815 },
1729 { 2227, -6268, -1706, 446 },
1730 { 3390, -6082, -353, 1302 },
1731 { 1123, -7556, -1237, -430 },
1732 { 1729, -7742, 729, -218 },
1733 { 1457, -6774, 587, 579 },
1734 { 505, -6919, -569, 371 },
1735 { 1106, -7245, 78, 158 },
1736 { 2755, -6745, -1122, 338 },
1737 { 3069, -6040, -1415, 986 },
1738 { 2174, -7064, -1430, -283 },
1739 { 1390, -8626, -446, -3031 },
1740 { 3534, -6890, -431, 547 },
1741 { 2267, -9618, 475, -2994 },
1742 { 3672, -7673, 75, -115 },
1743 { 2131, -7560, -1206, -750 },
1744 { 2972, -7477, -685, -262 },
1745 { 1604, -6637, -672, 699 },
1746 { 1666, -7577, -577, -240 },
1747 { 1591, -6554, -2158, -94 },
1748 { 2348, -6286, -353, 1123 },
1749 { 2017, -8810, -412, -1805 },
1750 { 2892, -6713, -1765, -554 },
1751 { 2500, -6828, -1995, -1197 },
1752 { 3877, -6639, -224, -1655 },
1753 { 2392, -7872, -91, -333 },
1754 { 3562, -7370, -532, -2836 },
1755 { 2552, -7614, 164, -1805 },
1756 { 990, -6104, 218, 438 },
1757 { 910, -7861, 312, -1195 },
1758 { 1472, -6327, 372, -640 },
1759 { 1576, -7143, -1983, -843 },
1760 { 422, -7625, -457, -278 },
1761 { 1797, -8532, 405, -1011 },
1762 { 1088, -7396, -238, -2277 },
1763 { 3209, -6753, -1431, -2072 },
1764 { 2617, -6839, 100, -2573 },
1765 { 2575, -8573, -387, -3188 },
1766 { 3618, -6971, -1190, -321 },
1767 { 2205, -7361, -1695, -2008 },
1768 { 2985, -6297, 1464, 1179 },
1769 { 2804, -7310, 1053, 338 },
1770 { 1362, -6074, -1163, -840 },
1771 { 3336, -6325, -1794, 21 },
1772 { 2836, -8109, 818, -329 },
1773 { 2791, -5879, 560, 1546 },
1774 { 2392, -6064, 135, 100 },
1775 { 1838, -6194, 596, 1085 },
1776 { 1926, -7515, -414, -4901 },
1777 { 3225, -7298, -1202, -1189 },
1778 { 3960, -7558, -659, -719 },
1779 { 3442, -6647, -1692, -1095 },
1780 { 3381, -6441, 262, -886 },
1781 { 1431, -8150, -1186, -1406 },
1782 { 340, -8498, -150, -899 },
1783 { 3004, -8149, -260, -953 },
1784 { 2749, -6611, 563, 873 },
1785 { -6647, -1325, -4517, -4691 },
1786 { -6005, -1657, -4089, -3797 },
1787 { -3157, 588, -5213, -3068 },
1788 { -3311, -1425, -6329, -3726 },
1789 { -5866, -819, -3857, -2744 },
1790 { -5001, -1799, -1075, -4621 },
1791 { -5330, -2650, -2672, -4664 },
1792 { -4930, -539, -2363, -4010 },
1793 { -2984, 10, -3863, -5749 },
1794 { -1055, -2106, -3713, -4267 },
1795 { -5476, -502, -4279, -6504 },
1796 { -5231, -1543, -5018, -6425 },
1797 { -5134, -363, -3165, -5109 },
1798 { -3953, -771, -4107, -6393 },
1799 { -2159, -563, -3652, -5342 },
1800 { -3888, -2321, -919, -5057 },
1801 { -1236, -597, -4235, -4193 },
1802 { -4053, 675, -3083, -6174 },
1803 { -2793, -1089, -5396, -3460 },
1804 { -3000, -44, -2209, -6575 },
1805 { -3336, -1531, -4313, -5160 },
1806 { -2127, 128, -4851, -3692 },
1807 { -3321, 136, -2067, -5660 },
1808 { -5215, 1404, -4374, -4356 },
1809 { -2747, 400, -6340, -3691 },
1810 { -3926, -599, -5361, -5006 },
1811 { -2875, -2592, -5143, -4092 },
1812 { -4991, -1958, -5322, -4891 },
1813 { -4965, -1318, -6652, -5333 },
1814 { -4920, -1691, -3388, -5561 },
1815 { -3644, -3354, -2688, -5982 },
1816 { -5076, -919, -4563, -2984 },
1817 { -6114, 250, -3884, -3915 },
1818 { -4014, 744, -3973, -1924 },
1819 { -5543, -1041, -5557, -3847 },
1820 { -4711, -1352, -5649, -2603 },
1821 { -3362, 775, -5305, -4879 },
1822 { -5001, 107, -3554, -2888 },
1823 { -6258, -1651, -6356, -6566 },
1824 { -4529, 407, -5003, -3865 },
1825 { -5154, 550, -5278, -5465 },
1826 { -4195, -467, -1894, -3129 },
1827 { -5022, 1127, -3349, -3314 },
1828 { -6075, 1250, -4313, -5641 },
1829 { -2677, -2283, -2312, -5903 },
1830 { -4113, 193, -1195, -4833 },
1831 { -3940, -1048, -1389, -5079 },
1832 { -3703, 917, -4043, -4451 },
1833 { -3366, -4231, -1534, -5488 },
1834 { -3326, -3583, -2091, -4903 },
1835 { -5144, 1254, -2532, -4949 },
1836 { -5982, -870, -2545, -4555 },
1837 { -3925, -157, -5367, -2281 },
1838 { -6419, -746, -5668, -4371 },
1839 { -5787, 518, -7096, -5805 },
1840 { -4258, 954, -6453, -4321 },
1841 { -4771, -695, -4158, -1639 },
1842 { -7078, -760, -5195, -5877 },
1843 { -7348, 83, -4101, -4586 },
1844 { -2430, 184, -2874, -1679 },
1845 { -2284, -3943, -2924, -5034 },
1846 { -1804, -1785, -3002, -4710 },
1847 { -4399, -2772, -1815, -4637 },
1848 { -6340, -2626, -2824, -5191 },
1849 { -4998, -5168, -3480, 1905 },
1850 { -3958, -5492, -1599, 1579 },
1851 { -2471, -3755, -276, 3182 },
1852 { -3033, -5779, -1063, 1554 },
1853 { -2936, -4829, -1290, 2386 },
1854 { -1835, -5073, -3051, 1299 },
1855 { -1724, -3771, -3935, 2324 },
1856 { -5070, -2550, -3692, 768 },
1857 { -4326, -5333, -297, 1878 },
1858 { -3472, -5619, -3094, 992 },
1859 { -3027, -4384, -3038, 2265 },
1860 { -3201, -5332, 67, 2200 },
1861 { -1681, -4373, -1947, 2461 },
1862 { -3221, -3329, -4238, 2564 },
1863 { -1262, -2968, -2915, 3227 },
1864 { -3419, -1878, -3373, 2110 },
1865 { -2244, -5583, -2012, 1288 },
1866 { -1971, -5266, -990, 1812 },
1867 { -2975, -2778, -452, 4063 },
1868 { -2198, -1165, -3298, 2965 },
1869 { -4782, -4894, -4767, 664 },
1870 { -6002, -3950, -2806, 2025 },
1871 { -3142, -3162, -2859, 3295 },
1872 { -3262, -3340, -4123, 1596 },
1873 { -4014, -3918, -1955, 3361 },
1874 { -1700, -3463, -1346, 3449 },
1875 { -4245, -4445, -4743, 1644 },
1876 { -4180, -3969, -401, 3281 },
1877 { -2782, -5240, -4117, 1156 },
1878 { -5744, -4040, -1439, 3470 },
1879 { -5063, -4663, -323, 3172 },
1880 { -4531, -3319, -844, 3988 },
1881 { -6226, -5125, -2064, 2976 },
1882 { -3115, -3267, -1531, 3898 },
1883 { -4628, -4421, -2864, 2808 },
1884 { -4559, -2989, -3442, 2024 },
1885 { -1775, -4487, -656, 2477 },
1886 { -2664, -1865, -1884, 4081 },
1887 { -1828, -2575, -3894, 3378 },
1888 { -6441, -3677, -2025, 1677 },
1889 { -4141, -2156, -1191, 3474 },
1890 { -4802, -1623, -1727, 2160 },
1891 { -5474, -2745, -1475, 2498 },
1892 { -3664, -1056, -1975, 2491 },
1893 { -4672, -3062, -2235, 2933 },
1894 { -4205, -5960, -2849, 1517 },
1895 { -4995, -5708, -1739, 1805 },
1896 { -4892, -6080, -4793, 872 },
1897 { -4270, -4172, -4263, 2185 },
1898 { -4687, -1470, -2905, 1023 },
1899 { -6446, -5017, -3919, 1000 },
1900 { -6046, -5538, -3943, 2006 },
1901 { -6028, -3750, -3953, 771 },
1902 { -5959, -4582, -5024, 824 },
1903 { -5818, -2576, -2249, 1326 },
1904 { -5659, -5345, -1119, 2500 },
1905 { -3346, -4155, 606, 2749 },
1906 { -5680, -4827, -2501, 1838 },
1907 { -6193, -2543, -1295, 840 },
1908 { -6871, -4925, -3512, 1801 },
1909 { -5605, -1788, -1895, 779 },
1910 { -3922, -5712, -4644, 510 },
1911 { -4745, -3869, -4533, 99 },
1912 { -2984, -4907, -399, 1497 },
1913 { 1847, -478, 3061, -5812 },
1914 { 4450, -1116, 3609, -6570 },
1915 { 3139, 99, 3007, -5532 },
1916 { 2590, -3782, 3138, -4770 },
1917 { 1881, 1204, 5778, -3404 },
1918 { 3631, 2060, 5566, -5038 },
1919 { 3461, 1961, 5167, -3800 },
1920 { 2947, 273, 4536, -4389 },
1921 { 4453, -1730, 5788, -4370 },
1922 { 4032, 1805, 2666, -4534 },
1923 { 3487, -944, 2313, -6028 },
1924 { 1313, 34, 4210, -4067 },
1925 { 5632, -1502, 5825, -5855 },
1926 { 7736, -547, 4879, -5476 },
1927 { 4906, -1512, 4760, -5760 },
1928 { 3843, 447, 1091, -4958 },
1929 { 2982, -1135, 5442, -4386 },
1930 { 3579, 271, 3031, -6770 },
1931 { 3932, -211, 4688, -5507 },
1932 { 4411, 1720, 2387, -5584 },
1933 { 5379, -479, 4575, -6280 },
1934 { 3613, -362, 2012, -4885 },
1935 { 3744, -2013, 4493, -5073 },
1936 { 5693, 109, 4379, -3362 },
1937 { 5475, -621, 5317, -3985 },
1938 { 6411, -673, 5708, -4752 },
1939 { 4933, -796, 7262, -4290 },
1940 { 2804, 444, 6276, -3655 },
1941 { 4120, -517, 6078, -4531 },
1942 { 5119, 841, 3486, -3910 },
1943 { 4738, 1539, 3525, -2970 },
1944 { 5086, 370, 5895, -5640 },
1945 { 4235, 2716, 4589, -5044 },
1946 { 3691, 682, 6199, -4700 },
1947 { 6111, -570, 6271, -6528 },
1948 { 2611, 1277, 3756, -4802 },
1949 { 4395, 970, 3807, -5879 },
1950 { 5225, 2299, 3242, -4333 },
1951 { 5144, 1778, 4946, -5545 },
1952 { 2989, -3016, 3247, -5495 },
1953 { 2983, 920, 2071, -6059 },
1954 { 5270, -903, 4434, -2350 },
1955 { 6415, -585, 3970, -3554 },
1956 { 3866, -197, 5216, -2884 },
1957 { 3767, -1298, 6702, -3315 },
1958 { 6299, 2620, 5284, -6824 },
1959 { 6654, 646, 3653, -4927 },
1960 { 4770, 3047, 5160, -6287 },
1961 { 5364, 434, 2919, -5207 },
1962 { 2998, 1344, 4801, -2456 },
1963 { 3896, 1013, 3773, -1864 },
1964 { 2115, 655, 2999, -6344 },
1965 { 5170, -981, 2849, -4464 },
1966 { 2735, -2159, 2717, -5776 },
1967 { 2430, -1952, 4392, -4559 },
1968 { 6143, -1180, 3659, -4746 },
1969 { 4978, -1483, 1726, -4875 },
1970 { 3486, -2383, 3306, -4301 },
1971 { 1434, -1372, 4171, -4770 },
1972 { 3354, -2627, 1525, -5093 },
1973 { 6790, 2386, 3995, -5909 },
1974 { 1475, -2674, 3451, -4204 },
1975 { 1999, -3494, 3693, -5556 },
1976 { 4764, -2848, 2856, -5589 },
1977 { -3677, 5131, 2827, -2934 },
1978 { -2844, 7078, 2852, -3580 },
1979 { -3902, 6434, 4118, -1911 },
1980 { -1769, 7530, 3492, -3541 },
1981 { -1937, 5679, -447, -1127 },
1982 { -2456, 4680, 4196, -2407 },
1983 { -2778, 8241, 1698, -4288 },
1984 { -2876, 6104, 5182, -2387 },
1985 { -2802, 7341, 4463, -2938 },
1986 { -1025, 6267, 4752, -3201 },
1987 { -2349, 5413, 2041, -3794 },
1988 { -2252, 8225, 2856, -4269 },
1989 { -1465, 4967, 4976, -2500 },
1990 { -636, 7565, 3517, -4233 },
1991 { -1905, 5618, 3904, -2942 },
1992 { -302, 6816, 3343, -3316 },
1993 { -2210, 4156, 2817, -3511 },
1994 { -717, 6568, 1863, -2951 },
1995 { -3873, 5682, 2164, -575 },
1996 { -2878, 5835, 440, -2597 },
1997 { -3228, 7701, 2610, -2514 },
1998 { -3608, 8888, 3377, -2468 },
1999 { -2582, 9717, 2519, -3126 },
2000 { -5238, 6202, 2866, -2831 },
2001 { -3428, 7370, 3056, -335 },
2002 { -1681, 8836, 1210, -2010 },
2003 { -3276, 6724, 1156, -3930 },
2004 { -894, 8149, 827, -1258 },
2005 { -2965, 8631, 2549, -1320 },
2006 { -3961, 6902, 3581, 55 },
2007 { -1894, 7745, 1750, -841 },
2008 { -821, 6844, 850, -676 },
2009 { -608, 6948, -4, -1376 },
2010 { 615, 6524, 1089, -1147 },
2011 { -2972, 5668, 1091, -489 },
2012 { -157, 4649, 2904, -413 },
2013 { 673, 5121, 1498, -66 },
2014 { -390, 5902, 1611, -245 },
2015 { -2349, 5478, 4772, -1320 },
2016 { 88, 6798, 1972, -1859 },
2017 { -1213, 5120, 2991, 200 },
2018 { -2347, 6040, 2839, 376 },
2019 { -578, 5976, 3364, -1796 },
2020 { -1391, 5872, 3002, -965 },
2021 { -564, 4496, 3946, -1186 },
2022 { -2299, 6386, 3135, -2176 },
2023 { -2131, 5641, 2011, 1223 },
2024 { -772, 5807, 1124, 895 },
2025 { -2837, 6758, 2297, -740 },
2026 { -3091, 6298, 1415, -2126 },
2027 { -4197, 6036, 1843, -3022 },
2028 { -41, 6459, 92, 344 },
2029 { -2241, 6860, 2095, -4396 },
2030 { -1931, 7088, 2117, -2135 },
2031 { -2375, 4422, 1688, -3169 },
2032 { -1742, 6674, 1538, -119 },
2033 { -4818, 7749, 4192, -1577 },
2034 { -2004, 5672, 193, -430 },
2035 { -3825, 6042, 2128, -1898 },
2036 { -1108, 8033, 2119, -3013 },
2037 { -2370, 5453, 1721, 266 },
2038 { -1570, 7134, 614, -2638 },
2039 { -1519, 8752, 3503, -4330 },
2040 { -2050, 3845, 2907, -1126 },
2041 { 5085, 4412, -335, -1923 },
2042 { 3618, 1423, -613, -4012 },
2043 { 4481, 3729, 589, -4631 },
2044 { 4270, 3216, -1763, -3168 },
2045 { 4241, 1796, -1701, -2796 },
2046 { 4787, 2338, -487, -3639 },
2047 { 2915, 3429, -621, -4753 },
2048 { 5175, 1660, -1265, -3223 },
2049 { 4280, 4057, -684, -4079 },
2050 { 4980, 4419, -1455, -2719 },
2051 { 5436, 2464, 387, -4197 },
2052 { 4507, 4018, 1121, -3314 },
2053 { 6020, 2401, -413, -3201 },
2054 { 4200, 3789, -333, -2813 },
2055 { 5229, 2493, -1194, -1878 },
2056 { 5851, 2695, -492, -2292 },
2057 { 5743, 3288, -697, -1221 },
2058 { 5692, 2612, 979, -2227 },
2059 { 5085, 2067, 1046, -1214 },
2060 { 3163, 2240, -2098, -3435 },
2061 { 5228, 1898, 145, -2397 },
2062 { 5860, 3976, -418, -2872 },
2063 { 6008, 3399, 1027, -3506 },
2064 { 4126, 2035, 1865, -893 },
2065 { 5375, 3596, 511, -2362 },
2066 { 1937, 1493, -852, -122 },
2067 { 3473, 4849, 547, -2603 },
2068 { 4631, 2977, 1141, -1768 },
2069 { 6149, 3050, -71, -1886 },
2070 { 4069, 4353, -289, -1429 },
2071 { 2884, 1225, -1388, 365 },
2072 { 5485, 2518, -235, -571 },
2073 { 1216, 4375, 1443, 398 },
2074 { 4988, 3106, 107, -1435 },
2075 { 4511, 2801, 307, -444 },
2076 { 3235, 4386, 327, -676 },
2077 { 2055, 3708, 1657, -305 },
2078 { 5839, 2374, 290, -1385 },
2079 { 5110, 3305, 1936, -4206 },
2080 { 6416, 2920, 338, -2736 },
2081 { 3350, 2824, -1269, -3881 },
2082 { 4840, 1815, 464, 186 },
2083 { 2399, 3332, 238, 1238 },
2084 { 3516, 1363, 1582, 688 },
2085 { 3582, 1874, 154, -4770 },
2086 { 3261, 2878, 886, 283 },
2087 { 3877, 2658, -327, 884 },
2088 { 4151, 3436, 2173, -2923 },
2089 { 3592, 3674, 1281, -1295 },
2090 { 4561, 3730, -1114, -1747 },
2091 { 4595, 3625, -558, -575 },
2092 { 2577, 2348, 2267, 120 },
2093 { 5242, 3299, 32, -3412 },
2094 { 4264, 3637, 709, -2320 },
2095 { 6556, 3570, -838, -2472 },
2096 { 5745, 4014, -940, -1973 },
2097 { 5629, 4475, 477, -3328 },
2098 { 5269, 3199, 1682, -3085 },
2099 { 4432, 2416, 1145, -3299 },
2100 { 4465, 2505, 2162, -2186 },
2101 { 4643, 4941, -88, -2885 },
2102 { 4568, 5231, 552, -3915 },
2103 { 5667, 3075, -1406, -2963 },
2104 { 5418, 5259, -771, -2818 },
2105 { -256, -7875, 511, -471 },
2106 { -1813, -7971, -424, -396 },
2107 { -306, -7006, 862, 282 },
2108 { -2306, -6422, -1440, 508 },
2109 { -245, -6787, 375, -100 },
2110 { -1309, -6065, -20, 779 },
2111 { -1656, -6047, -641, 1307 },
2112 { -1496, -6522, 964, 726 },
2113 { -2291, -6588, -202, 795 },
2114 { -762, -7522, 1454, -558 },
2115 { -2270, -7004, -834, -580 },
2116 { -1139, -7078, 259, 362 },
2117 { -2535, -7568, -1040, 49 },
2118 { -3786, -7280, 934, -476 },
2119 { -3336, -6368, 606, 1056 },
2120 { -3602, -6924, 52, 714 },
2121 { -2278, -6550, 1674, 204 },
2122 { -2855, -5765, 930, 1530 },
2123 { -2889, -7325, -215, 305 },
2124 { -2749, -6080, -237, 1452 },
2125 { -985, -6667, 1577, 400 },
2126 { -2036, -6083, 380, 1267 },
2127 { -2077, -7460, 380, -30 },
2128 { -1775, -7175, 1540, -386 },
2129 { -3065, -6927, 989, 168 },
2130 { -2836, -7602, 117, -3392 },
2131 { -1058, -6396, 593, -3078 },
2132 { -844, -6062, 999, -236 },
2133 { -3261, -6951, 1491, -720 },
2134 { -2186, -8484, 75, -1287 },
2135 { -2882, -7756, 456, -510 },
2136 { -1800, -6879, 960, -1183 },
2137 { -2554, -7241, 1614, -1474 },
2138 { -2608, -5305, 392, 851 },
2139 { -2973, -6562, -859, 858 },
2140 { -2640, -5989, 1031, -416 },
2141 { -977, -8366, 705, -1434 },
2142 { -1213, -7409, -77, -1390 },
2143 { -1335, -6657, 2125, -123 },
2144 { -2544, -6862, 1852, -737 },
2145 { -3235, -6422, 1752, -103 },
2146 { -1300, -7557, 939, -348 },
2147 { -3476, -7579, 202, -109 },
2148 { -2482, -6572, 753, 619 },
2149 { -2554, -8136, -648, -429 },
2150 { -1012, -7870, -3, -421 },
2151 { -3604, -6247, 32, -3102 },
2152 { -1486, -7271, 2013, -1021 },
2153 { -578, -6799, -523, 405 },
2154 { -2841, -5948, 1644, 911 },
2155 { -2411, -7473, 1084, -484 },
2156 { -2238, -6033, 294, -1059 },
2157 { -3459, -6470, -201, -790 },
2158 { -2027, -6009, 1833, 805 },
2159 { -1433, -8047, 1531, -1754 },
2160 { -3258, -7884, 763, -1422 },
2161 { -1544, -6928, -729, 478 },
2162 { -2314, -8415, 74, -3757 },
2163 { -3201, -5684, 95, -2214 },
2164 { -2423, -8694, 725, -3631 },
2165 { -3545, -7071, 1162, -1798 },
2166 { -294, -9662, 403, -2274 },
2167 { -2290, -5460, 1196, 402 },
2168 { -1603, -6713, 903, -2363 },
2169 { 4121, 2491, -3142, -2482 },
2170 { 4500, 3305, -3671, -1567 },
2171 { 5973, 3172, -1348, -534 },
2172 { 4830, 3379, -1549, 643 },
2173 { 5214, 3938, -2641, -2302 },
2174 { 4639, 4826, -5532, -847 },
2175 { 5639, 2731, -2170, -963 },
2176 { 6084, 3487, -3525, -1346 },
2177 { 5971, 3154, -2190, -2316 },
2178 { 5618, 4865, -6927, 116 },
2179 { 5345, 3568, -7391, 709 },
2180 { 5429, 5078, -3811, -1524 },
2181 { 6960, 2037, -3515, -1096 },
2182 { 7092, 2531, -4557, -588 },
2183 { 6061, 4247, -5651, -478 },
2184 { 4595, 3684, -4907, -827 },
2185 { 7497, 3213, -3048, -424 },
2186 { 5996, 2137, -3098, -1745 },
2187 { 6198, 5199, -2223, -2274 },
2188 { 6888, 2851, -2768, -1675 },
2189 { 6114, 4210, -2316, -954 },
2190 { 7127, 4242, -3041, -1408 },
2191 { 6126, 3668, -1517, -1427 },
2192 { 6245, 6129, -4225, -1186 },
2193 { 6816, 3213, -2101, -964 },
2194 { 5345, 5276, -2643, -847 },
2195 { 6592, 4665, -4338, 484 },
2196 { 6746, 3751, -3443, 124 },
2197 { 5453, 1980, -2738, 2606 },
2198 { 4662, 2179, -4226, -1059 },
2199 { 5571, 3208, -3554, 174 },
2200 { 5256, 4447, -1815, -1481 },
2201 { 5400, 2570, -1210, 235 },
2202 { 7056, 2549, -2674, 318 },
2203 { 4574, 4340, -2892, -130 },
2204 { 6203, 4587, -3273, -305 },
2205 { 5103, 1925, -2715, -2137 },
2206 { 3905, 4296, -1700, 247 },
2207 { 4421, 4605, -3299, 811 },
2208 { 5671, 1273, -3870, -924 },
2209 { 5486, 1805, -4901, 133 },
2210 { 6437, 2578, -1828, -106 },
2211 { 5530, 5253, -5058, 1223 },
2212 { 4816, 2025, -1215, 1443 },
2213 { 3457, 3525, -2456, 3217 },
2214 { 3316, 2595, -1108, 2459 },
2215 { 3068, 3810, -2207, 1926 },
2216 { 6351, 5436, -6470, 600 },
2217 { 6324, 4240, -5365, 2416 },
2218 { 4851, 4774, -4075, 1878 },
2219 { 4900, 3679, -5198, 1078 },
2220 { 8347, 3633, -4565, -171 },
2221 { 5244, 5718, -3853, 173 },
2222 { 3960, 3492, -2939, 2105 },
2223 { 6070, 3473, -2351, 161 },
2224 { 8228, 3034, -3360, -901 },
2225 { 7006, 3985, -1940, -1926 },
2226 { 7123, 4681, -4301, -878 },
2227 { 5122, 4097, -1851, -449 },
2228 { 6200, 2060, -2251, 1049 },
2229 { 7106, 3844, -7209, 2625 },
2230 { 7108, 3370, -6734, 533 },
2231 { 6859, 2849, -3992, 1360 },
2232 { 5458, 2278, -3253, 1131 },
2233 { -1072, -2109, 4783, -1073 },
2234 { -319, -2604, 4257, -2418 },
2235 { 2466, 1300, 3476, -314 },
2236 { 2847, -1502, 5296, -141 },
2237 { 1667, -1273, 5559, -2725 },
2238 { 2877, -3402, 6434, 204 },
2239 { 53, -2637, 5275, -1181 },
2240 { 1091, -2215, 5803, -1549 },
2241 { 2397, -922, 4327, 1182 },
2242 { 219, -3747, 4647, -1564 },
2243 { -29, -2705, 4812, 1277 },
2244 { 1499, -2608, 5648, 1407 },
2245 { 2139, -2399, 4202, 2791 },
2246 { -426, -2064, 5528, 151 },
2247 { 2560, -2803, 6179, -2806 },
2248 { 4537, -2479, 3797, 1095 },
2249 { 888, -3357, 5341, -415 },
2250 { 4460, -1814, 5388, -1227 },
2251 { 3920, -3268, 6364, -703 },
2252 { 3343, -4698, 4410, 784 },
2253 { 309, -1897, 6306, 1223 },
2254 { 958, -3318, 4254, -3167 },
2255 { -99, 1596, 6018, -1983 },
2256 { -429, -853, 6407, 878 },
2257 { 1170, -1322, 6290, -417 },
2258 { 2288, -505, 6303, -1999 },
2259 { 3312, -1674, 6749, -2494 },
2260 { -415, -3401, 4721, -371 },
2261 { -189, -1210, 4844, -2002 },
2262 { 888, -4142, 4377, 130 },
2263 { 2469, -4381, 5398, -2492 },
2264 { 2879, -2912, 5094, -2598 },
2265 { -717, -617, 5650, -685 },
2266 { 1470, -3863, 5352, -1684 },
2267 { 3935, -96, 3823, -730 },
2268 { 3769, -430, 3168, 694 },
2269 { 2556, 385, 3539, 512 },
2270 { 77, -1415, 5111, 2655 },
2271 { 2724, -2158, 6715, -822 },
2272 { 1832, 1001, 5385, -1900 },
2273 { 900, 2198, 4464, -559 },
2274 { 441, 69, 5921, -1743 },
2275 { -1161, 738, 6732, -308 },
2276 { 257, 2035, 4091, 736 },
2277 { 1607, 1288, 4355, -23 },
2278 { -13, 1316, 4180, 1672 },
2279 { 1511, 1336, 3057, 1435 },
2280 { 2189, -3813, 4530, 939 },
2281 { 3632, -706, 2646, 1375 },
2282 { 4266, -3761, 4241, 1077 },
2283 { 3101, -427, 5273, -1202 },
2284 { 2293, 276, 4810, -313 },
2285 { 3430, -1851, 3101, 2045 },
2286 { 3453, -2979, 5142, 942 },
2287 { 1683, -3281, 4802, 2002 },
2288 { 3954, -4715, 5611, 578 },
2289 { 1272, -155, 5085, 454 },
2290 { 128, -194, 5095, 1409 },
2291 { 820, 880, 5797, -2658 },
2292 { -1095, 656, 5774, 1095 },
2293 { 813, -1669, 4320, -3251 },
2294 { -119, 518, 6372, -651 },
2295 { 2922, -4299, 6115, -877 },
2296 { 4205, -4273, 4004, 2642 },
2297 { -1211, -3892, 224, 3127 },
2298 { -34, -4371, 1321, 2318 },
2299 { 77, -6326, 1201, 828 },
2300 { 3995, -3775, 1958, 3233 },
2301 { 178, -3301, 1985, 3318 },
2302 { 2330, -3801, 1033, 3195 },
2303 { 1413, -5536, 826, 1709 },
2304 { 2468, -3499, 3653, 3631 },
2305 { 741, -4617, 1723, 2008 },
2306 { 1246, -3043, 2978, 3949 },
2307 { -343, -4308, 2258, 2189 },
2308 { -682, -4640, 454, 2272 },
2309 { 1236, -4829, 2491, 1642 },
2310 { -512, -3766, 1182, 3052 },
2311 { 119, -3939, 3712, 971 },
2312 { -1145, -4624, 1360, 2281 },
2313 { 101, -4746, 2866, 1255 },
2314 { -1500, -5455, 539, 1637 },
2315 { -969, -5909, 1414, 1128 },
2316 { -1261, -4939, -231, 2022 },
2317 { -226, -5345, 1207, 705 },
2318 { 2712, -5109, 3205, 1866 },
2319 { -476, -5913, 273, 1208 },
2320 { -2039, -4464, 624, 2545 },
2321 { -2351, -3930, 2019, 2673 },
2322 { -2675, -4849, 1522, 1990 },
2323 { -1524, -3461, 1446, 3204 },
2324 { 477, -5314, 1710, 1577 },
2325 { 656, -3729, 2346, 2511 },
2326 { 550, -5917, 1975, 1040 },
2327 { 1728, -4704, 3067, 1058 },
2328 { -9, -5247, 506, 1760 },
2329 { -574, -5135, 1675, 1672 },
2330 { 2129, -3781, 3444, 2313 },
2331 { 1144, -4439, 2214, 2529 },
2332 { 1292, -4160, 3185, 1833 },
2333 { 2445, -3262, 2534, 3227 },
2334 { 2266, -4401, 2023, 2400 },
2335 { -587, -3602, 3408, 2067 },
2336 { -885, -4951, 3228, 1174 },
2337 { -728, -2711, 2807, 3552 },
2338 { 1019, -3043, 3195, 2954 },
2339 { 1888, -4615, 1140, 2454 },
2340 { 660, -5616, 754, 800 },
2341 { -1975, -5371, 1649, 1585 },
2342 { -1544, -5436, 2422, 1081 },
2343 { -422, -5882, 2390, 750 },
2344 { 1336, -5557, 2441, 1230 },
2345 { 136, -4001, 267, 2854 },
2346 { -522, -3289, 2226, 2728 },
2347 { -971, -4580, 2471, 708 },
2348 { 704, -5306, 3300, 1001 },
2349 { 325, -3464, 3555, 2398 },
2350 { 794, -3686, 848, 3169 },
2351 { 660, -3017, 4584, 3242 },
2352 { -1486, -3978, 2170, 1644 },
2353 { -1615, -4650, 2688, 1844 },
2354 { 750, -4578, 538, 2239 },
2355 { 1668, -5849, 1455, 1031 },
2356 { 3486, -4681, 2030, 2183 },
2357 { 2642, -5429, 1696, 1761 },
2358 { 4491, -4502, 3538, 2767 },
2359 { 3545, -4528, 3514, 2982 },
2360 { 3269, -3676, 2758, 3966 },
2361 { 5572, 1146, 209, -3379 },
2362 { 7459, 1053, 593, -1896 },
2363 { 4480, 200, -310, -4259 },
2364 { 5577, -939, 242, -3992 },
2365 { 8142, 442, 1257, -3083 },
2366 { 5442, 1261, 1424, -3236 },
2367 { 6260, -183, 3125, -2532 },
2368 { 7179, 889, 1618, -2548 },
2369 { 6416, 932, 2379, -2487 },
2370 { 7094, 2560, 961, -3392 },
2371 { 7322, 463, 2732, -3735 },
2372 { 6632, 1577, 1912, -3272 },
2373 { 6312, 1349, 3028, -3460 },
2374 { 6105, 386, 1213, -977 },
2375 { 5478, 1158, 1114, -486 },
2376 { 6493, 410, 1686, -2180 },
2377 { 6378, 1881, 1333, -2240 },
2378 { 5711, 812, 1958, -1300 },
2379 { 6844, 877, 730, -1189 },
2380 { 6824, -245, 2249, -2000 },
2381 { 7515, 1521, 1251, -3058 },
2382 { 6697, 1051, 1300, -1749 },
2383 { 6476, 1425, 811, -2773 },
2384 { 7350, 465, -76, -2849 },
2385 { 6975, 2095, 567, -2492 },
2386 { 4691, 1736, 2660, -2289 },
2387 { 7837, 1456, 340, -2767 },
2388 { 7930, 507, 838, -2074 },
2389 { 6106, 1502, 766, -1110 },
2390 { 4891, -659, 835, -3954 },
2391 { 7250, 141, 1369, -1523 },
2392 { 7651, 67, 1651, -2298 },
2393 { 7364, -305, 601, -3132 },
2394 { 7179, 193, 2491, -2871 },
2395 { 6504, -272, 2167, -1322 },
2396 { 4456, 983, 2300, -421 },
2397 { 4817, 457, 1695, 371 },
2398 { 6914, 555, 850, -3159 },
2399 { 5904, 1030, 202, -1959 },
2400 { 6258, 880, 2233, -4503 },
2401 { 6029, 10, 2130, -3600 },
2402 { 6449, 985, 1129, -3963 },
2403 { 6616, -18, -111, -3285 },
2404 { 4496, 775, 817, -4276 },
2405 { 6134, 2338, 1470, -2973 },
2406 { 6911, 152, 430, -1946 },
2407 { 4053, 991, 3218, -1193 },
2408 { 5435, 1285, 3124, -2412 },
2409 { 5507, 1836, 1935, -1988 },
2410 { 5240, 689, 2189, -2670 },
2411 { 6638, 1719, 606, -1799 },
2412 { 5556, -180, 129, -2595 },
2413 { 5644, 1918, 1281, -4316 },
2414 { 6410, 1088, -282, -3117 },
2415 { 6503, 1841, 312, -3514 },
2416 { 6947, 20, 1358, -3886 },
2417 { 5464, 2109, 2398, -3194 },
2418 { 5616, -407, 2140, -498 },
2419 { 6121, 2707, 2379, -4096 },
2420 { 7303, 1846, 2266, -4095 },
2421 { 5444, 470, 2718, -1553 },
2422 { 5817, -645, 3285, -1349 },
2423 { 5625, 1427, 1103, -1991 },
2424 { 6041, -806, 1196, -2943 },
2425 { 3050, -5722, 4070, -5460 },
2426 { 3420, -4386, 4078, -5155 },
2427 { 6020, -3982, 7268, -2689 },
2428 { 7502, -4317, 7894, -3973 },
2429 { 4156, -3558, 5247, -4316 },
2430 { 4725, -4401, 7290, -1540 },
2431 { 6688, -5122, 8216, -3210 },
2432 { 9176, -6576, 9276, -4963 },
2433 { 8706, -5708, 7987, -4621 },
2434 { 7060, -3535, 6532, -3308 },
2435 { 5600, -2719, 5363, -1568 },
2436 { 4661, -2803, 6263, -4716 },
2437 { 3673, -3636, 6147, -3433 },
2438 { 5305, -2585, 6073, -2638 },
2439 { 7614, -1962, 6079, -5266 },
2440 { 6760, -3366, 7382, -4322 },
2441 { 6385, -3883, 4797, -1353 },
2442 { 8182, -5120, 4298, -4641 },
2443 { 9130, -6198, 4975, -3063 },
2444 { 7421, -5436, 5576, -3713 },
2445 { 3483, -4898, 5443, -2745 },
2446 { 4907, -5643, 6390, -4105 },
2447 { 8119, -7008, 7992, -6764 },
2448 { 6528, -6122, 6967, -5590 },
2449 { 5890, -4190, 6624, -5688 },
2450 { 6815, -7934, 7275, -5456 },
2451 { 5434, -4306, 5169, -5378 },
2452 { 4364, -6436, 5376, -2604 },
2453 { 8152, -3404, 5913, -5048 },
2454 { 7983, -4863, 4262, -2461 },
2455 { 8023, -6188, 6238, -5062 },
2456 { 6753, -3692, 3935, -3723 },
2457 { 6826, -4760, 3284, -4051 },
2458 { 7224, -7423, 4492, -3875 },
2459 { 6904, -2590, 6587, -6248 },
2460 { 6106, -1944, 7345, -5506 },
2461 { 4956, -2990, 7808, -3146 },
2462 { 6908, -6885, 5949, -1288 },
2463 { 7162, -6058, 3419, -3401 },
2464 { 7015, -7080, 6907, -3018 },
2465 { 6971, -6832, 5646, -3273 },
2466 { 8014, -5546, 5471, -1544 },
2467 { 6792, -2220, 5105, -2879 },
2468 { 8494, -3974, 4408, -3999 },
2469 { 9591, -4866, 6027, -4558 },
2470 { 5264, -5161, 6101, -738 },
2471 { 5803, -6141, 5197, -5231 },
2472 { 4657, -6822, 3232, -5189 },
2473 { 4791, -5135, 3809, -4665 },
2474 { 6108, -5103, 2379, -3873 },
2475 { 4680, -3909, 3234, -5093 },
2476 { 5802, -3853, 3795, -4984 },
2477 { 4360, -7483, 4802, -3877 },
2478 { 5429, -7517, 5911, -3717 },
2479 { 6866, -2280, 4880, -4634 },
2480 { 10131, -4628, 4414, -4092 },
2481 { 10811, -5189, 7746, -5337 },
2482 { 5663, -8941, 5287, -5680 },
2483 { 8023, -5991, 7403, -2796 },
2484 { 9669, -6919, 6525, -4932 },
2485 { 7275, -3796, 4962, -2547 },
2486 { 8848, -4806, 5677, -3080 },
2487 { 8128, -4308, 7749, -6569 },
2488 { 4032, -5196, 2282, -6239 },
2489 { 6593, 700, -229, 304 },
2490 { 8260, 539, -66, -1259 },
2491 { 6605, 176, -814, -109 },
2492 { 8057, 0, -1, -136 },
2493 { 7382, -38, -484, -1129 },
2494 { 8373, -929, 682, -454 },
2495 { 7674, 690, -1278, 546 },
2496 { 7326, -517, 406, -1283 },
2497 { 7612, -1715, -1167, 1175 },
2498 { 8590, 441, -782, -710 },
2499 { 8572, -1202, -291, 260 },
2500 { 7308, -147, -1785, 414 },
2501 { 6787, -353, -672, 934 },
2502 { 5177, -133, 179, 82 },
2503 { 4161, -34, 447, 1497 },
2504 { 5997, -902, 1533, -121 },
2505 { 5727, -871, -1370, 945 },
2506 { 8386, -252, 293, -823 },
2507 { 6573, -1354, 682, 616 },
2508 { 7650, -2096, 725, 457 },
2509 { 8122, 78, 636, -1400 },
2510 { 8421, 428, -1620, 131 },
2511 { 7341, -1292, -717, 186 },
2512 { 7998, -49, -720, 266 },
2513 { 5987, -351, 669, 844 },
2514 { 7314, -1620, 250, -603 },
2515 { 7219, -1562, -572, 1994 },
2516 { 8682, -358, -290, -388 },
2517 { 5810, 155, -178, 1199 },
2518 { 7246, -12, 1042, -786 },
2519 { 7357, -923, 1468, -475 },
2520 { 7801, 621, -212, -724 },
2521 { 5346, -514, 1210, 1356 },
2522 { 8459, 36, -127, -779 },
2523 { 6878, -2429, 854, 1750 },
2524 { 7280, -1401, -1353, 2845 },
2525 { 7579, -2148, -1463, 2087 },
2526 { 6637, 946, -872, 750 },
2527 { 4807, -1100, 1289, 2602 },
2528 { 4495, 219, 1551, 1128 },
2529 { 7639, 506, 446, -1107 },
2530 { 6359, 188, 1009, -115 },
2531 { 6641, -1820, 1655, 723 },
2532 { 5394, -2382, 1604, 2542 },
2533 { 6021, -2644, 2396, 1407 },
2534 { 4698, 882, 245, 1525 },
2535 { 8103, 573, -798, -349 },
2536 { 8045, -519, 997, -1092 },
2537 { 7571, -122, 227, -338 },
2538 { 5347, -1200, 630, 1718 },
2539 { 7070, 790, 218, -544 },
2540 { 7440, 728, -527, -20 },
2541 { 6402, -355, 197, -736 },
2542 { 4031, 771, 866, 1895 },
2543 { 6009, 896, 445, -31 },
2544 { 5160, 1098, -856, 1784 },
2545 { 7980, -886, -1293, 1396 },
2546 { 6318, -1361, 2423, 252 },
2547 { 7547, -699, 133, 506 },
2548 { 8562, -2344, 940, 264 },
2549 { 5890, 1187, -1425, 2194 },
2550 { 6558, -645, -1311, 2621 },
2551 { 4634, -1671, 2075, 1623 },
2552 { 5614, 105, -816, 2376 },
2553 { 6646, 1558, -1365, 630 },
2554 { 6998, 1150, -2117, -990 },
2555 { 6555, 2311, -1093, -1783 },
2556 { 6682, 1430, -2391, -1940 },
2557 { 7861, 1555, -2977, -1188 },
2558 { 6745, 1723, -459, -2085 },
2559 { 7504, 1229, -1666, -2060 },
2560 { 7937, 671, -2128, -1529 },
2561 { 7139, 991, -735, -2632 },
2562 { 6867, 1592, -1303, -2324 },
2563 { 6401, 2230, -1732, -2508 },
2564 { 7201, 2184, -2169, -1988 },
2565 { 6636, 2190, -995, -2840 },
2566 { 7620, 2306, -2089, -651 },
2567 { 7584, 1875, -1438, -631 },
2568 { 9214, 1561, -2464, -1139 },
2569 { 6154, 1318, -1237, -2917 },
2570 { 7917, 2847, -1797, -1599 },
2571 { 8309, 2029, -2555, -465 },
2572 { 8204, 1282, -584, -2405 },
2573 { 8440, 1035, -1147, -1137 },
2574 { 7107, 1858, -60, -1568 },
2575 { 6781, 2912, -873, -1463 },
2576 { 7603, 1316, -319, -1249 },
2577 { 7833, 1335, -78, -1849 },
2578 { 7930, 1141, -1016, -695 },
2579 { 7883, 1610, -1017, -1314 },
2580 { 8069, 1409, -1811, -196 },
2581 { 8319, 1031, -582, -1590 },
2582 { 5948, 1537, -2153, -2373 },
2583 { 8684, 1171, -1871, -850 },
2584 { 8357, 2484, -2411, -1292 },
2585 { 6516, 2092, -193, -1167 },
2586 { 6112, 1697, 22, -525 },
2587 { 7161, 703, -602, -1879 },
2588 { 6047, 2351, -807, -219 },
2589 { 8072, 1854, -1817, -1553 },
2590 { 6956, 1304, 76, -1011 },
2591 { 6607, 1481, -544, -162 },
2592 { 6958, 2541, -265, -1938 },
2593 { 6416, 2514, -777, -850 },
2594 { 7272, 2110, -899, -1171 },
2595 { 7741, 2153, -283, -2614 },
2596 { 6482, 2041, -1758, -1221 },
2597 { 6762, 940, -1862, -2281 },
2598 { 5610, 1194, -1691, -1561 },
2599 { 7833, 2164, -823, -1952 },
2600 { 5460, 1438, -848, 1189 },
2601 { 6011, 1377, -771, -1557 },
2602 { 7679, 544, -1134, -2214 },
2603 { 7209, 1292, -2714, -1564 },
2604 { 5567, 1200, -404, -169 },
2605 { 5853, 1461, -1465, -518 },
2606 { 6782, 689, -844, -860 },
2607 { 7330, 1337, -1152, -71 },
2608 { 7189, 1506, -653, -685 },
2609 { 6860, 2116, -1403, -240 },
2610 { 8804, 1516, -1391, -1760 },
2611 { 7210, 2689, -1498, -989 },
2612 { 7030, 3022, -1441, -2083 },
2613 { 5649, 1836, -407, 525 },
2614 { 7451, 3099, -717, -2464 },
2615 { 7384, 1656, -2007, 398 },
2616 { 6504, 707, -1919, -134 },
2617 { -1851, 3639, -2279, -695 },
2618 { -4037, 1644, -77, 1329 },
2619 { -4025, 1960, -1565, -567 },
2620 { -3430, 2495, -795, 368 },
2621 { -4771, 2480, 993, 756 },
2622 { -3431, 2058, -2539, -971 },
2623 { -3802, 3418, 380, 217 },
2624 { -3074, 3350, -1652, -1056 },
2625 { -3705, 326, -1650, 1535 },
2626 { -3122, 1281, -1192, 1607 },
2627 { -4601, 1367, -968, 53 },
2628 { -3808, 958, 44, 2560 },
2629 { -2079, 2530, -1485, 1166 },
2630 { -3707, 343, -2889, 180 },
2631 { -5249, 1431, -31, 688 },
2632 { -4990, 125, -704, 1270 },
2633 { -2771, 1334, -2446, 746 },
2634 { -2292, 994, -1527, 2630 },
2635 { -1261, 3070, -2519, 268 },
2636 { -2544, 3890, -1057, -552 },
2637 { -4421, 255, -1980, 530 },
2638 { -2951, 454, -13, 3643 },
2639 { -2262, 1815, -370, 2880 },
2640 { -2383, 3657, -649, 576 },
2641 { -3541, -161, -1389, 2550 },
2642 { -4241, 1575, 1325, 2561 },
2643 { -2767, 4037, 1221, 1578 },
2644 { -3748, 2697, 1148, 1801 },
2645 { -4686, 2385, -220, 0 },
2646 { -1531, 1645, -2751, 1327 },
2647 { -45, 4032, -799, 2298 },
2648 { -2915, 2280, 709, 2495 },
2649 { -1199, 3278, -406, 2346 },
2650 { -2471, 116, -2706, 2060 },
2651 { -2440, 2173, -2894, -344 },
2652 { -3375, 2287, 1781, 3226 },
2653 { -2153, 3568, 1827, 2918 },
2654 { -862, 2267, -1626, 2527 },
2655 { -2698, 1135, 301, 4239 },
2656 { -2364, 2123, 1010, 3710 },
2657 { -2447, 3281, -81, 1408 },
2658 { -2660, 4735, 472, 258 },
2659 { -1053, 3097, 2682, 2398 },
2660 { -3366, -1037, -1152, -868 },
2661 { -643, 4242, 2212, 1259 },
2662 { 971, 3991, 934, 643 },
2663 { -1617, 2002, 2139, 2195 },
2664 { -4897, 972, 784, 1719 },
2665 { -1275, 2992, 1039, 3821 },
2666 { -392, 4973, -209, 1821 },
2667 { -1028, 4718, -1479, -137 },
2668 { 50, 3914, 553, 2210 },
2669 { 678, 4364, 359, 1303 },
2670 { -582, 4911, 514, 1671 },
2671 { 1276, 3914, -1252, 2934 },
2672 { -1496, 3984, 857, 2330 },
2673 { 772, 4744, -655, 2332 },
2674 { -799, 5283, -439, 624 },
2675 { 1341, 2937, 650, 2027 },
2676 { -1739, 4892, 1275, 1702 },
2677 { -892, 2596, -151, 3951 },
2678 { -3532, 1090, 1292, 32 },
2679 { 321, 3146, 2647, 1475 },
2680 { 264, 4199, -1591, 1317 },
2681 { -452, -2357, 2266, 4192 },
2682 { 3022, -1033, -2389, 5678 },
2683 { -1162, -1342, 3543, 4990 },
2684 { -474, -1477, -1223, 5016 },
2685 { -699, -2857, 900, 3835 },
2686 { -461, -2255, -117, 4626 },
2687 { 1204, -2062, -1211, 4403 },
2688 { 2192, -3035, -337, 3966 },
2689 { 108, -831, 279, 5643 },
2690 { 1457, -620, -2908, 5276 },
2691 { -2527, -78, 1085, 5460 },
2692 { -1978, -1918, -949, 4733 },
2693 { 32, 367, -1904, 5166 },
2694 { 1890, -1665, 440, 4752 },
2695 { -518, -348, 2816, 4891 },
2696 { 3695, -2490, -1374, 4603 },
2697 { 246, -1965, 3549, 3969 },
2698 { 1100, -3111, 656, 3737 },
2699 { -1379, 870, -414, 4575 },
2700 { 628, -357, -1227, 6179 },
2701 { -1129, -1318, -2457, 4576 },
2702 { -425, -98, -73, 6336 },
2703 { 367, -887, 2990, 4207 },
2704 { 2091, -1251, 2444, 3557 },
2705 { -1759, -1610, 2046, 5273 },
2706 { 3210, 1414, -20, 2616 },
2707 { 3303, -2636, 1005, 4237 },
2708 { -327, -3107, -640, 3687 },
2709 { -197, 764, 572, 5486 },
2710 { 646, -767, 1388, 5464 },
2711 { 104, 2742, -228, 3907 },
2712 { -236, 1829, -579, 4585 },
2713 { -2150, -474, -1525, 4006 },
2714 { -23, -2632, -2400, 3892 },
2715 { -12, -1739, -2910, 4867 },
2716 { -2310, -368, -102, 4583 },
2717 { -1991, -2061, 533, 4531 },
2718 { 3884, -1446, -153, 4393 },
2719 { 1568, 14, -289, 5268 },
2720 { -1376, -253, -2797, 3417 },
2721 { 3193, -2577, 2475, 3566 },
2722 { 3418, 617, 1350, 1857 },
2723 { 3792, -24, -272, 3370 },
2724 { 153, 1159, 2906, 2877 },
2725 { 511, 2162, 1548, 2741 },
2726 { 262, 819, -2791, 3734 },
2727 { 4232, -2015, 1486, 3477 },
2728 { 2943, -1110, -1014, 5480 },
2729 { 2842, 369, 703, 3476 },
2730 { 3011, 1634, -933, 3553 },
2731 { 4412, -1548, -942, 5021 },
2732 { -1405, 593, 2372, 5267 },
2733 { 2093, 2129, 896, 2365 },
2734 { 4845, -1980, 0, 3823 },
2735 { -2140, 81, 3278, 5637 },
2736 { 1484, 2665, -324, 3653 },
2737 { 10, 192, 1620, 5291 },
2738 { 2152, 738, -2269, 5000 },
2739 { 2102, 2748, -1652, 4707 },
2740 { 2855, -2131, -387, 5188 },
2741 { 1173, 676, 1338, 3277 },
2742 { 2340, -2329, -2064, 4095 },
2743 { 861, -2024, 1296, 5055 },
2744 { 2189, 3225, -695, 2626 },
2745 { 6196, -7079, 1943, -822 },
2746 { 4547, -4813, 3261, 1856 },
2747 { 4243, -6904, 3443, 448 },
2748 { 4581, -7503, 946, 506 },
2749 { 6626, -7754, 3427, 470 },
2750 { 3407, -9088, 3269, -1496 },
2751 { 4079, -6464, 2304, 777 },
2752 { 5621, -9336, 2684, -768 },
2753 { 5351, -6464, 5238, -214 },
2754 { 5961, -8007, 1724, -3091 },
2755 { 4213, -8067, 603, -246 },
2756 { 7208, -7403, 3168, -1738 },
2757 { 6098, -7700, 329, -1379 },
2758 { 6525, -6735, 4248, -1072 },
2759 { 6073, -6241, 2167, -2378 },
2760 { 4609, -9218, 3051, -1033 },
2761 { 6813, -7283, 1581, -1897 },
2762 { 6126, -6275, 2789, 681 },
2763 { 4423, -6538, 1621, -1692 },
2764 { 6272, -8298, 3167, -1855 },
2765 { 6172, -8558, 4498, -1169 },
2766 { 4844, -8588, 1647, -366 },
2767 { 6209, -8807, 1581, -369 },
2768 { 5389, -8059, 550, -192 },
2769 { 6654, -9775, 2504, -1063 },
2770 { 7103, -7998, 806, 530 },
2771 { 5662, -6736, 1565, -3620 },
2772 { 4165, -9564, 4191, -2131 },
2773 { 4526, -7181, 576, -2875 },
2774 { 4633, -8623, 2807, -4742 },
2775 { 3709, -7794, 1815, 34 },
2776 { 3634, -8622, 2313, -826 },
2777 { 6991, -8447, 2063, -3198 },
2778 { 7757, -9486, 2255, -558 },
2779 { 4149, -7778, 4728, -1696 },
2780 { 5767, -7427, 1113, 707 },
2781 { 4592, -6261, 2329, 1864 },
2782 { 3159, -10498, 1677, -4273 },
2783 { 3534, -9010, 2437, -3565 },
2784 { 4479, -10821, 2715, -4942 },
2785 { 3207, -9805, 3054, -3886 },
2786 { 4627, -8189, 3018, -2354 },
2787 { 5527, -10566, 3244, -2749 },
2788 { 4346, -10127, 3335, -3084 },
2789 { 6132, -10085, 3316, -1308 },
2790 { 5629, -9704, 2178, -3058 },
2791 { 3603, -8538, 1246, -624 },
2792 { 3737, -8488, 395, -3167 },
2793 { 5465, -11414, 2810, -4640 },
2794 { 5306, -7745, 2721, -3988 },
2795 { 7000, -9111, 1695, -1409 },
2796 { 6663, -7741, 2466, -4079 },
2797 { 4083, -7175, 1836, -4831 },
2798 { 3613, -9926, 1342, -3455 },
2799 { 6588, -8033, 457, -258 },
2800 { 4720, -8102, 17, -1209 },
2801 { 7414, -8709, 1294, -344 },
2802 { 5437, -10030, 4043, -1704 },
2803 { 4862, -9281, 1558, -1431 },
2804 { 6800, -6403, 5113, 862 },
2805 { 4623, -8242, 2667, -228 },
2806 { 5919, -5083, 3348, 2135 },
2807 { 5985, -8889, 2733, -5105 },
2808 { 5029, -5767, 4407, 719 },
2809 { 354, -6158, -838, -3001 },
2810 { 351, -5943, -2104, -1534 },
2811 { -633, -7190, -25, -4798 },
2812 { -1595, -7235, -3812, -1400 },
2813 { 103, -6197, -2933, -78 },
2814 { -1722, -5020, -3441, -4333 },
2815 { -1963, -5644, -4365, -270 },
2816 { -846, -5743, -3477, 196 },
2817 { -191, -5348, -4054, -469 },
2818 { -2515, -7754, -3495, -818 },
2819 { -2090, -6710, -2701, 117 },
2820 { -546, -7036, -1398, 163 },
2821 { -278, -7091, -2662, -536 },
2822 { -622, -7962, -2731, -1464 },
2823 { -1555, -8118, -3612, -2057 },
2824 { -1094, -6280, -2314, 505 },
2825 { -2556, -8538, -4024, -2247 },
2826 { 109, -7134, -3107, -1823 },
2827 { -900, -6954, -3340, -717 },
2828 { -605, -7113, -3656, -2154 },
2829 { 837, -6263, -3211, -2177 },
2830 { -417, -5810, -3871, -1469 },
2831 { -1318, -5649, -4207, -3198 },
2832 { 413, -6765, -2082, -33 },
2833 { -3101, -6450, -4362, -766 },
2834 { 755, -6489, -2967, -846 },
2835 { 1117, -7106, -2452, -1352 },
2836 { -1202, -8387, -3072, -2897 },
2837 { -365, -4894, -3561, -2937 },
2838 { -2372, -8776, -265, -4441 },
2839 { -1224, -8678, -896, -5074 },
2840 { -755, -10096, -600, -6623 },
2841 { 300, -8206, -225, -4568 },
2842 { -1176, -6824, -2633, -3527 },
2843 { -2006, -5443, -1526, -5849 },
2844 { -1115, -5540, -2363, -4785 },
2845 { 1059, -6812, -2543, -2654 },
2846 { -1976, -6861, -3062, -5508 },
2847 { -379, -5328, -2321, -3624 },
2848 { -2108, -5860, -4518, -1915 },
2849 { -379, -7885, -1329, -594 },
2850 { 774, -5389, -581, -5213 },
2851 { -2601, -5083, -1849, -4921 },
2852 { -176, -5580, 74, -5075 },
2853 { -204, -6780, -190, -6232 },
2854 { 418, -7594, -1987, -820 },
2855 { -1873, -8529, -2926, -1609 },
2856 { 1340, -6362, -919, -4975 },
2857 { 577, -7990, -2044, -1873 },
2858 { -2572, -7413, -1745, -2224 },
2859 { -2037, -7030, -1461, -7138 },
2860 { -2559, -8756, -2039, -5836 },
2861 { -2079, -6764, -1209, -5669 },
2862 { -1613, -7801, -2006, -685 },
2863 { -1865, -6583, -722, -3529 },
2864 { -589, -6358, -1377, -1003 },
2865 { -540, -7514, -1331, -3542 },
2866 { 419, -6192, -1677, -4927 },
2867 { -2786, -8763, -2966, -5065 },
2868 { -2172, -8411, -1726, -4675 },
2869 { -3382, -9833, -3497, -5722 },
2870 { -2433, -10169, -2077, -5775 },
2871 { -424, -9451, -1096, -3658 },
2872 { -537, -8522, -910, -1897 },
2873 { -5550, 2807, 1683, -693 },
2874 { -6395, 635, 3573, -1246 },
2875 { -7544, 2280, 2140, 44 },
2876 { -8751, 1136, 2951, -794 },
2877 { -5605, 2709, 2052, 916 },
2878 { -7650, 654, 869, 135 },
2879 { -6939, 967, 1409, 870 },
2880 { -7834, 2123, 3310, 974 },
2881 { -6935, 2818, 1274, -1678 },
2882 { -5605, 2233, 1013, 471 },
2883 { -7095, 1849, 1648, 198 },
2884 { -6636, 1634, 712, -37 },
2885 { -7279, 978, 296, -315 },
2886 { -7664, 3504, 3292, -216 },
2887 { -7836, 1209, 1221, -257 },
2888 { -7913, 2201, 1765, -1529 },
2889 { -7077, 3783, 2632, -1407 },
2890 { -5565, 1645, 1410, -622 },
2891 { -6494, 2879, 1181, -759 },
2892 { -7073, 3137, 3010, 550 },
2893 { -7249, 1839, 847, -805 },
2894 { -6630, 2197, 282, -1096 },
2895 { -8836, 1573, 1988, -1090 },
2896 { -7809, 1274, 836, -1198 },
2897 { -7895, 2970, 3511, -1097 },
2898 { -6960, 1664, 1356, -2442 },
2899 { -6582, 2866, 2273, 307 },
2900 { -7221, 821, 2851, -1435 },
2901 { -6015, 1703, 2001, -2367 },
2902 { -8082, 1034, 2103, 239 },
2903 { -5952, 1912, 301, -465 },
2904 { -6099, 841, 379, 567 },
2905 { -6343, 50, 494, 658 },
2906 { -6586, 983, 591, -893 },
2907 { -5500, 869, 2187, -2479 },
2908 { -6482, 60, 1545, -979 },
2909 { -6705, 515, 1974, -53 },
2910 { -6460, 1755, 1325, -1275 },
2911 { -6093, 2617, 2465, -623 },
2912 { -7330, 2161, 594, -2115 },
2913 { -7324, 762, 1593, -2004 },
2914 { -6385, 679, 1510, -2514 },
2915 { -6159, 241, 2976, -1631 },
2916 { -8583, 3030, 4045, -162 },
2917 { -6299, 66, 2209, -2103 },
2918 { -5428, 1279, 3267, -1846 },
2919 { -6438, 1335, 2728, -1631 },
2920 { -8012, 1070, 2428, -1151 },
2921 { -6201, 2781, 2349, -1918 },
2922 { -5918, 1139, 3121, -148 },
2923 { -6314, 2481, 3137, -1808 },
2924 { -7180, 1722, 2435, -1602 },
2925 { -6750, 1829, 3763, -1145 },
2926 { -6713, 1777, 2221, 1212 },
2927 { -7479, 1835, 3627, -479 },
2928 { -7299, 10, 2406, -1593 },
2929 { -8249, 3129, 996, -2870 },
2930 { -8374, 1534, 1333, -1882 },
2931 { -7507, 3353, 1598, -2299 },
2932 { -7379, 2701, 2326, -1167 },
2933 { -8440, 2276, 2796, -542 },
2934 { -10348, 1527, 2649, -1165 },
2935 { -8184, 3614, 2574, -1738 },
2936 { -5539, 1574, 1733, 1138 },
2937 { 9404, -7652, 67, 79 },
2938 { 8654, -3972, 1358, -60 },
2939 { 8617, -4794, 117, 2318 },
2940 { 7886, -4505, 1784, 1200 },
2941 { 8636, -6125, 3879, -1003 },
2942 { 9654, -6836, 1816, 205 },
2943 { 9374, -6553, 913, 1875 },
2944 { 8020, -6150, 1134, 2390 },
2945 { 7786, -4970, 2078, -1857 },
2946 { 8691, -6119, 711, 708 },
2947 { 9039, -5568, 2944, -1902 },
2948 { 9955, -5048, 1433, -601 },
2949 { 8089, -6927, 3093, -2846 },
2950 { 8487, -7024, 2415, 19 },
2951 { 9388, -5287, 3577, -2655 },
2952 { 8591, -7371, 2300, -996 },
2953 { 9104, -4763, 1453, -2558 },
2954 { 7615, -5457, 596, 164 },
2955 { 9860, -7047, 3433, -614 },
2956 { 8756, -4404, 2235, -964 },
2957 { 9462, -4660, 299, -1822 },
2958 { 10119, -5550, 2689, -1273 },
2959 { 10915, -7471, 2705, -1007 },
2960 { 11433, -7090, 1410, -1198 },
2961 { 9882, -7431, 2965, -1895 },
2962 { 7628, -5219, 769, -2661 },
2963 { 8169, -5318, 2262, 70 },
2964 { 8846, -6320, 1939, -754 },
2965 { 7147, -5593, 1248, -971 },
2966 { 10652, -5485, 935, 137 },
2967 { 7778, -6533, 2564, -1932 },
2968 { 8878, -5173, 1214, -361 },
2969 { 9828, -4943, 282, 510 },
2970 { 10042, -6134, 3895, -1914 },
2971 { 7965, -6630, 3566, -433 },
2972 { 8573, -4502, 3574, -1209 },
2973 { 8398, -4801, 1031, -1347 },
2974 { 10136, -7772, 2612, 1547 },
2975 { 9890, -7280, 1768, -1083 },
2976 { 8407, -6585, -706, -58 },
2977 { 7976, -7582, 229, -131 },
2978 { 10481, -8866, 1166, -147 },
2979 { 10914, -4342, 3189, -2412 },
2980 { 10440, -5198, -104, -1109 },
2981 { 11227, -6530, 2381, -2449 },
2982 { 8487, -8064, 1086, 230 },
2983 { 9975, -6123, -857, -134 },
2984 { 8339, -6498, 1232, -2337 },
2985 { 11042, -4506, 1119, -2098 },
2986 { 12563, -5592, 1837, -2062 },
2987 { 11801, -5590, 632, -1296 },
2988 { 10152, -5617, 1511, -1917 },
2989 { 7800, -6473, 51, -1337 },
2990 { 7941, -5560, 2438, -3270 },
2991 { 6554, -3834, 2100, 1476 },
2992 { 9065, -5520, -226, -1120 },
2993 { 10794, -7120, -243, 122 },
2994 { 10429, -6968, 272, -806 },
2995 { 8942, -8914, 1442, -392 },
2996 { 9969, -5051, 2033, -2953 },
2997 { 7275, -4152, 3058, -64 },
2998 { 11127, -5488, 4589, -3227 },
2999 { 9626, -6666, 2739, -2958 },
3000 { 6943, -5362, 4470, 1008 },
3001 { -7456, -967, 2936, -1002 },
3002 { -8622, -333, 6962, 2606 },
3003 { -7486, -3392, 3668, 1287 },
3004 { -8053, -827, 5148, 1097 },
3005 { -6610, 454, 4952, 96 },
3006 { -7701, -1982, 3161, -468 },
3007 { -7307, -1132, 4071, -36 },
3008 { -8125, -271, 5199, 3862 },
3009 { -9182, -1950, 2813, 1878 },
3010 { -9855, -952, 4794, 3010 },
3011 { -7241, 1431, 4202, 2468 },
3012 { -9646, 157, 4766, 1046 },
3013 { -9371, 1230, 6009, 2958 },
3014 { -11514, -64, 8630, 5248 },
3015 { -6766, 565, 2766, 2140 },
3016 { -8426, -9, 2852, 1271 },
3017 { -11291, -1113, 5087, 2937 },
3018 { -8297, 2092, 4495, 1264 },
3019 { -9983, 735, 3809, -51 },
3020 { -9048, -1000, 3191, -308 },
3021 { -7331, -1987, 2655, 1391 },
3022 { -7144, -21, 4333, 2161 },
3023 { -6032, -1540, 3543, 896 },
3024 { -7987, -1036, 1985, 1529 },
3025 { -9264, 2004, 5194, 290 },
3026 { -11308, -840, 5754, 1654 },
3027 { -9130, -2398, 4292, 2973 },
3028 { -6248, 838, 3563, 1223 },
3029 { -6819, -2760, 3511, 119 },
3030 { -7213, -2006, 4364, 762 },
3031 { -5431, -1047, 4533, 166 },
3032 { -7098, -641, 2021, 639 },
3033 { -8628, -2249, 3588, 399 },
3034 { -6352, -1498, 3560, -648 },
3035 { -7033, -2190, 4870, 2562 },
3036 { -7405, -46, 3772, -581 },
3037 { -6104, 796, 5143, 1965 },
3038 { -5787, 943, 5784, 3030 },
3039 { -8367, 1465, 7192, 4097 },
3040 { -8259, 789, 5694, 1963 },
3041 { -10614, -1899, 5748, 2645 },
3042 { -8258, -805, 3698, 2275 },
3043 { -6877, -972, 6431, 3160 },
3044 { -6483, 363, 7018, 3129 },
3045 { -6283, -1358, 5191, 1524 },
3046 { -8853, -3157, 4119, 1741 },
3047 { -6086, -267, 3883, -835 },
3048 { -7254, 1032, 6613, 4017 },
3049 { -11470, -3350, 4649, 3426 },
3050 { -6743, 481, 6148, 1239 },
3051 { -5394, -166, 5309, 3165 },
3052 { -7958, 1068, 4268, -240 },
3053 { -10520, 2256, 7916, 2828 },
3054 { -5132, -4, 5739, 1176 },
3055 { -8643, 120, 3255, -629 },
3056 { -9631, 1974, 8870, 4362 },
3057 { -10663, -1221, 3733, 589 },
3058 { -8224, -1843, 5806, 2655 },
3059 { -8282, 1255, 8647, 3478 },
3060 { -12311, -1505, 9043, 6256 },
3061 { -11312, -856, 7136, 4681 },
3062 { -11944, -722, 7941, 3309 },
3063 { -7868, -463, 6846, 4196 },
3064 { -8679, -241, 7410, 5347 },
3065 { 6759, -4680, -508, 1220 },
3066 { 5176, -6111, 944, 121 },
3067 { 6843, -5667, -1368, -533 },
3068 { 5616, -5884, -1471, -695 },
3069 { 6030, -5089, -1808, -940 },
3070 { 7444, -5463, -52, 1881 },
3071 { 4207, -6079, -506, 1571 },
3072 { 6785, -4410, -649, 3084 },
3073 { 4838, -5214, 2026, 2998 },
3074 { 4201, -5790, 645, 1811 },
3075 { 6930, -5129, -1940, 1698 },
3076 { 6332, -4627, 692, 3027 },
3077 { 6285, -4314, -106, 3644 },
3078 { 6255, -5450, -1975, 742 },
3079 { 4199, -4676, -459, 1796 },
3080 { 5592, -5500, 1345, 1300 },
3081 { 4358, -5556, -2236, 114 },
3082 { 4620, -5875, -1563, 888 },
3083 { 4892, -7550, -327, -419 },
3084 { 4734, -7085, 7, 613 },
3085 { 3883, -5562, -1969, 1080 },
3086 { 5610, -4990, -204, 834 },
3087 { 4117, -6482, -1271, 341 },
3088 { 6585, -5107, 892, 1169 },
3089 { 6632, -3683, 302, 3002 },
3090 { 6326, -5351, -983, -1250 },
3091 { 4382, -7192, -730, -158 },
3092 { 5227, -6540, -451, 1123 },
3093 { 5468, -6472, -870, -1471 },
3094 { 5191, -6402, -1365, -127 },
3095 { 7407, -6317, -973, -336 },
3096 { 4611, -6530, -820, -1980 },
3097 { 4963, -5159, -2050, -966 },
3098 { 4414, -5691, -211, -998 },
3099 { 5954, -5873, 750, -1749 },
3100 { 4394, -4796, -1268, 254 },
3101 { 7161, -6214, -1010, 689 },
3102 { 4965, -3598, 2372, 1711 },
3103 { 6248, -6180, 981, 864 },
3104 { 6473, -5336, 525, -600 },
3105 { 4591, -6864, -1131, -900 },
3106 { 6314, -6440, -1021, -375 },
3107 { 5838, -6209, -1199, 944 },
3108 { 5308, -5283, -2100, 1267 },
3109 { 4342, -5860, -1637, -1356 },
3110 { 5680, -4388, -1227, -104 },
3111 { 4900, -4098, 1449, 4046 },
3112 { 4677, -4284, -106, 3190 },
3113 { 7574, -6173, -848, 1859 },
3114 { 6493, -7207, -131, 726 },
3115 { 5513, -5261, -2117, 4 },
3116 { 6191, -7352, -193, -505 },
3117 { 5885, -4333, 324, -134 },
3118 { 6162, -6081, -312, -2044 },
3119 { 4216, -6200, -1810, -572 },
3120 { 5652, -7035, -696, -197 },
3121 { 7131, -7189, -366, -60 },
3122 { 5032, -4803, -1514, 2832 },
3123 { 7386, -4610, -606, 3489 },
3124 { 4211, -5031, 1221, 3047 },
3125 { 4050, -4653, 1584, 1469 },
3126 { 6852, -5302, -1861, 206 },
3127 { 7736, -4816, -1794, 3359 },
3128 { 6290, -3439, 1522, 2454 },
3129 { 1768, 5990, -5560, -2594 },
3130 { 3903, 5326, -1530, -1501 },
3131 { 2472, 3738, -2117, -4240 },
3132 { 3260, 5448, -904, -4733 },
3133 { 1435, 7297, -3676, -4102 },
3134 { 4096, 5951, -656, -3312 },
3135 { 2178, 6009, -3146, -3724 },
3136 { 3787, 5493, -5473, -1633 },
3137 { 2998, 7286, -3334, -3571 },
3138 { 2894, 6576, -4708, -2804 },
3139 { 830, 6163, -4286, -3348 },
3140 { 4755, 5569, -1730, -2739 },
3141 { 4604, 6065, -3562, -2605 },
3142 { 2749, 5141, -3986, -2775 },
3143 { 3942, 4875, -2143, -3340 },
3144 { 2819, 8517, -2004, -2724 },
3145 { 2146, 6298, -689, -3093 },
3146 { 5196, 6504, -3393, -1475 },
3147 { 1851, 8386, -1748, -1420 },
3148 { 3474, 8572, -3534, -2688 },
3149 { 4503, 7560, -3561, -2245 },
3150 { 4433, 6219, -2393, -1575 },
3151 { 3506, 7248, -2275, -1977 },
3152 { 3490, 7409, -3147, -604 },
3153 { 4214, 6447, -3520, 516 },
3154 { 619, 7034, -829, -1705 },
3155 { 1732, 7395, -356, -2208 },
3156 { 1226, 5204, -3294, -3732 },
3157 { 2027, 5619, -1813, -4146 },
3158 { 3078, 5877, 47, -2651 },
3159 { 1654, 5458, 424, -682 },
3160 { 3163, 5464, -2026, -270 },
3161 { 2884, 5375, -685, -530 },
3162 { 2950, 7286, -35, -2967 },
3163 { 1986, 5066, -597, 482 },
3164 { 3459, 4308, -3845, -2333 },
3165 { 3155, 7037, -1346, -4345 },
3166 { 2193, 6696, -717, -1319 },
3167 { 3677, 5089, -3892, -487 },
3168 { 2186, 5136, -4186, -1492 },
3169 { 773, 5796, -917, 817 },
3170 { 2489, 6546, -3570, -2117 },
3171 { 1223, 6469, -1362, -33 },
3172 { 271, 6061, -1466, -1725 },
3173 { 2540, 5171, -1847, 1032 },
3174 { 2548, 5251, -2697, 1677 },
3175 { 771, 7600, -768, -632 },
3176 { 4710, 6647, -4736, -1275 },
3177 { 1369, 5917, -2971, -1056 },
3178 { 163, 5239, -3499, -2275 },
3179 { 2104, 4285, -3211, -3286 },
3180 { 1107, 7411, -1972, -1671 },
3181 { 2196, 7262, -2310, -1926 },
3182 { -244, 6439, -1745, -839 },
3183 { 3293, 3832, -2890, -3000 },
3184 { 419, 6443, -379, -407 },
3185 { 3077, 4930, -1156, -2869 },
3186 { 2131, 5874, -2330, 224 },
3187 { 690, 6538, -2212, -2841 },
3188 { 1602, 4421, -2515, 1542 },
3189 { 3318, 9373, -3032, -3477 },
3190 { 5646, 7462, -5153, -1463 },
3191 { 4139, 7137, -1539, -3321 },
3192 { 3481, 9077, -1645, -3653 },
3193 { -7747, 375, -106, -543 },
3194 { -8587, -1379, -586, -461 },
3195 { -10146, -892, 2094, 694 },
3196 { -8103, 382, 504, -325 },
3197 { -8548, -92, 94, -656 },
3198 { -7460, 38, 152, 388 },
3199 { -8266, -271, -459, -883 },
3200 { -7935, -664, -1026, -802 },
3201 { -8341, -109, 853, 161 },
3202 { -8802, -1355, 1099, 630 },
3203 { -8957, -6, 1108, -669 },
3204 { -7260, -1520, -43, -407 },
3205 { -7555, -174, 668, -2562 },
3206 { -9014, -126, 227, -1191 },
3207 { -8184, 769, 290, -1375 },
3208 { -9476, 55, 962, -1528 },
3209 { -8679, 541, 755, -1030 },
3210 { -9842, -1626, 838, -1588 },
3211 { -8513, -702, 788, -1998 },
3212 { -10101, -1558, -366, -1841 },
3213 { -8135, 78, 1479, -1813 },
3214 { -9128, -454, 313, -1786 },
3215 { -7554, -1084, 831, -2442 },
3216 { -7576, -701, 2068, -1665 },
3217 { -7791, -1481, 1587, -1808 },
3218 { -6701, -596, -97, 802 },
3219 { -7418, -15, 684, -963 },
3220 { -7127, -477, -139, -426 },
3221 { -8097, -110, -36, -264 },
3222 { -7620, -1922, -590, -101 },
3223 { -7647, -1201, 279, 660 },
3224 { -7856, -1974, 758, -2271 },
3225 { -8496, -167, 2232, -1143 },
3226 { -8506, -1359, 624, -740 },
3227 { -7274, -1052, 1062, -139 },
3228 { -7800, -217, 91, -1794 },
3229 { -7030, -1694, -955, 615 },
3230 { -9020, -1864, 101, -2182 },
3231 { -9400, -740, 598, -667 },
3232 { -8448, -1184, 2024, -1272 },
3233 { -8812, -570, -897, -2384 },
3234 { -10559, -1286, 538, -1536 },
3235 { -8728, -888, -1089, -1397 },
3236 { -7080, -1185, 636, -1252 },
3237 { -9880, 233, 2344, -782 },
3238 { -7952, -1326, -378, -1947 },
3239 { -7207, -378, 1408, -2237 },
3240 { -8467, -1545, 902, -1987 },
3241 { -9163, -1474, 924, -1739 },
3242 { -8159, -992, -77, -2744 },
3243 { -8343, 148, -423, -1573 },
3244 { -9105, -649, -254, -1214 },
3245 { -8939, 456, 281, -1905 },
3246 { -8837, 179, -394, -2634 },
3247 { -9145, 757, 1547, -1319 },
3248 { -9775, -723, 441, -1680 },
3249 { -8910, -686, 1529, -1525 },
3250 { -9492, -1134, 2064, -938 },
3251 { -6111, -943, 677, -31 },
3252 { -7411, -613, -814, 46 },
3253 { -9479, -922, -430, -2061 },
3254 { -11298, -1268, 1318, -1117 },
3255 { -8190, 832, 671, -2214 },
3256 { -10453, -550, 1672, -886 },
3257 { 1044, 9353, -1651, -5423 },
3258 { 1034, 8149, -455, -6166 },
3259 { 761, 8293, -3214, -4838 },
3260 { 938, 8077, 164, -5130 },
3261 { 1295, 8673, 2582, -5490 },
3262 { -314, 7973, -2395, -5231 },
3263 { -507, 9012, -2497, -5775 },
3264 { 2396, 8314, -1022, -4673 },
3265 { -1516, 8501, 1950, -4969 },
3266 { -308, 7401, 1549, -4866 },
3267 { -112, 8340, 3003, -4920 },
3268 { -50, 9315, 1371, -5666 },
3269 { -659, 9449, 2496, -5547 },
3270 { 2573, 9148, -2270, -4783 },
3271 { 830, 7104, -438, -3907 },
3272 { 522, 10672, -677, -6483 },
3273 { -1190, 10108, -510, -6518 },
3274 { -427, 8271, -579, -6315 },
3275 { 1602, 8113, -1927, -4418 },
3276 { -2266, 8180, 448, -5190 },
3277 { -1633, 8816, -226, -5771 },
3278 { 759, 9481, -105, -5813 },
3279 { 2254, 6679, -466, -5662 },
3280 { -88, 6946, 895, -5958 },
3281 { -1705, 10009, 1394, -5574 },
3282 { 748, 7943, 540, -6692 },
3283 { 1411, 7009, 232, -6145 },
3284 { 697, 7290, -1221, -5342 },
3285 { -1764, 10580, 1944, -3981 },
3286 { -1334, 9124, 1195, -3903 },
3287 { -905, 10067, 635, -5039 },
3288 { 664, 10680, 49, -4625 },
3289 { 1374, 9536, -777, -3591 },
3290 { 252, 9698, -597, -2931 },
3291 { 824, 9164, -1014, -2144 },
3292 { 2438, 10569, -2289, -4424 },
3293 { 2101, 7102, 507, -3614 },
3294 { 294, 8051, -432, -1518 },
3295 { -665, 10337, 547, -2852 },
3296 { 1168, 11989, -492, -5427 },
3297 { 1344, 6416, 302, -5061 },
3298 { -1727, 12264, 1507, -4543 },
3299 { 674, 10889, -902, -3605 },
3300 { -582, 9504, 300, -3618 },
3301 { 641, 7654, 689, -2109 },
3302 { 2065, 9243, 508, -4367 },
3303 { 1055, 8373, 688, -3144 },
3304 { -641, 8185, 986, -3307 },
3305 { 1120, 7426, 1785, -3757 },
3306 { 1660, 8070, -593, -3104 },
3307 { 2002, 9467, -1722, -3475 },
3308 { 2361, 8368, 100, -3709 },
3309 { -772, 7845, -613, -4988 },
3310 { 1485, 7430, 1896, -6127 },
3311 { -432, 7823, -947, -2882 },
3312 { 313, 11122, -760, -4871 },
3313 { 412, 8412, -283, -4231 },
3314 { 1585, 10402, -1884, -3267 },
3315 { 321, 6952, 773, -3016 },
3316 { -105, 9014, 121, -2249 },
3317 { 1585, 10313, -977, -4812 },
3318 { 1619, 11869, 1306, -6876 },
3319 { -1168, 8886, -81, -2500 },
3320 { -395, 10886, 733, -6490 },
3321 { -4949, 4274, 3992, -1054 },
3322 { -4241, 5299, 4262, -1584 },
3323 { -2710, 3862, 4552, -1673 },
3324 { -4608, 2472, 3672, -1715 },
3325 { -2843, 2816, 4003, -2326 },
3326 { -5229, 2964, 5636, 90 },
3327 { -4924, 3442, 5015, -1096 },
3328 { -1281, 3313, 5537, -2066 },
3329 { -3808, 1939, 4351, -919 },
3330 { -1915, 2585, 4939, -1614 },
3331 { -3470, 1843, 5562, -682 },
3332 { -3800, 870, 5827, 144 },
3333 { -4985, 1452, 4728, -709 },
3334 { -3745, 2750, 7220, 259 },
3335 { -1875, 1900, 6514, -826 },
3336 { -4329, 1574, 7192, 1304 },
3337 { -5408, 1444, 6208, 631 },
3338 { -3327, 5312, 5707, -1541 },
3339 { -6966, 3334, 4034, 1028 },
3340 { -7484, 4245, 4218, -212 },
3341 { -6567, 5839, 4539, -512 },
3342 { -5715, 5935, 3747, -1186 },
3343 { -6410, 4881, 3356, -1610 },
3344 { -5146, 2590, 2850, 2172 },
3345 { -5196, 4095, 2569, -373 },
3346 { -5043, 6025, 4318, 692 },
3347 { -5525, 4884, 3513, 370 },
3348 { -6804, 7533, 5812, -488 },
3349 { -5657, 2480, 4061, 1234 },
3350 { -3155, 1472, 6071, 1188 },
3351 { -3427, 5217, 3442, 858 },
3352 { -4698, 3013, 5517, 2586 },
3353 { -4449, 2226, 5418, 3580 },
3354 { -6395, 3547, 5487, 2028 },
3355 { -3500, 5019, 4787, 1 },
3356 { -4038, 2578, 3073, 3151 },
3357 { -2750, 1955, 4469, 3856 },
3358 { -5696, 1659, 6118, 2469 },
3359 { -4350, 1241, 6840, 3126 },
3360 { -5565, 5058, 5196, 1314 },
3361 { -1642, 4190, 3948, 607 },
3362 { -1233, 4108, 4850, -640 },
3363 { -997, 3428, 3239, 1378 },
3364 { -6488, 2741, 6926, 2792 },
3365 { -4188, 3763, 4235, 2018 },
3366 { -3210, 3224, 5646, 1427 },
3367 { -5526, 6909, 5070, -627 },
3368 { -2815, 3994, 3425, 1903 },
3369 { -2163, 2734, 5423, 145 },
3370 { -4149, 4247, 2355, 734 },
3371 { -410, 2521, 4138, -16 },
3372 { -2411, 2385, 4927, 2105 },
3373 { -6077, 3591, 3114, 594 },
3374 { -4186, 4834, 5926, -1004 },
3375 { -7315, 3369, 5966, 448 },
3376 { -7042, 5721, 5771, 238 },
3377 { -4466, 3907, 3535, -1751 },
3378 { -2116, 3970, 6163, -1392 },
3379 { -7239, 2143, 8407, 3630 },
3380 { -5431, 4486, 6486, -42 },
3381 { -1874, 1617, 6333, 519 },
3382 { -6478, 2629, 4634, -505 },
3383 { -7784, 2342, 7216, 1365 },
3384 { -1154, 1432, 4831, 1544 },
3385 { -4964, -5801, 1797, 506 },
3386 { -4436, -6905, 1059, -1237 },
3387 { -5400, -6886, 884, -290 },
3388 { -6259, -7103, 523, -227 },
3389 { -4819, -6450, 1412, -450 },
3390 { -4056, -6213, 1725, -943 },
3391 { -5642, -6091, 1357, 605 },
3392 { -4196, -5678, 2187, -173 },
3393 { -4726, -5126, 2470, 321 },
3394 { -6642, -5091, 1507, -1005 },
3395 { -5304, -5250, 1944, 1579 },
3396 { -7179, -5520, 1468, -425 },
3397 { -6033, -4895, 1876, -955 },
3398 { -6595, -5143, 2207, 1291 },
3399 { -4224, -4943, 1846, 1792 },
3400 { -7128, -6950, 539, 724 },
3401 { -4369, -4901, 2590, 1103 },
3402 { -7413, -5696, 1712, 1440 },
3403 { -5885, -6821, 418, 871 },
3404 { -6828, -5599, 710, -1563 },
3405 { -6123, -5817, 1358, 1631 },
3406 { -5291, -5622, 578, 2138 },
3407 { -7171, -6004, 347, 2208 },
3408 { -6083, -5251, 2132, 425 },
3409 { -4329, -5721, 407, -2993 },
3410 { -5326, -5056, 1119, -1837 },
3411 { -5485, -5856, 185, -2389 },
3412 { -6529, -5178, 403, -697 },
3413 { -6719, -4412, 2726, 871 },
3414 { -5126, -5629, 1835, -771 },
3415 { -5622, -4361, 2973, 858 },
3416 { -5282, -5895, 45, -335 },
3417 { -4357, -5656, 1696, -1558 },
3418 { -7139, -6659, 627, -409 },
3419 { -4415, -6328, 35, 1306 },
3420 { -7639, -6110, 1134, 197 },
3421 { -3626, -5592, 2019, 901 },
3422 { -3547, -5064, 1176, 1738 },
3423 { -5075, -3899, 2087, 266 },
3424 { -4086, -6311, 1479, 360 },
3425 { -6210, -5220, -199, -1477 },
3426 { -3910, -5063, 1356, -15 },
3427 { -7616, -4977, 461, 2401 },
3428 { -6118, -6131, 1258, -563 },
3429 { -6127, -4968, 1286, -27 },
3430 { -4121, -5852, 1113, 1476 },
3431 { -5157, -4881, 1162, -662 },
3432 { -4637, -5031, 1179, 709 },
3433 { -5509, -5452, -397, 1224 },
3434 { -4597, -6861, 646, 467 },
3435 { -6247, -4043, 468, 278 },
3436 { -5336, -6465, 874, -1472 },
3437 { -6998, -6346, 78, -1798 },
3438 { -4915, -4530, 2756, -203 },
3439 { -6048, -4373, 1468, 1052 },
3440 { -4273, -7100, 942, -323 },
3441 { -6552, -4287, 2351, 69 },
3442 { -6954, -4613, 722, 1521 },
3443 { -4201, -5361, 763, -1562 },
3444 { -6881, -5596, -748, 669 },
3445 { -6695, -3547, -34, 1299 },
3446 { -3981, -5728, 84, 111 },
3447 { -4663, -4809, 2173, -1031 },
3448 { -6599, -6077, 1303, 256 },
3449 { -7596, -4265, -5791, -4140 },
3450 { -6610, -2758, -5288, -3936 },
3451 { -5880, -3865, -6563, -3088 },
3452 { -7228, -5510, -7677, -3912 },
3453 { -8854, -6553, -8318, -5361 },
3454 { -9362, -5249, -6413, -4319 },
3455 { -4418, -3110, -6368, -4358 },
3456 { -5544, -4203, -6863, -5013 },
3457 { -3056, -4316, -5567, -3181 },
3458 { -3078, -5999, -5051, -2657 },
3459 { -5884, -6292, -5756, -4013 },
3460 { -4825, -4549, -5535, -4053 },
3461 { -4443, -6126, -5316, -1368 },
3462 { -3972, -6341, -6098, -2686 },
3463 { -5751, -2781, -5398, -6230 },
3464 { -4466, -6135, -5570, -3679 },
3465 { -4291, -5992, -3564, -5189 },
3466 { -7189, -4429, -7279, -6082 },
3467 { -5076, -4433, -2748, -5366 },
3468 { -6225, -2825, -6833, -5663 },
3469 { -2989, -4792, -3960, -4492 },
3470 { -7836, -7773, -7722, -5741 },
3471 { -6559, -5703, -5844, -5589 },
3472 { -7612, -5438, -4136, -3774 },
3473 { -4218, -4176, -6591, -2333 },
3474 { -4837, -5063, -6581, 322 },
3475 { -6590, -5990, -2980, -3847 },
3476 { -5558, -2971, -5489, -1932 },
3477 { -7001, -5323, -4975, -1697 },
3478 { -4694, -2688, -6904, -3044 },
3479 { -8511, -5379, -5767, -2549 },
3480 { -7548, -5412, -6522, -2572 },
3481 { -6597, -4973, -6423, -1274 },
3482 { -6415, -4022, -5168, -1072 },
3483 { -5528, -5530, -7218, -2345 },
3484 { -4845, -4805, -5943, -1227 },
3485 { -6049, -7150, -6744, -2161 },
3486 { -9061, -7299, -8542, -4375 },
3487 { -5010, -5546, -5416, -82 },
3488 { -4135, -4205, -5109, -3373 },
3489 { -3311, -5869, -4007, -5061 },
3490 { -5993, -6472, -3962, -4718 },
3491 { -2966, -5832, -2821, -6305 },
3492 { -4851, -5152, -2067, -3930 },
3493 { -3620, -4441, -3362, -5836 },
3494 { -4469, -5221, -4534, -5592 },
3495 { -4022, -6335, -4321, -6107 },
3496 { -4899, -4503, -3084, -3725 },
3497 { -4490, -8276, -4620, -6236 },
3498 { -6591, -4342, -7365, -4063 },
3499 { -6498, -5057, -5553, 485 },
3500 { -6060, -2714, -7093, -4144 },
3501 { -6199, -7774, -7094, -4057 },
3502 { -7536, -6424, -6415, -4265 },
3503 { -7439, -2454, -6348, -4827 },
3504 { -5333, -7565, -4417, -4639 },
3505 { -4353, -7103, -4197, -2689 },
3506 { -5229, -6549, -5129, -6804 },
3507 { -6129, -7701, -5236, -4836 },
3508 { -6797, -3983, -3884, -4406 },
3509 { -6624, -4467, -4745, -5052 },
3510 { -3324, -7596, -2720, -6553 },
3511 { -5473, -6284, -1704, -4511 },
3512 { -4131, -7263, -3180, -5196 },
3513 { -7116, -5565, -3469, 685 },
3514 { -6002, -6021, -3858, 576 },
3515 { -3144, -8203, -1291, -434 },
3516 { -6096, -7027, -4004, 1353 },
3517 { -3943, -7709, -2344, -36 },
3518 { -4510, -6767, -2642, 631 },
3519 { -3657, -11541, -2570, -3984 },
3520 { -5959, -8854, -1333, -867 },
3521 { -6699, -8866, -1606, -344 },
3522 { -3836, -7961, -2334, -2028 },
3523 { -3430, -8045, -3037, -672 },
3524 { -3868, -9184, -3635, -1819 },
3525 { -4258, -9060, -2621, -1008 },
3526 { -3595, -8693, -2022, -752 },
3527 { -4573, -8048, -3166, -2622 },
3528 { -4852, -7903, -1405, 256 },
3529 { -4591, -7057, -1560, 965 },
3530 { -6963, -7655, -980, 808 },
3531 { -5179, -6641, -3356, 1196 },
3532 { -7102, -6941, -2798, 2123 },
3533 { -6867, -5834, -3320, -770 },
3534 { -5977, -7369, -2500, -778 },
3535 { -6160, -6400, -934, -2543 },
3536 { -6741, -7608, -355, -1289 },
3537 { -6856, -6466, -1433, -1643 },
3538 { -4786, -6292, -4970, 376 },
3539 { -5407, -8866, -2255, -400 },
3540 { -3814, -6506, -1387, -3620 },
3541 { -4998, -6137, -1200, -4092 },
3542 { -5123, -9557, -2849, -1306 },
3543 { -4259, -6444, -4395, -338 },
3544 { -5221, -6810, -883, 1225 },
3545 { -6137, -6215, -2165, 554 },
3546 { -3895, -6557, -3176, -1829 },
3547 { -3886, -8188, -87, -954 },
3548 { -7243, -6707, -2216, -316 },
3549 { -5592, -7606, 85, -432 },
3550 { -3957, -7945, -504, -144 },
3551 { -4617, -7624, 218, -312 },
3552 { -4797, -8737, -844, -1051 },
3553 { -4478, -8516, -1401, -454 },
3554 { -4557, -7058, -302, -2332 },
3555 { -6623, -7736, -271, -50 },
3556 { -3157, -7532, -1111, -2207 },
3557 { -3590, -7300, -1271, 517 },
3558 { -4442, -7306, -507, 590 },
3559 { -6458, -7524, -2807, 666 },
3560 { -4991, -8466, -3363, -785 },
3561 { -7474, -7541, -1056, -1839 },
3562 { -7501, -8316, -938, -180 },
3563 { -5329, -7739, -579, -2341 },
3564 { -4549, -7063, -176, -3539 },
3565 { -5191, -8612, -1504, -4250 },
3566 { -3083, -7058, -2251, 32 },
3567 { -4003, -7043, -1093, -791 },
3568 { -5523, -8093, -678, -114 },
3569 { -3022, -10265, -2070, -3109 },
3570 { -3905, -6274, -182, -3652 },
3571 { -3269, -9217, -551, -2650 },
3572 { -3138, -9314, -1726, -1704 },
3573 { -4420, -10339, -1744, -3459 },
3574 { -4163, -8609, -2298, -4113 },
3575 { -5566, -6505, -1241, -463 },
3576 { -3130, -9746, -2352, -4884 },
3577 { -7825, -3439, 1451, -1468 },
3578 { -8451, -3318, 2360, -435 },
3579 { -8462, -4130, 1438, -1024 },
3580 { -9425, -4564, 1328, -689 },
3581 { -11014, -3202, 2278, 2080 },
3582 { -8269, -2761, -146, -440 },
3583 { -7497, -2618, -166, 413 },
3584 { -8250, -3060, 522, -2133 },
3585 { -8365, -5366, 1347, -451 },
3586 { -8589, -3979, 2943, 714 },
3587 { -8111, -2572, 1272, -1748 },
3588 { -7830, -5193, 605, -1484 },
3589 { -8119, -4736, 2141, 256 },
3590 { -7724, -4769, 1463, -812 },
3591 { -7363, -3911, 2540, 4 },
3592 { -7974, -3397, 2363, 1366 },
3593 { -7359, -4204, 1752, -958 },
3594 { -7622, -3505, 660, 916 },
3595 { -9934, -3665, 3165, 828 },
3596 { -8721, -4162, 62, 1718 },
3597 { -9433, -4768, 2722, 1234 },
3598 { -7960, -4496, 138, 1528 },
3599 { -8198, -3454, -443, 631 },
3600 { -7756, -2246, 655, 1137 },
3601 { -8841, -3145, 1113, 829 },
3602 { -7817, -3298, 1251, 230 },
3603 { -9413, -2733, 323, -1862 },
3604 { -9408, -4168, 1270, 1549 },
3605 { -9037, -3892, -942, 283 },
3606 { -8255, -3849, 1301, 1762 },
3607 { -9057, -3987, -41, -682 },
3608 { -9441, -4187, 2019, -111 },
3609 { -9740, -3178, 1602, -871 },
3610 { -8344, -2474, 1461, 1506 },
3611 { -9752, -2925, 1996, 1243 },
3612 { -9199, -3796, 180, 537 },
3613 { -9060, -2405, 1140, -1562 },
3614 { -9348, -2376, 309, -162 },
3615 { -10786, -3182, -5, -1500 },
3616 { -8142, -4540, -434, -826 },
3617 { -7528, -2341, 1104, -73 },
3618 { -9360, -2658, 3062, 56 },
3619 { -8267, -2335, 2000, -1193 },
3620 { -12169, -3154, 1287, -640 },
3621 { -11398, -2120, 946, -1163 },
3622 { -8940, -4559, 328, -1696 },
3623 { -11025, -4213, 2813, 840 },
3624 { -9224, -3581, 2224, 2039 },
3625 { -8943, -3337, 1248, -1298 },
3626 { -7900, -4042, 485, -2080 },
3627 { -9221, -1947, 2191, -880 },
3628 { -10762, -1800, 2516, -324 },
3629 { -10095, -2238, 981, -1335 },
3630 { -11908, -2808, 3255, 645 },
3631 { -10640, -4105, 1283, -595 },
3632 { -7663, -2863, 2467, -797 },
3633 { -10712, -3854, 3710, 1538 },
3634 { -10823, -2893, 1408, -801 },
3635 { -9874, -3832, 256, -1638 },
3636 { -10394, -3391, 2315, -94 },
3637 { -11525, -4079, 4153, 2122 },
3638 { -9546, -2088, 1541, 481 },
3639 { -8731, -2433, 1042, 2160 },
3640 { -7852, -3977, -1370, 1677 },
3641 { 7072, -3420, 1398, -1741 },
3642 { 6180, -1976, 1280, -3557 },
3643 { 7692, -1793, 2844, -1700 },
3644 { 8363, -1773, 3104, -2679 },
3645 { 9213, -3266, 3756, -3542 },
3646 { 9650, -2644, 1426, -1318 },
3647 { 7712, -2796, 3686, -1975 },
3648 { 7316, -3517, 2821, -622 },
3649 { 7434, -2594, 2305, -2264 },
3650 { 7237, -1797, 255, -3114 },
3651 { 8663, -1983, 1338, -3056 },
3652 { 6616, -952, 4059, -2652 },
3653 { 8823, -1327, 1362, -1356 },
3654 { 9938, -1722, 1287, -2362 },
3655 { 7207, -1057, 1913, -1315 },
3656 { 7508, -1585, 870, -1982 },
3657 { 8217, -3680, 1417, -3170 },
3658 { 8329, -2541, 1684, -585 },
3659 { 8062, -2335, 252, -2800 },
3660 { 8204, -4108, 3097, -2569 },
3661 { 7701, -3367, 576, -3008 },
3662 { 7350, -786, 2414, -2129 },
3663 { 6948, -2568, 1607, -225 },
3664 { 7684, -2387, 1308, -3449 },
3665 { 8306, -3458, 2394, -1454 },
3666 { 8438, -2781, 1043, -1362 },
3667 { 9175, -2076, 2144, -1987 },
3668 { 8347, -2709, 3489, -4301 },
3669 { 5696, -2377, 2870, 851 },
3670 { 8825, -1243, 2219, -2603 },
3671 { 8801, -1614, 584, -2513 },
3672 { 8413, -384, 1421, -2244 },
3673 { 9228, -3050, 3279, -2164 },
3674 { 6342, -2698, 3547, -107 },
3675 { 10053, -2476, 2837, -3168 },
3676 { 7439, -604, 3177, -3991 },
3677 { 7749, -1064, 4329, -4855 },
3678 { 8655, -2177, 2252, -3519 },
3679 { 8490, -228, 1958, -3233 },
3680 { 10513, -2968, 1911, -2340 },
3681 { 8146, -862, 1884, -1723 },
3682 { 7788, -666, 3004, -2891 },
3683 { 7785, -1620, 4133, -3417 },
3684 { 10262, -3731, 3455, -2971 },
3685 { 8570, -905, 4519, -4649 },
3686 { 9129, -2562, 463, -2465 },
3687 { 9451, -3587, 1904, -3056 },
3688 { 6549, -2236, 3010, -4523 },
3689 { 7175, -2684, 2967, -3458 },
3690 { 9872, -3278, 1054, -2472 },
3691 { 9153, -931, 1217, -2565 },
3692 { 8789, -3469, 753, -2568 },
3693 { 6683, -3791, 1797, -3968 },
3694 { 6801, -1977, 2311, -452 },
3695 { 6336, -1572, 2612, -3264 },
3696 { 7996, -1008, 730, -2964 },
3697 { 7521, -1059, 1573, -3694 },
3698 { 8148, -3973, 2600, -3572 },
3699 { 7765, -1532, 2528, -3856 },
3700 { 7404, -3918, 4472, -143 },
3701 { 8894, -1398, 3299, -3685 },
3702 { 5768, -2041, 1487, -637 },
3703 { 5131, -2865, 2463, -811 },
3704 { 6439, -1568, 3500, -1550 },
3705 { -8878, -6798, -5319, -1452 },
3706 { -6332, -9713, -3112, -990 },
3707 { -8444, -6316, -3694, -687 },
3708 { -6123, -10840, -3637, -4358 },
3709 { -4784, -9580, -4577, -2581 },
3710 { -6108, -10515, -4859, -2524 },
3711 { -7605, -7518, -2327, -2797 },
3712 { -9662, -8775, -2467, -2010 },
3713 { -6494, -7523, -4715, -118 },
3714 { -8290, -8982, -1672, -317 },
3715 { -8798, -11051, -3888, -1426 },
3716 { -6273, -6623, -6791, -142 },
3717 { -8313, -7668, -2141, -1275 },
3718 { -6453, -8412, -3589, -4102 },
3719 { -6747, -7750, -5690, -2498 },
3720 { -7814, -6693, -3174, -2446 },
3721 { -10383, -10130, -3931, -2364 },
3722 { -10606, -8467, -5539, -2772 },
3723 { -9475, -6671, -3305, -2271 },
3724 { -8982, -9457, -5635, -4005 },
3725 { -10111, -7965, -6515, -4180 },
3726 { -7301, -6479, -5364, 720 },
3727 { -9543, -8999, -7921, -912 },
3728 { -9534, -8562, -3469, -384 },
3729 { -7601, -10344, -3205, -1127 },
3730 { -8088, -8620, -4954, -2888 },
3731 { -8202, -8406, -7038, -3775 },
3732 { -7312, -8324, -3334, -1775 },
3733 { -8566, -9262, -8071, -4174 },
3734 { -7068, -11300, -5573, -2907 },
3735 { -8295, -8952, -4366, -1544 },
3736 { -11104, -10210, -2285, -384 },
3737 { -5213, -7520, -5008, -1339 },
3738 { -5889, -7940, -5987, -1385 },
3739 { -10816, -8201, -4153, -1485 },
3740 { -10277, -8919, -6315, -1652 },
3741 { -5888, -10320, -3821, -1733 },
3742 { -10497, -7181, -6083, -3032 },
3743 { -7721, -9724, -6591, -5336 },
3744 { -5688, -7894, -3486, -2552 },
3745 { -10014, -10500, -3247, -820 },
3746 { -6301, -8765, -4506, -2923 },
3747 { -8261, -7847, -6213, -1552 },
3748 { -10212, -7481, -8113, -3954 },
3749 { -6938, -10874, -6074, -4703 },
3750 { -7183, -10968, -4446, -1773 },
3751 { -7120, -9193, -1966, -2509 },
3752 { -6234, -9263, -2313, -4284 },
3753 { -8503, -9857, -2429, -608 },
3754 { -9372, -7844, -8391, -2120 },
3755 { -7951, -7157, -6535, -11 },
3756 { -7256, -9473, -2172, -660 },
3757 { -10063, -9612, -2515, -15 },
3758 { -6684, -9134, -6109, -4206 },
3759 { -8204, -11932, -5220, -2306 },
3760 { -9710, -6706, -4115, -3275 },
3761 { -6855, -7078, -2409, -4447 },
3762 { -7344, -7673, -4479, -4116 },
3763 { -8851, -6842, -4927, -2948 },
3764 { -8927, -10452, -5633, -2194 },
3765 { -8627, -9002, -7176, -1575 },
3766 { -8209, -9722, -7021, -3324 },
3767 { -3770, -10249, -3623, -4816 },
3768 { -8183, -7465, -4090, 646 },
3769 { -8163, -7149, 200, 498 },
3770 { -8289, -6266, 686, -206 },
3771 { -10030, -6241, -1032, -1864 },
3772 { -8793, -8327, -773, -169 },
3773 { -9149, -6215, 969, -15 },
3774 { -8303, -5859, -7, 2006 },
3775 { -9682, -7283, 255, 1322 },
3776 { -9293, -7227, 71, -231 },
3777 { -8525, -6215, 287, -837 },
3778 { -10477, -5379, 1159, 1449 },
3779 { -10726, -7856, -130, 102 },
3780 { -8694, -7461, -1210, 690 },
3781 { -9367, -5324, 1103, 3170 },
3782 { -10686, -8055, -831, 1633 },
3783 { -9201, -6873, -2704, 2258 },
3784 { -8421, -5358, -1405, 226 },
3785 { -9066, -5830, -307, -1571 },
3786 { -11150, -7381, -2746, -900 },
3787 { -9978, -5925, -2006, -437 },
3788 { -9464, -4741, -273, 1061 },
3789 { -10543, -6684, -1113, 1660 },
3790 { -10073, -5576, 1083, -269 },
3791 { -8826, -5763, 1600, 1486 },
3792 { -10445, -9071, -1253, -64 },
3793 { -12085, -5799, 2, 769 },
3794 { -12939, -6663, 1650, 1437 },
3795 { -10932, -6434, -1252, -649 },
3796 { -11650, -7826, -2053, 710 },
3797 { -12122, -6733, -1889, -731 },
3798 { -9093, -6095, -2463, -842 },
3799 { -10977, -4364, 469, 420 },
3800 { -11488, -6908, -521, 893 },
3801 { -9669, -5478, -842, 337 },
3802 { -10606, -5203, -632, -1361 },
3803 { -10198, -6284, 1662, 1277 },
3804 { -10135, -5292, 2435, 3493 },
3805 { -11027, -6561, 655, 56 },
3806 { -10977, -5030, 1127, -358 },
3807 { -12766, -3986, 1348, -335 },
3808 { -14244, -7731, 264, 317 },
3809 { -15124, -10309, -508, 1447 },
3810 { -12821, -8638, -608, 137 },
3811 { -13076, -8693, -2852, -431 },
3812 { -11156, -5546, -2252, -1600 },
3813 { -8692, -7366, -819, -1223 },
3814 { -12507, -9816, -1714, -121 },
3815 { -10712, -6666, 544, 3349 },
3816 { -12462, -5890, -2491, -2318 },
3817 { -12468, -7226, 437, 232 },
3818 { -11300, -5226, 2068, 687 },
3819 { -11994, -8320, -626, 2728 },
3820 { -12222, -5476, 1142, 18 },
3821 { -10277, -8122, -2418, 2003 },
3822 { -13418, -6115, -3563, -2802 },
3823 { -14759, -9834, -1243, 21 },
3824 { -13699, -5665, 1525, 507 },
3825 { -16269, -9476, -701, 163 },
3826 { -12677, -5437, -247, -1019 },
3827 { -11827, -4295, -181, -1243 },
3828 { -12847, -4496, 2984, 1123 },
3829 { -13860, -7915, -1166, -547 },
3830 { -12276, -8145, -2290, -1527 },
3831 { -11417, -4830, 2983, 1854 },
3832 { -11793, -6002, 1163, 1940 },
3833 { 11443, -4920, -3235, 3151 },
3834 { 11300, -6616, -1506, 1175 },
3835 { 9198, -4628, -2060, 2390 },
3836 { 10532, -4027, -643, 912 },
3837 { 9902, -3573, -1606, 1327 },
3838 { 9653, -3536, -2240, 1869 },
3839 { 9948, -5171, -423, 2662 },
3840 { 12316, -4004, -1989, 281 },
3841 { 12125, -4800, -1265, -163 },
3842 { 10650, -2617, -2337, 1462 },
3843 { 9909, -4968, -2376, 916 },
3844 { 12944, -4647, -1958, 460 },
3845 { 12988, -5283, -1141, 41 },
3846 { 12321, -2915, -3621, 1025 },
3847 { 11449, -2894, -2728, 351 },
3848 { 12087, -3041, -2002, -32 },
3849 { 11558, -4031, -1343, -399 },
3850 { 12983, -3740, -3516, 1245 },
3851 { 12099, -2515, -2752, 225 },
3852 { 12515, -3465, -2701, 550 },
3853 { 14683, -5022, -5272, 2996 },
3854 { 12260, -3383, -1215, -528 },
3855 { 13810, -5422, -2443, 1166 },
3856 { 13421, -5378, -1886, 721 },
3857 { 12961, -4259, -2594, 796 },
3858 { 12266, -2104, -4768, 1591 },
3859 { 13523, -4710, -3045, 1342 },
3860 { 12437, -2099, -5610, 2117 },
3861 { 11850, -2183, -3497, 661 },
3862 { 12275, -3936, -597, -697 },
3863 { 12459, -5253, -517, -544 },
3864 { 12835, -4094, -1322, -168 },
3865 { 14360, -5677, -3305, 1859 },
3866 { 13905, -4552, -4309, 2117 },
3867 { 11559, -3412, -1847, -81 },
3868 { 13379, -3167, -5764, 2746 },
3869 { 11910, -1634, -4342, 1052 },
3870 { 12662, -4742, 71, -974 },
3871 { 13057, -3254, -4424, 1705 },
3872 { 15046, -5706, -4851, 3019 },
3873 { 14162, -4142, -5514, 2843 },
3874 { 12764, -1845, -6684, 2888 },
3875 { 13714, -2374, -7838, 3857 },
3876 { 13295, -1663, -8293, 4073 },
3877 { 10032, -4152, -3403, 1421 },
3878 { 10942, -5386, -2222, 950 },
3879 { 10532, -6385, -1750, 1925 },
3880 { 10273, -5972, -1534, 643 },
3881 { 10605, -4782, -1695, 27 },
3882 { 10988, -5153, -1123, -341 },
3883 { 11629, -5884, -1060, 48 },
3884 { 10441, -4045, -2431, 311 },
3885 { 10788, -3595, -4171, 1807 },
3886 { 12110, -5686, -2127, 976 },
3887 { 11746, -4773, -2639, 891 },
3888 { 11541, -5299, -3031, 1732 },
3889 { 11416, -2559, -5359, 2198 },
3890 { 11583, -5376, -704, 677 },
3891 { 10416, -3214, -3516, 872 },
3892 { 9651, -5435, -1618, 3255 },
3893 { 9973, -5133, -996, 3923 },
3894 { 11707, -4643, -430, -796 },
3895 { 10994, -2709, -3587, 2302 },
3896 { 10716, -5118, -645, 270 },
3897 { 14100, -10314, 1095, 1531 },
3898 { 12944, -8049, 1105, -741 },
3899 { 13276, -7035, -511, 274 },
3900 { 14008, -7254, -283, 139 },
3901 { 11594, -6536, -91, 1671 },
3902 { 11732, -8645, 746, 15 },
3903 { 14613, -7085, -1578, 1183 },
3904 { 13083, -6224, -750, -4 },
3905 { 13988, -6256, -1592, 820 },
3906 { 14678, -8683, 441, 126 },
3907 { 15571, -8872, -521, 1139 },
3908 { 15642, -9533, 341, 697 },
3909 { 15960, -9586, -168, 1121 },
3910 { 15464, -10239, 1433, -1 },
3911 { 14934, -7887, -1046, 1080 },
3912 { 15252, -7630, -1899, 1628 },
3913 { 15485, -8384, -1234, 1484 },
3914 { 15962, -8638, -1815, 1931 },
3915 { 16501, -10664, 398, 1167 },
3916 { 16146, -10145, 411, 918 },
3917 { 14573, -7475, -697, 601 },
3918 { 14302, -7996, 28, 257 },
3919 { 14769, -6792, -2286, 1574 },
3920 { 14144, -6137, -2169, 1257 },
3921 { 14770, -6271, -3111, 1933 },
3922 { 14110, -8312, 1083, -531 },
3923 { 15235, -6991, -2993, 2174 },
3924 { 13222, -5805, 547, -891 },
3925 { 14796, -8762, 1254, -246 },
3926 { 16040, -9181, -1005, 1551 },
3927 { 16487, -10086, -373, 1420 },
3928 { 15077, -9479, 966, 51 },
3929 { 13026, -6468, 932, -1080 },
3930 { 12703, -6152, -33, -573 },
3931 { 15641, -6810, -4128, 2874 },
3932 { 13282, -7673, 1583, -1283 },
3933 { 12373, -7150, 1512, -917 },
3934 { 12992, -7751, -678, 783 },
3935 { 10907, -6858, -313, 2597 },
3936 { 13026, -8963, 125, 2152 },
3937 { 12770, -9946, 1957, -505 },
3938 { 12482, -6849, -1268, 833 },
3939 { 13790, -6181, -138, -279 },
3940 { 12709, -8382, 2044, 227 },
3941 { 12244, -6630, 203, -457 },
3942 { 14209, -6816, -1032, 632 },
3943 { 15134, -8267, -288, 640 },
3944 { 13619, -6157, -1090, 356 },
3945 { 14044, -7413, 725, -484 },
3946 { 12958, -7753, 2585, -1980 },
3947 { 13188, -8396, 2306, -1558 },
3948 { 14379, -9980, 2132, -688 },
3949 { 14275, -9857, 1162, 179 },
3950 { 13690, -8648, 1621, -889 },
3951 { 11770, -6829, -746, 278 },
3952 { 12732, -8202, 286, 90 },
3953 { 13630, -10146, 1867, -207 },
3954 { 12072, -8740, 1299, -645 },
3955 { 12852, -9492, 1226, 62 },
3956 { 11792, -7382, -54, -116 },
3957 { 13779, -9014, 487, 351 },
3958 { 11951, -7729, 121, 834 },
3959 { 11970, -9781, 2276, -4 },
3960 { 12680, -7984, 2787, -787 },
3961 { 13300, -14488, 6408, -1927 },
3962 { 13635, -15355, 9153, -3073 },
3963 { 12804, -13566, 5517, -1625 },
3964 { 16624, -10854, 1690, 28 },
3965 { 20387, -18532, 6162, -261 },
3966 { 16515, -12642, 3392, -519 },
3967 { 15800, -11095, 2151, -202 },
3968 { 16824, -11790, 1651, 599 },
3969 { 17604, -13213, 2563, 538 },
3970 { 17892, -14177, 3562, 147 },
3971 { 16987, -11399, 869, 1052 },
3972 { 17003, -12456, 2442, 265 },
3973 { 21657, -21806, 9198, -1250 },
3974 { 16825, -13341, 3980, -686 },
3975 { 17525, -12714, 1887, 805 },
3976 { 16419, -11034, 1216, 617 },
3977 { 20931, -19939, 7469, -684 },
3978 { 18452, -15390, 4573, -191 },
3979 { 14778, -10077, 2841, -1209 },
3980 { 17402, -13319, 3042, 160 },
3981 { 19365, -17922, 7087, -1061 },
3982 { 16298, -11941, 2810, -351 },
3983 { 19087, -16176, 4775, -84 },
3984 { 17666, -12289, 938, 1224 },
3985 { 18581, -15894, 5132, -430 },
3986 { 19823, -16717, 4142, 545 },
3987 { 19960, -19423, 8400, -1492 },
3988 { 18973, -16817, 5906, -594 },
3989 { 19079, -15431, 3528, 503 },
3990 { 16667, -12485, 4467, -1302 },
3991 { 19791, -17797, 6196, -529 },
3992 { 20005, -17606, 5354, -20 },
3993 { 20123, -18599, 6886, -728 },
3994 { 19068, -14805, 2394, 1105 },
3995 { 14443, -13723, 5631, -2029 },
3996 { 14730, -14231, 5631, -1450 },
3997 { 16089, -15959, 7271, -2029 },
3998 { 13473, -11200, 3236, -924 },
3999 { 14413, -10902, 2347, -267 },
4000 { 17666, -18662, 11381, -3496 },
4001 { 14749, -11042, 3305, -275 },
4002 { 15304, -10486, 1869, -240 },
4003 { 14809, -12126, 3369, -616 },
4004 { 16896, -16561, 7307, -1845 },
4005 { 15782, -14336, 5380, -1264 },
4006 { 16395, -15520, 6415, -1588 },
4007 { 13681, -11114, 2584, -320 },
4008 { 14244, -12326, 4480, -1632 },
4009 { 15247, -13119, 4265, -898 },
4010 { 13987, -12091, 3469, -597 },
4011 { 13941, -12770, 4240, -839 },
4012 { 13771, -13627, 5252, -1384 },
4013 { 15010, -16074, 7592, -2249 },
4014 { 15852, -17226, 8619, -2655 },
4015 { 18921, -16916, 6875, -1501 },
4016 { 14909, -11678, 2768, -295 },
4017 { 18988, -18353, 8424, -2070 },
4018 { 15457, -15080, 6218, -1513 },
4019 { 14916, -15512, 6949, -1883 },
4020 { 18108, -14702, 4681, -701 },
4021 { 17600, -15733, 5616, -775 },
4022 { 14070, -13683, 6472, -2626 },
4023 { 13832, -11914, 5201, -2232 },
4024 { 18846, -19009, 9192, -1961 },
4025 { -11981, -10994, -6324, -2264 },
4026 { -10976, -9047, -6546, -3828 },
4027 { -11288, -10532, -7014, -4191 },
4028 { -10139, -10189, -7799, -2688 },
4029 { -10555, -9988, -9181, -2040 },
4030 { -11596, -11339, -10022, -2707 },
4031 { -13400, -13395, -11306, -4206 },
4032 { -9774, -12281, -7466, -4133 },
4033 { -10842, -13125, -8777, -4956 },
4034 { -11964, -15082, -9779, -5095 },
4035 { -9382, -10188, -9053, -4927 },
4036 { -11562, -11296, -3651, -985 },
4037 { -9287, -10083, -7918, -4069 },
4038 { -12821, -16556, -11410, -6195 },
4039 { -12628, -8959, -4521, -1113 },
4040 { -13845, -11581, -3649, -681 },
4041 { -12685, -10269, -5483, -1275 },
4042 { -14988, -12874, -5107, -1189 },
4043 { -13761, -11367, -6202, -1804 },
4044 { -13225, -11249, -7820, -3354 },
4045 { -14809, -11992, -3202, -312 },
4046 { -15620, -15519, -10210, -3433 },
4047 { -12954, -10200, -3139, -611 },
4048 { -11536, -9981, -5284, -923 },
4049 { -13034, -12417, -4612, -1098 },
4050 { -16911, -15505, -6123, -1352 },
4051 { -17396, -17685, -8330, -2171 },
4052 { -14120, -10764, -2265, -99 },
4053 { -12598, -7367, -5406, -3530 },
4054 { -14143, -12793, -10909, -5226 },
4055 { -14692, -16871, -11626, -5554 },
4056 { -12581, -11197, -9194, -3837 },
4057 { -16752, -16726, -9746, -2808 },
4058 { -10600, -10358, -6560, -1227 },
4059 { -14573, -13312, -8957, -3393 },
4060 { -10172, -8463, -8579, -3387 },
4061 { -11418, -12421, -5522, -1842 },
4062 { -11855, -14204, -6669, -2625 },
4063 { -13308, -8191, -3941, -2194 },
4064 { -10007, -12266, -5022, -1811 },
4065 { -13532, -15771, -9497, -3175 },
4066 { -11760, -11148, -10339, -5529 },
4067 { -12149, -12763, -11198, -3697 },
4068 { -12029, -12119, -8555, -1792 },
4069 { -16995, -19957, -11447, -3471 },
4070 { -13144, -14504, -9988, -3191 },
4071 { -9938, -11064, -6139, -3162 },
4072 { -8873, -11550, -8294, -6550 },
4073 { -9303, -13010, -6150, -2711 },
4074 { -15463, -10469, -1766, -170 },
4075 { -15985, -11693, -3007, -650 },
4076 { -17142, -10671, -1434, 47 },
4077 { -16063, -13858, -4817, -1058 },
4078 { -19446, -19599, -9594, -2464 },
4079 { -20076, -18744, -8313, -1889 },
4080 { -15047, -16085, -7590, -2250 },
4081 { -13481, -16195, -8552, -2998 },
4082 { -13829, -14869, -6704, -1932 },
4083 { -16357, -18484, -9802, -2959 },
4084 { -10551, -8393, -9303, -5070 },
4085 { -11345, -9156, -5641, -3107 },
4086 { -13217, -13449, -9270, -4541 },
4087 { -11988, -13732, -9995, -6374 },
4088 { -11007, -9519, -5168, -4107 },
4089 { 9930, -7858, 8061, -4375 },
4090 { 8274, -7867, 5992, -2096 },
4091 { 9692, -9675, 7621, -3670 },
4092 { 9589, -8110, 6509, -3010 },
4093 { 12617, -11976, 10122, -5360 },
4094 { 11867, -8895, 7948, -5323 },
4095 { 10388, -10482, 9234, -4324 },
4096 { 8188, -8220, 7810, -2737 },
4097 { 10407, -8787, 4806, -1930 },
4098 { 10348, -8845, 9233, -6614 },
4099 { 9422, -7091, 4820, -2878 },
4100 { 9758, -9796, 5584, -2256 },
4101 { 10188, -7994, 5347, -3343 },
4102 { 11133, -7455, 4015, -2306 },
4103 { 10676, -10744, 6093, -2629 },
4104 { 11522, -12184, 7848, -3375 },
4105 { 8805, -9883, 5317, -3071 },
4106 { 9498, -9654, 6555, -3592 },
4107 { 10488, -8008, 4066, -1252 },
4108 { 11261, -8930, 6068, -2738 },
4109 { 12180, -10397, 5027, -1531 },
4110 { 9138, -8531, 3601, -1959 },
4111 { 8107, -8380, 4970, -2061 },
4112 { 9737, -13248, 6438, -2617 },
4113 { 11178, -10423, 2622, -522 },
4114 { 9572, -12372, 5199, -2019 },
4115 { 12057, -12144, 4147, -1099 },
4116 { 9047, -9925, 2516, -665 },
4117 { 10790, -8030, 5882, -4386 },
4118 { 7199, -8426, 6337, -2841 },
4119 { 7778, -8285, 3529, -3442 },
4120 { 7559, -10569, 3484, -1332 },
4121 { 9404, -8115, 7484, -5541 },
4122 { 7792, -11976, 5546, -2573 },
4123 { 9313, -10264, 7661, -5195 },
4124 { 6701, -10725, 4370, -1784 },
4125 { 4918, -11361, 4507, -4527 },
4126 { 5147, -12305, 3978, -5556 },
4127 { 6525, -9899, 4481, -3129 },
4128 { 7538, -12855, 6060, -4826 },
4129 { 8659, -12111, 7159, -4430 },
4130 { 8440, -11304, 4547, -1747 },
4131 { 9216, -10918, 3507, -1195 },
4132 { 6165, -9254, 4771, -4677 },
4133 { 9163, -11019, 5637, -4935 },
4134 { 13441, -11509, 6676, -2434 },
4135 { 7912, -9398, 6663, -4048 },
4136 { 11723, -13745, 8131, -4148 },
4137 { 6065, -10257, 5005, -6327 },
4138 { 11618, -12417, 5336, -1894 },
4139 { 8891, -13924, 8407, -6131 },
4140 { 9622, -12563, 7908, -5109 },
4141 { 11479, -10315, 8349, -3991 },
4142 { 11676, -14103, 6611, -2330 },
4143 { 11951, -8953, 3829, -1550 },
4144 { 10486, -8044, 10493, -5920 },
4145 { 11801, -10769, 9763, -5305 },
4146 { 6109, -8676, 5827, -1346 },
4147 { 7030, -9611, 5624, -5761 },
4148 { 12808, -12886, 8683, -4148 },
4149 { 13213, -10464, 6381, -3189 },
4150 { 11796, -13681, 10703, -6075 },
4151 { 9639, -7949, 9625, -3944 },
4152 { 8538, -6997, 5309, 453 }

9764 more lines aren’t shown here.

libavcodec/dcadec.c+118−118
@@ -34,18 +34,19 @@ · 33 unmodified lines
34#include "libavutil/mathematics.h"34#include "libavutil/mathematics.h"
35#include "libavutil/opt.h"35#include "libavutil/opt.h"
36#include "libavutil/samplefmt.h"36#include "libavutil/samplefmt.h"
37
37#include "avcodec.h"38#include "avcodec.h"
38#include "fft.h"
39#include "get_bits.h"
40#include "put_bits.h"
41#include "dcadata.h"
42#include "dcahuff.h"
43#include "dca.h"39#include "dca.h"
44#include "mathops.h"40#include "dcadata.h"
45#include "synth_filter.h"
46#include "dcadsp.h"41#include "dcadsp.h"
42#include "dcahuff.h"
43#include "fft.h"
47#include "fmtconvert.h"44#include "fmtconvert.h"
45#include "get_bits.h"
48#include "internal.h"46#include "internal.h"
47#include "mathops.h"
48#include "put_bits.h"
49#include "synth_filter.h"
49 50
50#if ARCH_ARM51#if ARCH_ARM
51# include "arm/dca.h"52# include "arm/dca.h"
@@ -173,79 +174,79 @@ static const int8_t dca_lfe_index[] = { · 121 unmodified lines
173};174};
174 175
175static const int8_t dca_channel_reorder_lfe[][9] = {176static const int8_t dca_channel_reorder_lfe[][9] = {
176 { 0, -1, -1, -1, -1, -1, -1, -1, -1},177 { 0, -1, -1, -1, -1, -1, -1, -1, -1 },
177 { 0, 1, -1, -1, -1, -1, -1, -1, -1},178 { 0, 1, -1, -1, -1, -1, -1, -1, -1 },
178 { 0, 1, -1, -1, -1, -1, -1, -1, -1},179 { 0, 1, -1, -1, -1, -1, -1, -1, -1 },
179 { 0, 1, -1, -1, -1, -1, -1, -1, -1},180 { 0, 1, -1, -1, -1, -1, -1, -1, -1 },
180 { 0, 1, -1, -1, -1, -1, -1, -1, -1},181 { 0, 1, -1, -1, -1, -1, -1, -1, -1 },
181 { 2, 0, 1, -1, -1, -1, -1, -1, -1},182 { 2, 0, 1, -1, -1, -1, -1, -1, -1 },
182 { 0, 1, 3, -1, -1, -1, -1, -1, -1},183 { 0, 1, 3, -1, -1, -1, -1, -1, -1 },
183 { 2, 0, 1, 4, -1, -1, -1, -1, -1},184 { 2, 0, 1, 4, -1, -1, -1, -1, -1 },
184 { 0, 1, 3, 4, -1, -1, -1, -1, -1},185 { 0, 1, 3, 4, -1, -1, -1, -1, -1 },
185 { 2, 0, 1, 4, 5, -1, -1, -1, -1},186 { 2, 0, 1, 4, 5, -1, -1, -1, -1 },
186 { 3, 4, 0, 1, 5, 6, -1, -1, -1},187 { 3, 4, 0, 1, 5, 6, -1, -1, -1 },
187 { 2, 0, 1, 4, 5, 6, -1, -1, -1},188 { 2, 0, 1, 4, 5, 6, -1, -1, -1 },
188 { 0, 6, 4, 5, 2, 3, -1, -1, -1},189 { 0, 6, 4, 5, 2, 3, -1, -1, -1 },
189 { 4, 2, 5, 0, 1, 6, 7, -1, -1},190 { 4, 2, 5, 0, 1, 6, 7, -1, -1 },
190 { 5, 6, 0, 1, 7, 3, 8, 4, -1},191 { 5, 6, 0, 1, 7, 3, 8, 4, -1 },
191 { 4, 2, 5, 0, 1, 6, 8, 7, -1},192 { 4, 2, 5, 0, 1, 6, 8, 7, -1 },
192};193};
193 194
194static const int8_t dca_channel_reorder_lfe_xch[][9] = {195static const int8_t dca_channel_reorder_lfe_xch[][9] = {
195 { 0, 2, -1, -1, -1, -1, -1, -1, -1},196 { 0, 2, -1, -1, -1, -1, -1, -1, -1 },
196 { 0, 1, 3, -1, -1, -1, -1, -1, -1},197 { 0, 1, 3, -1, -1, -1, -1, -1, -1 },
197 { 0, 1, 3, -1, -1, -1, -1, -1, -1},198 { 0, 1, 3, -1, -1, -1, -1, -1, -1 },
198 { 0, 1, 3, -1, -1, -1, -1, -1, -1},199 { 0, 1, 3, -1, -1, -1, -1, -1, -1 },
199 { 0, 1, 3, -1, -1, -1, -1, -1, -1},200 { 0, 1, 3, -1, -1, -1, -1, -1, -1 },
200 { 2, 0, 1, 4, -1, -1, -1, -1, -1},201 { 2, 0, 1, 4, -1, -1, -1, -1, -1 },
201 { 0, 1, 3, 4, -1, -1, -1, -1, -1},202 { 0, 1, 3, 4, -1, -1, -1, -1, -1 },
202 { 2, 0, 1, 4, 5, -1, -1, -1, -1},203 { 2, 0, 1, 4, 5, -1, -1, -1, -1 },
203 { 0, 1, 4, 5, 3, -1, -1, -1, -1},204 { 0, 1, 4, 5, 3, -1, -1, -1, -1 },
204 { 2, 0, 1, 5, 6, 4, -1, -1, -1},205 { 2, 0, 1, 5, 6, 4, -1, -1, -1 },
205 { 3, 4, 0, 1, 6, 7, 5, -1, -1},206 { 3, 4, 0, 1, 6, 7, 5, -1, -1 },
206 { 2, 0, 1, 4, 5, 6, 7, -1, -1},207 { 2, 0, 1, 4, 5, 6, 7, -1, -1 },
207 { 0, 6, 4, 5, 2, 3, 7, -1, -1},208 { 0, 6, 4, 5, 2, 3, 7, -1, -1 },
208 { 4, 2, 5, 0, 1, 7, 8, 6, -1},209 { 4, 2, 5, 0, 1, 7, 8, 6, -1 },
209 { 5, 6, 0, 1, 8, 3, 9, 4, 7},210 { 5, 6, 0, 1, 8, 3, 9, 4, 7 },
210 { 4, 2, 5, 0, 1, 6, 9, 8, 7},211 { 4, 2, 5, 0, 1, 6, 9, 8, 7 },
211};212};
212 213
213static const int8_t dca_channel_reorder_nolfe[][9] = {214static const int8_t dca_channel_reorder_nolfe[][9] = {
214 { 0, -1, -1, -1, -1, -1, -1, -1, -1},215 { 0, -1, -1, -1, -1, -1, -1, -1, -1 },
215 { 0, 1, -1, -1, -1, -1, -1, -1, -1},216 { 0, 1, -1, -1, -1, -1, -1, -1, -1 },
216 { 0, 1, -1, -1, -1, -1, -1, -1, -1},217 { 0, 1, -1, -1, -1, -1, -1, -1, -1 },
217 { 0, 1, -1, -1, -1, -1, -1, -1, -1},218 { 0, 1, -1, -1, -1, -1, -1, -1, -1 },
218 { 0, 1, -1, -1, -1, -1, -1, -1, -1},219 { 0, 1, -1, -1, -1, -1, -1, -1, -1 },
219 { 2, 0, 1, -1, -1, -1, -1, -1, -1},220 { 2, 0, 1, -1, -1, -1, -1, -1, -1 },
220 { 0, 1, 2, -1, -1, -1, -1, -1, -1},221 { 0, 1, 2, -1, -1, -1, -1, -1, -1 },
221 { 2, 0, 1, 3, -1, -1, -1, -1, -1},222 { 2, 0, 1, 3, -1, -1, -1, -1, -1 },
222 { 0, 1, 2, 3, -1, -1, -1, -1, -1},223 { 0, 1, 2, 3, -1, -1, -1, -1, -1 },
223 { 2, 0, 1, 3, 4, -1, -1, -1, -1},224 { 2, 0, 1, 3, 4, -1, -1, -1, -1 },
224 { 2, 3, 0, 1, 4, 5, -1, -1, -1},225 { 2, 3, 0, 1, 4, 5, -1, -1, -1 },
225 { 2, 0, 1, 3, 4, 5, -1, -1, -1},226 { 2, 0, 1, 3, 4, 5, -1, -1, -1 },
226 { 0, 5, 3, 4, 1, 2, -1, -1, -1},227 { 0, 5, 3, 4, 1, 2, -1, -1, -1 },
227 { 3, 2, 4, 0, 1, 5, 6, -1, -1},228 { 3, 2, 4, 0, 1, 5, 6, -1, -1 },
228 { 4, 5, 0, 1, 6, 2, 7, 3, -1},229 { 4, 5, 0, 1, 6, 2, 7, 3, -1 },
229 { 3, 2, 4, 0, 1, 5, 7, 6, -1},230 { 3, 2, 4, 0, 1, 5, 7, 6, -1 },
230};231};
231 232
232static const int8_t dca_channel_reorder_nolfe_xch[][9] = {233static const int8_t dca_channel_reorder_nolfe_xch[][9] = {
233 { 0, 1, -1, -1, -1, -1, -1, -1, -1},234 { 0, 1, -1, -1, -1, -1, -1, -1, -1 },
234 { 0, 1, 2, -1, -1, -1, -1, -1, -1},235 { 0, 1, 2, -1, -1, -1, -1, -1, -1 },
235 { 0, 1, 2, -1, -1, -1, -1, -1, -1},236 { 0, 1, 2, -1, -1, -1, -1, -1, -1 },
236 { 0, 1, 2, -1, -1, -1, -1, -1, -1},237 { 0, 1, 2, -1, -1, -1, -1, -1, -1 },
237 { 0, 1, 2, -1, -1, -1, -1, -1, -1},238 { 0, 1, 2, -1, -1, -1, -1, -1, -1 },
238 { 2, 0, 1, 3, -1, -1, -1, -1, -1},239 { 2, 0, 1, 3, -1, -1, -1, -1, -1 },
239 { 0, 1, 2, 3, -1, -1, -1, -1, -1},240 { 0, 1, 2, 3, -1, -1, -1, -1, -1 },
240 { 2, 0, 1, 3, 4, -1, -1, -1, -1},241 { 2, 0, 1, 3, 4, -1, -1, -1, -1 },
241 { 0, 1, 3, 4, 2, -1, -1, -1, -1},242 { 0, 1, 3, 4, 2, -1, -1, -1, -1 },
242 { 2, 0, 1, 4, 5, 3, -1, -1, -1},243 { 2, 0, 1, 4, 5, 3, -1, -1, -1 },
243 { 2, 3, 0, 1, 5, 6, 4, -1, -1},244 { 2, 3, 0, 1, 5, 6, 4, -1, -1 },
244 { 2, 0, 1, 3, 4, 5, 6, -1, -1},245 { 2, 0, 1, 3, 4, 5, 6, -1, -1 },
245 { 0, 5, 3, 4, 1, 2, 6, -1, -1},246 { 0, 5, 3, 4, 1, 2, 6, -1, -1 },
246 { 3, 2, 4, 0, 1, 6, 7, 5, -1},247 { 3, 2, 4, 0, 1, 6, 7, 5, -1 },
247 { 4, 5, 0, 1, 7, 2, 8, 3, 6},248 { 4, 5, 0, 1, 7, 2, 8, 3, 6 },
248 { 3, 2, 4, 0, 1, 5, 8, 7, 6},249 { 3, 2, 4, 0, 1, 5, 8, 7, 6 },
249};250};
250 251
251#define DCA_DOLBY 101 /* FIXME */252#define DCA_DOLBY 101 /* FIXME */
@@ -420,27 +421,27 @@ static av_cold void dca_init_vlcs(void) · 168 unmodified lines
420 return;421 return;
421 422
422 dca_bitalloc_index.offset = 1;423 dca_bitalloc_index.offset = 1;
423 dca_bitalloc_index.wrap = 2;424 dca_bitalloc_index.wrap = 2;
424 for (i = 0; i < 5; i++) {425 for (i = 0; i < 5; i++) {
425 dca_bitalloc_index.vlc[i].table = &dca_table[dca_vlc_offs[i]];426 dca_bitalloc_index.vlc[i].table = &dca_table[dca_vlc_offs[i]];
426 dca_bitalloc_index.vlc[i].table_allocated = dca_vlc_offs[i + 1] - dca_vlc_offs[i];427 dca_bitalloc_index.vlc[i].table_allocated = dca_vlc_offs[i + 1] - dca_vlc_offs[i];
427 init_vlc(&dca_bitalloc_index.vlc[i], bitalloc_12_vlc_bits[i], 12,428 init_vlc(&dca_bitalloc_index.vlc[i], bitalloc_12_vlc_bits[i], 12,
428 bitalloc_12_bits[i], 1, 1,429 bitalloc_12_bits[i], 1, 1,
429 bitalloc_12_codes[i], 2, 2, INIT_VLC_USE_NEW_STATIC);430 bitalloc_12_codes[i], 2, 2, INIT_VLC_USE_NEW_STATIC);
430 }431 }
431 dca_scalefactor.offset = -64;432 dca_scalefactor.offset = -64;
432 dca_scalefactor.wrap = 2;433 dca_scalefactor.wrap = 2;
433 for (i = 0; i < 5; i++) {434 for (i = 0; i < 5; i++) {
434 dca_scalefactor.vlc[i].table = &dca_table[dca_vlc_offs[i + 5]];435 dca_scalefactor.vlc[i].table = &dca_table[dca_vlc_offs[i + 5]];
435 dca_scalefactor.vlc[i].table_allocated = dca_vlc_offs[i + 6] - dca_vlc_offs[i + 5];436 dca_scalefactor.vlc[i].table_allocated = dca_vlc_offs[i + 6] - dca_vlc_offs[i + 5];
436 init_vlc(&dca_scalefactor.vlc[i], SCALES_VLC_BITS, 129,437 init_vlc(&dca_scalefactor.vlc[i], SCALES_VLC_BITS, 129,
437 scales_bits[i], 1, 1,438 scales_bits[i], 1, 1,
438 scales_codes[i], 2, 2, INIT_VLC_USE_NEW_STATIC);439 scales_codes[i], 2, 2, INIT_VLC_USE_NEW_STATIC);
439 }440 }
440 dca_tmode.offset = 0;441 dca_tmode.offset = 0;
441 dca_tmode.wrap = 1;442 dca_tmode.wrap = 1;
442 for (i = 0; i < 4; i++) {443 for (i = 0; i < 4; i++) {
443 dca_tmode.vlc[i].table = &dca_table[dca_vlc_offs[i + 10]];444 dca_tmode.vlc[i].table = &dca_table[dca_vlc_offs[i + 10]];
444 dca_tmode.vlc[i].table_allocated = dca_vlc_offs[i + 11] - dca_vlc_offs[i + 10];445 dca_tmode.vlc[i].table_allocated = dca_vlc_offs[i + 11] - dca_vlc_offs[i + 10];
445 init_vlc(&dca_tmode.vlc[i], tmode_vlc_bits[i], 4,446 init_vlc(&dca_tmode.vlc[i], tmode_vlc_bits[i], 4,
446 tmode_bits[i], 1, 1,447 tmode_bits[i], 1, 1,
@@ -484,7 +485,6 @@ static int dca_parse_audio_coding_header(DCAContext *s, int base_channel) · 37 unmodified lines
484 if (s->prim_channels > DCA_PRIM_CHANNELS_MAX)485 if (s->prim_channels > DCA_PRIM_CHANNELS_MAX)
485 s->prim_channels = DCA_PRIM_CHANNELS_MAX;486 s->prim_channels = DCA_PRIM_CHANNELS_MAX;
486 487
487
488 for (i = base_channel; i < s->prim_channels; i++) {488 for (i = base_channel; i < s->prim_channels; i++) {
489 s->subband_activity[i] = get_bits(&s->gb, 5) + 2;489 s->subband_activity[i] = get_bits(&s->gb, 5) + 2;
490 if (s->subband_activity[i] > DCA_SUBBANDS)490 if (s->subband_activity[i] > DCA_SUBBANDS)
@@ -650,18 +650,17 @@ static int dca_parse_frame_header(DCAContext *s) · 159 unmodified lines
650#endif650#endif
651 651
652 /* Primary audio coding header */652 /* Primary audio coding header */
653 s->subframes = get_bits(&s->gb, 4) + 1;653 s->subframes = get_bits(&s->gb, 4) + 1;
654 654
655 return dca_parse_audio_coding_header(s, 0);655 return dca_parse_audio_coding_header(s, 0);
656}656}
657 657
658
659static inline int get_scale(GetBitContext *gb, int level, int value, int log2range)658static inline int get_scale(GetBitContext *gb, int level, int value, int log2range)
660{659{
661 if (level < 5) {660 if (level < 5) {
662 /* huffman encoded */661 /* huffman encoded */
663 value += get_bitalloc(gb, &dca_scalefactor, level);662 value += get_bitalloc(gb, &dca_scalefactor, level);
664 value = av_clip(value, 0, (1 << log2range) - 1);663 value = av_clip(value, 0, (1 << log2range) - 1);
665 } else if (level < 8) {664 } else if (level < 8) {
666 if (level + 1 > log2range) {665 if (level + 1 > log2range) {
667 skip_bits(gb, level + 1 - log2range);666 skip_bits(gb, level + 1 - log2range);
@@ -749,10 +748,10 @@ static int dca_subframe_header(DCAContext *s, int base_channel, int block_index) · 81 unmodified lines
749 748
750 if (s->scalefactor_huffman[j] == 6) {749 if (s->scalefactor_huffman[j] == 6) {
751 scale_table = scale_factor_quant7;750 scale_table = scale_factor_quant7;
752 log_size = 7;751 log_size = 7;
753 } else {752 } else {
754 scale_table = scale_factor_quant6;753 scale_table = scale_factor_quant6;
755 log_size = 6;754 log_size = 6;
756 }755 }
757 756
758 /* When huffman coded, only the difference is encoded */757 /* When huffman coded, only the difference is encoded */
@@ -829,7 +828,7 @@ static int dca_subframe_header(DCAContext *s, int base_channel, int block_index) · 70 unmodified lines
829 /* Low frequency effect data */828 /* Low frequency effect data */
830 if (!base_channel && s->lfe) {829 if (!base_channel && s->lfe) {
831 /* LFE samples */830 /* LFE samples */
832 int lfe_samples = 2 * s->lfe * (4 + block_index);831 int lfe_samples = 2 * s->lfe * (4 + block_index);
833 int lfe_end_sample = 2 * s->lfe * (4 + block_index + s->subsubframes[s->current_subframe]);832 int lfe_end_sample = 2 * s->lfe * (4 + block_index + s->subsubframes[s->current_subframe]);
834 float lfe_scale;833 float lfe_scale;
835 834
@@ -905,7 +904,7 @@ static int dca_subframe_header(DCAContext *s, int base_channel, int block_index) · 69 unmodified lines
905 for (k = s->vq_start_subband[j]; k < s->subband_activity[j]; k++)904 for (k = s->vq_start_subband[j]; k < s->subband_activity[j]; k++)
906 av_log(s->avctx, AV_LOG_DEBUG, "VQ index: %i\n", s->high_freq_vq[j][k]);905 av_log(s->avctx, AV_LOG_DEBUG, "VQ index: %i\n", s->high_freq_vq[j][k]);
907 if (!base_channel && s->lfe) {906 if (!base_channel && s->lfe) {
908 int lfe_samples = 2 * s->lfe * (4 + block_index);907 int lfe_samples = 2 * s->lfe * (4 + block_index);
909 int lfe_end_sample = 2 * s->lfe * (4 + block_index + s->subsubframes[s->current_subframe]);908 int lfe_end_sample = 2 * s->lfe * (4 + block_index + s->subsubframes[s->current_subframe]);
910 909
911 av_log(s->avctx, AV_LOG_DEBUG, "LFE samples:\n");910 av_log(s->avctx, AV_LOG_DEBUG, "LFE samples:\n");
@@ -959,10 +958,10 @@ static void lfe_interpolation_fir(DCAContext *s, int decimation_select, · 47 unmodified lines
959 958
960 /* Select decimation filter */959 /* Select decimation filter */
961 if (decimation_select == 1) {960 if (decimation_select == 1) {
962 idx = 1;961 idx = 1;
963 prCoeff = lfe_fir_128;962 prCoeff = lfe_fir_128;
964 } else {963 } else {
965 idx = 0;964 idx = 0;
966 prCoeff = lfe_fir_64;965 prCoeff = lfe_fir_64;
967 }966 }
968 /* Interpolation */967 /* Interpolation */
@@ -1048,7 +1047,7 @@ static void dca_downmix(float **samples, int srcfmt, int lfe_present, · 79 unmodified lines
1048 }1047 }
1049 if (lfe_present) {1048 if (lfe_present) {
1050 int lf_buf = dca_lfe_index[srcfmt];1049 int lf_buf = dca_lfe_index[srcfmt];
1051 int lf_idx = dca_channels [srcfmt];1050 int lf_idx = dca_channels[srcfmt];
1052 for (i = 0; i < 256; i++) {1051 for (i = 0; i < 256; i++) {
1053 samples[0][i] += samples[lf_buf][i] * coef[lf_idx][0];1052 samples[0][i] += samples[lf_buf][i] * coef[lf_idx][0];
1054 samples[1][i] += samples[lf_buf][i] * coef[lf_idx][1];1053 samples[1][i] += samples[lf_buf][i] * coef[lf_idx][1];
@@ -1056,7 +1055,6 @@ static void dca_downmix(float **samples, int srcfmt, int lfe_present, · 1 unmodified line
1056 }1055 }
1057}1056}
1058 1057
1059
1060#ifndef decode_blockcodes1058#ifndef decode_blockcodes
1061/* Very compact version of the block code decoder that does not use table1059/* Very compact version of the block code decoder that does not use table
1062 * look-up but is slightly slower */1060 * look-up but is slightly slower */
@@ -1068,7 +1066,7 @@ static int decode_blockcode(int code, int levels, int32_t *values) · 5 unmodified lines
1068 for (i = 0; i < 4; i++) {1066 for (i = 0; i < 4; i++) {
1069 int div = FASTDIV(code, levels);1067 int div = FASTDIV(code, levels);
1070 values[i] = code - offset - div * levels;1068 values[i] = code - offset - div * levels;
1071 code = div;1069 code = div;
1072 }1070 }
1073 1071
1074 return code;1072 return code;
@@ -1136,7 +1134,7 @@ static int dca_subsubframe(DCAContext *s, int base_channel, int block_index) · 61 unmodified lines
1136 /* Deal with transients */1134 /* Deal with transients */
1137 int sfi = s->transition_mode[k][l] && subsubframe >= s->transition_mode[k][l];1135 int sfi = s->transition_mode[k][l] && subsubframe >= s->transition_mode[k][l];
1138 rscale[l] = quant_step_size * s->scale_factor[k][l][sfi] *1136 rscale[l] = quant_step_size * s->scale_factor[k][l][sfi] *
1139 s->scalefactor_adj[k][sel];1137 s->scalefactor_adj[k][sel];
1140 1138
1141 if (abits >= 11 || !dca_smpl_bitalloc[abits].vlc[sel].table) {1139 if (abits >= 11 || !dca_smpl_bitalloc[abits].vlc[sel].table) {
1142 if (abits <= 7) {1140 if (abits <= 7) {
@@ -1148,8 +1146,8 @@ static int dca_subsubframe(DCAContext *s, int base_channel, int block_index) · 5 unmodified lines
1148 1146
1149 block_code1 = get_bits(&s->gb, size);1147 block_code1 = get_bits(&s->gb, size);
1150 block_code2 = get_bits(&s->gb, size);1148 block_code2 = get_bits(&s->gb, size);
1151 err = decode_blockcodes(block_code1, block_code2,1149 err = decode_blockcodes(block_code1, block_code2,
1152 levels, block + 8 * l);1150 levels, block + 8 * l);
1153 if (err) {1151 if (err) {
1154 av_log(s->avctx, AV_LOG_ERROR,1152 av_log(s->avctx, AV_LOG_ERROR,
1155 "ERROR: block code look-up failed\n");1153 "ERROR: block code look-up failed\n");
@@ -1164,9 +1162,8 @@ static int dca_subsubframe(DCAContext *s, int base_channel, int block_index) · 8 unmodified lines
1164 /* Huffman coded */1162 /* Huffman coded */
1165 for (m = 0; m < 8; m++)1163 for (m = 0; m < 8; m++)
1166 block[8 * l + m] = get_bitalloc(&s->gb,1164 block[8 * l + m] = get_bitalloc(&s->gb,
1167 &dca_smpl_bitalloc[abits], sel);1165 &dca_smpl_bitalloc[abits], sel);
1168 }1166 }
1169
1170 }1167 }
1171 }1168 }
1172 1169
@@ -1274,7 +1271,6 @@ static int dca_filter_channels(DCAContext *s, int block_index) · 101 unmodified lines
1274 return 0;1271 return 0;
1275}1272}
1276 1273
1277
1278static int dca_subframe_footer(DCAContext *s, int base_channel)1274static int dca_subframe_footer(DCAContext *s, int base_channel)
1279{1275{
1280 int in, out, aux_data_count, aux_data_end, reserved;1276 int in, out, aux_data_count, aux_data_end, reserved;
@@ -1361,8 +1357,8 @@ static int dca_subframe_footer(DCAContext *s, int base_channel) · 80 unmodified lines
1361 1357
1362 // additional data (reserved, cf. ETSI TS 102 114 V1.4.1)1358 // additional data (reserved, cf. ETSI TS 102 114 V1.4.1)
1363 if ((reserved = (aux_data_end - get_bits_count(&s->gb))) < 0) {1359 if ((reserved = (aux_data_end - get_bits_count(&s->gb))) < 0) {
1364 av_log(s->avctx, AV_LOG_ERROR,1360 av_log(s->avctx, AV_LOG_ERROR,
1365 "Overread auxiliary data by %d bits\n", -reserved);1361 "Overread auxiliary data by %d bits\n", -reserved);
1366 return AVERROR_INVALIDDATA;1362 return AVERROR_INVALIDDATA;
1367 } else if (reserved) {1363 } else if (reserved) {
1368 avpriv_request_sample(s->avctx,1364 avpriv_request_sample(s->avctx,
@@ -1536,7 +1532,6 @@ static int dca_exss_parse_asset_header(DCAContext *s) · 167 unmodified lines
1536 skip_bits_long(&s->gb, num_dec_ch * 5); // remap codes1532 skip_bits_long(&s->gb, num_dec_ch * 5); // remap codes
1537 }1533 }
1538 }1534 }
1539
1540 } else {1535 } else {
1541 skip_bits(&s->gb, 3); // representation type1536 skip_bits(&s->gb, 3); // representation type
1542 }1537 }
@@ -1579,10 +1574,18 @@ static int dca_exss_parse_asset_header(DCAContext *s) · 36 unmodified lines
1579 }1574 }
1580 1575
1581 switch (get_bits(&s->gb, 2)) {1576 switch (get_bits(&s->gb, 2)) {
1582 case 0: extensions_mask = get_bits(&s->gb, 12); break;1577 case 0:
1583 case 1: extensions_mask = DCA_EXT_EXSS_XLL; break;1578 extensions_mask = get_bits(&s->gb, 12);
1584 case 2: extensions_mask = DCA_EXT_EXSS_LBR; break;1579 break;
1585 case 3: extensions_mask = 0; /* aux coding */ break;1580 case 1:
1581 extensions_mask = DCA_EXT_EXSS_XLL;
1582 break;
1583 case 2:
1584 extensions_mask = DCA_EXT_EXSS_LBR;
1585 break;
1586 case 3:
1587 extensions_mask = 0; /* aux coding */
1588 break;
1586 }1589 }
1587 1590
1588 /* not parsed further, we were only interested in the extensions mask */1591 /* not parsed further, we were only interested in the extensions mask */
@@ -1711,7 +1714,7 @@ static int dca_decode_frame(AVCodecContext *avctx, void *data, · 122 unmodified lines
1711{1714{
1712 AVFrame *frame = data;1715 AVFrame *frame = data;
1713 const uint8_t *buf = avpkt->data;1716 const uint8_t *buf = avpkt->data;
1714 int buf_size = avpkt->size;1717 int buf_size = avpkt->size;
1715 1718
1716 int lfe_samples;1719 int lfe_samples;
1717 int num_core_channels = 0;1720 int num_core_channels = 0;
@@ -1721,7 +1724,6 @@ static int dca_decode_frame(AVCodecContext *avctx, void *data, · 3 unmodified lines
1721 int channels, full_channels;1724 int channels, full_channels;
1722 int core_ss_end;1725 int core_ss_end;
1723 1726
1724
1725 s->xch_present = 0;1727 s->xch_present = 0;
1726 1728
1727 s->dca_buffer_size = ff_dca_convert_bitstream(buf, buf_size, s->dca_buffer,1729 s->dca_buffer_size = ff_dca_convert_bitstream(buf, buf_size, s->dca_buffer,
@@ -1732,10 +1734,10 @@ static int dca_decode_frame(AVCodecContext *avctx, void *data, · 4 unmodified lines
1732 }1734 }
1733 1735
1734 if ((ret = dca_parse_frame_header(s)) < 0) {1736 if ((ret = dca_parse_frame_header(s)) < 0) {
1735 //seems like the frame is corrupt, try with the next one1737 // seems like the frame is corrupt, try with the next one
1736 return ret;1738 return ret;
1737 }1739 }
1738 //set AVCodec values with parsed data1740 // set AVCodec values with parsed data
1739 avctx->sample_rate = s->sample_rate;1741 avctx->sample_rate = s->sample_rate;
1740 avctx->bit_rate = s->bit_rate;1742 avctx->bit_rate = s->bit_rate;
1741 1743
@@ -1761,7 +1763,6 @@ static int dca_decode_frame(AVCodecContext *avctx, void *data, · 19 unmodified lines
1761 /* only scan for extensions if ext_descr was unknown or indicated a1763 /* only scan for extensions if ext_descr was unknown or indicated a
1762 * supported XCh extension */1764 * supported XCh extension */
1763 if (s->core_ext_mask < 0 || s->core_ext_mask & DCA_EXT_XCH) {1765 if (s->core_ext_mask < 0 || s->core_ext_mask & DCA_EXT_XCH) {
1764
1765 /* if ext_descr was unknown, clear s->core_ext_mask so that the1766 /* if ext_descr was unknown, clear s->core_ext_mask so that the
1766 * extensions scan can fill it up */1767 * extensions scan can fill it up */
1767 s->core_ext_mask = FFMAX(s->core_ext_mask, 0);1768 s->core_ext_mask = FFMAX(s->core_ext_mask, 0);
@@ -1792,8 +1793,9 @@ static int dca_decode_frame(AVCodecContext *avctx, void *data, · 24 unmodified lines
1792 /* extension amode(number of channels in extension) should be 1 */1793 /* extension amode(number of channels in extension) should be 1 */
1793 /* AFAIK XCh is not used for more channels */1794 /* AFAIK XCh is not used for more channels */
1794 if ((ext_amode = get_bits(&s->gb, 4)) != 1) {1795 if ((ext_amode = get_bits(&s->gb, 4)) != 1) {
1795 av_log(avctx, AV_LOG_ERROR, "XCh extension amode %d not"1796 av_log(avctx, AV_LOG_ERROR,
1796 " supported!\n", ext_amode);1797 "XCh extension amode %d not supported!\n",
1798 ext_amode);
1797 continue;1799 continue;
1798 }1800 }
1799 1801
@@ -1883,7 +1885,7 @@ FF_ENABLE_DEPRECATION_WARNINGS · 83 unmodified lines
1883 s->channel_order_tab = dca_channel_reorder_nolfe_xch[s->amode];1885 s->channel_order_tab = dca_channel_reorder_nolfe_xch[s->amode];
1884 }1886 }
1885 } else {1887 } else {
1886 channels = num_core_channels + !!s->lfe;1888 channels = num_core_channels + !!s->lfe;
1887 s->xch_present = 0; /* disable further xch processing */1889 s->xch_present = 0; /* disable further xch processing */
1888 if (s->lfe) {1890 if (s->lfe) {
1889 avctx->channel_layout |= AV_CH_LOW_FREQUENCY;1891 avctx->channel_layout |= AV_CH_LOW_FREQUENCY;
@@ -1898,8 +1900,8 @@ FF_ENABLE_DEPRECATION_WARNINGS · 8 unmodified lines
1898 1900
1899 if (num_core_channels + !!s->lfe > 2 &&1901 if (num_core_channels + !!s->lfe > 2 &&
1900 avctx->request_channel_layout == AV_CH_LAYOUT_STEREO) {1902 avctx->request_channel_layout == AV_CH_LAYOUT_STEREO) {
1901 channels = 2;1903 channels = 2;
1902 s->output = s->prim_channels == 2 ? s->amode : DCA_STEREO;1904 s->output = s->prim_channels == 2 ? s->amode : DCA_STEREO;
1903 avctx->channel_layout = AV_CH_LAYOUT_STEREO;1905 avctx->channel_layout = AV_CH_LAYOUT_STEREO;
1904 1906
1905 /* Stereo downmix coefficients1907 /* Stereo downmix coefficients
@@ -1954,7 +1956,7 @@ FF_ENABLE_DEPRECATION_WARNINGS · 48 unmodified lines
1954 av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");1956 av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
1955 return ret;1957 return ret;
1956 }1958 }
1957 samples_flt = (float **)frame->extended_data;1959 samples_flt = (float **) frame->extended_data;
1958 1960
1959 /* allocate buffer for extra channels if downmixing */1961 /* allocate buffer for extra channels if downmixing */
1960 if (avctx->channels < full_channels) {1962 if (avctx->channels < full_channels) {
@@ -1969,7 +1971,7 @@ FF_ENABLE_DEPRECATION_WARNINGS · 8 unmodified lines
1969 if (!s->extra_channels_buffer)1971 if (!s->extra_channels_buffer)
1970 return AVERROR(ENOMEM);1972 return AVERROR(ENOMEM);
1971 1973
1972 ret = av_samples_fill_arrays((uint8_t **)s->extra_channels, NULL,1974 ret = av_samples_fill_arrays((uint8_t **) s->extra_channels, NULL,
1973 s->extra_channels_buffer,1975 s->extra_channels_buffer,
1974 full_channels - channels,1976 full_channels - channels,
1975 frame->nb_samples, avctx->sample_fmt, 0);1977 frame->nb_samples, avctx->sample_fmt, 0);
@@ -2018,8 +2020,6 @@ FF_ENABLE_DEPRECATION_WARNINGS · 42 unmodified lines
2018 return buf_size;2020 return buf_size;
2019}2021}
2020 2022
2021
2022
2023/**2023/**
2024 * DCA initialization2024 * DCA initialization
2025 *2025 *
@@ -2073,7 +2073,7 @@ static const AVProfile profiles[] = { · 47 unmodified lines
2073};2073};
2074 2074
2075static const AVOption options[] = {2075static const AVOption options[] = {
2076 { "disable_xch", "disable decoding of the XCh extension", offsetof(DCAContext, xch_disable), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, AV_OPT_FLAG_DECODING_PARAM|AV_OPT_FLAG_AUDIO_PARAM },2076 { "disable_xch", "disable decoding of the XCh extension", offsetof(DCAContext, xch_disable), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, AV_OPT_FLAG_DECODING_PARAM | AV_OPT_FLAG_AUDIO_PARAM },
2077 { NULL },2077 { NULL },
2078};2078};
2079 2079
libavcodec/dcadsp.c+15−10
@@ -20,8 +20,10 @@ · 19 unmodified lines
20 */20 */
21 21
22#include "config.h"22#include "config.h"
23
23#include "libavutil/attributes.h"24#include "libavutil/attributes.h"
24#include "libavutil/intreadwrite.h"25#include "libavutil/intreadwrite.h"
26
25#include "dcadsp.h"27#include "dcadsp.h"
26 28
27static void decode_hf_c(float dst[DCA_SUBBANDS][8],29static void decode_hf_c(float dst[DCA_SUBBANDS][8],
@@ -42,9 +44,8 @@ static void decode_hf_c(float dst[DCA_SUBBANDS][8], · 14 unmodified lines
42 }44 }
43}45}
44 46
45static inline void47static inline void dca_lfe_fir(float *out, const float *in, const float *coefs,
46dca_lfe_fir(float *out, const float *in, const float *coefs,48 int decifactor)
47 int decifactor)
48{49{
49 float *out2 = out + 2 * decifactor - 1;50 float *out2 = out + 2 * decifactor - 1;
50 int num_coeffs = 256 / decifactor;51 int num_coeffs = 256 / decifactor;
@@ -55,7 +56,7 @@ dca_lfe_fir(float *out, const float *in, const float *coefs, · 4 unmodified lines
55 float v0 = 0.0;56 float v0 = 0.0;
56 float v1 = 0.0;57 float v1 = 0.0;
57 for (j = 0; j < num_coeffs; j++, coefs++) {58 for (j = 0; j < num_coeffs; j++, coefs++) {
58 v0 += in[-j] * *coefs;59 v0 += in[-j] * *coefs;
59 v1 += in[j + 1 - num_coeffs] * *coefs;60 v1 += in[j + 1 - num_coeffs] * *coefs;
60 }61 }
61 *out++ = v0;62 *out++ = v0;
@@ -86,7 +87,8 @@ static void dca_qmf_32_subbands(float samples_in[32][8], int sb_act, · 24 unmodified lines
86 }87 }
87 88
88 synth->synth_filter_float(imdct, synth_buf_ptr, synth_buf_offset,89 synth->synth_filter_float(imdct, synth_buf_ptr, synth_buf_offset,
89 synth_buf2, window, samples_out, raXin, scale);90 synth_buf2, window, samples_out, raXin,
91 scale);
90 samples_out += 32;92 samples_out += 32;
91 }93 }
92}94}
@@ -103,10 +105,13 @@ static void dca_lfe_fir1_c(float *out, const float *in, const float *coefs) · 10 unmodified lines
103 105
104av_cold void ff_dcadsp_init(DCADSPContext *s)106av_cold void ff_dcadsp_init(DCADSPContext *s)
105{107{
106 s->lfe_fir[0] = dca_lfe_fir0_c;108 s->lfe_fir[0] = dca_lfe_fir0_c;
107 s->lfe_fir[1] = dca_lfe_fir1_c;109 s->lfe_fir[1] = dca_lfe_fir1_c;
108 s->qmf_32_subbands = dca_qmf_32_subbands;110 s->qmf_32_subbands = dca_qmf_32_subbands;
109 s->decode_hf = decode_hf_c;111 s->decode_hf = decode_hf_c;
110 if (ARCH_ARM) ff_dcadsp_init_arm(s);112
111 if (ARCH_X86) ff_dcadsp_init_x86(s);113 if (ARCH_ARM)
114 ff_dcadsp_init_arm(s);
115 if (ARCH_X86)
116 ff_dcadsp_init_x86(s);
112}117}
libavcodec/dcahuff.h+456−491
@@ -29,632 +29,595 @@ · 28 unmodified lines
29#define TMODE_COUNT 429#define TMODE_COUNT 4
30static const uint8_t tmode_vlc_bits[TMODE_COUNT] = { 3, 3, 3, 2 };30static const uint8_t tmode_vlc_bits[TMODE_COUNT] = { 3, 3, 3, 2 };
31static const uint16_t tmode_codes[TMODE_COUNT][4] = {31static const uint16_t tmode_codes[TMODE_COUNT][4] = {
32 { 0x0000, 0x0002, 0x0006, 0x0007 },32 { 0x0000, 0x0002, 0x0006, 0x0007 },
33 { 0x0002, 0x0006, 0x0007, 0x0000 },33 { 0x0002, 0x0006, 0x0007, 0x0000 },
34 { 0x0006, 0x0007, 0x0000, 0x0002 },34 { 0x0006, 0x0007, 0x0000, 0x0002 },
35 { 0x0000, 0x0001, 0x0002, 0x0003 }35 { 0x0000, 0x0001, 0x0002, 0x0003 }
36};36};
37
37static const uint8_t tmode_bits[TMODE_COUNT][4] = {38static const uint8_t tmode_bits[TMODE_COUNT][4] = {
38 { 1, 2, 3, 3 },39 { 1, 2, 3, 3 },
39 { 2, 3, 3, 1 },40 { 2, 3, 3, 1 },
40 { 3, 3, 1, 2 },41 { 3, 3, 1, 2 },
41 { 2, 2, 2, 2 }42 { 2, 2, 2, 2 }
42};43};
43 44
44 45#define BITALLOC_12_COUNT 5
45#define BITALLOC_12_COUNT 5
46#define BITALLOC_12_VLC_BITS 946#define BITALLOC_12_VLC_BITS 9
47static const uint8_t bitalloc_12_vlc_bits[BITALLOC_12_COUNT] = {47static const uint8_t bitalloc_12_vlc_bits[BITALLOC_12_COUNT] = {
48 9, 7, 7, 9, 948 9, 7, 7, 9, 9
49};49};
50
50static const uint16_t bitalloc_12_codes[BITALLOC_12_COUNT][12] = {51static const uint16_t bitalloc_12_codes[BITALLOC_12_COUNT][12] = {
51 {52 { 0x0000, 0x0002, 0x0006, 0x000E, 0x001E, 0x003E, 0x00FF, 0x00FE,
52 0x0000, 0x0002, 0x0006, 0x000E, 0x001E, 0x003E, 0x00FF, 0x00FE,53 0x01FB, 0x01FA, 0x01F9, 0x01F8, },
53 0x01FB, 0x01FA, 0x01F9, 0x01F8,54 { 0x0001, 0x0000, 0x0002, 0x000F, 0x000C, 0x001D, 0x0039, 0x0038,
54 },55 0x0037, 0x0036, 0x0035, 0x0034, },
55 {56 { 0x0000, 0x0007, 0x0005, 0x0004, 0x0002, 0x000D, 0x000C, 0x0006,
56 0x0001, 0x0000, 0x0002, 0x000F, 0x000C, 0x001D, 0x0039, 0x0038,57 0x000F, 0x001D, 0x0039, 0x0038, },
57 0x0037, 0x0036, 0x0035, 0x0034,58 { 0x0003, 0x0002, 0x0000, 0x0002, 0x0006, 0x000E, 0x001E, 0x003E,
58 },59 0x007E, 0x00FE, 0x01FF, 0x01FE, },
59 {60 { 0x0001, 0x0000, 0x0002, 0x0006, 0x000E, 0x003F, 0x003D, 0x007C,
60 0x0000, 0x0007, 0x0005, 0x0004, 0x0002, 0x000D, 0x000C, 0x0006,61 0x0079, 0x0078, 0x00FB, 0x00FA, }
61 0x000F, 0x001D, 0x0039, 0x0038,
62 },
63 {
64 0x0003, 0x0002, 0x0000, 0x0002, 0x0006, 0x000E, 0x001E, 0x003E,
65 0x007E, 0x00FE, 0x01FF, 0x01FE,
66 },
67 {
68 0x0001, 0x0000, 0x0002, 0x0006, 0x000E, 0x003F, 0x003D, 0x007C,
69 0x0079, 0x0078, 0x00FB, 0x00FA,
70 }
71};62};
63
72static const uint8_t bitalloc_12_bits[BITALLOC_12_COUNT][12] = {64static const uint8_t bitalloc_12_bits[BITALLOC_12_COUNT][12] = {
73 { 1, 2, 3, 4, 5, 6, 8, 8, 9, 9, 9, 9 },65 { 1, 2, 3, 4, 5, 6, 8, 8, 9, 9, 9, 9 },
74 { 1, 2, 3, 5, 5, 6, 7, 7, 7, 7, 7, 7 },66 { 1, 2, 3, 5, 5, 6, 7, 7, 7, 7, 7, 7 },
75 { 2, 3, 3, 3, 3, 4, 4, 4, 5, 6, 7, 7 },67 { 2, 3, 3, 3, 3, 4, 4, 4, 5, 6, 7, 7 },
76 { 2, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10 },68 { 2, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10 },
77 { 1, 2, 3, 4, 5, 7, 7, 8, 8, 8, 9, 9 }69 { 1, 2, 3, 4, 5, 7, 7, 8, 8, 8, 9, 9 }
78};70};
79 71
80 72#define SCALES_COUNT 5
81#define SCALES_COUNT 5
82#define SCALES_VLC_BITS 973#define SCALES_VLC_BITS 9
83static const uint16_t scales_codes[SCALES_COUNT][129] = {74static const uint16_t scales_codes[SCALES_COUNT][129] = {
84 {75 { 0x3AB0, 0x3AB2, 0x3AB4, 0x3AB6, 0x3AB8, 0x3ABA, 0x3ABC, 0x3ABE,
85 0x3AB0, 0x3AB2, 0x3AB4, 0x3AB6, 0x3AB8, 0x3ABA, 0x3ABC, 0x3ABE,76 0x3AC0, 0x3AC2, 0x3AC4, 0x3AC6, 0x3AC8, 0x3ACA, 0x3ACC, 0x3ACE,
86 0x3AC0, 0x3AC2, 0x3AC4, 0x3AC6, 0x3AC8, 0x3ACA, 0x3ACC, 0x3ACE,77 0x3AD0, 0x3AD2, 0x3AD4, 0x3AD6, 0x3AD8, 0x3ADA, 0x3ADC, 0x3ADE,
87 0x3AD0, 0x3AD2, 0x3AD4, 0x3AD6, 0x3AD8, 0x3ADA, 0x3ADC, 0x3ADE,78 0x3AE0, 0x3AE2, 0x3AE4, 0x3AE6, 0x3AE8, 0x3AEA, 0x3AEC, 0x3AEE,
88 0x3AE0, 0x3AE2, 0x3AE4, 0x3AE6, 0x3AE8, 0x3AEA, 0x3AEC, 0x3AEE,79 0x3AF0, 0x3AF2, 0x3AF4, 0x3AF6, 0x3AF8, 0x3AFA, 0x3AFC, 0x3AFE,
89 0x3AF0, 0x3AF2, 0x3AF4, 0x3AF6, 0x3AF8, 0x3AFA, 0x3AFC, 0x3AFE,80 0x0540, 0x0542, 0x0544, 0x0546, 0x0548, 0x054A, 0x054C, 0x054E,
90 0x0540, 0x0542, 0x0544, 0x0546, 0x0548, 0x054A, 0x054C, 0x054E,81 0x0558, 0x055E, 0x02AD, 0x0154, 0x0754, 0x03A8, 0x0056, 0x0028,
91 0x0558, 0x055E, 0x02AD, 0x0154, 0x0754, 0x03A8, 0x0056, 0x0028,82 0x00E8, 0x004A, 0x000B, 0x003B, 0x0013, 0x0003, 0x000F, 0x0005,
92 0x00E8, 0x004A, 0x000B, 0x003B, 0x0013, 0x0003, 0x000F, 0x0005,83 0x0001, 0x0006, 0x0000, 0x0008, 0x001C, 0x0004, 0x0024, 0x004B,
93 0x0001, 0x0006, 0x0000, 0x0008, 0x001C, 0x0004, 0x0024, 0x004B,84 0x00E9, 0x0029, 0x0057, 0x03A9, 0x0755, 0x0155, 0x02AE, 0x055F,
94 0x00E9, 0x0029, 0x0057, 0x03A9, 0x0755, 0x0155, 0x02AE, 0x055F,85 0x0559, 0x054F, 0x054D, 0x054B, 0x0549, 0x0547, 0x0545, 0x0543,
95 0x0559, 0x054F, 0x054D, 0x054B, 0x0549, 0x0547, 0x0545, 0x0543,86 0x0541, 0x3AFF, 0x3AFD, 0x3AFB, 0x3AF9, 0x3AF7, 0x3AF5, 0x3AF3,
96 0x0541, 0x3AFF, 0x3AFD, 0x3AFB, 0x3AF9, 0x3AF7, 0x3AF5, 0x3AF3,87 0x3AF1, 0x3AEF, 0x3AED, 0x3AEB, 0x3AE9, 0x3AE7, 0x3AE5, 0x3AE3,
97 0x3AF1, 0x3AEF, 0x3AED, 0x3AEB, 0x3AE9, 0x3AE7, 0x3AE5, 0x3AE3,88 0x3AE1, 0x3ADF, 0x3ADD, 0x3ADB, 0x3AD9, 0x3AD7, 0x3AD5, 0x3AD3,
98 0x3AE1, 0x3ADF, 0x3ADD, 0x3ADB, 0x3AD9, 0x3AD7, 0x3AD5, 0x3AD3,89 0x3AD1, 0x3ACF, 0x3ACD, 0x3ACB, 0x3AC9, 0x3AC7, 0x3AC5, 0x3AC3,
99 0x3AD1, 0x3ACF, 0x3ACD, 0x3ACB, 0x3AC9, 0x3AC7, 0x3AC5, 0x3AC3,90 0x3AC1, 0x3ABF, 0x3ABD, 0x3ABB, 0x3AB9, 0x3AB7, 0x3AB5, 0x3AB3,
100 0x3AC1, 0x3ABF, 0x3ABD, 0x3ABB, 0x3AB9, 0x3AB7, 0x3AB5, 0x3AB3,91 0x3AB1, },
101 0x3AB1,92 { 0x0F60, 0x0F62, 0x0F64, 0x0F66, 0x0F68, 0x0F6A, 0x0F6C, 0x0F6E,
102 },93 0x0F70, 0x0F72, 0x0F74, 0x0F76, 0x0F78, 0x0F7A, 0x0F7C, 0x0F7E,
103 {94 0x0F80, 0x0F82, 0x0F84, 0x0F86, 0x0F88, 0x0F8A, 0x0F8C, 0x0F8E,
104 0x0F60, 0x0F62, 0x0F64, 0x0F66, 0x0F68, 0x0F6A, 0x0F6C, 0x0F6E,95 0x0F90, 0x0F92, 0x0F94, 0x0F96, 0x0F98, 0x0F9A, 0x0F9C, 0x0F9E,
105 0x0F70, 0x0F72, 0x0F74, 0x0F76, 0x0F78, 0x0F7A, 0x0F7C, 0x0F7E,96 0x0FA0, 0x0FA2, 0x0FA4, 0x0FA6, 0x0FA8, 0x0FAA, 0x0FAC, 0x0FAE,
106 0x0F80, 0x0F82, 0x0F84, 0x0F86, 0x0F88, 0x0F8A, 0x0F8C, 0x0F8E,97 0x0FB0, 0x0FB2, 0x0FB4, 0x0FB6, 0x0FB8, 0x0FBA, 0x0FBC, 0x0FBE,
107 0x0F90, 0x0F92, 0x0F94, 0x0F96, 0x0F98, 0x0F9A, 0x0F9C, 0x0F9E,98 0x07A0, 0x07A2, 0x03D2, 0x01EA, 0x00FC, 0x007F, 0x001C, 0x000C,
108 0x0FA0, 0x0FA2, 0x0FA4, 0x0FA6, 0x0FA8, 0x0FAA, 0x0FAC, 0x0FAE,99 0x0004, 0x0034, 0x0010, 0x001B, 0x0009, 0x000B, 0x000E, 0x0001,
109 0x0FB0, 0x0FB2, 0x0FB4, 0x0FB6, 0x0FB8, 0x0FBA, 0x0FBC, 0x0FBE,100 0x0003, 0x0002, 0x000F, 0x000C, 0x000A, 0x0000, 0x0011, 0x0035,
110 0x07A0, 0x07A2, 0x03D2, 0x01EA, 0x00FC, 0x007F, 0x001C, 0x000C,101 0x0005, 0x000D, 0x001D, 0x003C, 0x00FD, 0x01EB, 0x03D3, 0x07A3,
111 0x0004, 0x0034, 0x0010, 0x001B, 0x0009, 0x000B, 0x000E, 0x0001,102 0x07A1, 0x0FBF, 0x0FBD, 0x0FBB, 0x0FB9, 0x0FB7, 0x0FB5, 0x0FB3,
112 0x0003, 0x0002, 0x000F, 0x000C, 0x000A, 0x0000, 0x0011, 0x0035,103 0x0FB1, 0x0FAF, 0x0FAD, 0x0FAB, 0x0FA9, 0x0FA7, 0x0FA5, 0x0FA3,
113 0x0005, 0x000D, 0x001D, 0x003C, 0x00FD, 0x01EB, 0x03D3, 0x07A3,104 0x0FA1, 0x0F9F, 0x0F9D, 0x0F9B, 0x0F99, 0x0F97, 0x0F95, 0x0F93,
114 0x07A1, 0x0FBF, 0x0FBD, 0x0FBB, 0x0FB9, 0x0FB7, 0x0FB5, 0x0FB3,105 0x0F91, 0x0F8F, 0x0F8D, 0x0F8B, 0x0F89, 0x0F87, 0x0F85, 0x0F83,
115 0x0FB1, 0x0FAF, 0x0FAD, 0x0FAB, 0x0FA9, 0x0FA7, 0x0FA5, 0x0FA3,106 0x0F81, 0x0F7F, 0x0F7D, 0x0F7B, 0x0F79, 0x0F77, 0x0F75, 0x0F73,
116 0x0FA1, 0x0F9F, 0x0F9D, 0x0F9B, 0x0F99, 0x0F97, 0x0F95, 0x0F93,107 0x0F71, 0x0F6F, 0x0F6D, 0x0F6B, 0x0F69, 0x0F67, 0x0F65, 0x0F63,
117 0x0F91, 0x0F8F, 0x0F8D, 0x0F8B, 0x0F89, 0x0F87, 0x0F85, 0x0F83,108 0x0F61, },
118 0x0F81, 0x0F7F, 0x0F7D, 0x0F7B, 0x0F79, 0x0F77, 0x0F75, 0x0F73,109 { 0x51D0, 0x51D2, 0x51D4, 0x51D6, 0x51D8, 0x51DA, 0x51DC, 0x51DE,
119 0x0F71, 0x0F6F, 0x0F6D, 0x0F6B, 0x0F69, 0x0F67, 0x0F65, 0x0F63,110 0x51E0, 0x51E2, 0x51E4, 0x51E6, 0x51E8, 0x51EA, 0x51EC, 0x51EE,
120 0x0F61,111 0x51F0, 0x51F2, 0x51F4, 0x51F6, 0x51F8, 0x51FA, 0x51FC, 0x51FE,
121 },112 0x70C0, 0x70C2, 0x70C4, 0x70C6, 0x70C8, 0x70CA, 0x70CC, 0x70CE,
122 {113 0x70EC, 0x10EA, 0x3868, 0x3877, 0x0876, 0x1C35, 0x0434, 0x0A34,
123 0x51D0, 0x51D2, 0x51D4, 0x51D6, 0x51D8, 0x51DA, 0x51DC, 0x51DE,114 0x0E1B, 0x021B, 0x051B, 0x070F, 0x010F, 0x0380, 0x0080, 0x0140,
124 0x51E0, 0x51E2, 0x51E4, 0x51E6, 0x51E8, 0x51EA, 0x51EC, 0x51EE,115 0x01C1, 0x0041, 0x00A1, 0x00E2, 0x0022, 0x0052, 0x0072, 0x0012,
125 0x51F0, 0x51F2, 0x51F4, 0x51F6, 0x51F8, 0x51FA, 0x51FC, 0x51FE,116 0x002A, 0x003A, 0x000A, 0x0016, 0x001E, 0x0006, 0x000C, 0x0000,
126 0x70C0, 0x70C2, 0x70C4, 0x70C6, 0x70C8, 0x70CA, 0x70CC, 0x70CE,117 0x0004, 0x0001, 0x000D, 0x0007, 0x001F, 0x0017, 0x000B, 0x003B,
127 0x70EC, 0x10EA, 0x3868, 0x3877, 0x0876, 0x1C35, 0x0434, 0x0A34,118 0x002B, 0x0013, 0x0073, 0x0053, 0x0023, 0x00E3, 0x00A2, 0x0042,
128 0x0E1B, 0x021B, 0x051B, 0x070F, 0x010F, 0x0380, 0x0080, 0x0140,119 0x01C2, 0x0141, 0x0081, 0x0381, 0x028C, 0x010C, 0x051C, 0x021C,
129 0x01C1, 0x0041, 0x00A1, 0x00E2, 0x0022, 0x0052, 0x0072, 0x0012,120 0x0E1C, 0x0A35, 0x0435, 0x1C3A, 0x0877, 0x0874, 0x3869, 0x10EB,
130 0x002A, 0x003A, 0x000A, 0x0016, 0x001E, 0x0006, 0x000C, 0x0000,121 0x70ED, 0x70CF, 0x70CD, 0x70CB, 0x70C9, 0x70C7, 0x70C5, 0x70C3,
131 0x0004, 0x0001, 0x000D, 0x0007, 0x001F, 0x0017, 0x000B, 0x003B,122 0x70C1, 0x51FF, 0x51FD, 0x51FB, 0x51F9, 0x51F7, 0x51F5, 0x51F3,
132 0x002B, 0x0013, 0x0073, 0x0053, 0x0023, 0x00E3, 0x00A2, 0x0042,123 0x51F1, 0x51EF, 0x51ED, 0x51EB, 0x51E9, 0x51E7, 0x51E5, 0x51E3,
133 0x01C2, 0x0141, 0x0081, 0x0381, 0x028C, 0x010C, 0x051C, 0x021C,124 0x51E1, 0x51DF, 0x51DD, 0x51DB, 0x51D9, 0x51D7, 0x51D5, 0x51D3,
134 0x0E1C, 0x0A35, 0x0435, 0x1C3A, 0x0877, 0x0874, 0x3869, 0x10EB,125 0x51D1, },
135 0x70ED, 0x70CF, 0x70CD, 0x70CB, 0x70C9, 0x70C7, 0x70C5, 0x70C3,126 { 0x6F64, 0x6F66, 0x6F68, 0x6F6A, 0x6F6C, 0x6F6E, 0x6F70, 0x6F72,
136 0x70C1, 0x51FF, 0x51FD, 0x51FB, 0x51F9, 0x51F7, 0x51F5, 0x51F3,127 0x6F74, 0x6F76, 0x6F78, 0x6F7A, 0x6F7C, 0x6F7E, 0x6F80, 0x6F82,
137 0x51F1, 0x51EF, 0x51ED, 0x51EB, 0x51E9, 0x51E7, 0x51E5, 0x51E3,128 0x6F84, 0x6F86, 0x6F88, 0x6F8A, 0x6F8C, 0x6F8E, 0x6F90, 0x6F92,
138 0x51E1, 0x51DF, 0x51DD, 0x51DB, 0x51D9, 0x51D7, 0x51D5, 0x51D3,129 0x6F94, 0x6F96, 0x6F98, 0x6F9A, 0x6F9C, 0x6F9E, 0x6FA0, 0x6FA2,
139 0x51D1,130 0x6FA4, 0x6FA6, 0x6FA8, 0x6FAA, 0x6FAC, 0x6FAE, 0x6FB0, 0x6FB2,
140 },131 0x6FB4, 0x6FB6, 0x17B4, 0x37DC, 0x0BDB, 0x1BEF, 0x05EE, 0x0DF8,
141 {132 0x02F8, 0x06FD, 0x017D, 0x037F, 0x00BF, 0x0040, 0x00C0, 0x0021,
142 0x6F64, 0x6F66, 0x6F68, 0x6F6A, 0x6F6C, 0x6F6E, 0x6F70, 0x6F72,133 0x0061, 0x0011, 0x0031, 0x0009, 0x0019, 0x0006, 0x000E, 0x0004,
143 0x6F74, 0x6F76, 0x6F78, 0x6F7A, 0x6F7C, 0x6F7E, 0x6F80, 0x6F82,134 0x0000, 0x0005, 0x000F, 0x0007, 0x001A, 0x000A, 0x0036, 0x0016,
144 0x6F84, 0x6F86, 0x6F88, 0x6F8A, 0x6F8C, 0x6F8E, 0x6F90, 0x6F92,135 0x006E, 0x002E, 0x00C1, 0x0041, 0x01BC, 0x00BC, 0x037A, 0x017A,
145 0x6F94, 0x6F96, 0x6F98, 0x6F9A, 0x6F9C, 0x6F9E, 0x6FA0, 0x6FA2,136 0x02F9, 0x0DF9, 0x05EF, 0x05EC, 0x1BD8, 0x37DD, 0x17B5, 0x6FB7,
146 0x6FA4, 0x6FA6, 0x6FA8, 0x6FAA, 0x6FAC, 0x6FAE, 0x6FB0, 0x6FB2,137 0x6FB5, 0x6FB3, 0x6FB1, 0x6FAF, 0x6FAD, 0x6FAB, 0x6FA9, 0x6FA7,
147 0x6FB4, 0x6FB6, 0x17B4, 0x37DC, 0x0BDB, 0x1BEF, 0x05EE, 0x0DF8,138 0x6FA5, 0x6FA3, 0x6FA1, 0x6F9F, 0x6F9D, 0x6F9B, 0x6F99, 0x6F97,
148 0x02F8, 0x06FD, 0x017D, 0x037F, 0x00BF, 0x0040, 0x00C0, 0x0021,139 0x6F95, 0x6F93, 0x6F91, 0x6F8F, 0x6F8D, 0x6F8B, 0x6F89, 0x6F87,
149 0x0061, 0x0011, 0x0031, 0x0009, 0x0019, 0x0006, 0x000E, 0x0004,140 0x6F85, 0x6F83, 0x6F81, 0x6F7F, 0x6F7D, 0x6F7B, 0x6F79, 0x6F77,
150 0x0000, 0x0005, 0x000F, 0x0007, 0x001A, 0x000A, 0x0036, 0x0016,141 0x6F75, 0x6F73, 0x6F71, 0x6F6F, 0x6F6D, 0x6F6B, 0x6F69, 0x6F67,
151 0x006E, 0x002E, 0x00C1, 0x0041, 0x01BC, 0x00BC, 0x037A, 0x017A,142 0x6F65, },
152 0x02F9, 0x0DF9, 0x05EF, 0x05EC, 0x1BD8, 0x37DD, 0x17B5, 0x6FB7,143 { 0xDF54, 0xDF56, 0xDFC8, 0xDFCA, 0xDFCC, 0xDFCE, 0xDFD0, 0xDFD2,
153 0x6FB5, 0x6FB3, 0x6FB1, 0x6FAF, 0x6FAD, 0x6FAB, 0x6FA9, 0x6FA7,144 0xDFD4, 0xDFD6, 0xDFD8, 0xDFDA, 0xDFDC, 0xDFDE, 0xDFE0, 0xDFE2,
154 0x6FA5, 0x6FA3, 0x6FA1, 0x6F9F, 0x6F9D, 0x6F9B, 0x6F99, 0x6F97,145 0x0FE8, 0x2FEA, 0x6FA8, 0x6FF6, 0x07F5, 0x07F7, 0x37D2, 0x37F9,
155 0x6F95, 0x6F93, 0x6F91, 0x6F8F, 0x6F8D, 0x6F8B, 0x6F89, 0x6F87,146 0x03F8, 0x0BF8, 0x0BFB, 0x1BEB, 0x01FA, 0x05FA, 0x09FA, 0x0DFA,
156 0x6F85, 0x6F83, 0x6F81, 0x6F7F, 0x6F7D, 0x6F7B, 0x6F79, 0x6F77,147 0x0DFF, 0x00FF, 0x02FF, 0x06FB, 0x007C, 0x017C, 0x027C, 0x027F,
157 0x6F75, 0x6F73, 0x6F71, 0x6F6F, 0x6F6D, 0x6F6B, 0x6F69, 0x6F67,148 0x003C, 0x00BC, 0x013C, 0x01BC, 0x001C, 0x005C, 0x009C, 0x00DC,
158 0x6F65,149 0x000C, 0x002C, 0x004C, 0x006C, 0x0004, 0x0014, 0x0024, 0x0034,
159 },150 0x0000, 0x0008, 0x0010, 0x0018, 0x001E, 0x0002, 0x0006, 0x000A,
160 {151 0x000E, 0x000B, 0x0007, 0x0003, 0x001F, 0x0019, 0x0011, 0x0009,
161 0xDF54, 0xDF56, 0xDFC8, 0xDFCA, 0xDFCC, 0xDFCE, 0xDFD0, 0xDFD2,152 0x0001, 0x0035, 0x0025, 0x0015, 0x0005, 0x006D, 0x004D, 0x002D,
162 0xDFD4, 0xDFD6, 0xDFD8, 0xDFDA, 0xDFDC, 0xDFDE, 0xDFE0, 0xDFE2,153 0x000D, 0x00DD, 0x009D, 0x005D, 0x001D, 0x01BD, 0x013D, 0x00BD,
163 0x0FE8, 0x2FEA, 0x6FA8, 0x6FF6, 0x07F5, 0x07F7, 0x37D2, 0x37F9,154 0x003D, 0x037C, 0x027D, 0x017D, 0x007D, 0x06FC, 0x04FC, 0x02FC,
164 0x03F8, 0x0BF8, 0x0BFB, 0x1BEB, 0x01FA, 0x05FA, 0x09FA, 0x0DFA,155 0x00FC, 0x0DFB, 0x09FB, 0x05FB, 0x01FB, 0x1BF8, 0x1BE8, 0x0BF9,
165 0x0DFF, 0x00FF, 0x02FF, 0x06FB, 0x007C, 0x017C, 0x027C, 0x027F,156 0x03F9, 0x37FA, 0x37D3, 0x17F4, 0x07F6, 0x6FF7, 0x6FA9, 0x2FEB,
166 0x003C, 0x00BC, 0x013C, 0x01BC, 0x001C, 0x005C, 0x009C, 0x00DC,157 0x0FE9, 0xDFE3, 0xDFE1, 0xDFDF, 0xDFDD, 0xDFDB, 0xDFD9, 0xDFD7,
167 0x000C, 0x002C, 0x004C, 0x006C, 0x0004, 0x0014, 0x0024, 0x0034,158 0xDFD5, 0xDFD3, 0xDFD1, 0xDFCF, 0xDFCD, 0xDFCB, 0xDFC9, 0xDF57,
168 0x0000, 0x0008, 0x0010, 0x0018, 0x001E, 0x0002, 0x0006, 0x000A,159 0xDF55, }
169 0x000E, 0x000B, 0x0007, 0x0003, 0x001F, 0x0019, 0x0011, 0x0009,
170 0x0001, 0x0035, 0x0025, 0x0015, 0x0005, 0x006D, 0x004D, 0x002D,
171 0x000D, 0x00DD, 0x009D, 0x005D, 0x001D, 0x01BD, 0x013D, 0x00BD,
172 0x003D, 0x037C, 0x027D, 0x017D, 0x007D, 0x06FC, 0x04FC, 0x02FC,
173 0x00FC, 0x0DFB, 0x09FB, 0x05FB, 0x01FB, 0x1BF8, 0x1BE8, 0x0BF9,
174 0x03F9, 0x37FA, 0x37D3, 0x17F4, 0x07F6, 0x6FF7, 0x6FA9, 0x2FEB,
175 0x0FE9, 0xDFE3, 0xDFE1, 0xDFDF, 0xDFDD, 0xDFDB, 0xDFD9, 0xDFD7,
176 0xDFD5, 0xDFD3, 0xDFD1, 0xDFCF, 0xDFCD, 0xDFCB, 0xDFC9, 0xDF57,
177 0xDF55,
178 }
179};160};
180 161
181static const uint8_t scales_bits[SCALES_COUNT][129] = {162static const uint8_t scales_bits[SCALES_COUNT][129] = {
182 {163 { 14, 14, 14, 14, 14, 14, 14, 14,
183 14, 14, 14, 14, 14, 14, 14, 14,164 14, 14, 14, 14, 14, 14, 14, 14,
184 14, 14, 14, 14, 14, 14, 14, 14,165 14, 14, 14, 14, 14, 14, 14, 14,
185 14, 14, 14, 14, 14, 14, 14, 14,166 14, 14, 14, 14, 14, 14, 14, 14,
186 14, 14, 14, 14, 14, 14, 14, 14,167 14, 14, 14, 14, 14, 14, 14, 14,
187 14, 14, 14, 14, 14, 14, 14, 14,168 13, 13, 13, 13, 13, 13, 13, 13,
188 13, 13, 13, 13, 13, 13, 13, 13,169 13, 13, 12, 11, 11, 10, 9, 8,
189 13, 13, 12, 11, 11, 10, 9, 8,170 8, 7, 6, 6, 5, 4, 4, 3,
190 8, 7, 6, 6, 5, 4, 4, 3,171 2, 3, 3, 4, 5, 5, 6, 7,
191 2, 3, 3, 4, 5, 5, 6, 7,172 8, 8, 9, 10, 11, 11, 12, 13,
192 8, 8, 9, 10, 11, 11, 12, 13,173 13, 13, 13, 13, 13, 13, 13, 13,
193 13, 13, 13, 13, 13, 13, 13, 13,174 13, 14, 14, 14, 14, 14, 14, 14,
194 13, 14, 14, 14, 14, 14, 14, 14,175 14, 14, 14, 14, 14, 14, 14, 14,
195 14, 14, 14, 14, 14, 14, 14, 14,176 14, 14, 14, 14, 14, 14, 14, 14,
196 14, 14, 14, 14, 14, 14, 14, 14,177 14, 14, 14, 14, 14, 14, 14, 14,
197 14, 14, 14, 14, 14, 14, 14, 14,178 14, 14, 14, 14, 14, 14, 14, 14,
198 14, 14, 14, 14, 14, 14, 14, 14,179 14, },
199 14,180 { 15, 15, 15, 15, 15, 15, 15, 15,
200 },181 15, 15, 15, 15, 15, 15, 15, 15,
201 {182 15, 15, 15, 15, 15, 15, 15, 15,
202 15, 15, 15, 15, 15, 15, 15, 15,183 15, 15, 15, 15, 15, 15, 15, 15,
203 15, 15, 15, 15, 15, 15, 15, 15,184 15, 15, 15, 15, 15, 15, 15, 15,
204 15, 15, 15, 15, 15, 15, 15, 15,185 15, 15, 15, 15, 15, 15, 15, 15,
205 15, 15, 15, 15, 15, 15, 15, 15,186 14, 14, 13, 12, 11, 10, 8, 7,
206 15, 15, 15, 15, 15, 15, 15, 15,187 6, 6, 5, 5, 4, 4, 4, 3,
207 15, 15, 15, 15, 15, 15, 15, 15,188 3, 3, 4, 4, 4, 4, 5, 6,
208 14, 14, 13, 12, 11, 10, 8, 7,189 6, 7, 8, 9, 11, 12, 13, 14,
209 6, 6, 5, 5, 4, 4, 4, 3,190 14, 15, 15, 15, 15, 15, 15, 15,
210 3, 3, 4, 4, 4, 4, 5, 6,191 15, 15, 15, 15, 15, 15, 15, 15,
211 6, 7, 8, 9, 11, 12, 13, 14,192 15, 15, 15, 15, 15, 15, 15, 15,
212 14, 15, 15, 15, 15, 15, 15, 15,193 15, 15, 15, 15, 15, 15, 15, 15,
213 15, 15, 15, 15, 15, 15, 15, 15,194 15, 15, 15, 15, 15, 15, 15, 15,
214 15, 15, 15, 15, 15, 15, 15, 15,195 15, 15, 15, 15, 15, 15, 15, 15,
215 15, 15, 15, 15, 15, 15, 15, 15,196 15, },
216 15, 15, 15, 15, 15, 15, 15, 15,197 { 15, 15, 15, 15, 15, 15, 15, 15,
217 15, 15, 15, 15, 15, 15, 15, 15,198 15, 15, 15, 15, 15, 15, 15, 15,
218 15,199 15, 15, 15, 15, 15, 15, 15, 15,
219 },200 15, 15, 15, 15, 15, 15, 15, 15,
220 {201 15, 14, 14, 14, 13, 13, 12, 12,
221 15, 15, 15, 15, 15, 15, 15, 15,202 12, 11, 11, 11, 10, 10, 9, 9,
222 15, 15, 15, 15, 15, 15, 15, 15,203 9, 8, 8, 8, 7, 7, 7, 6,
223 15, 15, 15, 15, 15, 15, 15, 15,204 6, 6, 5, 5, 5, 4, 4, 3,
224 15, 15, 15, 15, 15, 15, 15, 15,205 3, 3, 4, 4, 5, 5, 5, 6,
225 15, 14, 14, 14, 13, 13, 12, 12,206 6, 6, 7, 7, 7, 8, 8, 8,
226 12, 11, 11, 11, 10, 10, 9, 9,207 9, 9, 9, 10, 10, 10, 11, 11,
227 9, 8, 8, 8, 7, 7, 7, 6,208 12, 12, 12, 13, 13, 13, 14, 14,
228 6, 6, 5, 5, 5, 4, 4, 3,209 15, 15, 15, 15, 15, 15, 15, 15,
229 3, 3, 4, 4, 5, 5, 5, 6,210 15, 15, 15, 15, 15, 15, 15, 15,
230 6, 6, 7, 7, 7, 8, 8, 8,211 15, 15, 15, 15, 15, 15, 15, 15,
231 9, 9, 9, 10, 10, 10, 11, 11,212 15, 15, 15, 15, 15, 15, 15, 15,
232 12, 12, 12, 13, 13, 13, 14, 14,213 15, },
233 15, 15, 15, 15, 15, 15, 15, 15,214 { 15, 15, 15, 15, 15, 15, 15, 15,
234 15, 15, 15, 15, 15, 15, 15, 15,215 15, 15, 15, 15, 15, 15, 15, 15,
235 15, 15, 15, 15, 15, 15, 15, 15,216 15, 15, 15, 15, 15, 15, 15, 15,
236 15, 15, 15, 15, 15, 15, 15, 15,217 15, 15, 15, 15, 15, 15, 15, 15,
237 15,218 15, 15, 15, 15, 15, 15, 15, 15,
238 },219 15, 15, 14, 14, 13, 13, 12, 12,
239 {220 11, 11, 10, 10, 9, 8, 8, 7,
240 15, 15, 15, 15, 15, 15, 15, 15,221 7, 6, 6, 5, 5, 4, 4, 3,
241 15, 15, 15, 15, 15, 15, 15, 15,222 2, 3, 4, 4, 5, 5, 6, 6,
242 15, 15, 15, 15, 15, 15, 15, 15,223 7, 7, 8, 8, 9, 9, 10, 10,
243 15, 15, 15, 15, 15, 15, 15, 15,224 11, 12, 12, 12, 13, 14, 14, 15,
244 15, 15, 15, 15, 15, 15, 15, 15,225 15, 15, 15, 15, 15, 15, 15, 15,
245 15, 15, 14, 14, 13, 13, 12, 12,226 15, 15, 15, 15, 15, 15, 15, 15,
246 11, 11, 10, 10, 9, 8, 8, 7,227 15, 15, 15, 15, 15, 15, 15, 15,
247 7, 6, 6, 5, 5, 4, 4, 3,228 15, 15, 15, 15, 15, 15, 15, 15,
248 2, 3, 4, 4, 5, 5, 6, 6,229 15, 15, 15, 15, 15, 15, 15, 15,
249 7, 7, 8, 8, 9, 9, 10, 10,230 15, },
250 11, 12, 12, 12, 13, 14, 14, 15,231 { 16, 16, 16, 16, 16, 16, 16, 16,
251 15, 15, 15, 15, 15, 15, 15, 15,232 16, 16, 16, 16, 16, 16, 16, 16,
252 15, 15, 15, 15, 15, 15, 15, 15,233 15, 15, 15, 15, 14, 14, 14, 14,
253 15, 15, 15, 15, 15, 15, 15, 15,234 13, 13, 13, 13, 12, 12, 12, 12,
254 15, 15, 15, 15, 15, 15, 15, 15,235 12, 11, 11, 11, 10, 10, 10, 10,
255 15, 15, 15, 15, 15, 15, 15, 15,236 9, 9, 9, 9, 8, 8, 8, 8,
256 15,237 7, 7, 7, 7, 6, 6, 6, 6,
257 },238 5, 5, 5, 5, 5, 4, 4, 4,
258 {239 4, 4, 4, 4, 5, 5, 5, 5,
259 16, 16, 16, 16, 16, 16, 16, 16,240 5, 6, 6, 6, 6, 7, 7, 7,
260 16, 16, 16, 16, 16, 16, 16, 16,241 7, 8, 8, 8, 8, 9, 9, 9,
261 15, 15, 15, 15, 14, 14, 14, 14,242 9, 10, 10, 10, 10, 11, 11, 11,
262 13, 13, 13, 13, 12, 12, 12, 12,243 11, 12, 12, 12, 12, 13, 13, 13,
263 12, 11, 11, 11, 10, 10, 10, 10,244 13, 14, 14, 14, 14, 15, 15, 15,
264 9, 9, 9, 9, 8, 8, 8, 8,245 15, 16, 16, 16, 16, 16, 16, 16,
265 7, 7, 7, 7, 6, 6, 6, 6,246 16, 16, 16, 16, 16, 16, 16, 16,
266 5, 5, 5, 5, 5, 4, 4, 4,247 16,
267 4, 4, 4, 4, 5, 5, 5, 5,248 }
268 5, 6, 6, 6, 6, 7, 7, 7,
269 7, 8, 8, 8, 8, 9, 9, 9,
270 9, 10, 10, 10, 10, 11, 11, 11,
271 11, 12, 12, 12, 12, 13, 13, 13,
272 13, 14, 14, 14, 14, 15, 15, 15,
273 15, 16, 16, 16, 16, 16, 16, 16,
274 16, 16, 16, 16, 16, 16, 16, 16,
275 16,
276 }
277};249};
278 250
279static const uint16_t bitalloc_3_codes[3] =251static const uint16_t bitalloc_3_codes[3] = {
280{
281 0x0003, 0x0000, 0x0002,252 0x0003, 0x0000, 0x0002,
282};253};
283static const uint8_t bitalloc_3_bits[3] =254
284{255static const uint8_t bitalloc_3_bits[3] = {
285 2, 1, 2,256 2, 1, 2,
286};257};
287 258
288static const uint16_t bitalloc_5_codes_a[5] =259static const uint16_t bitalloc_5_codes_a[5] = {
289{
290 0x000F, 0x0006, 0x0000, 0x0002, 0x000E,260 0x000F, 0x0006, 0x0000, 0x0002, 0x000E,
291};261};
292static const uint16_t bitalloc_5_codes_b[5] =262
293{263static const uint16_t bitalloc_5_codes_b[5] = {
294 0x0007, 0x0001, 0x0002, 0x0000, 0x0006,264 0x0007, 0x0001, 0x0002, 0x0000, 0x0006,
295};265};
296static const uint16_t bitalloc_5_codes_c[5] =266
297{267static const uint16_t bitalloc_5_codes_c[5] = {
298 0x0007, 0x0005, 0x0000, 0x0004, 0x0006,268 0x0007, 0x0005, 0x0000, 0x0004, 0x0006,
299};269};
300static const uint8_t bitalloc_5_bits_a[5] =270
301{271static const uint8_t bitalloc_5_bits_a[5] = {
302 4, 3, 1, 2, 4,272 4, 3, 1, 2, 4,
303};273};
304static const uint8_t bitalloc_5_bits_b[5] =274
305{275static const uint8_t bitalloc_5_bits_b[5] = {
306 3, 2, 2, 2, 3,276 3, 2, 2, 2, 3,
307};277};
308static const uint8_t bitalloc_5_bits_c[5] =278
309{279static const uint8_t bitalloc_5_bits_c[5] = {
310 3, 3, 1, 3, 3,280 3, 3, 1, 3, 3,
311};281};
312 282
313static const uint16_t bitalloc_7_codes_a[7] =283static const uint16_t bitalloc_7_codes_a[7] = {
314{
315 0x001E, 0x000E, 0x0005, 0x0000, 0x0006, 0x0004, 0x001F,284 0x001E, 0x000E, 0x0005, 0x0000, 0x0006, 0x0004, 0x001F,
316};285};
317static const uint16_t bitalloc_7_codes_b[7] =286
318{287static const uint16_t bitalloc_7_codes_b[7] = {
319 0x0014, 0x000B, 0x0000, 0x0003, 0x0001, 0x0004, 0x0015,288 0x0014, 0x000B, 0x0000, 0x0003, 0x0001, 0x0004, 0x0015,
320};289};
321static const uint16_t bitalloc_7_codes_c[7] =290
322{291static const uint16_t bitalloc_7_codes_c[7] = {
323 0x0000, 0x0002, 0x0001, 0x0003, 0x0002, 0x0003, 0x0001,292 0x0000, 0x0002, 0x0001, 0x0003, 0x0002, 0x0003, 0x0001,
324};293};
325static const uint8_t bitalloc_7_bits_a[7] =294
326{295static const uint8_t bitalloc_7_bits_a[7] = {
327 5, 4, 3, 1, 3, 3, 5,296 5, 4, 3, 1, 3, 3, 5,
328};297};
329static const uint8_t bitalloc_7_bits_b[7] =298
330{299static const uint8_t bitalloc_7_bits_b[7] = {
331 5, 4, 2, 2, 2, 3, 5,300 5, 4, 2, 2, 2, 3, 5,
332};301};
333static const uint8_t bitalloc_7_bits_c[7] =302
334{303static const uint8_t bitalloc_7_bits_c[7] = {
335 4, 4, 2, 2, 2, 4, 4,304 4, 4, 2, 2, 2, 4, 4,
336};305};
337 306
338static const uint16_t bitalloc_9_codes_a[9] =307static const uint16_t bitalloc_9_codes_a[9] = {
339{
340 0x0030, 0x0019, 0x0009, 0x0005, 0x0000, 0x0007, 0x000D, 0x0008,308 0x0030, 0x0019, 0x0009, 0x0005, 0x0000, 0x0007, 0x000D, 0x0008,
341 0x0031,309 0x0031,
342};310};
343static const uint16_t bitalloc_9_codes_b[9] =311
344{312static const uint16_t bitalloc_9_codes_b[9] = {
345 0x0018, 0x001A, 0x0002, 0x0007, 0x0002, 0x0000, 0x0003, 0x001B,313 0x0018, 0x001A, 0x0002, 0x0007, 0x0002, 0x0000, 0x0003, 0x001B,
346 0x0019,314 0x0019,
347};315};
348static const uint16_t bitalloc_9_codes_c[9] =316
349{317static const uint16_t bitalloc_9_codes_c[9] = {
350 0x001C, 0x000F, 0x0002, 0x0007, 0x0002, 0x0000, 0x0006, 0x0006,318 0x001C, 0x000F, 0x0002, 0x0007, 0x0002, 0x0000, 0x0006, 0x0006,
351 0x001D,319 0x001D,
352};320};
353static const uint8_t bitalloc_9_bits_a[9] =321
354{322static const uint8_t bitalloc_9_bits_a[9] = {
355 6, 5, 4, 3, 1, 3, 4, 4, 6,323 6, 5, 4, 3, 1, 3, 4, 4, 6,
356};324};
357static const uint8_t bitalloc_9_bits_b[9] =325
358{326static const uint8_t bitalloc_9_bits_b[9] = {
359 5, 5, 3, 3, 2, 2, 3, 5, 5,327 5, 5, 3, 3, 2, 2, 3, 5, 5,
360};328};
361static const uint8_t bitalloc_9_bits_c[9] =329
362{330static const uint8_t bitalloc_9_bits_c[9] = {
363 6, 5, 3, 3, 2, 2, 3, 4, 6,331 6, 5, 3, 3, 2, 2, 3, 4, 6,
364};332};
365 333
366static const uint16_t bitalloc_13_codes_a[13] =334static const uint16_t bitalloc_13_codes_a[13] = {
367{
368 0x0070, 0x002E, 0x0039, 0x001D, 0x000C, 0x000F, 0x0000, 0x0004,335 0x0070, 0x002E, 0x0039, 0x001D, 0x000C, 0x000F, 0x0000, 0x0004,
369 0x000D, 0x000A, 0x0016, 0x002F, 0x0071,336 0x000D, 0x000A, 0x0016, 0x002F, 0x0071,
370};337};
371static const uint16_t bitalloc_13_codes_b[13] =338
372{339static const uint16_t bitalloc_13_codes_b[13] = {
373 0x0038, 0x0010, 0x001D, 0x0007, 0x000F, 0x0005, 0x0000, 0x0006,340 0x0038, 0x0010, 0x001D, 0x0007, 0x000F, 0x0005, 0x0000, 0x0006,
374 0x0002, 0x0009, 0x0006, 0x0011, 0x0039,341 0x0002, 0x0009, 0x0006, 0x0011, 0x0039,
375};342};
376static const uint16_t bitalloc_13_codes_c[13] =343
377{344static const uint16_t bitalloc_13_codes_c[13] = {
378 0x0004, 0x001A, 0x0003, 0x000E, 0x0000, 0x0003, 0x0005, 0x0004,345 0x0004, 0x001A, 0x0003, 0x000E, 0x0000, 0x0003, 0x0005, 0x0004,
379 0x0002, 0x000F, 0x000C, 0x001B, 0x0005,346 0x0002, 0x000F, 0x000C, 0x001B, 0x0005,
380};347};
381static const uint8_t bitalloc_13_bits_a[13] =348
382{349static const uint8_t bitalloc_13_bits_a[13] = {
383 7, 6, 6, 5, 4, 4, 1, 3, 4, 4, 5, 6, 7,350 7, 6, 6, 5, 4, 4, 1, 3, 4, 4, 5, 6, 7,
384};351};
385static const uint8_t bitalloc_13_bits_b[13] =352
386{353static const uint8_t bitalloc_13_bits_b[13] = {
387 6, 5, 5, 4, 4, 3, 2, 3, 3, 4, 4, 5, 6,354 6, 5, 5, 4, 4, 3, 2, 3, 3, 4, 4, 5, 6,
388};355};
389static const uint8_t bitalloc_13_bits_c[13] =356
390{357static const uint8_t bitalloc_13_bits_c[13] = {
391 5, 5, 4, 4, 3, 3, 3, 3, 3, 4, 4, 5, 5,358 5, 5, 4, 4, 3, 3, 3, 3, 3, 4, 4, 5, 5,
392};359};
393 360
394static const uint16_t bitalloc_17_codes_a[17] =361static const uint16_t bitalloc_17_codes_a[17] = {
395{
396 0x0154, 0x00AB, 0x002B, 0x000B, 0x0003, 0x000A, 0x0001, 0x0006,362 0x0154, 0x00AB, 0x002B, 0x000B, 0x0003, 0x000A, 0x0001, 0x0006,
397 0x0001, 0x0007, 0x0004, 0x000B, 0x0000, 0x0004, 0x0014, 0x0054,363 0x0001, 0x0007, 0x0004, 0x000B, 0x0000, 0x0004, 0x0014, 0x0054,
398 0x0155,364 0x0155,
399};365};
400static const uint16_t bitalloc_17_codes_b[17] =366
401{367static const uint16_t bitalloc_17_codes_b[17] = {
402 0x007C, 0x003F, 0x0019, 0x000D, 0x001C, 0x0008, 0x000F, 0x0005,368 0x007C, 0x003F, 0x0019, 0x000D, 0x001C, 0x0008, 0x000F, 0x0005,
403 0x0000, 0x0006, 0x0002, 0x0009, 0x001D, 0x000E, 0x001E, 0x0018,369 0x0000, 0x0006, 0x0002, 0x0009, 0x001D, 0x000E, 0x001E, 0x0018,
404 0x007D,370 0x007D,
405};371};
406static const uint16_t bitalloc_17_codes_c[17] =372
407{373static const uint16_t bitalloc_17_codes_c[17] = {
408 0x002C, 0x0017, 0x0005, 0x001C, 0x0003, 0x000A, 0x000F, 0x0003,374 0x002C, 0x0017, 0x0005, 0x001C, 0x0003, 0x000A, 0x000F, 0x0003,
409 0x0006, 0x0004, 0x0000, 0x000B, 0x0004, 0x001D, 0x000A, 0x0004,375 0x0006, 0x0004, 0x0000, 0x000B, 0x0004, 0x001D, 0x000A, 0x0004,
410 0x002D,376 0x002D,
411};377};
412static const uint16_t bitalloc_17_codes_d[17] =378
413{379static const uint16_t bitalloc_17_codes_d[17] = {
414 0x0100, 0x0102, 0x0082, 0x0042, 0x0022, 0x0012, 0x000A, 0x0006,380 0x0100, 0x0102, 0x0082, 0x0042, 0x0022, 0x0012, 0x000A, 0x0006,
415 0x0000, 0x0007, 0x000B, 0x0013, 0x0023, 0x0043, 0x0083, 0x0103,381 0x0000, 0x0007, 0x000B, 0x0013, 0x0023, 0x0043, 0x0083, 0x0103,
416 0x0101,382 0x0101,
417};383};
418static const uint16_t bitalloc_17_codes_e[17] =384
419{385static const uint16_t bitalloc_17_codes_e[17] = {
420 0x00E8, 0x00F6, 0x0075, 0x0034, 0x003B, 0x001B, 0x001F, 0x0004,386 0x00E8, 0x00F6, 0x0075, 0x0034, 0x003B, 0x001B, 0x001F, 0x0004,
421 0x0000, 0x0005, 0x000C, 0x001C, 0x003C, 0x0035, 0x007A, 0x00F7,387 0x0000, 0x0005, 0x000C, 0x001C, 0x003C, 0x0035, 0x007A, 0x00F7,
422 0x00E9,388 0x00E9,
423};389};
424static const uint16_t bitalloc_17_codes_f[17] =390
425{391static const uint16_t bitalloc_17_codes_f[17] = {
426 0x0004, 0x0003, 0x001E, 0x0001, 0x0001, 0x000E, 0x0001, 0x0004,392 0x0004, 0x0003, 0x001E, 0x0001, 0x0001, 0x000E, 0x0001, 0x0004,
427 0x0006, 0x0005, 0x0002, 0x000F, 0x0006, 0x000E, 0x001F, 0x0000,393 0x0006, 0x0005, 0x0002, 0x000F, 0x0006, 0x000E, 0x001F, 0x0000,
428 0x0005,394 0x0005,
429};395};
430static const uint16_t bitalloc_17_codes_g[17] =396
431{397static const uint16_t bitalloc_17_codes_g[17] = {
432 0x0060, 0x007E, 0x0031, 0x0019, 0x000D, 0x0004, 0x0000, 0x0006,398 0x0060, 0x007E, 0x0031, 0x0019, 0x000D, 0x0004, 0x0000, 0x0006,
433 0x0002, 0x0007, 0x0001, 0x0005, 0x000E, 0x001E, 0x003E, 0x007F,399 0x0002, 0x0007, 0x0001, 0x0005, 0x000E, 0x001E, 0x003E, 0x007F,
434 0x0061,400 0x0061,
435};401};
436static const uint8_t bitalloc_17_bits_a[17] =402
437{403static const uint8_t bitalloc_17_bits_a[17] = {
438 12, 11, 9, 7, 5, 4, 3, 3, 2, 3, 3, 4, 4, 6, 8, 10,404 12, 11, 9, 7, 5, 4, 3, 3, 2, 3, 3, 4, 4, 6, 8, 10,
439 12,405 12,
440};406};
441static const uint8_t bitalloc_17_bits_b[17] =407
442{408static const uint8_t bitalloc_17_bits_b[17] = {
443 8, 7, 6, 5, 5, 4, 4, 3, 2, 3, 3, 4, 5, 5, 6, 6,409 8, 7, 6, 5, 5, 4, 4, 3, 2, 3, 3, 4, 5, 5, 6, 6,
444 8,410 8,
445};411};
446static const uint8_t bitalloc_17_bits_c[17] =412
447{413static const uint8_t bitalloc_17_bits_c[17] = {
448 7, 6, 5, 5, 4, 4, 4, 3, 3, 3, 3, 4, 4, 5, 5, 5,414 7, 6, 5, 5, 4, 4, 4, 3, 3, 3, 3, 4, 4, 5, 5, 5,
449 7,415 7,
450};416};
451static const uint8_t bitalloc_17_bits_d[17] =417
452{418static const uint8_t bitalloc_17_bits_d[17] = {
453 9, 9, 8, 7, 6, 5, 4, 3, 1, 3, 4, 5, 6, 7, 8, 9,419 9, 9, 8, 7, 6, 5, 4, 3, 1, 3, 4, 5, 6, 7, 8, 9,
454 9,420 9,
455};421};
456static const uint8_t bitalloc_17_bits_e[17] =422
457{423static const uint8_t bitalloc_17_bits_e[17] = {
458 8, 8, 7, 6, 6, 5, 5, 3, 1, 3, 4, 5, 6, 6, 7, 8,424 8, 8, 7, 6, 6, 5, 5, 3, 1, 3, 4, 5, 6, 6, 7, 8,
459 8,425 8,
460};426};
461static const uint8_t bitalloc_17_bits_f[17] =427
462{428static const uint8_t bitalloc_17_bits_f[17] = {
463 8, 7, 6, 5, 4, 4, 3, 3, 3, 3, 3, 4, 4, 5, 6, 6,429 8, 7, 6, 5, 4, 4, 3, 3, 3, 3, 3, 4, 4, 5, 6, 6,
464 8,430 8,
465};431};
466static const uint8_t bitalloc_17_bits_g[17] =432
467{433static const uint8_t bitalloc_17_bits_g[17] = {
468 8, 8, 7, 6, 5, 4, 3, 3, 2, 3, 3, 4, 5, 6, 7, 8,434 8, 8, 7, 6, 5, 4, 3, 3, 2, 3, 3, 4, 5, 6, 7, 8,
469 8,435 8,
470};436};
471 437
472static const uint16_t bitalloc_25_codes_a[25] =438static const uint16_t bitalloc_25_codes_a[25] = {
473{
474 0x2854, 0x142B, 0x050B, 0x0143, 0x00A2, 0x0052, 0x002E, 0x0015,439 0x2854, 0x142B, 0x050B, 0x0143, 0x00A2, 0x0052, 0x002E, 0x0015,
475 0x0004, 0x000E, 0x0000, 0x0003, 0x0006, 0x0004, 0x0001, 0x000F,440 0x0004, 0x000E, 0x0000, 0x0003, 0x0006, 0x0004, 0x0001, 0x000F,
476 0x0005, 0x0016, 0x002F, 0x0053, 0x00A3, 0x00A0, 0x0284, 0x0A14,441 0x0005, 0x0016, 0x002F, 0x0053, 0x00A3, 0x00A0, 0x0284, 0x0A14,
477 0x2855,442 0x2855,
478};443};
479static const uint16_t bitalloc_25_codes_b[25] =444
480{445static const uint16_t bitalloc_25_codes_b[25] = {
481 0x001C, 0x000F, 0x0005, 0x0000, 0x0030, 0x0036, 0x000E, 0x0019,446 0x001C, 0x000F, 0x0005, 0x0000, 0x0030, 0x0036, 0x000E, 0x0019,
482 0x0001, 0x0008, 0x000E, 0x0001, 0x0005, 0x0002, 0x000F, 0x0009,447 0x0001, 0x0008, 0x000E, 0x0001, 0x0005, 0x0002, 0x000F, 0x0009,
483 0x0006, 0x001A, 0x000F, 0x0037, 0x0031, 0x0001, 0x0006, 0x0004,448 0x0006, 0x001A, 0x000F, 0x0037, 0x0031, 0x0001, 0x0006, 0x0004,
484 0x001D,449 0x001D,
485};450};
486static const uint16_t bitalloc_25_codes_c[25] =451
487{452static const uint16_t bitalloc_25_codes_c[25] = {
488 0x004C, 0x0027, 0x006D, 0x0028, 0x0037, 0x000E, 0x0015, 0x0000,453 0x004C, 0x0027, 0x006D, 0x0028, 0x0037, 0x000E, 0x0015, 0x0000,
489 0x0005, 0x0008, 0x000B, 0x000E, 0x0001, 0x000F, 0x000C, 0x0009,454 0x0005, 0x0008, 0x000B, 0x000E, 0x0001, 0x000F, 0x000C, 0x0009,
490 0x0006, 0x0001, 0x001A, 0x000F, 0x0008, 0x0029, 0x0012, 0x006C,455 0x0006, 0x0001, 0x001A, 0x000F, 0x0008, 0x0029, 0x0012, 0x006C,
491 0x004D,456 0x004D,
492};457};
493static const uint16_t bitalloc_25_codes_d[25] =458
494{459static const uint16_t bitalloc_25_codes_d[25] = {
495 0x0780, 0x0782, 0x03C2, 0x01E2, 0x00FE, 0x0079, 0x003D, 0x001C,460 0x0780, 0x0782, 0x03C2, 0x01E2, 0x00FE, 0x0079, 0x003D, 0x001C,
496 0x000C, 0x0004, 0x0000, 0x0006, 0x0002, 0x0007, 0x0001, 0x0005,461 0x000C, 0x0004, 0x0000, 0x0006, 0x0002, 0x0007, 0x0001, 0x0005,
497 0x000D, 0x001D, 0x003E, 0x007E, 0x00FF, 0x01E3, 0x03C3, 0x0783,462 0x000D, 0x001D, 0x003E, 0x007E, 0x00FF, 0x01E3, 0x03C3, 0x0783,
498 0x0781,463 0x0781,
499};464};
500static const uint16_t bitalloc_25_codes_e[25] =465
501{466static const uint16_t bitalloc_25_codes_e[25] = {
502 0x003C, 0x0092, 0x0018, 0x001F, 0x004E, 0x000D, 0x0025, 0x0004,467 0x003C, 0x0092, 0x0018, 0x001F, 0x004E, 0x000D, 0x0025, 0x0004,
503 0x0010, 0x0000, 0x000A, 0x0002, 0x0003, 0x0003, 0x000B, 0x0001,468 0x0010, 0x0000, 0x000A, 0x0002, 0x0003, 0x0003, 0x000B, 0x0001,
504 0x0011, 0x0005, 0x0026, 0x000E, 0x004F, 0x0048, 0x0019, 0x0093,469 0x0011, 0x0005, 0x0026, 0x000E, 0x004F, 0x0048, 0x0019, 0x0093,
505 0x003D,470 0x003D,
506};471};
507static const uint16_t bitalloc_25_codes_f[25] =472
508{473static const uint16_t bitalloc_25_codes_f[25] = {
509 0x0324, 0x0193, 0x00CE, 0x0065, 0x0024, 0x000C, 0x0013, 0x0004,474 0x0324, 0x0193, 0x00CE, 0x0065, 0x0024, 0x000C, 0x0013, 0x0004,
510 0x0007, 0x000A, 0x000D, 0x000F, 0x0001, 0x0000, 0x000E, 0x000B,475 0x0007, 0x000A, 0x000D, 0x000F, 0x0001, 0x0000, 0x000E, 0x000B,
511 0x0008, 0x0005, 0x0018, 0x000D, 0x0025, 0x0066, 0x00CF, 0x00C8,476 0x0008, 0x0005, 0x0018, 0x000D, 0x0025, 0x0066, 0x00CF, 0x00C8,
512 0x0325,477 0x0325,
513};478};
514static const uint16_t bitalloc_25_codes_g[25] =479
515{480static const uint16_t bitalloc_25_codes_g[25] = {
516 0x03A8, 0x03AE, 0x01D5, 0x0094, 0x0014, 0x004B, 0x000B, 0x003B,481 0x03A8, 0x03AE, 0x01D5, 0x0094, 0x0014, 0x004B, 0x000B, 0x003B,
517 0x0013, 0x0003, 0x000F, 0x0005, 0x0001, 0x0006, 0x0000, 0x0008,482 0x0013, 0x0003, 0x000F, 0x0005, 0x0001, 0x0006, 0x0000, 0x0008,
518 0x001C, 0x0004, 0x0024, 0x0074, 0x0015, 0x0095, 0x01D6, 0x03AF,483 0x001C, 0x0004, 0x0024, 0x0074, 0x0015, 0x0095, 0x01D6, 0x03AF,
519 0x03A9,484 0x03A9,
520};485};
521static const uint8_t bitalloc_25_bits_a[25] =486
522{487static const uint8_t bitalloc_25_bits_a[25] = {
523 14, 13, 11, 9, 8, 7, 6, 5, 4, 4, 3, 3, 3, 3, 3, 4,488 14, 13, 11, 9, 8, 7, 6, 5, 4, 4, 3, 3, 3, 3, 3, 4,
524 4, 5, 6, 7, 8, 8, 10, 12, 14,489 4, 5, 6, 7, 8, 8, 10, 12, 14,
525};490};
526static const uint8_t bitalloc_25_bits_b[25] =491
527{492static const uint8_t bitalloc_25_bits_b[25] = {
528 9, 8, 7, 6, 6, 6, 5, 5, 4, 4, 4, 3, 3, 3, 4, 4,493 9, 8, 7, 6, 6, 6, 5, 5, 4, 4, 4, 3, 3, 3, 4, 4,
529 4, 5, 5, 6, 6, 6, 7, 7, 9,494 4, 5, 5, 6, 6, 6, 7, 7, 9,
530};495};
531static const uint8_t bitalloc_25_bits_c[25] =496
532{497static const uint8_t bitalloc_25_bits_c[25] = {
533 8, 7, 7, 6, 6, 5, 5, 4, 4, 4, 4, 4, 3, 4, 4, 4,498 8, 7, 7, 6, 6, 5, 5, 4, 4, 4, 4, 4, 3, 4, 4, 4,
534 4, 4, 5, 5, 5, 6, 6, 7, 8,499 4, 4, 5, 5, 5, 6, 6, 7, 8,
535};500};
536static const uint8_t bitalloc_25_bits_d[25] =501
537{502static const uint8_t bitalloc_25_bits_d[25] = {
538 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 3, 2, 3, 3, 4,503 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 3, 2, 3, 3, 4,
539 5, 6, 7, 8, 9, 10, 11, 12, 12,504 5, 6, 7, 8, 9, 10, 11, 12, 12,
540};505};
541static const uint8_t bitalloc_25_bits_e[25] =506
542{507static const uint8_t bitalloc_25_bits_e[25] = {
543 8, 8, 7, 7, 7, 6, 6, 5, 5, 4, 4, 3, 2, 3, 4, 4,508 8, 8, 7, 7, 7, 6, 6, 5, 5, 4, 4, 3, 2, 3, 4, 4,
544 5, 5, 6, 6, 7, 7, 7, 8, 8,509 5, 5, 6, 6, 7, 7, 7, 8, 8,
545};510};
546static const uint8_t bitalloc_25_bits_f[25] =511
547{512static const uint8_t bitalloc_25_bits_f[25] = {
548 10, 9, 8, 7, 6, 5, 5, 4, 4, 4, 4, 4, 3, 3, 4, 4,513 10, 9, 8, 7, 6, 5, 5, 4, 4, 4, 4, 4, 3, 3, 4, 4,
549 4, 4, 5, 5, 6, 7, 8, 8, 10,514 4, 4, 5, 5, 6, 7, 8, 8, 10,
550};515};
551static const uint8_t bitalloc_25_bits_g[25] =516
552{517static const uint8_t bitalloc_25_bits_g[25] = {
553 10, 10, 9, 8, 7, 7, 6, 6, 5, 4, 4, 3, 2, 3, 3, 4,518 10, 10, 9, 8, 7, 7, 6, 6, 5, 4, 4, 3, 2, 3, 3, 4,
554 5, 5, 6, 7, 7, 8, 9, 10, 10,519 5, 5, 6, 7, 7, 8, 9, 10, 10,
555};520};
556 521
557static const uint16_t bitalloc_33_codes_a[33] =522static const uint16_t bitalloc_33_codes_a[33] = {
558{
559 0x1580, 0x1582, 0x0AC2, 0x0562, 0x02B2, 0x015E, 0x00AD, 0x0054,523 0x1580, 0x1582, 0x0AC2, 0x0562, 0x02B2, 0x015E, 0x00AD, 0x0054,
560 0x001C, 0x003C, 0x000F, 0x001F, 0x0008, 0x000B, 0x000D, 0x0000,524 0x001C, 0x003C, 0x000F, 0x001F, 0x0008, 0x000B, 0x000D, 0x0000,
561 0x0002, 0x0001, 0x000E, 0x000C, 0x0009, 0x0006, 0x0014, 0x003D,525 0x0002, 0x0001, 0x000E, 0x000C, 0x0009, 0x0006, 0x0014, 0x003D,
562 0x001D, 0x0055, 0x00AE, 0x015F, 0x02B3, 0x0563, 0x0AC3, 0x1583,526 0x001D, 0x0055, 0x00AE, 0x015F, 0x02B3, 0x0563, 0x0AC3, 0x1583,
563 0x1581,527 0x1581,
564};528};
565static const uint16_t bitalloc_33_codes_b[33] =529
566{530static const uint16_t bitalloc_33_codes_b[33] = {
567 0x030C, 0x0187, 0x006D, 0x0028, 0x0037, 0x0066, 0x0015, 0x0031,531 0x030C, 0x0187, 0x006D, 0x0028, 0x0037, 0x0066, 0x0015, 0x0031,
568 0x0000, 0x000B, 0x0012, 0x001A, 0x0001, 0x0007, 0x000A, 0x000E,532 0x0000, 0x000B, 0x0012, 0x001A, 0x0001, 0x0007, 0x000A, 0x000E,
569 0x0001, 0x000F, 0x000B, 0x0008, 0x0004, 0x001B, 0x0013, 0x000C,533 0x0001, 0x000F, 0x000B, 0x0008, 0x0004, 0x001B, 0x0013, 0x000C,
570 0x0001, 0x0032, 0x001A, 0x0067, 0x0060, 0x0029, 0x00C2, 0x006C,534 0x0001, 0x0032, 0x001A, 0x0067, 0x0060, 0x0029, 0x00C2, 0x006C,
571 0x030D,535 0x030D,
572};536};
573static const uint16_t bitalloc_33_codes_c[33] =537
574{538static const uint16_t bitalloc_33_codes_c[33] = {
575 0x00CC, 0x0067, 0x0005, 0x0070, 0x0003, 0x001A, 0x0039, 0x003F,539 0x00CC, 0x0067, 0x0005, 0x0070, 0x0003, 0x001A, 0x0039, 0x003F,
576 0x000A, 0x0012, 0x0018, 0x001D, 0x0001, 0x0003, 0x0007, 0x000A,540 0x000A, 0x0012, 0x0018, 0x001D, 0x0001, 0x0003, 0x0007, 0x000A,
577 0x000D, 0x000B, 0x0008, 0x0004, 0x0002, 0x001E, 0x0019, 0x0013,541 0x000D, 0x000B, 0x0008, 0x0004, 0x0002, 0x001E, 0x0019, 0x0013,
578 0x000B, 0x0000, 0x003E, 0x001B, 0x0018, 0x0071, 0x0032, 0x0004,542 0x000B, 0x0000, 0x003E, 0x001B, 0x0018, 0x0071, 0x0032, 0x0004,
579 0x00CD,543 0x00CD,
580};544};
581static const uint16_t bitalloc_33_codes_d[33] =545
582{546static const uint16_t bitalloc_33_codes_d[33] = {
583 0x3AF8, 0x3AFA, 0x1D7E, 0x0EBC, 0x075C, 0x03AC, 0x01D4, 0x0094,547 0x3AF8, 0x3AFA, 0x1D7E, 0x0EBC, 0x075C, 0x03AC, 0x01D4, 0x0094,
584 0x0014, 0x004B, 0x000B, 0x003B, 0x0013, 0x0003, 0x000F, 0x0005,548 0x0014, 0x004B, 0x000B, 0x003B, 0x0013, 0x0003, 0x000F, 0x0005,
585 0x0001, 0x0006, 0x0000, 0x0008, 0x001C, 0x0004, 0x0024, 0x0074,549 0x0001, 0x0006, 0x0000, 0x0008, 0x001C, 0x0004, 0x0024, 0x0074,
586 0x0015, 0x0095, 0x01D5, 0x03AD, 0x075D, 0x0EBD, 0x1D7F, 0x3AFB,550 0x0015, 0x0095, 0x01D5, 0x03AD, 0x075D, 0x0EBD, 0x1D7F, 0x3AFB,
587 0x3AF9,551 0x3AF9,
588};552};
589static const uint16_t bitalloc_33_codes_e[33] =553
590{554static const uint16_t bitalloc_33_codes_e[33] = {
591 0x01C8, 0x01E6, 0x0064, 0x00E2, 0x00E5, 0x0030, 0x0033, 0x0073,555 0x01C8, 0x01E6, 0x0064, 0x00E2, 0x00E5, 0x0030, 0x0033, 0x0073,
592 0x007A, 0x001A, 0x003A, 0x0002, 0x001A, 0x001F, 0x0007, 0x0001,556 0x007A, 0x001A, 0x003A, 0x0002, 0x001A, 0x001F, 0x0007, 0x0001,
593 0x0002, 0x0002, 0x000C, 0x0000, 0x001B, 0x0003, 0x003B, 0x001B,557 0x0002, 0x0002, 0x000C, 0x0000, 0x001B, 0x0003, 0x003B, 0x001B,
594 0x007B, 0x0078, 0x0070, 0x0031, 0x00F2, 0x00E3, 0x0065, 0x01E7,558 0x007B, 0x0078, 0x0070, 0x0031, 0x00F2, 0x00E3, 0x0065, 0x01E7,
595 0x01C9,559 0x01C9,
596};560};
597static const uint16_t bitalloc_33_codes_f[33] =561
598{562static const uint16_t bitalloc_33_codes_f[33] = {
599 0x0724, 0x0393, 0x01CE, 0x00E5, 0x002C, 0x0008, 0x0017, 0x003E,563 0x0724, 0x0393, 0x01CE, 0x00E5, 0x002C, 0x0008, 0x0017, 0x003E,
600 0x0005, 0x0014, 0x001D, 0x0000, 0x0003, 0x0006, 0x0008, 0x000B,564 0x0005, 0x0014, 0x001D, 0x0000, 0x0003, 0x0006, 0x0008, 0x000B,
601 0x000D, 0x000C, 0x0009, 0x0007, 0x0004, 0x0001, 0x001E, 0x0015,565 0x000D, 0x000C, 0x0009, 0x0007, 0x0004, 0x0001, 0x001E, 0x0015,
602 0x000A, 0x003F, 0x0038, 0x0009, 0x002D, 0x00E6, 0x01CF, 0x01C8,566 0x000A, 0x003F, 0x0038, 0x0009, 0x002D, 0x00E6, 0x01CF, 0x01C8,
603 0x0725,567 0x0725,
604};568};
605static const uint16_t bitalloc_33_codes_g[33] =569
606{570static const uint16_t bitalloc_33_codes_g[33] = {
607 0x0284, 0x0042, 0x0140, 0x0143, 0x003E, 0x00BE, 0x0011, 0x0051,571 0x0284, 0x0042, 0x0140, 0x0143, 0x003E, 0x00BE, 0x0011, 0x0051,
608 0x0009, 0x0029, 0x0005, 0x0015, 0x0000, 0x0008, 0x000E, 0x0002,572 0x0009, 0x0029, 0x0005, 0x0015, 0x0000, 0x0008, 0x000E, 0x0002,
609 0x0006, 0x0003, 0x000F, 0x0009, 0x0001, 0x0016, 0x0006, 0x002E,573 0x0006, 0x0003, 0x000F, 0x0009, 0x0001, 0x0016, 0x0006, 0x002E,
610 0x000E, 0x005E, 0x001E, 0x00BF, 0x003F, 0x0020, 0x0141, 0x0043,574 0x000E, 0x005E, 0x001E, 0x00BF, 0x003F, 0x0020, 0x0141, 0x0043,
611 0x0285,575 0x0285,
612};576};
613static const uint8_t bitalloc_33_bits_a[33] =577
614{578static const uint8_t bitalloc_33_bits_a[33] = {
615 13, 13, 12, 11, 10, 9, 8, 7, 6, 6, 5, 5, 4, 4, 4, 3,579 13, 13, 12, 11, 10, 9, 8, 7, 6, 6, 5, 5, 4, 4, 4, 3,
616 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 9, 10, 11, 12, 13,580 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 9, 10, 11, 12, 13,
617 13,581 13,
618};582};
619static const uint8_t bitalloc_33_bits_b[33] =583
620{584static const uint8_t bitalloc_33_bits_b[33] = {
621 10, 9, 8, 7, 7, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4,585 10, 9, 8, 7, 7, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4,
622 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7, 7, 8, 8,586 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7, 7, 8, 8,
623 10,587 10,
624};588};
625static const uint8_t bitalloc_33_bits_c[33] =589
626{590static const uint8_t bitalloc_33_bits_c[33] = {
627 9, 8, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4,591 9, 8, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4,
628 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7,592 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7,
629 9,593 9,
630};594};
631static const uint8_t bitalloc_33_bits_d[33] =595
632{596static const uint8_t bitalloc_33_bits_d[33] = {
633 14, 14, 13, 12, 11, 10, 9, 8, 7, 7, 6, 6, 5, 4, 4, 3,597 14, 14, 13, 12, 11, 10, 9, 8, 7, 7, 6, 6, 5, 4, 4, 3,
634 2, 3, 3, 4, 5, 5, 6, 7, 7, 8, 9, 10, 11, 12, 13, 14,598 2, 3, 3, 4, 5, 5, 6, 7, 7, 8, 9, 10, 11, 12, 13, 14,
635 14,599 14,
636};600};
637static const uint8_t bitalloc_33_bits_e[33] =601
638{602static const uint8_t bitalloc_33_bits_e[33] = {
639 9, 9, 8, 8, 8, 7, 7, 7, 7, 6, 6, 5, 5, 5, 4, 3,603 9, 9, 8, 8, 8, 7, 7, 7, 7, 6, 6, 5, 5, 5, 4, 3,
640 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9,604 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9,
641 9,605 9,
642};606};
643static const uint8_t bitalloc_33_bits_f[33] =607
644{608static const uint8_t bitalloc_33_bits_f[33] = {
645 11, 10, 9, 8, 7, 6, 6, 6, 5, 5, 5, 4, 4, 4, 4, 4,609 11, 10, 9, 8, 7, 6, 6, 6, 5, 5, 5, 4, 4, 4, 4, 4,
646 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 8, 9, 9,610 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 8, 9, 9,
647 11,611 11,
648};612};
649static const uint8_t bitalloc_33_bits_g[33] =613
650{614static const uint8_t bitalloc_33_bits_g[33] = {
651 10, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 4, 3,615 10, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 4, 3,
652 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 8, 9, 9,616 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 8, 9, 9,
653 10,617 10,
654};618};
655 619
656static const uint16_t bitalloc_65_codes_a[65] =620static const uint16_t bitalloc_65_codes_a[65] = {
657{
658 0x9E5C, 0x9E5E, 0x4F2C, 0x2794, 0x13C4, 0x1E44, 0x09E3, 0x0F23,621 0x9E5C, 0x9E5E, 0x4F2C, 0x2794, 0x13C4, 0x1E44, 0x09E3, 0x0F23,
659 0x04F3, 0x0792, 0x027E, 0x03CE, 0x013D, 0x01E5, 0x009C, 0x00CC,622 0x04F3, 0x0792, 0x027E, 0x03CE, 0x013D, 0x01E5, 0x009C, 0x00CC,
660 0x0040, 0x0058, 0x0067, 0x001E, 0x0021, 0x002D, 0x003D, 0x0007,623 0x0040, 0x0058, 0x0067, 0x001E, 0x0021, 0x002D, 0x003D, 0x0007,
@@ -665,8 +628,8 @@ static const uint16_t bitalloc_65_codes_a[65] = · 4 unmodified lines
665 0x0790, 0x04F0, 0x09E4, 0x1E45, 0x13C5, 0x2795, 0x4F2D, 0x9E5F,628 0x0790, 0x04F0, 0x09E4, 0x1E45, 0x13C5, 0x2795, 0x4F2D, 0x9E5F,
666 0x9E5D,629 0x9E5D,
667};630};
668static const uint16_t bitalloc_65_codes_b[65] =631
669{632static const uint16_t bitalloc_65_codes_b[65] = {
670 0x0A8C, 0x0547, 0x01B5, 0x0008, 0x00DB, 0x0152, 0x0005, 0x000B,633 0x0A8C, 0x0547, 0x01B5, 0x0008, 0x00DB, 0x0152, 0x0005, 0x000B,
671 0x008E, 0x00AE, 0x00E4, 0x0003, 0x0037, 0x0039, 0x0055, 0x006C,634 0x008E, 0x00AE, 0x00E4, 0x0003, 0x0037, 0x0039, 0x0055, 0x006C,
672 0x0073, 0x0003, 0x0015, 0x001D, 0x0028, 0x0030, 0x0037, 0x003E,635 0x0073, 0x0003, 0x0015, 0x001D, 0x0028, 0x0030, 0x0037, 0x003E,
@@ -677,8 +640,8 @@ static const uint16_t bitalloc_65_codes_b[65] = · 4 unmodified lines
677 0x008F, 0x006C, 0x000A, 0x0153, 0x0150, 0x0009, 0x02A2, 0x01B4,640 0x008F, 0x006C, 0x000A, 0x0153, 0x0150, 0x0009, 0x02A2, 0x01B4,
678 0x0A8D,641 0x0A8D,
679};642};
680static const uint16_t bitalloc_65_codes_c[65] =643
681{644static const uint16_t bitalloc_65_codes_c[65] = {
682 0x045C, 0x022F, 0x03F5, 0x01BC, 0x01FB, 0x0059, 0x00D0, 0x00DF,645 0x045C, 0x022F, 0x03F5, 0x01BC, 0x01FB, 0x0059, 0x00D0, 0x00DF,
683 0x000A, 0x002D, 0x002F, 0x0052, 0x0069, 0x0078, 0x007F, 0x000A,646 0x000A, 0x002D, 0x002F, 0x0052, 0x0069, 0x0078, 0x007F, 0x000A,
684 0x0010, 0x001C, 0x0023, 0x002A, 0x0035, 0x003A, 0x003D, 0x0000,647 0x0010, 0x001C, 0x0023, 0x002A, 0x0035, 0x003A, 0x003D, 0x0000,
@@ -689,8 +652,8 @@ static const uint16_t bitalloc_65_codes_c[65] = · 4 unmodified lines
689 0x000B, 0x00FC, 0x00D1, 0x008A, 0x0058, 0x01BD, 0x0116, 0x03F4,652 0x000B, 0x00FC, 0x00D1, 0x008A, 0x0058, 0x01BD, 0x0116, 0x03F4,
690 0x045D,653 0x045D,
691};654};
692static const uint16_t bitalloc_65_codes_d[65] =655
693{656static const uint16_t bitalloc_65_codes_d[65] = {
694 0x70B0, 0x70B2, 0x70B4, 0x2852, 0x385B, 0x142E, 0x1C2E, 0x0A15,657 0x70B0, 0x70B2, 0x70B4, 0x2852, 0x385B, 0x142E, 0x1C2E, 0x0A15,
695 0x0E14, 0x0214, 0x0704, 0x0104, 0x010B, 0x0383, 0x0083, 0x0143,658 0x0E14, 0x0214, 0x0704, 0x0104, 0x010B, 0x0383, 0x0083, 0x0143,
696 0x01C3, 0x0043, 0x00A2, 0x00E2, 0x0022, 0x0052, 0x0072, 0x0012,659 0x01C3, 0x0043, 0x00A2, 0x00E2, 0x0022, 0x0052, 0x0072, 0x0012,
@@ -701,8 +664,8 @@ static const uint16_t bitalloc_65_codes_d[65] = · 4 unmodified lines
701 0x0E15, 0x0A16, 0x1C2F, 0x142F, 0x1428, 0x2853, 0x70B5, 0x70B3,664 0x0E15, 0x0A16, 0x1C2F, 0x142F, 0x1428, 0x2853, 0x70B5, 0x70B3,
702 0x70B1,665 0x70B1,
703};666};
704static const uint16_t bitalloc_65_codes_e[65] =667
705{668static const uint16_t bitalloc_65_codes_e[65] = {
706 0x032C, 0x0332, 0x0378, 0x037E, 0x008C, 0x014A, 0x0188, 0x0197,669 0x032C, 0x0332, 0x0378, 0x037E, 0x008C, 0x014A, 0x0188, 0x0197,
707 0x019E, 0x01BD, 0x0044, 0x0047, 0x00AA, 0x00C5, 0x00CD, 0x00DC,670 0x019E, 0x01BD, 0x0044, 0x0047, 0x00AA, 0x00C5, 0x00CD, 0x00DC,
708 0x001C, 0x002C, 0x0053, 0x0063, 0x0068, 0x0008, 0x000F, 0x0017,671 0x001C, 0x002C, 0x0053, 0x0063, 0x0068, 0x0008, 0x000F, 0x0017,
@@ -713,8 +676,8 @@ static const uint16_t bitalloc_65_codes_e[65] = · 4 unmodified lines
713 0x019F, 0x0198, 0x0189, 0x014B, 0x008D, 0x037F, 0x0379, 0x0333,676 0x019F, 0x0198, 0x0189, 0x014B, 0x008D, 0x037F, 0x0379, 0x0333,
714 0x032D,677 0x032D,
715};678};
716static const uint16_t bitalloc_65_codes_f[65] =679
717{680static const uint16_t bitalloc_65_codes_f[65] = {
718 0x0FE0, 0x0FE2, 0x0FE8, 0x0FEA, 0x0FEC, 0x0FEE, 0x0FF0, 0x0FF2,681 0x0FE0, 0x0FE2, 0x0FE8, 0x0FEA, 0x0FEC, 0x0FEE, 0x0FF0, 0x0FF2,
719 0x0FF4, 0x2FF2, 0x07F2, 0x07FB, 0x03F6, 0x0BFA, 0x0BFD, 0x01FF,682 0x0FF4, 0x2FF2, 0x07F2, 0x07FB, 0x03F6, 0x0BFA, 0x0BFD, 0x01FF,
720 0x05FF, 0x02FC, 0x007C, 0x017C, 0x003C, 0x00BC, 0x001C, 0x005C,683 0x05FF, 0x02FC, 0x007C, 0x017C, 0x003C, 0x00BC, 0x001C, 0x005C,
@@ -725,8 +688,8 @@ static const uint16_t bitalloc_65_codes_f[65] = · 4 unmodified lines
725 0x0FF5, 0x0FF3, 0x0FF1, 0x0FEF, 0x0FED, 0x0FEB, 0x0FE9, 0x0FE3,688 0x0FF5, 0x0FF3, 0x0FF1, 0x0FEF, 0x0FED, 0x0FEB, 0x0FE9, 0x0FE3,
726 0x0FE1,689 0x0FE1,
727};690};
728static const uint16_t bitalloc_65_codes_g[65] =691
729{692static const uint16_t bitalloc_65_codes_g[65] = {
730 0x010C, 0x038A, 0x0608, 0x0786, 0x0084, 0x0087, 0x0302, 0x0305,693 0x010C, 0x038A, 0x0608, 0x0786, 0x0084, 0x0087, 0x0302, 0x0305,
731 0x0040, 0x00E0, 0x00E3, 0x0183, 0x001E, 0x005E, 0x009E, 0x00DE,694 0x0040, 0x00E0, 0x00E3, 0x0183, 0x001E, 0x005E, 0x009E, 0x00DE,
732 0x00F1, 0x0011, 0x0039, 0x0061, 0x0079, 0x0009, 0x001D, 0x0031,695 0x00F1, 0x0011, 0x0039, 0x0061, 0x0079, 0x0009, 0x001D, 0x0031,
@@ -737,56 +700,56 @@ static const uint16_t bitalloc_65_codes_g[65] = · 4 unmodified lines
737 0x0041, 0x03C2, 0x0303, 0x01C4, 0x0085, 0x0787, 0x0609, 0x038B,700 0x0041, 0x03C2, 0x0303, 0x01C4, 0x0085, 0x0787, 0x0609, 0x038B,
738 0x010D,701 0x010D,
739};702};
740static const uint8_t bitalloc_65_bits_a[65] =703
741{704static const uint8_t bitalloc_65_bits_a[65] = {
742 16, 16, 15, 14, 13, 13, 12, 12, 11, 11, 10, 10, 9, 9, 8, 8,705 16, 16, 15, 14, 13, 13, 12, 12, 11, 11, 10, 10, 9, 9, 8, 8,
743 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 4, 4,706 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 4, 4,
744 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7,707 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7,
745 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 13, 13, 14, 15, 16,708 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 13, 13, 14, 15, 16,
746 16,709 16,
747};710};
748static const uint8_t bitalloc_65_bits_b[65] =711
749{712static const uint8_t bitalloc_65_bits_b[65] = {
750 12, 11, 10, 9, 9, 9, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7,713 12, 11, 10, 9, 9, 9, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7,
751 7, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 4,714 7, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 4,
752 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6,715 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6,
753 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 10, 10,716 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 10, 10,
754 12,717 12,
755};718};
756static const uint8_t bitalloc_65_bits_c[65] =719
757{720static const uint8_t bitalloc_65_bits_c[65] = {
758 11, 10, 10, 9, 9, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6,721 11, 10, 10, 9, 9, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6,
759 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5,722 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5,
760 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6,723 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6,
761 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 10,724 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 10,
762 11,725 11,
763};726};
764static const uint8_t bitalloc_65_bits_d[65] =727
765{728static const uint8_t bitalloc_65_bits_d[65] = {
766 15, 15, 15, 14, 14, 13, 13, 12, 12, 11, 11, 10, 10, 10, 9, 9,729 15, 15, 15, 14, 14, 13, 13, 12, 12, 11, 11, 10, 10, 10, 9, 9,
767 9, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, 5, 5, 4, 4, 3,730 9, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, 5, 5, 4, 4, 3,
768 3, 3, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8,731 3, 3, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8,
769 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 15, 15,732 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 15, 15,
770 15,733 15,
771};734};
772static const uint8_t bitalloc_65_bits_e[65] =735
773{736static const uint8_t bitalloc_65_bits_e[65] = {
774 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8,737 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8,
775 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4,738 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4,
776 3, 3, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7,739 3, 3, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7,
777 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10,740 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10,
778 10,741 10,
779};742};
780static const uint8_t bitalloc_65_bits_f[65] =743
781{744static const uint8_t bitalloc_65_bits_f[65] = {
782 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 12, 12, 12, 11,745 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 12, 12, 12, 11,
783 11, 10, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 4, 3,746 11, 10, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 4, 3,
784 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10,747 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10,
785 10, 11, 11, 12, 12, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14,748 10, 11, 11, 12, 12, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14,
786 14,749 14,
787};750};
788static const uint8_t bitalloc_65_bits_g[65] =751
789{752static const uint8_t bitalloc_65_bits_g[65] = {
790 11, 11, 11, 11, 10, 10, 10, 10, 9, 9, 9, 9, 8, 8, 8, 8,753 11, 11, 11, 11, 10, 10, 10, 10, 9, 9, 9, 9, 8, 8, 8, 8,
791 8, 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4, 4,754 8, 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4, 4,
792 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7,755 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7,
@@ -794,8 +757,7 @@ static const uint8_t bitalloc_65_bits_g[65] = · 1 unmodified line
794 11,757 11,
795};758};
796 759
797static const uint16_t bitalloc_129_codes_a[129] =760static const uint16_t bitalloc_129_codes_a[129] = {
798{
799 0x0660, 0x0666, 0x06EC, 0x0722, 0x0760, 0x076E, 0x004C, 0x004E,761 0x0660, 0x0666, 0x06EC, 0x0722, 0x0760, 0x076E, 0x004C, 0x004E,
800 0x00F4, 0x010A, 0x0148, 0x0156, 0x01D4, 0x01F2, 0x0331, 0x0370,762 0x00F4, 0x010A, 0x0148, 0x0156, 0x01D4, 0x01F2, 0x0331, 0x0370,
801 0x0377, 0x0396, 0x03B1, 0x0024, 0x0064, 0x007B, 0x008A, 0x00A5,763 0x0377, 0x0396, 0x03B1, 0x0024, 0x0064, 0x007B, 0x008A, 0x00A5,
@@ -814,8 +776,8 @@ static const uint16_t bitalloc_129_codes_a[129] = · 12 unmodified lines
814 0x00F5, 0x004F, 0x004D, 0x076F, 0x0761, 0x0723, 0x06ED, 0x0667,776 0x00F5, 0x004F, 0x004D, 0x076F, 0x0761, 0x0723, 0x06ED, 0x0667,
815 0x0661,777 0x0661,
816};778};
817static const uint16_t bitalloc_129_codes_b[129] =779
818{780static const uint16_t bitalloc_129_codes_b[129] = {
819 0x29DC, 0x14EF, 0x0455, 0x0E9C, 0x022B, 0x0489, 0x0740, 0x074F,781 0x29DC, 0x14EF, 0x0455, 0x0E9C, 0x022B, 0x0489, 0x0740, 0x074F,
820 0x0172, 0x0245, 0x0247, 0x030A, 0x03A1, 0x001C, 0x008B, 0x00D6,782 0x0172, 0x0245, 0x0247, 0x030A, 0x03A1, 0x001C, 0x008B, 0x00D6,
821 0x010C, 0x0148, 0x014F, 0x0186, 0x01D1, 0x0008, 0x000F, 0x0046,783 0x010C, 0x0148, 0x014F, 0x0186, 0x01D1, 0x0008, 0x000F, 0x0046,
@@ -834,8 +796,8 @@ static const uint16_t bitalloc_129_codes_b[129] = · 12 unmodified lines
834 0x0173, 0x0114, 0x0741, 0x053A, 0x0488, 0x0E9D, 0x0A76, 0x0454,796 0x0173, 0x0114, 0x0741, 0x053A, 0x0488, 0x0E9D, 0x0A76, 0x0454,
835 0x29DD,797 0x29DD,
836};798};
837static const uint16_t bitalloc_129_codes_c[129] =799
838{800static const uint16_t bitalloc_129_codes_c[129] = {
839 0x0E5C, 0x072F, 0x001D, 0x0724, 0x000F, 0x010D, 0x0324, 0x0393,801 0x0E5C, 0x072F, 0x001D, 0x0724, 0x000F, 0x010D, 0x0324, 0x0393,
840 0x03E9, 0x0080, 0x0087, 0x00FA, 0x0164, 0x0193, 0x01DE, 0x01F5,802 0x03E9, 0x0080, 0x0087, 0x00FA, 0x0164, 0x0193, 0x01DE, 0x01F5,
841 0x0010, 0x002A, 0x0041, 0x0064, 0x0073, 0x008E, 0x00A4, 0x00B3,803 0x0010, 0x002A, 0x0041, 0x0064, 0x0073, 0x008E, 0x00A4, 0x00B3,
@@ -854,8 +816,8 @@ static const uint16_t bitalloc_129_codes_c[129] = · 12 unmodified lines
854 0x0006, 0x03E8, 0x0325, 0x01CA, 0x010C, 0x0725, 0x0396, 0x001C,816 0x0006, 0x03E8, 0x0325, 0x01CA, 0x010C, 0x0725, 0x0396, 0x001C,
855 0x0E5D,817 0x0E5D,
856};818};
857static const uint16_t bitalloc_129_codes_d[129] =819
858{820static const uint16_t bitalloc_129_codes_d[129] = {
859 0xA598, 0xA59A, 0xA59C, 0xA59E, 0xC598, 0xE586, 0x3ACC, 0x52CA,821 0xA598, 0xA59A, 0xA59C, 0xA59E, 0xC598, 0xE586, 0x3ACC, 0x52CA,
860 0x62CD, 0x0D48, 0x1D67, 0x2978, 0x3167, 0x3966, 0x06A5, 0x0EBC,822 0x62CD, 0x0D48, 0x1D67, 0x2978, 0x3167, 0x3966, 0x06A5, 0x0EBC,
861 0x14BD, 0x1CB1, 0x0350, 0x0353, 0x075F, 0x0A5F, 0x0C5E, 0x0E5E,823 0x14BD, 0x1CB1, 0x0350, 0x0353, 0x075F, 0x0A5F, 0x0C5E, 0x0E5E,
@@ -874,8 +836,8 @@ static const uint16_t bitalloc_129_codes_d[129] = · 12 unmodified lines
874 0x72C2, 0x52CB, 0x3ACD, 0xE587, 0xC599, 0xA59F, 0xA59D, 0xA59B,836 0x72C2, 0x52CB, 0x3ACD, 0xE587, 0xC599, 0xA59F, 0xA59D, 0xA59B,
875 0xA599,837 0xA599,
876};838};
877static const uint16_t bitalloc_129_codes_e[129] =839
878{840static const uint16_t bitalloc_129_codes_e[129] = {
879 0xA13C, 0xC720, 0xA13F, 0xA13E, 0xA13D, 0xE722, 0x5090, 0x6393,841 0xA13C, 0xC720, 0xA13F, 0xA13E, 0xA13D, 0xE722, 0x5090, 0x6393,
880 0x7392, 0x2849, 0x31CE, 0x39CE, 0x1425, 0x18E5, 0x1CE5, 0x0844,842 0x7392, 0x2849, 0x31CE, 0x39CE, 0x1425, 0x18E5, 0x1CE5, 0x0844,
881 0x0A1C, 0x0C7C, 0x036C, 0x0423, 0x050F, 0x063F, 0x01B7, 0x0216,843 0x0A1C, 0x0C7C, 0x036C, 0x0423, 0x050F, 0x063F, 0x01B7, 0x0216,
@@ -894,8 +856,8 @@ static const uint16_t bitalloc_129_codes_e[129] = · 12 unmodified lines
894 0x7393, 0x7390, 0x5091, 0xE723, 0xC724, 0xC725, 0xC722, 0xC723,856 0x7393, 0x7390, 0x5091, 0xE723, 0xC724, 0xC725, 0xC722, 0xC723,
895 0xC721,857 0xC721,
896};858};
897static const uint16_t bitalloc_129_codes_f[129] =859
898{860static const uint16_t bitalloc_129_codes_f[129] = {
899 0x762C, 0x3B17, 0x1555, 0x0608, 0x0AAB, 0x0FF2, 0x0305, 0x0307,861 0x762C, 0x3B17, 0x1555, 0x0608, 0x0AAB, 0x0FF2, 0x0305, 0x0307,
900 0x0763, 0x0046, 0x010C, 0x01BC, 0x02AB, 0x03B6, 0x03FD, 0x0080,862 0x0763, 0x0046, 0x010C, 0x01BC, 0x02AB, 0x03B6, 0x03FD, 0x0080,
901 0x0087, 0x00DF, 0x0156, 0x01D9, 0x01F8, 0x01FF, 0x002A, 0x0041,863 0x0087, 0x00DF, 0x0156, 0x01D9, 0x01F8, 0x01FF, 0x002A, 0x0041,
@@ -914,8 +876,8 @@ static const uint16_t bitalloc_129_codes_f[129] = · 12 unmodified lines
914 0x07F8, 0x0554, 0x0306, 0x0FF3, 0x0EC4, 0x0609, 0x1D8A, 0x1554,876 0x07F8, 0x0554, 0x0306, 0x0FF3, 0x0EC4, 0x0609, 0x1D8A, 0x1554,
915 0x762D,877 0x762D,
916};878};
917static const uint16_t bitalloc_129_codes_g[129] =879
918{880static const uint16_t bitalloc_129_codes_g[129] = {
919 0x1E20, 0x1E5E, 0x031C, 0x051A, 0x0718, 0x0916, 0x0B14, 0x0D12,881 0x1E20, 0x1E5E, 0x031C, 0x051A, 0x0718, 0x0916, 0x0B14, 0x0D12,
920 0x0F11, 0x0090, 0x018F, 0x028E, 0x038D, 0x048C, 0x058B, 0x068A,882 0x0F11, 0x0090, 0x018F, 0x028E, 0x038D, 0x048C, 0x058B, 0x068A,
921 0x0789, 0x0049, 0x00C8, 0x0148, 0x01C7, 0x0247, 0x02C6, 0x0346,883 0x0789, 0x0049, 0x00C8, 0x0148, 0x01C7, 0x0247, 0x02C6, 0x0346,
@@ -934,8 +896,8 @@ static const uint16_t bitalloc_129_codes_g[129] = · 12 unmodified lines
934 0x0F2E, 0x0D13, 0x0B15, 0x0917, 0x0719, 0x051B, 0x031D, 0x1E5F,896 0x0F2E, 0x0D13, 0x0B15, 0x0917, 0x0719, 0x051B, 0x031D, 0x1E5F,
935 0x1E21,897 0x1E21,
936};898};
937static const uint8_t bitalloc_129_bits_a[129] =899
938{900static const uint8_t bitalloc_129_bits_a[129] = {
939 11, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,901 11, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
940 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8,902 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8,
941 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7,903 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7,
@@ -946,8 +908,8 @@ static const uint8_t bitalloc_129_bits_a[129] = · 4 unmodified lines
946 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11,908 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11,
947 11,909 11,
948};910};
949static const uint8_t bitalloc_129_bits_b[129] =911
950{912static const uint8_t bitalloc_129_bits_b[129] = {
951 14, 13, 12, 12, 11, 11, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9,913 14, 13, 12, 12, 11, 11, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9,
952 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,914 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
953 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6,915 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6,
@@ -958,8 +920,8 @@ static const uint8_t bitalloc_129_bits_b[129] = · 4 unmodified lines
958 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12,920 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12,
959 14,921 14,
960};922};
961static const uint8_t bitalloc_129_bits_c[129] =923
962{924static const uint8_t bitalloc_129_bits_c[129] = {
963 13, 12, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9,925 13, 12, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9,
964 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7,926 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7,
965 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6,927 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6,
@@ -970,8 +932,8 @@ static const uint8_t bitalloc_129_bits_c[129] = · 4 unmodified lines
970 8, 8, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11,932 8, 8, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11,
971 13,933 13,
972};934};
973static const uint8_t bitalloc_129_bits_d[129] =935
974{936static const uint8_t bitalloc_129_bits_d[129] = {
975 16, 16, 16, 16, 16, 16, 15, 15, 15, 14, 14, 14, 14, 14, 13, 13,937 16, 16, 16, 16, 16, 16, 15, 15, 15, 14, 14, 14, 14, 14, 13, 13,
976 13, 13, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 10, 10, 10,938 13, 13, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 10, 10, 10,
977 10, 10, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 7, 7,939 10, 10, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 7, 7,
@@ -982,8 +944,8 @@ static const uint8_t bitalloc_129_bits_d[129] = · 4 unmodified lines
982 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 16, 16, 16, 16, 16,944 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 16, 16, 16, 16, 16,
983 16,945 16,
984};946};
985static const uint8_t bitalloc_129_bits_e[129] =947
986{948static const uint8_t bitalloc_129_bits_e[129] = {
987 16, 16, 16, 16, 16, 16, 15, 15, 15, 14, 14, 14, 13, 13, 13, 12,949 16, 16, 16, 16, 16, 16, 15, 15, 15, 14, 14, 14, 13, 13, 13, 12,
988 12, 12, 11, 11, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9,950 12, 12, 11, 11, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9,
989 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6,951 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6,
@@ -994,8 +956,8 @@ static const uint8_t bitalloc_129_bits_e[129] = · 4 unmodified lines
994 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, 16, 16,956 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, 16, 16,
995 16,957 16,
996};958};
997static const uint8_t bitalloc_129_bits_f[129] =959
998{960static const uint8_t bitalloc_129_bits_f[129] = {
999 15, 14, 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 10, 10, 10, 9,961 15, 14, 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 10, 10, 10, 9,
1000 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7,962 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7,
1001 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6,963 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6,
@@ -1006,8 +968,8 @@ static const uint8_t bitalloc_129_bits_f[129] = · 4 unmodified lines
1006 9, 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13,968 9, 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13,
1007 15,969 15,
1008};970};
1009static const uint8_t bitalloc_129_bits_g[129] =971
1010{972static const uint8_t bitalloc_129_bits_g[129] = {
1011 13, 13, 12, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11,973 13, 13, 12, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11,
1012 11, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9,974 11, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9,
1013 9, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7,975 9, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7,
@@ -1019,10 +981,13 @@ static const uint8_t bitalloc_129_bits_g[129] = · 5 unmodified lines
1019 13,981 13,
1020};982};
1021 983
1022static const uint8_t bitalloc_sizes[10] = { 3, 5, 7, 9, 13, 17, 25, 33, 65, 129 };984static const uint8_t bitalloc_sizes[10] = {
985 3, 5, 7, 9, 13, 17, 25, 33, 65, 129
986};
1023 987
1024static const int8_t bitalloc_offsets[10] =988static const int8_t bitalloc_offsets[10] = {
1025 { -1, -2, -3, -4, -6, -8, -12, -16, -32, -64 };989 -1, -2, -3, -4, -6, -8, -12, -16, -32, -64
990};
1026 991
1027static const uint8_t bitalloc_maxbits[10][7] = {992static const uint8_t bitalloc_maxbits[10][7] = {
1028 { 2 },993 { 2 },
@@ -1037,40 +1002,40 @@ static const uint8_t bitalloc_maxbits[10][7] = { · 8 unmodified lines
1037 { 9, 9, 9, 9, 9, 9, 9 }1002 { 9, 9, 9, 9, 9, 9, 9 }
1038};1003};
1039 1004
1040static const uint16_t* const bitalloc_codes[10][8] = {1005static const uint16_t *const bitalloc_codes[10][8] = {
1041 { bitalloc_3_codes, NULL },1006 { bitalloc_3_codes, NULL },
1042 { bitalloc_5_codes_a, bitalloc_5_codes_b, bitalloc_5_codes_c, NULL },1007 { bitalloc_5_codes_a, bitalloc_5_codes_b, bitalloc_5_codes_c, NULL },
1043 { bitalloc_7_codes_a, bitalloc_7_codes_b, bitalloc_7_codes_c, NULL },1008 { bitalloc_7_codes_a, bitalloc_7_codes_b, bitalloc_7_codes_c, NULL },
1044 { bitalloc_9_codes_a, bitalloc_9_codes_b, bitalloc_9_codes_c, NULL },1009 { bitalloc_9_codes_a, bitalloc_9_codes_b, bitalloc_9_codes_c, NULL },
1045 { bitalloc_13_codes_a, bitalloc_13_codes_b, bitalloc_13_codes_c, NULL },1010 { bitalloc_13_codes_a, bitalloc_13_codes_b, bitalloc_13_codes_c, NULL },
1046 { bitalloc_17_codes_a, bitalloc_17_codes_b, bitalloc_17_codes_c, bitalloc_17_codes_d,1011 { bitalloc_17_codes_a, bitalloc_17_codes_b, bitalloc_17_codes_c, bitalloc_17_codes_d,
1047 bitalloc_17_codes_e, bitalloc_17_codes_f, bitalloc_17_codes_g, NULL },1012 bitalloc_17_codes_e, bitalloc_17_codes_f, bitalloc_17_codes_g, NULL },
1048 { bitalloc_25_codes_a, bitalloc_25_codes_b, bitalloc_25_codes_c, bitalloc_25_codes_d,1013 { bitalloc_25_codes_a, bitalloc_25_codes_b, bitalloc_25_codes_c, bitalloc_25_codes_d,
1049 bitalloc_25_codes_e, bitalloc_25_codes_f, bitalloc_25_codes_g, NULL },1014 bitalloc_25_codes_e, bitalloc_25_codes_f, bitalloc_25_codes_g, NULL },
1050 { bitalloc_33_codes_a, bitalloc_33_codes_b, bitalloc_33_codes_c, bitalloc_33_codes_d,1015 { bitalloc_33_codes_a, bitalloc_33_codes_b, bitalloc_33_codes_c, bitalloc_33_codes_d,
1051 bitalloc_33_codes_e, bitalloc_33_codes_f, bitalloc_33_codes_g, NULL },1016 bitalloc_33_codes_e, bitalloc_33_codes_f, bitalloc_33_codes_g, NULL },
1052 { bitalloc_65_codes_a, bitalloc_65_codes_b, bitalloc_65_codes_c, bitalloc_65_codes_d,1017 { bitalloc_65_codes_a, bitalloc_65_codes_b, bitalloc_65_codes_c, bitalloc_65_codes_d,
1053 bitalloc_65_codes_e, bitalloc_65_codes_f, bitalloc_65_codes_g, NULL },1018 bitalloc_65_codes_e, bitalloc_65_codes_f, bitalloc_65_codes_g, NULL },
1054 { bitalloc_129_codes_a, bitalloc_129_codes_b, bitalloc_129_codes_c, bitalloc_129_codes_d,1019 { bitalloc_129_codes_a, bitalloc_129_codes_b, bitalloc_129_codes_c, bitalloc_129_codes_d,
1055 bitalloc_129_codes_e, bitalloc_129_codes_f, bitalloc_129_codes_g, NULL }1020 bitalloc_129_codes_e, bitalloc_129_codes_f, bitalloc_129_codes_g, NULL }
1056};1021};
1057 1022
1058static const uint8_t* const bitalloc_bits[10][8] = {1023static const uint8_t *const bitalloc_bits[10][8] = {
1059 { bitalloc_3_bits, NULL },1024 { bitalloc_3_bits, NULL },
1060 { bitalloc_5_bits_a, bitalloc_5_bits_b, bitalloc_5_bits_c, NULL },1025 { bitalloc_5_bits_a, bitalloc_5_bits_b, bitalloc_5_bits_c, NULL },
1061 { bitalloc_7_bits_a, bitalloc_7_bits_b, bitalloc_7_bits_c, NULL },1026 { bitalloc_7_bits_a, bitalloc_7_bits_b, bitalloc_7_bits_c, NULL },
1062 { bitalloc_9_bits_a, bitalloc_9_bits_b, bitalloc_9_bits_c, NULL },1027 { bitalloc_9_bits_a, bitalloc_9_bits_b, bitalloc_9_bits_c, NULL },
1063 { bitalloc_13_bits_a, bitalloc_13_bits_b, bitalloc_13_bits_c, NULL },1028 { bitalloc_13_bits_a, bitalloc_13_bits_b, bitalloc_13_bits_c, NULL },
1064 { bitalloc_17_bits_a, bitalloc_17_bits_b, bitalloc_17_bits_c, bitalloc_17_bits_d,1029 { bitalloc_17_bits_a, bitalloc_17_bits_b, bitalloc_17_bits_c, bitalloc_17_bits_d,
1065 bitalloc_17_bits_e, bitalloc_17_bits_f, bitalloc_17_bits_g, NULL },1030 bitalloc_17_bits_e, bitalloc_17_bits_f, bitalloc_17_bits_g, NULL },
1066 { bitalloc_25_bits_a, bitalloc_25_bits_b, bitalloc_25_bits_c, bitalloc_25_bits_d,1031 { bitalloc_25_bits_a, bitalloc_25_bits_b, bitalloc_25_bits_c, bitalloc_25_bits_d,
1067 bitalloc_25_bits_e, bitalloc_25_bits_f, bitalloc_25_bits_g, NULL },1032 bitalloc_25_bits_e, bitalloc_25_bits_f, bitalloc_25_bits_g, NULL },
1068 { bitalloc_33_bits_a, bitalloc_33_bits_b, bitalloc_33_bits_c, bitalloc_33_bits_d,1033 { bitalloc_33_bits_a, bitalloc_33_bits_b, bitalloc_33_bits_c, bitalloc_33_bits_d,
1069 bitalloc_33_bits_e, bitalloc_33_bits_f, bitalloc_33_bits_g, NULL },1034 bitalloc_33_bits_e, bitalloc_33_bits_f, bitalloc_33_bits_g, NULL },
1070 { bitalloc_65_bits_a, bitalloc_65_bits_b, bitalloc_65_bits_c, bitalloc_65_bits_d,1035 { bitalloc_65_bits_a, bitalloc_65_bits_b, bitalloc_65_bits_c, bitalloc_65_bits_d,
1071 bitalloc_65_bits_e, bitalloc_65_bits_f, bitalloc_65_bits_g, NULL },1036 bitalloc_65_bits_e, bitalloc_65_bits_f, bitalloc_65_bits_g, NULL },
1072 { bitalloc_129_bits_a, bitalloc_129_bits_b, bitalloc_129_bits_c, bitalloc_129_bits_d,1037 { bitalloc_129_bits_a, bitalloc_129_bits_b, bitalloc_129_bits_c, bitalloc_129_bits_d,
1073 bitalloc_129_bits_e, bitalloc_129_bits_f, bitalloc_129_bits_g, NULL }1038 bitalloc_129_bits_e, bitalloc_129_bits_f, bitalloc_129_bits_g, NULL }
1074};1039};
1075 1040
1076#endif /* AVCODEC_DCAHUFF_H */1041#endif /* AVCODEC_DCAHUFF_H */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t