OpenIndiana and Solaris port
[oweals/cde.git] / cde / programs / dtinfo / dtinfogen / infolib / etc / RemoteId.C
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* $XConsortium: RemoteId.C /main/4 1996/08/21 15:57:59 drk $ 
24  *
25  * (c) Copyright 1996 Digital Equipment Corporation.
26  * (c) Copyright 1996 Hewlett-Packard Company.
27  * (c) Copyright 1996 International Business Machines Corp.
28  * (c) Copyright 1996 Sun Microsystems, Inc.
29  * (c) Copyright 1996 Novell, Inc. 
30  * (c) Copyright 1996 FUJITSU LIMITED.
31  * (c) Copyright 1996 Hitachi.
32  */
33
34 /* A lexical scanner generated by flex */
35
36 /* scanner skeleton version:
37  * $Header: /proj/.cde-1/programs/dtinfo/dtinfogen/infolib/etc/RemoteId.C /main/4 1996/08/21 15:57:59 drk $
38  */
39
40 #define FLEX_SCANNER
41
42 #include <stdio.h>
43
44 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
45 #ifdef c_plusplus
46 #ifndef __cplusplus
47 #define __cplusplus
48 #endif
49 #endif
50
51
52 #ifdef __cplusplus
53
54 #include <stdlib.h>
55
56 #if !defined(__osf__) && !defined(USL) && !defined(linux) && \
57     !defined(CSRG_BASED) && !defined(sun)
58 # include <osfcn.h>
59 #endif
60
61 /* use prototypes in function declarations */
62 #define remote_USE_PROTOS
63
64 /* the "const" storage-class-modifier is valid */
65 #define remote_USE_CONST
66
67 #else   /* ! __cplusplus */
68
69 #ifdef __STDC__
70
71 #ifdef __GNUC__
72 #include <stddef.h>
73 void *malloc( size_t );
74 void free( void* );
75 #else
76 #include <stdlib.h>
77 #endif  /* __GNUC__ */
78
79 #define remote_USE_PROTOS
80 #define remote_USE_CONST
81
82 #endif  /* __STDC__ */
83 #endif  /* ! __cplusplus */
84
85
86 #ifdef __TURBOC__
87 #define remote_USE_CONST
88 #endif
89
90
91 #ifndef remote_USE_CONST
92 #define const
93 #endif
94
95
96 #ifdef remote_USE_PROTOS
97 #define remote_PROTO(proto) proto
98 #else
99 #define remote_PROTO(proto) ()
100 /* we can't get here if it's an ANSI C compiler, or a C++ compiler,
101  * so it's got to be a K&R compiler, and therefore there's no standard
102  * place from which to include these definitions
103  */
104 char *malloc();
105 int free();
106 int read();
107 #endif
108
109
110 /* amount of stuff to slurp up with each read */
111 #ifndef remote_READ_BUF_SIZE
112 #define remote_READ_BUF_SIZE 8192
113 #endif
114
115 /* returned upon end-of-file */
116 #define remote_END_TOK 0
117
118 /* copy whatever the last rule matched to the standard output */
119
120 /* cast to (char *) is because for 8-bit chars, remotetext is (unsigned char *) */
121 /* this used to be an fputs(), but since the string might contain NUL's,
122  * we now use fwrite()
123  */
124 #define ECHO (void) fwrite( (char *) remotetext, remoteleng, 1, remoteout )
125
126 /* gets input and stuffs it into "buf".  number of characters read, or remote_NULL,
127  * is returned in "result".
128  */
129 #define remote_INPUT(buf,result,max_size) \
130         if ( (result = read( fileno(remotein), (char *) buf, max_size )) < 0 ) \
131             remote_FATAL_ERROR( "read() in flex scanner failed" );
132 #define remote_NULL 0
133
134 /* no semi-colon after return; correct usage is to write "remoteterminate();" -
135  * we don't want an extra ';' after the "return" because that will cause
136  * some compilers to complain about unreachable statements.
137  */
138 #define remoteterminate() return ( remote_NULL )
139
140 /* report a fatal error */
141
142 /* The funky do-while is used to turn this macro definition into
143  * a single C statement (which needs a semi-colon terminator).
144  * This avoids problems with code like:
145  *
146  *      if ( something_happens )
147  *              remote_FATAL_ERROR( "oops, the something happened" );
148  *      else
149  *              everything_okay();
150  *
151  * Prior to using the do-while the compiler would get upset at the
152  * "else" because it interpreted the "if" statement as being all
153  * done when it reached the ';' after the remote_FATAL_ERROR() call.
154  */
155
156 #define remote_FATAL_ERROR(msg) \
157         do \
158                 { \
159                 (void) fputs( msg, stderr ); \
160                 (void) putc( '\n', stderr ); \
161                 exit( 1 ); \
162                 } \
163         while ( 0 )
164
165 /* default remotewrap function - always treat EOF as an EOF */
166 #define remotewrap() 1
167
168 /* enter a start condition.  This macro really ought to take a parameter,
169  * but we do it the disgusting crufty way forced on us by the ()-less
170  * definition of BEGIN
171  */
172 #define BEGIN remote_start = 1 + 2 *
173
174 /* action number for EOF rule of a given start state */
175 #define remote_STATE_EOF(state) (remote_END_OF_BUFFER + state + 1)
176
177 /* special action meaning "start processing a new file" */
178 #define remote_NEW_FILE \
179         do \
180                 { \
181                 remote_init_buffer( remote_current_buffer, remotein ); \
182                 remote_load_buffer_state(); \
183                 } \
184         while ( 0 )
185
186 /* default declaration of generated scanner - a define so the user can
187  * easily add parameters
188  */
189 #define remote_DECL int remotelex remote_PROTO(( void )) 
190
191 /* code executed at the end of each rule */
192 #define remote_BREAK break;
193
194 #define remote_END_OF_BUFFER_CHAR 0
195
196 #ifndef remote_BUF_SIZE
197 #define remote_BUF_SIZE (remote_READ_BUF_SIZE * 2) /* size of default input buffer */
198 #endif
199
200 typedef struct remote_buffer_state *remote_BUFFER_STATE;
201
202 #define remote_CHAR unsigned char
203 #define INITIAL 0
204
205 /* imported interfaces */
206 #include "FlexBuffer.h"
207
208 #include "BTCollectable.h"
209 #include "dti_cc/CC_String.h"
210 #include "dti_cc/cc_hdict.h"
211
212
213 static int my_input ( char *, int );
214
215 #undef remote_INPUT
216 #define remote_INPUT(b, r, ms ) ( r=my_input( ( char *)b,ms) )
217
218 static char *myinput;
219 static char *myinputptr;
220 static char *myinputlim;
221 static FlexBuffer *NodeBuffer;
222 static FlexBuffer *idref_buffer;
223 static hashTable<CC_String,BTCollectable> *hd;
224 static int NeedRemote = 0;
225 static int current_line_num = 0;
226 static char *current_file_name;
227
228 #define OLIDREF 1
229 #define OLIDREF_LINE 2
230 #define OLIDREF_FILE 3
231 static short int remote_nxt[][256] =
232     {
233      {  0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
234         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
235         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
236         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
237         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
238         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
239         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
240         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
241         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
242         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
243
244         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
245         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
246         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
247         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
248         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
249         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
250         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
251         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
252         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
253         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
254
255         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
256         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
257         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
258         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
259         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
260         0,    0,    0,    0,    0,    0 },
261
262      {  9,   10,   10,   10,   10,   10,   10,   10,   10,   10,
263        11,   10,   10,   10,   10,   10,   10,   10,   10,   10,
264        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
265        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
266        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
267        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
268        12,   10,   10,   10,   10,   10,   10,   10,   10,   10,
269        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
270        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
271        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
272
273        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
274        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
275        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
276        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
277        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
278        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
279        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
280        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
281        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
282        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
283
284        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
285        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
286        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
287        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
288        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
289        10,   10,   10,   10,   10,   10 },
290
291      {  9,   10,   10,   10,   10,   10,   10,   10,   10,   10,
292        11,   10,   10,   10,   10,   10,   10,   10,   10,   10,
293        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
294        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
295        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
296        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
297        12,   10,   10,   10,   10,   10,   10,   10,   10,   10,
298        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
299        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
300        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
301
302        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
303        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
304        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
305        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
306        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
307        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
308        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
309        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
310        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
311        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
312
313        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
314        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
315        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
316        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
317        10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
318        10,   10,   10,   10,   10,   10 },
319
320      {  9,   13,   13,   13,   13,   13,   13,   13,   13,   13,
321        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
322        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
323        13,   13,   13,   13,   13,   13,   13,   13,   14,   13,
324        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
325        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
326        15,   13,   13,   13,   13,   13,   13,   13,   13,   13,
327        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
328        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
329        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
330
331        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
332        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
333        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
334        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
335        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
336        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
337        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
338        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
339        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
340        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
341
342        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
343        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
344        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
345        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
346        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
347        13,   13,   13,   13,   13,   13 },
348
349      {  9,   13,   13,   13,   13,   13,   13,   13,   13,   13,
350        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
351        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
352        13,   13,   13,   13,   13,   13,   13,   13,   14,   13,
353        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
354        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
355        15,   13,   13,   13,   13,   13,   13,   13,   13,   13,
356        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
357        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
358        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
359
360        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
361        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
362        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
363        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
364        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
365        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
366        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
367        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
368        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
369        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
370
371        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
372        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
373        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
374        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
375        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
376        13,   13,   13,   13,   13,   13 },
377
378      {  9,   16,   16,   16,   16,   16,   16,   16,   16,   16,
379        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
380        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
381        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
382        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
383        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
384        17,   16,   16,   16,   16,   16,   16,   16,   16,   16,
385        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
386        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
387        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
388
389        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
390        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
391        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
392        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
393        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
394        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
395        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
396        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
397        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
398        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
399
400        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
401        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
402        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
403        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
404        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
405        16,   16,   16,   16,   16,   16 },
406
407      {  9,   16,   16,   16,   16,   16,   16,   16,   16,   16,
408        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
409        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
410        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
411        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
412        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
413        17,   16,   16,   16,   16,   16,   16,   16,   16,   16,
414        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
415        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
416        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
417
418        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
419        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
420        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
421        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
422        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
423        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
424        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
425        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
426        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
427        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
428
429        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
430        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
431        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
432        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
433        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
434        16,   16,   16,   16,   16,   16 },
435
436      {  9,   18,   18,   18,   18,   18,   18,   18,   18,   18,
437        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
438        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
439        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
440        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
441        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
442        19,   18,   18,   18,   18,   18,   18,   18,   18,   18,
443        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
444        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
445        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
446
447        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
448        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
449        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
450        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
451        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
452        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
453        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
454        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
455        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
456        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
457
458        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
459        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
460        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
461        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
462        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
463        18,   18,   18,   18,   18,   18 },
464
465      {  9,   18,   18,   18,   18,   18,   18,   18,   18,   18,
466        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
467        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
468        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
469        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
470        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
471        19,   18,   18,   18,   18,   18,   18,   18,   18,   18,
472        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
473        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
474        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
475
476        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
477        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
478        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
479        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
480        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
481        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
482        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
483        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
484        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
485        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
486
487        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
488        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
489        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
490        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
491        18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
492        18,   18,   18,   18,   18,   18 },
493
494      { -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
495        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
496        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
497        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
498        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
499        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
500        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
501        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
502        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
503        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
504
505        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
506        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
507        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
508        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
509        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
510        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
511        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
512        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
513        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
514        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
515
516        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
517        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
518        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
519        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
520        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
521        -9,   -9,   -9,   -9,   -9,   -9 },
522
523      {  9,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
524       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
525       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
526       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
527       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
528       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
529       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
530       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
531       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
532       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
533
534       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
535       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
536       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
537       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
538       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
539       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
540       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
541       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
542       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
543       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
544
545       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
546       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
547       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
548       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
549       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
550       -10,  -10,  -10,  -10,  -10,  -10 },
551
552      {  9,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
553       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
554       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
555       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
556       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
557       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
558       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
559       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
560       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
561       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
562
563       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
564       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
565       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
566       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
567       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
568       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
569       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
570       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
571       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
572       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
573
574       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
575       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
576       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
577       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
578       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
579       -11,  -11,  -11,  -11,  -11,  -11 },
580
581      {  9,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
582       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
583       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
584       -12,  -12,  -12,  -12,  -12,   20,  -12,  -12,  -12,  -12,
585       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
586       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
587       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
588       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
589       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
590       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
591
592       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
593       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
594       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
595       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
596       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
597       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
598       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
599       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
600       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
601       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
602
603       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
604       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
605       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
606       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
607       -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
608       -12,  -12,  -12,  -12,  -12,  -12 },
609
610      {  9,   21,   21,   21,   21,   21,   21,   21,   21,   21,
611        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
612        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
613        21,   21,   21,   21,   21,   21,   21,   21,  -13,   21,
614        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
615        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
616       -13,   21,   21,   21,   21,   21,   21,   21,   21,   21,
617        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
618        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
619        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
620
621        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
622        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
623        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
624        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
625        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
626        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
627        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
628        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
629        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
630        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
631
632        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
633        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
634        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
635        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
636        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
637        21,   21,   21,   21,   21,   21 },
638
639      {  9,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
640       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
641       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
642       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
643       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
644       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
645       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
646       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
647       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
648       -14,  -14,  -14,  -14,  -14,  -14,  -14,   22,  -14,  -14,
649
650       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,   23,  -14,
651       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
652       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
653       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
654       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
655       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
656       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
657       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
658       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
659       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
660
661       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
662       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
663       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
664       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
665       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
666       -14,  -14,  -14,  -14,  -14,  -14 },
667
668      {  9,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
669       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
670       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
671       -15,  -15,  -15,  -15,  -15,   24,  -15,  -15,  -15,  -15,
672       -15,  -15,  -15,  -15,  -15,  -15,  -15,   25,  -15,  -15,
673       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
674       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
675       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
676       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
677       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
678
679       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
680       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
681       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
682       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
683       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
684       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
685       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
686       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
687       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
688       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
689
690       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
691       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
692       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
693       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
694       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
695       -15,  -15,  -15,  -15,  -15,  -15 },
696
697      {  9,   26,   26,   26,   26,   26,   26,   26,   26,   26,
698        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
699        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
700        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
701        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
702        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
703       -16,   26,   26,   26,   26,   26,   26,   26,   26,   26,
704        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
705        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
706        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
707
708        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
709        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
710        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
711        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
712        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
713        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
714        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
715        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
716        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
717        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
718
719        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
720        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
721        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
722        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
723        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
724        26,   26,   26,   26,   26,   26 },
725
726      {  9,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
727       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
728       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
729       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
730       -17,  -17,  -17,  -17,  -17,  -17,  -17,   27,  -17,  -17,
731       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
732       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
733       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
734       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
735       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
736
737       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
738       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
739       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
740       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
741       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
742       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
743       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
744       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
745       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
746       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
747
748       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
749       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
750       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
751       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
752       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
753       -17,  -17,  -17,  -17,  -17,  -17 },
754
755      {  9,   28,   28,   28,   28,   28,   28,   28,   28,   28,
756        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
757        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
758        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
759        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
760        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
761       -18,   28,   28,   28,   28,   28,   28,   28,   28,   28,
762        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
763        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
764        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
765
766        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
767        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
768        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
769        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
770        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
771        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
772        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
773        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
774        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
775        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
776
777        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
778        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
779        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
780        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
781        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
782        28,   28,   28,   28,   28,   28 },
783
784      {  9,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
785       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
786       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
787       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
788       -19,  -19,  -19,  -19,  -19,  -19,  -19,   29,  -19,  -19,
789       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
790       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
791       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
792       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
793       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
794
795       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
796       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
797       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
798       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
799       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
800       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
801       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
802       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
803       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
804       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
805
806       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
807       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
808       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
809       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
810       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
811       -19,  -19,  -19,  -19,  -19,  -19 },
812
813      {  9,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
814       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
815       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
816       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
817       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
818       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
819       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
820       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,   30,
821       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
822       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
823
824       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
825       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
826       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
827       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
828       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
829       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
830       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
831       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
832       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
833       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
834
835       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
836       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
837       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
838       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
839       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
840       -20,  -20,  -20,  -20,  -20,  -20 },
841
842      {  9,   21,   21,   21,   21,   21,   21,   21,   21,   21,
843        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
844        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
845        21,   21,   21,   21,   21,   21,   21,   21,  -21,   21,
846        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
847        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
848       -21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
849        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
850        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
851        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
852
853        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
854        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
855        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
856        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
857        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
858        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
859        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
860        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
861        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
862        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
863
864        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
865        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
866        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
867        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
868        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
869        21,   21,   21,   21,   21,   21 },
870
871      {  9,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
872       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
873       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
874       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
875       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
876       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
877       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
878       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
879       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
880       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
881
882       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,   31,
883       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
884       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
885       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
886       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
887       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
888       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
889       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
890       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
891       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
892
893       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
894       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
895       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
896       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
897       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
898       -22,  -22,  -22,  -22,  -22,  -22 },
899
900      {  9,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
901       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
902       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
903       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
904       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
905       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
906       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
907       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
908       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
909       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
910
911       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
912       -23,  -23,  -23,  -23,  -23,  -23,   32,  -23,  -23,  -23,
913       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
914       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
915       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
916       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
917       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
918       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
919       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
920       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
921
922       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
923       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
924       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
925       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
926       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
927       -23,  -23,  -23,  -23,  -23,  -23 },
928
929      {  9,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
930       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
931       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
932       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
933       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
934       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
935       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
936        33,  -24,  -24,  -24,  -24,  -24,   34,  -24,  -24,  -24,
937       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
938       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
939
940       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
941       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
942       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
943       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
944       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
945       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
946       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
947       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
948       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
949       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
950
951       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
952       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
953       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
954       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
955       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
956       -24,  -24,  -24,  -24,  -24,  -24 },
957
958      {  9,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
959       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
960       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
961       -25,  -25,  -25,  -25,  -25,   35,  -25,  -25,  -25,  -25,
962       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
963       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
964       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
965       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
966       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
967       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
968
969       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
970       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
971       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
972       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
973       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
974       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
975       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
976       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
977       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
978       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
979
980       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
981       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
982       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
983       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
984       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
985       -25,  -25,  -25,  -25,  -25,  -25 },
986
987      {  9,   26,   26,   26,   26,   26,   26,   26,   26,   26,
988        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
989        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
990        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
991        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
992        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
993       -26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
994        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
995        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
996        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
997
998        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
999        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1000        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1001        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1002        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1003        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1004        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1005        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1006        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1007        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1008
1009        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1010        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1011        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1012        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1013        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1014        26,   26,   26,   26,   26,   26 },
1015
1016      {  9,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1017       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1018       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1019       -27,  -27,  -27,  -27,  -27,   36,  -27,  -27,  -27,  -27,
1020       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1021       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1022       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1023       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1024       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1025       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1026
1027       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1028       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1029       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1030       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1031       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1032       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1033       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1034       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1035       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1036       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1037
1038       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1039       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1040       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1041       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1042       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1043       -27,  -27,  -27,  -27,  -27,  -27 },
1044
1045      {  9,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1046        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1047        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1048        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1049        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1050        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1051       -28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1052        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1053        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1054        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1055
1056        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1057        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1058        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1059        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1060        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1061        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1062        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1063        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1064        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1065        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1066
1067        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1068        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1069        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1070        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1071        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1072        28,   28,   28,   28,   28,   28 },
1073
1074      {  9,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1075       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1076       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1077       -29,  -29,  -29,  -29,  -29,   37,  -29,  -29,  -29,  -29,
1078       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1079       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1080       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1081       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1082       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1083       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1084
1085       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1086       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1087       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1088       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1089       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1090       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1091       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1092       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1093       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1094       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1095
1096       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1097       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1098       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1099       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1100       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1101       -29,  -29,  -29,  -29,  -29,  -29 },
1102
1103      {  9,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1104       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1105       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1106       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1107       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1108       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1109       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1110       -30,  -30,  -30,  -30,  -30,  -30,   38,  -30,  -30,  -30,
1111       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1112       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1113
1114       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1115       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1116       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1117       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1118       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1119       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1120       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1121       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1122       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1123       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1124
1125       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1126       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1127       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1128       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1129       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1130       -30,  -30,  -30,  -30,  -30,  -30 },
1131
1132      {  9,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1133       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1134       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1135       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1136       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1137       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1138       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1139       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1140       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1141       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1142
1143       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1144       -31,  -31,   39,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1145       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1146       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1147       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1148       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1149       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1150       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1151       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1152       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1153
1154       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1155       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1156       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1157       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1158       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1159       -31,  -31,  -31,  -31,  -31,  -31 },
1160
1161      {  9,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1162       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1163       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1164       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1165       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1166       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,   40,
1167       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1168       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1169       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1170       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1171
1172       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1173       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1174       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1175       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1176       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1177       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1178       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1179       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1180       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1181       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1182
1183       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1184       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1185       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1186       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1187       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1188       -32,  -32,  -32,  -32,  -32,  -32 },
1189
1190      {  9,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1191       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1192       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1193       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1194       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1195       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1196       -33,  -33,   41,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1197       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1198       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1199       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1200
1201       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1202       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1203       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1204       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1205       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1206       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1207       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1208       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1209       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1210       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1211
1212       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1213       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1214       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1215       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1216       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1217       -33,  -33,  -33,  -33,  -33,  -33 },
1218
1219      {  9,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1220       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1221       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1222       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1223       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1224       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1225       -34,  -34,   42,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1226       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1227       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1228       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1229
1230       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1231       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1232       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1233       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1234       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1235       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1236       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1237       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1238       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1239       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1240
1241       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1242       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1243       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1244       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1245       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1246       -34,  -34,  -34,  -34,  -34,  -34 },
1247
1248      {  9,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1249       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1250       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1251       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1252       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1253       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1254       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1255       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,   43,
1256       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1257       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1258
1259       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1260       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1261       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1262       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1263       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1264       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1265       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1266       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1267       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1268       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1269
1270       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1271       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1272       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1273       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1274       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
1275       -35,  -35,  -35,  -35,  -35,  -35 },
1276
1277      {  9,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1278       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1279       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1280       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1281       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1282       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1283       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1284       -36,  -36,  -36,  -36,  -36,  -36,   44,  -36,  -36,  -36,
1285       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1286       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1287
1288       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1289       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1290       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1291       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1292       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1293       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1294       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1295       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1296       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1297       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1298
1299       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1300       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1301       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1302       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1303       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1304       -36,  -36,  -36,  -36,  -36,  -36 },
1305
1306      {  9,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1307       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1308       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1309       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1310       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1311       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1312       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1313        45,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1314       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1315       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1316
1317       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1318       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1319       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1320       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1321       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1322       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1323       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1324       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1325       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1326       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1327
1328       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1329       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1330       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1331       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1332       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1333       -37,  -37,  -37,  -37,  -37,  -37 },
1334
1335      {  9,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1336       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1337       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1338       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1339       -38,  -38,  -38,  -38,  -38,   46,  -38,  -38,  -38,  -38,
1340       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1341       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1342       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1343       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1344       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1345
1346       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1347       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1348       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1349       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1350       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1351       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1352       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1353       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1354       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1355       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1356
1357       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1358       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1359       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1360       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1361       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1362       -38,  -38,  -38,  -38,  -38,  -38 },
1363
1364      {  9,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1365       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1366       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1367       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1368       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1369       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,   47,
1370       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1371       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1372       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1373       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1374
1375       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1376       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1377       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1378       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1379       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1380       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1381       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1382       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1383       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1384       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1385
1386       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1387       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1388       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1389       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1390       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1391       -39,  -39,  -39,  -39,  -39,  -39 },
1392
1393      {  9,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1394       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1395       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1396       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1397       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1398       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1399       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1400       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1401       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1402       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1403
1404       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1405       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1406       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1407       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1408       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1409       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1410       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1411       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1412       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1413       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1414
1415       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1416       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1417       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1418       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1419       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1420       -40,  -40,  -40,  -40,  -40,  -40 },
1421
1422      {  9,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1423       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1424       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1425       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1426       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1427       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1428       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1429       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1430       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1431       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1432
1433       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1434       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1435       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1436       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1437       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1438       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1439       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1440       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1441       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1442       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1443
1444       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1445       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1446       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1447       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1448       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1449       -41,  -41,  -41,  -41,  -41,  -41 },
1450
1451      {  9,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1452       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1453       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1454       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1455       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1456       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1457       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1458       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1459       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1460       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1461
1462       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1463       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1464       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1465       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1466       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1467       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1468       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1469       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1470       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1471       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1472
1473       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1474       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1475       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1476       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1477       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1478       -42,  -42,  -42,  -42,  -42,  -42 },
1479
1480      {  9,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1481       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1482       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1483       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1484       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1485       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1486       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1487       -43,  -43,  -43,  -43,  -43,  -43,   48,  -43,  -43,  -43,
1488       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1489       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1490
1491       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1492       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1493       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1494       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1495       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1496       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1497       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1498       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1499       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1500       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1501
1502       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1503       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1504       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1505       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1506       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1507       -43,  -43,  -43,  -43,  -43,  -43 },
1508
1509      {  9,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1510       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1511       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1512       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1513       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1514       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1515       -44,  -44,   49,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1516       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1517       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1518       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1519
1520       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1521       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1522       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1523       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1524       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1525       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1526       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1527       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1528       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1529       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1530
1531       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1532       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1533       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1534       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1535       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1536       -44,  -44,  -44,  -44,  -44,  -44 },
1537
1538      {  9,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1539       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1540       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1541       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1542       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1543       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1544       -45,  -45,   50,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1545       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1546       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1547       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1548
1549       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1550       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1551       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1552       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1553       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1554       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1555       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1556       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1557       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1558       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1559
1560       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1561       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1562       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1563       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1564       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1565       -45,  -45,  -45,  -45,  -45,  -45 },
1566
1567      {  9,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1568       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1569       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1570       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1571       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1572       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1573       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1574       -46,  -46,  -46,   51,  -46,  -46,  -46,  -46,  -46,  -46,
1575       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1576       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1577
1578       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1579       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1580       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1581       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1582       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1583       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1584       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1585       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1586       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1587       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1588
1589       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1590       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1591       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1592       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1593       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1594       -46,  -46,  -46,  -46,  -46,  -46 },
1595
1596      {  9,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1597       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1598       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1599       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1600       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1601       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1602       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1603       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1604       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1605       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1606
1607       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1608       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1609       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1610       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1611       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1612       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1613       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1614       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1615       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1616       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1617
1618       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1619       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1620       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1621       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1622       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1623       -47,  -47,  -47,  -47,  -47,  -47 },
1624
1625      {  9,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1626       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1627       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1628       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1629       -48,  -48,  -48,  -48,  -48,   52,  -48,  -48,  -48,  -48,
1630       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1631       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1632       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1633       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1634       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1635
1636       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1637       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1638       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1639       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1640       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1641       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1642       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1643       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1644       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1645       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1646
1647       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1648       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1649       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1650       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1651       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1652       -48,  -48,  -48,  -48,  -48,  -48 },
1653
1654      {  9,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1655       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1656       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1657       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1658       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1659       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1660       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1661       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1662       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1663       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1664
1665       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1666       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1667       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1668       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1669       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1670       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1671       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1672       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1673       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1674       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1675
1676       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1677       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1678       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1679       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1680       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1681       -49,  -49,  -49,  -49,  -49,  -49 },
1682
1683      {  9,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1684       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1685       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1686       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1687       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1688       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1689       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1690       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1691       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1692       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1693
1694       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1695       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1696       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1697       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1698       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1699       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1700       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1701       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1702       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1703       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1704
1705       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1706       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1707       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1708       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1709       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1710       -50,  -50,  -50,  -50,  -50,  -50 },
1711
1712      {  9,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1713       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1714       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1715       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1716       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1717       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1718       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,   53,  -51,
1719       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1720       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1721       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1722
1723       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1724       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1725       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1726       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1727       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1728       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1729       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1730       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1731       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1732       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1733
1734       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1735       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1736       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1737       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1738       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1739       -51,  -51,  -51,  -51,  -51,  -51 },
1740
1741      {  9,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1742       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1743       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1744       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1745       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1746       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1747       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1748       -52,  -52,  -52,   54,  -52,  -52,  -52,  -52,  -52,  -52,
1749       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1750       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1751
1752       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1753       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1754       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1755       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1756       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1757       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1758       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1759       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1760       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1761       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1762
1763       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1764       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1765       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1766       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1767       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1768       -52,  -52,  -52,  -52,  -52,  -52 },
1769
1770      {  9,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1771       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1772       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1773       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1774       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1775       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1776       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1777       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1778       -53,  -53,   55,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1779       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1780
1781       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1782       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1783       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1784       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1785       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1786       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1787       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1788       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1789       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1790       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1791
1792       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1793       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1794       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1795       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1796       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
1797       -53,  -53,  -53,  -53,  -53,  -53 },
1798
1799      {  9,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1800       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1801       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1802       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1803       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1804       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1805       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,   56,  -54,
1806       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1807       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1808       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1809
1810       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1811       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1812       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1813       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1814       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1815       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1816       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1817       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1818       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1819       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1820
1821       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1822       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1823       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1824       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1825       -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
1826       -54,  -54,  -54,  -54,  -54,  -54 },
1827
1828      {  9,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1829       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1830       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1831       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1832       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1833       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1834       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,   57,
1835       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1836       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1837       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1838
1839       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1840       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1841       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1842       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1843       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1844       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1845       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1846       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1847       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1848       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1849
1850       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1851       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1852       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1853       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1854       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
1855       -55,  -55,  -55,  -55,  -55,  -55 },
1856
1857      {  9,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1858       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1859       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1860       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1861       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1862       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1863       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1864       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1865       -56,  -56,   58,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1866       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1867
1868       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1869       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1870       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1871       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1872       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1873       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1874       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1875       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1876       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1877       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1878
1879       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1880       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1881       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1882       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1883       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
1884       -56,  -56,  -56,  -56,  -56,  -56 },
1885
1886      {  9,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1887       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1888       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1889       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1890       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1891       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1892       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1893        59,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1894       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1895       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1896
1897       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1898       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1899       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1900       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1901       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1902       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1903       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1904       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1905       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1906       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1907
1908       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1909       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1910       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1911       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1912       -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
1913       -57,  -57,  -57,  -57,  -57,  -57 },
1914
1915      {  9,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1916       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1917       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1918       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1919       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1920       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1921       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,   60,
1922       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1923       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1924       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1925
1926       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1927       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1928       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1929       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1930       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1931       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1932       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1933       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1934       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1935       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1936
1937       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1938       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1939       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1940       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1941       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
1942       -58,  -58,  -58,  -58,  -58,  -58 },
1943
1944      {  9,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1945       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1946       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1947       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1948       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1949       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1950       -59,  -59,   61,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1951       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1952       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1953       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1954
1955       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1956       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1957       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1958       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1959       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1960       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1961       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1962       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1963       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1964       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1965
1966       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1967       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1968       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1969       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1970       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
1971       -59,  -59,  -59,  -59,  -59,  -59 },
1972
1973      {  9,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1974       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1975       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1976       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1977       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1978       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1979       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1980        62,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1981       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1982       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1983
1984       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1985       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1986       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1987       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1988       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1989       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1990       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1991       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1992       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1993       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1994
1995       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1996       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1997       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1998       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
1999       -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
2000       -60,  -60,  -60,  -60,  -60,  -60 },
2001
2002      {  9,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2003       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2004       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2005       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2006       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2007       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2008       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2009       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2010       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2011       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2012
2013       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2014       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2015       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2016       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2017       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2018       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2019       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2020       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2021       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2022       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2023
2024       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2025       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2026       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2027       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2028       -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
2029       -61,  -61,  -61,  -61,  -61,  -61 },
2030
2031      {  9,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2032       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2033       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2034       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2035       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2036       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2037       -62,  -62,   63,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2038       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2039       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2040       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2041
2042       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2043       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2044       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2045       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2046       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2047       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2048       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2049       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2050       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2051       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2052
2053       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2054       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2055       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2056       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2057       -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
2058       -62,  -62,  -62,  -62,  -62,  -62 },
2059
2060      {  9,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2061       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2062       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2063       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2064       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2065       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2066       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2067       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2068       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2069       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2070
2071       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2072       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2073       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2074       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2075       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2076       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2077       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2078       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2079       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2080       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2081
2082       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2083       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2084       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2085       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2086       -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
2087       -63,  -63,  -63,  -63,  -63,  -63 }
2088
2089     } ;
2090
2091
2092 /* done after the current pattern has been matched and before the
2093  * corresponding action - sets up remotetext
2094  */
2095 #define remote_DO_BEFORE_ACTION \
2096         remotetext = remote_bp; \
2097         remoteleng = remote_cp - remote_bp; \
2098         remote_hold_char = *remote_cp; \
2099         *remote_cp = '\0'; \
2100         remote_c_buf_p = remote_cp;
2101
2102 #define EOB_ACT_CONTINUE_SCAN 0
2103 #define EOB_ACT_END_OF_FILE 1
2104 #define EOB_ACT_LAST_MATCH 2
2105
2106 /* return all but the first 'n' matched characters back to the input stream */
2107 #define remoteless(n) \
2108         do \
2109                 { \
2110                 /* undo effects of setting up remotetext */ \
2111                 *remote_cp = remote_hold_char; \
2112                 remote_c_buf_p = remote_cp = remote_bp + n; \
2113                 remote_DO_BEFORE_ACTION; /* set up remotetext again */ \
2114                 } \
2115         while ( 0 )
2116
2117 #define unput(c) remoteunput( c, remotetext )
2118
2119
2120 struct remote_buffer_state
2121     {
2122     FILE *remote_input_file;
2123
2124     remote_CHAR *remote_ch_buf;         /* input buffer */
2125     remote_CHAR *remote_buf_pos;        /* current position in input buffer */
2126
2127     /* size of input buffer in bytes, not including room for EOB characters*/
2128     int remote_buf_size;        
2129
2130     /* number of characters read into remote_ch_buf, not including EOB characters */
2131     int remote_n_chars;
2132
2133     int remote_eof_status;              /* whether we've seen an EOF on this buffer */
2134 #define EOF_NOT_SEEN 0
2135     /* "pending" happens when the EOF has been seen but there's still
2136      * some text process
2137      */
2138 #define EOF_PENDING 1
2139 #define EOF_DONE 2
2140     };
2141
2142 static remote_BUFFER_STATE remote_current_buffer;
2143
2144 /* we provide macros for accessing buffer states in case in the
2145  * future we want to put the buffer states in a more general
2146  * "scanner state"
2147  */
2148 #define remote_CURRENT_BUFFER remote_current_buffer
2149
2150
2151 /* remote_hold_char holds the character lost when remotetext is formed */
2152 static remote_CHAR remote_hold_char;
2153
2154 static int remote_n_chars;              /* number of characters read into remote_ch_buf */
2155
2156
2157
2158 #ifndef remote_USER_ACTION
2159 #define remote_USER_ACTION
2160 #endif
2161
2162 #ifndef remote_USER_INIT
2163 #define remote_USER_INIT
2164 #endif
2165
2166 extern remote_CHAR *remotetext;
2167 extern int remoteleng;
2168 extern FILE *remotein, *remoteout;
2169
2170 remote_CHAR *remotetext;
2171 int remoteleng;
2172
2173 FILE *remotein = (FILE *) 0, *remoteout = (FILE *) 0;
2174
2175 #define remote_END_OF_BUFFER 15
2176 typedef int remote_state_type;
2177 static const short int remote_accept[64] =
2178     {   0,
2179         0,    0,    0,    0,    0,    0,    0,    0,   15,   12,
2180        13,   12,   11,   14,   14,    3,   14,    6,   14,    0,
2181        11,    0,    0,    0,    0,    3,    0,    6,    0,    0,
2182         0,    0,    0,    0,    0,    0,    0,    0,    0,    8,
2183         5,    2,    0,    0,    0,    0,    9,    0,    4,    7,
2184         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
2185         1,    0,   10
2186     } ;
2187
2188 static remote_state_type remote_last_accepting_state;
2189 static remote_CHAR *remote_last_accepting_cpos;
2190
2191 static const remote_state_type remote_NUL_trans[64] =
2192     {   0,
2193        10,   10,   13,   13,   16,   16,   18,   18,    0,    0,
2194         0,    0,   21,    0,    0,   26,    0,   28,    0,    0,
2195        21,    0,    0,    0,    0,   26,    0,   28,    0,    0,
2196         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
2197         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
2198         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
2199         0,    0,    0
2200     } ;
2201
2202 /* the intent behind this definition is that it'll catch
2203  * any uses of REJECT which flex missed
2204  */
2205 #define REJECT reject_used_but_not_detected
2206 #define remotemore() remotemore_used_but_not_detected
2207 #define remote_MORE_ADJ 0
2208
2209 /* these variables are all declared out here so that section 3 code can
2210  * manipulate them
2211  */
2212 /* points to current character in buffer */
2213 static remote_CHAR *remote_c_buf_p = (remote_CHAR *) 0;
2214 static int remote_init = 1;             /* whether we need to initialize */
2215 static int remote_start = 0;    /* start state number */
2216
2217 /* flag which is used to allow remotewrap()'s to do buffer switches
2218  * instead of setting up a fresh remotein.  A bit of a hack ...
2219  */
2220 static int remote_did_buffer_switch_on_eof;
2221
2222 static remote_state_type remote_get_previous_state remote_PROTO(( void ));
2223 static remote_state_type remote_try_NUL_trans remote_PROTO(( remote_state_type current_state ));
2224 static int remote_get_next_buffer remote_PROTO(( void ));
2225 #if 0
2226 static void remoteunput remote_PROTO(( remote_CHAR c, remote_CHAR *buf_ptr ));
2227 #endif
2228 void remoterestart remote_PROTO(( FILE *input_file ));
2229 void remote_switch_to_buffer remote_PROTO(( remote_BUFFER_STATE new_buffer ));
2230 void remote_load_buffer_state remote_PROTO(( void ));
2231 remote_BUFFER_STATE remote_create_buffer remote_PROTO(( FILE *file, int size ));
2232 void remote_delete_buffer remote_PROTO(( remote_BUFFER_STATE b ));
2233 void remote_init_buffer remote_PROTO(( remote_BUFFER_STATE b, FILE *file ));
2234
2235 #define remote_new_buffer remote_create_buffer
2236
2237 #if 0
2238 #ifdef __cplusplus
2239 static int remoteinput remote_PROTO(( void ));
2240 #else
2241 static int input remote_PROTO(( void ));
2242 #endif
2243 #endif
2244
2245 remote_DECL
2246     {
2247     register remote_state_type remote_current_state;
2248     register remote_CHAR *remote_cp, *remote_bp;
2249     register int remote_act;
2250
2251
2252
2253
2254     if ( remote_init )
2255         {
2256         remote_USER_INIT;
2257
2258         if ( ! remote_start )
2259             remote_start = 1;   /* first start state */
2260
2261         if ( ! remotein )
2262             remotein = stdin;
2263
2264         if ( ! remoteout )
2265             remoteout = stdout;
2266
2267         if ( remote_current_buffer )
2268             remote_init_buffer( remote_current_buffer, remotein );
2269         else
2270             remote_current_buffer = remote_create_buffer( remotein, remote_BUF_SIZE );
2271
2272         remote_load_buffer_state();
2273
2274         remote_init = 0;
2275         }
2276
2277     while ( 1 )         /* loops until end-of-file is reached */
2278         {
2279         remote_cp = remote_c_buf_p;
2280
2281         /* support of remotetext */
2282         *remote_cp = remote_hold_char;
2283
2284         /* remote_bp points to the position in remote_ch_buf of the start of the
2285          * current run.
2286          */
2287         remote_bp = remote_cp;
2288
2289         remote_current_state = remote_start;
2290 remote_match:
2291         while ( (remote_current_state = remote_nxt[remote_current_state][*remote_cp]) > 0 )
2292             {
2293             if ( remote_accept[remote_current_state] )
2294                 {
2295                 remote_last_accepting_state = remote_current_state;
2296                 remote_last_accepting_cpos = remote_cp;
2297                 }
2298
2299             ++remote_cp;
2300             }
2301
2302         remote_current_state = -remote_current_state;
2303
2304 remote_find_action:
2305         remote_act = remote_accept[remote_current_state];
2306
2307         remote_DO_BEFORE_ACTION;
2308         remote_USER_ACTION;
2309
2310 do_action:      /* this label is used only to access EOF actions */
2311
2312
2313         switch ( remote_act )
2314             {
2315             case 0: /* must backtrack */
2316             /* undo the effects of remote_DO_BEFORE_ACTION */
2317             *remote_cp = remote_hold_char;
2318             remote_cp = remote_last_accepting_cpos + 1;
2319             remote_current_state = remote_last_accepting_state;
2320             goto remote_find_action;
2321
2322 case 1:
2323 {
2324                   BEGIN( OLIDREF );
2325                   NodeBuffer->writeStr("<#OL-IDREF>");
2326                }
2327         remote_BREAK
2328 case 2:
2329 {
2330                   BEGIN(OLIDREF_LINE);
2331                 } 
2332         remote_BREAK
2333 case 3:
2334 {
2335                       const char *line = (const char *)remotetext;
2336                       current_line_num = atoi( line );
2337                     }
2338         remote_BREAK
2339 case 4:
2340 {
2341                          BEGIN( OLIDREF );
2342                       }
2343         remote_BREAK
2344 case 5:
2345 {
2346                     BEGIN ( OLIDREF_FILE );
2347                  }
2348         remote_BREAK
2349 case 6:
2350 {
2351                       current_file_name = strdup( (const char *)remotetext);
2352                     }
2353         remote_BREAK
2354 case 7:
2355 {
2356                           BEGIN ( OLIDREF );
2357                        }
2358         remote_BREAK
2359 case 8:
2360 {
2361                   // Perform the entity resolution
2362                   idref_buffer->put('<');
2363                   NodeBuffer->writeStr( "&lt;" );
2364                 }
2365         remote_BREAK
2366 case 9:
2367 {
2368                     idref_buffer->put('&');
2369                     NodeBuffer->writeStr( "&amp;" );
2370                   }
2371         remote_BREAK
2372 case 10:
2373 {
2374                   /*
2375                    * test if the link value found in 
2376                    * #OL-IDREF is resolved in the bookcase
2377                    */
2378
2379                   CC_String key( (const char *)idref_buffer->GetBuffer() );
2380
2381                   CC_String *val = (CC_String *)hd->findValue( &key );
2382                   if ( !val ) {
2383                     NeedRemote = 1;
2384 #ifdef REMOTE_DEBUG
2385                     cerr << "(WARNING) Unresolved link  = " << (const char *)key << endl
2386                          << "                file       = " << current_file_name << endl
2387                          << "                line no.   = " << current_line_num << "\n\n";
2388 #endif
2389                   }
2390
2391                   // cleanup and reset
2392                   delete current_file_name; current_file_name = 0;
2393                   idref_buffer->reset();
2394
2395                   NodeBuffer->writeStr("</#OL-IDREF>");
2396                   if ( NeedRemote ) {
2397                     NodeBuffer->writeStr("<#REMOTE></#REMOTE>");
2398                     NeedRemote = 0;
2399                   }
2400                   
2401                   BEGIN ( 0 );
2402                 }
2403         remote_BREAK
2404 case 11:
2405 {
2406                   const char *str = (const char *)remotetext;
2407                   idref_buffer->writeStr( str );
2408                   NodeBuffer->writeStr( str );
2409                 }
2410         remote_BREAK
2411 case 12:
2412 case 13:
2413 {
2414                   NodeBuffer->put( remotetext[0] );
2415                 }
2416         remote_BREAK
2417 case 14:
2418 remote_FATAL_ERROR( "flex scanner jammed" );
2419         remote_BREAK
2420 case remote_STATE_EOF(INITIAL):
2421 case remote_STATE_EOF(OLIDREF):
2422 case remote_STATE_EOF(OLIDREF_LINE):
2423 case remote_STATE_EOF(OLIDREF_FILE):
2424     remoteterminate();
2425
2426             case remote_END_OF_BUFFER:
2427                 {
2428                 /* amount of text matched not including the EOB char */
2429                 int remote_amount_of_matched_text = remote_cp - remotetext - 1;
2430
2431                 /* undo the effects of remote_DO_BEFORE_ACTION */
2432                 *remote_cp = remote_hold_char;
2433
2434                 /* note that here we test for remote_c_buf_p "<=" to the position
2435                  * of the first EOB in the buffer, since remote_c_buf_p will
2436                  * already have been incremented past the NUL character
2437                  * (since all states make transitions on EOB to the end-
2438                  * of-buffer state).  Contrast this with the test in remoteinput().
2439                  */
2440                 if ( remote_c_buf_p <= &remote_current_buffer->remote_ch_buf[remote_n_chars] )
2441                     /* this was really a NUL */
2442                     {
2443                     remote_state_type remote_next_state;
2444
2445                     remote_c_buf_p = remotetext + remote_amount_of_matched_text;
2446
2447                     remote_current_state = remote_get_previous_state();
2448
2449                     /* okay, we're now positioned to make the
2450                      * NUL transition.  We couldn't have
2451                      * remote_get_previous_state() go ahead and do it
2452                      * for us because it doesn't know how to deal
2453                      * with the possibility of jamming (and we
2454                      * don't want to build jamming into it because
2455                      * then it will run more slowly)
2456                      */
2457
2458                     remote_next_state = remote_try_NUL_trans( remote_current_state );
2459
2460                     remote_bp = remotetext + remote_MORE_ADJ;
2461
2462                     if ( remote_next_state )
2463                         {
2464                         /* consume the NUL */
2465                         remote_cp = ++remote_c_buf_p;
2466                         remote_current_state = remote_next_state;
2467                         goto remote_match;
2468                         }
2469
2470                     else
2471                         {
2472                             remote_cp = remote_c_buf_p;
2473                         goto remote_find_action;
2474                         }
2475                     }
2476
2477                 else switch ( remote_get_next_buffer() )
2478                     {
2479                     case EOB_ACT_END_OF_FILE:
2480                         {
2481                         remote_did_buffer_switch_on_eof = 0;
2482
2483                         if ( remotewrap() )
2484                             {
2485                             /* note: because we've taken care in
2486                              * remote_get_next_buffer() to have set up remotetext,
2487                              * we can now set up remote_c_buf_p so that if some
2488                              * total hoser (like flex itself) wants
2489                              * to call the scanner after we return the
2490                              * remote_NULL, it'll still work - another remote_NULL
2491                              * will get returned.
2492                              */
2493                             remote_c_buf_p = remotetext + remote_MORE_ADJ;
2494
2495                             remote_act = remote_STATE_EOF((remote_start - 1) / 2);
2496                             goto do_action;
2497                             }
2498
2499                         else
2500                             {
2501                             if ( ! remote_did_buffer_switch_on_eof )
2502                                 remote_NEW_FILE;
2503                             }
2504                         }
2505                         break;
2506
2507                     case EOB_ACT_CONTINUE_SCAN:
2508                         remote_c_buf_p = remotetext + remote_amount_of_matched_text;
2509
2510                         remote_current_state = remote_get_previous_state();
2511
2512                         remote_cp = remote_c_buf_p;
2513                         remote_bp = remotetext + remote_MORE_ADJ;
2514                         goto remote_match;
2515
2516                     case EOB_ACT_LAST_MATCH:
2517                         remote_c_buf_p =
2518                             &remote_current_buffer->remote_ch_buf[remote_n_chars];
2519
2520                         remote_current_state = remote_get_previous_state();
2521
2522                         remote_cp = remote_c_buf_p;
2523                         remote_bp = remotetext + remote_MORE_ADJ;
2524                         goto remote_find_action;
2525                     }
2526                 break;
2527                 }
2528
2529             default:
2530 #ifdef FLEX_DEBUG
2531                 printf( "action # %d\n", remote_act );
2532 #endif
2533                 remote_FATAL_ERROR(
2534                         "fatal flex scanner internal error--no action found" );
2535             }
2536         }
2537     }
2538
2539
2540 /* remote_get_next_buffer - try to read in a new buffer
2541  *
2542  * synopsis
2543  *     int remote_get_next_buffer();
2544  *     
2545  * returns a code representing an action
2546  *     EOB_ACT_LAST_MATCH - 
2547  *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2548  *     EOB_ACT_END_OF_FILE - end of file
2549  */
2550
2551 static int remote_get_next_buffer()
2552
2553     {
2554     register remote_CHAR *dest = remote_current_buffer->remote_ch_buf;
2555     register remote_CHAR *source = remotetext - 1; /* copy prev. char, too */
2556     register int number_to_move, i;
2557     int ret_val;
2558
2559     if ( remote_c_buf_p > &remote_current_buffer->remote_ch_buf[remote_n_chars + 1] )
2560         remote_FATAL_ERROR(
2561                 "fatal flex scanner internal error--end of buffer missed" );
2562
2563     /* try to read more data */
2564
2565     /* first move last chars to start of buffer */
2566     number_to_move = remote_c_buf_p - remotetext;
2567
2568     for ( i = 0; i < number_to_move; ++i )
2569         *(dest++) = *(source++);
2570
2571     if ( remote_current_buffer->remote_eof_status != EOF_NOT_SEEN )
2572         /* don't do the read, it's not guaranteed to return an EOF,
2573          * just force an EOF
2574          */
2575         remote_n_chars = 0;
2576
2577     else
2578         {
2579         int num_to_read = remote_current_buffer->remote_buf_size - number_to_move - 1;
2580
2581         if ( num_to_read > remote_READ_BUF_SIZE )
2582             num_to_read = remote_READ_BUF_SIZE;
2583
2584         else if ( num_to_read <= 0 )
2585             remote_FATAL_ERROR( "fatal error - scanner input buffer overflow" );
2586
2587         /* read in more data */
2588         remote_INPUT( (&remote_current_buffer->remote_ch_buf[number_to_move]),
2589                   remote_n_chars, num_to_read );
2590         }
2591
2592     if ( remote_n_chars == 0 )
2593         {
2594         if ( number_to_move == 1 )
2595             {
2596             ret_val = EOB_ACT_END_OF_FILE;
2597             remote_current_buffer->remote_eof_status = EOF_DONE;
2598             }
2599
2600         else
2601             {
2602             ret_val = EOB_ACT_LAST_MATCH;
2603             remote_current_buffer->remote_eof_status = EOF_PENDING;
2604             }
2605         }
2606
2607     else
2608         ret_val = EOB_ACT_CONTINUE_SCAN;
2609
2610     remote_n_chars += number_to_move;
2611     remote_current_buffer->remote_ch_buf[remote_n_chars] = remote_END_OF_BUFFER_CHAR;
2612     remote_current_buffer->remote_ch_buf[remote_n_chars + 1] = remote_END_OF_BUFFER_CHAR;
2613
2614     /* remotetext begins at the second character in remote_ch_buf; the first
2615      * character is the one which preceded it before reading in the latest
2616      * buffer; it needs to be kept around in case it's a newline, so
2617      * remote_get_previous_state() will have with '^' rules active
2618      */
2619
2620     remotetext = &remote_current_buffer->remote_ch_buf[1];
2621
2622     return ( ret_val );
2623     }
2624
2625
2626 /* remote_get_previous_state - get the state just before the EOB char was reached
2627  *
2628  * synopsis
2629  *     remote_state_type remote_get_previous_state();
2630  */
2631
2632 static remote_state_type remote_get_previous_state()
2633
2634     {
2635     register remote_state_type remote_current_state;
2636     register remote_CHAR *remote_cp;
2637
2638     remote_current_state = remote_start;
2639
2640     for ( remote_cp = remotetext + remote_MORE_ADJ; remote_cp < remote_c_buf_p; ++remote_cp )
2641         {
2642         if ( *remote_cp )
2643             {
2644             remote_current_state = remote_nxt[remote_current_state][*remote_cp];
2645             }
2646         else
2647             remote_current_state = remote_NUL_trans[remote_current_state];
2648         if ( remote_accept[remote_current_state] )
2649             {
2650             remote_last_accepting_state = remote_current_state;
2651             remote_last_accepting_cpos = remote_cp;
2652             }
2653         }
2654
2655     return ( remote_current_state );
2656     }
2657
2658
2659 /* remote_try_NUL_trans - try to make a transition on the NUL character
2660  *
2661  * synopsis
2662  *     next_state = remote_try_NUL_trans( current_state );
2663  */
2664
2665 #ifdef remote_USE_PROTOS
2666 static remote_state_type remote_try_NUL_trans( register remote_state_type remote_current_state )
2667 #else
2668 static remote_state_type remote_try_NUL_trans( remote_current_state )
2669 register remote_state_type remote_current_state;
2670 #endif
2671
2672     {
2673     register int remote_is_jam;
2674     register remote_CHAR *remote_cp = remote_c_buf_p;
2675
2676     remote_current_state = remote_NUL_trans[remote_current_state];
2677     remote_is_jam = (remote_current_state == 0);
2678
2679     if ( ! remote_is_jam )
2680         {
2681         if ( remote_accept[remote_current_state] )
2682             {
2683             remote_last_accepting_state = remote_current_state;
2684             remote_last_accepting_cpos = remote_cp;
2685             }
2686         }
2687
2688     return ( remote_is_jam ? 0 : remote_current_state );
2689     }
2690
2691
2692 #if 0
2693 #ifdef remote_USE_PROTOS
2694 static void remoteunput( remote_CHAR c, register remote_CHAR *remote_bp )
2695 #else
2696 static void remoteunput( c, remote_bp )
2697 remote_CHAR c;
2698 register remote_CHAR *remote_bp;
2699 #endif
2700
2701     {
2702     register remote_CHAR *remote_cp = remote_c_buf_p;
2703
2704     /* undo effects of setting up remotetext */
2705     *remote_cp = remote_hold_char;
2706
2707     if ( remote_cp < remote_current_buffer->remote_ch_buf + 2 )
2708         { /* need to shift things up to make room */
2709         register int number_to_move = remote_n_chars + 2; /* +2 for EOB chars */
2710         register remote_CHAR *dest =
2711             &remote_current_buffer->remote_ch_buf[remote_current_buffer->remote_buf_size + 2];
2712         register remote_CHAR *source =
2713             &remote_current_buffer->remote_ch_buf[number_to_move];
2714
2715         while ( source > remote_current_buffer->remote_ch_buf )
2716             *--dest = *--source;
2717
2718         remote_cp += dest - source;
2719         remote_bp += dest - source;
2720         remote_n_chars = remote_current_buffer->remote_buf_size;
2721
2722         if ( remote_cp < remote_current_buffer->remote_ch_buf + 2 )
2723             remote_FATAL_ERROR( "flex scanner push-back overflow" );
2724         }
2725
2726     if ( remote_cp > remote_bp && remote_cp[-1] == '\n' )
2727         remote_cp[-2] = '\n';
2728
2729     *--remote_cp = c;
2730
2731     /* note: the formal parameter *must* be called "remote_bp" for this
2732      *       macro to now work correctly
2733      */
2734     remote_DO_BEFORE_ACTION; /* set up remotetext again */
2735     }
2736 #endif
2737
2738
2739 #if 0
2740 #ifdef __cplusplus
2741 static int remoteinput()
2742 #else
2743 static int input()
2744 #endif
2745
2746     {
2747     int c;
2748     remote_CHAR *remote_cp = remote_c_buf_p;
2749
2750     *remote_cp = remote_hold_char;
2751
2752     if ( *remote_c_buf_p == remote_END_OF_BUFFER_CHAR )
2753         {
2754         /* remote_c_buf_p now points to the character we want to return.
2755          * If this occurs *before* the EOB characters, then it's a
2756          * valid NUL; if not, then we've hit the end of the buffer.
2757          */
2758         if ( remote_c_buf_p < &remote_current_buffer->remote_ch_buf[remote_n_chars] )
2759             /* this was really a NUL */
2760             *remote_c_buf_p = '\0';
2761
2762         else
2763             { /* need more input */
2764             remotetext = remote_c_buf_p;
2765             ++remote_c_buf_p;
2766
2767             switch ( remote_get_next_buffer() )
2768                 {
2769                 case EOB_ACT_END_OF_FILE:
2770                     {
2771                     if ( remotewrap() )
2772                         {
2773                         remote_c_buf_p = remotetext + remote_MORE_ADJ;
2774                         return ( EOF );
2775                         }
2776
2777                     remote_NEW_FILE;
2778
2779 #ifdef __cplusplus
2780                     return ( remoteinput() );
2781 #else
2782                     return ( input() );
2783 #endif
2784                     }
2785                     break;
2786
2787                 case EOB_ACT_CONTINUE_SCAN:
2788                     remote_c_buf_p = remotetext + remote_MORE_ADJ;
2789                     break;
2790
2791                 case EOB_ACT_LAST_MATCH:
2792 #ifdef __cplusplus
2793                     remote_FATAL_ERROR( "unexpected last match in remoteinput()" );
2794 #else
2795                     remote_FATAL_ERROR( "unexpected last match in input()" );
2796 #endif
2797                 }
2798             }
2799         }
2800
2801     c = *remote_c_buf_p;
2802     remote_hold_char = *++remote_c_buf_p;
2803
2804     return ( c );
2805     }
2806 #endif
2807
2808
2809 #ifdef remote_USE_PROTOS
2810 void remoterestart( FILE *input_file )
2811 #else
2812 void remoterestart( input_file )
2813 FILE *input_file;
2814 #endif
2815
2816     {
2817     remote_init_buffer( remote_current_buffer, input_file );
2818     remote_load_buffer_state();
2819     }
2820
2821
2822 #ifdef remote_USE_PROTOS
2823 void remote_switch_to_buffer( remote_BUFFER_STATE new_buffer )
2824 #else
2825 void remote_switch_to_buffer( new_buffer )
2826 remote_BUFFER_STATE new_buffer;
2827 #endif
2828
2829     {
2830     if ( remote_current_buffer == new_buffer )
2831         return;
2832
2833     if ( remote_current_buffer )
2834         {
2835         /* flush out information for old buffer */
2836         *remote_c_buf_p = remote_hold_char;
2837         remote_current_buffer->remote_buf_pos = remote_c_buf_p;
2838         remote_current_buffer->remote_n_chars = remote_n_chars;
2839         }
2840
2841     remote_current_buffer = new_buffer;
2842     remote_load_buffer_state();
2843
2844     /* we don't actually know whether we did this switch during
2845      * EOF (remotewrap()) processing, but the only time this flag
2846      * is looked at is after remotewrap() is called, so it's safe
2847      * to go ahead and always set it.
2848      */
2849     remote_did_buffer_switch_on_eof = 1;
2850     }
2851
2852
2853 #ifdef remote_USE_PROTOS
2854 void remote_load_buffer_state( void )
2855 #else
2856 void remote_load_buffer_state()
2857 #endif
2858
2859     {
2860     remote_n_chars = remote_current_buffer->remote_n_chars;
2861     remotetext = remote_c_buf_p = remote_current_buffer->remote_buf_pos;
2862     remotein = remote_current_buffer->remote_input_file;
2863     remote_hold_char = *remote_c_buf_p;
2864     }
2865
2866
2867 #ifdef remote_USE_PROTOS
2868 remote_BUFFER_STATE remote_create_buffer( FILE *file, int size )
2869 #else
2870 remote_BUFFER_STATE remote_create_buffer( file, size )
2871 FILE *file;
2872 int size;
2873 #endif
2874
2875     {
2876     remote_BUFFER_STATE b;
2877
2878     b = (remote_BUFFER_STATE) malloc( sizeof( struct remote_buffer_state ) );
2879
2880     if ( ! b )
2881         remote_FATAL_ERROR( "out of dynamic memory in remote_create_buffer()" );
2882
2883     b->remote_buf_size = size;
2884
2885     /* remote_ch_buf has to be 2 characters longer than the size given because
2886      * we need to put in 2 end-of-buffer characters.
2887      */
2888     b->remote_ch_buf = (remote_CHAR *) malloc( (unsigned) (b->remote_buf_size + 2) );
2889
2890     if ( ! b->remote_ch_buf )
2891         remote_FATAL_ERROR( "out of dynamic memory in remote_create_buffer()" );
2892
2893     remote_init_buffer( b, file );
2894
2895     return ( b );
2896     }
2897
2898
2899 #ifdef remote_USE_PROTOS
2900 void remote_delete_buffer( remote_BUFFER_STATE b )
2901 #else
2902 void remote_delete_buffer( b )
2903 remote_BUFFER_STATE b;
2904 #endif
2905
2906     {
2907     if ( b == remote_current_buffer )
2908         remote_current_buffer = (remote_BUFFER_STATE) 0;
2909
2910     free( (char *) b->remote_ch_buf );
2911     free( (char *) b );
2912     }
2913
2914
2915 #ifdef remote_USE_PROTOS
2916 void remote_init_buffer( remote_BUFFER_STATE b, FILE *file )
2917 #else
2918 void remote_init_buffer( b, file )
2919 remote_BUFFER_STATE b;
2920 FILE *file;
2921 #endif
2922
2923     {
2924     b->remote_input_file = file;
2925
2926     /* we put in the '\n' and start reading from [1] so that an
2927      * initial match-at-newline will be true.
2928      */
2929
2930     b->remote_ch_buf[0] = '\n';
2931     b->remote_n_chars = 1;
2932
2933     /* we always need two end-of-buffer characters.  The first causes
2934      * a transition to the end-of-buffer state.  The second causes
2935      * a jam in that state.
2936      */
2937     b->remote_ch_buf[1] = remote_END_OF_BUFFER_CHAR;
2938     b->remote_ch_buf[2] = remote_END_OF_BUFFER_CHAR;
2939
2940     b->remote_buf_pos = &b->remote_ch_buf[1];
2941
2942     b->remote_eof_status = EOF_NOT_SEEN;
2943     }
2944
2945 static int
2946 my_input ( char *buf, int max_size )
2947 {
2948
2949   int remain = myinputlim - myinputptr;
2950   int n = ( max_size > remain ? remain : max_size );
2951
2952   if ( n > 0 ) {
2953     memcpy ( buf, myinputptr, n );
2954     myinputptr += n;
2955   }
2956   return n;
2957 }
2958
2959 //------------------------------------------------------------
2960 void insert_remotelink( hashTable<CC_String,BTCollectable> *dictionary, 
2961                         char *data,
2962                         size_t datalen,
2963                         FlexBuffer *result_buf)
2964 {
2965   myinput = data;
2966   myinputptr = data;
2967   myinputlim = data + datalen;
2968
2969   NodeBuffer = result_buf;
2970   hd         = dictionary;
2971
2972   idref_buffer = new FlexBuffer();
2973   remotelex();
2974   delete idref_buffer;
2975
2976   BEGIN INITIAL;
2977   remoterestart(NULL);
2978 }
2979
2980 void bogus(int)
2981 {
2982   cout << "bogus\n";
2983 }