-rw-r--r-- | qmake/tools/qconfig.cpp | 33 | ||||
-rw-r--r-- | qmake/tools/qlocale.cpp | 6083 | ||||
-rw-r--r-- | qmake/tools/qsettings.cpp | 371 | ||||
-rw-r--r-- | qmake/tools/qunicodetables.cpp | 13237 | ||||
-rw-r--r-- | qmake/tools/quuid.cpp | 280 |
5 files changed, 19764 insertions, 240 deletions
diff --git a/qmake/tools/qconfig.cpp b/qmake/tools/qconfig.cpp index 5297a4e..1a1b796 100644 --- a/qmake/tools/qconfig.cpp +++ b/qmake/tools/qconfig.cpp | |||
@@ -1,17 +1,22 @@ | |||
1 | /* Install paths from configure */ | 1 | /* Install paths from configure */ |
2 | 2 | ||
3 | static const char QT_INSTALL_PREFIX [256] = "/opt/qt-x11-free-3.1.2"; | 3 | static const char QT_INSTALL_PREFIX [267] = "qt_nstpath=/home/ich/programming/kde/qt-copy"; |
4 | static const char QT_INSTALL_BINS [256] = "/opt/qt-x11-free-3.1.2/bin"; | 4 | static const char QT_INSTALL_BINS [267] = "qt_binpath=/home/ich/programming/kde/qt-copy/bin"; |
5 | static const char QT_INSTALL_DOCS [256] = "/opt/qt-x11-free-3.1.2/doc"; | 5 | static const char QT_INSTALL_DOCS [267] = "qt_docpath=/home/ich/programming/kde/qt-copy/doc"; |
6 | static const char QT_INSTALL_HEADERS[256] = "/opt/qt-x11-free-3.1.2/include"; | 6 | static const char QT_INSTALL_HEADERS [267] = "qt_hdrpath=/home/ich/programming/kde/qt-copy/include"; |
7 | static const char QT_INSTALL_LIBS [256] = "/opt/qt-x11-free-3.1.2/lib"; | 7 | static const char QT_INSTALL_LIBS [267] = "qt_libpath=/home/ich/programming/kde/qt-copy/lib"; |
8 | static const char QT_INSTALL_PLUGINS[256] = "/opt/qt-x11-free-3.1.2/plugins"; | 8 | static const char QT_INSTALL_PLUGINS [267] = "qt_plgpath=/home/ich/programming/kde/qt-copy/plugins"; |
9 | static const char QT_INSTALL_DATA [256] = "/opt/qt-x11-free-3.1.2"; | 9 | static const char QT_INSTALL_DATA [267] = "qt_datpath=/home/ich/programming/kde/qt-copy"; |
10 | static const char QT_INSTALL_TRANSLATIONS[267] = "qt_trnpath=/home/ich/programming/kde/qt-copy/translations"; | ||
11 | static const char QT_INSTALL_SYSCONF [267] = "qt_cnfpath=/home/ich/programming/kde/qt-copy/etc/settings"; | ||
10 | 12 | ||
11 | const char *qInstallPath() { return QT_INSTALL_PREFIX; } | 13 | /* strlen( "qt_xxxpath=" ) == 11 */ |
12 | const char *qInstallPathDocs() { return QT_INSTALL_DOCS; } | 14 | const char *qInstallPath() { return QT_INSTALL_PREFIX + 11; } |
13 | const char *qInstallPathHeaders() { return QT_INSTALL_HEADERS; } | 15 | const char *qInstallPathDocs() { return QT_INSTALL_DOCS + 11; } |
14 | const char *qInstallPathLibs() { return QT_INSTALL_LIBS; } | 16 | const char *qInstallPathHeaders() { return QT_INSTALL_HEADERS + 11; } |
15 | const char *qInstallPathBins() { return QT_INSTALL_BINS; } | 17 | const char *qInstallPathLibs() { return QT_INSTALL_LIBS + 11; } |
16 | const char *qInstallPathPlugins() { return QT_INSTALL_PLUGINS; } | 18 | const char *qInstallPathBins() { return QT_INSTALL_BINS + 11; } |
17 | const char *qInstallPathData() { return QT_INSTALL_DATA; } | 19 | const char *qInstallPathPlugins() { return QT_INSTALL_PLUGINS + 11; } |
20 | const char *qInstallPathData() { return QT_INSTALL_DATA + 11; } | ||
21 | const char *qInstallPathTranslations() { return QT_INSTALL_TRANSLATIONS + 11; } | ||
22 | const char *qInstallPathSysconf() { return QT_INSTALL_SYSCONF + 11; } | ||
diff --git a/qmake/tools/qlocale.cpp b/qmake/tools/qlocale.cpp new file mode 100644 index 0000000..5c04288 --- a/dev/null +++ b/qmake/tools/qlocale.cpp | |||
@@ -0,0 +1,6083 @@ | |||
1 | /**************************************************************************** | ||
2 | ** | ||
3 | ** | ||
4 | ** Implementation of the QLocale class | ||
5 | ** | ||
6 | ** Copyright (C) 1992-2003 Trolltech AS. All rights reserved. | ||
7 | ** | ||
8 | ** This file is part of the tools module of the Qt GUI Toolkit. | ||
9 | ** | ||
10 | ** This file may be distributed under the terms of the Q Public License | ||
11 | ** as defined by Trolltech AS of Norway and appearing in the file | ||
12 | ** LICENSE.QPL included in the packaging of this file. | ||
13 | ** | ||
14 | ** This file may be distributed and/or modified under the terms of the | ||
15 | ** GNU General Public License version 2 as published by the Free Software | ||
16 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
17 | ** packaging of this file. | ||
18 | ** | ||
19 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition | ||
20 | ** licenses may use this file in accordance with the Qt Commercial License | ||
21 | ** Agreement provided with the Software. | ||
22 | ** | ||
23 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
24 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
25 | ** | ||
26 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for | ||
27 | ** information about Qt Commercial License Agreements. | ||
28 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | ||
29 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
30 | ** | ||
31 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
32 | ** not clear to you. | ||
33 | ** | ||
34 | **********************************************************************/ | ||
35 | |||
36 | #include <sys/types.h> | ||
37 | #include <ctype.h> | ||
38 | #include <float.h> | ||
39 | #include <limits.h> | ||
40 | #include <math.h> | ||
41 | #include <stdlib.h> | ||
42 | |||
43 | #include "qlocale.h" | ||
44 | #include "qlocale_p.h" | ||
45 | |||
46 | #ifdef QT_QLOCALE_USES_FCVT | ||
47 | # include <qmutex.h> | ||
48 | #endif | ||
49 | |||
50 | #if defined (Q_WS_WIN) | ||
51 | # include <windows.h> | ||
52 | // mingw defines NAN and INFINITY to 0/0 and x/0 | ||
53 | # if defined(Q_CC_GNU) | ||
54 | # undef NAN | ||
55 | # undef INFINITY | ||
56 | # else | ||
57 | # define isnan(d) _isnan(d) | ||
58 | # endif | ||
59 | #endif | ||
60 | |||
61 | #if !defined( QWS ) && defined( Q_OS_MAC ) | ||
62 | # include <Carbon/Carbon.h> | ||
63 | #endif | ||
64 | |||
65 | #if defined (Q_OS_SOLARIS) | ||
66 | # include <ieeefp.h> | ||
67 | #endif | ||
68 | |||
69 | #if defined (Q_OS_OSF) && (defined(__DECC) || defined(__DECCXX)) | ||
70 | # define INFINITY DBL_INFINITY | ||
71 | # define NAN DBL_QNAN | ||
72 | #endif | ||
73 | |||
74 | enum { | ||
75 | LittleEndian, | ||
76 | BigEndian | ||
77 | |||
78 | #ifdef Q_BYTE_ORDER | ||
79 | # if Q_BYTE_ORDER == Q_BIG_ENDIAN | ||
80 | , ByteOrder = BigEndian | ||
81 | # elif Q_BYTE_ORDER == Q_LITTLE_ENDIAN | ||
82 | , ByteOrder = LittleEndian | ||
83 | # else | ||
84 | # error "undefined byte order" | ||
85 | # endif | ||
86 | }; | ||
87 | #else | ||
88 | }; | ||
89 | static const unsigned int one = 1; | ||
90 | static const bool ByteOrder = ((*((unsigned char *) &one) == 0) ? BigEndian : LittleEndian); | ||
91 | #endif | ||
92 | |||
93 | #if !defined(INFINITY) | ||
94 | static const unsigned char be_inf_bytes[] = { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 }; | ||
95 | static const unsigned char le_inf_bytes[] = { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f }; | ||
96 | static inline double inf() | ||
97 | { | ||
98 | return (ByteOrder == BigEndian ? | ||
99 | *((const double *) be_inf_bytes) : | ||
100 | *((const double *) le_inf_bytes)); | ||
101 | } | ||
102 | # define INFINITY (::inf()) | ||
103 | #endif | ||
104 | |||
105 | #if !defined(NAN) | ||
106 | static const unsigned char be_nan_bytes[] = { 0x7f, 0xf8, 0, 0, 0, 0, 0, 0 }; | ||
107 | static const unsigned char le_nan_bytes[] = { 0, 0, 0, 0, 0, 0, 0xf8, 0x7f }; | ||
108 | static inline double nan() | ||
109 | { | ||
110 | return (ByteOrder == BigEndian ? | ||
111 | *((const double *) be_nan_bytes) : | ||
112 | *((const double *) le_nan_bytes)); | ||
113 | } | ||
114 | # define NAN (::nan()) | ||
115 | #endif | ||
116 | |||
117 | // Sizes as defined by the ISO C99 standard - fallback | ||
118 | #ifndef LLONG_MAX | ||
119 | # define LLONG_MAX Q_INT64_C(9223372036854775807) | ||
120 | #endif | ||
121 | #ifndef LLONG_MIN | ||
122 | # define LLONG_MIN (-LLONG_MAX - Q_INT64_C(1)) | ||
123 | #endif | ||
124 | #ifndef ULLONG_MAX | ||
125 | # define ULLONG_MAX Q_UINT64_C(0xffffffffffffffff) | ||
126 | #endif | ||
127 | |||
128 | #ifndef QT_QLOCALE_USES_FCVT | ||
129 | static char *qdtoa(double d, int mode, int ndigits, int *decpt, | ||
130 | int *sign, char **rve, char **digits_str); | ||
131 | static double qstrtod(const char *s00, char const **se, bool *ok); | ||
132 | #endif | ||
133 | static Q_LLONG qstrtoll(const char *nptr, const char **endptr, register int base, bool *ok); | ||
134 | static Q_ULLONG qstrtoull(const char *nptr, const char **endptr, register int base, bool *ok); | ||
135 | |||
136 | static const uint locale_index[] = { | ||
137 | 0, // unused | ||
138 | 0, // C | ||
139 | 0, // Abkhazian | ||
140 | 0, // Afan | ||
141 | 0, // Afar | ||
142 | 1, // Afrikaans | ||
143 | 2, // Albanian | ||
144 | 0, // Amharic | ||
145 | 3, // Arabic | ||
146 | 19, // Armenian | ||
147 | 0, // Assamese | ||
148 | 0, // Aymara | ||
149 | 20, // Azerbaijani | ||
150 | 0, // Bashkir | ||
151 | 21, // Basque | ||
152 | 0, // Bengali | ||
153 | 0, // Bhutani | ||
154 | 0, // Bihari | ||
155 | 0, // Bislama | ||
156 | 0, // Breton | ||
157 | 22, // Bulgarian | ||
158 | 0, // Burmese | ||
159 | 23, // Byelorussian | ||
160 | 0, // Cambodian | ||
161 | 24, // Catalan | ||
162 | 25, // Chinese | ||
163 | 0, // Corsican | ||
164 | 30, // Croatian | ||
165 | 31, // Czech | ||
166 | 32, // Danish | ||
167 | 33, // Dutch | ||
168 | 35, // English | ||
169 | 0, // Esperanto | ||
170 | 47, // Estonian | ||
171 | 48, // Faroese | ||
172 | 0, // Fiji | ||
173 | 49, // Finnish | ||
174 | 50, // French | ||
175 | 0, // Frisian | ||
176 | 0, // Gaelic | ||
177 | 56, // Galician | ||
178 | 57, // Georgian | ||
179 | 58, // German | ||
180 | 63, // Greek | ||
181 | 0, // Greenlandic | ||
182 | 0, // Guarani | ||
183 | 64, // Gujarati | ||
184 | 0, // Hausa | ||
185 | 65, // Hebrew | ||
186 | 66, // Hindi | ||
187 | 67, // Hungarian | ||
188 | 68, // Icelandic | ||
189 | 69, // Indonesian | ||
190 | 0, // Interlingua | ||
191 | 0, // Interlingue | ||
192 | 0, // Inuktitut | ||
193 | 0, // Inupiak | ||
194 | 0, // Irish | ||
195 | 70, // Italian | ||
196 | 72, // Japanese | ||
197 | 0, // Javanese | ||
198 | 73, // Kannada | ||
199 | 0, // Kashmiri | ||
200 | 74, // Kazakh | ||
201 | 0, // Kinyarwanda | ||
202 | 75, // Kirghiz | ||
203 | 76, // Korean | ||
204 | 0, // Kurdish | ||
205 | 0, // Kurundi | ||
206 | 0, // Laothian | ||
207 | 0, // Latin | ||
208 | 77, // Latvian | ||
209 | 0, // Lingala | ||
210 | 78, // Lithuanian | ||
211 | 79, // Macedonian | ||
212 | 0, // Malagasy | ||
213 | 80, // Malay | ||
214 | 0, // Malayalam | ||
215 | 0, // Maltese | ||
216 | 0, // Maori | ||
217 | 82, // Marathi | ||
218 | 0, // Moldavian | ||
219 | 83, // Mongolian | ||
220 | 0, // Nauru | ||
221 | 0, // Nepali | ||
222 | 84, // Norwegian | ||
223 | 0, // Occitan | ||
224 | 0, // Oriya | ||
225 | 0, // Pashto | ||
226 | 85, // Persian | ||
227 | 86, // Polish | ||
228 | 87, // Portuguese | ||
229 | 89, // Punjabi | ||
230 | 0, // Quechua | ||
231 | 0, // RhaetoRomance | ||
232 | 90, // Romanian | ||
233 | 91, // Russian | ||
234 | 0, // Samoan | ||
235 | 0, // Sangho | ||
236 | 92, // Sanskrit | ||
237 | 0, // Serbian | ||
238 | 0, // SerboCroatian | ||
239 | 0, // Sesotho | ||
240 | 0, // Setswana | ||
241 | 0, // Shona | ||
242 | 0, // Sindhi | ||
243 | 0, // Singhalese | ||
244 | 0, // Siswati | ||
245 | 93, // Slovak | ||
246 | 94, // Slovenian | ||
247 | 0, // Somali | ||
248 | 95, // Spanish | ||
249 | 0, // Sundanese | ||
250 | 114, // Swahili | ||
251 | 115, // Swedish | ||
252 | 0, // Tagalog | ||
253 | 0, // Tajik | ||
254 | 117, // Tamil | ||
255 | 0, // Tatar | ||
256 | 118, // Telugu | ||
257 | 119, // Thai | ||
258 | 0, // Tibetan | ||
259 | 0, // Tigrinya | ||
260 | 0, // Tonga | ||
261 | 0, // Tsonga | ||
262 | 120, // Turkish | ||
263 | 0, // Turkmen | ||
264 | 0, // Twi | ||
265 | 0, // Uigur | ||
266 | 121, // Ukrainian | ||
267 | 122, // Urdu | ||
268 | 123, // Uzbek | ||
269 | 124, // Vietnamese | ||
270 | 0, // Volapuk | ||
271 | 0, // Welsh | ||
272 | 0, // Wolof | ||
273 | 0, // Xhosa | ||
274 | 0, // Yiddish | ||
275 | 0, // Yoruba | ||
276 | 0, // Zhuang | ||
277 | 0, // Zulu | ||
278 | 0 // trailing 0 | ||
279 | }; | ||
280 | |||
281 | static const QLocalePrivate locale_data[] = { | ||
282 | // lang terr dec group list prcnt zero minus exp | ||
283 | { 1, 0, 46, 44, 59, 37, 48, 45, 101 }, // C/AnyCountry | ||
284 | { 5, 195, 46, 44, 44, 37, 48, 45, 101 }, // Afrikaans/SouthAfrica | ||
285 | { 6, 2, 44, 46, 59, 37, 48, 45, 101 }, // Albanian/Albania | ||
286 | { 8, 186, 46, 44, 59, 37, 1632, 45, 101 }, // Arabic/SaudiArabia | ||
287 | { 8, 3, 46, 44, 59, 37, 48, 45, 101 }, // Arabic/Algeria | ||
288 | { 8, 17, 46, 44, 59, 37, 1632, 45, 101 }, // Arabic/Bahrain | ||
289 | { 8, 64, 46, 44, 59, 37, 1632, 45, 101 }, // Arabic/Egypt | ||
290 | { 8, 103, 46, 44, 59, 37, 1632, 45, 101 }, // Arabic/Iraq | ||
291 | { 8, 109, 46, 44, 59, 37, 1632, 45, 101 }, // Arabic/Jordan | ||
292 | { 8, 115, 46, 44, 59, 37, 1632, 45, 101 }, // Arabic/Kuwait | ||
293 | { 8, 119, 46, 44, 59, 37, 1632, 45, 101 }, // Arabic/Lebanon | ||
294 | { 8, 122, 46, 44, 59, 37, 48, 45, 101 }, // Arabic/LibyanArabJamahiriya | ||
295 | { 8, 145, 46, 44, 59, 37, 48, 45, 101 }, // Arabic/Morocco | ||
296 | { 8, 162, 46, 44, 59, 37, 1632, 45, 101 }, // Arabic/Oman | ||
297 | { 8, 175, 46, 44, 59, 37, 1632, 45, 101 }, // Arabic/Qatar | ||
298 | { 8, 207, 46, 44, 59, 37, 1632, 45, 101 }, // Arabic/SyrianArabRepublic | ||
299 | { 8, 216, 46, 44, 59, 37, 48, 45, 101 }, // Arabic/Tunisia | ||
300 | { 8, 223, 46, 44, 59, 37, 1632, 45, 101 }, // Arabic/UnitedArabEmirates | ||
301 | { 8, 237, 46, 44, 59, 37, 1632, 45, 101 }, // Arabic/Yemen | ||
302 | { 9, 11, 46, 44, 44, 37, 48, 45, 101 }, // Armenian/Armenia | ||
303 | { 12, 15, 44, 160, 59, 37, 48, 45, 101 }, // Azerbaijani/Azerbaijan | ||
304 | { 14, 197, 44, 46, 59, 37, 48, 45, 101 }, // Basque/Spain | ||
305 | { 20, 33, 44, 160, 59, 37, 48, 45, 101 }, // Bulgarian/Bulgaria | ||
306 | { 22, 20, 44, 160, 59, 37, 48, 45, 101 }, // Byelorussian/Belarus | ||
307 | { 24, 197, 44, 46, 59, 37, 48, 45, 101 }, // Catalan/Spain | ||
308 | { 25, 44, 46, 44, 44, 37, 48, 45, 101 }, // Chinese/China | ||
309 | { 25, 97, 46, 44, 44, 37, 48, 45, 101 }, // Chinese/HongKong | ||
310 | { 25, 126, 46, 44, 44, 37, 48, 45, 101 }, // Chinese/Macau | ||
311 | { 25, 190, 46, 44, 44, 37, 48, 45, 101 }, // Chinese/Singapore | ||
312 | { 25, 208, 46, 44, 44, 37, 48, 45, 101 }, // Chinese/Taiwan | ||
313 | { 27, 54, 44, 46, 59, 37, 48, 45, 101 }, // Croatian/Croatia | ||
314 | { 28, 57, 44, 160, 59, 37, 48, 45, 101 }, // Czech/CzechRepublic | ||
315 | { 29, 58, 44, 46, 59, 37, 48, 45, 101 }, // Danish/Denmark | ||
316 | { 30, 151, 44, 46, 59, 37, 48, 45, 101 }, // Dutch/Netherlands | ||
317 | { 30, 21, 44, 46, 59, 37, 48, 45, 101 }, // Dutch/Belgium | ||
318 | { 31, 225, 46, 44, 44, 37, 48, 45, 101 }, // English/UnitedStates | ||
319 | { 31, 13, 46, 44, 44, 37, 48, 45, 101 }, // English/Australia | ||
320 | { 31, 22, 46, 44, 59, 37, 48, 45, 101 }, // English/Belize | ||
321 | { 31, 38, 46, 44, 44, 37, 48, 45, 101 }, // English/Canada | ||
322 | { 31, 104, 46, 44, 44, 37, 48, 45, 101 }, // English/Ireland | ||
323 | { 31, 107, 46, 44, 44, 37, 48, 45, 101 }, // English/Jamaica | ||
324 | { 31, 154, 46, 44, 44, 37, 48, 45, 101 }, // English/NewZealand | ||
325 | { 31, 170, 46, 44, 44, 37, 48, 45, 101 }, // English/Philippines | ||
326 | { 31, 195, 46, 44, 44, 37, 48, 45, 101 }, // English/SouthAfrica | ||
327 | { 31, 215, 46, 44, 59, 37, 48, 45, 101 }, // English/TrinidadAndTobago | ||
328 | { 31, 224, 46, 44, 44, 37, 48, 45, 101 }, // English/UnitedKingdom | ||
329 | { 31, 240, 46, 44, 44, 37, 48, 45, 101 }, // English/Zimbabwe | ||
330 | { 33, 68, 44, 160, 59, 37, 48, 45, 101 }, // Estonian/Estonia | ||
331 | { 34, 71, 44, 46, 59, 37, 48, 45, 101 }, // Faroese/FaroeIslands | ||
332 | { 36, 73, 44, 160, 59, 37, 48, 45, 101 }, // Finnish/Finland | ||
333 | { 37, 74, 44, 160, 59, 37, 48, 45, 101 }, // French/France | ||
334 | { 37, 21, 44, 46, 59, 37, 48, 45, 101 }, // French/Belgium | ||
335 | { 37, 38, 44, 160, 59, 37, 48, 45, 101 }, // French/Canada | ||
336 | { 37, 125, 44, 160, 59, 37, 48, 45, 101 }, // French/Luxembourg | ||
337 | { 37, 142, 44, 160, 59, 37, 48, 45, 101 }, // French/Monaco | ||
338 | { 37, 206, 46, 39, 59, 37, 48, 45, 101 }, // French/Switzerland | ||
339 | { 40, 197, 44, 46, 44, 37, 48, 45, 101 }, // Galician/Spain | ||
340 | { 41, 81, 44, 160, 59, 37, 48, 45, 101 }, // Georgian/Georgia | ||
341 | { 42, 82, 44, 46, 59, 37, 48, 45, 101 }, // German/Germany | ||
342 | { 42, 14, 44, 46, 59, 37, 48, 45, 101 }, // German/Austria | ||
343 | { 42, 123, 46, 39, 59, 37, 48, 45, 101 }, // German/Liechtenstein | ||
344 | { 42, 125, 44, 46, 59, 37, 48, 45, 101 }, // German/Luxembourg | ||
345 | { 42, 206, 46, 39, 59, 37, 48, 45, 101 }, // German/Switzerland | ||
346 | { 43, 85, 44, 46, 59, 37, 48, 45, 101 }, // Greek/Greece | ||
347 | { 46, 100, 46, 44, 44, 37, 2790, 45, 101 }, // Gujarati/India | ||
348 | { 48, 105, 46, 44, 44, 37, 48, 45, 101 }, // Hebrew/Israel | ||
349 | { 49, 100, 46, 44, 44, 37, 48, 45, 101 }, // Hindi/India | ||
350 | { 50, 98, 44, 160, 59, 37, 48, 45, 101 }, // Hungarian/Hungary | ||
351 | { 51, 99, 44, 46, 59, 37, 48, 45, 101 }, // Icelandic/Iceland | ||
352 | { 52, 101, 44, 46, 59, 37, 48, 45, 101 }, // Indonesian/Indonesia | ||
353 | { 58, 106, 44, 46, 59, 37, 48, 45, 101 }, // Italian/Italy | ||
354 | { 58, 206, 46, 39, 59, 37, 48, 45, 101 }, // Italian/Switzerland | ||
355 | { 59, 108, 46, 44, 44, 37, 48, 45, 101 }, // Japanese/Japan | ||
356 | { 61, 100, 46, 44, 44, 37, 3302, 45, 101 }, // Kannada/India | ||
357 | { 63, 110, 44, 160, 59, 37, 48, 45, 101 }, // Kazakh/Kazakhstan | ||
358 | { 65, 116, 44, 160, 59, 37, 48, 45, 101 }, // Kirghiz/Kyrgyzstan | ||
359 | { 66, 114, 46, 44, 44, 37, 48, 45, 101 }, // Korean/RepublicOfKorea | ||
360 | { 71, 118, 44, 160, 59, 37, 48, 45, 101 }, // Latvian/Latvia | ||
361 | { 73, 124, 44, 46, 59, 37, 48, 45, 101 }, // Lithuanian/Lithuania | ||
362 | { 74, 127, 44, 46, 59, 37, 48, 45, 101 }, // Macedonian/Macedonia | ||
363 | { 76, 130, 44, 46, 59, 37, 48, 45, 101 }, // Malay/Malaysia | ||
364 | { 76, 32, 44, 46, 59, 37, 48, 45, 101 }, // Malay/BruneiDarussalam | ||
365 | { 80, 100, 46, 44, 44, 37, 2406, 45, 101 }, // Marathi/India | ||
366 | { 82, 143, 44, 160, 59, 37, 48, 45, 101 }, // Mongolian/Mongolia | ||
367 | { 85, 161, 44, 160, 59, 37, 48, 45, 101 }, // Norwegian/Norway | ||
368 | { 89, 102, 46, 44, 59, 37, 1776, 45, 101 }, // Persian/Iran | ||
369 | { 90, 172, 44, 160, 59, 37, 48, 45, 101 }, // Polish/Poland | ||
370 | { 91, 173, 44, 46, 59, 37, 48, 45, 101 }, // Portuguese/Portugal | ||
371 | { 91, 30, 44, 46, 59, 37, 48, 45, 101 }, // Portuguese/Brazil | ||
372 | { 92, 100, 46, 44, 44, 37, 2662, 45, 101 }, // Punjabi/India | ||
373 | { 95, 177, 44, 46, 59, 37, 48, 45, 101 }, // Romanian/Romania | ||
374 | { 96, 178, 44, 160, 59, 37, 48, 45, 101 }, // Russian/RussianFederation | ||
375 | { 99, 100, 46, 44, 44, 37, 2406, 45, 101 }, // Sanskrit/India | ||
376 | { 108, 191, 44, 160, 59, 37, 48, 45, 101 }, // Slovak/Slovakia | ||
377 | { 109, 192, 44, 46, 59, 37, 48, 45, 101 }, // Slovenian/Slovenia | ||
378 | { 111, 197, 44, 46, 59, 37, 48, 45, 101 }, // Spanish/Spain | ||
379 | { 111, 10, 44, 46, 44, 37, 48, 45, 101 }, // Spanish/Argentina | ||
380 | { 111, 26, 44, 46, 44, 37, 48, 45, 101 }, // Spanish/Bolivia | ||
381 | { 111, 43, 44, 46, 44, 37, 48, 45, 101 }, // Spanish/Chile | ||
382 | { 111, 47, 44, 46, 44, 37, 48, 45, 101 }, // Spanish/Colombia | ||
383 | { 111, 52, 44, 46, 44, 37, 48, 45, 101 }, // Spanish/CostaRica | ||
384 | { 111, 61, 46, 44, 44, 37, 48, 45, 101 }, // Spanish/DominicanRepublic | ||
385 | { 111, 63, 44, 46, 44, 37, 48, 45, 101 }, // Spanish/Ecuador | ||
386 | { 111, 65, 46, 44, 44, 37, 48, 45, 101 }, // Spanish/ElSalvador | ||
387 | { 111, 90, 46, 44, 44, 37, 48, 45, 101 }, // Spanish/Guatemala | ||
388 | { 111, 96, 46, 44, 44, 37, 48, 45, 101 }, // Spanish/Honduras | ||
389 | { 111, 139, 46, 44, 44, 37, 48, 45, 101 }, // Spanish/Mexico | ||
390 | { 111, 155, 46, 44, 44, 37, 48, 45, 101 }, // Spanish/Nicaragua | ||
391 | { 111, 166, 46, 44, 44, 37, 48, 45, 101 }, // Spanish/Panama | ||
392 | { 111, 168, 44, 46, 44, 37, 48, 45, 101 }, // Spanish/Paraguay | ||
393 | { 111, 169, 46, 44, 44, 37, 48, 45, 101 }, // Spanish/Peru | ||
394 | { 111, 174, 46, 44, 44, 37, 48, 45, 101 }, // Spanish/PuertoRico | ||
395 | { 111, 227, 44, 46, 44, 37, 48, 45, 101 }, // Spanish/Uruguay | ||
396 | { 111, 231, 44, 46, 44, 37, 48, 45, 101 }, // Spanish/Venezuela | ||
397 | { 113, 111, 46, 44, 44, 37, 48, 45, 101 }, // Swahili/Kenya | ||
398 | { 114, 205, 44, 160, 59, 37, 48, 45, 101 }, // Swedish/Sweden | ||
399 | { 114, 73, 44, 160, 59, 37, 48, 45, 101 }, // Swedish/Finland | ||
400 | { 117, 100, 46, 44, 44, 37, 48, 45, 101 }, // Tamil/India | ||
401 | { 119, 100, 46, 44, 44, 37, 3174, 45, 101 }, // Telugu/India | ||
402 | { 120, 211, 46, 44, 44, 37, 3664, 45, 101 }, // Thai/Thailand | ||
403 | { 125, 217, 44, 46, 59, 37, 48, 45, 101 }, // Turkish/Turkey | ||
404 | { 129, 222, 44, 160, 59, 37, 48, 45, 101 }, // Ukrainian/Ukraine | ||
405 | { 130, 163, 46, 44, 59, 37, 1776, 45, 101 }, // Urdu/Pakistan | ||
406 | { 131, 228, 44, 160, 59, 37, 48, 45, 101 }, // Uzbek/Uzbekistan | ||
407 | { 132, 232, 44, 46, 44, 37, 48, 45, 101 }, // Vietnamese/VietNam | ||
408 | { 0, 0, 0, 0, 0, 0, 0, 0, 0 } // trailing 0s | ||
409 | }; | ||
410 | |||
411 | static const char language_name_list[] = | ||
412 | "Default\0" | ||
413 | "C\0" | ||
414 | "Abkhazian\0" | ||
415 | "Afan\0" | ||
416 | "Afar\0" | ||
417 | "Afrikaans\0" | ||
418 | "Albanian\0" | ||
419 | "Amharic\0" | ||
420 | "Arabic\0" | ||
421 | "Armenian\0" | ||
422 | "Assamese\0" | ||
423 | "Aymara\0" | ||
424 | "Azerbaijani\0" | ||
425 | "Bashkir\0" | ||
426 | "Basque\0" | ||
427 | "Bengali\0" | ||
428 | "Bhutani\0" | ||
429 | "Bihari\0" | ||
430 | "Bislama\0" | ||
431 | "Breton\0" | ||
432 | "Bulgarian\0" | ||
433 | "Burmese\0" | ||
434 | "Byelorussian\0" | ||
435 | "Cambodian\0" | ||
436 | "Catalan\0" | ||
437 | "Chinese\0" | ||
438 | "Corsican\0" | ||
439 | "Croatian\0" | ||
440 | "Czech\0" | ||
441 | "Danish\0" | ||
442 | "Dutch\0" | ||
443 | "English\0" | ||
444 | "Esperanto\0" | ||
445 | "Estonian\0" | ||
446 | "Faroese\0" | ||
447 | "Fiji\0" | ||
448 | "Finnish\0" | ||
449 | "French\0" | ||
450 | "Frisian\0" | ||
451 | "Gaelic\0" | ||
452 | "Galician\0" | ||
453 | "Georgian\0" | ||
454 | "German\0" | ||
455 | "Greek\0" | ||
456 | "Greenlandic\0" | ||
457 | "Guarani\0" | ||
458 | "Gujarati\0" | ||
459 | "Hausa\0" | ||
460 | "Hebrew\0" | ||
461 | "Hindi\0" | ||
462 | "Hungarian\0" | ||
463 | "Icelandic\0" | ||
464 | "Indonesian\0" | ||
465 | "Interlingua\0" | ||
466 | "Interlingue\0" | ||
467 | "Inuktitut\0" | ||
468 | "Inupiak\0" | ||
469 | "Irish\0" | ||
470 | "Italian\0" | ||
471 | "Japanese\0" | ||
472 | "Javanese\0" | ||
473 | "Kannada\0" | ||
474 | "Kashmiri\0" | ||
475 | "Kazakh\0" | ||
476 | "Kinyarwanda\0" | ||
477 | "Kirghiz\0" | ||
478 | "Korean\0" | ||
479 | "Kurdish\0" | ||
480 | "Kurundi\0" | ||
481 | "Laothian\0" | ||
482 | "Latin\0" | ||
483 | "Latvian\0" | ||
484 | "Lingala\0" | ||
485 | "Lithuanian\0" | ||
486 | "Macedonian\0" | ||
487 | "Malagasy\0" | ||
488 | "Malay\0" | ||
489 | "Malayalam\0" | ||
490 | "Maltese\0" | ||
491 | "Maori\0" | ||
492 | "Marathi\0" | ||
493 | "Moldavian\0" | ||
494 | "Mongolian\0" | ||
495 | "Nauru\0" | ||
496 | "Nepali\0" | ||
497 | "Norwegian\0" | ||
498 | "Occitan\0" | ||
499 | "Oriya\0" | ||
500 | "Pashto\0" | ||
501 | "Persian\0" | ||
502 | "Polish\0" | ||
503 | "Portuguese\0" | ||
504 | "Punjabi\0" | ||
505 | "Quechua\0" | ||
506 | "RhaetoRomance\0" | ||
507 | "Romanian\0" | ||
508 | "Russian\0" | ||
509 | "Samoan\0" | ||
510 | "Sangho\0" | ||
511 | "Sanskrit\0" | ||
512 | "Serbian\0" | ||
513 | "SerboCroatian\0" | ||
514 | "Sesotho\0" | ||
515 | "Setswana\0" | ||
516 | "Shona\0" | ||
517 | "Sindhi\0" | ||
518 | "Singhalese\0" | ||
519 | "Siswati\0" | ||
520 | "Slovak\0" | ||
521 | "Slovenian\0" | ||
522 | "Somali\0" | ||
523 | "Spanish\0" | ||
524 | "Sundanese\0" | ||
525 | "Swahili\0" | ||
526 | "Swedish\0" | ||
527 | "Tagalog\0" | ||
528 | "Tajik\0" | ||
529 | "Tamil\0" | ||
530 | "Tatar\0" | ||
531 | "Telugu\0" | ||
532 | "Thai\0" | ||
533 | "Tibetan\0" | ||
534 | "Tigrinya\0" | ||
535 | "Tonga\0" | ||
536 | "Tsonga\0" | ||
537 | "Turkish\0" | ||
538 | "Turkmen\0" | ||
539 | "Twi\0" | ||
540 | "Uigur\0" | ||
541 | "Ukrainian\0" | ||
542 | "Urdu\0" | ||
543 | "Uzbek\0" | ||
544 | "Vietnamese\0" | ||
545 | "Volapuk\0" | ||
546 | "Welsh\0" | ||
547 | "Wolof\0" | ||
548 | "Xhosa\0" | ||
549 | "Yiddish\0" | ||
550 | "Yoruba\0" | ||
551 | "Zhuang\0" | ||
552 | "Zulu\0"; | ||
553 | |||
554 | static const uint language_name_index[] = { | ||
555 | 0, // Unused | ||
556 | 8, // C | ||
557 | 10, // Abkhazian | ||
558 | 20, // Afan | ||
559 | 25, // Afar | ||
560 | 30, // Afrikaans | ||
561 | 40, // Albanian | ||
562 | 49, // Amharic | ||
563 | 57, // Arabic | ||
564 | 64, // Armenian | ||
565 | 73, // Assamese | ||
566 | 82, // Aymara | ||
567 | 89, // Azerbaijani | ||
568 | 101, // Bashkir | ||
569 | 109, // Basque | ||
570 | 116, // Bengali | ||
571 | 124, // Bhutani | ||
572 | 132, // Bihari | ||
573 | 139, // Bislama | ||
574 | 147, // Breton | ||
575 | 154, // Bulgarian | ||
576 | 164, // Burmese | ||
577 | 172, // Byelorussian | ||
578 | 185, // Cambodian | ||
579 | 195, // Catalan | ||
580 | 203, // Chinese | ||
581 | 211, // Corsican | ||
582 | 220, // Croatian | ||
583 | 229, // Czech | ||
584 | 235, // Danish | ||
585 | 242, // Dutch | ||
586 | 248, // English | ||
587 | 256, // Esperanto | ||
588 | 266, // Estonian | ||
589 | 275, // Faroese | ||
590 | 283, // Fiji | ||
591 | 288, // Finnish | ||
592 | 296, // French | ||
593 | 303, // Frisian | ||
594 | 311, // Gaelic | ||
595 | 318, // Galician | ||
596 | 327, // Georgian | ||
597 | 336, // German | ||
598 | 343, // Greek | ||
599 | 349, // Greenlandic | ||
600 | 361, // Guarani | ||
601 | 369, // Gujarati | ||
602 | 378, // Hausa | ||
603 | 384, // Hebrew | ||
604 | 391, // Hindi | ||
605 | 397, // Hungarian | ||
606 | 407, // Icelandic | ||
607 | 417, // Indonesian | ||
608 | 428, // Interlingua | ||
609 | 440, // Interlingue | ||
610 | 452, // Inuktitut | ||
611 | 462, // Inupiak | ||
612 | 470, // Irish | ||
613 | 476, // Italian | ||
614 | 484, // Japanese | ||
615 | 493, // Javanese | ||
616 | 502, // Kannada | ||
617 | 510, // Kashmiri | ||
618 | 519, // Kazakh | ||
619 | 526, // Kinyarwanda | ||
620 | 538, // Kirghiz | ||
621 | 546, // Korean | ||
622 | 553, // Kurdish | ||
623 | 561, // Kurundi | ||
624 | 569, // Laothian | ||
625 | 578, // Latin | ||
626 | 584, // Latvian | ||
627 | 592, // Lingala | ||
628 | 600, // Lithuanian | ||
629 | 611, // Macedonian | ||
630 | 622, // Malagasy | ||
631 | 631, // Malay | ||
632 | 637, // Malayalam | ||
633 | 647, // Maltese | ||
634 | 655, // Maori | ||
635 | 661, // Marathi | ||
636 | 669, // Moldavian | ||
637 | 679, // Mongolian | ||
638 | 689, // Nauru | ||
639 | 695, // Nepali | ||
640 | 702, // Norwegian | ||
641 | 712, // Occitan | ||
642 | 720, // Oriya | ||
643 | 726, // Pashto | ||
644 | 733, // Persian | ||
645 | 741, // Polish | ||
646 | 748, // Portuguese | ||
647 | 759, // Punjabi | ||
648 | 767, // Quechua | ||
649 | 775, // RhaetoRomance | ||
650 | 789, // Romanian | ||
651 | 798, // Russian | ||
652 | 806, // Samoan | ||
653 | 813, // Sangho | ||
654 | 820, // Sanskrit | ||
655 | 829, // Serbian | ||
656 | 837, // SerboCroatian | ||
657 | 851, // Sesotho | ||
658 | 859, // Setswana | ||
659 | 868, // Shona | ||
660 | 874, // Sindhi | ||
661 | 881, // Singhalese | ||
662 | 892, // Siswati | ||
663 | 900, // Slovak | ||
664 | 907, // Slovenian | ||
665 | 917, // Somali | ||
666 | 924, // Spanish | ||
667 | 932, // Sundanese | ||
668 | 942, // Swahili | ||
669 | 950, // Swedish | ||
670 | 958, // Tagalog | ||
671 | 966, // Tajik | ||
672 | 972, // Tamil | ||
673 | 978, // Tatar | ||
674 | 984, // Telugu | ||
675 | 991, // Thai | ||
676 | 996, // Tibetan | ||
677 | 1004, // Tigrinya | ||
678 | 1013, // Tonga | ||
679 | 1019, // Tsonga | ||
680 | 1026, // Turkish | ||
681 | 1034, // Turkmen | ||
682 | 1042, // Twi | ||
683 | 1046, // Uigur | ||
684 | 1052, // Ukrainian | ||
685 | 1062, // Urdu | ||
686 | 1067, // Uzbek | ||
687 | 1073, // Vietnamese | ||
688 | 1084, // Volapuk | ||
689 | 1092, // Welsh | ||
690 | 1098, // Wolof | ||
691 | 1104, // Xhosa | ||
692 | 1110, // Yiddish | ||
693 | 1118, // Yoruba | ||
694 | 1125, // Zhuang | ||
695 | 1132 // Zulu | ||
696 | }; | ||
697 | |||
698 | static const char country_name_list[] = | ||
699 | "Default\0" | ||
700 | "Afghanistan\0" | ||
701 | "Albania\0" | ||
702 | "Algeria\0" | ||
703 | "AmericanSamoa\0" | ||
704 | "Andorra\0" | ||
705 | "Angola\0" | ||
706 | "Anguilla\0" | ||
707 | "Antarctica\0" | ||
708 | "AntiguaAndBarbuda\0" | ||
709 | "Argentina\0" | ||
710 | "Armenia\0" | ||
711 | "Aruba\0" | ||
712 | "Australia\0" | ||
713 | "Austria\0" | ||
714 | "Azerbaijan\0" | ||
715 | "Bahamas\0" | ||
716 | "Bahrain\0" | ||
717 | "Bangladesh\0" | ||
718 | "Barbados\0" | ||
719 | "Belarus\0" | ||
720 | "Belgium\0" | ||
721 | "Belize\0" | ||
722 | "Benin\0" | ||
723 | "Bermuda\0" | ||
724 | "Bhutan\0" | ||
725 | "Bolivia\0" | ||
726 | "BosniaAndHerzegowina\0" | ||
727 | "Botswana\0" | ||
728 | "BouvetIsland\0" | ||
729 | "Brazil\0" | ||
730 | "BritishIndianOceanTerritory\0" | ||
731 | "BruneiDarussalam\0" | ||
732 | "Bulgaria\0" | ||
733 | "BurkinaFaso\0" | ||
734 | "Burundi\0" | ||
735 | "Cambodia\0" | ||
736 | "Cameroon\0" | ||
737 | "Canada\0" | ||
738 | "CapeVerde\0" | ||
739 | "CaymanIslands\0" | ||
740 | "CentralAfricanRepublic\0" | ||
741 | "Chad\0" | ||
742 | "Chile\0" | ||
743 | "China\0" | ||
744 | "ChristmasIsland\0" | ||
745 | "CocosIslands\0" | ||
746 | "Colombia\0" | ||
747 | "Comoros\0" | ||
748 | "DemocraticRepublicOfCongo\0" | ||
749 | "PeoplesRepublicOfCongo\0" | ||
750 | "CookIslands\0" | ||
751 | "CostaRica\0" | ||
752 | "IvoryCoast\0" | ||
753 | "Croatia\0" | ||
754 | "Cuba\0" | ||
755 | "Cyprus\0" | ||
756 | "CzechRepublic\0" | ||
757 | "Denmark\0" | ||
758 | "Djibouti\0" | ||
759 | "Dominica\0" | ||
760 | "DominicanRepublic\0" | ||
761 | "EastTimor\0" | ||
762 | "Ecuador\0" | ||
763 | "Egypt\0" | ||
764 | "ElSalvador\0" | ||
765 | "EquatorialGuinea\0" | ||
766 | "Eritrea\0" | ||
767 | "Estonia\0" | ||
768 | "Ethiopia\0" | ||
769 | "FalklandIslands\0" | ||
770 | "FaroeIslands\0" | ||
771 | "Fiji\0" | ||
772 | "Finland\0" | ||
773 | "France\0" | ||
774 | "MetropolitanFrance\0" | ||
775 | "FrenchGuiana\0" | ||
776 | "FrenchPolynesia\0" | ||
777 | "FrenchSouthernTerritories\0" | ||
778 | "Gabon\0" | ||
779 | "Gambia\0" | ||
780 | "Georgia\0" | ||
781 | "Germany\0" | ||
782 | "Ghana\0" | ||
783 | "Gibraltar\0" | ||
784 | "Greece\0" | ||
785 | "Greenland\0" | ||
786 | "Grenada\0" | ||
787 | "Guadeloupe\0" | ||
788 | "Guam\0" | ||
789 | "Guatemala\0" | ||
790 | "Guinea\0" | ||
791 | "GuineaBissau\0" | ||
792 | "Guyana\0" | ||
793 | "Haiti\0" | ||
794 | "HeardAndMcDonaldIslands\0" | ||
795 | "Honduras\0" | ||
796 | "HongKong\0" | ||
797 | "Hungary\0" | ||
798 | "Iceland\0" | ||
799 | "India\0" | ||
800 | "Indonesia\0" | ||
801 | "Iran\0" | ||
802 | "Iraq\0" | ||
803 | "Ireland\0" | ||
804 | "Israel\0" | ||
805 | "Italy\0" | ||
806 | "Jamaica\0" | ||
807 | "Japan\0" | ||
808 | "Jordan\0" | ||
809 | "Kazakhstan\0" | ||
810 | "Kenya\0" | ||
811 | "Kiribati\0" | ||
812 | "DemocraticRepublicOfKorea\0" | ||
813 | "RepublicOfKorea\0" | ||
814 | "Kuwait\0" | ||
815 | "Kyrgyzstan\0" | ||
816 | "Lao\0" | ||
817 | "Latvia\0" | ||
818 | "Lebanon\0" | ||
819 | "Lesotho\0" | ||
820 | "Liberia\0" | ||
821 | "LibyanArabJamahiriya\0" | ||
822 | "Liechtenstein\0" | ||
823 | "Lithuania\0" | ||
824 | "Luxembourg\0" | ||
825 | "Macau\0" | ||
826 | "Macedonia\0" | ||
827 | "Madagascar\0" | ||
828 | "Malawi\0" | ||
829 | "Malaysia\0" | ||
830 | "Maldives\0" | ||
831 | "Mali\0" | ||
832 | "Malta\0" | ||
833 | "MarshallIslands\0" | ||
834 | "Martinique\0" | ||
835 | "Mauritania\0" | ||
836 | "Mauritius\0" | ||
837 | "Mayotte\0" | ||
838 | "Mexico\0" | ||
839 | "Micronesia\0" | ||
840 | "Moldova\0" | ||
841 | "Monaco\0" | ||
842 | "Mongolia\0" | ||
843 | "Montserrat\0" | ||
844 | "Morocco\0" | ||
845 | "Mozambique\0" | ||
846 | "Myanmar\0" | ||
847 | "Namibia\0" | ||
848 | "Nauru\0" | ||
849 | "Nepal\0" | ||
850 | "Netherlands\0" | ||
851 | "NetherlandsAntilles\0" | ||
852 | "NewCaledonia\0" | ||
853 | "NewZealand\0" | ||
854 | "Nicaragua\0" | ||
855 | "Niger\0" | ||
856 | "Nigeria\0" | ||
857 | "Niue\0" | ||
858 | "NorfolkIsland\0" | ||
859 | "NorthernMarianaIslands\0" | ||
860 | "Norway\0" | ||
861 | "Oman\0" | ||
862 | "Pakistan\0" | ||
863 | "Palau\0" | ||
864 | "PalestinianTerritory\0" | ||
865 | "Panama\0" | ||
866 | "PapuaNewGuinea\0" | ||
867 | "Paraguay\0" | ||
868 | "Peru\0" | ||
869 | "Philippines\0" | ||
870 | "Pitcairn\0" | ||
871 | "Poland\0" | ||
872 | "Portugal\0" | ||
873 | "PuertoRico\0" | ||
874 | "Qatar\0" | ||
875 | "Reunion\0" | ||
876 | "Romania\0" | ||
877 | "RussianFederation\0" | ||
878 | "Rwanda\0" | ||
879 | "SaintKittsAndNevis\0" | ||
880 | "StLucia\0" | ||
881 | "StVincentAndTheGrenadines\0" | ||
882 | "Samoa\0" | ||
883 | "SanMarino\0" | ||
884 | "SaoTomeAndPrincipe\0" | ||
885 | "SaudiArabia\0" | ||
886 | "Senegal\0" | ||
887 | "Seychelles\0" | ||
888 | "SierraLeone\0" | ||
889 | "Singapore\0" | ||
890 | "Slovakia\0" | ||
891 | "Slovenia\0" | ||
892 | "SolomonIslands\0" | ||
893 | "Somalia\0" | ||
894 | "SouthAfrica\0" | ||
895 | "SouthGeorgiaAndTheSouthSandwichIslands\0" | ||
896 | "Spain\0" | ||
897 | "SriLanka\0" | ||
898 | "StHelena\0" | ||
899 | "StPierreAndMiquelon\0" | ||
900 | "Sudan\0" | ||
901 | "Suriname\0" | ||
902 | "SvalbardAndJanMayenIslands\0" | ||
903 | "Swaziland\0" | ||
904 | "Sweden\0" | ||
905 | "Switzerland\0" | ||
906 | "SyrianArabRepublic\0" | ||
907 | "Taiwan\0" | ||
908 | "Tajikistan\0" | ||
909 | "Tanzania\0" | ||
910 | "Thailand\0" | ||
911 | "Togo\0" | ||
912 | "Tokelau\0" | ||
913 | "Tonga\0" | ||
914 | "TrinidadAndTobago\0" | ||
915 | "Tunisia\0" | ||
916 | "Turkey\0" | ||
917 | "Turkmenistan\0" | ||
918 | "TurksAndCaicosIslands\0" | ||
919 | "Tuvalu\0" | ||
920 | "Uganda\0" | ||
921 | "Ukraine\0" | ||
922 | "UnitedArabEmirates\0" | ||
923 | "UnitedKingdom\0" | ||
924 | "UnitedStates\0" | ||
925 | "UnitedStatesMinorOutlyingIslands\0" | ||
926 | "Uruguay\0" | ||
927 | "Uzbekistan\0" | ||
928 | "Vanuatu\0" | ||
929 | "VaticanCityState\0" | ||
930 | "Venezuela\0" | ||
931 | "VietNam\0" | ||
932 | "BritishVirginIslands\0" | ||
933 | "USVirginIslands\0" | ||
934 | "WallisAndFutunaIslands\0" | ||
935 | "WesternSahara\0" | ||
936 | "Yemen\0" | ||
937 | "Yugoslavia\0" | ||
938 | "Zambia\0" | ||
939 | "Zimbabwe\0"; | ||
940 | |||
941 | static const uint country_name_index[] = { | ||
942 | 0, // AnyCountry | ||
943 | 8, // Afghanistan | ||
944 | 20, // Albania | ||
945 | 28, // Algeria | ||
946 | 36, // AmericanSamoa | ||
947 | 50, // Andorra | ||
948 | 58, // Angola | ||
949 | 65, // Anguilla | ||
950 | 74, // Antarctica | ||
951 | 85, // AntiguaAndBarbuda | ||
952 | 103, // Argentina | ||
953 | 113, // Armenia | ||
954 | 121, // Aruba | ||
955 | 127, // Australia | ||
956 | 137, // Austria | ||
957 | 145, // Azerbaijan | ||
958 | 156, // Bahamas | ||
959 | 164, // Bahrain | ||
960 | 172, // Bangladesh | ||
961 | 183, // Barbados | ||
962 | 192, // Belarus | ||
963 | 200, // Belgium | ||
964 | 208, // Belize | ||
965 | 215, // Benin | ||
966 | 221, // Bermuda | ||
967 | 229, // Bhutan | ||
968 | 236, // Bolivia | ||
969 | 244, // BosniaAndHerzegowina | ||
970 | 265, // Botswana | ||
971 | 274, // BouvetIsland | ||
972 | 287, // Brazil | ||
973 | 294, // BritishIndianOceanTerritory | ||
974 | 322, // BruneiDarussalam | ||
975 | 339, // Bulgaria | ||
976 | 348, // BurkinaFaso | ||
977 | 360, // Burundi | ||
978 | 368, // Cambodia | ||
979 | 377, // Cameroon | ||
980 | 386, // Canada | ||
981 | 393, // CapeVerde | ||
982 | 403, // CaymanIslands | ||
983 | 417, // CentralAfricanRepublic | ||
984 | 440, // Chad | ||
985 | 445, // Chile | ||
986 | 451, // China | ||
987 | 457, // ChristmasIsland | ||
988 | 473, // CocosIslands | ||
989 | 486, // Colombia | ||
990 | 495, // Comoros | ||
991 | 503, // DemocraticRepublicOfCongo | ||
992 | 529, // PeoplesRepublicOfCongo | ||
993 | 552, // CookIslands | ||
994 | 564, // CostaRica | ||
995 | 574, // IvoryCoast | ||
996 | 585, // Croatia | ||
997 | 593, // Cuba | ||
998 | 598, // Cyprus | ||
999 | 605, // CzechRepublic | ||
1000 | 619, // Denmark | ||
1001 | 627, // Djibouti | ||
1002 | 636, // Dominica | ||
1003 | 645, // DominicanRepublic | ||
1004 | 663, // EastTimor | ||
1005 | 673, // Ecuador | ||
1006 | 681, // Egypt | ||
1007 | 687, // ElSalvador | ||
1008 | 698, // EquatorialGuinea | ||
1009 | 715, // Eritrea | ||
1010 | 723, // Estonia | ||
1011 | 731, // Ethiopia | ||
1012 | 740, // FalklandIslands | ||
1013 | 756, // FaroeIslands | ||
1014 | 769, // Fiji | ||
1015 | 774, // Finland | ||
1016 | 782, // France | ||
1017 | 789, // MetropolitanFrance | ||
1018 | 808, // FrenchGuiana | ||
1019 | 821, // FrenchPolynesia | ||
1020 | 837, // FrenchSouthernTerritories | ||
1021 | 863, // Gabon | ||
1022 | 869, // Gambia | ||
1023 | 876, // Georgia | ||
1024 | 884, // Germany | ||
1025 | 892, // Ghana | ||
1026 | 898, // Gibraltar | ||
1027 | 908, // Greece | ||
1028 | 915, // Greenland | ||
1029 | 925, // Grenada | ||
1030 | 933, // Guadeloupe | ||
1031 | 944, // Guam | ||
1032 | 949, // Guatemala | ||
1033 | 959, // Guinea | ||
1034 | 966, // GuineaBissau | ||
1035 | 979, // Guyana | ||
1036 | 986, // Haiti | ||
1037 | 992, // HeardAndMcDonaldIslands | ||
1038 | 1016, // Honduras | ||
1039 | 1025, // HongKong | ||
1040 | 1034, // Hungary | ||
1041 | 1042, // Iceland | ||
1042 | 1050, // India | ||
1043 | 1056, // Indonesia | ||
1044 | 1066, // Iran | ||
1045 | 1071, // Iraq | ||
1046 | 1076, // Ireland | ||
1047 | 1084, // Israel | ||
1048 | 1091, // Italy | ||
1049 | 1097, // Jamaica | ||
1050 | 1105, // Japan | ||
1051 | 1111, // Jordan | ||
1052 | 1118, // Kazakhstan | ||
1053 | 1129, // Kenya | ||
1054 | 1135, // Kiribati | ||
1055 | 1144, // DemocraticRepublicOfKorea | ||
1056 | 1170, // RepublicOfKorea | ||
1057 | 1186, // Kuwait | ||
1058 | 1193, // Kyrgyzstan | ||
1059 | 1204, // Lao | ||
1060 | 1208, // Latvia | ||
1061 | 1215, // Lebanon | ||
1062 | 1223, // Lesotho | ||
1063 | 1231, // Liberia | ||
1064 | 1239, // LibyanArabJamahiriya | ||
1065 | 1260, // Liechtenstein | ||
1066 | 1274, // Lithuania | ||
1067 | 1284, // Luxembourg | ||
1068 | 1295, // Macau | ||
1069 | 1301, // Macedonia | ||
1070 | 1311, // Madagascar | ||
1071 | 1322, // Malawi | ||
1072 | 1329, // Malaysia | ||
1073 | 1338, // Maldives | ||
1074 | 1347, // Mali | ||
1075 | 1352, // Malta | ||
1076 | 1358, // MarshallIslands | ||
1077 | 1374, // Martinique | ||
1078 | 1385, // Mauritania | ||
1079 | 1396, // Mauritius | ||
1080 | 1406, // Mayotte | ||
1081 | 1414, // Mexico | ||
1082 | 1421, // Micronesia | ||
1083 | 1432, // Moldova | ||
1084 | 1440, // Monaco | ||
1085 | 1447, // Mongolia | ||
1086 | 1456, // Montserrat | ||
1087 | 1467, // Morocco | ||
1088 | 1475, // Mozambique | ||
1089 | 1486, // Myanmar | ||
1090 | 1494, // Namibia | ||
1091 | 1502, // Nauru | ||
1092 | 1508, // Nepal | ||
1093 | 1514, // Netherlands | ||
1094 | 1526, // NetherlandsAntilles | ||
1095 | 1546, // NewCaledonia | ||
1096 | 1559, // NewZealand | ||
1097 | 1570, // Nicaragua | ||
1098 | 1580, // Niger | ||
1099 | 1586, // Nigeria | ||
1100 | 1594, // Niue | ||
1101 | 1599, // NorfolkIsland | ||
1102 | 1613, // NorthernMarianaIslands | ||
1103 | 1636, // Norway | ||
1104 | 1643, // Oman | ||
1105 | 1648, // Pakistan | ||
1106 | 1657, // Palau | ||
1107 | 1663, // PalestinianTerritory | ||
1108 | 1684, // Panama | ||
1109 | 1691, // PapuaNewGuinea | ||
1110 | 1706, // Paraguay | ||
1111 | 1715, // Peru | ||
1112 | 1720, // Philippines | ||
1113 | 1732, // Pitcairn | ||
1114 | 1741, // Poland | ||
1115 | 1748, // Portugal | ||
1116 | 1757, // PuertoRico | ||
1117 | 1768, // Qatar | ||
1118 | 1774, // Reunion | ||
1119 | 1782, // Romania | ||
1120 | 1790, // RussianFederation | ||
1121 | 1808, // Rwanda | ||
1122 | 1815, // SaintKittsAndNevis | ||
1123 | 1834, // StLucia | ||
1124 | 1842, // StVincentAndTheGrenadines | ||
1125 | 1868, // Samoa | ||
1126 | 1874, // SanMarino | ||
1127 | 1884, // SaoTomeAndPrincipe | ||
1128 | 1903, // SaudiArabia | ||
1129 | 1915, // Senegal | ||
1130 | 1923, // Seychelles | ||
1131 | 1934, // SierraLeone | ||
1132 | 1946, // Singapore | ||
1133 | 1956, // Slovakia | ||
1134 | 1965, // Slovenia | ||
1135 | 1974, // SolomonIslands | ||
1136 | 1989, // Somalia | ||
1137 | 1997, // SouthAfrica | ||
1138 | 2009, // SouthGeorgiaAndTheSouthSandwichIslands | ||
1139 | 2048, // Spain | ||
1140 | 2054, // SriLanka | ||
1141 | 2063, // StHelena | ||
1142 | 2072, // StPierreAndMiquelon | ||
1143 | 2092, // Sudan | ||
1144 | 2098, // Suriname | ||
1145 | 2107, // SvalbardAndJanMayenIslands | ||
1146 | 2134, // Swaziland | ||
1147 | 2144, // Sweden | ||
1148 | 2151, // Switzerland | ||
1149 | 2163, // SyrianArabRepublic | ||
1150 | 2182, // Taiwan | ||
1151 | 2189, // Tajikistan | ||
1152 | 2200, // Tanzania | ||
1153 | 2209, // Thailand | ||
1154 | 2218, // Togo | ||
1155 | 2223, // Tokelau | ||
1156 | 2231, // Tonga | ||
1157 | 2237, // TrinidadAndTobago | ||
1158 | 2255, // Tunisia | ||
1159 | 2263, // Turkey | ||
1160 | 2270, // Turkmenistan | ||
1161 | 2283, // TurksAndCaicosIslands | ||
1162 | 2305, // Tuvalu | ||
1163 | 2312, // Uganda | ||
1164 | 2319, // Ukraine | ||
1165 | 2327, // UnitedArabEmirates | ||
1166 | 2346, // UnitedKingdom | ||
1167 | 2360, // UnitedStates | ||
1168 | 2373, // UnitedStatesMinorOutlyingIslands | ||
1169 | 2406, // Uruguay | ||
1170 | 2414, // Uzbekistan | ||
1171 | 2425, // Vanuatu | ||
1172 | 2433, // VaticanCityState | ||
1173 | 2450, // Venezuela | ||
1174 | 2460, // VietNam | ||
1175 | 2468, // BritishVirginIslands | ||
1176 | 2489, // USVirginIslands | ||
1177 | 2505, // WallisAndFutunaIslands | ||
1178 | 2528, // WesternSahara | ||
1179 | 2542, // Yemen | ||
1180 | 2548, // Yugoslavia | ||
1181 | 2559, // Zambia | ||
1182 | 2566 // Zimbabwe | ||
1183 | }; | ||
1184 | |||
1185 | static const char language_code_list[] = | ||
1186 | " " // Unused | ||
1187 | " " // C | ||
1188 | "ab" // Abkhazian | ||
1189 | "om" // Afan | ||
1190 | "aa" // Afar | ||
1191 | "af" // Afrikaans | ||
1192 | "sq" // Albanian | ||
1193 | "am" // Amharic | ||
1194 | "ar" // Arabic | ||
1195 | "hy" // Armenian | ||
1196 | "as" // Assamese | ||
1197 | "ay" // Aymara | ||
1198 | "az" // Azerbaijani | ||
1199 | "ba" // Bashkir | ||
1200 | "eu" // Basque | ||
1201 | "bn" // Bengali | ||
1202 | "dz" // Bhutani | ||
1203 | "bh" // Bihari | ||
1204 | "bi" // Bislama | ||
1205 | "br" // Breton | ||
1206 | "bg" // Bulgarian | ||
1207 | "my" // Burmese | ||
1208 | "be" // Byelorussian | ||
1209 | "km" // Cambodian | ||
1210 | "ca" // Catalan | ||
1211 | "zh" // Chinese | ||
1212 | "co" // Corsican | ||
1213 | "hr" // Croatian | ||
1214 | "cs" // Czech | ||
1215 | "da" // Danish | ||
1216 | "nl" // Dutch | ||
1217 | "en" // English | ||
1218 | "eo" // Esperanto | ||
1219 | "et" // Estonian | ||
1220 | "fo" // Faroese | ||
1221 | "fj" // Fiji | ||
1222 | "fi" // Finnish | ||
1223 | "fr" // French | ||
1224 | "fy" // Frisian | ||
1225 | "gd" // Gaelic | ||
1226 | "gl" // Galician | ||
1227 | "ka" // Georgian | ||
1228 | "de" // German | ||
1229 | "el" // Greek | ||
1230 | "kl" // Greenlandic | ||
1231 | "gn" // Guarani | ||
1232 | "gu" // Gujarati | ||
1233 | "ha" // Hausa | ||
1234 | "he" // Hebrew | ||
1235 | "hi" // Hindi | ||
1236 | "hu" // Hungarian | ||
1237 | "is" // Icelandic | ||
1238 | "id" // Indonesian | ||
1239 | "ia" // Interlingua | ||
1240 | "ie" // Interlingue | ||
1241 | "iu" // Inuktitut | ||
1242 | "ik" // Inupiak | ||
1243 | "ga" // Irish | ||
1244 | "it" // Italian | ||
1245 | "ja" // Japanese | ||
1246 | "jv" // Javanese | ||
1247 | "kn" // Kannada | ||
1248 | "ks" // Kashmiri | ||
1249 | "kk" // Kazakh | ||
1250 | "rw" // Kinyarwanda | ||
1251 | "ky" // Kirghiz | ||
1252 | "ko" // Korean | ||
1253 | "ku" // Kurdish | ||
1254 | "rn" // Kurundi | ||
1255 | "lo" // Laothian | ||
1256 | "la" // Latin | ||
1257 | "lv" // Latvian | ||
1258 | "ln" // Lingala | ||
1259 | "lt" // Lithuanian | ||
1260 | "mk" // Macedonian | ||
1261 | "mg" // Malagasy | ||
1262 | "ms" // Malay | ||
1263 | "ml" // Malayalam | ||
1264 | "mt" // Maltese | ||
1265 | "mi" // Maori | ||
1266 | "mr" // Marathi | ||
1267 | "mo" // Moldavian | ||
1268 | "mn" // Mongolian | ||
1269 | "na" // Nauru | ||
1270 | "ne" // Nepali | ||
1271 | "no" // Norwegian | ||
1272 | "oc" // Occitan | ||
1273 | "or" // Oriya | ||
1274 | "ps" // Pashto | ||
1275 | "fa" // Persian | ||
1276 | "pl" // Polish | ||
1277 | "pt" // Portuguese | ||
1278 | "pa" // Punjabi | ||
1279 | "qu" // Quechua | ||
1280 | "rm" // RhaetoRomance | ||
1281 | "ro" // Romanian | ||
1282 | "ru" // Russian | ||
1283 | "sm" // Samoan | ||
1284 | "sg" // Sangho | ||
1285 | "sa" // Sanskrit | ||
1286 | "sr" // Serbian | ||
1287 | "sh" // SerboCroatian | ||
1288 | "st" // Sesotho | ||
1289 | "tn" // Setswana | ||
1290 | "sn" // Shona | ||
1291 | "sd" // Sindhi | ||
1292 | "si" // Singhalese | ||
1293 | "ss" // Siswati | ||
1294 | "sk" // Slovak | ||
1295 | "sl" // Slovenian | ||
1296 | "so" // Somali | ||
1297 | "es" // Spanish | ||
1298 | "su" // Sundanese | ||
1299 | "sw" // Swahili | ||
1300 | "sv" // Swedish | ||
1301 | "tl" // Tagalog | ||
1302 | "tg" // Tajik | ||
1303 | "ta" // Tamil | ||
1304 | "tt" // Tatar | ||
1305 | "te" // Telugu | ||
1306 | "th" // Thai | ||
1307 | "bo" // Tibetan | ||
1308 | "ti" // Tigrinya | ||
1309 | "to" // Tonga | ||
1310 | "ts" // Tsonga | ||
1311 | "tr" // Turkish | ||
1312 | "tk" // Turkmen | ||
1313 | "tw" // Twi | ||
1314 | "ug" // Uigur | ||
1315 | "uk" // Ukrainian | ||
1316 | "ur" // Urdu | ||
1317 | "uz" // Uzbek | ||
1318 | "vi" // Vietnamese | ||
1319 | "vo" // Volapuk | ||
1320 | "cy" // Welsh | ||
1321 | "wo" // Wolof | ||
1322 | "xh" // Xhosa | ||
1323 | "yi" // Yiddish | ||
1324 | "yo" // Yoruba | ||
1325 | "za" // Zhuang | ||
1326 | "zu" // Zulu | ||
1327 | ; | ||
1328 | |||
1329 | static const char country_code_list[] = | ||
1330 | " " // AnyLanguage | ||
1331 | "AF" // Afghanistan | ||
1332 | "AL" // Albania | ||
1333 | "DZ" // Algeria | ||
1334 | "AS" // AmericanSamoa | ||
1335 | "AD" // Andorra | ||
1336 | "AO" // Angola | ||
1337 | "AI" // Anguilla | ||
1338 | "AQ" // Antarctica | ||
1339 | "AG" // AntiguaAndBarbuda | ||
1340 | "AR" // Argentina | ||
1341 | "AM" // Armenia | ||
1342 | "AW" // Aruba | ||
1343 | "AU" // Australia | ||
1344 | "AT" // Austria | ||
1345 | "AZ" // Azerbaijan | ||
1346 | "BS" // Bahamas | ||
1347 | "BH" // Bahrain | ||
1348 | "BD" // Bangladesh | ||
1349 | "BB" // Barbados | ||
1350 | "BY" // Belarus | ||
1351 | "BE" // Belgium | ||
1352 | "BZ" // Belize | ||
1353 | "BJ" // Benin | ||
1354 | "BM" // Bermuda | ||
1355 | "BT" // Bhutan | ||
1356 | "BO" // Bolivia | ||
1357 | "BA" // BosniaAndHerzegowina | ||
1358 | "BW" // Botswana | ||
1359 | "BV" // BouvetIsland | ||
1360 | "BR" // Brazil | ||
1361 | "IO" // BritishIndianOceanTerritory | ||
1362 | "BN" // BruneiDarussalam | ||
1363 | "BG" // Bulgaria | ||
1364 | "BF" // BurkinaFaso | ||
1365 | "BI" // Burundi | ||
1366 | "KH" // Cambodia | ||
1367 | "CM" // Cameroon | ||
1368 | "CA" // Canada | ||
1369 | "CV" // CapeVerde | ||
1370 | "KY" // CaymanIslands | ||
1371 | "CF" // CentralAfricanRepublic | ||
1372 | "TD" // Chad | ||
1373 | "CL" // Chile | ||
1374 | "CN" // China | ||
1375 | "CX" // ChristmasIsland | ||
1376 | "CC" // CocosIslands | ||
1377 | "CO" // Colombia | ||
1378 | "KM" // Comoros | ||
1379 | "CD" // DemocraticRepublicOfCongo | ||
1380 | "CG" // PeoplesRepublicOfCongo | ||
1381 | "CK" // CookIslands | ||
1382 | "CR" // CostaRica | ||
1383 | "CI" // IvoryCoast | ||
1384 | "HR" // Croatia | ||
1385 | "CU" // Cuba | ||
1386 | "CY" // Cyprus | ||
1387 | "CZ" // CzechRepublic | ||
1388 | "DK" // Denmark | ||
1389 | "DJ" // Djibouti | ||
1390 | "DM" // Dominica | ||
1391 | "DO" // DominicanRepublic | ||
1392 | "TL" // EastTimor | ||
1393 | "EC" // Ecuador | ||
1394 | "EG" // Egypt | ||
1395 | "SV" // ElSalvador | ||
1396 | "GQ" // EquatorialGuinea | ||
1397 | "ER" // Eritrea | ||
1398 | "EE" // Estonia | ||
1399 | "ET" // Ethiopia | ||
1400 | "FK" // FalklandIslands | ||
1401 | "FO" // FaroeIslands | ||
1402 | "FJ" // Fiji | ||
1403 | "FI" // Finland | ||
1404 | "FR" // France | ||
1405 | "FX" // MetropolitanFrance | ||
1406 | "GF" // FrenchGuiana | ||
1407 | "PF" // FrenchPolynesia | ||
1408 | "TF" // FrenchSouthernTerritories | ||
1409 | "GA" // Gabon | ||
1410 | "GM" // Gambia | ||
1411 | "GE" // Georgia | ||
1412 | "DE" // Germany | ||
1413 | "GH" // Ghana | ||
1414 | "GI" // Gibraltar | ||
1415 | "GR" // Greece | ||
1416 | "GL" // Greenland | ||
1417 | "GD" // Grenada | ||
1418 | "GP" // Guadeloupe | ||
1419 | "GU" // Guam | ||
1420 | "GT" // Guatemala | ||
1421 | "GN" // Guinea | ||
1422 | "GW" // GuineaBissau | ||
1423 | "GY" // Guyana | ||
1424 | "HT" // Haiti | ||
1425 | "HM" // HeardAndMcDonaldIslands | ||
1426 | "HN" // Honduras | ||
1427 | "HK" // HongKong | ||
1428 | "HU" // Hungary | ||
1429 | "IS" // Iceland | ||
1430 | "IN" // India | ||
1431 | "ID" // Indonesia | ||
1432 | "IR" // Iran | ||
1433 | "IQ" // Iraq | ||
1434 | "IE" // Ireland | ||
1435 | "IL" // Israel | ||
1436 | "IT" // Italy | ||
1437 | "JM" // Jamaica | ||
1438 | "JP" // Japan | ||
1439 | "JO" // Jordan | ||
1440 | "KZ" // Kazakhstan | ||
1441 | "KE" // Kenya | ||
1442 | "KI" // Kiribati | ||
1443 | "KP" // DemocraticRepublicOfKorea | ||
1444 | "KR" // RepublicOfKorea | ||
1445 | "KW" // Kuwait | ||
1446 | "KG" // Kyrgyzstan | ||
1447 | "LA" // Lao | ||
1448 | "LV" // Latvia | ||
1449 | "LB" // Lebanon | ||
1450 | "LS" // Lesotho | ||
1451 | "LR" // Liberia | ||
1452 | "LY" // LibyanArabJamahiriya | ||
1453 | "LI" // Liechtenstein | ||
1454 | "LT" // Lithuania | ||
1455 | "LU" // Luxembourg | ||
1456 | "MO" // Macau | ||
1457 | "MK" // Macedonia | ||
1458 | "MG" // Madagascar | ||
1459 | "MW" // Malawi | ||
1460 | "MY" // Malaysia | ||
1461 | "MV" // Maldives | ||
1462 | "ML" // Mali | ||
1463 | "MT" // Malta | ||
1464 | "MH" // MarshallIslands | ||
1465 | "MQ" // Martinique | ||
1466 | "MR" // Mauritania | ||
1467 | "MU" // Mauritius | ||
1468 | "YT" // Mayotte | ||
1469 | "MX" // Mexico | ||
1470 | "FM" // Micronesia | ||
1471 | "MD" // Moldova | ||
1472 | "MC" // Monaco | ||
1473 | "MN" // Mongolia | ||
1474 | "MS" // Montserrat | ||
1475 | "MA" // Morocco | ||
1476 | "MZ" // Mozambique | ||
1477 | "MM" // Myanmar | ||
1478 | "NA" // Namibia | ||
1479 | "NR" // Nauru | ||
1480 | "NP" // Nepal | ||
1481 | "NL" // Netherlands | ||
1482 | "AN" // NetherlandsAntilles | ||
1483 | "NC" // NewCaledonia | ||
1484 | "NZ" // NewZealand | ||
1485 | "NI" // Nicaragua | ||
1486 | "NE" // Niger | ||
1487 | "NG" // Nigeria | ||
1488 | "NU" // Niue | ||
1489 | "NF" // NorfolkIsland | ||
1490 | "MP" // NorthernMarianaIslands | ||
1491 | "NO" // Norway | ||
1492 | "OM" // Oman | ||
1493 | "PK" // Pakistan | ||
1494 | "PW" // Palau | ||
1495 | "PS" // PalestinianTerritory | ||
1496 | "PA" // Panama | ||
1497 | "PG" // PapuaNewGuinea | ||
1498 | "PY" // Paraguay | ||
1499 | "PE" // Peru | ||
1500 | "PH" // Philippines | ||
1501 | "PN" // Pitcairn | ||
1502 | "PL" // Poland | ||
1503 | "PT" // Portugal | ||
1504 | "PR" // PuertoRico | ||
1505 | "QA" // Qatar | ||
1506 | "RE" // Reunion | ||
1507 | "RO" // Romania | ||
1508 | "RU" // RussianFederation | ||
1509 | "RW" // Rwanda | ||
1510 | "KN" // SaintKittsAndNevis | ||
1511 | "LC" // StLucia | ||
1512 | "VC" // StVincentAndTheGrenadines | ||
1513 | "WS" // Samoa | ||
1514 | "SM" // SanMarino | ||
1515 | "ST" // SaoTomeAndPrincipe | ||
1516 | "SA" // SaudiArabia | ||
1517 | "SN" // Senegal | ||
1518 | "SC" // Seychelles | ||
1519 | "SL" // SierraLeone | ||
1520 | "SG" // Singapore | ||
1521 | "SK" // Slovakia | ||
1522 | "SI" // Slovenia | ||
1523 | "SB" // SolomonIslands | ||
1524 | "SO" // Somalia | ||
1525 | "ZA" // SouthAfrica | ||
1526 | "GS" // SouthGeorgiaAndTheSouthSandwichIslands | ||
1527 | "ES" // Spain | ||
1528 | "LK" // SriLanka | ||
1529 | "SH" // StHelena | ||
1530 | "PM" // StPierreAndMiquelon | ||
1531 | "SD" // Sudan | ||
1532 | "SR" // Suriname | ||
1533 | "SJ" // SvalbardAndJanMayenIslands | ||
1534 | "SZ" // Swaziland | ||
1535 | "SE" // Sweden | ||
1536 | "CH" // Switzerland | ||
1537 | "SY" // SyrianArabRepublic | ||
1538 | "TW" // Taiwan | ||
1539 | "TJ" // Tajikistan | ||
1540 | "TZ" // Tanzania | ||
1541 | "TH" // Thailand | ||
1542 | "TG" // Togo | ||
1543 | "TK" // Tokelau | ||
1544 | "TO" // Tonga | ||
1545 | "TT" // TrinidadAndTobago | ||
1546 | "TN" // Tunisia | ||
1547 | "TR" // Turkey | ||
1548 | "TM" // Turkmenistan | ||
1549 | "TC" // TurksAndCaicosIslands | ||
1550 | "TV" // Tuvalu | ||
1551 | "UG" // Uganda | ||
1552 | "UA" // Ukraine | ||
1553 | "AE" // UnitedArabEmirates | ||
1554 | "GB" // UnitedKingdom | ||
1555 | "US" // UnitedStates | ||
1556 | "UM" // UnitedStatesMinorOutlyingIslands | ||
1557 | "UY" // Uruguay | ||
1558 | "UZ" // Uzbekistan | ||
1559 | "VU" // Vanuatu | ||
1560 | "VA" // VaticanCityState | ||
1561 | "VE" // Venezuela | ||
1562 | "VN" // VietNam | ||
1563 | "VG" // BritishVirginIslands | ||
1564 | "VI" // USVirginIslands | ||
1565 | "WF" // WallisAndFutunaIslands | ||
1566 | "EH" // WesternSahara | ||
1567 | "YE" // Yemen | ||
1568 | "YU" // Yugoslavia | ||
1569 | "ZM" // Zambia | ||
1570 | "ZW" // Zimbabwe | ||
1571 | ; | ||
1572 | |||
1573 | static QLocale::Language codeToLanguage(const QString &code) | ||
1574 | { | ||
1575 | if (code.length() != 2) | ||
1576 | return QLocale::C; | ||
1577 | |||
1578 | ushort uc1 = code.unicode()[0].unicode(); | ||
1579 | ushort uc2 = code.unicode()[1].unicode(); | ||
1580 | |||
1581 | const char *c = language_code_list; | ||
1582 | for (; *c != 0; c += 2) { | ||
1583 | if (uc1 == (unsigned char)c[0] && uc2 == (unsigned char)c[1]) | ||
1584 | return (QLocale::Language) ((c - language_code_list)/2); | ||
1585 | } | ||
1586 | |||
1587 | return QLocale::C; | ||
1588 | } | ||
1589 | |||
1590 | static QLocale::Country codeToCountry(const QString &code) | ||
1591 | { | ||
1592 | if (code.length() != 2) | ||
1593 | return QLocale::AnyCountry; | ||
1594 | |||
1595 | ushort uc1 = code.unicode()[0].unicode(); | ||
1596 | ushort uc2 = code.unicode()[1].unicode(); | ||
1597 | |||
1598 | const char *c = country_code_list; | ||
1599 | for (; *c != 0; c += 2) { | ||
1600 | if (uc1 == (unsigned char)c[0] && uc2 == (unsigned char)c[1]) | ||
1601 | return (QLocale::Country) ((c - country_code_list)/2); | ||
1602 | } | ||
1603 | |||
1604 | return QLocale::AnyCountry; | ||
1605 | } | ||
1606 | |||
1607 | static QString languageToCode(QLocale::Language language) | ||
1608 | { | ||
1609 | if (language == QLocale::C) | ||
1610 | return "C"; | ||
1611 | |||
1612 | QString code; | ||
1613 | code.setLength(2); | ||
1614 | const char *c = language_code_list + 2*(uint)language; | ||
1615 | code[0] = c[0]; | ||
1616 | code[1] = c[1]; | ||
1617 | return code; | ||
1618 | } | ||
1619 | |||
1620 | static QString countryToCode(QLocale::Country country) | ||
1621 | { | ||
1622 | if (country == QLocale::AnyCountry) | ||
1623 | return QString::null; | ||
1624 | |||
1625 | QString code; | ||
1626 | code.setLength(2); | ||
1627 | const char *c = country_code_list + 2*(uint)country; | ||
1628 | code[0] = c[0]; | ||
1629 | code[1] = c[1]; | ||
1630 | return code; | ||
1631 | } | ||
1632 | |||
1633 | const QLocalePrivate *QLocale::default_d = 0; | ||
1634 | |||
1635 | QString QLocalePrivate::infinity() const | ||
1636 | { | ||
1637 | return QString::fromLatin1("inf"); | ||
1638 | } | ||
1639 | |||
1640 | QString QLocalePrivate::nan() const | ||
1641 | { | ||
1642 | return QString::fromLatin1("nan"); | ||
1643 | } | ||
1644 | |||
1645 | const char* QLocalePrivate::systemLocaleName() | ||
1646 | { | ||
1647 | static QCString lang; | ||
1648 | lang = getenv( "LANG" ); | ||
1649 | |||
1650 | #if !defined( QWS ) && defined( Q_OS_MAC ) | ||
1651 | if ( !lang.isEmpty() ) | ||
1652 | return lang; | ||
1653 | |||
1654 | char mac_ret[255]; | ||
1655 | if(!LocaleRefGetPartString(NULL, kLocaleLanguageMask | kLocaleRegionMask, 255, mac_ret)) | ||
1656 | lang = mac_ret; | ||
1657 | #endif | ||
1658 | |||
1659 | #if defined(Q_WS_WIN) | ||
1660 | if ( !lang.isEmpty() ) | ||
1661 | return lang; | ||
1662 | |||
1663 | QT_WA( { | ||
1664 | wchar_t out[256]; | ||
1665 | QString language; | ||
1666 | QString sublanguage; | ||
1667 | if ( GetLocaleInfoW( LOCALE_USER_DEFAULT, LOCALE_SISO639LANGNAME , out, 255 ) ) | ||
1668 | language = QString::fromUcs2( (ushort*)out ); | ||
1669 | if ( GetLocaleInfoW( LOCALE_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, out, 255 ) ) | ||
1670 | sublanguage = QString::fromUcs2( (ushort*)out ).lower(); | ||
1671 | lang = language; | ||
1672 | if ( sublanguage != language && !sublanguage.isEmpty() ) | ||
1673 | lang += "_" + sublanguage; | ||
1674 | } , { | ||
1675 | char out[256]; | ||
1676 | QString language; | ||
1677 | QString sublanguage; | ||
1678 | if ( GetLocaleInfoA( LOCALE_USER_DEFAULT, LOCALE_SISO639LANGNAME, out, 255 ) ) | ||
1679 | language = QString::fromLocal8Bit( out ); | ||
1680 | if ( GetLocaleInfoA( LOCALE_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, out, 255 ) ) | ||
1681 | sublanguage = QString::fromLocal8Bit( out ).lower(); | ||
1682 | lang = language; | ||
1683 | if ( sublanguage != language && !sublanguage.isEmpty() ) | ||
1684 | lang += "_" + sublanguage; | ||
1685 | } ); | ||
1686 | #endif | ||
1687 | if ( lang.isEmpty() ) | ||
1688 | lang = "C"; | ||
1689 | |||
1690 | return lang; | ||
1691 | } | ||
1692 | |||
1693 | static const QLocalePrivate *findLocale(QLocale::Language language, | ||
1694 | QLocale::Country country) | ||
1695 | { | ||
1696 | unsigned language_id = (unsigned)language; | ||
1697 | unsigned country_id = (unsigned)country; | ||
1698 | |||
1699 | uint idx = locale_index[language_id]; | ||
1700 | |||
1701 | const QLocalePrivate *d = locale_data + idx; | ||
1702 | |||
1703 | if (idx == 0) // default language has no associated country | ||
1704 | return d; | ||
1705 | |||
1706 | if (country == QLocale::AnyCountry) | ||
1707 | return d; | ||
1708 | |||
1709 | Q_ASSERT(d->languageId() == language_id); | ||
1710 | |||
1711 | while (d->languageId() == language_id | ||
1712 | && d->countryId() != country_id) | ||
1713 | ++d; | ||
1714 | |||
1715 | if (d->countryId() == country_id | ||
1716 | && d->languageId() == language_id) | ||
1717 | return d; | ||
1718 | |||
1719 | return locale_data + idx; | ||
1720 | } | ||
1721 | |||
1722 | /*! | ||
1723 | \class QLocale | ||
1724 | \brief The QLocale class converts between numbers and their | ||
1725 | string representations in various languages. | ||
1726 | |||
1727 | \reentrant | ||
1728 | \ingroup text | ||
1729 | |||
1730 | It is initialized with a country/language pair in its constructor | ||
1731 | and offers number-to-string and string-to-number conversion | ||
1732 | functions simmilar to those in QString. | ||
1733 | |||
1734 | \code | ||
1735 | QLocale egyptian(QLocale::Arabic, QLocale::Egypt); | ||
1736 | QString s1 = egyptian.toString(1.571429E+07, 'e'); | ||
1737 | QString s2 = egyptian.toString(10); | ||
1738 | |||
1739 | double d = egyptian.toDouble(s1); | ||
1740 | int s2 = egyptian.toInt(s2); | ||
1741 | \endcode | ||
1742 | |||
1743 | QLocale supports the concept of a default locale, which is | ||
1744 | determined from the system's locale settings at application | ||
1745 | startup. The default locale can be changed by calling the | ||
1746 | static member setDefault(). The default locale has the | ||
1747 | following effects: | ||
1748 | |||
1749 | \list | ||
1750 | \i If a QLocale object is constructed with the default constructor, | ||
1751 | it will use the default locale's settings. | ||
1752 | \i QString::toDouble() interprets the string according to the default | ||
1753 | locale. If this fails, it falls back on the "C" locale. | ||
1754 | \i QString::arg() uses the default locale to format a number when | ||
1755 | its position specifier in the format string contains an 'L', | ||
1756 | e.g. "%L1". | ||
1757 | \endlist | ||
1758 | |||
1759 | \code | ||
1760 | QLocale::setDefault(QLocale::Hebrew, QLocale::Israel); | ||
1761 | QLocale hebrew; // Constructs a default QLocale | ||
1762 | QString s1 = hebrew.toString(15714.3, 'e'); | ||
1763 | |||
1764 | bool ok; | ||
1765 | double d; | ||
1766 | |||
1767 | QLocale::setDefault(QLocale::C); | ||
1768 | d = QString( "1234,56" ).toDouble(&ok); // ok == false | ||
1769 | d = QString( "1234.56" ).toDouble(&ok); // ok == true, d == 1234.56 | ||
1770 | |||
1771 | QLocale::setDefault(QLocale::German); | ||
1772 | d = QString( "1234,56" ).toDouble(&ok); // ok == true, d == 1234.56 | ||
1773 | d = QString( "1234.56" ).toDouble(&ok); // ok == true, d == 1234.56 | ||
1774 | |||
1775 | QLocale::setDefault(QLocale::English, QLocale::UnitedStates); | ||
1776 | str = QString( "%1 %L2 %L3" ) | ||
1777 | .arg( 12345 ) | ||
1778 | .arg( 12345 ) | ||
1779 | .arg( 12345, 0, 16 ); | ||
1780 | // str == "12345 12,345 3039" | ||
1781 | \endcode | ||
1782 | |||
1783 | When a language/country pair is specified in the constructor, one | ||
1784 | of three things can happen: | ||
1785 | |||
1786 | \list | ||
1787 | \i If the language/country pair is found in the database, it is used. | ||
1788 | \i If the language is found but the country is not, or if the country | ||
1789 | is \c AnyCountry, the language is used with the most | ||
1790 | appropriate available country (for example, Germany for German), | ||
1791 | \i If neither the language nor the country are found, QLocale | ||
1792 | defaults to the default locale (see setDefault()). | ||
1793 | \endlist | ||
1794 | |||
1795 | The "C" locale is identical to English/UnitedStates. | ||
1796 | |||
1797 | Use language() and country() to determine the actual language and | ||
1798 | country values used. | ||
1799 | |||
1800 | An alternative method for constructing a QLocale object is by | ||
1801 | specifying the locale name. | ||
1802 | |||
1803 | \code | ||
1804 | QLocale korean("ko"); | ||
1805 | QLocale swiss("de_CH"); | ||
1806 | \endcode | ||
1807 | |||
1808 | This constructor converts the locale name to a language/country | ||
1809 | pair; it does not use the system locale database. | ||
1810 | |||
1811 | All the methods in QLocale, with the exception of setDefault(), | ||
1812 | are reentrant. | ||
1813 | |||
1814 | \sa QString::toDouble() QString::arg() | ||
1815 | |||
1816 | The double-to-string and string-to-double conversion functions are | ||
1817 | covered by the following licenses: | ||
1818 | |||
1819 | \legalese | ||
1820 | |||
1821 | Copyright (c) 1991 by AT&T. | ||
1822 | |||
1823 | Permission to use, copy, modify, and distribute this software for any | ||
1824 | purpose without fee is hereby granted, provided that this entire notice | ||
1825 | is included in all copies of any software which is or includes a copy | ||
1826 | or modification of this software and in all copies of the supporting | ||
1827 | documentation for such software. | ||
1828 | |||
1829 | THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED | ||
1830 | WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY | ||
1831 | REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY | ||
1832 | OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. | ||
1833 | |||
1834 | This product includes software developed by the University of | ||
1835 | California, Berkeley and its contributors. | ||
1836 | */ | ||
1837 | |||
1838 | /*! | ||
1839 | \enum QLocale::Language | ||
1840 | |||
1841 | This enumerated type is used to specify a language. | ||
1842 | |||
1843 | \value C Identical to English/UnitedStates | ||
1844 | \value Abkhazian | ||
1845 | \value Afan | ||
1846 | \value Afar | ||
1847 | \value Afrikaans | ||
1848 | \value Albanian | ||
1849 | \value Amharic | ||
1850 | \value Arabic | ||
1851 | \value Armenian | ||
1852 | \value Assamese | ||
1853 | \value Aymara | ||
1854 | \value Azerbaijani | ||
1855 | \value Bashkir | ||
1856 | \value Basque | ||
1857 | \value Bengali | ||
1858 | \value Bhutani | ||
1859 | \value Bihari | ||
1860 | \value Bislama | ||
1861 | \value Breton | ||
1862 | \value Bulgarian | ||
1863 | \value Burmese | ||
1864 | \value Byelorussian | ||
1865 | \value Cambodian | ||
1866 | \value Catalan | ||
1867 | \value Chinese | ||
1868 | \value Corsican | ||
1869 | \value Croatian | ||
1870 | \value Czech | ||
1871 | \value Danish | ||
1872 | \value Dutch | ||
1873 | \value English | ||
1874 | \value Esperanto | ||
1875 | \value Estonian | ||
1876 | \value Faroese | ||
1877 | \value FijiLanguage | ||
1878 | \value Finnish | ||
1879 | \value French | ||
1880 | \value Frisian | ||
1881 | \value Gaelic | ||
1882 | \value Galician | ||
1883 | \value Georgian | ||
1884 | \value German | ||
1885 | \value Greek | ||
1886 | \value Greenlandic | ||
1887 | \value Guarani | ||
1888 | \value Gujarati | ||
1889 | \value Hausa | ||
1890 | \value Hebrew | ||
1891 | \value Hindi | ||
1892 | \value Hungarian | ||
1893 | \value Icelandic | ||
1894 | \value Indonesian | ||
1895 | \value Interlingua | ||
1896 | \value Interlingue | ||
1897 | \value Inuktitut | ||
1898 | \value Inupiak | ||
1899 | \value Irish | ||
1900 | \value Italian | ||
1901 | \value Japanese | ||
1902 | \value Javanese | ||
1903 | \value Kannada | ||
1904 | \value Kashmiri | ||
1905 | \value Kazakh | ||
1906 | \value Kinyarwanda | ||
1907 | \value Kirghiz | ||
1908 | \value Korean | ||
1909 | \value Kurdish | ||
1910 | \value Kurundi | ||
1911 | \value Laothian | ||
1912 | \value Latin | ||
1913 | \value Latvian | ||
1914 | \value Lingala | ||
1915 | \value Lithuanian | ||
1916 | \value Macedonian | ||
1917 | \value Malagasy | ||
1918 | \value Malay | ||
1919 | \value Malayalam | ||
1920 | \value Maltese | ||
1921 | \value Maori | ||
1922 | \value Marathi | ||
1923 | \value Moldavian | ||
1924 | \value Mongolian | ||
1925 | \value NauruLanguage | ||
1926 | \value Nepali | ||
1927 | \value Norwegian | ||
1928 | \value Occitan | ||
1929 | \value Oriya | ||
1930 | \value Pashto | ||
1931 | \value Persian | ||
1932 | \value Polish | ||
1933 | \value Portuguese | ||
1934 | \value Punjabi | ||
1935 | \value Quechua | ||
1936 | \value RhaetoRomance | ||
1937 | \value Romanian | ||
1938 | \value Russian | ||
1939 | \value Samoan | ||
1940 | \value Sangho | ||
1941 | \value Sanskrit | ||
1942 | \value Serbian | ||
1943 | \value SerboCroatian | ||
1944 | \value Sesotho | ||
1945 | \value Setswana | ||
1946 | \value Shona | ||
1947 | \value Sindhi | ||
1948 | \value Singhalese | ||
1949 | \value Siswati | ||
1950 | \value Slovak | ||
1951 | \value Slovenian | ||
1952 | \value Somali | ||
1953 | \value Spanish | ||
1954 | \value Sundanese | ||
1955 | \value Swahili | ||
1956 | \value Swedish | ||
1957 | \value Tagalog | ||
1958 | \value Tajik | ||
1959 | \value Tamil | ||
1960 | \value Tatar | ||
1961 | \value Telugu | ||
1962 | \value Thai | ||
1963 | \value Tibetan | ||
1964 | \value Tigrinya | ||
1965 | \value TongaLanguage | ||
1966 | \value Tsonga | ||
1967 | \value Turkish | ||
1968 | \value Turkmen | ||
1969 | \value Twi | ||
1970 | \value Uigur | ||
1971 | \value Ukrainian | ||
1972 | \value Urdu | ||
1973 | \value Uzbek | ||
1974 | \value Vietnamese | ||
1975 | \value Volapuk | ||
1976 | \value Welsh | ||
1977 | \value Wolof | ||
1978 | \value Xhosa | ||
1979 | \value Yiddish | ||
1980 | \value Yoruba | ||
1981 | \value Zhuang | ||
1982 | \value Zulu | ||
1983 | */ | ||
1984 | |||
1985 | /*! | ||
1986 | \enum QLocale::Country | ||
1987 | |||
1988 | This enumerated type is used to specify a country. | ||
1989 | |||
1990 | \value AnyCountry | ||
1991 | \value Afghanistan | ||
1992 | \value Albania | ||
1993 | \value Algeria | ||
1994 | \value AmericanSamoa | ||
1995 | \value Andorra | ||
1996 | \value Angola | ||
1997 | \value Anguilla | ||
1998 | \value Antarctica | ||
1999 | \value AntiguaAndBarbuda | ||
2000 | \value Argentina | ||
2001 | \value Armenia | ||
2002 | \value Aruba | ||
2003 | \value Australia | ||
2004 | \value Austria | ||
2005 | \value Azerbaijan | ||
2006 | \value Bahamas | ||
2007 | \value Bahrain | ||
2008 | \value Bangladesh | ||
2009 | \value Barbados | ||
2010 | \value Belarus | ||
2011 | \value Belgium | ||
2012 | \value Belize | ||
2013 | \value Benin | ||
2014 | \value Bermuda | ||
2015 | \value Bhutan | ||
2016 | \value Bolivia | ||
2017 | \value BosniaAndHerzegowina | ||
2018 | \value Botswana | ||
2019 | \value BouvetIsland | ||
2020 | \value Brazil | ||
2021 | \value BritishIndianOceanTerritory | ||
2022 | \value BruneiDarussalam | ||
2023 | \value Bulgaria | ||
2024 | \value BurkinaFaso | ||
2025 | \value Burundi | ||
2026 | \value Cambodia | ||
2027 | \value Cameroon | ||
2028 | \value Canada | ||
2029 | \value CapeVerde | ||
2030 | \value CaymanIslands | ||
2031 | \value CentralAfricanRepublic | ||
2032 | \value Chad | ||
2033 | \value Chile | ||
2034 | \value China | ||
2035 | \value ChristmasIsland | ||
2036 | \value CocosIslands | ||
2037 | \value Colombia | ||
2038 | \value Comoros | ||
2039 | \value DemocraticRepublicOfCongo | ||
2040 | \value PeoplesRepublicOfCongo | ||
2041 | \value CookIslands | ||
2042 | \value CostaRica | ||
2043 | \value IvoryCoast | ||
2044 | \value Croatia | ||
2045 | \value Cuba | ||
2046 | \value Cyprus | ||
2047 | \value CzechRepublic | ||
2048 | \value Denmark | ||
2049 | \value Djibouti | ||
2050 | \value Dominica | ||
2051 | \value DominicanRepublic | ||
2052 | \value EastTimor | ||
2053 | \value Ecuador | ||
2054 | \value Egypt | ||
2055 | \value ElSalvador | ||
2056 | \value EquatorialGuinea | ||
2057 | \value Eritrea | ||
2058 | \value Estonia | ||
2059 | \value Ethiopia | ||
2060 | \value FalklandIslands | ||
2061 | \value FaroeIslands | ||
2062 | \value FijiCountry | ||
2063 | \value Finland | ||
2064 | \value France | ||
2065 | \value MetropolitanFrance | ||
2066 | \value FrenchGuiana | ||
2067 | \value FrenchPolynesia | ||
2068 | \value FrenchSouthernTerritories | ||
2069 | \value Gabon | ||
2070 | \value Gambia | ||
2071 | \value Georgia | ||
2072 | \value Germany | ||
2073 | \value Ghana | ||
2074 | \value Gibraltar | ||
2075 | \value Greece | ||
2076 | \value Greenland | ||
2077 | \value Grenada | ||
2078 | \value Guadeloupe | ||
2079 | \value Guam | ||
2080 | \value Guatemala | ||
2081 | \value Guinea | ||
2082 | \value GuineaBissau | ||
2083 | \value Guyana | ||
2084 | \value Haiti | ||
2085 | \value HeardAndMcDonaldIslands | ||
2086 | \value Honduras | ||
2087 | \value HongKong | ||
2088 | \value Hungary | ||
2089 | \value Iceland | ||
2090 | \value India | ||
2091 | \value Indonesia | ||
2092 | \value Iran | ||
2093 | \value Iraq | ||
2094 | \value Ireland | ||
2095 | \value Israel | ||
2096 | \value Italy | ||
2097 | \value Jamaica | ||
2098 | \value Japan | ||
2099 | \value Jordan | ||
2100 | \value Kazakhstan | ||
2101 | \value Kenya | ||
2102 | \value Kiribati | ||
2103 | \value DemocraticRepublicOfKorea | ||
2104 | \value RepublicOfKorea | ||
2105 | \value Kuwait | ||
2106 | \value Kyrgyzstan | ||
2107 | \value Lao | ||
2108 | \value Latvia | ||
2109 | \value Lebanon | ||
2110 | \value Lesotho | ||
2111 | \value Liberia | ||
2112 | \value LibyanArabJamahiriya | ||
2113 | \value Liechtenstein | ||
2114 | \value Lithuania | ||
2115 | \value Luxembourg | ||
2116 | \value Macau | ||
2117 | \value Macedonia | ||
2118 | \value Madagascar | ||
2119 | \value Malawi | ||
2120 | \value Malaysia | ||
2121 | \value Maldives | ||
2122 | \value Mali | ||
2123 | \value Malta | ||
2124 | \value MarshallIslands | ||
2125 | \value Martinique | ||
2126 | \value Mauritania | ||
2127 | \value Mauritius | ||
2128 | \value Mayotte | ||
2129 | \value Mexico | ||
2130 | \value Micronesia | ||
2131 | \value Moldova | ||
2132 | \value Monaco | ||
2133 | \value Mongolia | ||
2134 | \value Montserrat | ||
2135 | \value Morocco | ||
2136 | \value Mozambique | ||
2137 | \value Myanmar | ||
2138 | \value Namibia | ||
2139 | \value NauruCountry | ||
2140 | \value Nepal | ||
2141 | \value Netherlands | ||
2142 | \value NetherlandsAntilles | ||
2143 | \value NewCaledonia | ||
2144 | \value NewZealand | ||
2145 | \value Nicaragua | ||
2146 | \value Niger | ||
2147 | \value Nigeria | ||
2148 | \value Niue | ||
2149 | \value NorfolkIsland | ||
2150 | \value NorthernMarianaIslands | ||
2151 | \value Norway | ||
2152 | \value Oman | ||
2153 | \value Pakistan | ||
2154 | \value Palau | ||
2155 | \value PalestinianTerritory | ||
2156 | \value Panama | ||
2157 | \value PapuaNewGuinea | ||
2158 | \value Paraguay | ||
2159 | \value Peru | ||
2160 | \value Philippines | ||
2161 | \value Pitcairn | ||
2162 | \value Poland | ||
2163 | \value Portugal | ||
2164 | \value PuertoRico | ||
2165 | \value Qatar | ||
2166 | \value Reunion | ||
2167 | \value Romania | ||
2168 | \value RussianFederation | ||
2169 | \value Rwanda | ||
2170 | \value SaintKittsAndNevis | ||
2171 | \value StLucia | ||
2172 | \value StVincentAndTheGrenadines | ||
2173 | \value Samoa | ||
2174 | \value SanMarino | ||
2175 | \value SaoTomeAndPrincipe | ||
2176 | \value SaudiArabia | ||
2177 | \value Senegal | ||
2178 | \value Seychelles | ||
2179 | \value SierraLeone | ||
2180 | \value Singapore | ||
2181 | \value Slovakia | ||
2182 | \value Slovenia | ||
2183 | \value SolomonIslands | ||
2184 | \value Somalia | ||
2185 | \value SouthAfrica | ||
2186 | \value SouthGeorgiaAndTheSouthSandwichIslands | ||
2187 | \value Spain | ||
2188 | \value SriLanka | ||
2189 | \value StHelena | ||
2190 | \value StPierreAndMiquelon | ||
2191 | \value Sudan | ||
2192 | \value Suriname | ||
2193 | \value SvalbardAndJanMayenIslands | ||
2194 | \value Swaziland | ||
2195 | \value Sweden | ||
2196 | \value Switzerland | ||
2197 | \value SyrianArabRepublic | ||
2198 | \value Taiwan | ||
2199 | \value Tajikistan | ||
2200 | \value Tanzania | ||
2201 | \value Thailand | ||
2202 | \value Togo | ||
2203 | \value Tokelau | ||
2204 | \value TongaCountry | ||
2205 | \value TrinidadAndTobago | ||
2206 | \value Tunisia | ||
2207 | \value Turkey | ||
2208 | \value Turkmenistan | ||
2209 | \value TurksAndCaicosIslands | ||
2210 | \value Tuvalu | ||
2211 | \value Uganda | ||
2212 | \value Ukraine | ||
2213 | \value UnitedArabEmirates | ||
2214 | \value UnitedKingdom | ||
2215 | \value UnitedStates | ||
2216 | \value UnitedStatesMinorOutlyingIslands | ||
2217 | \value Uruguay | ||
2218 | \value Uzbekistan | ||
2219 | \value Vanuatu | ||
2220 | \value VaticanCityState | ||
2221 | \value Venezuela | ||
2222 | \value VietNam | ||
2223 | \value BritishVirginIslands | ||
2224 | \value USVirginIslands | ||
2225 | \value WallisAndFutunaIslands | ||
2226 | \value WesternSahara | ||
2227 | \value Yemen | ||
2228 | \value Yugoslavia | ||
2229 | \value Zambia | ||
2230 | \value Zimbabwe | ||
2231 | */ | ||
2232 | |||
2233 | /*! | ||
2234 | Constructs a QLocale object with the specified \a name, | ||
2235 | which has the format | ||
2236 | "language[_country][.codeset][@modifier]" or "C", where: | ||
2237 | |||
2238 | \list | ||
2239 | \i language is a lowercase, two-letter, ISO 639 language code, | ||
2240 | \i territory is an uppercase, two-letter, ISO 3166 country code, | ||
2241 | \i and codeset and modifier are ignored. | ||
2242 | \endlist | ||
2243 | |||
2244 | If the string violates the locale format, or language is not | ||
2245 | a valid ISO 369 code, the "C" locale is used instead. If country | ||
2246 | is not present, or is not a valid ISO 3166 code, the most | ||
2247 | appropriate country is chosen for the specified language. | ||
2248 | |||
2249 | The language and country codes are converted to their respective | ||
2250 | \c Language and \c Country enums. After this conversion is | ||
2251 | performed the constructor behaves exactly like QLocale(Country, | ||
2252 | Language). | ||
2253 | |||
2254 | This constructor is much slower than QLocale(Country, Language). | ||
2255 | |||
2256 | \sa name() | ||
2257 | */ | ||
2258 | |||
2259 | QLocale::QLocale(const QString &name) | ||
2260 | { | ||
2261 | Language lang = C; | ||
2262 | Country cntry = AnyCountry; | ||
2263 | |||
2264 | uint l = name.length(); | ||
2265 | |||
2266 | do { | ||
2267 | if (l < 2) | ||
2268 | break; | ||
2269 | |||
2270 | const QChar *uc = name.unicode(); | ||
2271 | if (l > 2 | ||
2272 | && uc[2] != '_' | ||
2273 | && uc[2] != '.' | ||
2274 | && uc[2] != '@') | ||
2275 | break; | ||
2276 | |||
2277 | lang = codeToLanguage(name.mid(0, 2)); | ||
2278 | if (lang == C) | ||
2279 | break; | ||
2280 | |||
2281 | if (l == 2 || uc[2] == '.' || uc[2] == '@') | ||
2282 | break; | ||
2283 | |||
2284 | // we have uc[2] == '_' | ||
2285 | if (l < 5) | ||
2286 | break; | ||
2287 | |||
2288 | if (l > 5 && uc[5] != '.' && uc[5] != '@') | ||
2289 | break; | ||
2290 | |||
2291 | cntry = codeToCountry(name.mid(3, 2)); | ||
2292 | } while (false); | ||
2293 | |||
2294 | d = findLocale(lang, cntry); | ||
2295 | } | ||
2296 | |||
2297 | /*! | ||
2298 | Constructs a QLocale object initialized with the default locale. | ||
2299 | |||
2300 | \sa setDefault() | ||
2301 | */ | ||
2302 | |||
2303 | QLocale::QLocale() | ||
2304 | { | ||
2305 | if (default_d == 0) | ||
2306 | default_d = system().d; | ||
2307 | |||
2308 | d = default_d; | ||
2309 | } | ||
2310 | |||
2311 | /*! | ||
2312 | Constructs a QLocale object with the specified \a language and \a | ||
2313 | country. | ||
2314 | |||
2315 | \list | ||
2316 | \i If the language/country pair is found in the database, it is used. | ||
2317 | \i If the language is found but the country is not, or if the country | ||
2318 | is \c AnyCountry, the language is used with the most | ||
2319 | appropriate available country (for example, Germany for German), | ||
2320 | \i If neither the language nor the country are found, QLocale | ||
2321 | defaults to the default locale (see setDefault()). | ||
2322 | \endlist | ||
2323 | |||
2324 | The language and country that are actually used can be queried | ||
2325 | using language() and country(). | ||
2326 | |||
2327 | \sa setDefault() language() country() | ||
2328 | */ | ||
2329 | |||
2330 | QLocale::QLocale(Language language, Country country) | ||
2331 | { | ||
2332 | d = findLocale(language, country); | ||
2333 | |||
2334 | // If not found, should default to system | ||
2335 | if (d->languageId() == QLocale::C && language != QLocale::C) { | ||
2336 | if (default_d == 0) | ||
2337 | default_d = system().d; | ||
2338 | |||
2339 | d = default_d; | ||
2340 | } | ||
2341 | } | ||
2342 | |||
2343 | /*! | ||
2344 | Constructs a QLocale object as a copy of \a other. | ||
2345 | */ | ||
2346 | |||
2347 | QLocale::QLocale(const QLocale &other) | ||
2348 | { | ||
2349 | d = other.d; | ||
2350 | } | ||
2351 | |||
2352 | /*! | ||
2353 | Assigns \a other to this QLocale object and returns a reference | ||
2354 | to this QLocale object. | ||
2355 | */ | ||
2356 | |||
2357 | QLocale &QLocale::operator=(const QLocale &other) | ||
2358 | { | ||
2359 | d = other.d; | ||
2360 | return *this; | ||
2361 | } | ||
2362 | |||
2363 | /*! | ||
2364 | \nonreentrant | ||
2365 | |||
2366 | Sets the global default locale to \a locale. These | ||
2367 | values are used when a QLocale object is constructed with | ||
2368 | no arguments. If this function is not called, the system's | ||
2369 | locale is used. | ||
2370 | |||
2371 | \warning In a multithreaded application, the default locale | ||
2372 | should be set at application startup, before any non-GUI threads | ||
2373 | are created. | ||
2374 | |||
2375 | \sa system() c() | ||
2376 | */ | ||
2377 | |||
2378 | void QLocale::setDefault(const QLocale &locale) | ||
2379 | { | ||
2380 | default_d = locale.d; | ||
2381 | } | ||
2382 | |||
2383 | /*! | ||
2384 | Returns the language of this locale. | ||
2385 | |||
2386 | \sa QLocale() | ||
2387 | */ | ||
2388 | QLocale::Language QLocale::language() const | ||
2389 | { | ||
2390 | return (Language)d->languageId(); | ||
2391 | } | ||
2392 | |||
2393 | /*! | ||
2394 | Returns the country of this locale. | ||
2395 | |||
2396 | \sa QLocale() | ||
2397 | */ | ||
2398 | QLocale::Country QLocale::country() const | ||
2399 | { | ||
2400 | return (Country)d->countryId(); | ||
2401 | } | ||
2402 | |||
2403 | /*! | ||
2404 | Returns the language and country of this locale as a | ||
2405 | string of the form "language_country", where | ||
2406 | language is a lowercase, two-letter ISO 639 language code, | ||
2407 | and country is an uppercase, two-letter ISO 3166 country code. | ||
2408 | |||
2409 | \sa QLocale() | ||
2410 | */ | ||
2411 | |||
2412 | QString QLocale::name() const | ||
2413 | { | ||
2414 | Language l = language(); | ||
2415 | |||
2416 | QString result = languageToCode(l); | ||
2417 | |||
2418 | if (l == C) | ||
2419 | return result; | ||
2420 | |||
2421 | Country c = country(); | ||
2422 | if (c == AnyCountry) | ||
2423 | return result; | ||
2424 | |||
2425 | result.append('_'); | ||
2426 | result.append(countryToCode(c)); | ||
2427 | |||
2428 | return result; | ||
2429 | } | ||
2430 | |||
2431 | /*! | ||
2432 | Returns a QString containing the name of \a language. | ||
2433 | */ | ||
2434 | |||
2435 | QString QLocale::languageToString(Language language) | ||
2436 | { | ||
2437 | if ((uint)language > (uint)QLocale::LastLanguage) | ||
2438 | return "Unknown"; | ||
2439 | return language_name_list + language_name_index[(uint)language]; | ||
2440 | } | ||
2441 | |||
2442 | /*! | ||
2443 | Returns a QString containing the name of \a country. | ||
2444 | */ | ||
2445 | |||
2446 | QString QLocale::countryToString(Country country) | ||
2447 | { | ||
2448 | if ((uint)country > (uint)QLocale::LastCountry) | ||
2449 | return "Unknown"; | ||
2450 | return country_name_list + country_name_index[(uint)country]; | ||
2451 | } | ||
2452 | |||
2453 | /*! | ||
2454 | Returns the short int represented by the localized string \a s, or | ||
2455 | 0 if the conversion failed. | ||
2456 | |||
2457 | If \a ok is not 0, reports failure by setting | ||
2458 | *ok to false and success by setting *ok to true. | ||
2459 | |||
2460 | This function ignores leading and trailing whitespace. | ||
2461 | |||
2462 | \sa toString() | ||
2463 | */ | ||
2464 | |||
2465 | short QLocale::toShort(const QString &s, bool *ok) const | ||
2466 | { | ||
2467 | Q_LLONG i = toLongLong(s, ok); | ||
2468 | if (i < SHRT_MIN || i > SHRT_MAX) { | ||
2469 | if (ok != 0) | ||
2470 | *ok = false; | ||
2471 | return 0; | ||
2472 | } | ||
2473 | return (short) i; | ||
2474 | } | ||
2475 | |||
2476 | /*! | ||
2477 | Returns the unsigned short int represented by the localized string | ||
2478 | \a s, or 0 if the conversion failed. | ||
2479 | |||
2480 | If \a ok is not 0, reports failure by setting | ||
2481 | *ok to false and success by setting *ok to true. | ||
2482 | |||
2483 | This function ignores leading and trailing whitespace. | ||
2484 | |||
2485 | \sa toString() | ||
2486 | */ | ||
2487 | |||
2488 | ushort QLocale::toUShort(const QString &s, bool *ok) const | ||
2489 | { | ||
2490 | Q_ULLONG i = toULongLong(s, ok); | ||
2491 | if (i > USHRT_MAX) { | ||
2492 | if (ok != 0) | ||
2493 | *ok = false; | ||
2494 | return 0; | ||
2495 | } | ||
2496 | return (ushort) i; | ||
2497 | } | ||
2498 | |||
2499 | /*! | ||
2500 | Returns the int represented by the localized string \a s, or 0 if | ||
2501 | the conversion failed. | ||
2502 | |||
2503 | If \a ok is not 0, reports failure by setting *ok to false and | ||
2504 | success by setting *ok to true. | ||
2505 | |||
2506 | This function ignores leading and trailing whitespace. | ||
2507 | |||
2508 | \sa toString() | ||
2509 | */ | ||
2510 | |||
2511 | int QLocale::toInt(const QString &s, bool *ok) const | ||
2512 | { | ||
2513 | Q_LLONG i = toLongLong(s, ok); | ||
2514 | if (i < INT_MIN || i > INT_MAX) { | ||
2515 | if (ok != 0) | ||
2516 | *ok = false; | ||
2517 | return 0; | ||
2518 | } | ||
2519 | return (int) i; | ||
2520 | } | ||
2521 | |||
2522 | /*! | ||
2523 | Returns the unsigned int represented by the localized string \a s, | ||
2524 | or 0 if the conversion failed. | ||
2525 | |||
2526 | If \a ok is not 0, reports failure by setting | ||
2527 | *ok to false and success by setting *ok to true. | ||
2528 | |||
2529 | This function ignores leading and trailing whitespace. | ||
2530 | |||
2531 | \sa toString() | ||
2532 | */ | ||
2533 | |||
2534 | uint QLocale::toUInt(const QString &s, bool *ok) const | ||
2535 | { | ||
2536 | Q_ULLONG i = toULongLong(s, ok); | ||
2537 | if (i > UINT_MAX) { | ||
2538 | if (ok != 0) | ||
2539 | *ok = false; | ||
2540 | return 0; | ||
2541 | } | ||
2542 | return (uint) i; | ||
2543 | } | ||
2544 | |||
2545 | /*! | ||
2546 | Returns the long int represented by the localized string \a s, or | ||
2547 | 0 if the conversion failed. | ||
2548 | |||
2549 | If \a ok is not 0, reports failure by setting | ||
2550 | *ok to false and success by setting *ok to true. | ||
2551 | |||
2552 | This function ignores leading and trailing whitespace. | ||
2553 | |||
2554 | \sa toString() | ||
2555 | */ | ||
2556 | |||
2557 | Q_LONG QLocale::toLong(const QString &s, bool *ok) const | ||
2558 | { | ||
2559 | Q_LLONG i = toLongLong(s, ok); | ||
2560 | if (i < LONG_MIN || i > LONG_MAX) { | ||
2561 | if (ok != 0) | ||
2562 | *ok = false; | ||
2563 | return 0; | ||
2564 | } | ||
2565 | return (Q_LONG) i; | ||
2566 | } | ||
2567 | |||
2568 | /*! | ||
2569 | Returns the unsigned long int represented by the localized string | ||
2570 | \a s, or 0 if the conversion failed. | ||
2571 | |||
2572 | If \a ok is not 0, reports failure by setting | ||
2573 | *ok to false and success by setting *ok to true. | ||
2574 | |||
2575 | This function ignores leading and trailing whitespace. | ||
2576 | |||
2577 | \sa toString() | ||
2578 | */ | ||
2579 | |||
2580 | Q_ULONG QLocale::toULong(const QString &s, bool *ok) const | ||
2581 | { | ||
2582 | Q_ULLONG i = toULongLong(s, ok); | ||
2583 | if (i > ULONG_MAX) { | ||
2584 | if (ok != 0) | ||
2585 | *ok = false; | ||
2586 | return 0; | ||
2587 | } | ||
2588 | return (Q_ULONG) i; | ||
2589 | } | ||
2590 | |||
2591 | /*! | ||
2592 | Returns the long long int represented by the localized string \a | ||
2593 | s, or 0 if the conversion failed. | ||
2594 | |||
2595 | If \a ok is not 0, reports failure by setting | ||
2596 | *ok to false and success by setting *ok to true. | ||
2597 | |||
2598 | This function ignores leading and trailing whitespace. | ||
2599 | |||
2600 | \sa toString() | ||
2601 | */ | ||
2602 | |||
2603 | |||
2604 | Q_LLONG QLocale::toLongLong(const QString &s, bool *ok) const | ||
2605 | { | ||
2606 | return d->stringToLongLong(s, 0, ok, QLocalePrivate::ParseGroupSeparators); | ||
2607 | } | ||
2608 | |||
2609 | /*! | ||
2610 | Returns the unsigned long long int represented by the localized | ||
2611 | string \a s, or 0 if the conversion failed. | ||
2612 | |||
2613 | If \a ok is not 0, reports failure by setting | ||
2614 | *ok to false and success by setting *ok to true. | ||
2615 | |||
2616 | This function ignores leading and trailing whitespace. | ||
2617 | |||
2618 | \sa toString() | ||
2619 | */ | ||
2620 | |||
2621 | |||
2622 | Q_ULLONG QLocale::toULongLong(const QString &s, bool *ok) const | ||
2623 | { | ||
2624 | return d->stringToUnsLongLong(s, 0, ok, QLocalePrivate::ParseGroupSeparators); | ||
2625 | } | ||
2626 | |||
2627 | /*! | ||
2628 | Returns the float represented by the localized string \a s, or 0.0 | ||
2629 | if the conversion failed. | ||
2630 | |||
2631 | If \a ok is not 0, reports failure by setting | ||
2632 | *ok to false and success by setting *ok to true. | ||
2633 | |||
2634 | This function ignores leading and trailing whitespace. | ||
2635 | |||
2636 | \sa toString() | ||
2637 | */ | ||
2638 | |||
2639 | float QLocale::toFloat(const QString &s, bool *ok) const | ||
2640 | { | ||
2641 | return (float) toDouble(s, ok); | ||
2642 | } | ||
2643 | |||
2644 | /*! | ||
2645 | Returns the double represented by the localized string \a s, or | ||
2646 | 0.0 if the conversion failed. | ||
2647 | |||
2648 | If \a ok is not 0, reports failure by setting | ||
2649 | *ok to false and success by setting *ok to true. | ||
2650 | |||
2651 | Unlike QString::toDouble(), this function does not fall back to | ||
2652 | the "C" locale if the string cannot be interpreted in this | ||
2653 | locale. | ||
2654 | |||
2655 | \code | ||
2656 | bool ok; | ||
2657 | double d; | ||
2658 | |||
2659 | QLocale c(QLocale::C); | ||
2660 | d = c.toDouble( "1234.56", &ok ); // ok == true, d == 1234.56 | ||
2661 | d = c.toDouble( "1,234.56", &ok ); // ok == true, d == 1234.56 | ||
2662 | d = c.toDouble( "1234,56", &ok ); // ok == false | ||
2663 | |||
2664 | QLocale german(QLocale::German); | ||
2665 | d = german.toDouble( "1234,56", &ok ); // ok == true, d == 1234.56 | ||
2666 | d = german.toDouble( "1.234,56", &ok ); // ok == true, d == 1234.56 | ||
2667 | d = german.toDouble( "1234.56", &ok ); // ok == false | ||
2668 | |||
2669 | d = german.toDouble( "1.234", &ok ); // ok == true, d == 1234.0 | ||
2670 | \endcode | ||
2671 | |||
2672 | Notice that the last conversion returns 1234.0, because '.' is the | ||
2673 | thousands group separator in the German locale. | ||
2674 | |||
2675 | This function ignores leading and trailing whitespace. | ||
2676 | |||
2677 | \sa toString() QString::toDouble() | ||
2678 | */ | ||
2679 | |||
2680 | double QLocale::toDouble(const QString &s, bool *ok) const | ||
2681 | { | ||
2682 | return d->stringToDouble(s, ok, QLocalePrivate::ParseGroupSeparators); | ||
2683 | } | ||
2684 | |||
2685 | /*! | ||
2686 | Returns a localized string representation of \a i. | ||
2687 | |||
2688 | \sa toLongLong() | ||
2689 | */ | ||
2690 | |||
2691 | QString QLocale::toString(Q_LLONG i) const | ||
2692 | { | ||
2693 | return d->longLongToString(i, -1, 10, QLocalePrivate::ThousandsGroup); | ||
2694 | } | ||
2695 | |||
2696 | /*! | ||
2697 | \overload | ||
2698 | |||
2699 | \sa toULongLong() | ||
2700 | */ | ||
2701 | |||
2702 | QString QLocale::toString(Q_ULLONG i) const | ||
2703 | { | ||
2704 | return d->unsLongLongToString(i, -1, 10, QLocalePrivate::ThousandsGroup); | ||
2705 | } | ||
2706 | |||
2707 | static bool qIsUpper(char c) | ||
2708 | { | ||
2709 | return c >= 'A' && c <= 'Z'; | ||
2710 | } | ||
2711 | |||
2712 | static char qToLower(char c) | ||
2713 | { | ||
2714 | if (c >= 'A' && c <= 'Z') | ||
2715 | return c - 'A' + 'a'; | ||
2716 | else | ||
2717 | return c; | ||
2718 | } | ||
2719 | |||
2720 | /*! | ||
2721 | \overload | ||
2722 | |||
2723 | \a f and \a prec have the same meaning as in QString::number(double, char, int). | ||
2724 | |||
2725 | \sa toDouble() | ||
2726 | */ | ||
2727 | |||
2728 | QString QLocale::toString(double i, char f, int prec) const | ||
2729 | { | ||
2730 | QLocalePrivate::DoubleForm form = QLocalePrivate::DFDecimal; | ||
2731 | uint flags = 0; | ||
2732 | |||
2733 | if (qIsUpper(f)) | ||
2734 | flags = QLocalePrivate::CapitalEorX; | ||
2735 | f = qToLower(f); | ||
2736 | |||
2737 | switch (f) { | ||
2738 | case 'f': | ||
2739 | form = QLocalePrivate::DFDecimal; | ||
2740 | break; | ||
2741 | case 'e': | ||
2742 | form = QLocalePrivate::DFExponent; | ||
2743 | break; | ||
2744 | case 'g': | ||
2745 | form = QLocalePrivate::DFSignificantDigits; | ||
2746 | break; | ||
2747 | default: | ||
2748 | break; | ||
2749 | } | ||
2750 | |||
2751 | flags |= QLocalePrivate::ThousandsGroup; | ||
2752 | return d->doubleToString(i, prec, form, -1, flags); | ||
2753 | } | ||
2754 | |||
2755 | /*! | ||
2756 | \fn QLocale QLocale::c() | ||
2757 | |||
2758 | Returns a QLocale object initialized to the "C" locale. | ||
2759 | |||
2760 | \sa system() | ||
2761 | */ | ||
2762 | |||
2763 | /*! | ||
2764 | Returns a QLocale object initialized to the system locale. | ||
2765 | */ | ||
2766 | |||
2767 | QLocale QLocale::system() | ||
2768 | { | ||
2769 | #ifdef Q_OS_UNIX | ||
2770 | const char *s = getenv("LC_NUMERIC"); | ||
2771 | if (s == 0) | ||
2772 | s = getenv("LC_ALL"); | ||
2773 | if (s != 0) | ||
2774 | return QLocale(s); | ||
2775 | #endif | ||
2776 | return QLocale(QLocalePrivate::systemLocaleName()); | ||
2777 | } | ||
2778 | |||
2779 | /*! | ||
2780 | \fn QString QLocale::toString(short i) const | ||
2781 | |||
2782 | \overload | ||
2783 | |||
2784 | \sa toShort() | ||
2785 | */ | ||
2786 | |||
2787 | /*! | ||
2788 | \fn QString QLocale::toString(ushort i) const | ||
2789 | |||
2790 | \overload | ||
2791 | |||
2792 | \sa toUShort() | ||
2793 | */ | ||
2794 | |||
2795 | /*! | ||
2796 | \fn QString QLocale::toString(int i) const | ||
2797 | |||
2798 | \overload | ||
2799 | |||
2800 | \sa toInt() | ||
2801 | */ | ||
2802 | |||
2803 | /*! | ||
2804 | \fn QString QLocale::toString(uint i) const | ||
2805 | |||
2806 | \overload | ||
2807 | |||
2808 | \sa toUInt() | ||
2809 | */ | ||
2810 | |||
2811 | /*! | ||
2812 | \fn QString QLocale::toString(Q_LONG i) const | ||
2813 | |||
2814 | \overload | ||
2815 | |||
2816 | \sa toLong() | ||
2817 | */ | ||
2818 | |||
2819 | /*! | ||
2820 | \fn QString QLocale::toString(Q_ULONG i) const | ||
2821 | |||
2822 | \overload | ||
2823 | |||
2824 | \sa toULong() | ||
2825 | */ | ||
2826 | |||
2827 | /*! | ||
2828 | \fn QString QLocale::toString(float i, char f = 'g', int prec = 6) const | ||
2829 | |||
2830 | \overload | ||
2831 | |||
2832 | \a f and \a prec have the same meaning as in QString::number(double, char, int). | ||
2833 | |||
2834 | \sa toDouble() | ||
2835 | */ | ||
2836 | |||
2837 | |||
2838 | bool QLocalePrivate::isDigit(QChar d) const | ||
2839 | { | ||
2840 | return zero().unicode() <= d.unicode() | ||
2841 | && zero().unicode() + 10 > d.unicode(); | ||
2842 | } | ||
2843 | |||
2844 | static char digitToCLocale(QChar zero, QChar d) | ||
2845 | { | ||
2846 | if (zero.unicode() <= d.unicode() | ||
2847 | && zero.unicode() + 10 > d.unicode()) | ||
2848 | return '0' + d.unicode() - zero.unicode(); | ||
2849 | |||
2850 | qWarning("QLocalePrivate::digitToCLocale(): bad digit: row=%d, cell=%d", d.row(), d.cell()); | ||
2851 | return QChar(0); | ||
2852 | } | ||
2853 | |||
2854 | static QString qulltoa(Q_ULLONG l, int base, const QLocalePrivate &locale) | ||
2855 | { | ||
2856 | QChar buff[65]; // length of MAX_ULLONG in base 2 | ||
2857 | QChar *p = buff + 65; | ||
2858 | |||
2859 | if (base != 10 || locale.zero().unicode() == '0') { | ||
2860 | while (l != 0) { | ||
2861 | int c = l % base; | ||
2862 | |||
2863 | --p; | ||
2864 | |||
2865 | if (c < 10) | ||
2866 | *p = '0' + c; | ||
2867 | else | ||
2868 | *p = c - 10 + 'a'; | ||
2869 | |||
2870 | l /= base; | ||
2871 | } | ||
2872 | } | ||
2873 | else { | ||
2874 | while (l != 0) { | ||
2875 | int c = l % base; | ||
2876 | |||
2877 | *(--p) = locale.zero().unicode() + c; | ||
2878 | |||
2879 | l /= base; | ||
2880 | } | ||
2881 | } | ||
2882 | |||
2883 | return QString(p, 65 - (p - buff)); | ||
2884 | } | ||
2885 | |||
2886 | static QString qlltoa(Q_LLONG l, int base, const QLocalePrivate &locale) | ||
2887 | { | ||
2888 | return qulltoa(l < 0 ? -l : l, base, locale); | ||
2889 | } | ||
2890 | |||
2891 | enum PrecisionMode { | ||
2892 | PMDecimalDigits = 0x01, | ||
2893 | PMSignificantDigits = 0x02, | ||
2894 | PMChopTrailingZeros = 0x03 | ||
2895 | }; | ||
2896 | |||
2897 | static QString &decimalForm(QString &digits, int decpt, uint precision, | ||
2898 | PrecisionMode pm, | ||
2899 | bool always_show_decpt, | ||
2900 | bool thousands_group, | ||
2901 | const QLocalePrivate &locale) | ||
2902 | { | ||
2903 | if (decpt < 0) { | ||
2904 | for (int i = 0; i < -decpt; ++i) | ||
2905 | digits.prepend(locale.zero()); | ||
2906 | decpt = 0; | ||
2907 | } | ||
2908 | else if ((uint)decpt > digits.length()) { | ||
2909 | for (uint i = digits.length(); i < (uint)decpt; ++i) | ||
2910 | digits.append(locale.zero()); | ||
2911 | } | ||
2912 | |||
2913 | if (pm == PMDecimalDigits) { | ||
2914 | uint decimal_digits = digits.length() - decpt; | ||
2915 | for (uint i = decimal_digits; i < precision; ++i) | ||
2916 | digits.append(locale.zero()); | ||
2917 | } | ||
2918 | else if (pm == PMSignificantDigits) { | ||
2919 | for (uint i = digits.length(); i < precision; ++i) | ||
2920 | digits.append(locale.zero()); | ||
2921 | } | ||
2922 | else { // pm == PMChopTrailingZeros | ||
2923 | } | ||
2924 | |||
2925 | if (always_show_decpt || (uint)decpt < digits.length()) | ||
2926 | digits.insert(decpt, locale.decimal()); | ||
2927 | |||
2928 | if (thousands_group) { | ||
2929 | for (int i = decpt - 3; i > 0; i -= 3) | ||
2930 | digits.insert(i, locale.group()); | ||
2931 | } | ||
2932 | |||
2933 | if (decpt == 0) | ||
2934 | digits.prepend(locale.zero()); | ||
2935 | |||
2936 | return digits; | ||
2937 | } | ||
2938 | |||
2939 | static QString &exponentForm(QString &digits, int decpt, uint precision, | ||
2940 | PrecisionMode pm, | ||
2941 | bool always_show_decpt, | ||
2942 | const QLocalePrivate &locale) | ||
2943 | { | ||
2944 | int exp = decpt - 1; | ||
2945 | |||
2946 | if (pm == PMDecimalDigits) { | ||
2947 | for (uint i = digits.length(); i < precision + 1; ++i) | ||
2948 | digits.append(locale.zero()); | ||
2949 | } | ||
2950 | else if (pm == PMSignificantDigits) { | ||
2951 | for (uint i = digits.length(); i < precision; ++i) | ||
2952 | digits.append(locale.zero()); | ||
2953 | } | ||
2954 | else { // pm == PMChopTrailingZeros | ||
2955 | } | ||
2956 | |||
2957 | if (always_show_decpt || digits.length() > 1) | ||
2958 | digits.insert(1, locale.decimal()); | ||
2959 | |||
2960 | digits.append(locale.exponential()); | ||
2961 | digits.append(locale.longLongToString(exp, 2, 10, | ||
2962 | -1, QLocalePrivate::AlwaysShowSign)); | ||
2963 | |||
2964 | return digits; | ||
2965 | } | ||
2966 | |||
2967 | QString QLocalePrivate::doubleToString(double d, | ||
2968 | int precision, | ||
2969 | DoubleForm form, | ||
2970 | int width, | ||
2971 | unsigned flags) const | ||
2972 | { | ||
2973 | if (precision == -1) | ||
2974 | precision = 6; | ||
2975 | if (width == -1) | ||
2976 | width = 0; | ||
2977 | |||
2978 | bool negative = false; | ||
2979 | bool special_number = false; // nan, +/-inf | ||
2980 | QString num_str; | ||
2981 | |||
2982 | // Comparing directly to INFINITY gives weird results on some systems. | ||
2983 | double tmp_infinity = INFINITY; | ||
2984 | |||
2985 | // Detect special numbers (nan, +/-inf) | ||
2986 | if (d == tmp_infinity || d == -tmp_infinity) { | ||
2987 | num_str = infinity(); | ||
2988 | special_number = true; | ||
2989 | negative = d < 0; | ||
2990 | } else if (isnan(d)) { | ||
2991 | num_str = nan(); | ||
2992 | special_number = true; | ||
2993 | } | ||
2994 | |||
2995 | // Handle normal numbers | ||
2996 | if (!special_number) { | ||
2997 | int decpt, sign; | ||
2998 | QString digits; | ||
2999 | |||
3000 | #ifdef QT_QLOCALE_USES_FCVT | ||
3001 | #ifdef QT_THREAD_SUPPORT | ||
3002 | static bool dummy_for_mutex; | ||
3003 | QMutex *fcvt_mutex = qt_global_mutexpool ? qt_global_mutexpool->get( &dummy_for_mutex ) : 0; | ||
3004 | # define FCVT_LOCK if (fcvt_mutex) fcvt_mutex->lock() | ||
3005 | # define FCVT_UNLOCK if (fcvt_mutex) fcvt_mutex->unlock() | ||
3006 | #else | ||
3007 | # define FCVT_LOCK | ||
3008 | # define FCVT_UNLOCK | ||
3009 | #endif | ||
3010 | if (form == DFDecimal) { | ||
3011 | FCVT_LOCK; | ||
3012 | digits = fcvt(d, precision, &decpt, &sign); | ||
3013 | FCVT_UNLOCK; | ||
3014 | } else { | ||
3015 | int pr = precision; | ||
3016 | if (form == DFExponent) | ||
3017 | ++pr; | ||
3018 | else if (form == DFSignificantDigits && pr == 0) | ||
3019 | pr = 1; | ||
3020 | FCVT_LOCK; | ||
3021 | digits = ecvt(d, pr, &decpt, &sign); | ||
3022 | FCVT_UNLOCK; | ||
3023 | |||
3024 | // Chop trailing zeros | ||
3025 | if (digits.length() > 0) { | ||
3026 | int last_nonzero_idx = digits.length() - 1; | ||
3027 | while (last_nonzero_idx > 0 | ||
3028 | && digits.unicode()[last_nonzero_idx] == '0') | ||
3029 | --last_nonzero_idx; | ||
3030 | digits.truncate(last_nonzero_idx + 1); | ||
3031 | } | ||
3032 | |||
3033 | } | ||
3034 | |||
3035 | #else | ||
3036 | int mode; | ||
3037 | if (form == DFDecimal) | ||
3038 | mode = 3; | ||
3039 | else | ||
3040 | mode = 2; | ||
3041 | |||
3042 | /* This next bit is a bit quirky. In DFExponent form, the precision | ||
3043 | is the number of digits after decpt. So that would suggest using | ||
3044 | mode=3 for qdtoa. But qdtoa behaves strangely when mode=3 and | ||
3045 | precision=0. So we get around this by using mode=2 and reasoning | ||
3046 | that we want precision+1 significant digits, since the decimal | ||
3047 | point in this mode is always after the first digit. */ | ||
3048 | int pr = precision; | ||
3049 | if (form == DFExponent) | ||
3050 | ++pr; | ||
3051 | |||
3052 | char *rve = 0; | ||
3053 | char *buff = 0; | ||
3054 | digits = qdtoa(d, mode, pr, &decpt, &sign, &rve, &buff); | ||
3055 | if (buff != 0) | ||
3056 | free(buff); | ||
3057 | #endif // QT_QLOCALE_USES_FCVT | ||
3058 | |||
3059 | if (zero().unicode() != '0') { | ||
3060 | for (uint i = 0; i < digits.length(); ++i) | ||
3061 | digits.ref(i).unicode() += zero().unicode() - '0'; | ||
3062 | } | ||
3063 | |||
3064 | bool always_show_decpt = flags & Alternate; | ||
3065 | switch (form) { | ||
3066 | case DFExponent: { | ||
3067 | num_str = exponentForm(digits, decpt, precision, PMDecimalDigits, | ||
3068 | always_show_decpt, *this); | ||
3069 | break; | ||
3070 | } | ||
3071 | case DFDecimal: { | ||
3072 | num_str = decimalForm(digits, decpt, precision, PMDecimalDigits, | ||
3073 | always_show_decpt, flags & ThousandsGroup, | ||
3074 | *this); | ||
3075 | break; | ||
3076 | } | ||
3077 | case DFSignificantDigits: { | ||
3078 | PrecisionMode mode = (flags & Alternate) ? | ||
3079 | PMSignificantDigits : PMChopTrailingZeros; | ||
3080 | |||
3081 | if (decpt != (int)digits.length() && (decpt <= -4 || decpt > (int)precision)) | ||
3082 | num_str = exponentForm(digits, decpt, precision, mode, | ||
3083 | always_show_decpt, *this); | ||
3084 | else | ||
3085 | num_str = decimalForm(digits, decpt, precision, mode, | ||
3086 | always_show_decpt, flags & ThousandsGroup, | ||
3087 | *this); | ||
3088 | break; | ||
3089 | } | ||
3090 | } | ||
3091 | |||
3092 | negative = sign != 0; | ||
3093 | } | ||
3094 | |||
3095 | // pad with zeros. LeftAdjusted overrides this flag). Also, we don't | ||
3096 | // pad special numbers | ||
3097 | if (flags & QLocalePrivate::ZeroPadded | ||
3098 | && !(flags & QLocalePrivate::LeftAdjusted) | ||
3099 | && !special_number) { | ||
3100 | int num_pad_chars = width - (int)num_str.length(); | ||
3101 | // leave space for the sign | ||
3102 | if (negative | ||
3103 | || flags & QLocalePrivate::AlwaysShowSign | ||
3104 | || flags & QLocalePrivate::BlankBeforePositive) | ||
3105 | --num_pad_chars; | ||
3106 | |||
3107 | for (int i = 0; i < num_pad_chars; ++i) | ||
3108 | num_str.prepend(zero()); | ||
3109 | } | ||
3110 | |||
3111 | // add sign | ||
3112 | if (negative) | ||
3113 | num_str.prepend(minus()); | ||
3114 | else if (flags & QLocalePrivate::AlwaysShowSign) | ||
3115 | num_str.prepend(plus()); | ||
3116 | else if (flags & QLocalePrivate::BlankBeforePositive) | ||
3117 | num_str.prepend(' '); | ||
3118 | |||
3119 | if (flags & QLocalePrivate::CapitalEorX) | ||
3120 | num_str = num_str.upper(); | ||
3121 | |||
3122 | return num_str; | ||
3123 | } | ||
3124 | |||
3125 | QString QLocalePrivate::longLongToString(Q_LLONG l, int precision, | ||
3126 | int base, int width, | ||
3127 | unsigned flags) const | ||
3128 | { | ||
3129 | bool precision_not_specified = false; | ||
3130 | if (precision == -1) { | ||
3131 | precision_not_specified = true; | ||
3132 | precision = 1; | ||
3133 | } | ||
3134 | |||
3135 | bool negative = l < 0; | ||
3136 | if (base != 10) { | ||
3137 | // these are not suported by sprintf for octal and hex | ||
3138 | flags &= ~AlwaysShowSign; | ||
3139 | flags &= ~BlankBeforePositive; | ||
3140 | negative = false; // neither are negative numbers | ||
3141 | } | ||
3142 | |||
3143 | QString num_str; | ||
3144 | if (base == 10) | ||
3145 | num_str = qlltoa(l, base, *this); | ||
3146 | else | ||
3147 | num_str = qulltoa(l, base, *this); | ||
3148 | |||
3149 | uint cnt_thousand_sep = 0; | ||
3150 | if (flags & ThousandsGroup && base == 10) { | ||
3151 | for (int i = (int)num_str.length() - 3; i > 0; i -= 3) { | ||
3152 | num_str.insert(i, group()); | ||
3153 | ++cnt_thousand_sep; | ||
3154 | } | ||
3155 | } | ||
3156 | |||
3157 | for (int i = num_str.length()/* - cnt_thousand_sep*/; i < precision; ++i) | ||
3158 | num_str.prepend(base == 10 ? zero() : QChar('0')); | ||
3159 | |||
3160 | if (flags & Alternate | ||
3161 | && base == 8 | ||
3162 | && (num_str.isEmpty() | ||
3163 | || num_str[0].unicode() != '0')) | ||
3164 | num_str.prepend('0'); | ||
3165 | |||
3166 | // LeftAdjusted overrides this flag ZeroPadded. sprintf only padds | ||
3167 | // when precision is not specified in the format string | ||
3168 | bool zero_padded = flags & ZeroPadded | ||
3169 | && !(flags & LeftAdjusted) | ||
3170 | && precision_not_specified; | ||
3171 | |||
3172 | if (zero_padded) { | ||
3173 | int num_pad_chars = width - (int)num_str.length(); | ||
3174 | |||
3175 | // leave space for the sign | ||
3176 | if (negative | ||
3177 | || flags & AlwaysShowSign | ||
3178 | || flags & BlankBeforePositive) | ||
3179 | --num_pad_chars; | ||
3180 | |||
3181 | // leave space for optional '0x' in hex form | ||
3182 | if (base == 16 | ||
3183 | && flags & Alternate | ||
3184 | && l != 0) | ||
3185 | num_pad_chars -= 2; | ||
3186 | |||
3187 | for (int i = 0; i < num_pad_chars; ++i) | ||
3188 | num_str.prepend(base == 10 ? zero() : QChar('0')); | ||
3189 | } | ||
3190 | |||
3191 | if (base == 16 | ||
3192 | && flags & Alternate | ||
3193 | && l != 0) | ||
3194 | num_str.prepend("0x"); | ||
3195 | |||
3196 | // add sign | ||
3197 | if (negative) | ||
3198 | num_str.prepend(minus()); | ||
3199 | else if (flags & AlwaysShowSign) | ||
3200 | num_str.prepend(base == 10 ? plus() : QChar('+')); | ||
3201 | else if (flags & BlankBeforePositive) | ||
3202 | num_str.prepend(' '); | ||
3203 | |||
3204 | if (flags & CapitalEorX) | ||
3205 | num_str = num_str.upper(); | ||
3206 | |||
3207 | return num_str; | ||
3208 | } | ||
3209 | |||
3210 | QString QLocalePrivate::unsLongLongToString(Q_ULLONG l, int precision, | ||
3211 | int base, int width, | ||
3212 | unsigned flags) const | ||
3213 | { | ||
3214 | bool precision_not_specified = false; | ||
3215 | if (precision == -1) { | ||
3216 | precision_not_specified = true; | ||
3217 | precision = 1; | ||
3218 | } | ||
3219 | |||
3220 | QString num_str = qulltoa(l, base, *this); | ||
3221 | |||
3222 | uint cnt_thousand_sep = 0; | ||
3223 | if (flags & ThousandsGroup && base == 10) { | ||
3224 | for (int i = (int)num_str.length() - 3; i > 0; i -=3) { | ||
3225 | num_str.insert(i, group()); | ||
3226 | ++cnt_thousand_sep; | ||
3227 | } | ||
3228 | } | ||
3229 | |||
3230 | for (int i = num_str.length()/* - cnt_thousand_sep*/; i < precision; ++i) | ||
3231 | num_str.prepend(base == 10 ? zero() : QChar('0')); | ||
3232 | |||
3233 | if (flags & Alternate | ||
3234 | && base == 8 | ||
3235 | && (num_str.isEmpty() | ||
3236 | || num_str[0].unicode() != '0')) | ||
3237 | num_str.prepend('0'); | ||
3238 | |||
3239 | // LeftAdjusted overrides this flag ZeroPadded. sprintf only padds | ||
3240 | // when precision is not specified in the format string | ||
3241 | bool zero_padded = flags & ZeroPadded | ||
3242 | && !(flags & LeftAdjusted) | ||
3243 | && precision_not_specified; | ||
3244 | |||
3245 | if (zero_padded) { | ||
3246 | int num_pad_chars = width - (int)num_str.length(); | ||
3247 | |||
3248 | // leave space for optional '0x' in hex form | ||
3249 | if (base == 16 | ||
3250 | && flags & Alternate | ||
3251 | && l != 0) | ||
3252 | num_pad_chars -= 2; | ||
3253 | |||
3254 | for (int i = 0; i < num_pad_chars; ++i) | ||
3255 | num_str.prepend(base == 10 ? zero() : QChar('0')); | ||
3256 | } | ||
3257 | |||
3258 | if (base == 16 | ||
3259 | && flags & Alternate | ||
3260 | && l != 0) | ||
3261 | num_str.prepend("0x"); | ||
3262 | |||
3263 | if (flags & CapitalEorX) | ||
3264 | num_str = num_str.upper(); | ||
3265 | |||
3266 | return num_str; | ||
3267 | } | ||
3268 | |||
3269 | static bool compareSubstr(const QString &s1, uint idx, const QString &s2) | ||
3270 | { | ||
3271 | uint i = 0; | ||
3272 | for (; i + idx < s1.length() && i < s2.length(); ++i) { | ||
3273 | if (s1.unicode()[i + idx] != s2.unicode()[i]) | ||
3274 | return false; | ||
3275 | } | ||
3276 | |||
3277 | return i == s2.length(); | ||
3278 | } | ||
3279 | |||
3280 | // Removes thousand-group separators, ie. the ',' in "1,234,567.89e-5" | ||
3281 | bool QLocalePrivate::removeGroupSeparators(QString &num_str) const | ||
3282 | { | ||
3283 | int group_cnt = 0; // counts number of group chars | ||
3284 | int decpt_idx = -1; | ||
3285 | |||
3286 | // Find the decimal point and check if there are any group chars | ||
3287 | uint i = 0; | ||
3288 | for (; i < num_str.length(); ++i) { | ||
3289 | QChar c = num_str.unicode()[i]; | ||
3290 | |||
3291 | if (c == group()) { | ||
3292 | // check that there are digits before and after the separator | ||
3293 | if (i == 0 || !isDigit(num_str.unicode()[i - 1])) | ||
3294 | return false; | ||
3295 | if (i == num_str.length() + 1 || !isDigit(num_str.unicode()[i + 1])) | ||
3296 | return false; | ||
3297 | ++group_cnt; | ||
3298 | } | ||
3299 | else if (c == decimal()) { | ||
3300 | // Fail if more than one decimal points | ||
3301 | if (decpt_idx != -1) | ||
3302 | return false; | ||
3303 | decpt_idx = i; | ||
3304 | } else if (c == exponential() || c == exponential().upper()) { | ||
3305 | // an 'e' or 'E' - if we have not encountered a decimal | ||
3306 | // point, this is where it "is". | ||
3307 | if (decpt_idx == -1) | ||
3308 | decpt_idx = i; | ||
3309 | } | ||
3310 | } | ||
3311 | |||
3312 | // If no group chars, we're done | ||
3313 | if (group_cnt == 0) | ||
3314 | return true; | ||
3315 | |||
3316 | // No decimal point means that it "is" at the end of the string | ||
3317 | if (decpt_idx == -1) | ||
3318 | decpt_idx = num_str.length(); | ||
3319 | |||
3320 | i = 0; | ||
3321 | while (i < num_str.length() && group_cnt > 0) { | ||
3322 | QChar c = num_str.unicode()[i]; | ||
3323 | |||
3324 | if (c == group()) { | ||
3325 | // Don't allow group chars after the decimal point | ||
3326 | if ((int)i > decpt_idx) | ||
3327 | return false; | ||
3328 | |||
3329 | // Check that it is placed correctly relative to the decpt | ||
3330 | if ((decpt_idx - i) % 4 != 0) | ||
3331 | return false; | ||
3332 | |||
3333 | // Remove it | ||
3334 | num_str.remove(i, 1); | ||
3335 | |||
3336 | --group_cnt; | ||
3337 | --decpt_idx; // adjust decpt_idx | ||
3338 | } else { | ||
3339 | // Check that we are not missing a separator | ||
3340 | if ((int)i < decpt_idx && (decpt_idx - i) % 4 == 0) | ||
3341 | return false; | ||
3342 | ++i; | ||
3343 | } | ||
3344 | } | ||
3345 | |||
3346 | return true; | ||
3347 | } | ||
3348 | |||
3349 | static void stripWhiteSpaceInPlace(QString &s) | ||
3350 | { | ||
3351 | uint i = 0; | ||
3352 | while (i < s.length() && s.unicode()[i].isSpace()) | ||
3353 | ++i; | ||
3354 | if (i > 0) | ||
3355 | s.remove(0, i); | ||
3356 | |||
3357 | i = s.length(); | ||
3358 | |||
3359 | if (i == 0) | ||
3360 | return; | ||
3361 | --i; | ||
3362 | while (i > 0 && s.unicode()[i].isSpace()) | ||
3363 | --i; | ||
3364 | if (i + 1 < s.length()) | ||
3365 | s.truncate(i + 1); | ||
3366 | } | ||
3367 | |||
3368 | // Converts a number in locale to its representation in the C locale. | ||
3369 | bool QLocalePrivate::numberToCLocale(QString &l_num, | ||
3370 | GroupSeparatorMode group_sep_mode) const | ||
3371 | { | ||
3372 | stripWhiteSpaceInPlace(l_num); | ||
3373 | |||
3374 | if (group_sep_mode == ParseGroupSeparators | ||
3375 | && !removeGroupSeparators(l_num)) | ||
3376 | return false; | ||
3377 | |||
3378 | uint idx = 0; | ||
3379 | if (compareSubstr(l_num, idx, nan())) { | ||
3380 | idx += nan().length(); | ||
3381 | return idx == l_num.length(); | ||
3382 | } | ||
3383 | else if (compareSubstr(l_num, idx, nan().upper())) { | ||
3384 | for (uint i = idx; i < idx + nan().length(); ++i) | ||
3385 | l_num.ref(i) = l_num.unicode()[i].lower(); | ||
3386 | idx += nan().length(); | ||
3387 | return idx == l_num.length(); | ||
3388 | } | ||
3389 | QChar &c = l_num.ref(idx); | ||
3390 | |||
3391 | if (c == plus()) { | ||
3392 | c.unicode() = '+'; | ||
3393 | ++idx; | ||
3394 | } | ||
3395 | else if (c == minus()) { | ||
3396 | c.unicode() = '-'; | ||
3397 | ++idx; | ||
3398 | } | ||
3399 | |||
3400 | if (compareSubstr(l_num, idx, infinity())) { | ||
3401 | idx += infinity().length(); | ||
3402 | return idx == l_num.length(); | ||
3403 | } | ||
3404 | else if (compareSubstr(l_num, idx, infinity().upper())) { | ||
3405 | for (uint i = idx; i < idx + infinity().length(); ++i) | ||
3406 | l_num.ref(i) = l_num.unicode()[i].lower(); | ||
3407 | idx += infinity().length(); | ||
3408 | return idx == l_num.length(); | ||
3409 | } | ||
3410 | |||
3411 | while (idx < l_num.length()) { | ||
3412 | QChar &c = l_num.ref(idx); | ||
3413 | |||
3414 | if (isDigit(c)) | ||
3415 | c = digitToCLocale(zero(), c); | ||
3416 | else if (c == plus()) | ||
3417 | c = '+'; | ||
3418 | else if (c == minus()) | ||
3419 | c = '-'; | ||
3420 | else if (c == decimal()) | ||
3421 | c = '.'; | ||
3422 | else if (c == group()) | ||
3423 | c = ','; | ||
3424 | else if (c == exponential() || c == exponential().upper()) | ||
3425 | c = 'e'; | ||
3426 | else if (c.unicode() == 'x' || c.unicode() == 'X') // hex number | ||
3427 | c = 'x'; | ||
3428 | else if (c == list()) | ||
3429 | c = ';'; | ||
3430 | else if (c == percent()) | ||
3431 | c = '%'; | ||
3432 | else if (c.unicode() >= 'A' && c.unicode() <= 'F') | ||
3433 | c = c.upper(); | ||
3434 | else if (c.unicode() >= 'a' && c.unicode() <= 'f') | ||
3435 | ; // do nothing | ||
3436 | else | ||
3437 | return false; | ||
3438 | |||
3439 | ++idx; | ||
3440 | } | ||
3441 | |||
3442 | return true; | ||
3443 | } | ||
3444 | |||
3445 | double QLocalePrivate::stringToDouble(QString num, | ||
3446 | bool *ok, | ||
3447 | GroupSeparatorMode group_sep_mode) const | ||
3448 | { | ||
3449 | if (!numberToCLocale(num, group_sep_mode)) { | ||
3450 | if (ok != 0) | ||
3451 | *ok = false; | ||
3452 | return 0.0; | ||
3453 | } | ||
3454 | |||
3455 | if (ok != 0) | ||
3456 | *ok = true; | ||
3457 | |||
3458 | if (num == "nan") | ||
3459 | return NAN; | ||
3460 | |||
3461 | if (num == "+inf" | ||
3462 | || num == "inf") | ||
3463 | return INFINITY; | ||
3464 | |||
3465 | if (num == "-inf") | ||
3466 | return -INFINITY; | ||
3467 | |||
3468 | bool _ok; | ||
3469 | const char *num_buff = num.latin1(); | ||
3470 | |||
3471 | #ifdef QT_QLOCALE_USES_FCVT | ||
3472 | char *endptr; | ||
3473 | double d = strtod(num_buff, &endptr); | ||
3474 | _ok = true; | ||
3475 | #else | ||
3476 | const char *endptr; | ||
3477 | double d = qstrtod(num_buff, &endptr, &_ok); | ||
3478 | #endif | ||
3479 | |||
3480 | if (!_ok || *endptr != '\0') { | ||
3481 | if (ok != 0) | ||
3482 | *ok = false; | ||
3483 | return 0.0; | ||
3484 | } | ||
3485 | else | ||
3486 | return d; | ||
3487 | } | ||
3488 | |||
3489 | Q_LLONG QLocalePrivate::stringToLongLong(QString num, int base, | ||
3490 | bool *ok, | ||
3491 | GroupSeparatorMode group_sep_mode) const | ||
3492 | { | ||
3493 | if (!numberToCLocale(num, group_sep_mode)) { | ||
3494 | if (ok != 0) | ||
3495 | *ok = false; | ||
3496 | return 0; | ||
3497 | } | ||
3498 | |||
3499 | bool _ok; | ||
3500 | const char *endptr; | ||
3501 | const char *num_buff = num.latin1(); | ||
3502 | Q_LLONG l = qstrtoll(num_buff, &endptr, base, &_ok); | ||
3503 | |||
3504 | if (!_ok || *endptr != '\0') { | ||
3505 | if (ok != 0) | ||
3506 | *ok = false; | ||
3507 | return 0; | ||
3508 | } | ||
3509 | |||
3510 | if (ok != 0) | ||
3511 | *ok = true; | ||
3512 | return l; | ||
3513 | } | ||
3514 | |||
3515 | Q_ULLONG QLocalePrivate::stringToUnsLongLong(QString num, int base, | ||
3516 | bool *ok, | ||
3517 | GroupSeparatorMode group_sep_mode) const | ||
3518 | { | ||
3519 | if (!numberToCLocale(num, group_sep_mode)) { | ||
3520 | if (ok != 0) | ||
3521 | *ok = false; | ||
3522 | return 0; | ||
3523 | } | ||
3524 | |||
3525 | bool _ok; | ||
3526 | const char *endptr; | ||
3527 | const char *num_buff = num.latin1(); | ||
3528 | Q_ULLONG l = qstrtoull(num_buff, &endptr, base, &_ok); | ||
3529 | |||
3530 | if (!_ok || *endptr != '\0') { | ||
3531 | if (ok != 0) | ||
3532 | *ok = false; | ||
3533 | return 0; | ||
3534 | } | ||
3535 | |||
3536 | if (ok != 0) | ||
3537 | *ok = true; | ||
3538 | return l; | ||
3539 | } | ||
3540 | |||
3541 | /*- | ||
3542 | * Copyright (c) 1992, 1993 | ||
3543 | *The Regents of the University of California. All rights reserved. | ||
3544 | * | ||
3545 | * Redistribution and use in source and binary forms, with or without | ||
3546 | * modification, are permitted provided that the following conditions | ||
3547 | * are met: | ||
3548 | * 1. Redistributions of source code must retain the above copyright | ||
3549 | * notice, this list of conditions and the following disclaimer. | ||
3550 | * 2. Redistributions in binary form must reproduce the above copyright | ||
3551 | * notice, this list of conditions and the following disclaimer in the | ||
3552 | * documentation and/or other materials provided with the distribution. | ||
3553 | * 3. All advertising materials mentioning features or use of this software | ||
3554 | * must display the following acknowledgement: | ||
3555 | *This product includes software developed by the University of | ||
3556 | *California, Berkeley and its contributors. | ||
3557 | * 4. Neither the name of the University nor the names of its contributors | ||
3558 | * may be used to endorse or promote products derived from this software | ||
3559 | * without specific prior written permission. | ||
3560 | * | ||
3561 | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | ||
3562 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
3563 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
3564 | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | ||
3565 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
3566 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
3567 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
3568 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
3569 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
3570 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
3571 | * SUCH DAMAGE. | ||
3572 | */ | ||
3573 | |||
3574 | // static char sccsid[] = "@(#)strtouq.c8.1 (Berkeley) 6/4/93"; | ||
3575 | // "$FreeBSD: src/lib/libc/stdlib/strtoull.c,v 1.5.2.1 2001/03/02 09:45:20 obrien Exp $"; | ||
3576 | |||
3577 | /* | ||
3578 | * Convert a string to an Q_ULLONG integer. | ||
3579 | * | ||
3580 | * Ignores `locale' stuff. Assumes that the upper and lower case | ||
3581 | * alphabets and digits are each contiguous. | ||
3582 | */ | ||
3583 | static Q_ULLONG qstrtoull(const char *nptr, const char **endptr, register int base, bool *ok) | ||
3584 | { | ||
3585 | register const char *s = nptr; | ||
3586 | register Q_ULLONG acc; | ||
3587 | register unsigned char c; | ||
3588 | register Q_ULLONG qbase, cutoff; | ||
3589 | register int neg, any, cutlim; | ||
3590 | |||
3591 | if (ok != 0) | ||
3592 | *ok = true; | ||
3593 | |||
3594 | /* | ||
3595 | * See strtoq for comments as to the logic used. | ||
3596 | */ | ||
3597 | s = nptr; | ||
3598 | do { | ||
3599 | c = *s++; | ||
3600 | } while (isspace(c)); | ||
3601 | if (c == '-') { | ||
3602 | if (ok != 0) | ||
3603 | *ok = false; | ||
3604 | if (endptr != 0) | ||
3605 | *endptr = s - 1; | ||
3606 | return 0; | ||
3607 | } else { | ||
3608 | neg = 0; | ||
3609 | if (c == '+') | ||
3610 | c = *s++; | ||
3611 | } | ||
3612 | if ((base == 0 || base == 16) && | ||
3613 | c == '0' && (*s == 'x' || *s == 'X')) { | ||
3614 | c = s[1]; | ||
3615 | s += 2; | ||
3616 | base = 16; | ||
3617 | } | ||
3618 | if (base == 0) | ||
3619 | base = c == '0' ? 8 : 10; | ||
3620 | qbase = (unsigned)base; | ||
3621 | cutoff = (Q_ULLONG)ULLONG_MAX / qbase; | ||
3622 | cutlim = (Q_ULLONG)ULLONG_MAX % qbase; | ||
3623 | for (acc = 0, any = 0;; c = *s++) { | ||
3624 | if (!isascii(c)) | ||
3625 | break; | ||
3626 | if (isdigit(c)) | ||
3627 | c -= '0'; | ||
3628 | else if (isalpha(c)) | ||
3629 | c -= isupper(c) ? 'A' - 10 : 'a' - 10; | ||
3630 | else | ||
3631 | break; | ||
3632 | if (c >= base) | ||
3633 | break; | ||
3634 | if (any < 0 || acc > cutoff || (acc == cutoff && c > cutlim)) | ||
3635 | any = -1; | ||
3636 | else { | ||
3637 | any = 1; | ||
3638 | acc *= qbase; | ||
3639 | acc += c; | ||
3640 | } | ||
3641 | } | ||
3642 | if (any < 0) { | ||
3643 | acc = ULLONG_MAX; | ||
3644 | if (ok != 0) | ||
3645 | *ok = false; | ||
3646 | } | ||
3647 | else if (neg) | ||
3648 | acc = (~acc) + 1; | ||
3649 | if (endptr != 0) | ||
3650 | *endptr = (char *)(any ? s - 1 : nptr); | ||
3651 | return (acc); | ||
3652 | } | ||
3653 | |||
3654 | |||
3655 | // "$FreeBSD: src/lib/libc/stdlib/strtoll.c,v 1.5.2.1 2001/03/02 09:45:20 obrien Exp $"; | ||
3656 | |||
3657 | |||
3658 | /* | ||
3659 | * Convert a string to a Q_LLONG integer. | ||
3660 | * | ||
3661 | * Ignores `locale' stuff. Assumes that the upper and lower case | ||
3662 | * alphabets and digits are each contiguous. | ||
3663 | */ | ||
3664 | static Q_LLONG qstrtoll(const char *nptr, const char **endptr, register int base, bool *ok) | ||
3665 | { | ||
3666 | register const char *s; | ||
3667 | register Q_ULLONG acc; | ||
3668 | register unsigned char c; | ||
3669 | register Q_ULLONG qbase, cutoff; | ||
3670 | register int neg, any, cutlim; | ||
3671 | |||
3672 | if (ok != 0) | ||
3673 | *ok = true; | ||
3674 | |||
3675 | /* | ||
3676 | * Skip white space and pick up leading +/- sign if any. | ||
3677 | * If base is 0, allow 0x for hex and 0 for octal, else | ||
3678 | * assume decimal; if base is already 16, allow 0x. | ||
3679 | */ | ||
3680 | s = nptr; | ||
3681 | do { | ||
3682 | c = *s++; | ||
3683 | } while (isspace(c)); | ||
3684 | if (c == '-') { | ||
3685 | neg = 1; | ||
3686 | c = *s++; | ||
3687 | } else { | ||
3688 | neg = 0; | ||
3689 | if (c == '+') | ||
3690 | c = *s++; | ||
3691 | } | ||
3692 | if ((base == 0 || base == 16) && | ||
3693 | c == '0' && (*s == 'x' || *s == 'X')) { | ||
3694 | c = s[1]; | ||
3695 | s += 2; | ||
3696 | base = 16; | ||
3697 | } | ||
3698 | if (base == 0) | ||
3699 | base = c == '0' ? 8 : 10; | ||
3700 | |||
3701 | /* | ||
3702 | * Compute the cutoff value between legal numbers and illegal | ||
3703 | * numbers. That is the largest legal value, divided by the | ||
3704 | * base. An input number that is greater than this value, if | ||
3705 | * followed by a legal input character, is too big. One that | ||
3706 | * is equal to this value may be valid or not; the limit | ||
3707 | * between valid and invalid numbers is then based on the last | ||
3708 | * digit. For instance, if the range for quads is | ||
3709 | * [-9223372036854775808..9223372036854775807] and the input base | ||
3710 | * is 10, cutoff will be set to 922337203685477580 and cutlim to | ||
3711 | * either 7 (neg==0) or 8 (neg==1), meaning that if we have | ||
3712 | * accumulated a value > 922337203685477580, or equal but the | ||
3713 | * next digit is > 7 (or 8), the number is too big, and we will | ||
3714 | * return a range error. | ||
3715 | * | ||
3716 | * Set any if any `digits' consumed; make it negative to indicate | ||
3717 | * overflow. | ||
3718 | */ | ||
3719 | qbase = (unsigned)base; | ||
3720 | cutoff = neg ? (Q_ULLONG)-(LLONG_MIN + LLONG_MAX) + LLONG_MAX | ||
3721 | : LLONG_MAX; | ||
3722 | cutlim = cutoff % qbase; | ||
3723 | cutoff /= qbase; | ||
3724 | for (acc = 0, any = 0;; c = *s++) { | ||
3725 | if (!isascii(c)) | ||
3726 | break; | ||
3727 | if (isdigit(c)) | ||
3728 | c -= '0'; | ||
3729 | else if (isalpha(c)) | ||
3730 | c -= isupper(c) ? 'A' - 10 : 'a' - 10; | ||
3731 | else | ||
3732 | break; | ||
3733 | if (c >= base) | ||
3734 | break; | ||
3735 | if (any < 0 || acc > cutoff || (acc == cutoff && c > cutlim)) | ||
3736 | any = -1; | ||
3737 | else { | ||
3738 | any = 1; | ||
3739 | acc *= qbase; | ||
3740 | acc += c; | ||
3741 | } | ||
3742 | } | ||
3743 | if (any < 0) { | ||
3744 | acc = neg ? LLONG_MIN : LLONG_MAX; | ||
3745 | if (ok != 0) | ||
3746 | *ok = false; | ||
3747 | } else if (neg) { | ||
3748 | acc = (~acc) + 1; | ||
3749 | } | ||
3750 | if (endptr != 0) | ||
3751 | *endptr = (char *)(any ? s - 1 : nptr); | ||
3752 | return (acc); | ||
3753 | } | ||
3754 | |||
3755 | #ifndef QT_QLOCALE_USES_FCVT | ||
3756 | |||
3757 | /*From: NetBSD: strtod.c,v 1.26 1998/02/03 18:44:21 perry Exp */ | ||
3758 | /* $FreeBSD: src/lib/libc/stdlib/netbsd_strtod.c,v 1.2.2.2 2001/03/02 17:14:15 tegge Exp $*/ | ||
3759 | |||
3760 | /* Please send bug reports to | ||
3761 | David M. Gay | ||
3762 | AT&T Bell Laboratories, Room 2C-463 | ||
3763 | 600 Mountain Avenue | ||
3764 | Murray Hill, NJ 07974-2070 | ||
3765 | U.S.A. | ||
3766 | dmg@research.att.com or research!dmg | ||
3767 | */ | ||
3768 | |||
3769 | /* strtod for IEEE-, VAX-, and IBM-arithmetic machines. | ||
3770 | * | ||
3771 | * This strtod returns a nearest machine number to the input decimal | ||
3772 | * string (or sets errno to ERANGE). With IEEE arithmetic, ties are | ||
3773 | * broken by the IEEE round-even rule. Otherwise ties are broken by | ||
3774 | * biased rounding (add half and chop). | ||
3775 | * | ||
3776 | * Inspired loosely by William D. Clinger's paper "How to Read Floating | ||
3777 | * Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101]. | ||
3778 | * | ||
3779 | * Modifications: | ||
3780 | * | ||
3781 | *1. We only require IEEE, IBM, or VAX double-precision | ||
3782 | * arithmetic (not IEEE double-extended). | ||
3783 | *2. We get by with floating-point arithmetic in a case that | ||
3784 | * Clinger missed -- when we're computing d * 10^n | ||
3785 | * for a small integer d and the integer n is not too | ||
3786 | * much larger than 22 (the maximum integer k for which | ||
3787 | * we can represent 10^k exactly), we may be able to | ||
3788 | * compute (d*10^k) * 10^(e-k) with just one roundoff. | ||
3789 | *3. Rather than a bit-at-a-time adjustment of the binary | ||
3790 | * result in the hard case, we use floating-point | ||
3791 | * arithmetic to determine the adjustment to within | ||
3792 | * one bit; only in really hard cases do we need to | ||
3793 | * compute a second residual. | ||
3794 | *4. Because of 3., we don't need a large table of powers of 10 | ||
3795 | * for ten-to-e (just some small tables, e.g. of 10^k | ||
3796 | * for 0 <= k <= 22). | ||
3797 | */ | ||
3798 | |||
3799 | /* | ||
3800 | * #define IEEE_LITTLE_ENDIAN for IEEE-arithmetic machines where the least | ||
3801 | *significant byte has the lowest address. | ||
3802 | * #define IEEE_BIG_ENDIAN for IEEE-arithmetic machines where the most | ||
3803 | *significant byte has the lowest address. | ||
3804 | * #define Long int on machines with 32-bit ints and 64-bit longs. | ||
3805 | * #define Sudden_Underflow for IEEE-format machines without gradual | ||
3806 | *underflow (i.e., that flush to zero on underflow). | ||
3807 | * #define IBM for IBM mainframe-style floating-point arithmetic. | ||
3808 | * #define VAX for VAX-style floating-point arithmetic. | ||
3809 | * #define Unsigned_Shifts if >> does treats its left operand as unsigned. | ||
3810 | * #define No_leftright to omit left-right logic in fast floating-point | ||
3811 | *computation of dtoa. | ||
3812 | * #define Check_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3. | ||
3813 | * #define RND_PRODQUOT to use rnd_prod and rnd_quot (assembly routines | ||
3814 | *that use extended-precision instructions to compute rounded | ||
3815 | *products and quotients) with IBM. | ||
3816 | * #define ROUND_BIASED for IEEE-format with biased rounding. | ||
3817 | * #define Inaccurate_Divide for IEEE-format with correctly rounded | ||
3818 | *products but inaccurate quotients, e.g., for Intel i860. | ||
3819 | * #define Just_16 to store 16 bits per 32-bit Long when doing high-precision | ||
3820 | *integer arithmetic. Whether this speeds things up or slows things | ||
3821 | *down depends on the machine and the number being converted. | ||
3822 | * #define KR_headers for old-style C function headers. | ||
3823 | * #define Bad_float_h if your system lacks a float.h or if it does not | ||
3824 | *define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP, | ||
3825 | *FLT_RADIX, FLT_ROUNDS, and DBL_MAX. | ||
3826 | * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n) | ||
3827 | *if memory is available and otherwise does something you deem | ||
3828 | *appropriate. If MALLOC is undefined, malloc will be invoked | ||
3829 | *directly -- and assumed always to succeed. | ||
3830 | */ | ||
3831 | |||
3832 | #if defined(LIBC_SCCS) && !defined(lint) | ||
3833 | __RCSID("$NetBSD: strtod.c,v 1.26 1998/02/03 18:44:21 perry Exp $"); | ||
3834 | #endif /* LIBC_SCCS and not lint */ | ||
3835 | |||
3836 | /* | ||
3837 | #if defined(__m68k__) || defined(__sparc__) || defined(__i386__) || \ | ||
3838 | defined(__mips__) || defined(__ns32k__) || defined(__alpha__) || \ | ||
3839 | defined(__powerpc__) || defined(Q_OS_WIN) || defined(Q_OS_DARWIN) || defined(Q_OS_MACX) || \ | ||
3840 | defined(mips) || defined(Q_OS_AIX) || defined(Q_OS_SOLARIS) | ||
3841 | # define IEEE_BIG_OR_LITTLE_ENDIAN 1 | ||
3842 | #endif | ||
3843 | */ | ||
3844 | |||
3845 | // *All* of our architectures have IEEE arithmetic, don't they? | ||
3846 | #define IEEE_BIG_OR_LITTLE_ENDIAN 1 | ||
3847 | |||
3848 | #ifdef __arm32__ | ||
3849 | /* | ||
3850 | * Although the CPU is little endian the FP has different | ||
3851 | * byte and word endianness. The byte order is still little endian | ||
3852 | * but the word order is big endian. | ||
3853 | */ | ||
3854 | #define IEEE_BIG_OR_LITTLE_ENDIAN | ||
3855 | #endif | ||
3856 | |||
3857 | #ifdef vax | ||
3858 | #define VAX | ||
3859 | #endif | ||
3860 | |||
3861 | #define LongQ_INT32 | ||
3862 | #define ULongQ_UINT32 | ||
3863 | |||
3864 | #define MALLOC malloc | ||
3865 | #define CONST const | ||
3866 | |||
3867 | #ifdef BSD_QDTOA_DEBUG | ||
3868 | #include <stdio.h> | ||
3869 | #define Bug(x) {fprintf(stderr, "%s\n", x); exit(1);} | ||
3870 | #endif | ||
3871 | |||
3872 | #ifdef Unsigned_Shifts | ||
3873 | #define Sign_Extend(a,b) if (b < 0) a |= 0xffff0000; | ||
3874 | #else | ||
3875 | #define Sign_Extend(a,b) /*no-op*/ | ||
3876 | #endif | ||
3877 | |||
3878 | #if (defined(IEEE_BIG_OR_LITTLE_ENDIAN) + defined(VAX) + defined(IBM)) != 1 | ||
3879 | #error Exactly one of IEEE_BIG_OR_LITTLE_ENDIAN, VAX, or IBM should be defined. | ||
3880 | #endif | ||
3881 | |||
3882 | |||
3883 | #define word0(x) ((volatile ULong *)&x)[ByteOrder == BigEndian ? 0 : 1] | ||
3884 | #define word1(x) ((volatile ULong *)&x)[ByteOrder == BigEndian ? 1 : 0] | ||
3885 | |||
3886 | |||
3887 | /* The following definition of Storeinc is appropriate for MIPS processors. | ||
3888 | * An alternative that might be better on some machines is | ||
3889 | * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff) | ||
3890 | */ | ||
3891 | |||
3892 | /* | ||
3893 | #if defined(IEEE_LITTLE_ENDIAN) + defined(VAX) + defined(__arm32__) | ||
3894 | #define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \ | ||
3895 | ((unsigned short *)a)[0] = (unsigned short)c, a++) | ||
3896 | #else | ||
3897 | #define Storeinc(a,b,c) (((unsigned short *)a)[0] = (unsigned short)b, \ | ||
3898 | ((unsigned short *)a)[1] = (unsigned short)c, a++) | ||
3899 | #endif | ||
3900 | */ | ||
3901 | |||
3902 | static inline void Storeinc(ULong *&a, const ULong &b, const ULong &c) | ||
3903 | { | ||
3904 | |||
3905 | # if defined(VAX) + defined(__arm32__) | ||
3906 | # define USE_LITTLE_ENDIAN 1 | ||
3907 | # else | ||
3908 | # define USE_LITTLE_ENDIAN 0 | ||
3909 | # endif | ||
3910 | |||
3911 | # if defined(IEEE_BIG_OR_LITTLE_ENDIAN) | ||
3912 | # define USE_IEEE 1 | ||
3913 | # else | ||
3914 | # define USE_IEEE 0 | ||
3915 | # endif | ||
3916 | |||
3917 | if (ByteOrder == LittleEndian && USE_IEEE || USE_LITTLE_ENDIAN) { | ||
3918 | ((unsigned short *)a)[1] = (unsigned short)b; | ||
3919 | ((unsigned short *)a)[0] = (unsigned short)c; | ||
3920 | } else { | ||
3921 | ((unsigned short *)a)[0] = (unsigned short)b; | ||
3922 | ((unsigned short *)a)[1] = (unsigned short)c; | ||
3923 | } | ||
3924 | |||
3925 | ++a; | ||
3926 | |||
3927 | # undef USE_LITTLE_ENDIAN | ||
3928 | # undef USE_IEEE | ||
3929 | } | ||
3930 | |||
3931 | /* #define P DBL_MANT_DIG */ | ||
3932 | /* Ten_pmax = floor(P*log(2)/log(5)) */ | ||
3933 | /* Bletch = (highest power of 2 < DBL_MAX_10_EXP) / 16 */ | ||
3934 | /* Quick_max = floor((P-1)*log(FLT_RADIX)/log(10) - 1) */ | ||
3935 | /* Int_max = floor(P*log(FLT_RADIX)/log(10) - 1) */ | ||
3936 | |||
3937 | #if defined(IEEE_BIG_OR_LITTLE_ENDIAN) | ||
3938 | #define Exp_shift 20 | ||
3939 | #define Exp_shift1 20 | ||
3940 | #define Exp_msk1 0x100000 | ||
3941 | #define Exp_msk11 0x100000 | ||
3942 | #define Exp_mask 0x7ff00000 | ||
3943 | #define P 53 | ||
3944 | #define Bias 1023 | ||
3945 | #define IEEE_Arith | ||
3946 | #define Emin (-1022) | ||
3947 | #define Exp_1 0x3ff00000 | ||
3948 | #define Exp_11 0x3ff00000 | ||
3949 | #define Ebits 11 | ||
3950 | #define Frac_mask 0xfffff | ||
3951 | #define Frac_mask1 0xfffff | ||
3952 | #define Ten_pmax 22 | ||
3953 | #define Bletch 0x10 | ||
3954 | #define Bndry_mask 0xfffff | ||
3955 | #define Bndry_mask1 0xfffff | ||
3956 | #define LSB 1 | ||
3957 | #define Sign_bit 0x80000000 | ||
3958 | #define Log2P 1 | ||
3959 | #define Tiny0 0 | ||
3960 | #define Tiny1 1 | ||
3961 | #define Quick_max 14 | ||
3962 | #define Int_max 14 | ||
3963 | #define Infinite(x) (word0(x) == 0x7ff00000) /* sufficient test for here */ | ||
3964 | #else | ||
3965 | #undef Sudden_Underflow | ||
3966 | #define Sudden_Underflow | ||
3967 | #ifdef IBM | ||
3968 | #define Exp_shift 24 | ||
3969 | #define Exp_shift1 24 | ||
3970 | #define Exp_msk1 0x1000000 | ||
3971 | #define Exp_msk11 0x1000000 | ||
3972 | #define Exp_mask 0x7f000000 | ||
3973 | #define P 14 | ||
3974 | #define Bias 65 | ||
3975 | #define Exp_1 0x41000000 | ||
3976 | #define Exp_11 0x41000000 | ||
3977 | #define Ebits 8/* exponent has 7 bits, but 8 is the right value in b2d */ | ||
3978 | #define Frac_mask 0xffffff | ||
3979 | #define Frac_mask1 0xffffff | ||
3980 | #define Bletch 4 | ||
3981 | #define Ten_pmax 22 | ||
3982 | #define Bndry_mask 0xefffff | ||
3983 | #define Bndry_mask1 0xffffff | ||
3984 | #define LSB 1 | ||
3985 | #define Sign_bit 0x80000000 | ||
3986 | #define Log2P 4 | ||
3987 | #define Tiny0 0x100000 | ||
3988 | #define Tiny1 0 | ||
3989 | #define Quick_max 14 | ||
3990 | #define Int_max 15 | ||
3991 | #else /* VAX */ | ||
3992 | #define Exp_shift 23 | ||
3993 | #define Exp_shift1 7 | ||
3994 | #define Exp_msk1 0x80 | ||
3995 | #define Exp_msk11 0x800000 | ||
3996 | #define Exp_mask 0x7f80 | ||
3997 | #define P 56 | ||
3998 | #define Bias 129 | ||
3999 | #define Exp_1 0x40800000 | ||
4000 | #define Exp_11 0x4080 | ||
4001 | #define Ebits 8 | ||
4002 | #define Frac_mask 0x7fffff | ||
4003 | #define Frac_mask1 0xffff007f | ||
4004 | #define Ten_pmax 24 | ||
4005 | #define Bletch 2 | ||
4006 | #define Bndry_mask 0xffff007f | ||
4007 | #define Bndry_mask1 0xffff007f | ||
4008 | #define LSB 0x10000 | ||
4009 | #define Sign_bit 0x8000 | ||
4010 | #define Log2P 1 | ||
4011 | #define Tiny0 0x80 | ||
4012 | #define Tiny1 0 | ||
4013 | #define Quick_max 15 | ||
4014 | #define Int_max 15 | ||
4015 | #endif | ||
4016 | #endif | ||
4017 | |||
4018 | #ifndef IEEE_Arith | ||
4019 | #define ROUND_BIASED | ||
4020 | #endif | ||
4021 | |||
4022 | #ifdef RND_PRODQUOT | ||
4023 | #define rounded_product(a,b) a = rnd_prod(a, b) | ||
4024 | #define rounded_quotient(a,b) a = rnd_quot(a, b) | ||
4025 | #ifdef KR_headers | ||
4026 | extern double rnd_prod(), rnd_quot(); | ||
4027 | #else | ||
4028 | extern double rnd_prod(double, double), rnd_quot(double, double); | ||
4029 | #endif | ||
4030 | #else | ||
4031 | #define rounded_product(a,b) a *= b | ||
4032 | #define rounded_quotient(a,b) a /= b | ||
4033 | #endif | ||
4034 | |||
4035 | #define Big0 (Frac_mask1 | Exp_msk1*(DBL_MAX_EXP+Bias-1)) | ||
4036 | #define Big1 0xffffffff | ||
4037 | |||
4038 | #ifndef Just_16 | ||
4039 | /* When Pack_32 is not defined, we store 16 bits per 32-bit Long. | ||
4040 | * This makes some inner loops simpler and sometimes saves work | ||
4041 | * during multiplications, but it often seems to make things slightly | ||
4042 | * slower. Hence the default is now to store 32 bits per Long. | ||
4043 | */ | ||
4044 | #ifndef Pack_32 | ||
4045 | #define Pack_32 | ||
4046 | #endif | ||
4047 | #endif | ||
4048 | |||
4049 | #define Kmax 15 | ||
4050 | |||
4051 | struct | ||
4052 | Bigint { | ||
4053 | struct Bigint *next; | ||
4054 | int k, maxwds, sign, wds; | ||
4055 | ULong x[1]; | ||
4056 | }; | ||
4057 | |||
4058 | typedef struct Bigint Bigint; | ||
4059 | |||
4060 | static Bigint *Balloc(int k) | ||
4061 | { | ||
4062 | int x; | ||
4063 | Bigint *rv; | ||
4064 | |||
4065 | x = 1 << k; | ||
4066 | rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(Long)); | ||
4067 | rv->k = k; | ||
4068 | rv->maxwds = x; | ||
4069 | rv->sign = rv->wds = 0; | ||
4070 | return rv; | ||
4071 | } | ||
4072 | |||
4073 | static void Bfree(Bigint *v) | ||
4074 | { | ||
4075 | free(v); | ||
4076 | } | ||
4077 | |||
4078 | #define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \ | ||
4079 | y->wds*sizeof(Long) + 2*sizeof(int)) | ||
4080 | |||
4081 | /* multiply by m and add a */ | ||
4082 | static Bigint *multadd(Bigint *b, int m, int a) | ||
4083 | { | ||
4084 | int i, wds; | ||
4085 | ULong *x, y; | ||
4086 | #ifdef Pack_32 | ||
4087 | ULong xi, z; | ||
4088 | #endif | ||
4089 | Bigint *b1; | ||
4090 | |||
4091 | wds = b->wds; | ||
4092 | x = b->x; | ||
4093 | i = 0; | ||
4094 | do { | ||
4095 | #ifdef Pack_32 | ||
4096 | xi = *x; | ||
4097 | y = (xi & 0xffff) * m + a; | ||
4098 | z = (xi >> 16) * m + (y >> 16); | ||
4099 | a = (int)(z >> 16); | ||
4100 | *x++ = (z << 16) + (y & 0xffff); | ||
4101 | #else | ||
4102 | y = *x * m + a; | ||
4103 | a = (int)(y >> 16); | ||
4104 | *x++ = y & 0xffff; | ||
4105 | #endif | ||
4106 | } | ||
4107 | while(++i < wds); | ||
4108 | if (a) { | ||
4109 | if (wds >= b->maxwds) { | ||
4110 | b1 = Balloc(b->k+1); | ||
4111 | Bcopy(b1, b); | ||
4112 | Bfree(b); | ||
4113 | b = b1; | ||
4114 | } | ||
4115 | b->x[wds++] = a; | ||
4116 | b->wds = wds; | ||
4117 | } | ||
4118 | return b; | ||
4119 | } | ||
4120 | |||
4121 | static Bigint *s2b(CONST char *s, int nd0, int nd, ULong y9) | ||
4122 | { | ||
4123 | Bigint *b; | ||
4124 | int i, k; | ||
4125 | Long x, y; | ||
4126 | |||
4127 | x = (nd + 8) / 9; | ||
4128 | for(k = 0, y = 1; x > y; y <<= 1, k++) ; | ||
4129 | #ifdef Pack_32 | ||
4130 | b = Balloc(k); | ||
4131 | b->x[0] = y9; | ||
4132 | b->wds = 1; | ||
4133 | #else | ||
4134 | b = Balloc(k+1); | ||
4135 | b->x[0] = y9 & 0xffff; | ||
4136 | b->wds = (b->x[1] = y9 >> 16) ? 2 : 1; | ||
4137 | #endif | ||
4138 | |||
4139 | i = 9; | ||
4140 | if (9 < nd0) { | ||
4141 | s += 9; | ||
4142 | do b = multadd(b, 10, *s++ - '0'); | ||
4143 | while(++i < nd0); | ||
4144 | s++; | ||
4145 | } | ||
4146 | else | ||
4147 | s += 10; | ||
4148 | for(; i < nd; i++) | ||
4149 | b = multadd(b, 10, *s++ - '0'); | ||
4150 | return b; | ||
4151 | } | ||
4152 | |||
4153 | static int hi0bits(ULong x) | ||
4154 | { | ||
4155 | int k = 0; | ||
4156 | |||
4157 | if (!(x & 0xffff0000)) { | ||
4158 | k = 16; | ||
4159 | x <<= 16; | ||
4160 | } | ||
4161 | if (!(x & 0xff000000)) { | ||
4162 | k += 8; | ||
4163 | x <<= 8; | ||
4164 | } | ||
4165 | if (!(x & 0xf0000000)) { | ||
4166 | k += 4; | ||
4167 | x <<= 4; | ||
4168 | } | ||
4169 | if (!(x & 0xc0000000)) { | ||
4170 | k += 2; | ||
4171 | x <<= 2; | ||
4172 | } | ||
4173 | if (!(x & 0x80000000)) { | ||
4174 | k++; | ||
4175 | if (!(x & 0x40000000)) | ||
4176 | return 32; | ||
4177 | } | ||
4178 | return k; | ||
4179 | } | ||
4180 | |||
4181 | static int lo0bits(ULong *y) | ||
4182 | { | ||
4183 | int k; | ||
4184 | ULong x = *y; | ||
4185 | |||
4186 | if (x & 7) { | ||
4187 | if (x & 1) | ||
4188 | return 0; | ||
4189 | if (x & 2) { | ||
4190 | *y = x >> 1; | ||
4191 | return 1; | ||
4192 | } | ||
4193 | *y = x >> 2; | ||
4194 | return 2; | ||
4195 | } | ||
4196 | k = 0; | ||
4197 | if (!(x & 0xffff)) { | ||
4198 | k = 16; | ||
4199 | x >>= 16; | ||
4200 | } | ||
4201 | if (!(x & 0xff)) { | ||
4202 | k += 8; | ||
4203 | x >>= 8; | ||
4204 | } | ||
4205 | if (!(x & 0xf)) { | ||
4206 | k += 4; | ||
4207 | x >>= 4; | ||
4208 | } | ||
4209 | if (!(x & 0x3)) { | ||
4210 | k += 2; | ||
4211 | x >>= 2; | ||
4212 | } | ||
4213 | if (!(x & 1)) { | ||
4214 | k++; | ||
4215 | x >>= 1; | ||
4216 | if (!x & 1) | ||
4217 | return 32; | ||
4218 | } | ||
4219 | *y = x; | ||
4220 | return k; | ||
4221 | } | ||
4222 | |||
4223 | static Bigint *i2b(int i) | ||
4224 | { | ||
4225 | Bigint *b; | ||
4226 | |||
4227 | b = Balloc(1); | ||
4228 | b->x[0] = i; | ||
4229 | b->wds = 1; | ||
4230 | return b; | ||
4231 | } | ||
4232 | |||
4233 | static Bigint *mult(Bigint *a, Bigint *b) | ||
4234 | { | ||
4235 | Bigint *c; | ||
4236 | int k, wa, wb, wc; | ||
4237 | ULong carry, y, z; | ||
4238 | ULong *x, *xa, *xae, *xb, *xbe, *xc, *xc0; | ||
4239 | #ifdef Pack_32 | ||
4240 | ULong z2; | ||
4241 | #endif | ||
4242 | |||
4243 | if (a->wds < b->wds) { | ||
4244 | c = a; | ||
4245 | a = b; | ||
4246 | b = c; | ||
4247 | } | ||
4248 | k = a->k; | ||
4249 | wa = a->wds; | ||
4250 | wb = b->wds; | ||
4251 | wc = wa + wb; | ||
4252 | if (wc > a->maxwds) | ||
4253 | k++; | ||
4254 | c = Balloc(k); | ||
4255 | for(x = c->x, xa = x + wc; x < xa; x++) | ||
4256 | *x = 0; | ||
4257 | xa = a->x; | ||
4258 | xae = xa + wa; | ||
4259 | xb = b->x; | ||
4260 | xbe = xb + wb; | ||
4261 | xc0 = c->x; | ||
4262 | #ifdef Pack_32 | ||
4263 | for(; xb < xbe; xb++, xc0++) { | ||
4264 | if ((y = *xb & 0xffff) != 0) { | ||
4265 | x = xa; | ||
4266 | xc = xc0; | ||
4267 | carry = 0; | ||
4268 | do { | ||
4269 | z = (*x & 0xffff) * y + (*xc & 0xffff) + carry; | ||
4270 | carry = z >> 16; | ||
4271 | z2 = (*x++ >> 16) * y + (*xc >> 16) + carry; | ||
4272 | carry = z2 >> 16; | ||
4273 | Storeinc(xc, z2, z); | ||
4274 | } | ||
4275 | while(x < xae); | ||
4276 | *xc = carry; | ||
4277 | } | ||
4278 | if ((y = *xb >> 16) != 0) { | ||
4279 | x = xa; | ||
4280 | xc = xc0; | ||
4281 | carry = 0; | ||
4282 | z2 = *xc; | ||
4283 | do { | ||
4284 | z = (*x & 0xffff) * y + (*xc >> 16) + carry; | ||
4285 | carry = z >> 16; | ||
4286 | Storeinc(xc, z, z2); | ||
4287 | z2 = (*x++ >> 16) * y + (*xc & 0xffff) + carry; | ||
4288 | carry = z2 >> 16; | ||
4289 | } | ||
4290 | while(x < xae); | ||
4291 | *xc = z2; | ||
4292 | } | ||
4293 | } | ||
4294 | #else | ||
4295 | for(; xb < xbe; xc0++) { | ||
4296 | if (y = *xb++) { | ||
4297 | x = xa; | ||
4298 | xc = xc0; | ||
4299 | carry = 0; | ||
4300 | do { | ||
4301 | z = *x++ * y + *xc + carry; | ||
4302 | carry = z >> 16; | ||
4303 | *xc++ = z & 0xffff; | ||
4304 | } | ||
4305 | while(x < xae); | ||
4306 | *xc = carry; | ||
4307 | } | ||
4308 | } | ||
4309 | #endif | ||
4310 | for(xc0 = c->x, xc = xc0 + wc; wc > 0 && !*--xc; --wc) ; | ||
4311 | c->wds = wc; | ||
4312 | return c; | ||
4313 | } | ||
4314 | |||
4315 | static Bigint *p5s; | ||
4316 | |||
4317 | static Bigint *pow5mult(Bigint *b, int k) | ||
4318 | { | ||
4319 | Bigint *b1, *p5, *p51; | ||
4320 | int i; | ||
4321 | static const int p05[3] = { 5, 25, 125 }; | ||
4322 | |||
4323 | if ((i = k & 3) != 0) | ||
4324 | b = multadd(b, p05[i-1], 0); | ||
4325 | |||
4326 | if (!(k >>= 2)) | ||
4327 | return b; | ||
4328 | if (!(p5 = p5s)) { | ||
4329 | /* first time */ | ||
4330 | p5 = p5s = i2b(625); | ||
4331 | p5->next = 0; | ||
4332 | } | ||
4333 | for(;;) { | ||
4334 | if (k & 1) { | ||
4335 | b1 = mult(b, p5); | ||
4336 | Bfree(b); | ||
4337 | b = b1; | ||
4338 | } | ||
4339 | if (!(k >>= 1)) | ||
4340 | break; | ||
4341 | if (!(p51 = p5->next)) { | ||
4342 | p51 = p5->next = mult(p5,p5); | ||
4343 | p51->next = 0; | ||
4344 | } | ||
4345 | p5 = p51; | ||
4346 | } | ||
4347 | return b; | ||
4348 | } | ||
4349 | |||
4350 | static Bigint *lshift(Bigint *b, int k) | ||
4351 | { | ||
4352 | int i, k1, n, n1; | ||
4353 | Bigint *b1; | ||
4354 | ULong *x, *x1, *xe, z; | ||
4355 | |||
4356 | #ifdef Pack_32 | ||
4357 | n = k >> 5; | ||
4358 | #else | ||
4359 | n = k >> 4; | ||
4360 | #endif | ||
4361 | k1 = b->k; | ||
4362 | n1 = n + b->wds + 1; | ||
4363 | for(i = b->maxwds; n1 > i; i <<= 1) | ||
4364 | k1++; | ||
4365 | b1 = Balloc(k1); | ||
4366 | x1 = b1->x; | ||
4367 | for(i = 0; i < n; i++) | ||
4368 | *x1++ = 0; | ||
4369 | x = b->x; | ||
4370 | xe = x + b->wds; | ||
4371 | #ifdef Pack_32 | ||
4372 | if (k &= 0x1f) { | ||
4373 | k1 = 32 - k; | ||
4374 | z = 0; | ||
4375 | do { | ||
4376 | *x1++ = *x << k | z; | ||
4377 | z = *x++ >> k1; | ||
4378 | } | ||
4379 | while(x < xe); | ||
4380 | if ((*x1 = z) != 0) | ||
4381 | ++n1; | ||
4382 | } | ||
4383 | #else | ||
4384 | if (k &= 0xf) { | ||
4385 | k1 = 16 - k; | ||
4386 | z = 0; | ||
4387 | do { | ||
4388 | *x1++ = *x << k & 0xffff | z; | ||
4389 | z = *x++ >> k1; | ||
4390 | } | ||
4391 | while(x < xe); | ||
4392 | if (*x1 = z) | ||
4393 | ++n1; | ||
4394 | } | ||
4395 | #endif | ||
4396 | else do | ||
4397 | *x1++ = *x++; | ||
4398 | while(x < xe); | ||
4399 | b1->wds = n1 - 1; | ||
4400 | Bfree(b); | ||
4401 | return b1; | ||
4402 | } | ||
4403 | |||
4404 | static int cmp(Bigint *a, Bigint *b) | ||
4405 | { | ||
4406 | ULong *xa, *xa0, *xb, *xb0; | ||
4407 | int i, j; | ||
4408 | |||
4409 | i = a->wds; | ||
4410 | j = b->wds; | ||
4411 | #ifdef BSD_QDTOA_DEBUG | ||
4412 | if (i > 1 && !a->x[i-1]) | ||
4413 | Bug("cmp called with a->x[a->wds-1] == 0"); | ||
4414 | if (j > 1 && !b->x[j-1]) | ||
4415 | Bug("cmp called with b->x[b->wds-1] == 0"); | ||
4416 | #endif | ||
4417 | if (i -= j) | ||
4418 | return i; | ||
4419 | xa0 = a->x; | ||
4420 | xa = xa0 + j; | ||
4421 | xb0 = b->x; | ||
4422 | xb = xb0 + j; | ||
4423 | for(;;) { | ||
4424 | if (*--xa != *--xb) | ||
4425 | return *xa < *xb ? -1 : 1; | ||
4426 | if (xa <= xa0) | ||
4427 | break; | ||
4428 | } | ||
4429 | return 0; | ||
4430 | } | ||
4431 | |||
4432 | static Bigint *diff(Bigint *a, Bigint *b) | ||
4433 | { | ||
4434 | Bigint *c; | ||
4435 | int i, wa, wb; | ||
4436 | Long borrow, y;/* We need signed shifts here. */ | ||
4437 | ULong *xa, *xae, *xb, *xbe, *xc; | ||
4438 | #ifdef Pack_32 | ||
4439 | Long z; | ||
4440 | #endif | ||
4441 | |||
4442 | i = cmp(a,b); | ||
4443 | if (!i) { | ||
4444 | c = Balloc(0); | ||
4445 | c->wds = 1; | ||
4446 | c->x[0] = 0; | ||
4447 | return c; | ||
4448 | } | ||
4449 | if (i < 0) { | ||
4450 | c = a; | ||
4451 | a = b; | ||
4452 | b = c; | ||
4453 | i = 1; | ||
4454 | } | ||
4455 | else | ||
4456 | i = 0; | ||
4457 | c = Balloc(a->k); | ||
4458 | c->sign = i; | ||
4459 | wa = a->wds; | ||
4460 | xa = a->x; | ||
4461 | xae = xa + wa; | ||
4462 | wb = b->wds; | ||
4463 | xb = b->x; | ||
4464 | xbe = xb + wb; | ||
4465 | xc = c->x; | ||
4466 | borrow = 0; | ||
4467 | #ifdef Pack_32 | ||
4468 | do { | ||
4469 | y = (*xa & 0xffff) - (*xb & 0xffff) + borrow; | ||
4470 | borrow = y >> 16; | ||
4471 | Sign_Extend(borrow, y); | ||
4472 | z = (*xa++ >> 16) - (*xb++ >> 16) + borrow; | ||
4473 | borrow = z >> 16; | ||
4474 | Sign_Extend(borrow, z); | ||
4475 | Storeinc(xc, z, y); | ||
4476 | } | ||
4477 | while(xb < xbe); | ||
4478 | while(xa < xae) { | ||
4479 | y = (*xa & 0xffff) + borrow; | ||
4480 | borrow = y >> 16; | ||
4481 | Sign_Extend(borrow, y); | ||
4482 | z = (*xa++ >> 16) + borrow; | ||
4483 | borrow = z >> 16; | ||
4484 | Sign_Extend(borrow, z); | ||
4485 | Storeinc(xc, z, y); | ||
4486 | } | ||
4487 | #else | ||
4488 | do { | ||
4489 | y = *xa++ - *xb++ + borrow; | ||
4490 | borrow = y >> 16; | ||
4491 | Sign_Extend(borrow, y); | ||
4492 | *xc++ = y & 0xffff; | ||
4493 | } | ||
4494 | while(xb < xbe); | ||
4495 | while(xa < xae) { | ||
4496 | y = *xa++ + borrow; | ||
4497 | borrow = y >> 16; | ||
4498 | Sign_Extend(borrow, y); | ||
4499 | *xc++ = y & 0xffff; | ||
4500 | } | ||
4501 | #endif | ||
4502 | while(!*--xc) | ||
4503 | wa--; | ||
4504 | c->wds = wa; | ||
4505 | return c; | ||
4506 | } | ||
4507 | |||
4508 | static double ulp(volatile double x) | ||
4509 | { | ||
4510 | Long L; | ||
4511 | double a; | ||
4512 | |||
4513 | L = (word0(x) & Exp_mask) - (P-1)*Exp_msk1; | ||
4514 | #ifndef Sudden_Underflow | ||
4515 | if (L > 0) { | ||
4516 | #endif | ||
4517 | #ifdef IBM | ||
4518 | L |= Exp_msk1 >> 4; | ||
4519 | #endif | ||
4520 | word0(a) = L; | ||
4521 | word1(a) = 0; | ||
4522 | #ifndef Sudden_Underflow | ||
4523 | } | ||
4524 | else { | ||
4525 | L = -L >> Exp_shift; | ||
4526 | if (L < Exp_shift) { | ||
4527 | word0(a) = 0x80000 >> L; | ||
4528 | word1(a) = 0; | ||
4529 | } | ||
4530 | else { | ||
4531 | word0(a) = 0; | ||
4532 | L -= Exp_shift; | ||
4533 | word1(a) = (L >= 31 ? 1U : 1U << (31 - L)); | ||
4534 | } | ||
4535 | } | ||
4536 | #endif | ||
4537 | return a; | ||
4538 | } | ||
4539 | |||
4540 | static double b2d(Bigint *a, int *e) | ||
4541 | { | ||
4542 | ULong *xa, *xa0, w, y, z; | ||
4543 | int k; | ||
4544 | double d; | ||
4545 | #ifdef VAX | ||
4546 | ULong d0, d1; | ||
4547 | #else | ||
4548 | #define d0 word0(d) | ||
4549 | #define d1 word1(d) | ||
4550 | #endif | ||
4551 | |||
4552 | xa0 = a->x; | ||
4553 | xa = xa0 + a->wds; | ||
4554 | y = *--xa; | ||
4555 | #ifdef BSD_QDTOA_DEBUG | ||
4556 | if (!y) Bug("zero y in b2d"); | ||
4557 | #endif | ||
4558 | k = hi0bits(y); | ||
4559 | *e = 32 - k; | ||
4560 | #ifdef Pack_32 | ||
4561 | if (k < Ebits) { | ||
4562 | d0 = Exp_1 | y >> (Ebits - k); | ||
4563 | w = xa > xa0 ? *--xa : 0; | ||
4564 | d1 = y << ((32-Ebits) + k) | w >> (Ebits - k); | ||
4565 | goto ret_d; | ||
4566 | } | ||
4567 | z = xa > xa0 ? *--xa : 0; | ||
4568 | if (k -= Ebits) { | ||
4569 | d0 = Exp_1 | y << k | z >> (32 - k); | ||
4570 | y = xa > xa0 ? *--xa : 0; | ||
4571 | d1 = z << k | y >> (32 - k); | ||
4572 | } | ||
4573 | else { | ||
4574 | d0 = Exp_1 | y; | ||
4575 | d1 = z; | ||
4576 | } | ||
4577 | #else | ||
4578 | if (k < Ebits + 16) { | ||
4579 | z = xa > xa0 ? *--xa : 0; | ||
4580 | d0 = Exp_1 | y << k - Ebits | z >> Ebits + 16 - k; | ||
4581 | w = xa > xa0 ? *--xa : 0; | ||
4582 | y = xa > xa0 ? *--xa : 0; | ||
4583 | d1 = z << k + 16 - Ebits | w << k - Ebits | y >> 16 + Ebits - k; | ||
4584 | goto ret_d; | ||
4585 | } | ||
4586 | z = xa > xa0 ? *--xa : 0; | ||
4587 | w = xa > xa0 ? *--xa : 0; | ||
4588 | k -= Ebits + 16; | ||
4589 | d0 = Exp_1 | y << k + 16 | z << k | w >> 16 - k; | ||
4590 | y = xa > xa0 ? *--xa : 0; | ||
4591 | d1 = w << k + 16 | y << k; | ||
4592 | #endif | ||
4593 | ret_d: | ||
4594 | #ifdef VAX | ||
4595 | word0(d) = d0 >> 16 | d0 << 16; | ||
4596 | word1(d) = d1 >> 16 | d1 << 16; | ||
4597 | #else | ||
4598 | #undef d0 | ||
4599 | #undef d1 | ||
4600 | #endif | ||
4601 | return d; | ||
4602 | } | ||
4603 | |||
4604 | static Bigint *d2b(double d, int *e, int *bits) | ||
4605 | { | ||
4606 | Bigint *b; | ||
4607 | int de, i, k; | ||
4608 | ULong *x, y, z; | ||
4609 | #ifdef VAX | ||
4610 | ULong d0, d1; | ||
4611 | d0 = word0(d) >> 16 | word0(d) << 16; | ||
4612 | d1 = word1(d) >> 16 | word1(d) << 16; | ||
4613 | #else | ||
4614 | #define d0 word0(d) | ||
4615 | #define d1 word1(d) | ||
4616 | #endif | ||
4617 | |||
4618 | #ifdef Pack_32 | ||
4619 | b = Balloc(1); | ||
4620 | #else | ||
4621 | b = Balloc(2); | ||
4622 | #endif | ||
4623 | x = b->x; | ||
4624 | |||
4625 | z = d0 & Frac_mask; | ||
4626 | d0 &= 0x7fffffff;/* clear sign bit, which we ignore */ | ||
4627 | #ifdef Sudden_Underflow | ||
4628 | de = (int)(d0 >> Exp_shift); | ||
4629 | #ifndef IBM | ||
4630 | z |= Exp_msk11; | ||
4631 | #endif | ||
4632 | #else | ||
4633 | if ((de = (int)(d0 >> Exp_shift)) != 0) | ||
4634 | z |= Exp_msk1; | ||
4635 | #endif | ||
4636 | #ifdef Pack_32 | ||
4637 | if ((y = d1) != 0) { | ||
4638 | if ((k = lo0bits(&y)) != 0) { | ||
4639 | x[0] = y | z << (32 - k); | ||
4640 | z >>= k; | ||
4641 | } | ||
4642 | else | ||
4643 | x[0] = y; | ||
4644 | i = b->wds = (x[1] = z) ? 2 : 1; | ||
4645 | } | ||
4646 | else { | ||
4647 | #ifdef BSD_QDTOA_DEBUG | ||
4648 | if (!z) | ||
4649 | Bug("Zero passed to d2b"); | ||
4650 | #endif | ||
4651 | k = lo0bits(&z); | ||
4652 | x[0] = z; | ||
4653 | i = b->wds = 1; | ||
4654 | k += 32; | ||
4655 | } | ||
4656 | #else | ||
4657 | if (y = d1) { | ||
4658 | if (k = lo0bits(&y)) | ||
4659 | if (k >= 16) { | ||
4660 | x[0] = y | z << 32 - k & 0xffff; | ||
4661 | x[1] = z >> k - 16 & 0xffff; | ||
4662 | x[2] = z >> k; | ||
4663 | i = 2; | ||
4664 | } | ||
4665 | else { | ||
4666 | x[0] = y & 0xffff; | ||
4667 | x[1] = y >> 16 | z << 16 - k & 0xffff; | ||
4668 | x[2] = z >> k & 0xffff; | ||
4669 | x[3] = z >> k+16; | ||
4670 | i = 3; | ||
4671 | } | ||
4672 | else { | ||
4673 | x[0] = y & 0xffff; | ||
4674 | x[1] = y >> 16; | ||
4675 | x[2] = z & 0xffff; | ||
4676 | x[3] = z >> 16; | ||
4677 | i = 3; | ||
4678 | } | ||
4679 | } | ||
4680 | else { | ||
4681 | #ifdef BSD_QDTOA_DEBUG | ||
4682 | if (!z) | ||
4683 | Bug("Zero passed to d2b"); | ||
4684 | #endif | ||
4685 | k = lo0bits(&z); | ||
4686 | if (k >= 16) { | ||
4687 | x[0] = z; | ||
4688 | i = 0; | ||
4689 | } | ||
4690 | else { | ||
4691 | x[0] = z & 0xffff; | ||
4692 | x[1] = z >> 16; | ||
4693 | i = 1; | ||
4694 | } | ||
4695 | k += 32; | ||
4696 | } | ||
4697 | while(!x[i]) | ||
4698 | --i; | ||
4699 | b->wds = i + 1; | ||
4700 | #endif | ||
4701 | #ifndef Sudden_Underflow | ||
4702 | if (de) { | ||
4703 | #endif | ||
4704 | #ifdef IBM | ||
4705 | *e = (de - Bias - (P-1) << 2) + k; | ||
4706 | *bits = 4*P + 8 - k - hi0bits(word0(d) & Frac_mask); | ||
4707 | #else | ||
4708 | *e = de - Bias - (P-1) + k; | ||
4709 | *bits = P - k; | ||
4710 | #endif | ||
4711 | #ifndef Sudden_Underflow | ||
4712 | } | ||
4713 | else { | ||
4714 | *e = de - Bias - (P-1) + 1 + k; | ||
4715 | #ifdef Pack_32 | ||
4716 | *bits = 32*i - hi0bits(x[i-1]); | ||
4717 | #else | ||
4718 | *bits = (i+2)*16 - hi0bits(x[i]); | ||
4719 | #endif | ||
4720 | } | ||
4721 | #endif | ||
4722 | return b; | ||
4723 | } | ||
4724 | #undef d0 | ||
4725 | #undef d1 | ||
4726 | |||
4727 | static double ratio(Bigint *a, Bigint *b) | ||
4728 | { | ||
4729 | double da, db; | ||
4730 | int k, ka, kb; | ||
4731 | |||
4732 | da = b2d(a, &ka); | ||
4733 | db = b2d(b, &kb); | ||
4734 | #ifdef Pack_32 | ||
4735 | k = ka - kb + 32*(a->wds - b->wds); | ||
4736 | #else | ||
4737 | k = ka - kb + 16*(a->wds - b->wds); | ||
4738 | #endif | ||
4739 | #ifdef IBM | ||
4740 | if (k > 0) { | ||
4741 | word0(da) += (k >> 2)*Exp_msk1; | ||
4742 | if (k &= 3) | ||
4743 | da *= 1 << k; | ||
4744 | } | ||
4745 | else { | ||
4746 | k = -k; | ||
4747 | word0(db) += (k >> 2)*Exp_msk1; | ||
4748 | if (k &= 3) | ||
4749 | db *= 1 << k; | ||
4750 | } | ||
4751 | #else | ||
4752 | if (k > 0) | ||
4753 | word0(da) += k*Exp_msk1; | ||
4754 | else { | ||
4755 | k = -k; | ||
4756 | word0(db) += k*Exp_msk1; | ||
4757 | } | ||
4758 | #endif | ||
4759 | return da / db; | ||
4760 | } | ||
4761 | |||
4762 | static CONST double tens[] = { | ||
4763 | 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, | ||
4764 | 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, | ||
4765 | 1e20, 1e21, 1e22 | ||
4766 | #ifdef VAX | ||
4767 | , 1e23, 1e24 | ||
4768 | #endif | ||
4769 | }; | ||
4770 | |||
4771 | #ifdef IEEE_Arith | ||
4772 | static CONST double bigtens[] = { 1e16, 1e32, 1e64, 1e128, 1e256 }; | ||
4773 | static CONST double tinytens[] = { 1e-16, 1e-32, 1e-64, 1e-128, 1e-256 }; | ||
4774 | #define n_bigtens 5 | ||
4775 | #else | ||
4776 | #ifdef IBM | ||
4777 | static CONST double bigtens[] = { 1e16, 1e32, 1e64 }; | ||
4778 | static CONST double tinytens[] = { 1e-16, 1e-32, 1e-64 }; | ||
4779 | #define n_bigtens 3 | ||
4780 | #else | ||
4781 | static CONST double bigtens[] = { 1e16, 1e32 }; | ||
4782 | static CONST double tinytens[] = { 1e-16, 1e-32 }; | ||
4783 | #define n_bigtens 2 | ||
4784 | #endif | ||
4785 | #endif | ||
4786 | |||
4787 | /* | ||
4788 | The pre-release gcc3.3 shipped with SuSE 8.2 has a bug which causes | ||
4789 | the comparison 1e-100 == 0.0 to return true. As a workaround, we | ||
4790 | compare it to a global variable containing 0.0, which produces | ||
4791 | correct assembler output. | ||
4792 | |||
4793 | ### consider detecting the broken compilers and using the static | ||
4794 | ### double for these, and use a #define for all working compilers | ||
4795 | */ | ||
4796 | static double g_double_zero = 0.0; | ||
4797 | |||
4798 | static double qstrtod(CONST char *s00, CONST char **se, bool *ok) | ||
4799 | { | ||
4800 | int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, dsign, | ||
4801 | e, e1, esign, i, j, k, nd, nd0, nf, nz, nz0, sign; | ||
4802 | CONST char *s, *s0, *s1; | ||
4803 | double aadj, aadj1, adj, rv, rv0; | ||
4804 | Long L; | ||
4805 | ULong y, z; | ||
4806 | Bigint *bb1, *bd0; | ||
4807 | Bigint *bb = NULL, *bd = NULL, *bs = NULL, *delta = NULL;/* pacify gcc */ | ||
4808 | |||
4809 | /* | ||
4810 | #ifndef KR_headers | ||
4811 | CONST char decimal_point = localeconv()->decimal_point[0]; | ||
4812 | #else | ||
4813 | CONST char decimal_point = '.'; | ||
4814 | #endif */ | ||
4815 | if (ok != 0) | ||
4816 | *ok = true; | ||
4817 | |||
4818 | CONST char decimal_point = '.'; | ||
4819 | |||
4820 | sign = nz0 = nz = 0; | ||
4821 | rv = 0.; | ||
4822 | |||
4823 | |||
4824 | for(s = s00; isspace((unsigned char) *s); s++) | ||
4825 | ; | ||
4826 | |||
4827 | if (*s == '-') { | ||
4828 | sign = 1; | ||
4829 | s++; | ||
4830 | } else if (*s == '+') { | ||
4831 | s++; | ||
4832 | } | ||
4833 | |||
4834 | if (*s == '\0') { | ||
4835 | s = s00; | ||
4836 | goto ret; | ||
4837 | } | ||
4838 | |||
4839 | if (*s == '0') { | ||
4840 | nz0 = 1; | ||
4841 | while(*++s == '0') ; | ||
4842 | if (!*s) | ||
4843 | goto ret; | ||
4844 | } | ||
4845 | s0 = s; | ||
4846 | y = z = 0; | ||
4847 | for(nd = nf = 0; (c = *s) >= '0' && c <= '9'; nd++, s++) | ||
4848 | if (nd < 9) | ||
4849 | y = 10*y + c - '0'; | ||
4850 | else if (nd < 16) | ||
4851 | z = 10*z + c - '0'; | ||
4852 | nd0 = nd; | ||
4853 | if (c == decimal_point) { | ||
4854 | c = *++s; | ||
4855 | if (!nd) { | ||
4856 | for(; c == '0'; c = *++s) | ||
4857 | nz++; | ||
4858 | if (c > '0' && c <= '9') { | ||
4859 | s0 = s; | ||
4860 | nf += nz; | ||
4861 | nz = 0; | ||
4862 | goto have_dig; | ||
4863 | } | ||
4864 | goto dig_done; | ||
4865 | } | ||
4866 | for(; c >= '0' && c <= '9'; c = *++s) { | ||
4867 | have_dig: | ||
4868 | nz++; | ||
4869 | if (c -= '0') { | ||
4870 | nf += nz; | ||
4871 | for(i = 1; i < nz; i++) | ||
4872 | if (nd++ < 9) | ||
4873 | y *= 10; | ||
4874 | else if (nd <= DBL_DIG + 1) | ||
4875 | z *= 10; | ||
4876 | if (nd++ < 9) | ||
4877 | y = 10*y + c; | ||
4878 | else if (nd <= DBL_DIG + 1) | ||
4879 | z = 10*z + c; | ||
4880 | nz = 0; | ||
4881 | } | ||
4882 | } | ||
4883 | } | ||
4884 | dig_done: | ||
4885 | e = 0; | ||
4886 | if (c == 'e' || c == 'E') { | ||
4887 | if (!nd && !nz && !nz0) { | ||
4888 | s = s00; | ||
4889 | goto ret; | ||
4890 | } | ||
4891 | s00 = s; | ||
4892 | esign = 0; | ||
4893 | switch(c = *++s) { | ||
4894 | case '-': | ||
4895 | esign = 1; | ||
4896 | case '+': | ||
4897 | c = *++s; | ||
4898 | } | ||
4899 | if (c >= '0' && c <= '9') { | ||
4900 | while(c == '0') | ||
4901 | c = *++s; | ||
4902 | if (c > '0' && c <= '9') { | ||
4903 | L = c - '0'; | ||
4904 | s1 = s; | ||
4905 | while((c = *++s) >= '0' && c <= '9') | ||
4906 | L = 10*L + c - '0'; | ||
4907 | if (s - s1 > 8 || L > 19999) | ||
4908 | /* Avoid confusion from exponents | ||
4909 | * so large that e might overflow. | ||
4910 | */ | ||
4911 | e = 19999; /* safe for 16 bit ints */ | ||
4912 | else | ||
4913 | e = (int)L; | ||
4914 | if (esign) | ||
4915 | e = -e; | ||
4916 | } | ||
4917 | else | ||
4918 | e = 0; | ||
4919 | } | ||
4920 | else | ||
4921 | s = s00; | ||
4922 | } | ||
4923 | if (!nd) { | ||
4924 | if (!nz && !nz0) | ||
4925 | s = s00; | ||
4926 | goto ret; | ||
4927 | } | ||
4928 | e1 = e -= nf; | ||
4929 | |||
4930 | /* Now we have nd0 digits, starting at s0, followed by a | ||
4931 | * decimal point, followed by nd-nd0 digits. The number we're | ||
4932 | * after is the integer represented by those digits times | ||
4933 | * 10**e */ | ||
4934 | |||
4935 | if (!nd0) | ||
4936 | nd0 = nd; | ||
4937 | k = nd < DBL_DIG + 1 ? nd : DBL_DIG + 1; | ||
4938 | rv = y; | ||
4939 | if (k > 9) | ||
4940 | rv = tens[k - 9] * rv + z; | ||
4941 | bd0 = 0; | ||
4942 | if (nd <= DBL_DIG | ||
4943 | #ifndef RND_PRODQUOT | ||
4944 | && FLT_ROUNDS == 1 | ||
4945 | #endif | ||
4946 | ) { | ||
4947 | if (!e) | ||
4948 | goto ret; | ||
4949 | if (e > 0) { | ||
4950 | if (e <= Ten_pmax) { | ||
4951 | #ifdef VAX | ||
4952 | goto vax_ovfl_check; | ||
4953 | #else | ||
4954 | /* rv = */ rounded_product(rv, tens[e]); | ||
4955 | goto ret; | ||
4956 | #endif | ||
4957 | } | ||
4958 | i = DBL_DIG - nd; | ||
4959 | if (e <= Ten_pmax + i) { | ||
4960 | /* A fancier test would sometimes let us do | ||
4961 | * this for larger i values. | ||
4962 | */ | ||
4963 | e -= i; | ||
4964 | rv *= tens[i]; | ||
4965 | #ifdef VAX | ||
4966 | /* VAX exponent range is so narrow we must | ||
4967 | * worry about overflow here... | ||
4968 | */ | ||
4969 | vax_ovfl_check: | ||
4970 | word0(rv) -= P*Exp_msk1; | ||
4971 | /* rv = */ rounded_product(rv, tens[e]); | ||
4972 | if ((word0(rv) & Exp_mask) | ||
4973 | > Exp_msk1*(DBL_MAX_EXP+Bias-1-P)) | ||
4974 | goto ovfl; | ||
4975 | word0(rv) += P*Exp_msk1; | ||
4976 | #else | ||
4977 | /* rv = */ rounded_product(rv, tens[e]); | ||
4978 | #endif | ||
4979 | goto ret; | ||
4980 | } | ||
4981 | } | ||
4982 | #ifndef Inaccurate_Divide | ||
4983 | else if (e >= -Ten_pmax) { | ||
4984 | /* rv = */ rounded_quotient(rv, tens[-e]); | ||
4985 | goto ret; | ||
4986 | } | ||
4987 | #endif | ||
4988 | } | ||
4989 | e1 += nd - k; | ||
4990 | |||
4991 | /* Get starting approximation = rv * 10**e1 */ | ||
4992 | |||
4993 | if (e1 > 0) { | ||
4994 | if ((i = e1 & 15) != 0) | ||
4995 | rv *= tens[i]; | ||
4996 | if (e1 &= ~15) { | ||
4997 | if (e1 > DBL_MAX_10_EXP) { | ||
4998 | ovfl: | ||
4999 | // errno = ERANGE; | ||
5000 | if (ok != 0) | ||
5001 | *ok = false; | ||
5002 | #ifdef __STDC__ | ||
5003 | rv = HUGE_VAL; | ||
5004 | #else | ||
5005 | /* Can't trust HUGE_VAL */ | ||
5006 | #ifdef IEEE_Arith | ||
5007 | word0(rv) = Exp_mask; | ||
5008 | word1(rv) = 0; | ||
5009 | #else | ||
5010 | word0(rv) = Big0; | ||
5011 | word1(rv) = Big1; | ||
5012 | #endif | ||
5013 | #endif | ||
5014 | if (bd0) | ||
5015 | goto retfree; | ||
5016 | goto ret; | ||
5017 | } | ||
5018 | if (e1 >>= 4) { | ||
5019 | for(j = 0; e1 > 1; j++, e1 >>= 1) | ||
5020 | if (e1 & 1) | ||
5021 | rv *= bigtens[j]; | ||
5022 | /* The last multiplication could overflow. */ | ||
5023 | word0(rv) -= P*Exp_msk1; | ||
5024 | rv *= bigtens[j]; | ||
5025 | if ((z = word0(rv) & Exp_mask) | ||
5026 | > Exp_msk1*(DBL_MAX_EXP+Bias-P)) | ||
5027 | goto ovfl; | ||
5028 | if (z > Exp_msk1*(DBL_MAX_EXP+Bias-1-P)) { | ||
5029 | /* set to largest number */ | ||
5030 | /* (Can't trust DBL_MAX) */ | ||
5031 | word0(rv) = Big0; | ||
5032 | word1(rv) = Big1; | ||
5033 | } | ||
5034 | else | ||
5035 | word0(rv) += P*Exp_msk1; | ||
5036 | } | ||
5037 | |||
5038 | } | ||
5039 | } | ||
5040 | else if (e1 < 0) { | ||
5041 | e1 = -e1; | ||
5042 | if ((i = e1 & 15) != 0) | ||
5043 | rv /= tens[i]; | ||
5044 | if (e1 &= ~15) { | ||
5045 | e1 >>= 4; | ||
5046 | if (e1 >= 1 << n_bigtens) | ||
5047 | goto undfl; | ||
5048 | for(j = 0; e1 > 1; j++, e1 >>= 1) | ||
5049 | if (e1 & 1) | ||
5050 | rv *= tinytens[j]; | ||
5051 | /* The last multiplication could underflow. */ | ||
5052 | rv0 = rv; | ||
5053 | rv *= tinytens[j]; | ||
5054 | if (rv == g_double_zero) | ||
5055 | { | ||
5056 | rv = 2.*rv0; | ||
5057 | rv *= tinytens[j]; | ||
5058 | if (rv == g_double_zero) | ||
5059 | { | ||
5060 | undfl: | ||
5061 | rv = 0.; | ||
5062 | // errno = ERANGE; | ||
5063 | if (ok != 0) | ||
5064 | *ok = false; | ||
5065 | if (bd0) | ||
5066 | goto retfree; | ||
5067 | goto ret; | ||
5068 | } | ||
5069 | word0(rv) = Tiny0; | ||
5070 | word1(rv) = Tiny1; | ||
5071 | /* The refinement below will clean | ||
5072 | * this approximation up. | ||
5073 | */ | ||
5074 | } | ||
5075 | } | ||
5076 | } | ||
5077 | |||
5078 | /* Now the hard part -- adjusting rv to the correct value.*/ | ||
5079 | |||
5080 | /* Put digits into bd: true value = bd * 10^e */ | ||
5081 | |||
5082 | bd0 = s2b(s0, nd0, nd, y); | ||
5083 | |||
5084 | for(;;) { | ||
5085 | bd = Balloc(bd0->k); | ||
5086 | Bcopy(bd, bd0); | ||
5087 | bb = d2b(rv, &bbe, &bbbits);/* rv = bb * 2^bbe */ | ||
5088 | bs = i2b(1); | ||
5089 | |||
5090 | if (e >= 0) { | ||
5091 | bb2 = bb5 = 0; | ||
5092 | bd2 = bd5 = e; | ||
5093 | } | ||
5094 | else { | ||
5095 | bb2 = bb5 = -e; | ||
5096 | bd2 = bd5 = 0; | ||
5097 | } | ||
5098 | if (bbe >= 0) | ||
5099 | bb2 += bbe; | ||
5100 | else | ||
5101 | bd2 -= bbe; | ||
5102 | bs2 = bb2; | ||
5103 | #ifdef Sudden_Underflow | ||
5104 | #ifdef IBM | ||
5105 | j = 1 + 4*P - 3 - bbbits + ((bbe + bbbits - 1) & 3); | ||
5106 | #else | ||
5107 | j = P + 1 - bbbits; | ||
5108 | #endif | ||
5109 | #else | ||
5110 | i = bbe + bbbits - 1;/* logb(rv) */ | ||
5111 | if (i < Emin)/* denormal */ | ||
5112 | j = bbe + (P-Emin); | ||
5113 | else | ||
5114 | j = P + 1 - bbbits; | ||
5115 | #endif | ||
5116 | bb2 += j; | ||
5117 | bd2 += j; | ||
5118 | i = bb2 < bd2 ? bb2 : bd2; | ||
5119 | if (i > bs2) | ||
5120 | i = bs2; | ||
5121 | if (i > 0) { | ||
5122 | bb2 -= i; | ||
5123 | bd2 -= i; | ||
5124 | bs2 -= i; | ||
5125 | } | ||
5126 | if (bb5 > 0) { | ||
5127 | bs = pow5mult(bs, bb5); | ||
5128 | bb1 = mult(bs, bb); | ||
5129 | Bfree(bb); | ||
5130 | bb = bb1; | ||
5131 | } | ||
5132 | if (bb2 > 0) | ||
5133 | bb = lshift(bb, bb2); | ||
5134 | if (bd5 > 0) | ||
5135 | bd = pow5mult(bd, bd5); | ||
5136 | if (bd2 > 0) | ||
5137 | bd = lshift(bd, bd2); | ||
5138 | if (bs2 > 0) | ||
5139 | bs = lshift(bs, bs2); | ||
5140 | delta = diff(bb, bd); | ||
5141 | dsign = delta->sign; | ||
5142 | delta->sign = 0; | ||
5143 | i = cmp(delta, bs); | ||
5144 | if (i < 0) { | ||
5145 | /* Error is less than half an ulp -- check for | ||
5146 | * special case of mantissa a power of two. | ||
5147 | */ | ||
5148 | if (dsign || word1(rv) || word0(rv) & Bndry_mask) | ||
5149 | break; | ||
5150 | delta = lshift(delta,Log2P); | ||
5151 | if (cmp(delta, bs) > 0) | ||
5152 | goto drop_down; | ||
5153 | break; | ||
5154 | } | ||
5155 | if (i == 0) { | ||
5156 | /* exactly half-way between */ | ||
5157 | if (dsign) { | ||
5158 | if ((word0(rv) & Bndry_mask1) == Bndry_mask1 | ||
5159 | && word1(rv) == 0xffffffff) { | ||
5160 | /*boundary case -- increment exponent*/ | ||
5161 | word0(rv) = (word0(rv) & Exp_mask) | ||
5162 | + Exp_msk1 | ||
5163 | #ifdef IBM | ||
5164 | | Exp_msk1 >> 4 | ||
5165 | #endif | ||
5166 | ; | ||
5167 | word1(rv) = 0; | ||
5168 | break; | ||
5169 | } | ||
5170 | } | ||
5171 | else if (!(word0(rv) & Bndry_mask) && !word1(rv)) { | ||
5172 | drop_down: | ||
5173 | /* boundary case -- decrement exponent */ | ||
5174 | #ifdef Sudden_Underflow | ||
5175 | L = word0(rv) & Exp_mask; | ||
5176 | #ifdef IBM | ||
5177 | if (L < Exp_msk1) | ||
5178 | #else | ||
5179 | if (L <= Exp_msk1) | ||
5180 | #endif | ||
5181 | goto undfl; | ||
5182 | L -= Exp_msk1; | ||
5183 | #else | ||
5184 | L = (word0(rv) & Exp_mask) - Exp_msk1; | ||
5185 | #endif | ||
5186 | word0(rv) = L | Bndry_mask1; | ||
5187 | word1(rv) = 0xffffffff; | ||
5188 | #ifdef IBM | ||
5189 | goto cont; | ||
5190 | #else | ||
5191 | break; | ||
5192 | #endif | ||
5193 | } | ||
5194 | #ifndef ROUND_BIASED | ||
5195 | if (!(word1(rv) & LSB)) | ||
5196 | break; | ||
5197 | #endif | ||
5198 | if (dsign) | ||
5199 | rv += ulp(rv); | ||
5200 | #ifndef ROUND_BIASED | ||
5201 | else { | ||
5202 | rv -= ulp(rv); | ||
5203 | #ifndef Sudden_Underflow | ||
5204 | if (rv == g_double_zero) | ||
5205 | goto undfl; | ||
5206 | #endif | ||
5207 | } | ||
5208 | #endif | ||
5209 | break; | ||
5210 | } | ||
5211 | if ((aadj = ratio(delta, bs)) <= 2.) { | ||
5212 | if (dsign) | ||
5213 | aadj = aadj1 = 1.; | ||
5214 | else if (word1(rv) || word0(rv) & Bndry_mask) { | ||
5215 | #ifndef Sudden_Underflow | ||
5216 | if (word1(rv) == Tiny1 && !word0(rv)) | ||
5217 | goto undfl; | ||
5218 | #endif | ||
5219 | aadj = 1.; | ||
5220 | aadj1 = -1.; | ||
5221 | } | ||
5222 | else { | ||
5223 | /* special case -- power of FLT_RADIX to be */ | ||
5224 | /* rounded down... */ | ||
5225 | |||
5226 | if (aadj < 2./FLT_RADIX) | ||
5227 | aadj = 1./FLT_RADIX; | ||
5228 | else | ||
5229 | aadj *= 0.5; | ||
5230 | aadj1 = -aadj; | ||
5231 | } | ||
5232 | } | ||
5233 | else { | ||
5234 | aadj *= 0.5; | ||
5235 | aadj1 = dsign ? aadj : -aadj; | ||
5236 | #ifdef Check_FLT_ROUNDS | ||
5237 | switch(FLT_ROUNDS) { | ||
5238 | case 2: /* towards +infinity */ | ||
5239 | aadj1 -= 0.5; | ||
5240 | break; | ||
5241 | case 0: /* towards 0 */ | ||
5242 | case 3: /* towards -infinity */ | ||
5243 | aadj1 += 0.5; | ||
5244 | } | ||
5245 | #else | ||
5246 | if (FLT_ROUNDS == 0) | ||
5247 | aadj1 += 0.5; | ||
5248 | #endif | ||
5249 | } | ||
5250 | y = word0(rv) & Exp_mask; | ||
5251 | |||
5252 | /* Check for overflow */ | ||
5253 | |||
5254 | if (y == Exp_msk1*(DBL_MAX_EXP+Bias-1)) { | ||
5255 | rv0 = rv; | ||
5256 | word0(rv) -= P*Exp_msk1; | ||
5257 | adj = aadj1 * ulp(rv); | ||
5258 | rv += adj; | ||
5259 | if ((word0(rv) & Exp_mask) >= | ||
5260 | Exp_msk1*(DBL_MAX_EXP+Bias-P)) { | ||
5261 | if (word0(rv0) == Big0 && word1(rv0) == Big1) | ||
5262 | goto ovfl; | ||
5263 | word0(rv) = Big0; | ||
5264 | word1(rv) = Big1; | ||
5265 | goto cont; | ||
5266 | } | ||
5267 | else | ||
5268 | word0(rv) += P*Exp_msk1; | ||
5269 | } | ||
5270 | else { | ||
5271 | #ifdef Sudden_Underflow | ||
5272 | if ((word0(rv) & Exp_mask) <= P*Exp_msk1) { | ||
5273 | rv0 = rv; | ||
5274 | word0(rv) += P*Exp_msk1; | ||
5275 | adj = aadj1 * ulp(rv); | ||
5276 | rv += adj; | ||
5277 | #ifdef IBM | ||
5278 | if ((word0(rv) & Exp_mask) < P*Exp_msk1) | ||
5279 | #else | ||
5280 | if ((word0(rv) & Exp_mask) <= P*Exp_msk1) | ||
5281 | #endif | ||
5282 | { | ||
5283 | if (word0(rv0) == Tiny0 | ||
5284 | && word1(rv0) == Tiny1) | ||
5285 | goto undfl; | ||
5286 | word0(rv) = Tiny0; | ||
5287 | word1(rv) = Tiny1; | ||
5288 | goto cont; | ||
5289 | } | ||
5290 | else | ||
5291 | word0(rv) -= P*Exp_msk1; | ||
5292 | } | ||
5293 | else { | ||
5294 | adj = aadj1 * ulp(rv); | ||
5295 | rv += adj; | ||
5296 | } | ||
5297 | #else | ||
5298 | /* Compute adj so that the IEEE rounding rules will | ||
5299 | * correctly round rv + adj in some half-way cases. | ||
5300 | * If rv * ulp(rv) is denormalized (i.e., | ||
5301 | * y <= (P-1)*Exp_msk1), we must adjust aadj to avoid | ||
5302 | * trouble from bits lost to denormalization; | ||
5303 | * example: 1.2e-307 . | ||
5304 | */ | ||
5305 | if (y <= (P-1)*Exp_msk1 && aadj >= 1.) { | ||
5306 | aadj1 = (double)(int)(aadj + 0.5); | ||
5307 | if (!dsign) | ||
5308 | aadj1 = -aadj1; | ||
5309 | } | ||
5310 | adj = aadj1 * ulp(rv); | ||
5311 | rv += adj; | ||
5312 | #endif | ||
5313 | } | ||
5314 | z = word0(rv) & Exp_mask; | ||
5315 | if (y == z) { | ||
5316 | /* Can we stop now? */ | ||
5317 | L = (Long) aadj; | ||
5318 | aadj -= L; | ||
5319 | /* The tolerances below are conservative. */ | ||
5320 | if (dsign || word1(rv) || word0(rv) & Bndry_mask) { | ||
5321 | if (aadj < .4999999 || aadj > .5000001) | ||
5322 | break; | ||
5323 | } | ||
5324 | else if (aadj < .4999999/FLT_RADIX) | ||
5325 | break; | ||
5326 | } | ||
5327 | cont: | ||
5328 | Bfree(bb); | ||
5329 | Bfree(bd); | ||
5330 | Bfree(bs); | ||
5331 | Bfree(delta); | ||
5332 | } | ||
5333 | retfree: | ||
5334 | Bfree(bb); | ||
5335 | Bfree(bd); | ||
5336 | Bfree(bs); | ||
5337 | Bfree(bd0); | ||
5338 | Bfree(delta); | ||
5339 | ret: | ||
5340 | if (se) | ||
5341 | *se = (char *)s; | ||
5342 | return sign ? -rv : rv; | ||
5343 | } | ||
5344 | |||
5345 | static int quorem(Bigint *b, Bigint *S) | ||
5346 | { | ||
5347 | int n; | ||
5348 | Long borrow, y; | ||
5349 | ULong carry, q, ys; | ||
5350 | ULong *bx, *bxe, *sx, *sxe; | ||
5351 | #ifdef Pack_32 | ||
5352 | Long z; | ||
5353 | ULong si, zs; | ||
5354 | #endif | ||
5355 | |||
5356 | n = S->wds; | ||
5357 | #ifdef BSD_QDTOA_DEBUG | ||
5358 | /*debug*/ if (b->wds > n) | ||
5359 | /*debug*/Bug("oversize b in quorem"); | ||
5360 | #endif | ||
5361 | if (b->wds < n) | ||
5362 | return 0; | ||
5363 | sx = S->x; | ||
5364 | sxe = sx + --n; | ||
5365 | bx = b->x; | ||
5366 | bxe = bx + n; | ||
5367 | q = *bxe / (*sxe + 1);/* ensure q <= true quotient */ | ||
5368 | #ifdef BSD_QDTOA_DEBUG | ||
5369 | /*debug*/ if (q > 9) | ||
5370 | /*debug*/Bug("oversized quotient in quorem"); | ||
5371 | #endif | ||
5372 | if (q) { | ||
5373 | borrow = 0; | ||
5374 | carry = 0; | ||
5375 | do { | ||
5376 | #ifdef Pack_32 | ||
5377 | si = *sx++; | ||
5378 | ys = (si & 0xffff) * q + carry; | ||
5379 | zs = (si >> 16) * q + (ys >> 16); | ||
5380 | carry = zs >> 16; | ||
5381 | y = (*bx & 0xffff) - (ys & 0xffff) + borrow; | ||
5382 | borrow = y >> 16; | ||
5383 | Sign_Extend(borrow, y); | ||
5384 | z = (*bx >> 16) - (zs & 0xffff) + borrow; | ||
5385 | borrow = z >> 16; | ||
5386 | Sign_Extend(borrow, z); | ||
5387 | Storeinc(bx, z, y); | ||
5388 | #else | ||
5389 | ys = *sx++ * q + carry; | ||
5390 | carry = ys >> 16; | ||
5391 | y = *bx - (ys & 0xffff) + borrow; | ||
5392 | borrow = y >> 16; | ||
5393 | Sign_Extend(borrow, y); | ||
5394 | *bx++ = y & 0xffff; | ||
5395 | #endif | ||
5396 | } | ||
5397 | while(sx <= sxe); | ||
5398 | if (!*bxe) { | ||
5399 | bx = b->x; | ||
5400 | while(--bxe > bx && !*bxe) | ||
5401 | --n; | ||
5402 | b->wds = n; | ||
5403 | } | ||
5404 | } | ||
5405 | if (cmp(b, S) >= 0) { | ||
5406 | q++; | ||
5407 | borrow = 0; | ||
5408 | carry = 0; | ||
5409 | bx = b->x; | ||
5410 | sx = S->x; | ||
5411 | do { | ||
5412 | #ifdef Pack_32 | ||
5413 | si = *sx++; | ||
5414 | ys = (si & 0xffff) + carry; | ||
5415 | zs = (si >> 16) + (ys >> 16); | ||
5416 | carry = zs >> 16; | ||
5417 | y = (*bx & 0xffff) - (ys & 0xffff) + borrow; | ||
5418 | borrow = y >> 16; | ||
5419 | Sign_Extend(borrow, y); | ||
5420 | z = (*bx >> 16) - (zs & 0xffff) + borrow; | ||
5421 | borrow = z >> 16; | ||
5422 | Sign_Extend(borrow, z); | ||
5423 | Storeinc(bx, z, y); | ||
5424 | #else | ||
5425 | ys = *sx++ + carry; | ||
5426 | carry = ys >> 16; | ||
5427 | y = *bx - (ys & 0xffff) + borrow; | ||
5428 | borrow = y >> 16; | ||
5429 | Sign_Extend(borrow, y); | ||
5430 | *bx++ = y & 0xffff; | ||
5431 | #endif | ||
5432 | } | ||
5433 | while(sx <= sxe); | ||
5434 | bx = b->x; | ||
5435 | bxe = bx + n; | ||
5436 | if (!*bxe) { | ||
5437 | while(--bxe > bx && !*bxe) | ||
5438 | --n; | ||
5439 | b->wds = n; | ||
5440 | } | ||
5441 | } | ||
5442 | return q; | ||
5443 | } | ||
5444 | |||
5445 | /* dtoa for IEEE arithmetic (dmg): convert double to ASCII string. | ||
5446 | * | ||
5447 | * Inspired by "How to Print Floating-Point Numbers Accurately" by | ||
5448 | * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 92-101]. | ||
5449 | * | ||
5450 | * Modifications: | ||
5451 | *1. Rather than iterating, we use a simple numeric overestimate | ||
5452 | * to determine k = floor(log10(d)). We scale relevant | ||
5453 | * quantities using O(log2(k)) rather than O(k) multiplications. | ||
5454 | *2. For some modes > 2 (corresponding to ecvt and fcvt), we don't | ||
5455 | * try to generate digits strictly left to right. Instead, we | ||
5456 | * compute with fewer bits and propagate the carry if necessary | ||
5457 | * when rounding the final digit up. This is often faster. | ||
5458 | *3. Under the assumption that input will be rounded nearest, | ||
5459 | * mode 0 renders 1e23 as 1e23 rather than 9.999999999999999e22. | ||
5460 | * That is, we allow equality in stopping tests when the | ||
5461 | * round-nearest rule will give the same floating-point value | ||
5462 | * as would satisfaction of the stopping test with strict | ||
5463 | * inequality. | ||
5464 | *4. We remove common factors of powers of 2 from relevant | ||
5465 | * quantities. | ||
5466 | *5. When converting floating-point integers less than 1e16, | ||
5467 | * we use floating-point arithmetic rather than resorting | ||
5468 | * to multiple-precision integers. | ||
5469 | *6. When asked to produce fewer than 15 digits, we first try | ||
5470 | * to get by with floating-point arithmetic; we resort to | ||
5471 | * multiple-precision integer arithmetic only if we cannot | ||
5472 | * guarantee that the floating-point calculation has given | ||
5473 | * the correctly rounded result. For k requested digits and | ||
5474 | * "uniformly" distributed input, the probability is | ||
5475 | * something like 10^(k-15) that we must resort to the Long | ||
5476 | * calculation. | ||
5477 | */ | ||
5478 | |||
5479 | |||
5480 | /* This actually sometimes returns a pointer to a string literal | ||
5481 | cast to a char*. Do NOT try to modify the return value. */ | ||
5482 | |||
5483 | static char *qdtoa (volatile double d, int mode, int ndigits, int *decpt, int *sign, char **rve, char **resultp) | ||
5484 | { | ||
5485 | /* | ||
5486 | Arguments ndigits, decpt, sign are similar to those | ||
5487 | of ecvt and fcvt; trailing zeros are suppressed from | ||
5488 | the returned string. If not null, *rve is set to point | ||
5489 | to the end of the return value. If d is +-Infinity or NaN, | ||
5490 | then *decpt is set to 9999. | ||
5491 | |||
5492 | mode: | ||
5493 | 0 ==> shortest string that yields d when read in | ||
5494 | and rounded to nearest. | ||
5495 | 1 ==> like 0, but with Steele & White stopping rule; | ||
5496 | e.g. with IEEE P754 arithmetic , mode 0 gives | ||
5497 | 1e23 whereas mode 1 gives 9.999999999999999e22. | ||
5498 | 2 ==> max(1,ndigits) significant digits. This gives a | ||
5499 | return value similar to that of ecvt, except | ||
5500 | that trailing zeros are suppressed. | ||
5501 | 3 ==> through ndigits past the decimal point. This | ||
5502 | gives a return value similar to that from fcvt, | ||
5503 | except that trailing zeros are suppressed, and | ||
5504 | ndigits can be negative. | ||
5505 | 4-9 should give the same return values as 2-3, i.e., | ||
5506 | 4 <= mode <= 9 ==> same return as mode | ||
5507 | 2 + (mode & 1). These modes are mainly for | ||
5508 | debugging; often they run slower but sometimes | ||
5509 | faster than modes 2-3. | ||
5510 | 4,5,8,9 ==> left-to-right digit generation. | ||
5511 | 6-9 ==> don't try fast floating-point estimate | ||
5512 | (if applicable). | ||
5513 | |||
5514 | Values of mode other than 0-9 are treated as mode 0. | ||
5515 | |||
5516 | Sufficient space is allocated to the return value | ||
5517 | to hold the suppressed trailing zeros. | ||
5518 | */ | ||
5519 | |||
5520 | int bbits, b2, b5, be, dig, i, ieps, ilim0, | ||
5521 | j, j1, k, k0, k_check, leftright, m2, m5, s2, s5, | ||
5522 | try_quick; | ||
5523 | int ilim = 0, ilim1 = 0, spec_case = 0;/* pacify gcc */ | ||
5524 | Long L; | ||
5525 | #ifndef Sudden_Underflow | ||
5526 | int denorm; | ||
5527 | ULong x; | ||
5528 | #endif | ||
5529 | Bigint *b, *b1, *delta, *mhi, *S; | ||
5530 | Bigint *mlo = NULL; /* pacify gcc */ | ||
5531 | volatile double d2; | ||
5532 | double ds, eps; | ||
5533 | char *s, *s0; | ||
5534 | |||
5535 | if (word0(d) & Sign_bit) { | ||
5536 | /* set sign for everything, including 0's and NaNs */ | ||
5537 | *sign = 1; | ||
5538 | word0(d) &= ~Sign_bit;/* clear sign bit */ | ||
5539 | } | ||
5540 | else | ||
5541 | *sign = 0; | ||
5542 | |||
5543 | #if defined(IEEE_Arith) + defined(VAX) | ||
5544 | #ifdef IEEE_Arith | ||
5545 | if ((word0(d) & Exp_mask) == Exp_mask) | ||
5546 | #else | ||
5547 | if (word0(d) == 0x8000) | ||
5548 | #endif | ||
5549 | { | ||
5550 | /* Infinity or NaN */ | ||
5551 | *decpt = 9999; | ||
5552 | s = | ||
5553 | #ifdef IEEE_Arith | ||
5554 | !word1(d) && !(word0(d) & 0xfffff) ? (char*)"Infinity" : | ||
5555 | #endif | ||
5556 | (char*)"NaN"; | ||
5557 | if (rve) | ||
5558 | *rve = | ||
5559 | #ifdef IEEE_Arith | ||
5560 | s[3] ? s + 8 : | ||
5561 | #endif | ||
5562 | s + 3; | ||
5563 | return s; | ||
5564 | } | ||
5565 | #endif | ||
5566 | #ifdef IBM | ||
5567 | d += 0; /* normalize */ | ||
5568 | #endif | ||
5569 | if (d == g_double_zero) | ||
5570 | { | ||
5571 | *decpt = 1; | ||
5572 | s = (char*) "0"; | ||
5573 | if (rve) | ||
5574 | *rve = s + 1; | ||
5575 | return s; | ||
5576 | } | ||
5577 | |||
5578 | b = d2b(d, &be, &bbits); | ||
5579 | #ifdef Sudden_Underflow | ||
5580 | i = (int)(word0(d) >> Exp_shift1 & (Exp_mask>>Exp_shift1)); | ||
5581 | #else | ||
5582 | if ((i = (int)(word0(d) >> Exp_shift1 & (Exp_mask>>Exp_shift1))) != 0) { | ||
5583 | #endif | ||
5584 | d2 = d; | ||
5585 | word0(d2) &= Frac_mask1; | ||
5586 | word0(d2) |= Exp_11; | ||
5587 | #ifdef IBM | ||
5588 | if (j = 11 - hi0bits(word0(d2) & Frac_mask)) | ||
5589 | d2 /= 1 << j; | ||
5590 | #endif | ||
5591 | |||
5592 | /* log(x)~=~ log(1.5) + (x-1.5)/1.5 | ||
5593 | * log10(x) = log(x) / log(10) | ||
5594 | * ~=~ log(1.5)/log(10) + (x-1.5)/(1.5*log(10)) | ||
5595 | * log10(d) = (i-Bias)*log(2)/log(10) + log10(d2) | ||
5596 | * | ||
5597 | * This suggests computing an approximation k to log10(d) by | ||
5598 | * | ||
5599 | * k = (i - Bias)*0.301029995663981 | ||
5600 | *+ ( (d2-1.5)*0.289529654602168 + 0.176091259055681 ); | ||
5601 | * | ||
5602 | * We want k to be too large rather than too small. | ||
5603 | * The error in the first-order Taylor series approximation | ||
5604 | * is in our favor, so we just round up the constant enough | ||
5605 | * to compensate for any error in the multiplication of | ||
5606 | * (i - Bias) by 0.301029995663981; since |i - Bias| <= 1077, | ||
5607 | * and 1077 * 0.30103 * 2^-52 ~=~ 7.2e-14, | ||
5608 | * adding 1e-13 to the constant term more than suffices. | ||
5609 | * Hence we adjust the constant term to 0.1760912590558. | ||
5610 | * (We could get a more accurate k by invoking log10, | ||
5611 | * but this is probably not worthwhile.) | ||
5612 | */ | ||
5613 | |||
5614 | i -= Bias; | ||
5615 | #ifdef IBM | ||
5616 | i <<= 2; | ||
5617 | i += j; | ||
5618 | #endif | ||
5619 | #ifndef Sudden_Underflow | ||
5620 | denorm = 0; | ||
5621 | } | ||
5622 | else { | ||
5623 | /* d is denormalized */ | ||
5624 | |||
5625 | i = bbits + be + (Bias + (P-1) - 1); | ||
5626 | x = i > 32 ? word0(d) << (64 - i) | word1(d) >> (i - 32) | ||
5627 | : word1(d) << (32 - i); | ||
5628 | d2 = x; | ||
5629 | word0(d2) -= 31*Exp_msk1; /* adjust exponent */ | ||
5630 | i -= (Bias + (P-1) - 1) + 1; | ||
5631 | denorm = 1; | ||
5632 | } | ||
5633 | #endif | ||
5634 | ds = (d2-1.5)*0.289529654602168 + 0.1760912590558 + i*0.301029995663981; | ||
5635 | k = (int)ds; | ||
5636 | if (ds < 0. && ds != k) | ||
5637 | k--;/* want k = floor(ds) */ | ||
5638 | k_check = 1; | ||
5639 | if (k >= 0 && k <= Ten_pmax) { | ||
5640 | if (d < tens[k]) | ||
5641 | k--; | ||
5642 | k_check = 0; | ||
5643 | } | ||
5644 | j = bbits - i - 1; | ||
5645 | if (j >= 0) { | ||
5646 | b2 = 0; | ||
5647 | s2 = j; | ||
5648 | } | ||
5649 | else { | ||
5650 | b2 = -j; | ||
5651 | s2 = 0; | ||
5652 | } | ||
5653 | if (k >= 0) { | ||
5654 | b5 = 0; | ||
5655 | s5 = k; | ||
5656 | s2 += k; | ||
5657 | } | ||
5658 | else { | ||
5659 | b2 -= k; | ||
5660 | b5 = -k; | ||
5661 | s5 = 0; | ||
5662 | } | ||
5663 | if (mode < 0 || mode > 9) | ||
5664 | mode = 0; | ||
5665 | try_quick = 1; | ||
5666 | if (mode > 5) { | ||
5667 | mode -= 4; | ||
5668 | try_quick = 0; | ||
5669 | } | ||
5670 | leftright = 1; | ||
5671 | switch(mode) { | ||
5672 | case 0: | ||
5673 | case 1: | ||
5674 | ilim = ilim1 = -1; | ||
5675 | i = 18; | ||
5676 | ndigits = 0; | ||
5677 | break; | ||
5678 | case 2: | ||
5679 | leftright = 0; | ||
5680 | /* no break */ | ||
5681 | case 4: | ||
5682 | if (ndigits <= 0) | ||
5683 | ndigits = 1; | ||
5684 | ilim = ilim1 = i = ndigits; | ||
5685 | break; | ||
5686 | case 3: | ||
5687 | leftright = 0; | ||
5688 | /* no break */ | ||
5689 | case 5: | ||
5690 | i = ndigits + k + 1; | ||
5691 | ilim = i; | ||
5692 | ilim1 = i - 1; | ||
5693 | if (i <= 0) | ||
5694 | i = 1; | ||
5695 | } | ||
5696 | *resultp = (char *) malloc(i + 1); | ||
5697 | s = s0 = *resultp; | ||
5698 | |||
5699 | if (ilim >= 0 && ilim <= Quick_max && try_quick) { | ||
5700 | |||
5701 | /* Try to get by with floating-point arithmetic. */ | ||
5702 | |||
5703 | i = 0; | ||
5704 | d2 = d; | ||
5705 | k0 = k; | ||
5706 | ilim0 = ilim; | ||
5707 | ieps = 2; /* conservative */ | ||
5708 | if (k > 0) { | ||
5709 | ds = tens[k&0xf]; | ||
5710 | j = k >> 4; | ||
5711 | if (j & Bletch) { | ||
5712 | /* prevent overflows */ | ||
5713 | j &= Bletch - 1; | ||
5714 | d /= bigtens[n_bigtens-1]; | ||
5715 | ieps++; | ||
5716 | } | ||
5717 | for(; j; j >>= 1, i++) | ||
5718 | if (j & 1) { | ||
5719 | ieps++; | ||
5720 | ds *= bigtens[i]; | ||
5721 | } | ||
5722 | d /= ds; | ||
5723 | } | ||
5724 | else if ((j1 = -k) != 0) { | ||
5725 | d *= tens[j1 & 0xf]; | ||
5726 | for(j = j1 >> 4; j; j >>= 1, i++) | ||
5727 | if (j & 1) { | ||
5728 | ieps++; | ||
5729 | d *= bigtens[i]; | ||
5730 | } | ||
5731 | } | ||
5732 | if (k_check && d < 1. && ilim > 0) { | ||
5733 | if (ilim1 <= 0) | ||
5734 | goto fast_failed; | ||
5735 | ilim = ilim1; | ||
5736 | k--; | ||
5737 | d *= 10.; | ||
5738 | ieps++; | ||
5739 | } | ||
5740 | eps = ieps*d + 7.; | ||
5741 | word0(eps) -= (P-1)*Exp_msk1; | ||
5742 | if (ilim == 0) { | ||
5743 | S = mhi = 0; | ||
5744 | d -= 5.; | ||
5745 | if (d > eps) | ||
5746 | goto one_digit; | ||
5747 | if (d < -eps) | ||
5748 | goto no_digits; | ||
5749 | goto fast_failed; | ||
5750 | } | ||
5751 | #ifndef No_leftright | ||
5752 | if (leftright) { | ||
5753 | /* Use Steele & White method of only | ||
5754 | * generating digits needed. | ||
5755 | */ | ||
5756 | eps = 0.5/tens[ilim-1] - eps; | ||
5757 | for(i = 0;;) { | ||
5758 | L = (Long)d; | ||
5759 | d -= L; | ||
5760 | *s++ = '0' + (int)L; | ||
5761 | if (d < eps) | ||
5762 | goto ret1; | ||
5763 | if (1. - d < eps) | ||
5764 | goto bump_up; | ||
5765 | if (++i >= ilim) | ||
5766 | break; | ||
5767 | eps *= 10.; | ||
5768 | d *= 10.; | ||
5769 | } | ||
5770 | } | ||
5771 | else { | ||
5772 | #endif | ||
5773 | /* Generate ilim digits, then fix them up. */ | ||
5774 | eps *= tens[ilim-1]; | ||
5775 | for(i = 1;; i++, d *= 10.) { | ||
5776 | L = (Long)d; | ||
5777 | d -= L; | ||
5778 | *s++ = '0' + (int)L; | ||
5779 | if (i == ilim) { | ||
5780 | if (d > 0.5 + eps) | ||
5781 | goto bump_up; | ||
5782 | else if (d < 0.5 - eps) { | ||
5783 | while(*--s == '0'); | ||
5784 | s++; | ||
5785 | goto ret1; | ||
5786 | } | ||
5787 | break; | ||
5788 | } | ||
5789 | } | ||
5790 | #ifndef No_leftright | ||
5791 | } | ||
5792 | #endif | ||
5793 | fast_failed: | ||
5794 | s = s0; | ||
5795 | d = d2; | ||
5796 | k = k0; | ||
5797 | ilim = ilim0; | ||
5798 | } | ||
5799 | |||
5800 | /* Do we have a "small" integer? */ | ||
5801 | |||
5802 | if (be >= 0 && k <= Int_max) { | ||
5803 | /* Yes. */ | ||
5804 | ds = tens[k]; | ||
5805 | if (ndigits < 0 && ilim <= 0) { | ||
5806 | S = mhi = 0; | ||
5807 | if (ilim < 0 || d <= 5*ds) | ||
5808 | goto no_digits; | ||
5809 | goto one_digit; | ||
5810 | } | ||
5811 | for(i = 1;; i++) { | ||
5812 | L = (Long)(d / ds); | ||
5813 | d -= L*ds; | ||
5814 | #ifdef Check_FLT_ROUNDS | ||
5815 | /* If FLT_ROUNDS == 2, L will usually be high by 1 */ | ||
5816 | if (d < 0) { | ||
5817 | L--; | ||
5818 | d += ds; | ||
5819 | } | ||
5820 | #endif | ||
5821 | *s++ = '0' + (int)L; | ||
5822 | if (i == ilim) { | ||
5823 | d += d; | ||
5824 | if (d > ds || (d == ds && L & 1)) { | ||
5825 | bump_up: | ||
5826 | while(*--s == '9') | ||
5827 | if (s == s0) { | ||
5828 | k++; | ||
5829 | *s = '0'; | ||
5830 | break; | ||
5831 | } | ||
5832 | ++*s++; | ||
5833 | } | ||
5834 | break; | ||
5835 | } | ||
5836 | if ((d *= 10.) == g_double_zero) | ||
5837 | break; | ||
5838 | } | ||
5839 | goto ret1; | ||
5840 | } | ||
5841 | |||
5842 | m2 = b2; | ||
5843 | m5 = b5; | ||
5844 | mhi = mlo = 0; | ||
5845 | if (leftright) { | ||
5846 | if (mode < 2) { | ||
5847 | i = | ||
5848 | #ifndef Sudden_Underflow | ||
5849 | denorm ? be + (Bias + (P-1) - 1 + 1) : | ||
5850 | #endif | ||
5851 | #ifdef IBM | ||
5852 | 1 + 4*P - 3 - bbits + ((bbits + be - 1) & 3); | ||
5853 | #else | ||
5854 | 1 + P - bbits; | ||
5855 | #endif | ||
5856 | } | ||
5857 | else { | ||
5858 | j = ilim - 1; | ||
5859 | if (m5 >= j) | ||
5860 | m5 -= j; | ||
5861 | else { | ||
5862 | s5 += j -= m5; | ||
5863 | b5 += j; | ||
5864 | m5 = 0; | ||
5865 | } | ||
5866 | if ((i = ilim) < 0) { | ||
5867 | m2 -= i; | ||
5868 | i = 0; | ||
5869 | } | ||
5870 | } | ||
5871 | b2 += i; | ||
5872 | s2 += i; | ||
5873 | mhi = i2b(1); | ||
5874 | } | ||
5875 | if (m2 > 0 && s2 > 0) { | ||
5876 | i = m2 < s2 ? m2 : s2; | ||
5877 | b2 -= i; | ||
5878 | m2 -= i; | ||
5879 | s2 -= i; | ||
5880 | } | ||
5881 | if (b5 > 0) { | ||
5882 | if (leftright) { | ||
5883 | if (m5 > 0) { | ||
5884 | mhi = pow5mult(mhi, m5); | ||
5885 | b1 = mult(mhi, b); | ||
5886 | Bfree(b); | ||
5887 | b = b1; | ||
5888 | } | ||
5889 | if ((j = b5 - m5) != 0) | ||
5890 | b = pow5mult(b, j); | ||
5891 | } | ||
5892 | else | ||
5893 | b = pow5mult(b, b5); | ||
5894 | } | ||
5895 | S = i2b(1); | ||
5896 | if (s5 > 0) | ||
5897 | S = pow5mult(S, s5); | ||
5898 | |||
5899 | /* Check for special case that d is a normalized power of 2. */ | ||
5900 | |||
5901 | if (mode < 2) { | ||
5902 | if (!word1(d) && !(word0(d) & Bndry_mask) | ||
5903 | #ifndef Sudden_Underflow | ||
5904 | && word0(d) & Exp_mask | ||
5905 | #endif | ||
5906 | ) { | ||
5907 | /* The special case */ | ||
5908 | b2 += Log2P; | ||
5909 | s2 += Log2P; | ||
5910 | spec_case = 1; | ||
5911 | } | ||
5912 | else | ||
5913 | spec_case = 0; | ||
5914 | } | ||
5915 | |||
5916 | /* Arrange for convenient computation of quotients: | ||
5917 | * shift left if necessary so divisor has 4 leading 0 bits. | ||
5918 | * | ||
5919 | * Perhaps we should just compute leading 28 bits of S once | ||
5920 | * and for all and pass them and a shift to quorem, so it | ||
5921 | * can do shifts and ors to compute the numerator for q. | ||
5922 | */ | ||
5923 | #ifdef Pack_32 | ||
5924 | if ((i = ((s5 ? 32 - hi0bits(S->x[S->wds-1]) : 1) + s2) & 0x1f) != 0) | ||
5925 | i = 32 - i; | ||
5926 | #else | ||
5927 | if (i = ((s5 ? 32 - hi0bits(S->x[S->wds-1]) : 1) + s2) & 0xf) | ||
5928 | i = 16 - i; | ||
5929 | #endif | ||
5930 | if (i > 4) { | ||
5931 | i -= 4; | ||
5932 | b2 += i; | ||
5933 | m2 += i; | ||
5934 | s2 += i; | ||
5935 | } | ||
5936 | else if (i < 4) { | ||
5937 | i += 28; | ||
5938 | b2 += i; | ||
5939 | m2 += i; | ||
5940 | s2 += i; | ||
5941 | } | ||
5942 | if (b2 > 0) | ||
5943 | b = lshift(b, b2); | ||
5944 | if (s2 > 0) | ||
5945 | S = lshift(S, s2); | ||
5946 | if (k_check) { | ||
5947 | if (cmp(b,S) < 0) { | ||
5948 | k--; | ||
5949 | b = multadd(b, 10, 0);/* we botched the k estimate */ | ||
5950 | if (leftright) | ||
5951 | mhi = multadd(mhi, 10, 0); | ||
5952 | ilim = ilim1; | ||
5953 | } | ||
5954 | } | ||
5955 | if (ilim <= 0 && mode > 2) { | ||
5956 | if (ilim < 0 || cmp(b,S = multadd(S,5,0)) <= 0) { | ||
5957 | /* no digits, fcvt style */ | ||
5958 | no_digits: | ||
5959 | k = -1 - ndigits; | ||
5960 | goto ret; | ||
5961 | } | ||
5962 | one_digit: | ||
5963 | *s++ = '1'; | ||
5964 | k++; | ||
5965 | goto ret; | ||
5966 | } | ||
5967 | if (leftright) { | ||
5968 | if (m2 > 0) | ||
5969 | mhi = lshift(mhi, m2); | ||
5970 | |||
5971 | /* Compute mlo -- check for special case | ||
5972 | * that d is a normalized power of 2. | ||
5973 | */ | ||
5974 | |||
5975 | mlo = mhi; | ||
5976 | if (spec_case) { | ||
5977 | mhi = Balloc(mhi->k); | ||
5978 | Bcopy(mhi, mlo); | ||
5979 | mhi = lshift(mhi, Log2P); | ||
5980 | } | ||
5981 | |||
5982 | for(i = 1;;i++) { | ||
5983 | dig = quorem(b,S) + '0'; | ||
5984 | /* Do we yet have the shortest decimal string | ||
5985 | * that will round to d? | ||
5986 | */ | ||
5987 | j = cmp(b, mlo); | ||
5988 | delta = diff(S, mhi); | ||
5989 | j1 = delta->sign ? 1 : cmp(b, delta); | ||
5990 | Bfree(delta); | ||
5991 | #ifndef ROUND_BIASED | ||
5992 | if (j1 == 0 && !mode && !(word1(d) & 1)) { | ||
5993 | if (dig == '9') | ||
5994 | goto round_9_up; | ||
5995 | if (j > 0) | ||
5996 | dig++; | ||
5997 | *s++ = dig; | ||
5998 | goto ret; | ||
5999 | } | ||
6000 | #endif | ||
6001 | if (j < 0 || (j == 0 && !mode | ||
6002 | #ifndef ROUND_BIASED | ||
6003 | && !(word1(d) & 1) | ||
6004 | #endif | ||
6005 | )) { | ||
6006 | if (j1 > 0) { | ||
6007 | b = lshift(b, 1); | ||
6008 | j1 = cmp(b, S); | ||
6009 | if ((j1 > 0 || (j1 == 0 && dig & 1)) | ||
6010 | && dig++ == '9') | ||
6011 | goto round_9_up; | ||
6012 | } | ||
6013 | *s++ = dig; | ||
6014 | goto ret; | ||
6015 | } | ||
6016 | if (j1 > 0) { | ||
6017 | if (dig == '9') { /* possible if i == 1 */ | ||
6018 | round_9_up: | ||
6019 | *s++ = '9'; | ||
6020 | goto roundoff; | ||
6021 | } | ||
6022 | *s++ = dig + 1; | ||
6023 | goto ret; | ||
6024 | } | ||
6025 | *s++ = dig; | ||
6026 | if (i == ilim) | ||
6027 | break; | ||
6028 | b = multadd(b, 10, 0); | ||
6029 | if (mlo == mhi) | ||
6030 | mlo = mhi = multadd(mhi, 10, 0); | ||
6031 | else { | ||
6032 | mlo = multadd(mlo, 10, 0); | ||
6033 | mhi = multadd(mhi, 10, 0); | ||
6034 | } | ||
6035 | } | ||
6036 | } | ||
6037 | else | ||
6038 | for(i = 1;; i++) { | ||
6039 | *s++ = dig = quorem(b,S) + '0'; | ||
6040 | if (i >= ilim) | ||
6041 | break; | ||
6042 | b = multadd(b, 10, 0); | ||
6043 | } | ||
6044 | |||
6045 | /* Round off last digit */ | ||
6046 | |||
6047 | b = lshift(b, 1); | ||
6048 | j = cmp(b, S); | ||
6049 | if (j > 0 || (j == 0 && dig & 1)) { | ||
6050 | roundoff: | ||
6051 | while(*--s == '9') | ||
6052 | if (s == s0) { | ||
6053 | k++; | ||
6054 | *s++ = '1'; | ||
6055 | goto ret; | ||
6056 | } | ||
6057 | ++*s++; | ||
6058 | } | ||
6059 | else { | ||
6060 | while(*--s == '0'); | ||
6061 | s++; | ||
6062 | } | ||
6063 | ret: | ||
6064 | Bfree(S); | ||
6065 | if (mhi) { | ||
6066 | if (mlo && mlo != mhi) | ||
6067 | Bfree(mlo); | ||
6068 | Bfree(mhi); | ||
6069 | } | ||
6070 | ret1: | ||
6071 | Bfree(b); | ||
6072 | if (s == s0) { /* don't return empty string */ | ||
6073 | *s++ = '0'; | ||
6074 | k = 0; | ||
6075 | } | ||
6076 | *s = 0; | ||
6077 | *decpt = k + 1; | ||
6078 | if (rve) | ||
6079 | *rve = s; | ||
6080 | return s0; | ||
6081 | } | ||
6082 | |||
6083 | #endif // QT_QLOCALE_USES_FCVT | ||
diff --git a/qmake/tools/qsettings.cpp b/qmake/tools/qsettings.cpp index 35fc039..598e94b 100644 --- a/qmake/tools/qsettings.cpp +++ b/qmake/tools/qsettings.cpp | |||
@@ -1,597 +1,564 @@ | |||
1 | /**************************************************************************** | 1 | /**************************************************************************** |
2 | ** $Id$ | 2 | ** |
3 | ** | 3 | ** |
4 | ** Implementation of QSettings class | 4 | ** Implementation of QSettings class |
5 | ** | 5 | ** |
6 | ** Created : 000626 | 6 | ** Created : 000626 |
7 | ** | 7 | ** |
8 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | 8 | ** Copyright (C) 2000-2003 Trolltech AS. All rights reserved. |
9 | ** | 9 | ** |
10 | ** This file is part of the tools module of the Qt GUI Toolkit. | 10 | ** This file is part of the tools module of the Qt GUI Toolkit. |
11 | ** | 11 | ** |
12 | ** This file may be distributed under the terms of the Q Public License | 12 | ** This file may be distributed under the terms of the Q Public License |
13 | ** as defined by Trolltech AS of Norway and appearing in the file | 13 | ** as defined by Trolltech AS of Norway and appearing in the file |
14 | ** LICENSE.QPL included in the packaging of this file. | 14 | ** LICENSE.QPL included in the packaging of this file. |
15 | ** | 15 | ** |
16 | ** This file may be distributed and/or modified under the terms of the | 16 | ** This file may be distributed and/or modified under the terms of the |
17 | ** GNU General Public License version 2 as published by the Free Software | 17 | ** GNU General Public License version 2 as published by the Free Software |
18 | ** Foundation and appearing in the file LICENSE.GPL included in the | 18 | ** Foundation and appearing in the file LICENSE.GPL included in the |
19 | ** packaging of this file. | 19 | ** packaging of this file. |
20 | ** | 20 | ** |
21 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition | 21 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition |
22 | ** licenses may use this file in accordance with the Qt Commercial License | 22 | ** licenses may use this file in accordance with the Qt Commercial License |
23 | ** Agreement provided with the Software. | 23 | ** Agreement provided with the Software. |
24 | ** | 24 | ** |
25 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 25 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
26 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 26 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
27 | ** | 27 | ** |
28 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for | 28 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for |
29 | ** information about Qt Commercial License Agreements. | 29 | ** information about Qt Commercial License Agreements. |
30 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | 30 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. |
31 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 31 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
32 | ** | 32 | ** |
33 | ** Contact info@trolltech.com if any conditions of this licensing are | 33 | ** Contact info@trolltech.com if any conditions of this licensing are |
34 | ** not clear to you. | 34 | ** not clear to you. |
35 | ** | 35 | ** |
36 | **********************************************************************/ | 36 | **********************************************************************/ |
37 | 37 | ||
38 | #include "qplatformdefs.h" | 38 | #include "qplatformdefs.h" |
39 | 39 | ||
40 | // POSIX Large File Support redefines open -> open64 | 40 | // POSIX Large File Support redefines open -> open64 |
41 | static inline int qt_open( const char *pathname, int flags, mode_t mode ) | 41 | static inline int qt_open( const char *pathname, int flags, mode_t mode ) |
42 | { return ::open( pathname, flags, mode ); } | 42 | { return ::open( pathname, flags, mode ); } |
43 | #if defined(open) | 43 | #if defined(open) |
44 | # undef open | 44 | # undef open |
45 | #endif | 45 | #endif |
46 | 46 | ||
47 | // POSIX Large File Support redefines truncate -> truncate64 | 47 | // POSIX Large File Support redefines truncate -> truncate64 |
48 | #if defined(truncate) | 48 | #if defined(truncate) |
49 | # undef truncate | 49 | # undef truncate |
50 | #endif | 50 | #endif |
51 | 51 | ||
52 | #include "qsettings.h" | 52 | #include "qsettings.h" |
53 | 53 | ||
54 | #ifndef QT_NO_SETTINGS | 54 | #ifndef QT_NO_SETTINGS |
55 | 55 | ||
56 | #include "qdir.h" | 56 | #include "qdir.h" |
57 | #include "qfile.h" | 57 | #include "qfile.h" |
58 | #include "qfileinfo.h" | 58 | #include "qfileinfo.h" |
59 | #include "qmap.h" | 59 | #include "qmap.h" |
60 | #include "qtextstream.h" | 60 | #include "qtextstream.h" |
61 | #include "qregexp.h" | 61 | #include "qregexp.h" |
62 | #include <private/qsettings_p.h> | 62 | #include <private/qsettings_p.h> |
63 | #ifndef NO_ERRNO_H | ||
63 | #include <errno.h> | 64 | #include <errno.h> |
65 | #endif | ||
64 | 66 | ||
65 | /*! | 67 | /*! |
66 | \class QSettings | 68 | \class QSettings |
67 | \brief The QSettings class provides persistent platform-independent application settings. | 69 | \brief The QSettings class provides persistent platform-independent application settings. |
68 | 70 | ||
69 | \ingroup io | 71 | \ingroup io |
70 | \ingroup misc | 72 | \ingroup misc |
71 | \mainclass | 73 | \mainclass |
72 | 74 | ||
73 | On Unix systems, QSettings uses text files to store settings. On Windows | 75 | On Unix systems, QSettings uses text files to store settings. On Windows |
74 | systems, QSettings uses the system registry. On Mac OS X, QSettings uses | 76 | systems, QSettings uses the system registry. On Mac OS X, QSettings uses |
75 | the Carbon preferences API. | 77 | the Carbon preferences API. |
76 | 78 | ||
77 | Each setting comprises an identifying key and the data associated with | 79 | Each setting comprises an identifying key and the data associated with |
78 | the key. A key is a unicode string which consists of \e two or more | 80 | the key. A key is a unicode string which consists of \e two or more |
79 | subkeys. A subkey is a slash, '/', followed by one or more unicode | 81 | subkeys. A subkey is a slash, '/', followed by one or more unicode |
80 | characters (excluding slashes, newlines, carriage returns and equals, | 82 | characters (excluding slashes, newlines, carriage returns and equals, |
81 | '=', signs). The associated data, called the entry or value, may be a | 83 | '=', signs). The associated data, called the entry or value, may be a |
82 | boolean, an integer, a double, a string or a list of strings. Entry | 84 | boolean, an integer, a double, a string or a list of strings. Entry |
83 | strings may contain any unicode characters. | 85 | strings may contain any unicode characters. |
84 | 86 | ||
85 | If you want to save and restore the entire desktop's settings, i.e. | 87 | If you want to save and restore the entire desktop's settings, i.e. |
86 | which applications are running, use QSettings to save the settings | 88 | which applications are running, use QSettings to save the settings |
87 | for each individual application and QSessionManager to save the | 89 | for each individual application and QSessionManager to save the |
88 | desktop's session. | 90 | desktop's session. |
89 | 91 | ||
90 | Example settings: | 92 | Example settings: |
91 | \code | 93 | \code |
92 | /MyCompany/MyApplication/background color | 94 | /MyCompany/MyApplication/background color |
93 | /MyCompany/MyApplication/foreground color | 95 | /MyCompany/MyApplication/foreground color |
94 | /MyCompany/MyApplication/geometry/x | 96 | /MyCompany/MyApplication/geometry/x |
95 | /MyCompany/MyApplication/geometry/y | 97 | /MyCompany/MyApplication/geometry/y |
96 | /MyCompany/MyApplication/geometry/width | 98 | /MyCompany/MyApplication/geometry/width |
97 | /MyCompany/MyApplication/geometry/height | 99 | /MyCompany/MyApplication/geometry/height |
98 | /MyCompany/MyApplication/recent files/1 | 100 | /MyCompany/MyApplication/recent files/1 |
99 | /MyCompany/MyApplication/recent files/2 | 101 | /MyCompany/MyApplication/recent files/2 |
100 | /MyCompany/MyApplication/recent files/3 | 102 | /MyCompany/MyApplication/recent files/3 |
101 | \endcode | 103 | \endcode |
102 | Each line above is a complete key, made up of subkeys. | 104 | Each line above is a complete key, made up of subkeys. |
103 | 105 | ||
104 | A typical usage pattern for reading application startup: | 106 | A typical usage pattern for reading settings at application |
107 | startup: | ||
105 | \code | 108 | \code |
106 | QSettings settings; | 109 | QSettings settings; |
107 | settings.setPath( "MyCompany.com", "MyApplication" ); | 110 | settings.setPath( "MyCompany.com", "MyApplication" ); |
108 | 111 | ||
109 | QString bgColor = settings.readEntry( "/colors/background", "white" ); | 112 | QString bgColor = settings.readEntry( "/colors/background", "white" ); |
110 | int width = settings.readNumEntry( "/geometry/width", 640 ); | 113 | int width = settings.readNumEntry( "/geometry/width", 640 ); |
111 | // ... | 114 | // ... |
112 | \endcode | 115 | \endcode |
113 | 116 | ||
114 | A typical usage pattern for application exit or 'save preferences': | 117 | A typical usage pattern for saving settings at application exit or |
118 | 'save preferences': | ||
115 | \code | 119 | \code |
116 | QSettings settings; | 120 | QSettings settings; |
117 | settings.setPath( "MyCompany.com", "MyApplication" ); | 121 | settings.setPath( "MyCompany.com", "MyApplication" ); |
118 | 122 | ||
119 | settings.writeEntry( "/colors/background", bgColor ); | 123 | settings.writeEntry( "/colors/background", bgColor ); |
120 | settings.writeEntry( "/geometry/width", width ); | 124 | settings.writeEntry( "/geometry/width", width ); |
121 | // ... | 125 | // ... |
122 | \endcode | 126 | \endcode |
123 | 127 | ||
124 | QSettings can build a key prefix that is prepended to all keys. To | 128 | A key prefix can be prepended to all keys using beginGroup(). The |
125 | build the key prefix, use beginGroup() and endGroup(). | 129 | application of the prefix is stopped using endGroup(). For |
130 | example: | ||
126 | \code | 131 | \code |
127 | QSettings settings; | 132 | QSettings settings; |
128 | 133 | ||
129 | settings.beginGroup( "/MainWindow" ); | 134 | settings.beginGroup( "/MainWindow" ); |
130 | settings.beginGroup( "/Geometry" ); | 135 | settings.beginGroup( "/Geometry" ); |
131 | int x = settings.readEntry( "/x" ); | 136 | int x = settings.readEntry( "/x" ); |
132 | // ... | 137 | // ... |
133 | settings.endGroup(); | 138 | settings.endGroup(); |
134 | settings.beginGroup( "/Toolbars" ); | 139 | settings.beginGroup( "/Toolbars" ); |
135 | // ... | 140 | // ... |
136 | settings.endGroup(); | 141 | settings.endGroup(); |
137 | settings.endGroup(); | 142 | settings.endGroup(); |
138 | \endcode | 143 | \endcode |
139 | 144 | ||
140 | You can get a list of entry-holding keys by calling entryList(), and | 145 | You can get a list of entry-holding keys by calling entryList(), and |
141 | a list of key-holding keys using subkeyList(). | 146 | a list of key-holding keys using subkeyList(). |
142 | 147 | ||
143 | \code | 148 | \code |
144 | QStringList keys = entryList( "/MyApplication" ); | 149 | QStringList keys = entryList( "/MyApplication" ); |
145 | // keys contains 'background color' and 'foreground color'. | 150 | // keys contains 'background color' and 'foreground color'. |
146 | 151 | ||
147 | QStringList keys = entryList( "/MyApplication/recent files" ); | 152 | QStringList keys = entryList( "/MyApplication/recent files" ); |
148 | // keys contains '1', '2' and '3'. | 153 | // keys contains '1', '2' and '3'. |
149 | 154 | ||
150 | QStringList subkeys = subkeyList( "/MyApplication" ); | 155 | QStringList subkeys = subkeyList( "/MyApplication" ); |
151 | // subkeys contains 'geometry' and 'recent files' | 156 | // subkeys contains 'geometry' and 'recent files' |
152 | 157 | ||
153 | QStringList subkeys = subkeyList( "/MyApplication/recent files" ); | 158 | QStringList subkeys = subkeyList( "/MyApplication/recent files" ); |
154 | // subkeys is empty. | 159 | // subkeys is empty. |
155 | \endcode | 160 | \endcode |
156 | 161 | ||
157 | Since settings for Windows are stored in the registry there are size | 162 | Since settings for Windows are stored in the registry there are |
158 | limits as follows: | 163 | some size limitations as follows: |
159 | \list | 164 | \list |
160 | \i A subkey may not exceed 255 characters. | 165 | \i A subkey may not exceed 255 characters. |
161 | \i An entry's value may not exceed 16,300 characters. | 166 | \i An entry's value may not exceed 16,300 characters. |
162 | \i All the values of a key (for example, all the 'recent files' | 167 | \i All the values of a key (for example, all the 'recent files' |
163 | subkeys values), may not exceed 65,535 characters. | 168 | subkeys values), may not exceed 65,535 characters. |
164 | \endlist | 169 | \endlist |
165 | 170 | ||
166 | These limitations are not enforced on Unix or Mac OS X. | 171 | These limitations are not enforced on Unix or Mac OS X. |
167 | 172 | ||
168 | If you wish to use a different search path call insertSearchPath() | 173 | \warning Creating multiple, simultaneous instances of QSettings writing |
169 | as often as necessary to add your preferred paths. Call | 174 | to a text file may lead to data loss! This is a known issue which will |
170 | removeSearchPath() to remove any unwanted paths. | 175 | be fixed in a future release of Qt. |
171 | 176 | ||
172 | \section1 Notes for Mac OS X Applications | 177 | \section1 Notes for Mac OS X Applications |
173 | 178 | ||
174 | Internal to the CFPreferences API it is not defined (for Mac OS 9 | 179 | The location where settings are stored is not formally defined by |
175 | support) where the settings will ultimitely be stored. However, at the | 180 | the CFPreferences API. |
176 | time of this writing the settings will be stored (either on a global or | 181 | |
177 | user basis, preferring locally) into a plist file in | 182 | At the time of writing settings are stored (either on a global or |
178 | $ROOT/System/Library/Preferences (in XML format). QSettings will create | 183 | user basis, preferring locally) into a plist file in \c |
179 | an appropriate plist file (com.<first group name>.plist) out of the | 184 | $ROOT/System/Library/Preferences (in XML format). QSettings will |
180 | full path to a key. | 185 | create an appropriate plist file (\c{com.<first group name>.plist}) |
186 | out of the full path to a key. | ||
181 | 187 | ||
182 | For further information on CFPreferences see also | 188 | For further information on CFPreferences see |
183 | \link http://developer.apple.com/techpubs/macosx/CoreFoundation/PreferenceServices/preferenceservices_carbon.html | 189 | \link http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFPreferences/index.html |
184 | Apple's Specifications\endlink | 190 | Apple's Specifications\endlink |
185 | 191 | ||
186 | \section1 Notes for Unix Applications | 192 | \section1 Notes for Unix Applications |
187 | 193 | ||
188 | There is no universally accepted place for storing application | 194 | There is no universally accepted place for storing application |
189 | settings under Unix. In the examples the settings file will be | 195 | settings under Unix. In the examples the settings file will be |
190 | searched for in the following directories: | 196 | searched for in the following directories: |
191 | \list 1 | 197 | \list 1 |
192 | \i INSTALL/etc/settings | 198 | \i \c SYSCONF - the default value is \c INSTALL/etc/settings |
193 | \i /opt/MyCompany/share/etc | 199 | \i \c /opt/MyCompany/share/etc |
194 | \i /opt/MyCompany/share/MyApplication/etc | 200 | \i \c /opt/MyCompany/share/MyApplication/etc |
195 | \i $HOME/.qt | 201 | \i \c $HOME/.qt |
196 | \endlist | 202 | \endlist |
197 | When reading settings the files are searched in the order shown | 203 | When reading settings the files are searched in the order shown |
198 | above, with later settings overriding earlier settings. Files for | 204 | above, with later settings overriding earlier settings. Files for |
199 | which the user doesn't have read permission are ignored. When saving | 205 | which the user doesn't have read permission are ignored. When saving |
200 | settings QSettings works in the order shown above, writing | 206 | settings QSettings works in the order shown above, writing |
201 | to the first settings file for which the user has write permission. | 207 | to the first settings file for which the user has write permission. |
202 | (\c INSTALL is the directory where Qt was installed. This can be | 208 | (\c INSTALL is the directory where Qt was installed. This can be |
203 | modified by using the configure script's -prefix argument ) | 209 | modified by using the configure script's -prefix argument ) |
204 | 210 | ||
205 | If you want to put the settings in a particular place in the | 211 | If you want to put the settings in a particular place in the |
206 | filesystem you could do this: | 212 | filesystem you could do this: |
207 | \code | 213 | \code |
208 | settings.insertSearchPath( QSettings::Unix, "/opt/MyCompany/share" ); | 214 | settings.insertSearchPath( QSettings::Unix, "/opt/MyCompany/share" ); |
209 | \endcode | 215 | \endcode |
210 | 216 | ||
211 | But in practice you may prefer not to use a search path for Unix. | 217 | But in practice you may prefer not to use a search path for Unix. |
212 | For example the following code: | 218 | For example the following code: |
213 | \code | 219 | \code |
214 | settings.writeEntry( "/MyApplication/geometry/width", width ); | 220 | settings.writeEntry( "/MyApplication/geometry/width", width ); |
215 | \endcode | 221 | \endcode |
216 | will end up writing the "geometry/width" setting to the file | 222 | will end up writing the "geometry/width" setting to the file |
217 | \c{$HOME/.qt/myapplicationrc} (assuming that the application is | 223 | \c{$HOME/.qt/myapplicationrc} (assuming that the application is |
218 | being run by an ordinary user, i.e. not by root). | 224 | being run by an ordinary user, i.e. not by root). |
219 | 225 | ||
220 | For cross-platform applications you should ensure that the Windows | 226 | For cross-platform applications you should ensure that the |
221 | size limitations are not exceeded. | 227 | \link #sizelimit Windows size limitations \endlink are not exceeded. |
222 | */ | 228 | */ |
223 | 229 | ||
224 | /*! | 230 | /*! |
225 | \enum QSettings::System | 231 | \enum QSettings::System |
226 | 232 | ||
227 | \value Mac Macintosh execution environments | 233 | \value Mac Macintosh execution environments |
228 | \value Unix Mac OS X, Unix, Linux and Unix-like execution environments | 234 | \value Unix Mac OS X, Unix, Linux and Unix-like execution environments |
229 | \value Windows Windows execution environments | 235 | \value Windows Windows execution environments |
230 | */ | 236 | */ |
231 | 237 | ||
232 | /*! | 238 | /*! |
233 | \enum QSettings::Format | 239 | \enum QSettings::Format |
234 | 240 | ||
235 | \value Native Store the settings in a platform dependent location | 241 | \value Native Store the settings in a platform dependent location |
236 | \value Ini Store the settings in a text file | 242 | \value Ini Store the settings in a text file |
237 | */ | 243 | */ |
238 | 244 | ||
239 | /*! | 245 | /*! |
240 | \enum QSettings::Scope | 246 | \enum QSettings::Scope |
241 | 247 | ||
242 | \value Global Save settings as global as possible | 248 | \value Global Save settings as global as possible |
243 | \value User Save settings in user space | 249 | \value User Save settings in user space |
244 | */ | 250 | */ |
245 | 251 | ||
246 | #if defined(Q_OS_UNIX) | 252 | #if defined(Q_OS_UNIX) |
247 | typedef int HANDLE; | 253 | typedef int HANDLE; |
248 | #define Q_LOCKREAD F_RDLCK | 254 | #define Q_LOCKREAD F_RDLCK |
249 | #define Q_LOCKWRITE F_WRLCK | 255 | #define Q_LOCKWRITE F_WRLCK |
250 | /* | 256 | /* |
251 | Locks the file specified by name. The lockfile is created as a | 257 | Locks the file specified by name. The lockfile is created as a |
252 | hidden file in the same directory as the target file, with .lock | 258 | hidden file in the same directory as the target file, with .lock |
253 | appended to the name. For example, "/etc/settings/onerc" uses a | 259 | appended to the name. For example, "/etc/settings/onerc" uses a |
254 | lockfile named "/etc/settings/.onerc.lock". The type argument | 260 | lockfile named "/etc/settings/.onerc.lock". The type argument |
255 | controls the type of the lock, it can be either F_RDLCK for a read | 261 | controls the type of the lock, it can be either F_RDLCK for a read |
256 | lock, or F_WRLCK for a write lock. | 262 | lock, or F_WRLCK for a write lock. |
257 | 263 | ||
258 | A file descriptor for the lock file is returned, and should be | 264 | A file descriptor for the lock file is returned, and should be |
259 | closed with closelock() when the lock is no longer needed. | 265 | closed with closelock() when the lock is no longer needed. |
260 | */ | 266 | */ |
261 | static HANDLE openlock( const QString &name, int type ) | 267 | static HANDLE openlock( const QString &name, int type ) |
262 | { | 268 | { |
263 | QFileInfo info( name ); | 269 | QFileInfo info( name ); |
264 | // lockfile should be hidden, and never removed | 270 | // lockfile should be hidden, and never removed |
265 | QString lockfile = info.dirPath() + "/." + info.fileName() + ".lock"; | 271 | QString lockfile = info.dirPath() + "/." + info.fileName() + ".lock"; |
266 | 272 | ||
267 | // open the lockfile | 273 | // open the lockfile |
268 | HANDLE fd = qt_open( QFile::encodeName( lockfile ), | 274 | HANDLE fd = qt_open( QFile::encodeName( lockfile ), |
269 | O_RDWR | O_CREAT, S_IRUSR | S_IWUSR ); | 275 | O_RDWR | O_CREAT, S_IRUSR | S_IWUSR ); |
270 | 276 | ||
271 | if ( fd < 0 ) { | 277 | if ( fd < 0 ) { |
272 | // failed to open the lock file, most likely because of permissions | 278 | // failed to open the lock file, most likely because of permissions |
273 | return fd; | 279 | return fd; |
274 | } | 280 | } |
275 | 281 | ||
276 | struct flock fl; | 282 | struct flock fl; |
277 | fl.l_type = type; | 283 | fl.l_type = type; |
278 | fl.l_whence = SEEK_SET; | 284 | fl.l_whence = SEEK_SET; |
279 | fl.l_start = 0; | 285 | fl.l_start = 0; |
280 | fl.l_len = 0; | 286 | fl.l_len = 0; |
281 | if ( fcntl( fd, F_SETLKW, &fl ) == -1 ) { | 287 | if ( fcntl( fd, F_SETLKW, &fl ) == -1 ) { |
282 | // the lock failed, so we should fail silently, so that people | 288 | // the lock failed, so we should fail silently, so that people |
283 | // using filesystems that do not support locking don't see | 289 | // using filesystems that do not support locking don't see |
284 | // numerous warnings about a failed lock | 290 | // numerous warnings about a failed lock |
285 | close( fd ); | 291 | close( fd ); |
286 | fd = -1; | 292 | fd = -1; |
287 | } | 293 | } |
288 | 294 | ||
289 | return fd; | 295 | return fd; |
290 | } | 296 | } |
291 | 297 | ||
292 | /* | 298 | /* |
293 | Closes the lock file specified by fd. fd is the file descriptor | 299 | Closes the lock file specified by fd. fd is the file descriptor |
294 | returned by the openlock() function. | 300 | returned by the openlock() function. |
295 | */ | 301 | */ |
296 | static void closelock( HANDLE fd ) | 302 | static void closelock( HANDLE fd ) |
297 | { | 303 | { |
298 | if ( fd < 0 ) { | 304 | if ( fd < 0 ) { |
299 | // the lock file is not open | 305 | // the lock file is not open |
300 | return; | 306 | return; |
301 | } | 307 | } |
302 | 308 | ||
303 | struct flock fl; | 309 | struct flock fl; |
304 | fl.l_type = F_UNLCK; | 310 | fl.l_type = F_UNLCK; |
305 | fl.l_whence = SEEK_SET; | 311 | fl.l_whence = SEEK_SET; |
306 | fl.l_start = 0; | 312 | fl.l_start = 0; |
307 | fl.l_len = 0; | 313 | fl.l_len = 0; |
308 | // ignore the return value, so that the unlock fails silently | 314 | // ignore the return value, so that the unlock fails silently |
309 | (void) fcntl( fd, F_SETLKW, &fl ); | 315 | (void) fcntl( fd, F_SETLKW, &fl ); |
310 | 316 | ||
311 | close( fd ); | 317 | close( fd ); |
312 | } | 318 | } |
313 | #elif defined(Q_WS_WIN) | ||
314 | #define Q_LOCKREAD 1 | ||
315 | #define Q_LOCKWRITE 2 | ||
316 | |||
317 | static HANDLE openlock( const QString &name, int /*type*/ ) | ||
318 | { | ||
319 | if ( !QFile::exists( name ) ) | ||
320 | return 0; | ||
321 | |||
322 | return 0; | ||
323 | |||
324 | HANDLE fd = 0; | ||
325 | |||
326 | QT_WA( { | ||
327 | fd = CreateFileW( (TCHAR*)name.ucs2(), GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); | ||
328 | } , { | ||
329 | fd = CreateFileA( name.local8Bit(), GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); | ||
330 | } ); | ||
331 | |||
332 | if ( !LockFile( fd, 0, 0, (DWORD)-1, (DWORD)-1 ) ) { // ### (DWORD)-1 ??? | ||
333 | #ifdef QT_CHECK_STATE | ||
334 | qWarning( "QSettings: openlock failed!" ); | ||
335 | #endif | ||
336 | } | ||
337 | return fd; | ||
338 | } | ||
339 | |||
340 | static void closelock( HANDLE fd ) | ||
341 | { | ||
342 | if ( !fd ) | ||
343 | return; | ||
344 | |||
345 | if ( !UnlockFile( fd, 0, 0, (DWORD)-1, (DWORD)-1 ) ) { // ### (DWORD)-1 ??? | ||
346 | #ifdef QT_CHECK_STATE | ||
347 | qWarning( "QSettings: closelock failed!"); | ||
348 | #endif | ||
349 | } | ||
350 | CloseHandle( fd ); | ||
351 | } | ||
352 | #endif | 319 | #endif |
353 | 320 | ||
354 | 321 | ||
355 | QSettingsGroup::QSettingsGroup() | 322 | QSettingsGroup::QSettingsGroup() |
356 | : modified(FALSE) | 323 | : modified(FALSE) |
357 | { | 324 | { |
358 | } | 325 | } |
359 | 326 | ||
360 | 327 | ||
361 | 328 | ||
362 | 329 | ||
363 | void QSettingsHeading::read(const QString &filename) | 330 | void QSettingsHeading::read(const QString &filename) |
364 | { | 331 | { |
365 | if (! QFileInfo(filename).exists()) | 332 | if (! QFileInfo(filename).exists()) |
366 | return; | 333 | return; |
367 | 334 | ||
335 | #ifndef Q_WS_WIN | ||
368 | HANDLE lockfd = openlock( filename, Q_LOCKREAD ); | 336 | HANDLE lockfd = openlock( filename, Q_LOCKREAD ); |
337 | #endif | ||
369 | 338 | ||
370 | QFile file(filename); | 339 | QFile file(filename); |
371 | if (! file.open(IO_ReadOnly)) { | 340 | if (! file.open(IO_ReadOnly)) { |
372 | #if defined(QT_CHECK_STATE) | 341 | #if defined(QT_CHECK_STATE) |
373 | qWarning("QSettings: failed to open file '%s'", filename.latin1()); | 342 | qWarning("QSettings: failed to open file '%s'", filename.latin1()); |
374 | #endif | 343 | #endif |
375 | return; | 344 | return; |
376 | } | 345 | } |
377 | 346 | ||
378 | git = end(); | 347 | git = end(); |
379 | 348 | ||
380 | QTextStream stream(&file); | 349 | QTextStream stream(&file); |
381 | stream.setEncoding(QTextStream::UnicodeUTF8); | 350 | stream.setEncoding(QTextStream::UnicodeUTF8); |
382 | while (! stream.atEnd()) | 351 | while (! stream.atEnd()) |
383 | parseLine(stream); | 352 | parseLine(stream); |
384 | 353 | ||
385 | git = end(); | 354 | git = end(); |
386 | 355 | ||
387 | file.close(); | 356 | file.close(); |
388 | 357 | ||
358 | #ifndef Q_WS_WIN | ||
389 | closelock( lockfd ); | 359 | closelock( lockfd ); |
360 | #endif | ||
390 | } | 361 | } |
391 | 362 | ||
392 | 363 | ||
393 | void QSettingsHeading::parseLine(QTextStream &stream) | 364 | void QSettingsHeading::parseLine(QTextStream &stream) |
394 | { | 365 | { |
395 | QString line = stream.readLine(); | 366 | QString line = stream.readLine(); |
396 | if (line.isEmpty()) | 367 | if (line.isEmpty()) |
397 | // empty line... we'll allow it | 368 | // empty line... we'll allow it |
398 | return; | 369 | return; |
399 | 370 | ||
400 | if (line[0] == QChar('#')) | 371 | if (line[0] == QChar('#')) |
401 | // commented line | 372 | // commented line |
402 | return; | 373 | return; |
403 | 374 | ||
404 | if (line[0] == QChar('[')) { | 375 | if (line[0] == QChar('[')) { |
405 | QString gname = line; | 376 | QString gname = line; |
406 | 377 | ||
407 | gname = gname.remove(0, 1); | 378 | gname = gname.remove((uint)0, 1); |
408 | if (gname[(int)gname.length() - 1] == QChar(']')) | 379 | if (gname[(int)gname.length() - 1] == QChar(']')) |
409 | gname = gname.remove(gname.length() - 1, 1); | 380 | gname = gname.remove(gname.length() - 1, 1); |
410 | 381 | ||
411 | git = find(gname); | 382 | git = find(gname); |
412 | if (git == end()) | 383 | if (git == end()) |
413 | git = replace(gname, QSettingsGroup()); | 384 | git = replace(gname, QSettingsGroup()); |
414 | } else { | 385 | } else { |
415 | if (git == end()) { | 386 | if (git == end()) { |
416 | #if defined(QT_CHECK_STATE) | 387 | #if defined(QT_CHECK_STATE) |
417 | qWarning("QSettings: line '%s' out of group", line.latin1()); | 388 | qWarning("QSettings: line '%s' out of group", line.latin1()); |
418 | #endif | 389 | #endif |
419 | return; | 390 | return; |
420 | } | 391 | } |
421 | 392 | ||
422 | int i = line.find('='); | 393 | int i = line.find('='); |
423 | if (i == -1) { | 394 | if (i == -1) { |
424 | #if defined(QT_CHECK_STATE) | 395 | #if defined(QT_CHECK_STATE) |
425 | qWarning("QSettings: malformed line '%s' in group '%s'", | 396 | qWarning("QSettings: malformed line '%s' in group '%s'", |
426 | line.latin1(), git.key().latin1()); | 397 | line.latin1(), git.key().latin1()); |
427 | #endif | 398 | #endif |
428 | return; | 399 | return; |
429 | } else { | 400 | } else { |
430 | QString key, value; | 401 | QString key, value; |
431 | key = line.left(i); | 402 | key = line.left(i); |
432 | value = ""; | 403 | value = ""; |
433 | bool esc=TRUE; | 404 | bool esc=TRUE; |
434 | i++; | 405 | i++; |
435 | while (esc) { | 406 | while (esc) { |
436 | esc = FALSE; | 407 | esc = FALSE; |
437 | for ( ; i < (int)line.length(); i++ ) { | 408 | for ( ; i < (int)line.length(); i++ ) { |
438 | if ( esc ) { | 409 | if ( esc ) { |
439 | if ( line[i] == 'n' ) | 410 | if ( line[i] == 'n' ) |
440 | value.append('\n'); // escaped newline | 411 | value.append('\n'); // escaped newline |
441 | else if ( line[i] == '0' ) | 412 | else if ( line[i] == '0' ) |
442 | value = QString::null; // escaped empty string | 413 | value = QString::null; // escaped empty string |
443 | else | 414 | else |
444 | value.append(line[i]); | 415 | value.append(line[i]); |
445 | esc = FALSE; | 416 | esc = FALSE; |
446 | } else if ( line[i] == '\\' ) | 417 | } else if ( line[i] == '\\' ) |
447 | esc = TRUE; | 418 | esc = TRUE; |
448 | else | 419 | else |
449 | value.append(line[i]); | 420 | value.append(line[i]); |
450 | } | 421 | } |
451 | if ( esc ) { | 422 | if ( esc ) { |
452 | // Backwards-compatiblity... | 423 | // Backwards-compatiblity... |
453 | // still escaped at EOL - manually escaped "newline" | 424 | // still escaped at EOL - manually escaped "newline" |
454 | if (stream.atEnd()) { | 425 | if (stream.atEnd()) { |
455 | #if defined(QT_CHECK_STATE) | 426 | #if defined(QT_CHECK_STATE) |
456 | qWarning("QSettings: reached end of file, expected continued line"); | 427 | qWarning("QSettings: reached end of file, expected continued line"); |
457 | #endif | 428 | #endif |
458 | break; | 429 | break; |
459 | } | 430 | } |
460 | value.append('\n'); | 431 | value.append('\n'); |
461 | line = stream.readLine(); | 432 | line = stream.readLine(); |
462 | i = 0; | 433 | i = 0; |
463 | } | 434 | } |
464 | } | 435 | } |
465 | 436 | ||
466 | (*git).insert(key, value); | 437 | (*git).insert(key, value); |
467 | } | 438 | } |
468 | } | 439 | } |
469 | } | 440 | } |
470 | 441 | ||
471 | #ifdef Q_WS_WIN // for homedirpath reading from registry | 442 | #ifdef Q_WS_WIN // for homedirpath reading from registry |
472 | #include "qt_windows.h" | 443 | #include "qt_windows.h" |
473 | #include "qlibrary.h" | 444 | #include "qlibrary.h" |
474 | 445 | ||
475 | #ifndef CSIDL_APPDATA | 446 | #ifndef CSIDL_APPDATA |
476 | #define CSIDL_APPDATA 0x001a // <user name>\Application Data | 447 | #define CSIDL_APPDATA 0x001a // <user name>\Application Data |
477 | #endif | 448 | #endif |
478 | #ifndef CSIDL_COMMON_APPDATA | 449 | #ifndef CSIDL_COMMON_APPDATA |
479 | #define CSIDL_COMMON_APPDATA 0x0023 // All Users\Application Data | 450 | #define CSIDL_COMMON_APPDATA 0x0023 // All Users\Application Data |
480 | #endif | 451 | #endif |
481 | 452 | ||
482 | #endif | 453 | #endif |
483 | 454 | ||
484 | QSettingsPrivate::QSettingsPrivate( QSettings::Format format ) | 455 | QSettingsPrivate::QSettingsPrivate( QSettings::Format format ) |
485 | : groupDirty( TRUE ), modified(FALSE), globalScope(TRUE) | 456 | : groupDirty( TRUE ), modified(FALSE), globalScope(TRUE) |
486 | { | 457 | { |
487 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 458 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
488 | if ( format != QSettings::Ini ) | 459 | if ( format != QSettings::Ini ) |
489 | return; | 460 | return; |
490 | #else | 461 | #else |
491 | Q_UNUSED( format ); | 462 | Q_UNUSED( format ); |
492 | #endif | 463 | #endif |
493 | 464 | ||
494 | QString appSettings(QDir::homeDirPath() + "/.qt/"); | 465 | QString appSettings(QDir::homeDirPath() + "/.qt/"); |
495 | QString defPath; | 466 | QString defPath; |
496 | #ifdef Q_WS_WIN | 467 | #ifdef Q_WS_WIN |
497 | #ifdef Q_OS_TEMP | 468 | #ifdef Q_OS_TEMP |
498 | TCHAR path[MAX_PATH]; | 469 | TCHAR path[MAX_PATH]; |
499 | SHGetSpecialFolderPath( 0, path, CSIDL_APPDATA, FALSE ); | 470 | SHGetSpecialFolderPath( 0, path, CSIDL_APPDATA, FALSE ); |
500 | appSettings = QString::fromUcs2( path ); | 471 | appSettings = QString::fromUcs2( path ); |
501 | SHGetSpecialFolderPath( 0, path, CSIDL_COMMON_APPDATA, FALSE ); | 472 | SHGetSpecialFolderPath( 0, path, CSIDL_COMMON_APPDATA, FALSE ); |
502 | defPath = QString::fromUcs2( path ); | 473 | defPath = QString::fromUcs2( path ); |
503 | #else | 474 | #else |
504 | QLibrary library( "shell32" ); | 475 | QLibrary library( "shell32" ); |
505 | library.setAutoUnload( FALSE ); | 476 | library.setAutoUnload( FALSE ); |
506 | QT_WA( { | 477 | QT_WA( { |
507 | typedef BOOL (WINAPI*GetSpecialFolderPath)(HWND, LPTSTR, int, BOOL); | 478 | typedef BOOL (WINAPI*GetSpecialFolderPath)(HWND, LPTSTR, int, BOOL); |
508 | GetSpecialFolderPath SHGetSpecialFolderPath = (GetSpecialFolderPath)library.resolve( "SHGetSpecialFolderPathW" ); | 479 | GetSpecialFolderPath SHGetSpecialFolderPath = (GetSpecialFolderPath)library.resolve( "SHGetSpecialFolderPathW" ); |
509 | if ( SHGetSpecialFolderPath ) { | 480 | if ( SHGetSpecialFolderPath ) { |
510 | TCHAR path[MAX_PATH]; | 481 | TCHAR path[MAX_PATH]; |
511 | SHGetSpecialFolderPath( 0, path, CSIDL_APPDATA, FALSE ); | 482 | SHGetSpecialFolderPath( 0, path, CSIDL_APPDATA, FALSE ); |
512 | appSettings = QString::fromUcs2( (ushort*)path ); | 483 | appSettings = QString::fromUcs2( (ushort*)path ); |
513 | SHGetSpecialFolderPath( 0, path, CSIDL_COMMON_APPDATA, FALSE ); | 484 | SHGetSpecialFolderPath( 0, path, CSIDL_COMMON_APPDATA, FALSE ); |
514 | defPath = QString::fromUcs2( (ushort*)path ); | 485 | defPath = QString::fromUcs2( (ushort*)path ); |
515 | } | 486 | } |
516 | } , { | 487 | } , { |
517 | typedef BOOL (WINAPI*GetSpecialFolderPath)(HWND, char*, int, BOOL); | 488 | typedef BOOL (WINAPI*GetSpecialFolderPath)(HWND, char*, int, BOOL); |
518 | GetSpecialFolderPath SHGetSpecialFolderPath = (GetSpecialFolderPath)library.resolve( "SHGetSpecialFolderPathA" ); | 489 | GetSpecialFolderPath SHGetSpecialFolderPath = (GetSpecialFolderPath)library.resolve( "SHGetSpecialFolderPathA" ); |
519 | if ( SHGetSpecialFolderPath ) { | 490 | if ( SHGetSpecialFolderPath ) { |
520 | char path[MAX_PATH]; | 491 | char path[MAX_PATH]; |
521 | SHGetSpecialFolderPath( 0, path, CSIDL_APPDATA, FALSE ); | 492 | SHGetSpecialFolderPath( 0, path, CSIDL_APPDATA, FALSE ); |
522 | appSettings = QString::fromLocal8Bit( path ); | 493 | appSettings = QString::fromLocal8Bit( path ); |
523 | SHGetSpecialFolderPath( 0, path, CSIDL_COMMON_APPDATA, FALSE ); | 494 | SHGetSpecialFolderPath( 0, path, CSIDL_COMMON_APPDATA, FALSE ); |
524 | defPath = QString::fromLocal8Bit( path ); | 495 | defPath = QString::fromLocal8Bit( path ); |
525 | } | 496 | } |
526 | } ); | 497 | } ); |
527 | #endif // Q_OS_TEMP | 498 | #endif // Q_OS_TEMP |
528 | #else | 499 | #else |
529 | // for now | 500 | defPath = qInstallPathSysconf(); |
530 | #define QSETTINGS_DEFAULT_PATH_SUFFIX "/etc/settings" | ||
531 | |||
532 | defPath = qInstallPath(); | ||
533 | defPath += QSETTINGS_DEFAULT_PATH_SUFFIX; | ||
534 | #endif | 501 | #endif |
535 | QDir dir(appSettings); | 502 | QDir dir(appSettings); |
536 | if (! dir.exists()) { | 503 | if (! dir.exists()) { |
537 | if (! dir.mkdir(dir.path())) | 504 | if (! dir.mkdir(dir.path())) |
538 | #if defined(QT_CHECK_STATE) | 505 | #if defined(QT_CHECK_STATE) |
539 | qWarning("QSettings: error creating %s", dir.path().latin1()); | 506 | qWarning("QSettings: error creating %s", dir.path().latin1()); |
540 | #else | 507 | #else |
541 | ; | 508 | ; |
542 | #endif | 509 | #endif |
543 | } | 510 | } |
544 | 511 | ||
545 | if ( !!defPath ) | 512 | if ( !!defPath ) |
546 | searchPaths.append(defPath); | 513 | searchPaths.append(defPath); |
547 | searchPaths.append(dir.path()); | 514 | searchPaths.append(dir.path()); |
548 | } | 515 | } |
549 | 516 | ||
550 | QSettingsPrivate::~QSettingsPrivate() | 517 | QSettingsPrivate::~QSettingsPrivate() |
551 | { | 518 | { |
552 | } | 519 | } |
553 | 520 | ||
554 | QSettingsGroup QSettingsPrivate::readGroup() | 521 | QSettingsGroup QSettingsPrivate::readGroup() |
555 | { | 522 | { |
556 | QSettingsHeading hd; | 523 | QSettingsHeading hd; |
557 | QSettingsGroup grp; | 524 | QSettingsGroup grp; |
558 | 525 | ||
559 | QMap<QString,QSettingsHeading>::Iterator headingsit = headings.find(heading); | 526 | QMap<QString,QSettingsHeading>::Iterator headingsit = headings.find(heading); |
560 | if (headingsit != headings.end()) | 527 | if (headingsit != headings.end()) |
561 | hd = *headingsit; | 528 | hd = *headingsit; |
562 | 529 | ||
563 | QSettingsHeading::Iterator grpit = hd.find(group); | 530 | QSettingsHeading::Iterator grpit = hd.find(group); |
564 | if (grpit == hd.end()) { | 531 | if (grpit == hd.end()) { |
565 | QStringList::Iterator it = searchPaths.begin(); | 532 | QStringList::Iterator it = searchPaths.begin(); |
566 | if ( !globalScope ) | 533 | if ( !globalScope ) |
567 | ++it; | 534 | ++it; |
568 | while (it != searchPaths.end()) { | 535 | while (it != searchPaths.end()) { |
569 | QString filebase = heading.lower().replace(QRegExp("\\s+"), "_"); | 536 | QString filebase = heading.lower().replace(QRegExp("\\s+"), "_"); |
570 | QString fn((*it++) + "/" + filebase + "rc"); | 537 | QString fn((*it++) + "/" + filebase + "rc"); |
571 | if (! hd.contains(fn + "cached")) { | 538 | if (! hd.contains(fn + "cached")) { |
572 | hd.read(fn); | 539 | hd.read(fn); |
573 | hd.insert(fn + "cached", QSettingsGroup()); | 540 | hd.insert(fn + "cached", QSettingsGroup()); |
574 | } | 541 | } |
575 | } | 542 | } |
576 | 543 | ||
577 | headings.replace(heading, hd); | 544 | headings.replace(heading, hd); |
578 | 545 | ||
579 | grpit = hd.find(group); | 546 | grpit = hd.find(group); |
580 | if (grpit != hd.end()) | 547 | if (grpit != hd.end()) |
581 | grp = *grpit; | 548 | grp = *grpit; |
582 | } else if (hd.count() != 0) | 549 | } else if (hd.count() != 0) |
583 | grp = *grpit; | 550 | grp = *grpit; |
584 | 551 | ||
585 | return grp; | 552 | return grp; |
586 | } | 553 | } |
587 | 554 | ||
588 | 555 | ||
589 | void QSettingsPrivate::removeGroup(const QString &key) | 556 | void QSettingsPrivate::removeGroup(const QString &key) |
590 | { | 557 | { |
591 | QSettingsHeading hd; | 558 | QSettingsHeading hd; |
592 | QSettingsGroup grp; | 559 | QSettingsGroup grp; |
593 | bool found = FALSE; | 560 | bool found = FALSE; |
594 | 561 | ||
595 | QMap<QString,QSettingsHeading>::Iterator headingsit = headings.find(heading); | 562 | QMap<QString,QSettingsHeading>::Iterator headingsit = headings.find(heading); |
596 | if (headingsit != headings.end()) | 563 | if (headingsit != headings.end()) |
597 | hd = *headingsit; | 564 | hd = *headingsit; |
@@ -640,243 +607,252 @@ void QSettingsPrivate::removeGroup(const QString &key) | |||
640 | } | 607 | } |
641 | 608 | ||
642 | 609 | ||
643 | void QSettingsPrivate::writeGroup(const QString &key, const QString &value) | 610 | void QSettingsPrivate::writeGroup(const QString &key, const QString &value) |
644 | { | 611 | { |
645 | QSettingsHeading hd; | 612 | QSettingsHeading hd; |
646 | QSettingsGroup grp; | 613 | QSettingsGroup grp; |
647 | 614 | ||
648 | QMap<QString,QSettingsHeading>::Iterator headingsit = headings.find(heading); | 615 | QMap<QString,QSettingsHeading>::Iterator headingsit = headings.find(heading); |
649 | if (headingsit != headings.end()) | 616 | if (headingsit != headings.end()) |
650 | hd = *headingsit; | 617 | hd = *headingsit; |
651 | 618 | ||
652 | QSettingsHeading::Iterator grpit = hd.find(group); | 619 | QSettingsHeading::Iterator grpit = hd.find(group); |
653 | if (grpit == hd.end()) { | 620 | if (grpit == hd.end()) { |
654 | QStringList::Iterator it = searchPaths.begin(); | 621 | QStringList::Iterator it = searchPaths.begin(); |
655 | if ( !globalScope ) | 622 | if ( !globalScope ) |
656 | ++it; | 623 | ++it; |
657 | while (it != searchPaths.end()) { | 624 | while (it != searchPaths.end()) { |
658 | QString filebase = heading.lower().replace(QRegExp("\\s+"), "_"); | 625 | QString filebase = heading.lower().replace(QRegExp("\\s+"), "_"); |
659 | QString fn((*it++) + "/" + filebase + "rc"); | 626 | QString fn((*it++) + "/" + filebase + "rc"); |
660 | if (! hd.contains(fn + "cached")) { | 627 | if (! hd.contains(fn + "cached")) { |
661 | hd.read(fn); | 628 | hd.read(fn); |
662 | hd.insert(fn + "cached", QSettingsGroup()); | 629 | hd.insert(fn + "cached", QSettingsGroup()); |
663 | } | 630 | } |
664 | } | 631 | } |
665 | 632 | ||
666 | headings.replace(heading, hd); | 633 | headings.replace(heading, hd); |
667 | 634 | ||
668 | grpit = hd.find(group); | 635 | grpit = hd.find(group); |
669 | if (grpit != hd.end()) | 636 | if (grpit != hd.end()) |
670 | grp = *grpit; | 637 | grp = *grpit; |
671 | } else if (hd.count() != 0) | 638 | } else if (hd.count() != 0) |
672 | grp = *grpit; | 639 | grp = *grpit; |
673 | 640 | ||
674 | grp.modified = TRUE; | 641 | grp.modified = TRUE; |
675 | grp.replace(key, value); | 642 | grp.replace(key, value); |
676 | hd.replace(group, grp); | 643 | hd.replace(group, grp); |
677 | headings.replace(heading, hd); | 644 | headings.replace(heading, hd); |
678 | 645 | ||
679 | modified = TRUE; | 646 | modified = TRUE; |
680 | } | 647 | } |
681 | 648 | ||
682 | 649 | ||
683 | QDateTime QSettingsPrivate::modificationTime() | 650 | QDateTime QSettingsPrivate::modificationTime() |
684 | { | 651 | { |
685 | QSettingsHeading hd = headings[heading]; | 652 | QSettingsHeading hd = headings[heading]; |
686 | QSettingsGroup grp = hd[group]; | 653 | QSettingsGroup grp = hd[group]; |
687 | 654 | ||
688 | QDateTime datetime; | 655 | QDateTime datetime; |
689 | 656 | ||
690 | QStringList::Iterator it = searchPaths.begin(); | 657 | QStringList::Iterator it = searchPaths.begin(); |
691 | if ( !globalScope ) | 658 | if ( !globalScope ) |
692 | ++it; | 659 | ++it; |
693 | while (it != searchPaths.end()) { | 660 | while (it != searchPaths.end()) { |
694 | QFileInfo fi((*it++) + "/" + heading + "rc"); | 661 | QFileInfo fi((*it++) + "/" + heading + "rc"); |
695 | if (fi.exists() && fi.lastModified() > datetime) | 662 | if (fi.exists() && fi.lastModified() > datetime) |
696 | datetime = fi.lastModified(); | 663 | datetime = fi.lastModified(); |
697 | } | 664 | } |
698 | 665 | ||
699 | return datetime; | 666 | return datetime; |
700 | } | 667 | } |
701 | 668 | ||
702 | bool qt_verify_key( const QString &key ) | 669 | bool qt_verify_key( const QString &key ) |
703 | { | 670 | { |
704 | if ( key.isEmpty() || key[0] != '/' || key.contains( QRegExp("[=\\\\r\\\\n" ) ) ) | 671 | if ( key.isEmpty() || key[0] != '/' || key.contains( QRegExp("[=\\r\\n]" ) ) ) |
705 | return FALSE; | 672 | return FALSE; |
706 | return TRUE; | 673 | return TRUE; |
707 | } | 674 | } |
708 | 675 | ||
709 | static inline QString groupKey( const QString &group, const QString &key ) | 676 | static QString groupKey( const QString &group, const QString &key ) |
710 | { | 677 | { |
678 | QString grp_key; | ||
711 | if ( group.isEmpty() || ( group.length() == 1 && group[0] == '/' ) ) { | 679 | if ( group.isEmpty() || ( group.length() == 1 && group[0] == '/' ) ) { |
712 | // group is empty, or it contains a single '/', so we just return the key | 680 | // group is empty, or it contains a single '/', so we just return the key |
713 | if ( key.startsWith( "/" ) ) | 681 | if ( key.startsWith( "/" ) ) |
714 | return key; | 682 | grp_key = key; |
715 | return "/" + key; | 683 | else |
684 | grp_key = "/" + key; | ||
716 | } else if ( group.endsWith( "/" ) || key.startsWith( "/" ) ) { | 685 | } else if ( group.endsWith( "/" ) || key.startsWith( "/" ) ) { |
717 | return group + key; | 686 | grp_key = group + key; |
687 | } else { | ||
688 | grp_key = group + "/" + key; | ||
718 | } | 689 | } |
719 | return group + "/" + key; | 690 | return grp_key; |
720 | } | 691 | } |
721 | 692 | ||
722 | /*! | 693 | /*! |
723 | Inserts \a path into the settings search path. The semantics of \a | 694 | Inserts \a path into the settings search path. The semantics of \a |
724 | path depends on the system \a s. | 695 | path depends on the system \a s. It is usually easier and better to |
696 | use setPath() instead of this function. | ||
725 | 697 | ||
726 | When \a s is \e Windows and the execution environment is \e not | 698 | When \a s is \e Windows and the execution environment is \e not |
727 | Windows the function does nothing. Similarly when \a s is \e Unix and | 699 | Windows the function does nothing. Similarly when \a s is \e Unix and |
728 | the execution environment is \e not Unix the function does nothing. | 700 | the execution environment is \e not Unix the function does nothing. |
729 | 701 | ||
730 | When \a s is \e Windows, and the execution environment is Windows, the | 702 | When \a s is \e Windows, and the execution environment is Windows, the |
731 | search path list will be used as the first subfolder of the "Software" | 703 | search path list will be used as the first subfolder of the "Software" |
732 | folder in the registry. | 704 | folder in the registry. |
733 | 705 | ||
734 | When reading settings the folders are searched forwards from the | 706 | When reading settings the folders are searched forwards from the |
735 | first folder (listed below) to the last, returning the first | 707 | first folder (listed below) to the last, returning the first |
736 | settings found, and ignoring any folders for which the user doesn't | 708 | settings found, and ignoring any folders for which the user doesn't |
737 | have read permission. | 709 | have read permission. |
738 | \list 1 | 710 | \list 1 |
739 | \i HKEY_CURRENT_USER/Software/MyCompany/MyApplication | 711 | \i HKEY_CURRENT_USER/Software/MyCompany/MyApplication |
740 | \i HKEY_LOCAL_MACHINE/Software/MyCompany/MyApplication | 712 | \i HKEY_LOCAL_MACHINE/Software/MyCompany/MyApplication |
741 | \i HKEY_CURRENT_USER/Software/MyApplication | 713 | \i HKEY_CURRENT_USER/Software/MyApplication |
742 | \i HKEY_LOCAL_MACHINE/Software/MyApplication | 714 | \i HKEY_LOCAL_MACHINE/Software/MyApplication |
743 | \endlist | 715 | \endlist |
744 | 716 | ||
745 | \code | 717 | \code |
746 | QSettings settings; | 718 | QSettings settings; |
747 | settings.insertSearchPath( QSettings::Windows, "/MyCompany" ); | 719 | settings.insertSearchPath( QSettings::Windows, "/MyCompany" ); |
748 | settings.writeEntry( "/MyApplication/Tip of the day", TRUE ); | 720 | settings.writeEntry( "/MyApplication/Tip of the day", TRUE ); |
749 | \endcode | 721 | \endcode |
750 | The code above will write the subkey "Tip of the day" into the \e | 722 | The code above will write the subkey "Tip of the day" into the \e |
751 | first of the registry folders listed below that is found and for | 723 | first of the registry folders listed below that is found and for |
752 | which the user has write permission. | 724 | which the user has write permission. |
753 | \list 1 | 725 | \list 1 |
754 | \i HKEY_LOCAL_MACHINE/Software/MyCompany/MyApplication | 726 | \i HKEY_LOCAL_MACHINE/Software/MyCompany/MyApplication |
755 | \i HKEY_CURRENT_USER/Software/MyCompany/MyApplication | 727 | \i HKEY_CURRENT_USER/Software/MyCompany/MyApplication |
756 | \i HKEY_LOCAL_MACHINE/Software/MyApplication | 728 | \i HKEY_LOCAL_MACHINE/Software/MyApplication |
757 | \i HKEY_CURRENT_USER/Software/MyApplication | 729 | \i HKEY_CURRENT_USER/Software/MyApplication |
758 | \endlist | 730 | \endlist |
759 | If a setting is found in the HKEY_CURRENT_USER space, this setting | 731 | If a setting is found in the HKEY_CURRENT_USER space, this setting |
760 | is overwritten independently of write permissions in the | 732 | is overwritten independently of write permissions in the |
761 | HKEY_LOCAL_MACHINE space. | 733 | HKEY_LOCAL_MACHINE space. |
762 | 734 | ||
763 | When \a s is \e Unix, and the execution environment is Unix, the | 735 | When \a s is \e Unix, and the execution environment is Unix, the |
764 | search path list will be used when trying to determine a suitable | 736 | search path list will be used when trying to determine a suitable |
765 | filename for reading and writing settings files. By default, there are | 737 | filename for reading and writing settings files. By default, there are |
766 | two entries in the search path: | 738 | two entries in the search path: |
767 | 739 | ||
768 | \list 1 | 740 | \list 1 |
769 | \i INSTALL/etc - where \c INSTALL is the directory where Qt was installed. | 741 | \i \c SYSCONF - where \c SYSCONF is a directory specified when |
770 | \i $HOME/.qt/ - where \c $HOME is the user's home directory. | 742 | configuring Qt; by default it is INSTALL/etc/settings. |
743 | \i \c $HOME/.qt/ - where \c $HOME is the user's home directory. | ||
771 | \endlist | 744 | \endlist |
772 | 745 | ||
773 | All insertions into the search path will go before $HOME/.qt/. | 746 | All insertions into the search path will go before $HOME/.qt/. |
774 | For example: | 747 | For example: |
775 | \code | 748 | \code |
776 | QSettings settings; | 749 | QSettings settings; |
777 | settings.insertSearchPath( QSettings::Unix, "/opt/MyCompany/share/etc" ); | 750 | settings.insertSearchPath( QSettings::Unix, "/opt/MyCompany/share/etc" ); |
778 | settings.insertSearchPath( QSettings::Unix, "/opt/MyCompany/share/MyApplication/etc" ); | 751 | settings.insertSearchPath( QSettings::Unix, "/opt/MyCompany/share/MyApplication/etc" ); |
779 | // ... | 752 | // ... |
780 | \endcode | 753 | \endcode |
781 | Will result in a search path of: | 754 | Will result in a search path of: |
782 | \list 1 | 755 | \list 1 |
783 | \i INSTALL/etc | 756 | \i SYSCONF |
784 | \i /opt/MyCompany/share/etc | 757 | \i /opt/MyCompany/share/etc |
785 | \i /opt/MyCompany/share/MyApplication/etc | 758 | \i /opt/MyCompany/share/MyApplication/etc |
786 | \i $HOME/.qt | 759 | \i $HOME/.qt |
787 | \endlist | 760 | \endlist |
788 | When reading settings the files are searched in the order shown | 761 | When reading settings the files are searched in the order shown |
789 | above, with later settings overriding earlier settings. Files for | 762 | above, with later settings overriding earlier settings. Files for |
790 | which the user doesn't have read permission are ignored. When saving | 763 | which the user doesn't have read permission are ignored. When saving |
791 | settings QSettings works in the order shown above, writing | 764 | settings QSettings works in the order shown above, writing |
792 | to the first settings file for which the user has write permission. | 765 | to the first settings file for which the user has write permission. |
793 | 766 | ||
767 | Note that paths in the file system are not created by this | ||
768 | function, so they must already exist to be useful. | ||
769 | |||
794 | Settings under Unix are stored in files whose names are based on the | 770 | Settings under Unix are stored in files whose names are based on the |
795 | first subkey of the key (not including the search path). The algorithm | 771 | first subkey of the key (not including the search path). The algorithm |
796 | for creating names is essentially: lowercase the first subkey, replace | 772 | for creating names is essentially: lowercase the first subkey, replace |
797 | spaces with underscores and add 'rc', e.g. | 773 | spaces with underscores and add 'rc', e.g. |
798 | <tt>/MyCompany/MyApplication/background color</tt> will be stored in | 774 | <tt>/MyCompany/MyApplication/background color</tt> will be stored in |
799 | <tt>myapplicationrc</tt> (assuming that <tt>/MyCompany</tt> is part of | 775 | <tt>myapplicationrc</tt> (assuming that <tt>/MyCompany</tt> is part of |
800 | the search path). | 776 | the search path). |
801 | 777 | ||
802 | \sa removeSearchPath() | 778 | \sa removeSearchPath() |
803 | 779 | ||
804 | */ | 780 | */ |
805 | void QSettings::insertSearchPath( System s, const QString &path) | 781 | void QSettings::insertSearchPath( System s, const QString &path) |
806 | { | 782 | { |
807 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 783 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
808 | if ( d->sysd ) { | 784 | if ( d->sysd ) { |
809 | d->sysInsertSearchPath( s, path ); | 785 | d->sysInsertSearchPath( s, path ); |
810 | return; | 786 | return; |
811 | } | 787 | } |
812 | #endif | 788 | #endif |
813 | 789 | ||
814 | #if !defined(Q_WS_WIN) | 790 | #if !defined(Q_WS_WIN) |
815 | if ( s == Windows ) | 791 | if ( s == Windows ) |
816 | return; | 792 | return; |
817 | #endif | 793 | #endif |
818 | #if !defined(Q_WS_WIN) | 794 | #if !defined(Q_OS_MAC) |
819 | if ( s == Mac ) | 795 | if ( s == Mac ) |
820 | return; | 796 | return; |
821 | #endif | 797 | #endif |
822 | 798 | ||
823 | if ( !qt_verify_key( path ) ) { | 799 | if ( !qt_verify_key( path ) ) { |
824 | #if defined(QT_CHECK_STATE) | 800 | #if defined(QT_CHECK_STATE) |
825 | qWarning( "QSettings::insertSearchPath: Invalid key: '%s'", path.isNull() ? "(null)" : path.latin1() ); | 801 | qWarning( "QSettings::insertSearchPath: Invalid key: '%s'", path.isNull() ? "(null)" : path.latin1() ); |
826 | #endif | 802 | #endif |
827 | return; | 803 | return; |
828 | } | 804 | } |
829 | 805 | ||
830 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 806 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
831 | if ( d->sysd && s != Unix ) { | 807 | if ( d->sysd && s != Unix ) { |
832 | #else | 808 | #else |
833 | if ( s != Unix ) { | 809 | if ( s != Unix ) { |
834 | #endif | 810 | #endif |
835 | #if !defined(QWS) && defined(Q_OS_MAC) | 811 | #if !defined(QWS) && defined(Q_OS_MAC) |
836 | if(s != Mac) //mac is respected on the mac as well | 812 | if(s != Mac) //mac is respected on the mac as well |
837 | #endif | 813 | #endif |
838 | return; | 814 | return; |
839 | } | 815 | } |
840 | 816 | ||
841 | QString realPath = path; | 817 | QString realPath = path; |
842 | #if defined(Q_WS_WIN) | 818 | #if defined(Q_WS_WIN) |
843 | QString defPath = d->globalScope ? d->searchPaths.first() : d->searchPaths.last(); | 819 | QString defPath = d->globalScope ? d->searchPaths.first() : d->searchPaths.last(); |
844 | realPath = defPath + path; | 820 | realPath = defPath + path; |
845 | #endif | 821 | #endif |
846 | 822 | ||
847 | QStringList::Iterator it = d->searchPaths.find(d->searchPaths.last()); | 823 | QStringList::Iterator it = d->searchPaths.find(d->searchPaths.last()); |
848 | if (it != d->searchPaths.end()) { | 824 | if (it != d->searchPaths.end()) { |
849 | d->searchPaths.insert(it, realPath); | 825 | d->searchPaths.insert(it, realPath); |
850 | } | 826 | } |
851 | } | 827 | } |
852 | 828 | ||
853 | 829 | ||
854 | /*! | 830 | /*! |
855 | Removes all occurrences of \a path (using exact matching) from the | 831 | Removes all occurrences of \a path (using exact matching) from the |
856 | settings search path for system \a s. Note that the default search | 832 | settings search path for system \a s. Note that the default search |
857 | paths cannot be removed. | 833 | paths cannot be removed. |
858 | 834 | ||
859 | \sa insertSearchPath() | 835 | \sa insertSearchPath() |
860 | */ | 836 | */ |
861 | void QSettings::removeSearchPath( System s, const QString &path) | 837 | void QSettings::removeSearchPath( System s, const QString &path) |
862 | { | 838 | { |
863 | if ( !qt_verify_key( path ) ) { | 839 | if ( !qt_verify_key( path ) ) { |
864 | #if defined(QT_CHECK_STATE) | 840 | #if defined(QT_CHECK_STATE) |
865 | qWarning( "QSettings::insertSearchPath: Invalid key: '%s'", path.isNull() ? "(null)" : path.latin1() ); | 841 | qWarning( "QSettings::insertSearchPath: Invalid key: '%s'", path.isNull() ? "(null)" : path.latin1() ); |
866 | #endif | 842 | #endif |
867 | return; | 843 | return; |
868 | } | 844 | } |
869 | 845 | ||
870 | #ifdef Q_WS_WIN | 846 | #ifdef Q_WS_WIN |
871 | if ( d->sysd ) { | 847 | if ( d->sysd ) { |
872 | d->sysRemoveSearchPath( s, path ); | 848 | d->sysRemoveSearchPath( s, path ); |
873 | return; | 849 | return; |
874 | } | 850 | } |
875 | #endif | 851 | #endif |
876 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 852 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
877 | if ( d->sysd && s != Unix ) { | 853 | if ( d->sysd && s != Unix ) { |
878 | #else | 854 | #else |
879 | if ( s != Unix ) { | 855 | if ( s != Unix ) { |
880 | #endif | 856 | #endif |
881 | #if !defined(QWS) && defined(Q_OS_MAC) | 857 | #if !defined(QWS) && defined(Q_OS_MAC) |
882 | if(s != Mac) //mac is respected on the mac as well | 858 | if(s != Mac) //mac is respected on the mac as well |
@@ -903,1151 +879,1186 @@ QSettings::QSettings() | |||
903 | d->sysd = 0; | 879 | d->sysd = 0; |
904 | d->sysInit(); | 880 | d->sysInit(); |
905 | #endif | 881 | #endif |
906 | } | 882 | } |
907 | 883 | ||
908 | /*! | 884 | /*! |
909 | Creates a settings object. If \a format is 'Ini' the settings will | 885 | Creates a settings object. If \a format is 'Ini' the settings will |
910 | be stored in a text file, using the Unix strategy (see above). If \a format | 886 | be stored in a text file, using the Unix strategy (see above). If \a format |
911 | is 'Native', the settings will be stored in a platform specific way | 887 | is 'Native', the settings will be stored in a platform specific way |
912 | (ie. the Windows registry). | 888 | (ie. the Windows registry). |
913 | */ | 889 | */ |
914 | QSettings::QSettings( Format format ) | 890 | QSettings::QSettings( Format format ) |
915 | { | 891 | { |
916 | d = new QSettingsPrivate( format ); | 892 | d = new QSettingsPrivate( format ); |
917 | Q_CHECK_PTR(d); | 893 | Q_CHECK_PTR(d); |
918 | 894 | ||
919 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 895 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
920 | d->sysd = 0; | 896 | d->sysd = 0; |
921 | if ( format == Native ) | 897 | if ( format == Native ) |
922 | d->sysInit(); | 898 | d->sysInit(); |
923 | #else | 899 | #else |
924 | Q_UNUSED(format); | 900 | Q_UNUSED(format); |
925 | #endif | 901 | #endif |
926 | } | 902 | } |
927 | 903 | ||
928 | /*! | 904 | /*! |
929 | Destroys the settings object. All modifications made to the settings | 905 | Destroys the settings object. All modifications made to the settings |
930 | will automatically be saved. | 906 | will automatically be saved. |
931 | 907 | ||
932 | */ | 908 | */ |
933 | QSettings::~QSettings() | 909 | QSettings::~QSettings() |
934 | { | 910 | { |
935 | sync(); | 911 | sync(); |
936 | 912 | ||
937 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 913 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
938 | if ( d->sysd ) | 914 | if ( d->sysd ) |
939 | d->sysClear(); | 915 | d->sysClear(); |
940 | #endif | 916 | #endif |
941 | 917 | ||
942 | delete d; | 918 | delete d; |
943 | } | 919 | } |
944 | 920 | ||
945 | 921 | ||
946 | /*! \internal | 922 | /*! \internal |
947 | Writes all modifications to the settings to disk. If any errors are | 923 | Writes all modifications to the settings to disk. If any errors are |
948 | encountered, this function returns FALSE, otherwise it will return TRUE. | 924 | encountered, this function returns FALSE, otherwise it will return TRUE. |
949 | */ | 925 | */ |
950 | bool QSettings::sync() | 926 | bool QSettings::sync() |
951 | { | 927 | { |
952 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 928 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
953 | if ( d->sysd ) | 929 | if ( d->sysd ) |
954 | return d->sysSync(); | 930 | return d->sysSync(); |
955 | #endif | 931 | #endif |
956 | if (! d->modified) | 932 | if (! d->modified) |
957 | // fake success | 933 | // fake success |
958 | return TRUE; | 934 | return TRUE; |
959 | 935 | ||
960 | bool success = TRUE; | 936 | bool success = TRUE; |
961 | QMap<QString,QSettingsHeading>::Iterator it = d->headings.begin(); | 937 | QMap<QString,QSettingsHeading>::Iterator it = d->headings.begin(); |
962 | 938 | ||
963 | while (it != d->headings.end()) { | 939 | while (it != d->headings.end()) { |
964 | // determine filename | 940 | // determine filename |
965 | QSettingsHeading hd(*it); | 941 | QSettingsHeading hd(*it); |
966 | QSettingsHeading::Iterator hdit = hd.begin(); | 942 | QSettingsHeading::Iterator hdit = hd.begin(); |
967 | QFile file; | 943 | QString filename; |
968 | 944 | ||
969 | QStringList::Iterator pit = d->searchPaths.begin(); | 945 | QStringList::Iterator pit = d->searchPaths.begin(); |
970 | if ( !d->globalScope ) | 946 | if ( !d->globalScope ) |
971 | ++pit; | 947 | ++pit; |
972 | while (pit != d->searchPaths.end()) { | 948 | while (pit != d->searchPaths.end()) { |
973 | QString filebase = it.key().lower().replace(QRegExp("\\s+"), "_"); | 949 | QString filebase = it.key().lower().replace(QRegExp("\\s+"), "_"); |
974 | QFileInfo di(*pit); | 950 | QFileInfo di(*pit); |
951 | if ( !di.exists() ) { | ||
952 | QDir dir; | ||
953 | dir.mkdir( *pit ); | ||
954 | } | ||
955 | |||
975 | QFileInfo fi((*pit++) + "/" + filebase + "rc"); | 956 | QFileInfo fi((*pit++) + "/" + filebase + "rc"); |
976 | 957 | ||
977 | if ((fi.exists() && fi.isFile() && fi.isWritable()) || | 958 | if ((fi.exists() && fi.isFile() && fi.isWritable()) || |
978 | (! fi.exists() && di.isDir() && di.isWritable())) { | 959 | (! fi.exists() && di.isDir() |
979 | file.setName(fi.filePath()); | 960 | #ifndef Q_WS_WIN |
961 | && di.isWritable() | ||
962 | #else | ||
963 | && ((qWinVersion()&Qt::WV_NT_based) > Qt::WV_2000 || di.isWritable()) | ||
964 | #endif | ||
965 | )) { | ||
966 | filename = fi.filePath(); | ||
980 | break; | 967 | break; |
981 | } | 968 | } |
982 | } | 969 | } |
983 | 970 | ||
984 | ++it; | 971 | ++it; |
985 | 972 | ||
986 | if ( file.name().isEmpty() ) { | 973 | if ( filename.isEmpty() ) { |
987 | 974 | ||
988 | #ifdef QT_CHECK_STATE | 975 | #ifdef QT_CHECK_STATE |
989 | qWarning("QSettings::sync: filename is null/empty"); | 976 | qWarning("QSettings::sync: filename is null/empty"); |
990 | #endif // QT_CHECK_STATE | 977 | #endif // QT_CHECK_STATE |
991 | 978 | ||
992 | success = FALSE; | 979 | success = FALSE; |
993 | continue; | 980 | continue; |
994 | } | 981 | } |
995 | 982 | ||
996 | HANDLE lockfd = openlock( file.name(), Q_LOCKWRITE ); | 983 | #ifndef Q_WS_WIN |
984 | HANDLE lockfd = openlock( filename, Q_LOCKWRITE ); | ||
985 | #endif | ||
997 | 986 | ||
987 | QFile file( filename + ".tmp" ); | ||
998 | if (! file.open(IO_WriteOnly)) { | 988 | if (! file.open(IO_WriteOnly)) { |
999 | 989 | ||
1000 | #ifdef QT_CHECK_STATE | 990 | #ifdef QT_CHECK_STATE |
1001 | qWarning("QSettings::sync: failed to open '%s' for writing", | 991 | qWarning("QSettings::sync: failed to open '%s' for writing", |
1002 | file.name().latin1()); | 992 | file.name().latin1()); |
1003 | #endif // QT_CHECK_STATE | 993 | #endif // QT_CHECK_STATE |
1004 | 994 | ||
1005 | success = FALSE; | 995 | success = FALSE; |
1006 | continue; | 996 | continue; |
1007 | } | 997 | } |
1008 | 998 | ||
1009 | // spew to file | 999 | // spew to file |
1010 | QTextStream stream(&file); | 1000 | QTextStream stream(&file); |
1011 | stream.setEncoding(QTextStream::UnicodeUTF8); | 1001 | stream.setEncoding(QTextStream::UnicodeUTF8); |
1012 | 1002 | ||
1013 | while (hdit != hd.end()) { | 1003 | while (hdit != hd.end()) { |
1014 | if ((*hdit).count() > 0) { | 1004 | if ((*hdit).count() > 0) { |
1015 | stream << "[" << hdit.key() << "]" << endl; | 1005 | stream << "[" << hdit.key() << "]" << endl; |
1016 | 1006 | ||
1017 | QSettingsGroup grp(*hdit); | 1007 | QSettingsGroup grp(*hdit); |
1018 | QSettingsGroup::Iterator grpit = grp.begin(); | 1008 | QSettingsGroup::Iterator grpit = grp.begin(); |
1019 | 1009 | ||
1020 | while (grpit != grp.end()) { | 1010 | while (grpit != grp.end()) { |
1021 | QString v = grpit.data(); | 1011 | QString v = grpit.data(); |
1022 | if ( v.isNull() ) { | 1012 | if ( v.isNull() ) { |
1023 | v = "\\0"; // escape null string | 1013 | v = "\\0"; // escape null string |
1024 | } else { | 1014 | } else { |
1025 | v.replace("\\", "\\\\"); // escape backslash | 1015 | v.replace("\\", "\\\\"); // escape backslash |
1026 | v.replace("\n", "\\n"); // escape newlines | 1016 | v.replace("\n", "\\n"); // escape newlines |
1027 | } | 1017 | } |
1028 | 1018 | ||
1029 | stream << grpit.key() << "=" << v << endl; | 1019 | stream << grpit.key() << "=" << v << endl; |
1030 | ++grpit; | 1020 | ++grpit; |
1031 | } | 1021 | } |
1032 | 1022 | ||
1033 | stream << endl; | 1023 | stream << endl; |
1034 | } | 1024 | } |
1035 | 1025 | ||
1036 | ++hdit; | 1026 | ++hdit; |
1037 | } | 1027 | } |
1038 | 1028 | ||
1039 | if (file.status() != IO_Ok) { | 1029 | if (file.status() != IO_Ok) { |
1040 | 1030 | ||
1041 | #ifdef QT_CHECK_STATE | 1031 | #ifdef QT_CHECK_STATE |
1042 | qWarning("QSettings::sync: error at end of write"); | 1032 | qWarning("QSettings::sync: error at end of write"); |
1043 | #endif // QT_CHECK_STATE | 1033 | #endif // QT_CHECK_STATE |
1044 | 1034 | ||
1045 | success = FALSE; | 1035 | success = FALSE; |
1046 | } | 1036 | } |
1047 | 1037 | ||
1048 | file.close(); | 1038 | file.close(); |
1049 | 1039 | ||
1040 | if ( success ) { | ||
1041 | QDir dir( QFileInfo( file ).dir( TRUE ) ); | ||
1042 | if ( dir.exists( filename ) && !dir.remove( filename ) || | ||
1043 | !dir.rename( file.name(), filename, TRUE ) ) { | ||
1044 | |||
1045 | #ifdef QT_CHECK_STATE | ||
1046 | qWarning( "QSettings::sync: error writing file '%s'", | ||
1047 | QFile::encodeName( filename ).data() ); | ||
1048 | #endif // QT_CHECK_STATE | ||
1049 | |||
1050 | success = FALSE; | ||
1051 | } | ||
1052 | } | ||
1053 | |||
1054 | // remove temporary file | ||
1055 | file.remove(); | ||
1056 | |||
1057 | #ifndef Q_WS_WIN | ||
1050 | closelock( lockfd ); | 1058 | closelock( lockfd ); |
1059 | #endif | ||
1051 | } | 1060 | } |
1052 | 1061 | ||
1053 | d->modified = FALSE; | 1062 | d->modified = FALSE; |
1054 | 1063 | ||
1055 | return success; | 1064 | return success; |
1056 | } | 1065 | } |
1057 | 1066 | ||
1058 | 1067 | ||
1059 | /*! | 1068 | /*! |
1060 | \fn bool QSettings::readBoolEntry(const QString &key, bool def, bool *ok ) const | 1069 | \fn bool QSettings::readBoolEntry(const QString &key, bool def, bool *ok ) const |
1061 | 1070 | ||
1062 | Reads the entry specified by \a key, and returns a bool, or the | 1071 | Reads the entry specified by \a key, and returns a bool, or the |
1063 | default value, \a def, if the entry couldn't be read. | 1072 | default value, \a def, if the entry couldn't be read. |
1064 | If \a ok is non-null, *ok is set to TRUE if the key was read, FALSE | 1073 | If \a ok is non-null, *ok is set to TRUE if the key was read, FALSE |
1065 | otherwise. | 1074 | otherwise. |
1066 | 1075 | ||
1067 | \sa readEntry(), readNumEntry(), readDoubleEntry(), writeEntry(), removeEntry() | 1076 | \sa readEntry(), readNumEntry(), readDoubleEntry(), writeEntry(), removeEntry() |
1068 | */ | 1077 | */ |
1069 | 1078 | ||
1070 | /*! | 1079 | /*! |
1071 | \internal | 1080 | \internal |
1072 | */ | 1081 | */ |
1073 | bool QSettings::readBoolEntry(const QString &key, bool def, bool *ok ) | 1082 | bool QSettings::readBoolEntry(const QString &key, bool def, bool *ok ) |
1074 | { | 1083 | { |
1075 | if ( !qt_verify_key( key ) ) { | 1084 | QString grp_key( groupKey( group(), key ) ); |
1085 | if ( !qt_verify_key( grp_key ) ) { | ||
1076 | #if defined(QT_CHECK_STATE) | 1086 | #if defined(QT_CHECK_STATE) |
1077 | qWarning( "QSettings::readBoolEntry: Invalid key: '%s'", key.isNull() ? "(null)" : key.latin1() ); | 1087 | qWarning( "QSettings::readBoolEntry: Invalid key: '%s'", grp_key.isNull() ? "(null)" : grp_key.latin1() ); |
1078 | #endif | 1088 | #endif |
1079 | if ( ok ) | 1089 | if ( ok ) |
1080 | *ok = FALSE; | 1090 | *ok = FALSE; |
1081 | 1091 | ||
1082 | return def; | 1092 | return def; |
1083 | } | 1093 | } |
1084 | 1094 | ||
1085 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 1095 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
1086 | if ( d->sysd ) | 1096 | if ( d->sysd ) |
1087 | return d->sysReadBoolEntry( groupKey( group(), key ), def, ok ); | 1097 | return d->sysReadBoolEntry( grp_key, def, ok ); |
1088 | #endif | 1098 | #endif |
1089 | 1099 | ||
1090 | QString value = readEntry( key, ( def ? "true" : "false" ), ok ); | 1100 | QString value = readEntry( key, ( def ? "true" : "false" ), ok ); |
1091 | 1101 | ||
1092 | if (value.lower() == "true") | 1102 | if (value.lower() == "true") |
1093 | return TRUE; | 1103 | return TRUE; |
1094 | else if (value.lower() == "false") | 1104 | else if (value.lower() == "false") |
1095 | return FALSE; | 1105 | return FALSE; |
1096 | else if (value == "1") | 1106 | else if (value == "1") |
1097 | return TRUE; | 1107 | return TRUE; |
1098 | else if (value == "0") | 1108 | else if (value == "0") |
1099 | return FALSE; | 1109 | return FALSE; |
1100 | 1110 | ||
1101 | if (! value.isEmpty()) | 1111 | if (! value.isEmpty()) |
1102 | qWarning("QSettings::readBoolEntry: '%s' is not 'true' or 'false'", | 1112 | qWarning("QSettings::readBoolEntry: '%s' is not 'true' or 'false'", |
1103 | value.latin1()); | 1113 | value.latin1()); |
1104 | if ( ok ) | 1114 | if ( ok ) |
1105 | *ok = FALSE; | 1115 | *ok = FALSE; |
1106 | return def; | 1116 | return def; |
1107 | } | 1117 | } |
1108 | 1118 | ||
1109 | 1119 | ||
1110 | /*! | 1120 | /*! |
1111 | \fn double QSettings::readDoubleEntry(const QString &key, double def, bool *ok ) const | 1121 | \fn double QSettings::readDoubleEntry(const QString &key, double def, bool *ok ) const |
1112 | 1122 | ||
1113 | Reads the entry specified by \a key, and returns a double, or the | 1123 | Reads the entry specified by \a key, and returns a double, or the |
1114 | default value, \a def, if the entry couldn't be read. | 1124 | default value, \a def, if the entry couldn't be read. |
1115 | If \a ok is non-null, *ok is set to TRUE if the key was read, FALSE | 1125 | If \a ok is non-null, *ok is set to TRUE if the key was read, FALSE |
1116 | otherwise. | 1126 | otherwise. |
1117 | 1127 | ||
1118 | \sa readEntry(), readNumEntry(), readBoolEntry(), writeEntry(), removeEntry() | 1128 | \sa readEntry(), readNumEntry(), readBoolEntry(), writeEntry(), removeEntry() |
1119 | */ | 1129 | */ |
1120 | 1130 | ||
1121 | /*! | 1131 | /*! |
1122 | \internal | 1132 | \internal |
1123 | */ | 1133 | */ |
1124 | double QSettings::readDoubleEntry(const QString &key, double def, bool *ok ) | 1134 | double QSettings::readDoubleEntry(const QString &key, double def, bool *ok ) |
1125 | { | 1135 | { |
1126 | if ( !qt_verify_key( key ) ) { | 1136 | QString grp_key( groupKey( group(), key ) ); |
1137 | if ( !qt_verify_key( grp_key ) ) { | ||
1127 | #if defined(QT_CHECK_STATE) | 1138 | #if defined(QT_CHECK_STATE) |
1128 | qWarning( "QSettings::readDoubleEntry: Invalid key: '%s'", key.isNull() ? "(null)" : key.latin1() ); | 1139 | qWarning( "QSettings::readDoubleEntry: Invalid key: '%s'", grp_key.isNull() ? "(null)" : grp_key.latin1() ); |
1129 | #endif | 1140 | #endif |
1130 | if ( ok ) | 1141 | if ( ok ) |
1131 | *ok = FALSE; | 1142 | *ok = FALSE; |
1132 | 1143 | ||
1133 | return def; | 1144 | return def; |
1134 | } | 1145 | } |
1135 | 1146 | ||
1136 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 1147 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
1137 | if ( d->sysd ) | 1148 | if ( d->sysd ) |
1138 | return d->sysReadDoubleEntry( groupKey( group(), key ), def, ok ); | 1149 | return d->sysReadDoubleEntry( grp_key, def, ok ); |
1139 | #endif | 1150 | #endif |
1140 | 1151 | ||
1141 | QString value = readEntry( key, QString::number(def), ok ); | 1152 | QString value = readEntry( key, QString::number(def), ok ); |
1142 | bool conv_ok; | 1153 | bool conv_ok; |
1143 | double retval = value.toDouble( &conv_ok ); | 1154 | double retval = value.toDouble( &conv_ok ); |
1144 | if ( conv_ok ) | 1155 | if ( conv_ok ) |
1145 | return retval; | 1156 | return retval; |
1146 | if ( ! value.isEmpty() ) | 1157 | if ( ! value.isEmpty() ) |
1147 | qWarning( "QSettings::readDoubleEntry: '%s' is not a number", | 1158 | qWarning( "QSettings::readDoubleEntry: '%s' is not a number", |
1148 | value.latin1() ); | 1159 | value.latin1() ); |
1149 | if ( ok ) | 1160 | if ( ok ) |
1150 | *ok = FALSE; | 1161 | *ok = FALSE; |
1151 | return def; | 1162 | return def; |
1152 | } | 1163 | } |
1153 | 1164 | ||
1154 | 1165 | ||
1155 | /*! | 1166 | /*! |
1156 | \fn int QSettings::readNumEntry(const QString &key, int def, bool *ok ) const | 1167 | \fn int QSettings::readNumEntry(const QString &key, int def, bool *ok ) const |
1157 | 1168 | ||
1158 | Reads the entry specified by \a key, and returns an integer, or the | 1169 | Reads the entry specified by \a key, and returns an integer, or the |
1159 | default value, \a def, if the entry couldn't be read. | 1170 | default value, \a def, if the entry couldn't be read. |
1160 | If \a ok is non-null, *ok is set to TRUE if the key was read, FALSE | 1171 | If \a ok is non-null, *ok is set to TRUE if the key was read, FALSE |
1161 | otherwise. | 1172 | otherwise. |
1162 | 1173 | ||
1163 | \sa readEntry(), readDoubleEntry(), readBoolEntry(), writeEntry(), removeEntry() | 1174 | \sa readEntry(), readDoubleEntry(), readBoolEntry(), writeEntry(), removeEntry() |
1164 | */ | 1175 | */ |
1165 | 1176 | ||
1166 | /*! | 1177 | /*! |
1167 | \internal | 1178 | \internal |
1168 | */ | 1179 | */ |
1169 | int QSettings::readNumEntry(const QString &key, int def, bool *ok ) | 1180 | int QSettings::readNumEntry(const QString &key, int def, bool *ok ) |
1170 | { | 1181 | { |
1171 | if ( !qt_verify_key( key ) ) { | 1182 | QString grp_key( groupKey( group(), key ) ); |
1183 | if ( !qt_verify_key( grp_key ) ) { | ||
1172 | #if defined(QT_CHECK_STATE) | 1184 | #if defined(QT_CHECK_STATE) |
1173 | qWarning( "QSettings::readNumEntry: Invalid key: '%s'", key.isNull() ? "(null)" : key.latin1() ); | 1185 | qWarning( "QSettings::readNumEntry: Invalid key: '%s'", grp_key.isNull() ? "(null)" : grp_key.latin1() ); |
1174 | #endif | 1186 | #endif |
1175 | if ( ok ) | 1187 | if ( ok ) |
1176 | *ok = FALSE; | 1188 | *ok = FALSE; |
1177 | return def; | 1189 | return def; |
1178 | } | 1190 | } |
1179 | 1191 | ||
1180 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 1192 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
1181 | if ( d->sysd ) | 1193 | if ( d->sysd ) |
1182 | return d->sysReadNumEntry( groupKey( group(), key ), def, ok ); | 1194 | return d->sysReadNumEntry( grp_key, def, ok ); |
1183 | #endif | 1195 | #endif |
1184 | 1196 | ||
1185 | QString value = readEntry( key, QString::number( def ), ok ); | 1197 | QString value = readEntry( key, QString::number( def ), ok ); |
1186 | bool conv_ok; | 1198 | bool conv_ok; |
1187 | int retval = value.toInt( &conv_ok ); | 1199 | int retval = value.toInt( &conv_ok ); |
1188 | if ( conv_ok ) | 1200 | if ( conv_ok ) |
1189 | return retval; | 1201 | return retval; |
1190 | if ( ! value.isEmpty() ) | 1202 | if ( ! value.isEmpty() ) |
1191 | qWarning( "QSettings::readNumEntry: '%s' is not a number", | 1203 | qWarning( "QSettings::readNumEntry: '%s' is not a number", |
1192 | value.latin1() ); | 1204 | value.latin1() ); |
1193 | if ( ok ) | 1205 | if ( ok ) |
1194 | *ok = FALSE; | 1206 | *ok = FALSE; |
1195 | return def; | 1207 | return def; |
1196 | } | 1208 | } |
1197 | 1209 | ||
1198 | 1210 | ||
1199 | /*! | 1211 | /*! |
1200 | \fn QString QSettings::readEntry(const QString &key, const QString &def, bool *ok ) const | 1212 | \fn QString QSettings::readEntry(const QString &key, const QString &def, bool *ok ) const |
1201 | 1213 | ||
1202 | Reads the entry specified by \a key, and returns a QString, or the | 1214 | Reads the entry specified by \a key, and returns a QString, or the |
1203 | default value, \a def, if the entry couldn't be read. | 1215 | default value, \a def, if the entry couldn't be read. |
1204 | If \a ok is non-null, *ok is set to TRUE if the key was read, FALSE | 1216 | If \a ok is non-null, *ok is set to TRUE if the key was read, FALSE |
1205 | otherwise. | 1217 | otherwise. |
1206 | 1218 | ||
1207 | \sa readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), writeEntry(), removeEntry() | 1219 | \sa readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), writeEntry(), removeEntry() |
1208 | */ | 1220 | */ |
1209 | 1221 | ||
1210 | /*! | 1222 | /*! |
1211 | \internal | 1223 | \internal |
1212 | */ | 1224 | */ |
1213 | QString QSettings::readEntry(const QString &key, const QString &def, bool *ok ) | 1225 | QString QSettings::readEntry(const QString &key, const QString &def, bool *ok ) |
1214 | { | 1226 | { |
1215 | if ( !qt_verify_key( key ) ) { | 1227 | QString grp_key( groupKey( group(), key ) ); |
1228 | if ( !qt_verify_key( grp_key ) ) { | ||
1216 | #if defined(QT_CHECK_STATE) | 1229 | #if defined(QT_CHECK_STATE) |
1217 | qWarning( "QSettings::readEntry: Invalid key: '%s'", key.isNull() ? "(null)" : key.latin1() ); | 1230 | qWarning( "QSettings::readEntry: Invalid key: '%s'", grp_key.isNull() ? "(null)" : grp_key.latin1() ); |
1218 | #endif | 1231 | #endif |
1219 | if ( ok ) | 1232 | if ( ok ) |
1220 | *ok = FALSE; | 1233 | *ok = FALSE; |
1221 | 1234 | ||
1222 | return def; | 1235 | return def; |
1223 | } | 1236 | } |
1224 | 1237 | ||
1225 | QString theKey = groupKey( group(), key ); | ||
1226 | |||
1227 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 1238 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
1228 | if ( d->sysd ) | 1239 | if ( d->sysd ) |
1229 | return d->sysReadEntry( theKey, def, ok ); | 1240 | return d->sysReadEntry( grp_key, def, ok ); |
1230 | #endif | 1241 | #endif |
1231 | 1242 | ||
1232 | if ( ok ) // no, everything is not ok | 1243 | if ( ok ) // no, everything is not ok |
1233 | *ok = FALSE; | 1244 | *ok = FALSE; |
1234 | 1245 | ||
1235 | QString realkey; | 1246 | QString realkey; |
1236 | 1247 | ||
1237 | if (theKey[0] == '/') { | 1248 | if (grp_key[0] == '/') { |
1238 | // parse our key | 1249 | // parse our key |
1239 | QStringList list(QStringList::split('/', theKey)); | 1250 | QStringList list(QStringList::split('/', grp_key)); |
1240 | 1251 | ||
1241 | if (list.count() < 2) { | 1252 | if (list.count() < 2) { |
1242 | #ifdef QT_CHECK_STATE | 1253 | #ifdef QT_CHECK_STATE |
1243 | qWarning("QSettings::readEntry: invalid key '%s'", theKey.latin1()); | 1254 | qWarning("QSettings::readEntry: invalid key '%s'", grp_key.latin1()); |
1244 | #endif // QT_CHECK_STATE | 1255 | #endif // QT_CHECK_STATE |
1245 | if ( ok ) | 1256 | if ( ok ) |
1246 | *ok = FALSE; | 1257 | *ok = FALSE; |
1247 | return def; | 1258 | return def; |
1248 | } | 1259 | } |
1249 | 1260 | ||
1250 | if (list.count() == 2) { | 1261 | if (list.count() == 2) { |
1251 | d->heading = list[0]; | 1262 | d->heading = list[0]; |
1252 | d->group = "General"; | 1263 | d->group = "General"; |
1253 | realkey = list[1]; | 1264 | realkey = list[1]; |
1254 | } else { | 1265 | } else { |
1255 | d->heading = list[0]; | 1266 | d->heading = list[0]; |
1256 | d->group = list[1]; | 1267 | d->group = list[1]; |
1257 | 1268 | ||
1258 | // remove the group from the list | 1269 | // remove the group from the list |
1259 | list.remove(list.at(1)); | 1270 | list.remove(list.at(1)); |
1260 | // remove the heading from the list | 1271 | // remove the heading from the list |
1261 | list.remove(list.at(0)); | 1272 | list.remove(list.at(0)); |
1262 | 1273 | ||
1263 | realkey = list.join("/"); | 1274 | realkey = list.join("/"); |
1264 | } | 1275 | } |
1265 | } else | 1276 | } else { |
1266 | realkey = theKey; | 1277 | realkey = grp_key; |
1278 | } | ||
1267 | 1279 | ||
1268 | QSettingsGroup grp = d->readGroup(); | 1280 | QSettingsGroup grp = d->readGroup(); |
1269 | QSettingsGroup::const_iterator it = grp.find( realkey ), end = grp.end(); | 1281 | QSettingsGroup::const_iterator it = grp.find( realkey ), end = grp.end(); |
1270 | QString retval = def; | 1282 | QString retval = def; |
1271 | if ( it != end ) { | 1283 | if ( it != end ) { |
1272 | // found the value we needed | 1284 | // found the value we needed |
1273 | retval = *it; | 1285 | retval = *it; |
1274 | if ( ok ) *ok = TRUE; | 1286 | if ( ok ) *ok = TRUE; |
1275 | } | 1287 | } |
1276 | return retval; | 1288 | return retval; |
1277 | } | 1289 | } |
1278 | 1290 | ||
1279 | 1291 | ||
1280 | #if !defined(Q_NO_BOOL_TYPE) | 1292 | #if !defined(Q_NO_BOOL_TYPE) |
1281 | /*! | 1293 | /*! |
1282 | Writes the boolean entry \a value into key \a key. The \a key is | 1294 | Writes the boolean entry \a value into key \a key. The \a key is |
1283 | created if it doesn't exist. Any previous value is overwritten by \a | 1295 | created if it doesn't exist. Any previous value is overwritten by \a |
1284 | value. | 1296 | value. |
1285 | 1297 | ||
1286 | If an error occurs the settings are left unchanged and FALSE is | 1298 | If an error occurs the settings are left unchanged and FALSE is |
1287 | returned; otherwise TRUE is returned. | 1299 | returned; otherwise TRUE is returned. |
1288 | 1300 | ||
1289 | \sa readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), removeEntry() | 1301 | \sa readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), removeEntry() |
1290 | */ | 1302 | */ |
1291 | bool QSettings::writeEntry(const QString &key, bool value) | 1303 | bool QSettings::writeEntry(const QString &key, bool value) |
1292 | { | 1304 | { |
1293 | if ( !qt_verify_key( key ) ) { | 1305 | QString grp_key( groupKey( group(), key ) ); |
1306 | if ( !qt_verify_key( grp_key ) ) { | ||
1294 | #if defined(QT_CHECK_STATE) | 1307 | #if defined(QT_CHECK_STATE) |
1295 | qWarning( "QSettings::writeEntry: Invalid key: '%s'", key.isNull() ? "(null)" : key.latin1() ); | 1308 | qWarning( "QSettings::writeEntry: Invalid key: '%s'", grp_key.isNull() ? "(null)" : grp_key.latin1() ); |
1296 | #endif | 1309 | #endif |
1297 | return FALSE; | 1310 | return FALSE; |
1298 | } | 1311 | } |
1299 | 1312 | ||
1300 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 1313 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
1301 | if ( d->sysd ) | 1314 | if ( d->sysd ) |
1302 | return d->sysWriteEntry( groupKey( group(), key ), value ); | 1315 | return d->sysWriteEntry( grp_key, value ); |
1303 | #endif | 1316 | #endif |
1304 | QString s(value ? "true" : "false"); | 1317 | QString s(value ? "true" : "false"); |
1305 | return writeEntry(key, s); | 1318 | return writeEntry(key, s); |
1306 | } | 1319 | } |
1307 | #endif | 1320 | #endif |
1308 | 1321 | ||
1309 | 1322 | ||
1310 | /*! | 1323 | /*! |
1311 | \overload | 1324 | \overload |
1312 | Writes the double entry \a value into key \a key. The \a key is | 1325 | Writes the double entry \a value into key \a key. The \a key is |
1313 | created if it doesn't exist. Any previous value is overwritten by \a | 1326 | created if it doesn't exist. Any previous value is overwritten by \a |
1314 | value. | 1327 | value. |
1315 | 1328 | ||
1316 | If an error occurs the settings are left unchanged and FALSE is | 1329 | If an error occurs the settings are left unchanged and FALSE is |
1317 | returned; otherwise TRUE is returned. | 1330 | returned; otherwise TRUE is returned. |
1318 | 1331 | ||
1319 | \sa readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), removeEntry() | 1332 | \sa readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), removeEntry() |
1320 | */ | 1333 | */ |
1321 | bool QSettings::writeEntry(const QString &key, double value) | 1334 | bool QSettings::writeEntry(const QString &key, double value) |
1322 | { | 1335 | { |
1323 | if ( !qt_verify_key( key ) ) { | 1336 | QString grp_key( groupKey( group(), key ) ); |
1337 | if ( !qt_verify_key( grp_key ) ) { | ||
1324 | #if defined(QT_CHECK_STATE) | 1338 | #if defined(QT_CHECK_STATE) |
1325 | qWarning( "QSettings::writeEntry: Invalid key: '%s'", key.isNull() ? "(null)" : key.latin1() ); | 1339 | qWarning( "QSettings::writeEntry: Invalid key: '%s'", grp_key.isNull() ? "(null)" : grp_key.latin1() ); |
1326 | #endif | 1340 | #endif |
1327 | return FALSE; | 1341 | return FALSE; |
1328 | } | 1342 | } |
1329 | 1343 | ||
1330 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 1344 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
1331 | if ( d->sysd ) | 1345 | if ( d->sysd ) |
1332 | return d->sysWriteEntry( groupKey( group(), key ), value ); | 1346 | return d->sysWriteEntry( grp_key, value ); |
1333 | #endif | 1347 | #endif |
1334 | QString s(QString::number(value)); | 1348 | QString s(QString::number(value)); |
1335 | return writeEntry(key, s); | 1349 | return writeEntry(key, s); |
1336 | } | 1350 | } |
1337 | 1351 | ||
1338 | 1352 | ||
1339 | /*! | 1353 | /*! |
1340 | \overload | 1354 | \overload |
1341 | Writes the integer entry \a value into key \a key. The \a key is | 1355 | Writes the integer entry \a value into key \a key. The \a key is |
1342 | created if it doesn't exist. Any previous value is overwritten by \a | 1356 | created if it doesn't exist. Any previous value is overwritten by \a |
1343 | value. | 1357 | value. |
1344 | 1358 | ||
1345 | If an error occurs the settings are left unchanged and FALSE is | 1359 | If an error occurs the settings are left unchanged and FALSE is |
1346 | returned; otherwise TRUE is returned. | 1360 | returned; otherwise TRUE is returned. |
1347 | 1361 | ||
1348 | \sa readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), removeEntry() | 1362 | \sa readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), removeEntry() |
1349 | */ | 1363 | */ |
1350 | bool QSettings::writeEntry(const QString &key, int value) | 1364 | bool QSettings::writeEntry(const QString &key, int value) |
1351 | { | 1365 | { |
1352 | if ( !qt_verify_key( key ) ) { | 1366 | QString grp_key( groupKey( group(), key ) ); |
1367 | if ( !qt_verify_key( grp_key ) ) { | ||
1353 | #if defined(QT_CHECK_STATE) | 1368 | #if defined(QT_CHECK_STATE) |
1354 | qWarning( "QSettings::writeEntry: Invalid key: '%s'", key.isNull() ? "(null)" : key.latin1() ); | 1369 | qWarning( "QSettings::writeEntry: Invalid key: '%s'", grp_key.isNull() ? "(null)" : grp_key.latin1() ); |
1355 | #endif | 1370 | #endif |
1356 | return FALSE; | 1371 | return FALSE; |
1357 | } | 1372 | } |
1358 | 1373 | ||
1359 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 1374 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
1360 | if ( d->sysd ) | 1375 | if ( d->sysd ) |
1361 | return d->sysWriteEntry( groupKey( group(), key ), value ); | 1376 | return d->sysWriteEntry( grp_key, value ); |
1362 | #endif | 1377 | #endif |
1363 | QString s(QString::number(value)); | 1378 | QString s(QString::number(value)); |
1364 | return writeEntry(key, s); | 1379 | return writeEntry(key, s); |
1365 | } | 1380 | } |
1366 | 1381 | ||
1367 | 1382 | ||
1368 | /*! | 1383 | /*! |
1369 | \internal | 1384 | \internal |
1370 | 1385 | ||
1371 | Writes the entry specified by \a key with the string-literal \a value, | 1386 | Writes the entry specified by \a key with the string-literal \a value, |
1372 | replacing any previous setting. If \a value is zero-length or null, the | 1387 | replacing any previous setting. If \a value is zero-length or null, the |
1373 | entry is replaced by an empty setting. | 1388 | entry is replaced by an empty setting. |
1374 | 1389 | ||
1375 | \e NOTE: This function is provided because some compilers use the | 1390 | \e NOTE: This function is provided because some compilers use the |
1376 | writeEntry (const QString &, bool) overload for this code: | 1391 | writeEntry (const QString &, bool) overload for this code: |
1377 | writeEntry ("/foo/bar", "baz") | 1392 | writeEntry ("/foo/bar", "baz") |
1378 | 1393 | ||
1379 | If an error occurs, this functions returns FALSE and the object is left | 1394 | If an error occurs, this functions returns FALSE and the object is left |
1380 | unchanged. | 1395 | unchanged. |
1381 | 1396 | ||
1382 | \sa readEntry(), removeEntry() | 1397 | \sa readEntry(), removeEntry() |
1383 | */ | 1398 | */ |
1384 | bool QSettings::writeEntry(const QString &key, const char *value) | 1399 | bool QSettings::writeEntry(const QString &key, const char *value) |
1385 | { | 1400 | { |
1386 | if ( !qt_verify_key( key ) ) { | ||
1387 | #if defined(QT_CHECK_STATE) | ||
1388 | qWarning( "QSettings::writeEntry: Invalid key: '%s'", key.isNull() ? "(null)" : key.latin1() ); | ||
1389 | #endif | ||
1390 | return FALSE; | ||
1391 | } | ||
1392 | |||
1393 | return writeEntry(key, QString(value)); | 1401 | return writeEntry(key, QString(value)); |
1394 | } | 1402 | } |
1395 | 1403 | ||
1396 | 1404 | ||
1397 | /*! | 1405 | /*! |
1398 | \overload | 1406 | \overload |
1399 | Writes the string entry \a value into key \a key. The \a key is | 1407 | Writes the string entry \a value into key \a key. The \a key is |
1400 | created if it doesn't exist. Any previous value is overwritten by \a | 1408 | created if it doesn't exist. Any previous value is overwritten by \a |
1401 | value. If \a value is an empty string or a null string the key's | 1409 | value. If \a value is an empty string or a null string the key's |
1402 | value will be an empty string. | 1410 | value will be an empty string. |
1403 | 1411 | ||
1404 | If an error occurs the settings are left unchanged and FALSE is | 1412 | If an error occurs the settings are left unchanged and FALSE is |
1405 | returned; otherwise TRUE is returned. | 1413 | returned; otherwise TRUE is returned. |
1406 | 1414 | ||
1407 | \sa readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), removeEntry() | 1415 | \sa readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), removeEntry() |
1408 | */ | 1416 | */ |
1409 | bool QSettings::writeEntry(const QString &key, const QString &value) | 1417 | bool QSettings::writeEntry(const QString &key, const QString &value) |
1410 | { | 1418 | { |
1411 | if ( !qt_verify_key( key ) ) { | 1419 | QString grp_key( groupKey( group(), key ) ); |
1420 | if ( !qt_verify_key( grp_key ) ) { | ||
1412 | #if defined(QT_CHECK_STATE) | 1421 | #if defined(QT_CHECK_STATE) |
1413 | qWarning( "QSettings::writeEntry: Invalid key: '%s'", key.isNull() ? "(null)" : key.latin1() ); | 1422 | qWarning( "QSettings::writeEntry: Invalid key: '%s'", grp_key.isNull() ? "(null)" : grp_key.latin1() ); |
1414 | #endif | 1423 | #endif |
1415 | return FALSE; | 1424 | return FALSE; |
1416 | } | 1425 | } |
1417 | 1426 | ||
1418 | QString theKey = groupKey( group(), key ); | ||
1419 | |||
1420 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 1427 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
1421 | if ( d->sysd ) | 1428 | if ( d->sysd ) |
1422 | return d->sysWriteEntry( theKey, value ); | 1429 | return d->sysWriteEntry( grp_key, value ); |
1423 | #endif | 1430 | #endif |
1424 | // NOTE: we *do* allow value to be a null/empty string | 1431 | // NOTE: we *do* allow value to be a null/empty string |
1425 | 1432 | ||
1426 | QString realkey; | 1433 | QString realkey; |
1427 | 1434 | ||
1428 | if (theKey[0] == '/') { | 1435 | if (grp_key[0] == '/') { |
1429 | // parse our key | 1436 | // parse our key |
1430 | QStringList list(QStringList::split('/', theKey)); | 1437 | QStringList list(QStringList::split('/', grp_key)); |
1431 | 1438 | ||
1432 | if (list.count() < 2) { | 1439 | if (list.count() < 2) { |
1433 | #ifdef QT_CHECK_STATE | 1440 | #ifdef QT_CHECK_STATE |
1434 | qWarning("QSettings::writeEntry: invalid key '%s'", theKey.latin1()); | 1441 | qWarning("QSettings::writeEntry: invalid key '%s'", grp_key.latin1()); |
1435 | #endif // QT_CHECK_STATE | 1442 | #endif // QT_CHECK_STATE |
1436 | 1443 | ||
1437 | return FALSE; | 1444 | return FALSE; |
1438 | } | 1445 | } |
1439 | 1446 | ||
1440 | if (list.count() == 2) { | 1447 | if (list.count() == 2) { |
1441 | d->heading = list[0]; | 1448 | d->heading = list[0]; |
1442 | d->group = "General"; | 1449 | d->group = "General"; |
1443 | realkey = list[1]; | 1450 | realkey = list[1]; |
1444 | } else { | 1451 | } else { |
1445 | d->heading = list[0]; | 1452 | d->heading = list[0]; |
1446 | d->group = list[1]; | 1453 | d->group = list[1]; |
1447 | 1454 | ||
1448 | // remove the group from the list | 1455 | // remove the group from the list |
1449 | list.remove(list.at(1)); | 1456 | list.remove(list.at(1)); |
1450 | // remove the heading from the list | 1457 | // remove the heading from the list |
1451 | list.remove(list.at(0)); | 1458 | list.remove(list.at(0)); |
1452 | 1459 | ||
1453 | realkey = list.join("/"); | 1460 | realkey = list.join("/"); |
1454 | } | 1461 | } |
1455 | } else | 1462 | } else { |
1456 | realkey = theKey; | 1463 | realkey = grp_key; |
1464 | } | ||
1457 | 1465 | ||
1458 | d->writeGroup(realkey, value); | 1466 | d->writeGroup(realkey, value); |
1459 | return TRUE; | 1467 | return TRUE; |
1460 | } | 1468 | } |
1461 | 1469 | ||
1462 | 1470 | ||
1463 | /*! | 1471 | /*! |
1464 | Removes the entry specified by \a key. | 1472 | Removes the entry specified by \a key. |
1465 | 1473 | ||
1466 | Returns TRUE if the entry existed and was removed; otherwise returns FALSE. | 1474 | Returns TRUE if the entry existed and was removed; otherwise returns FALSE. |
1467 | 1475 | ||
1468 | \sa readEntry(), writeEntry() | 1476 | \sa readEntry(), writeEntry() |
1469 | */ | 1477 | */ |
1470 | bool QSettings::removeEntry(const QString &key) | 1478 | bool QSettings::removeEntry(const QString &key) |
1471 | { | 1479 | { |
1472 | if ( !qt_verify_key( key ) ) { | 1480 | QString grp_key( groupKey( group(), key ) ); |
1481 | if ( !qt_verify_key( grp_key ) ) { | ||
1473 | #if defined(QT_CHECK_STATE) | 1482 | #if defined(QT_CHECK_STATE) |
1474 | qWarning( "QSettings::removeEntry: Invalid key: '%s'", key.isNull() ? "(null)" : key.latin1() ); | 1483 | qWarning( "QSettings::removeEntry: Invalid key: '%s'", grp_key.isNull() ? "(null)" : grp_key.latin1() ); |
1475 | #endif | 1484 | #endif |
1476 | return FALSE; | 1485 | return FALSE; |
1477 | } | 1486 | } |
1478 | 1487 | ||
1479 | QString theKey = groupKey( group(), key ); | ||
1480 | |||
1481 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 1488 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
1482 | if ( d->sysd ) | 1489 | if ( d->sysd ) |
1483 | return d->sysRemoveEntry( theKey ); | 1490 | return d->sysRemoveEntry( grp_key ); |
1484 | #endif | 1491 | #endif |
1485 | 1492 | ||
1486 | QString realkey; | 1493 | QString realkey; |
1487 | 1494 | if (grp_key[0] == '/') { | |
1488 | if (theKey[0] == '/') { | ||
1489 | // parse our key | 1495 | // parse our key |
1490 | QStringList list(QStringList::split('/', theKey)); | 1496 | QStringList list(QStringList::split('/', grp_key)); |
1491 | 1497 | ||
1492 | if (list.count() < 2) { | 1498 | if (list.count() < 2) { |
1493 | #ifdef QT_CHECK_STATE | 1499 | #ifdef QT_CHECK_STATE |
1494 | qWarning("QSettings::removeEntry: invalid key '%s'", theKey.latin1()); | 1500 | qWarning("QSettings::removeEntry: invalid key '%s'", grp_key.latin1()); |
1495 | #endif // QT_CHECK_STATE | 1501 | #endif // QT_CHECK_STATE |
1496 | 1502 | ||
1497 | return FALSE; | 1503 | return FALSE; |
1498 | } | 1504 | } |
1499 | 1505 | ||
1500 | if (list.count() == 2) { | 1506 | if (list.count() == 2) { |
1501 | d->heading = list[0]; | 1507 | d->heading = list[0]; |
1502 | d->group = "General"; | 1508 | d->group = "General"; |
1503 | realkey = list[1]; | 1509 | realkey = list[1]; |
1504 | } else { | 1510 | } else { |
1505 | d->heading = list[0]; | 1511 | d->heading = list[0]; |
1506 | d->group = list[1]; | 1512 | d->group = list[1]; |
1507 | 1513 | ||
1508 | // remove the group from the list | 1514 | // remove the group from the list |
1509 | list.remove(list.at(1)); | 1515 | list.remove(list.at(1)); |
1510 | // remove the heading from the list | 1516 | // remove the heading from the list |
1511 | list.remove(list.at(0)); | 1517 | list.remove(list.at(0)); |
1512 | 1518 | ||
1513 | realkey = list.join("/"); | 1519 | realkey = list.join("/"); |
1514 | } | 1520 | } |
1515 | } else | 1521 | } else { |
1516 | realkey = theKey; | 1522 | realkey = grp_key; |
1523 | } | ||
1517 | 1524 | ||
1518 | d->removeGroup(realkey); | 1525 | d->removeGroup(realkey); |
1519 | return TRUE; | 1526 | return TRUE; |
1520 | } | 1527 | } |
1521 | 1528 | ||
1522 | 1529 | ||
1523 | /*! | 1530 | /*! |
1524 | Returns a list of the keys which contain entries under \a key. Does \e | 1531 | Returns a list of the keys which contain entries under \a key. Does \e |
1525 | not return any keys that contain keys. | 1532 | not return any keys that contain keys. |
1526 | 1533 | ||
1527 | Example settings: | 1534 | Example settings: |
1528 | \code | 1535 | \code |
1529 | /MyCompany/MyApplication/background color | 1536 | /MyCompany/MyApplication/background color |
1530 | /MyCompany/MyApplication/foreground color | 1537 | /MyCompany/MyApplication/foreground color |
1531 | /MyCompany/MyApplication/geometry/x | 1538 | /MyCompany/MyApplication/geometry/x |
1532 | /MyCompany/MyApplication/geometry/y | 1539 | /MyCompany/MyApplication/geometry/y |
1533 | /MyCompany/MyApplication/geometry/width | 1540 | /MyCompany/MyApplication/geometry/width |
1534 | /MyCompany/MyApplication/geometry/height | 1541 | /MyCompany/MyApplication/geometry/height |
1535 | \endcode | 1542 | \endcode |
1536 | \code | 1543 | \code |
1537 | QStringList keys = entryList( "/MyCompany/MyApplication" ); | 1544 | QStringList keys = entryList( "/MyCompany/MyApplication" ); |
1538 | \endcode | 1545 | \endcode |
1539 | \c keys contains 'background color' and 'foreground color'. It does | 1546 | \c keys contains 'background color' and 'foreground color'. It does |
1540 | not contain 'geometry' because this key contains keys not entries. | 1547 | not contain 'geometry' because this key contains keys not entries. |
1541 | 1548 | ||
1542 | To access the geometry values could either use subkeyList() to read | 1549 | To access the geometry values could either use subkeyList() to read |
1543 | the keys and then read each entry, or simply read each entry | 1550 | the keys and then read each entry, or simply read each entry |
1544 | directly by specifying its full key, e.g. | 1551 | directly by specifying its full key, e.g. |
1545 | "/MyCompany/MyApplication/geometry/y". | 1552 | "/MyCompany/MyApplication/geometry/y". |
1546 | 1553 | ||
1547 | \sa subkeyList() | 1554 | \sa subkeyList() |
1548 | */ | 1555 | */ |
1549 | QStringList QSettings::entryList(const QString &key) const | 1556 | QStringList QSettings::entryList(const QString &key) const |
1550 | { | 1557 | { |
1551 | if ( !qt_verify_key( key ) ) { | 1558 | QString grp_key( groupKey( group(), key ) ); |
1559 | if ( !qt_verify_key( grp_key ) ) { | ||
1552 | #if defined(QT_CHECK_STATE) | 1560 | #if defined(QT_CHECK_STATE) |
1553 | qWarning( "QSettings::entryList: Invalid key: %s", key.isNull() ? "(null)" : key.latin1() ); | 1561 | qWarning( "QSettings::entryList: Invalid key: %s", grp_key.isNull() ? "(null)" : grp_key.latin1() ); |
1554 | #endif | 1562 | #endif |
1555 | return QStringList(); | 1563 | return QStringList(); |
1556 | } | 1564 | } |
1557 | 1565 | ||
1558 | QString theKey = groupKey( group(), key ); | ||
1559 | |||
1560 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 1566 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
1561 | if ( d->sysd ) | 1567 | if ( d->sysd ) |
1562 | return d->sysEntryList( theKey ); | 1568 | return d->sysEntryList( grp_key ); |
1563 | #endif | 1569 | #endif |
1564 | 1570 | ||
1565 | QString realkey; | 1571 | QString realkey; |
1566 | if (theKey[0] == '/') { | 1572 | if (grp_key[0] == '/') { |
1567 | // parse our key | 1573 | // parse our key |
1568 | QStringList list(QStringList::split('/', theKey)); | 1574 | QStringList list(QStringList::split('/', grp_key)); |
1569 | 1575 | ||
1570 | if (list.count() < 1) { | 1576 | if (list.count() < 1) { |
1571 | #ifdef QT_CHECK_STATE | 1577 | #ifdef QT_CHECK_STATE |
1572 | qWarning("QSettings::listEntries: invalid key '%s'", theKey.latin1()); | 1578 | qWarning("QSettings::listEntries: invalid key '%s'", grp_key.latin1()); |
1573 | #endif // QT_CHECK_STATE | 1579 | #endif // QT_CHECK_STATE |
1574 | 1580 | ||
1575 | return QStringList(); | 1581 | return QStringList(); |
1576 | } | 1582 | } |
1577 | 1583 | ||
1578 | if (list.count() == 1) { | 1584 | if (list.count() == 1) { |
1579 | d->heading = list[0]; | 1585 | d->heading = list[0]; |
1580 | d->group = "General"; | 1586 | d->group = "General"; |
1581 | } else { | 1587 | } else { |
1582 | d->heading = list[0]; | 1588 | d->heading = list[0]; |
1583 | d->group = list[1]; | 1589 | d->group = list[1]; |
1584 | 1590 | ||
1585 | // remove the group from the list | 1591 | // remove the group from the list |
1586 | list.remove(list.at(1)); | 1592 | list.remove(list.at(1)); |
1587 | // remove the heading from the list | 1593 | // remove the heading from the list |
1588 | list.remove(list.at(0)); | 1594 | list.remove(list.at(0)); |
1589 | 1595 | ||
1590 | realkey = list.join("/"); | 1596 | realkey = list.join("/"); |
1591 | } | 1597 | } |
1592 | } else | 1598 | } else |
1593 | realkey = theKey; | 1599 | realkey = grp_key; |
1594 | 1600 | ||
1595 | QSettingsGroup grp = d->readGroup(); | 1601 | QSettingsGroup grp = d->readGroup(); |
1596 | QSettingsGroup::Iterator it = grp.begin(); | 1602 | QSettingsGroup::Iterator it = grp.begin(); |
1597 | QStringList ret; | 1603 | QStringList ret; |
1598 | QString itkey; | 1604 | QString itkey; |
1599 | while (it != grp.end()) { | 1605 | while (it != grp.end()) { |
1600 | itkey = it.key(); | 1606 | itkey = it.key(); |
1601 | ++it; | 1607 | ++it; |
1602 | 1608 | ||
1603 | if ( realkey.length() > 0 ) { | 1609 | if ( realkey.length() > 0 ) { |
1604 | if ( itkey.left( realkey.length() ) != realkey ) | 1610 | if ( itkey.left( realkey.length() ) != realkey ) |
1605 | continue; | 1611 | continue; |
1606 | else | 1612 | else |
1607 | itkey.remove( 0, realkey.length() + 1 ); | 1613 | itkey.remove( 0, realkey.length() + 1 ); |
1608 | } | 1614 | } |
1609 | 1615 | ||
1610 | if ( itkey.find( '/' ) != -1 ) | 1616 | if ( itkey.find( '/' ) != -1 ) |
1611 | continue; | 1617 | continue; |
1612 | 1618 | ||
1613 | ret << itkey; | 1619 | ret << itkey; |
1614 | } | 1620 | } |
1615 | 1621 | ||
1616 | return ret; | 1622 | return ret; |
1617 | } | 1623 | } |
1618 | 1624 | ||
1619 | 1625 | ||
1620 | /*! | 1626 | /*! |
1621 | Returns a list of the keys which contain keys under \a key. Does \e | 1627 | Returns a list of the keys which contain keys under \a key. Does \e |
1622 | not return any keys that contain entries. | 1628 | not return any keys that contain entries. |
1623 | 1629 | ||
1624 | Example settings: | 1630 | Example settings: |
1625 | \code | 1631 | \code |
1626 | /MyCompany/MyApplication/background color | 1632 | /MyCompany/MyApplication/background color |
1627 | /MyCompany/MyApplication/foreground color | 1633 | /MyCompany/MyApplication/foreground color |
1628 | /MyCompany/MyApplication/geometry/x | 1634 | /MyCompany/MyApplication/geometry/x |
1629 | /MyCompany/MyApplication/geometry/y | 1635 | /MyCompany/MyApplication/geometry/y |
1630 | /MyCompany/MyApplication/geometry/width | 1636 | /MyCompany/MyApplication/geometry/width |
1631 | /MyCompany/MyApplication/geometry/height | 1637 | /MyCompany/MyApplication/geometry/height |
1632 | /MyCompany/MyApplication/recent files/1 | 1638 | /MyCompany/MyApplication/recent files/1 |
1633 | /MyCompany/MyApplication/recent files/2 | 1639 | /MyCompany/MyApplication/recent files/2 |
1634 | /MyCompany/MyApplication/recent files/3 | 1640 | /MyCompany/MyApplication/recent files/3 |
1635 | \endcode | 1641 | \endcode |
1636 | \code | 1642 | \code |
1637 | QStringList keys = subkeyList( "/MyCompany/MyApplication" ); | 1643 | QStringList keys = subkeyList( "/MyCompany/MyApplication" ); |
1638 | \endcode | 1644 | \endcode |
1639 | \c keys contains 'geometry' and 'recent files'. It does not contain | 1645 | \c keys contains 'geometry' and 'recent files'. It does not contain |
1640 | 'background color' or 'foreground color' because they are keys which | 1646 | 'background color' or 'foreground color' because they are keys which |
1641 | contain entries not keys. To get a list of keys that have values | 1647 | contain entries not keys. To get a list of keys that have values |
1642 | rather than subkeys use entryList(). | 1648 | rather than subkeys use entryList(). |
1643 | 1649 | ||
1644 | \sa entryList() | 1650 | \sa entryList() |
1645 | */ | 1651 | */ |
1646 | QStringList QSettings::subkeyList(const QString &key) const | 1652 | QStringList QSettings::subkeyList(const QString &key) const |
1647 | { | 1653 | { |
1648 | if ( !qt_verify_key( key ) ) { | 1654 | QString grp_key( groupKey( group(), key ) ); |
1655 | if ( !qt_verify_key( grp_key ) ) { | ||
1649 | #if defined(QT_CHECK_STATE) | 1656 | #if defined(QT_CHECK_STATE) |
1650 | qWarning( "QSettings::subkeyList: Invalid key: %s", key.isNull() ? "(null)" : key.latin1() ); | 1657 | qWarning( "QSettings::subkeyList: Invalid key: %s", grp_key.isNull() ? "(null)" : grp_key.latin1() ); |
1651 | #endif | 1658 | #endif |
1652 | return QStringList(); | 1659 | return QStringList(); |
1653 | } | 1660 | } |
1654 | 1661 | ||
1655 | QString theKey = groupKey( group(), key ); | ||
1656 | |||
1657 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 1662 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
1658 | if ( d->sysd ) | 1663 | if ( d->sysd ) |
1659 | return d->sysSubkeyList( theKey ); | 1664 | return d->sysSubkeyList( grp_key ); |
1660 | #endif | 1665 | #endif |
1661 | 1666 | ||
1662 | QString realkey; | 1667 | QString realkey; |
1663 | int subkeycount = 2; | 1668 | int subkeycount = 2; |
1664 | if (theKey[0] == '/') { | 1669 | if (grp_key[0] == '/') { |
1665 | // parse our key | 1670 | // parse our key |
1666 | QStringList list(QStringList::split('/', theKey)); | 1671 | QStringList list(QStringList::split('/', grp_key)); |
1667 | 1672 | ||
1668 | if (list.count() < 1) { | 1673 | if (list.count() < 1) { |
1669 | #ifdef QT_CHECK_STATE | 1674 | #ifdef QT_CHECK_STATE |
1670 | qWarning("QSettings::subkeyList: invalid key '%s'", theKey.latin1()); | 1675 | qWarning("QSettings::subkeyList: invalid key '%s'", grp_key.latin1()); |
1671 | #endif // QT_CHECK_STATE | 1676 | #endif // QT_CHECK_STATE |
1672 | 1677 | ||
1673 | return QStringList(); | 1678 | return QStringList(); |
1674 | } | 1679 | } |
1675 | 1680 | ||
1676 | subkeycount = list.count(); | 1681 | subkeycount = list.count(); |
1677 | 1682 | ||
1678 | if (list.count() == 1) { | 1683 | if (list.count() == 1) { |
1679 | d->heading = list[0]; | 1684 | d->heading = list[0]; |
1680 | d->group = "General"; | 1685 | d->group = "General"; |
1681 | } else { | 1686 | } else { |
1682 | d->heading = list[0]; | 1687 | d->heading = list[0]; |
1683 | d->group = list[1]; | 1688 | d->group = list[1]; |
1684 | 1689 | ||
1685 | // remove the group from the list | 1690 | // remove the group from the list |
1686 | list.remove(list.at(1)); | 1691 | list.remove(list.at(1)); |
1687 | // remove the heading from the list | 1692 | // remove the heading from the list |
1688 | list.remove(list.at(0)); | 1693 | list.remove(list.at(0)); |
1689 | 1694 | ||
1690 | realkey = list.join("/"); | 1695 | realkey = list.join("/"); |
1691 | } | 1696 | } |
1692 | 1697 | ||
1693 | } else | 1698 | } else |
1694 | realkey = theKey; | 1699 | realkey = grp_key; |
1695 | 1700 | ||
1696 | QStringList ret; | 1701 | QStringList ret; |
1697 | if ( subkeycount == 1 ) { | 1702 | if ( subkeycount == 1 ) { |
1698 | QMap<QString,QSettingsHeading>::Iterator it = d->headings.begin(); | 1703 | QMap<QString,QSettingsHeading>::Iterator it = d->headings.begin(); |
1699 | while ( it != d->headings.end() ) { | 1704 | while ( it != d->headings.end() ) { |
1700 | if ( it.key() != "General" && ! ret.contains( it.key() ) ) | 1705 | if ( it.key() != "General" && ! ret.contains( it.key() ) ) |
1701 | ret << it.key(); | 1706 | ret << it.key(); |
1702 | ++it; | 1707 | ++it; |
1703 | } | 1708 | } |
1704 | 1709 | ||
1705 | return ret; | 1710 | return ret; |
1706 | } | 1711 | } |
1707 | 1712 | ||
1708 | QSettingsGroup grp = d->readGroup(); | 1713 | QSettingsGroup grp = d->readGroup(); |
1709 | QSettingsGroup::Iterator it = grp.begin(); | 1714 | QSettingsGroup::Iterator it = grp.begin(); |
1710 | QString itkey; | 1715 | QString itkey; |
1711 | while (it != grp.end()) { | 1716 | while (it != grp.end()) { |
1712 | itkey = it.key(); | 1717 | itkey = it.key(); |
1713 | ++it; | 1718 | ++it; |
1714 | 1719 | ||
1715 | if ( realkey.length() > 0 ) { | 1720 | if ( realkey.length() > 0 ) { |
1716 | if ( itkey.left( realkey.length() ) != realkey ) | 1721 | if ( itkey.left( realkey.length() ) != realkey ) |
1717 | continue; | 1722 | continue; |
1718 | else | 1723 | else |
1719 | itkey.remove( 0, realkey.length() + 1 ); | 1724 | itkey.remove( 0, realkey.length() + 1 ); |
1720 | } | 1725 | } |
1721 | 1726 | ||
1722 | int slash = itkey.find( '/' ); | 1727 | int slash = itkey.find( '/' ); |
1723 | if ( slash == -1 ) | 1728 | if ( slash == -1 ) |
1724 | continue; | 1729 | continue; |
1725 | itkey.truncate( slash ); | 1730 | itkey.truncate( slash ); |
1726 | 1731 | ||
1727 | if ( ! ret.contains( itkey ) ) | 1732 | if ( ! ret.contains( itkey ) ) |
1728 | ret << itkey; | 1733 | ret << itkey; |
1729 | } | 1734 | } |
1730 | 1735 | ||
1731 | return ret; | 1736 | return ret; |
1732 | } | 1737 | } |
1733 | 1738 | ||
1734 | 1739 | ||
1735 | /*! | 1740 | /*! |
1736 | \internal | 1741 | \internal |
1737 | 1742 | ||
1738 | This function returns the time of last modification for \a key. | 1743 | This function returns the time of last modification for \a key. |
1739 | */ | 1744 | */ |
1740 | QDateTime QSettings::lastModficationTime(const QString &key) | 1745 | QDateTime QSettings::lastModificationTime( const QString &key ) |
1741 | { | 1746 | { |
1742 | if ( !qt_verify_key( key ) ) { | 1747 | QString grp_key( groupKey( group(), key ) ); |
1748 | if ( !qt_verify_key( grp_key ) ) { | ||
1743 | #if defined(QT_CHECK_STATE) | 1749 | #if defined(QT_CHECK_STATE) |
1744 | qWarning( "QSettings::lastModficationTime: Invalid key: '%s'", key.isNull() ? "(null)" : key.latin1() ); | 1750 | qWarning( "QSettings::lastModificationTime: Invalid key '%s'", grp_key.isNull() ? "(null)" : grp_key.latin1() ); |
1745 | #endif | 1751 | #endif |
1746 | return QDateTime(); | 1752 | return QDateTime(); |
1747 | } | 1753 | } |
1748 | 1754 | ||
1749 | QString theKey = groupKey( group(), key ); | ||
1750 | |||
1751 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) | 1755 | #if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) |
1752 | if ( d->sysd ) | 1756 | if ( d->sysd ) |
1753 | return QDateTime(); | 1757 | return QDateTime(); |
1754 | #endif | 1758 | #endif |
1755 | 1759 | ||
1756 | if (theKey[0] == '/') { | 1760 | if (grp_key[0] == '/') { |
1757 | // parse our key | 1761 | // parse our key |
1758 | QStringList list(QStringList::split('/', theKey)); | 1762 | QStringList list(QStringList::split('/', grp_key)); |
1759 | 1763 | ||
1760 | if (list.count() < 2) { | 1764 | if (list.count() < 2) { |
1761 | #ifdef QT_CHECK_STATE | 1765 | #ifdef QT_CHECK_STATE |
1762 | qWarning("QSettings::lastModficationTime: invalid key '%s'", theKey.latin1()); | 1766 | qWarning("QSettings::lastModificationTime: Invalid key '%s'", grp_key.latin1()); |
1763 | #endif // QT_CHECK_STATE | 1767 | #endif // QT_CHECK_STATE |
1764 | 1768 | ||
1765 | return QDateTime(); | 1769 | return QDateTime(); |
1766 | } | 1770 | } |
1767 | 1771 | ||
1768 | if (list.count() == 2) { | 1772 | if (list.count() == 2) { |
1769 | d->heading = list[0]; | 1773 | d->heading = list[0]; |
1770 | d->group = "General"; | 1774 | d->group = "General"; |
1771 | } else { | 1775 | } else { |
1772 | d->heading = list[0]; | 1776 | d->heading = list[0]; |
1773 | d->group = list[1]; | 1777 | d->group = list[1]; |
1774 | } | 1778 | } |
1775 | } | 1779 | } |
1776 | 1780 | ||
1777 | return d->modificationTime(); | 1781 | return d->modificationTime(); |
1778 | } | 1782 | } |
1779 | 1783 | ||
1780 | 1784 | ||
1781 | /*! | 1785 | /*! |
1782 | \overload | 1786 | \overload |
1787 | \obsolete | ||
1783 | 1788 | ||
1784 | Writes the string list entry \a value into key \a key. The \a key | 1789 | Writes the string list entry \a value into key \a key. The \a key |
1785 | is created if it doesn't exist. Any previous value is overwritten | 1790 | is created if it doesn't exist. Any previous value is overwritten |
1786 | by \a value. The list is stored as a sequence of strings separated | 1791 | by \a value. The list is stored as a sequence of strings separated |
1787 | by \a separator (using QStringList::join()), so none of the | 1792 | by \a separator (using QStringList::join()), so none of the |
1788 | strings in the list should contain the separator. If the list is | 1793 | strings in the list should contain the separator. If the list is |
1789 | empty or null the key's value will be an empty string. | 1794 | empty or null the key's value will be an empty string. |
1790 | 1795 | ||
1791 | \warning The list should not contain empty or null strings, as | 1796 | \warning The list should not contain empty or null strings, as |
1792 | readListEntry() will use QStringList::split() to recreate the | 1797 | readListEntry() will use QStringList::split() to recreate the |
1793 | list. As the documentation states, QStringList::split() will omit | 1798 | list. As the documentation states, QStringList::split() will omit |
1794 | empty strings from the list. Because of this, it is impossible to | 1799 | empty strings from the list. Because of this, it is impossible to |
1795 | retrieve identical list data that is stored with this function. | 1800 | retrieve identical list data that is stored with this function. |
1796 | We recommend using the writeEntry() and readListEntry() overloads | 1801 | We recommend using the writeEntry() and readListEntry() overloads |
1797 | that do not take a \a separator argument. | 1802 | that do not take a \a separator argument. |
1798 | 1803 | ||
1804 | |||
1799 | If an error occurs the settings are left unchanged and FALSE is | 1805 | If an error occurs the settings are left unchanged and FALSE is |
1800 | returned; otherwise returns TRUE. | 1806 | returned; otherwise returns TRUE. |
1801 | 1807 | ||
1802 | \sa readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), removeEntry() | 1808 | \sa readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), removeEntry(), QStringList::join() |
1803 | */ | 1809 | */ |
1804 | bool QSettings::writeEntry(const QString &key, const QStringList &value, | 1810 | bool QSettings::writeEntry(const QString &key, const QStringList &value, |
1805 | const QChar &separator) | 1811 | const QChar &separator) |
1806 | { | 1812 | { |
1807 | QString s(value.join(separator)); | 1813 | QString s(value.join(separator)); |
1808 | return writeEntry(key, s); | 1814 | return writeEntry(key, s); |
1809 | } | 1815 | } |
1810 | 1816 | ||
1811 | /*! | 1817 | /*! |
1812 | \overload | 1818 | \overload |
1813 | 1819 | ||
1814 | Writes the string list entry \a value into key \a key. The \a key | 1820 | Writes the string list entry \a value into key \a key. The \a key |
1815 | is created if it doesn't exist. Any previous value is overwritten | 1821 | is created if it doesn't exist. Any previous value is overwritten |
1816 | by \a value. | 1822 | by \a value. |
1817 | 1823 | ||
1818 | If an error occurs the settings are left unchanged and FALSE is | 1824 | If an error occurs the settings are left unchanged and FALSE is |
1819 | returned; otherwise returns TRUE. | 1825 | returned; otherwise returns TRUE. |
1820 | 1826 | ||
1821 | \sa readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), removeEntry() | 1827 | \sa readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), removeEntry() |
1822 | */ | 1828 | */ |
1823 | bool QSettings::writeEntry(const QString &key, const QStringList &value) | 1829 | bool QSettings::writeEntry(const QString &key, const QStringList &value) |
1824 | { | 1830 | { |
1825 | QString s; | 1831 | QString s; |
1826 | for (QStringList::ConstIterator it=value.begin(); it!=value.end(); ++it) { | 1832 | for (QStringList::ConstIterator it=value.begin(); it!=value.end(); ++it) { |
1827 | QString el = *it; | 1833 | QString el = *it; |
1828 | if ( el.isNull() ) { | 1834 | if ( el.isNull() ) { |
1829 | el = "^0"; | 1835 | el = "^0"; |
1830 | } else { | 1836 | } else { |
1831 | el.replace("^", "^^"); | 1837 | el.replace("^", "^^"); |
1832 | } | 1838 | } |
1833 | s+=el; | 1839 | s+=el; |
1834 | s+="^e"; // end of element | 1840 | s+="^e"; // end of element |
1835 | } | 1841 | } |
1836 | return writeEntry(key, s); | 1842 | return writeEntry(key, s); |
1837 | } | 1843 | } |
1838 | 1844 | ||
1839 | 1845 | ||
1840 | /*! | 1846 | /*! |
1841 | \overload QStringList QSettings::readListEntry(const QString &key, const QChar &separator, bool *ok ) const | 1847 | \overload QStringList QSettings::readListEntry(const QString &key, const QChar &separator, bool *ok ) const |
1848 | \obsolete | ||
1842 | 1849 | ||
1843 | Reads the entry specified by \a key as a string. The \a separator | 1850 | Reads the entry specified by \a key as a string. The \a separator |
1844 | is used to create a QStringList by calling QStringList::split(\a | 1851 | is used to create a QStringList by calling QStringList::split(\a |
1845 | separator, entry). If \a ok is not 0: \a *ok is set to TRUE if the | 1852 | separator, entry). If \a ok is not 0: \a *ok is set to TRUE |
1846 | key was read, otherwise \a *ok is set to FALSE. | 1853 | if the key was read, otherwise \a *ok is set to FALSE. |
1847 | 1854 | ||
1848 | \warning As the documentation states, QStringList::split() will | 1855 | \warning As the documentation states, QStringList::split() will |
1849 | omit empty strings from the list. Because of this, it is | 1856 | omit empty strings from the list. Because of this, it is |
1850 | impossible to retrieve identical list data with this function. We | 1857 | impossible to retrieve identical list data with this function. We |
1851 | recommend using the readListEntry() and writeEntry() overloads | 1858 | recommend using the readListEntry() and writeEntry() overloads |
1852 | that do not take a \a separator argument. | 1859 | that do not take a \a separator argument. |
1853 | 1860 | ||
1854 | |||
1855 | Note that if you want to iterate over the list, you should iterate | 1861 | Note that if you want to iterate over the list, you should iterate |
1856 | over a copy, e.g. | 1862 | over a copy, e.g. |
1857 | \code | 1863 | \code |
1858 | QStringList list = mySettings.readListEntry( "size", " " ); | 1864 | QStringList list = mySettings.readListEntry( "size", " " ); |
1859 | QStringList::Iterator it = list.begin(); | 1865 | QStringList::Iterator it = list.begin(); |
1860 | while( it != list.end() ) { | 1866 | while( it != list.end() ) { |
1861 | myProcessing( *it ); | 1867 | myProcessing( *it ); |
1862 | ++it; | 1868 | ++it; |
1863 | } | 1869 | } |
1864 | \endcode | 1870 | \endcode |
1865 | 1871 | ||
1866 | \sa readEntry(), readDoubleEntry(), readBoolEntry(), writeEntry(), removeEntry(), QStringList::split() | 1872 | \sa readEntry(), readDoubleEntry(), readBoolEntry(), writeEntry(), removeEntry(), QStringList::split() |
1867 | */ | 1873 | */ |
1868 | 1874 | ||
1869 | /*! | 1875 | /*! |
1870 | \internal | 1876 | \internal |
1871 | */ | 1877 | */ |
1872 | QStringList QSettings::readListEntry(const QString &key, const QChar &separator, bool *ok ) | 1878 | QStringList QSettings::readListEntry(const QString &key, const QChar &separator, bool *ok ) |
1873 | { | 1879 | { |
1874 | QString value = readEntry( key, QString::null, ok ); | 1880 | QString value = readEntry( key, QString::null, ok ); |
1875 | if ( ok && !*ok ) | 1881 | if ( ok && !*ok ) |
1876 | return QStringList(); | 1882 | return QStringList(); |
1877 | 1883 | ||
1878 | return QStringList::split(separator, value); | 1884 | return QStringList::split(separator, value); |
1879 | } | 1885 | } |
1880 | 1886 | ||
1881 | /*! | 1887 | /*! |
1882 | \fn QStringList QSettings::readListEntry(const QString &key, bool *ok ) const | 1888 | \fn QStringList QSettings::readListEntry(const QString &key, bool *ok ) const |
1883 | Reads the entry specified by \a key as a string. If \a ok is not | 1889 | Reads the entry specified by \a key as a string. If \a ok is not |
1884 | 0, \a *ok is set to TRUE if the key was read, otherwise \a *ok is | 1890 | 0, \a *ok is set to TRUE if the key was read, otherwise \a *ok is |
1885 | set to FALSE. | 1891 | set to FALSE. |
1886 | 1892 | ||
1887 | Note that if you want to iterate over the list, you should iterate | 1893 | Note that if you want to iterate over the list, you should iterate |
1888 | over a copy, e.g. | 1894 | over a copy, e.g. |
1889 | \code | 1895 | \code |
1890 | QStringList list = mySettings.readListEntry( "recentfiles" ); | 1896 | QStringList list = mySettings.readListEntry( "recentfiles" ); |
1891 | QStringList::Iterator it = list.begin(); | 1897 | QStringList::Iterator it = list.begin(); |
1892 | while( it != list.end() ) { | 1898 | while( it != list.end() ) { |
1893 | myProcessing( *it ); | 1899 | myProcessing( *it ); |
1894 | ++it; | 1900 | ++it; |
1895 | } | 1901 | } |
1896 | \endcode | 1902 | \endcode |
1897 | 1903 | ||
1898 | \sa readEntry(), readDoubleEntry(), readBoolEntry(), writeEntry(), removeEntry(), QStringList::split() | 1904 | \sa readEntry(), readDoubleEntry(), readBoolEntry(), writeEntry(), removeEntry(), QStringList::split() |
1899 | */ | 1905 | */ |
1900 | 1906 | ||
1901 | /*! | 1907 | /*! |
1902 | \internal | 1908 | \internal |
1903 | */ | 1909 | */ |
1904 | QStringList QSettings::readListEntry(const QString &key, bool *ok ) | 1910 | QStringList QSettings::readListEntry(const QString &key, bool *ok ) |
1905 | { | 1911 | { |
1906 | QString value = readEntry( key, QString::null, ok ); | 1912 | QString value = readEntry( key, QString::null, ok ); |
1907 | if ( ok && !*ok ) | 1913 | if ( ok && !*ok ) |
1908 | return QStringList(); | 1914 | return QStringList(); |
1909 | QStringList l; | 1915 | QStringList l; |
1910 | QString s; | 1916 | QString s; |
1911 | bool esc=FALSE; | 1917 | bool esc=FALSE; |
1912 | for (int i=0; i<(int)value.length(); i++) { | 1918 | for (int i=0; i<(int)value.length(); i++) { |
1913 | if ( esc ) { | 1919 | if ( esc ) { |
1914 | if ( value[i] == 'e' ) { // end-of-string | 1920 | if ( value[i] == 'e' ) { // end-of-string |
1915 | l.append(s); | 1921 | l.append(s); |
1916 | s=""; | 1922 | s=""; |
1917 | } else if ( value[i] == '0' ) { // null string | 1923 | } else if ( value[i] == '0' ) { // null string |
1918 | s=QString::null; | 1924 | s=QString::null; |
1919 | } else { | 1925 | } else { |
1920 | s.append(value[i]); | 1926 | s.append(value[i]); |
1921 | } | 1927 | } |
1922 | esc=FALSE; | 1928 | esc=FALSE; |
1923 | } else if ( value[i] == '^' ) { | 1929 | } else if ( value[i] == '^' ) { |
1924 | esc = TRUE; | 1930 | esc = TRUE; |
1925 | } else { | 1931 | } else { |
1926 | s.append(value[i]); | 1932 | s.append(value[i]); |
1927 | if ( i == (int)value.length()-1 ) | 1933 | if ( i == (int)value.length()-1 ) |
1928 | l.append(s); | 1934 | l.append(s); |
1929 | } | 1935 | } |
1930 | } | 1936 | } |
1931 | return l; | 1937 | return l; |
1932 | } | 1938 | } |
1933 | 1939 | ||
1934 | #ifdef Q_OS_MAC | 1940 | #ifdef Q_OS_MAC |
1935 | void qt_setSettingsBasePath(const QString &); //qsettings_mac.cpp | 1941 | void qt_setSettingsBasePath(const QString &); //qsettings_mac.cpp |
1936 | #endif | 1942 | #endif |
1937 | 1943 | ||
1938 | /*! | 1944 | /*! |
1939 | Insert platform-dependent paths from platform-independent information. | 1945 | Insert platform-dependent paths from platform-independent information. |
1940 | 1946 | ||
1941 | The \a domain should be an Internet domain name | 1947 | The \a domain should be an Internet domain name |
1942 | controlled by the producer of the software, eg. Trolltech products | 1948 | controlled by the producer of the software, eg. Trolltech products |
1943 | use "trolltech.com". | 1949 | use "trolltech.com". |
1944 | 1950 | ||
1945 | The \a product should be the official name of the product. | 1951 | The \a product should be the official name of the product. |
1946 | 1952 | ||
1947 | The \a scope should be | 1953 | The \a scope should be |
1948 | QSettings::User for user-specific settings, or | 1954 | QSettings::User for user-specific settings, or |
1949 | QSettings::Global for system-wide settings (generally | 1955 | QSettings::Global for system-wide settings (generally |
1950 | these will be read-only to many users). | 1956 | these will be read-only to many users). |
1951 | 1957 | ||
1952 | Not all information is relevant on all systems (e.g. scoping is | 1958 | Not all information is relevant on all systems. |
1953 | currently used only if QSettings accesses the Windows registry). | ||
1954 | */ | 1959 | */ |
1955 | 1960 | ||
1956 | void QSettings::setPath( const QString &domain, const QString &product, Scope scope ) | 1961 | void QSettings::setPath( const QString &domain, const QString &product, Scope scope ) |
1957 | { | 1962 | { |
1958 | // On Windows, any trailing ".com(\..*)" is stripped from the domain. The | 1963 | // On Windows, any trailing ".com(\..*)" is stripped from the domain. The |
1959 | // Global scope corresponds to HKEY_LOCAL_MACHINE, and User corresponds to | 1964 | // Global scope corresponds to HKEY_LOCAL_MACHINE, and User corresponds to |
1960 | // HKEY_CURRENT_USER. Note that on some installations, not all users can | 1965 | // HKEY_CURRENT_USER. Note that on some installations, not all users can |
1961 | // write to the Global scope. On UNIX, any trailing ".com(\..*)" is stripped | 1966 | // write to the Global scope. On UNIX, any trailing ".com(\..*)" is stripped |
1962 | // from the domain. The Global scope corresponds to "/opt" (this would be | 1967 | // from the domain. The Global scope corresponds to "/opt" (this would be |
1963 | // configurable at library build time - eg. to "/usr/local" or "/usr"), | 1968 | // configurable at library build time - eg. to "/usr/local" or "/usr"), |
1964 | // while the User scope corresponds to $HOME/.*rc. | 1969 | // while the User scope corresponds to $HOME/.*rc. |
1965 | // Note that on most installations, not all users can write to the System | 1970 | // Note that on most installations, not all users can write to the System |
1966 | // scope. | 1971 | // scope. |
1967 | // | 1972 | // |
1968 | // On MacOS X, if there is no "." in domain, append ".com", then reverse the | 1973 | // On MacOS X, if there is no "." in domain, append ".com", then reverse the |
1969 | // order of the elements (Mac OS uses "com.apple.finder" as domain+product). | 1974 | // order of the elements (Mac OS uses "com.apple.finder" as domain+product). |
1970 | // The Global scope corresponds to /Library/Preferences/*.plist, while the | 1975 | // The Global scope corresponds to /Library/Preferences/*.plist, while the |
1971 | // User scope corresponds to ~/Library/Preferences/*.plist. | 1976 | // User scope corresponds to ~/Library/Preferences/*.plist. |
1972 | // Note that on most installations, not all users can write to the System | 1977 | // Note that on most installations, not all users can write to the System |
1973 | // scope. | 1978 | // scope. |
1974 | d->globalScope = scope == Global; | 1979 | d->globalScope = scope == Global; |
1975 | 1980 | ||
1976 | QString actualSearchPath; | 1981 | QString actualSearchPath; |
1977 | int lastDot = domain.findRev( '.' ); | 1982 | int lastDot = domain.findRev( '.' ); |
1978 | 1983 | ||
1979 | #if defined(Q_WS_WIN) | 1984 | #if defined(Q_WS_WIN) |
1980 | actualSearchPath = "/" + domain.mid( 0, lastDot ) + "/" + product; | 1985 | actualSearchPath = "/" + domain.mid( 0, lastDot ) + "/" + product; |
1981 | insertSearchPath( Windows, actualSearchPath ); | 1986 | insertSearchPath( Windows, actualSearchPath ); |
1982 | #elif !defined(QWS) && defined(Q_OS_MAC) | 1987 | #elif !defined(QWS) && defined(Q_OS_MAC) |
1983 | QString topLevelDomain = domain.right( domain.length() - lastDot - 1 ) + "."; | 1988 | if(lastDot != -1) { |
1984 | if ( !topLevelDomain.isEmpty() ) | 1989 | QString topLevelDomain = domain.right( domain.length() - lastDot - 1 ) + "."; |
1985 | qt_setSettingsBasePath( topLevelDomain ); | 1990 | if ( !topLevelDomain.isEmpty() ) |
1986 | actualSearchPath = "/" + domain.left( lastDot ) + product; | 1991 | qt_setSettingsBasePath( topLevelDomain ); |
1992 | } | ||
1993 | actualSearchPath = "/" + domain.left( lastDot ) + "." + product; | ||
1987 | insertSearchPath( Mac, actualSearchPath ); | 1994 | insertSearchPath( Mac, actualSearchPath ); |
1988 | #else | 1995 | #else |
1989 | actualSearchPath = "/" + domain.mid( 0, lastDot ) + "/" + product; | 1996 | if (scope == User) |
1997 | actualSearchPath = QDir::homeDirPath() + "/."; | ||
1998 | else | ||
1999 | actualSearchPath = QString(qInstallPathSysconf()) + "/"; | ||
2000 | actualSearchPath += domain.mid( 0, lastDot ) + "/" + product; | ||
1990 | insertSearchPath( Unix, actualSearchPath ); | 2001 | insertSearchPath( Unix, actualSearchPath ); |
1991 | #endif | 2002 | #endif |
1992 | } | 2003 | } |
1993 | 2004 | ||
1994 | /*! | 2005 | /*! |
1995 | Appends \a group to the current key prefix. | 2006 | Appends \a group to the current key prefix. |
1996 | 2007 | ||
1997 | \code | 2008 | \code |
1998 | QSettings settings; | 2009 | QSettings settings; |
1999 | settings.beginGroup( "/MainWindow" ); | 2010 | settings.beginGroup( "/MainWindow" ); |
2000 | // read values | 2011 | // read values |
2001 | settings.endGroup(); | 2012 | settings.endGroup(); |
2002 | \endcode | 2013 | \endcode |
2003 | */ | 2014 | */ |
2004 | void QSettings::beginGroup( const QString &group ) | 2015 | void QSettings::beginGroup( const QString &group ) |
2005 | { | 2016 | { |
2006 | d->groupStack.push( group ); | 2017 | d->groupStack.push( group ); |
2007 | d->groupDirty = TRUE; | 2018 | d->groupDirty = TRUE; |
2008 | } | 2019 | } |
2009 | 2020 | ||
2010 | /*! | 2021 | /*! |
2011 | Undo previous calls to beginGroup(). Note that a single beginGroup("a/b/c") is undone | 2022 | Undo previous calls to beginGroup(). Note that a single beginGroup("a/b/c") is undone |
2012 | by a single call to endGroup(). | 2023 | by a single call to endGroup(). |
2013 | 2024 | ||
2014 | \code | 2025 | \code |
2015 | QSettings settings; | 2026 | QSettings settings; |
2016 | settings.beginGroup( "/MainWindow/Geometry" ); | 2027 | settings.beginGroup( "/MainWindow/Geometry" ); |
2017 | // read values | 2028 | // read values |
2018 | settings.endGroup(); | 2029 | settings.endGroup(); |
2019 | \endcode | 2030 | \endcode |
2020 | */ | 2031 | */ |
2021 | void QSettings::endGroup() | 2032 | void QSettings::endGroup() |
2022 | { | 2033 | { |
2023 | d->groupStack.pop(); | 2034 | d->groupStack.pop(); |
2024 | d->groupDirty = TRUE; | 2035 | d->groupDirty = TRUE; |
2025 | } | 2036 | } |
2026 | 2037 | ||
2027 | /*! | 2038 | /*! |
2028 | Set the current key prefix to the empty string. | 2039 | Set the current key prefix to the empty string. |
2029 | */ | 2040 | */ |
2030 | void QSettings::resetGroup() | 2041 | void QSettings::resetGroup() |
2031 | { | 2042 | { |
2032 | d->groupStack.clear(); | 2043 | d->groupStack.clear(); |
2033 | d->groupDirty = FALSE; | 2044 | d->groupDirty = FALSE; |
2034 | d->groupPrefix = QString::null; | 2045 | d->groupPrefix = QString::null; |
2035 | } | 2046 | } |
2036 | 2047 | ||
2037 | /*! | 2048 | /*! |
2038 | Returns the current key prefix, or a null string if there is no key prefix set. | 2049 | Returns the current key prefix, or a null string if there is no key prefix set. |
2039 | 2050 | ||
2040 | \sa beginGroup(); | 2051 | \sa beginGroup(); |
2041 | */ | 2052 | */ |
2042 | QString QSettings::group() const | 2053 | QString QSettings::group() const |
2043 | { | 2054 | { |
2044 | if ( d->groupDirty ) { | 2055 | if ( d->groupDirty ) { |
2045 | d->groupDirty = FALSE; | 2056 | d->groupDirty = FALSE; |
2046 | d->groupPrefix = QString::null; | 2057 | d->groupPrefix = QString::null; |
2047 | 2058 | ||
2048 | QValueStack<QString>::Iterator it = d->groupStack.begin(); | 2059 | QValueStack<QString>::Iterator it = d->groupStack.begin(); |
2049 | while ( it != d->groupStack.end() ) { | 2060 | while ( it != d->groupStack.end() ) { |
2050 | QString group = *it; | 2061 | QString group = *it; |
2051 | ++it; | 2062 | ++it; |
2052 | if ( group[0] != '/' ) | 2063 | if ( group[0] != '/' ) |
2053 | group.prepend( "/" ); | 2064 | group.prepend( "/" ); |
diff --git a/qmake/tools/qunicodetables.cpp b/qmake/tools/qunicodetables.cpp new file mode 100644 index 0000000..c3cad4c --- a/dev/null +++ b/qmake/tools/qunicodetables.cpp | |||
@@ -0,0 +1,13237 @@ | |||
1 | /**************************************************************************** | ||
2 | ** | ||
3 | ** | ||
4 | ** ??? | ||
5 | ** | ||
6 | ** Copyright (C) 2002-2003 Trolltech AS. All rights reserved. | ||
7 | ** | ||
8 | ** This file is part of the kernel module of the Qt GUI Toolkit. | ||
9 | ** | ||
10 | ** This file may be distributed under the terms of the Q Public License | ||
11 | ** as defined by Trolltech AS of Norway and appearing in the file | ||
12 | ** LICENSE.QPL included in the packaging of this file. | ||
13 | ** | ||
14 | ** This file may be distributed and/or modified under the terms of the | ||
15 | ** GNU General Public License version 2 as published by the Free Software | ||
16 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
17 | ** packaging of this file. | ||
18 | ** | ||
19 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition | ||
20 | ** licenses may use this file in accordance with the Qt Commercial License | ||
21 | ** Agreement provided with the Software. | ||
22 | ** | ||
23 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
24 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
25 | ** | ||
26 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for | ||
27 | ** information about Qt Commercial License Agreements. | ||
28 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | ||
29 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
30 | ** | ||
31 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
32 | ** not clear to you. | ||
33 | ** | ||
34 | **********************************************************************/ | ||
35 | |||
36 | #include "qunicodetables_p.h" | ||
37 | |||
38 | /* ------------------------------------------------------------------------- | ||
39 | * unicode information | ||
40 | * these tables are generated from the unicode reference file | ||
41 | * ftp://ftp.unicode.org/Public/3.2-Update/UnicodeData.txt | ||
42 | * | ||
43 | * Lars | ||
44 | * ------------------------------------------------------------------------- | ||
45 | */ | ||
46 | |||
47 | /* Perl script to generate (run perl -x tools/qstringdata.cpp) | ||
48 | |||
49 | #!perl | ||
50 | |||
51 | sub numberize | ||
52 | { | ||
53 | my(%r, $n, $id); | ||
54 | for $id ( @_ ) { | ||
55 | $i = $id; | ||
56 | $i="" if $i eq "EMPTY"; | ||
57 | $r{$i}=$n++; | ||
58 | } | ||
59 | return %r; | ||
60 | } | ||
61 | |||
62 | |||
63 | sub readUnicodeDataLine { | ||
64 | $code = shift @_; | ||
65 | for $n (qw{ | ||
66 | name category combining_class bidi_category | ||
67 | character_decomposition decimal_digit_value digit_value | ||
68 | numeric_value mirrored oldname comment | ||
69 | uppercase lowercase titlecase}) | ||
70 | { | ||
71 | $id = shift @_; | ||
72 | $codes = "${n}_code"; | ||
73 | if ( defined %$codes && defined $$codes{$id} ) { | ||
74 | $id = $$codes{$id}; | ||
75 | } | ||
76 | ${$n}{$code}=$id; | ||
77 | } | ||
78 | $decomp = $character_decomposition{$code}; | ||
79 | if ( length $decomp == 0 ) { | ||
80 | $decomp = "<single>"; | ||
81 | } | ||
82 | if (substr($decomp, 0, 1) ne '<') { | ||
83 | $decomp = "<canonical> " . $decomp; | ||
84 | } | ||
85 | @_ = split(" ", $decomp); | ||
86 | $tag = shift @_; | ||
87 | $tag = $character_decomposition_tag{$tag}; | ||
88 | $decomp = join( ", 0x", @_ ); | ||
89 | $decomp = "0x".$decomp; | ||
90 | $decomposition{$code} = $decomp; | ||
91 | $decomposition_tag{$code} = $tag; | ||
92 | $decomposition_pos{$code} = $position; | ||
93 | $len = scalar(@_); | ||
94 | $decomposition_len{$code} = $len; | ||
95 | |||
96 | # we use canonical decompositions longer than 1 char | ||
97 | # we exlude Arabic ligatures from the table | ||
98 | if($len > 1 and $tag == 1) { | ||
99 | # ligature to add... | ||
100 | $start = shift @_; | ||
101 | $ligature{$start} = $ligature{$start}." ".$code; | ||
102 | } | ||
103 | |||
104 | # adjust position | ||
105 | if($len != 0) { | ||
106 | $position += $len + 3; | ||
107 | } | ||
108 | } | ||
109 | |||
110 | |||
111 | # Code to integer mappings... | ||
112 | # | ||
113 | %category_code = numberize(qw{ | ||
114 | EMPTY | ||
115 | Mn Mc Me | ||
116 | Nd Nl No | ||
117 | Zs Zl Zp | ||
118 | Cc Cf Cs Co Cn | ||
119 | |||
120 | Lu Ll Lt Lm Lo | ||
121 | Pc Pd Ps Pe Pi Pf Po | ||
122 | Sm Sc Sk So | ||
123 | }); | ||
124 | %bidi_category_code = numberize(qw{ | ||
125 | L R EN ES ET AN CS B S WS ON LRE LRO AL RLE RLO PDF NSM BN}); | ||
126 | %character_decomposition_tag = numberize(qw{ | ||
127 | <single> <canonical> <font> <noBreak> <initial> <medial> | ||
128 | <final> <isolated> <circle> <super> <sub> <vertical> | ||
129 | <wide> <narrow> <small> <square> <compat> <fraction> | ||
130 | }); | ||
131 | %mirrored_code = numberize(qw{N Y}); | ||
132 | |||
133 | %joining_code = numberize(qw{U D R C}); | ||
134 | |||
135 | # we map AI and XX to AL for now, as we can't handle them any better | ||
136 | %line_break_code = numberize(qw{OP CL QU GL NS EX SY | ||
137 | IS PR PO NU AL ID IN HY | ||
138 | BA BB B2 | ||
139 | ZW CM | ||
140 | SA | ||
141 | BK CR LF SG CB SP | ||
142 | }); | ||
143 | |||
144 | # Read data into hashes... | ||
145 | # | ||
146 | open IN, "UnicodeData.txt"; | ||
147 | $position = 1; | ||
148 | while (<IN>) { | ||
149 | @fields = split /;/; | ||
150 | if ( length($fields[0]) < 5 ) { | ||
151 | if ( $fields[1] =~ /, First>/ ) { | ||
152 | $codeRangeBegin = $fields[0]; | ||
153 | } elsif ( $fields[1] =~ /, Last>/ ) { | ||
154 | for ( $i=hex($codeRangeBegin); $i<=hex($fields[0]); $i+=1 ) { | ||
155 | @fields2 = @fields; | ||
156 | $fields2[0] = sprintf "%lX", $i; | ||
157 | readUnicodeDataLine @fields2; | ||
158 | } | ||
159 | } else { | ||
160 | readUnicodeDataLine @fields; | ||
161 | } | ||
162 | } | ||
163 | } | ||
164 | |||
165 | open IN2, "ArabicShaping.txt"; | ||
166 | $position = 1; | ||
167 | while (<IN2>) { | ||
168 | @fields = split /;/; | ||
169 | $code = shift @fields; | ||
170 | $dummy = shift @fields; | ||
171 | $join = shift @fields; | ||
172 | $join =~ s/ //g; | ||
173 | $join = $joining_code{$join}; | ||
174 | $joining{$code}=$join; | ||
175 | } | ||
176 | |||
177 | open IN3, "LineBreak.txt"; | ||
178 | $position = 1; | ||
179 | while (<IN3>) { | ||
180 | @fields = split /;/; | ||
181 | $code = shift @fields; | ||
182 | $break = shift @fields; | ||
183 | if (length($break) > 0) { | ||
184 | chomp $break; | ||
185 | $break =~ s/ .*$//; | ||
186 | |||
187 | $from = $code; | ||
188 | $to = $code; | ||
189 | if ( length($code) > 5 ) { | ||
190 | $from =~ s,\.\..*,,; | ||
191 | $to =~ s/......//; | ||
192 | # print "$from..$to = $break\n"; | ||
193 | } | ||
194 | if($break eq "AI") { | ||
195 | $break = "AL"; | ||
196 | } | ||
197 | if($break eq "XX") { | ||
198 | $break = "AL"; | ||
199 | } | ||
200 | for ( $i=hex($from); $i<=hex($to); $i+=1 ) { | ||
201 | $breaks{sprintf("%04X",$i)}=$line_break_code{$break}; | ||
202 | } | ||
203 | } | ||
204 | } | ||
205 | |||
206 | # Build pages... | ||
207 | # | ||
208 | $rowtable_txt = ""; | ||
209 | $row_txt = ""; | ||
210 | $pos = 1; | ||
211 | for $row ( 0..255 ) { | ||
212 | $nonzero=0; | ||
213 | $txt = ""; | ||
214 | for $cell ( 0..255 ) { | ||
215 | $code = sprintf("%02X%02X",$row,$cell); | ||
216 | $info = $category{$code}; | ||
217 | $info = 0 if !defined $info; | ||
218 | $txt .= "\n " if $cell%8 == 0; | ||
219 | $txt .= "$info, "; | ||
220 | } | ||
221 | $therow = $row{$txt}; | ||
222 | if ( !defined $therow ) { | ||
223 | $therow = sprintf("%d",$pos); | ||
224 | $row_txt = $row_txt."$txt\n"; | ||
225 | $row{$txt}=$therow; | ||
226 | $pos += 1; | ||
227 | $size += 256; | ||
228 | } | ||
229 | $rowtable_txt .= "\n " if $row%8 == 0; | ||
230 | $rowtable_txt .= "$therow, "; | ||
231 | } | ||
232 | |||
233 | print "// START OF GENERATED DATA\n\n"; | ||
234 | print "#ifndef QT_NO_UNICODETABLES\n\n"; | ||
235 | |||
236 | # Print pages... | ||
237 | # | ||
238 | |||
239 | print "const Q_UINT8 QUnicodeTables::unicode_info[] = {"; | ||
240 | print $rowtable_txt; | ||
241 | $size += 256; | ||
242 | print "\n\n"; | ||
243 | print $row_txt; | ||
244 | print "};\n\n"; | ||
245 | print "// $size bytes\n\n"; | ||
246 | |||
247 | # Build decomposition tables | ||
248 | # | ||
249 | $rowtable_txt = ""; | ||
250 | $row_txt = ""; | ||
251 | $table_txt = | ||
252 | "const Q_UINT16 QUnicodeTables::decomposition_map[] = {\n 0,\n"; | ||
253 | $pos = 1; | ||
254 | for $row ( 0..255 ) { | ||
255 | $nonzero=0; | ||
256 | $txt = ""; | ||
257 | for $cell ( 0..255 ) { | ||
258 | $code = sprintf("%02X%02X",$row,$cell); | ||
259 | $txt .= "\n " if $cell%8 == 0; | ||
260 | if( $decomposition_tag{$code} != 0 ) { | ||
261 | $txt .= " $decomposition_pos{$code},"; | ||
262 | $table_txt .= " $decomposition_tag{$code},"; | ||
263 | $table_txt .= " 0x$code,"; | ||
264 | $table_txt .= " $decomposition{$code}, 0,\n"; | ||
265 | $size += 2 * $decomposition_len{$code} + 6; | ||
266 | } else { | ||
267 | $txt .= " 0,"; | ||
268 | } | ||
269 | } | ||
270 | $therow = $row{$txt}; | ||
271 | if ( !defined $therow ) { | ||
272 | $therow = sprintf("%d",$pos); | ||
273 | $row_txt = $row_txt."$txt\n"; | ||
274 | $row{$txt}=$therow; | ||
275 | $pos += 1; | ||
276 | $size += 512; | ||
277 | } | ||
278 | $rowtable_txt .= "\n " if $row%8 == 0; | ||
279 | $rowtable_txt .= "$therow, "; | ||
280 | } | ||
281 | |||
282 | # Print decomposition tables | ||
283 | # | ||
284 | print "$table_txt\n};\n\n"; | ||
285 | |||
286 | print "const Q_UINT16 QUnicodeTables::decomposition_info[] = {"; | ||
287 | print "$rowtable_txt\n"; | ||
288 | $size += 512; | ||
289 | print $row_txt; | ||
290 | print "};\n\n"; | ||
291 | print "// $size bytes\n\n"; | ||
292 | |||
293 | |||
294 | # build ligature tables | ||
295 | # | ||
296 | $size = 0; | ||
297 | $position = 1; | ||
298 | $pos = 1; | ||
299 | $rowtable_txt = ""; | ||
300 | $row_txt = ""; | ||
301 | $table_txt = | ||
302 | "const Q_UINT16 QUnicodeTables::ligature_map[] = {\n 0,\n"; | ||
303 | for $lig_row ( 0..255 ) { | ||
304 | $nonzero=0; | ||
305 | $txt = ""; | ||
306 | for $cell ( 0..255 ) { | ||
307 | $code = sprintf("%02X%02X",$lig_row,$cell); | ||
308 | $txt .= "\n " if $cell%8 == 0; | ||
309 | if( defined $ligature{$code} ) { | ||
310 | $txt .= " $position,"; | ||
311 | @ligature = split(" ", $ligature{$code}); | ||
312 | # we need to sort ligatures according to their length. | ||
313 | # long ones have to come first! | ||
314 | @ligature_sort = sort { $decomposition_len{$b} <=> $decomposition_len{$a} } @ligature; | ||
315 | # now replace each code by its position in | ||
316 | # the decomposition map. | ||
317 | undef(@lig_pos); | ||
318 | for $n (@ligature_sort) { | ||
319 | push(@lig_pos, $decomposition_pos{$n}); | ||
320 | } | ||
321 | # debug info | ||
322 | if( 0 ) { | ||
323 | print "ligatures: $ligature{$code}\n"; | ||
324 | $sort = join(" ", @ligature_sort); | ||
325 | print "sorted : $sort\n"; | ||
326 | } | ||
327 | $lig = join(", ", @lig_pos); | ||
328 | $table_txt .= " $lig, 0,\n"; | ||
329 | $size += 2 * scalar(@ligature) + 2; | ||
330 | $position += scalar(@ligature) + 1; | ||
331 | } else { | ||
332 | $txt .= " 0,"; | ||
333 | } | ||
334 | } | ||
335 | $therow = $lig_row{$txt}; | ||
336 | if ( !defined $therow ) { | ||
337 | $therow = sprintf("%d",$pos); | ||
338 | $row_txt = $row_txt."$txt\n"; | ||
339 | $lig_row{$txt}=$therow; | ||
340 | $pos += 1; | ||
341 | $size += 512; | ||
342 | } | ||
343 | $rowtable_txt .= "\n " if $lig_row%8 == 0; | ||
344 | $rowtable_txt .= "$therow, "; | ||
345 | } | ||
346 | |||
347 | # Print ligature tables | ||
348 | # | ||
349 | print "$table_txt\n};\n\n"; | ||
350 | print "const Q_UINT16 QUnicodeTables::ligature_info[] = {"; | ||
351 | print "$rowtable_txt\n\n"; | ||
352 | $size+=512; | ||
353 | print $row_txt; | ||
354 | print "};\n\n"; | ||
355 | print "// $size bytes\n\n"; | ||
356 | |||
357 | |||
358 | |||
359 | # Build direction/joining/mirrored pages... | ||
360 | # | ||
361 | $rowtable_txt = ""; | ||
362 | $row_txt = ""; | ||
363 | $pos = 1; | ||
364 | for $dir_row ( 0..255 ) { | ||
365 | $txt = ""; | ||
366 | for $cell ( 0..255 ) { | ||
367 | $code = sprintf("%02X%02X",$dir_row,$cell); | ||
368 | $dir = $bidi_category{$code}; | ||
369 | $dir = 0 if !defined $dir; | ||
370 | $join = $joining{$code}; | ||
371 | $join = 0 if !defined $join; | ||
372 | $mirr = $mirrored{$code}; | ||
373 | $mirr = 0 if !defined $mirr; | ||
374 | $info = $dir + 32*$join + 128*$mirr; | ||
375 | $txt .= "\n " if $cell%8 == 0; | ||
376 | $txt .= "$info, "; | ||
377 | } | ||
378 | $therow = $dir_row{$txt}; | ||
379 | if ( !defined $therow ) { | ||
380 | $therow = sprintf("%d",$pos); | ||
381 | $row_txt = $row_txt."$txt\n"; | ||
382 | $dir_row{$txt}=$therow; | ||
383 | $pos += 1; | ||
384 | $size+=256; | ||
385 | } | ||
386 | $rowtable_txt .= "\n " if $dir_row%8 == 0; | ||
387 | $rowtable_txt .= "$therow, "; | ||
388 | } | ||
389 | |||
390 | # Print pages... | ||
391 | # | ||
392 | print "const Q_UINT8 QUnicodeTables::direction_info[] = {"; | ||
393 | print "$rowtable_txt\n\n"; | ||
394 | $size+=256; | ||
395 | print $row_txt; | ||
396 | print "};\n\n"; | ||
397 | print "// $size bytes\n\n"; | ||
398 | |||
399 | # Build table of combining classes | ||
400 | # | ||
401 | $rowtable_txt = ""; | ||
402 | $row_txt = ""; | ||
403 | $pos = 1; | ||
404 | for $combining_row ( 0..255 ) { | ||
405 | $txt = ""; | ||
406 | for $cell ( 0..255 ) { | ||
407 | $code = sprintf("%02X%02X",$combining_row,$cell); | ||
408 | $info = $combining_class{$code}; | ||
409 | $info = 0 if !defined $info; | ||
410 | $txt .= "\n " if $cell%8 == 0; | ||
411 | $txt .= "$info, "; | ||
412 | } | ||
413 | $therow = $combining_row{$txt}; | ||
414 | if ( !defined $therow ) { | ||
415 | $therow = sprintf("%d",$pos); | ||
416 | $row_txt = $row_txt."$txt\n"; | ||
417 | $combining_row{$txt}=$therow; | ||
418 | $pos += 1; | ||
419 | $size += 256; | ||
420 | } | ||
421 | $rowtable_txt .= "\n " if $combining_row%8 == 0; | ||
422 | $rowtable_txt .= "$therow, "; | ||
423 | } | ||
424 | |||
425 | # Print pages... | ||
426 | # | ||
427 | print "const Q_UINT8 QUnicodeTables::combining_info[] = {"; | ||
428 | print "$rowtable_txt\n\n"; | ||
429 | $size+=256; | ||
430 | print $row_txt; | ||
431 | print "};\n\n"; | ||
432 | print "// $size bytes\n\n"; | ||
433 | |||
434 | # Build case info | ||
435 | # | ||
436 | $rowtable_txt = ""; | ||
437 | $row_txt = ""; | ||
438 | $pos = 1; | ||
439 | for $row ( 0..255 ) { | ||
440 | $nonzero=0; | ||
441 | $txt = ""; | ||
442 | for $cell ( 0..255 ) { | ||
443 | $code = sprintf("%02X%02X",$row,$cell); | ||
444 | $info = $uppercase{$code}; | ||
445 | if ( length( $info ) eq 0 ) { | ||
446 | $info = $lowercase{$code}; | ||
447 | } | ||
448 | $info =~ s/^0+//; | ||
449 | if ( length( $info ) eq 0 ) { | ||
450 | $info = "0"; | ||
451 | } else { | ||
452 | $info = "0x".lc($info); | ||
453 | } | ||
454 | if ( length( $info ) ne 1 ) { | ||
455 | $nonzero = 1; | ||
456 | } | ||
457 | $txt .= "\n " if $cell%8 == 0; | ||
458 | $txt .= "$info, "; | ||
459 | } | ||
460 | $therow = $case_row{$txt}; | ||
461 | if ( !defined $therow && $nonzero ne 0 ) { | ||
462 | $therow = sprintf("%d",$pos); | ||
463 | $row_txt = $row_txt."$txt\n"; | ||
464 | $case_row{$txt}=$therow; | ||
465 | $pos += 1; | ||
466 | $size += 512; | ||
467 | } | ||
468 | $rowtable_txt .= "\n " if $row%8 == 0; | ||
469 | if ( $nonzero ne 0 ) { | ||
470 | $rowtable_txt .= "$therow, "; | ||
471 | } else { | ||
472 | $rowtable_txt .= "0, "; | ||
473 | } | ||
474 | } | ||
475 | |||
476 | # Print pages... | ||
477 | # | ||
478 | print "const Q_UINT16 QUnicodeTables::case_info[] = {"; | ||
479 | print "$rowtable_txt\n\n"; | ||
480 | $size+=512; | ||
481 | print $row_txt; | ||
482 | print "};\n"; | ||
483 | print "// $size bytes\n\n"; | ||
484 | |||
485 | # Build decimal info | ||
486 | # | ||
487 | $rowtable_txt = ""; | ||
488 | $row_txt = ""; | ||
489 | $pos = 1; | ||
490 | for $row ( 0..255 ) { | ||
491 | $nonzero=0; | ||
492 | $txt = ""; | ||
493 | for $cell ( 0..255 ) { | ||
494 | $code = sprintf("%02X%02X",$row,$cell); | ||
495 | $info = $digit_value{$code}; | ||
496 | if ( length( $info ) eq 0 ) { | ||
497 | $info = -1; | ||
498 | } else { | ||
499 | $nonzero = 1; | ||
500 | } | ||
501 | $txt .= "\n " if $cell%8 == 0; | ||
502 | $txt .= "$info, "; | ||
503 | } | ||
504 | $therow = $decimal_row{$txt}; | ||
505 | if ( !defined $therow && $nonzero ne 0 ) { | ||
506 | $therow = sprintf("%d",$pos); | ||
507 | $row_txt = $row_txt."$txt\n"; | ||
508 | $decimal_row{$txt}=$therow; | ||
509 | $pos += 1; | ||
510 | $size += 256; | ||
511 | } | ||
512 | $rowtable_txt .= "\n " if $row%8 == 0; | ||
513 | if ( $nonzero ne 0 ) { | ||
514 | $rowtable_txt .= "$therow, "; | ||
515 | } else { | ||
516 | $rowtable_txt .= "0, "; | ||
517 | } | ||
518 | } | ||
519 | |||
520 | # Print pages... | ||
521 | # | ||
522 | print "const Q_INT8 QUnicodeTables::decimal_info[] = {"; | ||
523 | print "$rowtable_txt\n\n"; | ||
524 | $size+=512; | ||
525 | print $row_txt; | ||
526 | print "};\n"; | ||
527 | print "// $size bytes\n\n"; | ||
528 | |||
529 | |||
530 | # Build line break info | ||
531 | # | ||
532 | $rowtable_txt = ""; | ||
533 | $row_txt = ""; | ||
534 | $pos = 1; | ||
535 | for $row ( 0..255 ) { | ||
536 | $txt = ""; | ||
537 | for $cell ( 0..255 ) { | ||
538 | $code = sprintf("%02X%02X",$row,$cell); | ||
539 | $info = $breaks{$code}; | ||
540 | if ( length( $info ) eq 0 ) { | ||
541 | $info = $line_break_code{"AL"}; | ||
542 | } | ||
543 | $txt .= "\n " if $cell%8 == 0; | ||
544 | $txt .= "$info, "; | ||
545 | } | ||
546 | $therow = $lb_row{$txt}; | ||
547 | if ( !defined $therow ) { | ||
548 | $therow = sprintf("%d",$pos); | ||
549 | $row_txt = $row_txt."$txt\n"; | ||
550 | $lb_row{$txt}=$therow; | ||
551 | $pos += 1; | ||
552 | $size += 256; | ||
553 | } | ||
554 | $rowtable_txt .= "\n " if $row%8 == 0; | ||
555 | $rowtable_txt .= "$therow, "; | ||
556 | } | ||
557 | |||
558 | # Print pages... | ||
559 | # | ||
560 | print "const Q_UINT8 QUnicodeTables::line_break_info[] = {"; | ||
561 | print "$rowtable_txt\n\n"; | ||
562 | $size+=512; | ||
563 | print $row_txt; | ||
564 | print "};\n"; | ||
565 | print "// $size bytes\n\n"; | ||
566 | |||
567 | |||
568 | |||
569 | print "#endif\n\n"; | ||
570 | print "// END OF GENERATED DATA\n\n"; | ||
571 | |||
572 | |||
573 | __END__ | ||
574 | |||
575 | */ | ||
576 | |||
577 | // START OF GENERATED DATA | ||
578 | |||
579 | #ifndef QT_NO_UNICODETABLES | ||
580 | |||
581 | const Q_UINT8 QUnicodeTables::unicode_info[] = { | ||
582 | 1, 2, 3, 4, 5, 6, 7, 8, | ||
583 | 9, 10, 11, 12, 13, 14, 15, 16, | ||
584 | 17, 18, 19, 20, 21, 22, 23, 24, | ||
585 | 25, 9, 9, 9, 9, 9, 26, 27, | ||
586 | 28, 29, 30, 31, 32, 33, 34, 35, | ||
587 | 36, 37, 30, 9, 9, 9, 38, 39, | ||
588 | 40, 41, 42, 43, 22, 22, 22, 22, | ||
589 | 22, 22, 22, 22, 22, 22, 22, 22, | ||
590 | 22, 22, 22, 22, 22, 22, 22, 22, | ||
591 | 22, 22, 22, 22, 22, 44, 22, 22, | ||
592 | 22, 22, 22, 22, 22, 22, 22, 22, | ||
593 | 22, 22, 22, 22, 22, 22, 22, 22, | ||
594 | 22, 22, 22, 22, 22, 22, 22, 22, | ||
595 | 22, 22, 22, 22, 22, 22, 22, 22, | ||
596 | 22, 22, 22, 22, 22, 22, 22, 22, | ||
597 | 22, 22, 22, 22, 22, 22, 22, 22, | ||
598 | 22, 22, 22, 22, 22, 22, 22, 22, | ||
599 | 22, 22, 22, 22, 22, 22, 22, 22, | ||
600 | 22, 22, 22, 22, 22, 22, 22, 22, | ||
601 | 22, 22, 22, 22, 22, 22, 22, 45, | ||
602 | 22, 22, 22, 22, 46, 9, 9, 9, | ||
603 | 9, 9, 9, 9, 22, 22, 22, 22, | ||
604 | 22, 22, 22, 22, 22, 22, 22, 22, | ||
605 | 22, 22, 22, 22, 22, 22, 22, 22, | ||
606 | 22, 22, 22, 22, 22, 22, 22, 22, | ||
607 | 22, 22, 22, 22, 22, 22, 22, 22, | ||
608 | 22, 22, 22, 22, 22, 22, 22, 47, | ||
609 | 48, 48, 48, 48, 48, 48, 48, 48, | ||
610 | 49, 49, 49, 49, 49, 49, 49, 49, | ||
611 | 49, 49, 49, 49, 49, 49, 49, 49, | ||
612 | 49, 49, 49, 49, 49, 49, 49, 49, | ||
613 | 49, 22, 50, 51, 22, 52, 53, 54, | ||
614 | |||
615 | |||
616 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
617 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
618 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
619 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
620 | 7, 26, 26, 26, 28, 26, 26, 26, | ||
621 | 22, 23, 26, 27, 26, 21, 26, 26, | ||
622 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
623 | 4, 4, 26, 26, 27, 27, 27, 26, | ||
624 | 26, 15, 15, 15, 15, 15, 15, 15, | ||
625 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
626 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
627 | 15, 15, 15, 22, 26, 23, 29, 20, | ||
628 | 29, 16, 16, 16, 16, 16, 16, 16, | ||
629 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
630 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
631 | 16, 16, 16, 22, 27, 23, 27, 10, | ||
632 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
633 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
634 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
635 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
636 | 7, 26, 28, 28, 28, 28, 30, 30, | ||
637 | 29, 30, 16, 24, 27, 21, 30, 29, | ||
638 | 30, 27, 6, 6, 29, 16, 30, 26, | ||
639 | 29, 6, 16, 25, 6, 6, 6, 26, | ||
640 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
641 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
642 | 15, 15, 15, 15, 15, 15, 15, 27, | ||
643 | 15, 15, 15, 15, 15, 15, 15, 16, | ||
644 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
645 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
646 | 16, 16, 16, 16, 16, 16, 16, 27, | ||
647 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
648 | |||
649 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
650 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
651 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
652 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
653 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
654 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
655 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
656 | 16, 15, 16, 15, 16, 15, 16, 15, | ||
657 | 16, 15, 16, 15, 16, 15, 16, 15, | ||
658 | 16, 16, 15, 16, 15, 16, 15, 16, | ||
659 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
660 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
661 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
662 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
663 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
664 | 15, 15, 16, 15, 16, 15, 16, 16, | ||
665 | 16, 15, 15, 16, 15, 16, 15, 15, | ||
666 | 16, 15, 15, 15, 16, 16, 15, 15, | ||
667 | 15, 15, 16, 15, 15, 16, 15, 15, | ||
668 | 15, 16, 16, 16, 15, 15, 16, 15, | ||
669 | 15, 16, 15, 16, 15, 16, 15, 15, | ||
670 | 16, 15, 16, 16, 15, 16, 15, 15, | ||
671 | 16, 15, 15, 15, 16, 15, 16, 15, | ||
672 | 15, 16, 16, 19, 15, 16, 16, 16, | ||
673 | 19, 19, 19, 19, 15, 17, 16, 15, | ||
674 | 17, 16, 15, 17, 16, 15, 16, 15, | ||
675 | 16, 15, 16, 15, 16, 15, 16, 15, | ||
676 | 16, 15, 16, 15, 16, 16, 15, 16, | ||
677 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
678 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
679 | 16, 15, 17, 16, 15, 16, 15, 15, | ||
680 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
681 | |||
682 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
683 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
684 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
685 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
686 | 15, 0, 15, 16, 15, 16, 15, 16, | ||
687 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
688 | 15, 16, 15, 16, 0, 0, 0, 0, | ||
689 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
690 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
691 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
692 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
693 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
694 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
695 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
696 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
697 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
698 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
699 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
700 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
701 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
702 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
703 | 16, 16, 16, 16, 16, 16, 0, 0, | ||
704 | 18, 18, 18, 18, 18, 18, 18, 18, | ||
705 | 18, 29, 29, 18, 18, 18, 18, 18, | ||
706 | 18, 18, 29, 29, 29, 29, 29, 29, | ||
707 | 29, 29, 29, 29, 29, 29, 29, 29, | ||
708 | 18, 18, 29, 29, 29, 29, 29, 29, | ||
709 | 29, 29, 29, 29, 29, 29, 29, 29, | ||
710 | 18, 18, 18, 18, 18, 29, 29, 29, | ||
711 | 29, 29, 29, 29, 29, 29, 18, 0, | ||
712 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
713 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
714 | |||
715 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
716 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
717 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
718 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
719 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
720 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
721 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
722 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
723 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
724 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
725 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
726 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
727 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
728 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
729 | 0, 0, 0, 0, 29, 29, 0, 0, | ||
730 | 0, 0, 18, 0, 0, 0, 26, 0, | ||
731 | 0, 0, 0, 0, 29, 29, 15, 26, | ||
732 | 15, 15, 15, 0, 15, 0, 15, 15, | ||
733 | 16, 15, 15, 15, 15, 15, 15, 15, | ||
734 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
735 | 15, 15, 0, 15, 15, 15, 15, 15, | ||
736 | 15, 15, 15, 15, 16, 16, 16, 16, | ||
737 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
738 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
739 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
740 | 16, 16, 16, 16, 16, 16, 16, 0, | ||
741 | 16, 16, 15, 15, 15, 16, 16, 16, | ||
742 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
743 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
744 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
745 | 16, 16, 16, 16, 15, 16, 27, 0, | ||
746 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
747 | |||
748 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
749 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
750 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
751 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
752 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
753 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
754 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
755 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
756 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
757 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
758 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
759 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
760 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
761 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
762 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
763 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
764 | 15, 16, 30, 1, 1, 1, 1, 0, | ||
765 | 3, 3, 15, 16, 15, 16, 15, 16, | ||
766 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
767 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
768 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
769 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
770 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
771 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
772 | 15, 15, 16, 15, 16, 15, 16, 15, | ||
773 | 16, 15, 16, 15, 16, 15, 16, 0, | ||
774 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
775 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
776 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
777 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
778 | 15, 16, 15, 16, 15, 16, 0, 0, | ||
779 | 15, 16, 0, 0, 0, 0, 0, 0, | ||
780 | |||
781 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
782 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
783 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
784 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
785 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
786 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
787 | 0, 15, 15, 15, 15, 15, 15, 15, | ||
788 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
789 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
790 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
791 | 15, 15, 15, 15, 15, 15, 15, 0, | ||
792 | 0, 18, 26, 26, 26, 26, 26, 26, | ||
793 | 0, 16, 16, 16, 16, 16, 16, 16, | ||
794 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
795 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
796 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
797 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
798 | 0, 26, 21, 0, 0, 0, 0, 0, | ||
799 | 0, 1, 1, 1, 1, 1, 1, 1, | ||
800 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
801 | 1, 1, 0, 1, 1, 1, 1, 1, | ||
802 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
803 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
804 | 1, 1, 0, 1, 1, 1, 26, 1, | ||
805 | 26, 1, 1, 26, 1, 0, 0, 0, | ||
806 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
807 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
808 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
809 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
810 | 19, 19, 19, 0, 0, 0, 0, 0, | ||
811 | 19, 19, 19, 26, 26, 0, 0, 0, | ||
812 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
813 | |||
814 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
815 | 0, 0, 0, 0, 26, 0, 0, 0, | ||
816 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
817 | 0, 0, 0, 26, 0, 0, 0, 26, | ||
818 | 0, 19, 19, 19, 19, 19, 19, 19, | ||
819 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
820 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
821 | 19, 19, 19, 0, 0, 0, 0, 0, | ||
822 | 18, 19, 19, 19, 19, 19, 19, 19, | ||
823 | 19, 19, 19, 1, 1, 1, 1, 1, | ||
824 | 1, 1, 1, 1, 1, 1, 0, 0, | ||
825 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
826 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
827 | 4, 4, 26, 26, 26, 26, 19, 19, | ||
828 | 1, 19, 19, 19, 19, 19, 19, 19, | ||
829 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
830 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
831 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
832 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
833 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
834 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
835 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
836 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
837 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
838 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
839 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
840 | 19, 19, 19, 19, 26, 19, 1, 1, | ||
841 | 1, 1, 1, 1, 1, 11, 3, 1, | ||
842 | 1, 1, 1, 1, 1, 18, 18, 1, | ||
843 | 1, 30, 1, 1, 1, 1, 0, 0, | ||
844 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
845 | 4, 4, 19, 19, 19, 30, 30, 0, | ||
846 | |||
847 | 26, 26, 26, 26, 26, 26, 26, 26, | ||
848 | 26, 26, 26, 26, 26, 26, 0, 11, | ||
849 | 19, 1, 19, 19, 19, 19, 19, 19, | ||
850 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
851 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
852 | 19, 19, 19, 19, 19, 0, 0, 0, | ||
853 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
854 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
855 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
856 | 1, 1, 1, 0, 0, 0, 0, 0, | ||
857 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
858 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
859 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
860 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
861 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
862 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
863 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
864 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
865 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
866 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
867 | 19, 19, 19, 19, 19, 19, 1, 1, | ||
868 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
869 | 1, 19, 0, 0, 0, 0, 0, 0, | ||
870 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
871 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
872 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
873 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
874 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
875 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
876 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
877 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
878 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
879 | |||
880 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
881 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
882 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
883 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
884 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
885 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
886 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
887 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
888 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
889 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
890 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
891 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
892 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
893 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
894 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
895 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
896 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
897 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
898 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
899 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
900 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
901 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
902 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
903 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
904 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
905 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
906 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
907 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
908 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
909 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
910 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
911 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
912 | |||
913 | 0, 1, 1, 2, 0, 19, 19, 19, | ||
914 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
915 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
916 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
917 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
918 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
919 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
920 | 19, 19, 0, 0, 1, 19, 2, 2, | ||
921 | 2, 1, 1, 1, 1, 1, 1, 1, | ||
922 | 1, 2, 2, 2, 2, 1, 0, 0, | ||
923 | 19, 1, 1, 1, 1, 0, 0, 0, | ||
924 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
925 | 19, 19, 1, 1, 26, 26, 4, 4, | ||
926 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
927 | 26, 0, 0, 0, 0, 0, 0, 0, | ||
928 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
929 | 0, 1, 2, 2, 0, 19, 19, 19, | ||
930 | 19, 19, 19, 19, 19, 0, 0, 19, | ||
931 | 19, 0, 0, 19, 19, 19, 19, 19, | ||
932 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
933 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
934 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
935 | 19, 0, 19, 0, 0, 0, 19, 19, | ||
936 | 19, 19, 0, 0, 1, 0, 2, 2, | ||
937 | 2, 1, 1, 1, 1, 0, 0, 2, | ||
938 | 2, 0, 0, 2, 2, 1, 0, 0, | ||
939 | 0, 0, 0, 0, 0, 0, 0, 2, | ||
940 | 0, 0, 0, 0, 19, 19, 0, 19, | ||
941 | 19, 19, 1, 1, 0, 0, 4, 4, | ||
942 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
943 | 19, 19, 28, 28, 6, 6, 6, 6, | ||
944 | 6, 6, 30, 0, 0, 0, 0, 0, | ||
945 | |||
946 | 0, 0, 1, 0, 0, 19, 19, 19, | ||
947 | 19, 19, 19, 0, 0, 0, 0, 19, | ||
948 | 19, 0, 0, 19, 19, 19, 19, 19, | ||
949 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
950 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
951 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
952 | 19, 0, 19, 19, 0, 19, 19, 0, | ||
953 | 19, 19, 0, 0, 1, 0, 2, 2, | ||
954 | 2, 1, 1, 0, 0, 0, 0, 1, | ||
955 | 1, 0, 0, 1, 1, 1, 0, 0, | ||
956 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
957 | 0, 19, 19, 19, 19, 0, 19, 0, | ||
958 | 0, 0, 0, 0, 0, 0, 4, 4, | ||
959 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
960 | 1, 1, 19, 19, 19, 0, 0, 0, | ||
961 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
962 | 0, 1, 1, 2, 0, 19, 19, 19, | ||
963 | 19, 19, 19, 19, 0, 19, 0, 19, | ||
964 | 19, 19, 0, 19, 19, 19, 19, 19, | ||
965 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
966 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
967 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
968 | 19, 0, 19, 19, 0, 19, 19, 19, | ||
969 | 19, 19, 0, 0, 1, 19, 2, 2, | ||
970 | 2, 1, 1, 1, 1, 1, 0, 1, | ||
971 | 1, 2, 0, 2, 2, 1, 0, 0, | ||
972 | 19, 0, 0, 0, 0, 0, 0, 0, | ||
973 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
974 | 19, 0, 0, 0, 0, 0, 4, 4, | ||
975 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
976 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
977 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
978 | |||
979 | 0, 1, 2, 2, 0, 19, 19, 19, | ||
980 | 19, 19, 19, 19, 19, 0, 0, 19, | ||
981 | 19, 0, 0, 19, 19, 19, 19, 19, | ||
982 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
983 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
984 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
985 | 19, 0, 19, 19, 0, 0, 19, 19, | ||
986 | 19, 19, 0, 0, 1, 19, 2, 1, | ||
987 | 2, 1, 1, 1, 0, 0, 0, 2, | ||
988 | 2, 0, 0, 2, 2, 1, 0, 0, | ||
989 | 0, 0, 0, 0, 0, 0, 1, 2, | ||
990 | 0, 0, 0, 0, 19, 19, 0, 19, | ||
991 | 19, 19, 0, 0, 0, 0, 4, 4, | ||
992 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
993 | 30, 0, 0, 0, 0, 0, 0, 0, | ||
994 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
995 | 0, 0, 1, 19, 0, 19, 19, 19, | ||
996 | 19, 19, 19, 0, 0, 0, 19, 19, | ||
997 | 19, 0, 19, 19, 19, 19, 0, 0, | ||
998 | 0, 19, 19, 0, 19, 0, 19, 19, | ||
999 | 0, 0, 0, 19, 19, 0, 0, 0, | ||
1000 | 19, 19, 19, 0, 0, 0, 19, 19, | ||
1001 | 19, 19, 19, 19, 19, 19, 0, 19, | ||
1002 | 19, 19, 0, 0, 0, 0, 2, 2, | ||
1003 | 1, 2, 2, 0, 0, 0, 2, 2, | ||
1004 | 2, 0, 2, 2, 2, 1, 0, 0, | ||
1005 | 0, 0, 0, 0, 0, 0, 0, 2, | ||
1006 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1007 | 0, 0, 0, 0, 0, 0, 0, 4, | ||
1008 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1009 | 6, 6, 6, 0, 0, 0, 0, 0, | ||
1010 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1011 | |||
1012 | 0, 2, 2, 2, 0, 19, 19, 19, | ||
1013 | 19, 19, 19, 19, 19, 0, 19, 19, | ||
1014 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
1015 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1016 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1017 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
1018 | 19, 19, 19, 19, 0, 19, 19, 19, | ||
1019 | 19, 19, 0, 0, 0, 0, 1, 1, | ||
1020 | 1, 2, 2, 2, 2, 0, 1, 1, | ||
1021 | 1, 0, 1, 1, 1, 1, 0, 0, | ||
1022 | 0, 0, 0, 0, 0, 1, 1, 0, | ||
1023 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1024 | 19, 19, 0, 0, 0, 0, 4, 4, | ||
1025 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1026 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1027 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1028 | 0, 0, 2, 2, 0, 19, 19, 19, | ||
1029 | 19, 19, 19, 19, 19, 0, 19, 19, | ||
1030 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
1031 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1032 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1033 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
1034 | 19, 19, 19, 19, 0, 19, 19, 19, | ||
1035 | 19, 19, 0, 0, 0, 0, 2, 1, | ||
1036 | 2, 2, 2, 2, 2, 0, 1, 2, | ||
1037 | 2, 0, 2, 2, 1, 1, 0, 0, | ||
1038 | 0, 0, 0, 0, 0, 2, 2, 0, | ||
1039 | 0, 0, 0, 0, 0, 0, 19, 0, | ||
1040 | 19, 19, 0, 0, 0, 0, 4, 4, | ||
1041 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1042 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1043 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1044 | |||
1045 | 0, 0, 2, 2, 0, 19, 19, 19, | ||
1046 | 19, 19, 19, 19, 19, 0, 19, 19, | ||
1047 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
1048 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1049 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1050 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
1051 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1052 | 19, 19, 0, 0, 0, 0, 2, 2, | ||
1053 | 2, 1, 1, 1, 0, 0, 2, 2, | ||
1054 | 2, 0, 2, 2, 2, 1, 0, 0, | ||
1055 | 0, 0, 0, 0, 0, 0, 0, 2, | ||
1056 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1057 | 19, 19, 0, 0, 0, 0, 4, 4, | ||
1058 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1059 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1060 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1061 | 0, 0, 2, 2, 0, 19, 19, 19, | ||
1062 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1063 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1064 | 0, 0, 19, 19, 19, 19, 19, 19, | ||
1065 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1066 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1067 | 19, 19, 0, 19, 19, 19, 19, 19, | ||
1068 | 19, 19, 19, 19, 0, 19, 0, 0, | ||
1069 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1070 | 0, 0, 1, 0, 0, 0, 0, 2, | ||
1071 | 2, 2, 1, 1, 1, 0, 1, 0, | ||
1072 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
1073 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1074 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1075 | 0, 0, 2, 2, 26, 0, 0, 0, | ||
1076 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1077 | |||
1078 | 0, 19, 19, 19, 19, 19, 19, 19, | ||
1079 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1080 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1081 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1082 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1083 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1084 | 19, 1, 19, 19, 1, 1, 1, 1, | ||
1085 | 1, 1, 1, 0, 0, 0, 0, 28, | ||
1086 | 19, 19, 19, 19, 19, 19, 18, 1, | ||
1087 | 1, 1, 1, 1, 1, 1, 1, 26, | ||
1088 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1089 | 4, 4, 26, 26, 0, 0, 0, 0, | ||
1090 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1091 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1092 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1093 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1094 | 0, 19, 19, 0, 19, 0, 0, 19, | ||
1095 | 19, 0, 19, 0, 0, 19, 0, 0, | ||
1096 | 0, 0, 0, 0, 19, 19, 19, 19, | ||
1097 | 0, 19, 19, 19, 19, 19, 19, 19, | ||
1098 | 0, 19, 19, 19, 0, 19, 0, 19, | ||
1099 | 0, 0, 19, 19, 0, 19, 19, 19, | ||
1100 | 19, 1, 19, 19, 1, 1, 1, 1, | ||
1101 | 1, 1, 0, 1, 1, 19, 0, 0, | ||
1102 | 19, 19, 19, 19, 19, 0, 18, 0, | ||
1103 | 1, 1, 1, 1, 1, 1, 0, 0, | ||
1104 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1105 | 4, 4, 0, 0, 19, 19, 0, 0, | ||
1106 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1107 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1108 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1109 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1110 | |||
1111 | 19, 30, 30, 30, 26, 26, 26, 26, | ||
1112 | 26, 26, 26, 26, 26, 26, 26, 26, | ||
1113 | 26, 26, 26, 30, 30, 30, 30, 30, | ||
1114 | 1, 1, 30, 30, 30, 30, 30, 30, | ||
1115 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1116 | 4, 4, 6, 6, 6, 6, 6, 6, | ||
1117 | 6, 6, 6, 6, 30, 1, 30, 1, | ||
1118 | 30, 1, 22, 23, 22, 23, 2, 2, | ||
1119 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1120 | 0, 19, 19, 19, 19, 19, 19, 19, | ||
1121 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1122 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1123 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1124 | 19, 19, 19, 0, 0, 0, 0, 0, | ||
1125 | 0, 1, 1, 1, 1, 1, 1, 1, | ||
1126 | 1, 1, 1, 1, 1, 1, 1, 2, | ||
1127 | 1, 1, 1, 1, 1, 26, 1, 1, | ||
1128 | 19, 19, 19, 19, 0, 0, 0, 0, | ||
1129 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
1130 | 0, 1, 1, 1, 1, 1, 1, 1, | ||
1131 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
1132 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
1133 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
1134 | 1, 1, 1, 1, 1, 0, 30, 30, | ||
1135 | 30, 30, 30, 30, 30, 30, 1, 30, | ||
1136 | 30, 30, 30, 30, 30, 0, 0, 30, | ||
1137 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1138 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1139 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1140 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1141 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1142 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1143 | |||
1144 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1145 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1146 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1147 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1148 | 19, 19, 0, 19, 19, 19, 19, 19, | ||
1149 | 0, 19, 19, 0, 2, 1, 1, 1, | ||
1150 | 1, 2, 1, 0, 0, 0, 1, 1, | ||
1151 | 2, 1, 0, 0, 0, 0, 0, 0, | ||
1152 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1153 | 4, 4, 26, 26, 26, 26, 26, 26, | ||
1154 | 19, 19, 19, 19, 19, 19, 2, 2, | ||
1155 | 1, 1, 0, 0, 0, 0, 0, 0, | ||
1156 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1157 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1158 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1159 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1160 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1161 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1162 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1163 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1164 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1165 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1166 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1167 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1168 | 15, 15, 15, 15, 15, 15, 0, 0, | ||
1169 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1170 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1171 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1172 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1173 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1174 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1175 | 19, 0, 0, 26, 0, 0, 0, 0, | ||
1176 | |||
1177 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1178 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1179 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1180 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1181 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1182 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1183 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1184 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1185 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1186 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1187 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1188 | 19, 19, 0, 0, 0, 0, 0, 19, | ||
1189 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1190 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1191 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1192 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1193 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1194 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1195 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1196 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1197 | 19, 19, 19, 0, 0, 0, 0, 0, | ||
1198 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1199 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1200 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1201 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1202 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1203 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1204 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1205 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1206 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1207 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1208 | 19, 19, 0, 0, 0, 0, 0, 0, | ||
1209 | |||
1210 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1211 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1212 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1213 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1214 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1215 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1216 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1217 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1218 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1219 | 19, 0, 19, 19, 19, 19, 0, 0, | ||
1220 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1221 | 19, 0, 19, 19, 19, 19, 0, 0, | ||
1222 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1223 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1224 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1225 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1226 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1227 | 19, 0, 19, 19, 19, 19, 0, 0, | ||
1228 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1229 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1230 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1231 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1232 | 19, 0, 19, 19, 19, 19, 0, 0, | ||
1233 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1234 | 19, 0, 19, 19, 19, 19, 0, 0, | ||
1235 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1236 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1237 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1238 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1239 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1240 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1241 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1242 | |||
1243 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1244 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1245 | 19, 0, 19, 19, 19, 19, 0, 0, | ||
1246 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1247 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1248 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1249 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1250 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1251 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1252 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1253 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1254 | 19, 19, 19, 0, 0, 0, 0, 0, | ||
1255 | 0, 26, 26, 26, 26, 26, 26, 26, | ||
1256 | 26, 4, 4, 4, 4, 4, 4, 4, | ||
1257 | 4, 4, 6, 6, 6, 6, 6, 6, | ||
1258 | 6, 6, 6, 6, 6, 0, 0, 0, | ||
1259 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1260 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1261 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1262 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1263 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1264 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1265 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1266 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1267 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1268 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1269 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1270 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1271 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1272 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1273 | 19, 19, 19, 19, 19, 0, 0, 0, | ||
1274 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1275 | |||
1276 | 0, 19, 19, 19, 19, 19, 19, 19, | ||
1277 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1278 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1279 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1280 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1281 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1282 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1283 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1284 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1285 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1286 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1287 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1288 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1289 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1290 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1291 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1292 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1293 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1294 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1295 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1296 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1297 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1298 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1299 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1300 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1301 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1302 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1303 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1304 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1305 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1306 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1307 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1308 | |||
1309 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1310 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1311 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1312 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1313 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1314 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1315 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1316 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1317 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1318 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1319 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1320 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1321 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1322 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1323 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1324 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1325 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1326 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1327 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1328 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1329 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1330 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1331 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1332 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1333 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1334 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1335 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1336 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1337 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1338 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1339 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1340 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1341 | |||
1342 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1343 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1344 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1345 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1346 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1347 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1348 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1349 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1350 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1351 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1352 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1353 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1354 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1355 | 19, 19, 19, 19, 19, 26, 26, 19, | ||
1356 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1357 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1358 | 7, 19, 19, 19, 19, 19, 19, 19, | ||
1359 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1360 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1361 | 19, 19, 19, 22, 23, 0, 0, 0, | ||
1362 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1363 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1364 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1365 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1366 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1367 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1368 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1369 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1370 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1371 | 19, 19, 19, 26, 26, 26, 5, 5, | ||
1372 | 5, 0, 0, 0, 0, 0, 0, 0, | ||
1373 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1374 | |||
1375 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1376 | 19, 19, 19, 19, 19, 0, 19, 19, | ||
1377 | 19, 19, 1, 1, 1, 0, 0, 0, | ||
1378 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1379 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1380 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1381 | 19, 19, 1, 1, 1, 26, 26, 0, | ||
1382 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1383 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1384 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1385 | 19, 19, 1, 1, 0, 0, 0, 0, | ||
1386 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1387 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1388 | 19, 19, 19, 19, 19, 0, 19, 19, | ||
1389 | 19, 0, 1, 1, 0, 0, 0, 0, | ||
1390 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1391 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1392 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1393 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1394 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1395 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1396 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1397 | 19, 19, 19, 19, 2, 2, 2, 1, | ||
1398 | 1, 1, 1, 1, 1, 1, 2, 2, | ||
1399 | 2, 2, 2, 2, 2, 2, 1, 2, | ||
1400 | 2, 1, 1, 1, 1, 1, 1, 1, | ||
1401 | 1, 1, 1, 1, 26, 26, 26, 18, | ||
1402 | 26, 26, 26, 28, 19, 0, 0, 0, | ||
1403 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1404 | 4, 4, 0, 0, 0, 0, 0, 0, | ||
1405 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1406 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1407 | |||
1408 | 26, 26, 26, 26, 26, 26, 21, 26, | ||
1409 | 26, 26, 26, 1, 1, 1, 11, 0, | ||
1410 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1411 | 4, 4, 0, 0, 0, 0, 0, 0, | ||
1412 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1413 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1414 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1415 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1416 | 19, 19, 19, 18, 19, 19, 19, 19, | ||
1417 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1418 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1419 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1420 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1421 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1422 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1423 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1424 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1425 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1426 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1427 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1428 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1429 | 19, 1, 0, 0, 0, 0, 0, 0, | ||
1430 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1431 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1432 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1433 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1434 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1435 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1436 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1437 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1438 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1439 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1440 | |||
1441 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1442 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1443 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1444 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1445 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1446 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1447 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1448 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1449 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1450 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1451 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1452 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1453 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1454 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1455 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1456 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1457 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1458 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1459 | 15, 16, 15, 16, 15, 16, 16, 16, | ||
1460 | 16, 16, 16, 16, 0, 0, 0, 0, | ||
1461 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1462 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1463 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1464 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1465 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1466 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1467 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1468 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1469 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1470 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1471 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1472 | 15, 16, 0, 0, 0, 0, 0, 0, | ||
1473 | |||
1474 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1475 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1476 | 16, 16, 16, 16, 16, 16, 0, 0, | ||
1477 | 15, 15, 15, 15, 15, 15, 0, 0, | ||
1478 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1479 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1480 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1481 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1482 | 16, 16, 16, 16, 16, 16, 0, 0, | ||
1483 | 15, 15, 15, 15, 15, 15, 0, 0, | ||
1484 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1485 | 0, 15, 0, 15, 0, 15, 0, 15, | ||
1486 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1487 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1488 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1489 | 16, 16, 16, 16, 16, 16, 0, 0, | ||
1490 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1491 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
1492 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1493 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
1494 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1495 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
1496 | 16, 16, 16, 16, 16, 0, 16, 16, | ||
1497 | 15, 15, 15, 15, 17, 29, 16, 29, | ||
1498 | 29, 29, 16, 16, 16, 0, 16, 16, | ||
1499 | 15, 15, 15, 15, 17, 29, 29, 29, | ||
1500 | 16, 16, 16, 16, 0, 0, 16, 16, | ||
1501 | 15, 15, 15, 15, 0, 29, 29, 29, | ||
1502 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1503 | 15, 15, 15, 15, 15, 29, 29, 29, | ||
1504 | 0, 0, 16, 16, 16, 0, 16, 16, | ||
1505 | 15, 15, 15, 15, 17, 29, 29, 0, | ||
1506 | |||
1507 | 7, 7, 7, 7, 7, 7, 7, 7, | ||
1508 | 7, 7, 7, 7, 11, 11, 11, 11, | ||
1509 | 21, 21, 21, 21, 21, 21, 26, 26, | ||
1510 | 24, 25, 22, 24, 24, 25, 22, 24, | ||
1511 | 26, 26, 26, 26, 26, 26, 26, 26, | ||
1512 | 8, 9, 11, 11, 11, 11, 11, 7, | ||
1513 | 26, 26, 26, 26, 26, 26, 26, 26, | ||
1514 | 26, 24, 25, 26, 26, 26, 26, 20, | ||
1515 | 20, 26, 26, 26, 27, 22, 23, 26, | ||
1516 | 26, 26, 26, 26, 26, 26, 26, 26, | ||
1517 | 26, 26, 27, 0, 0, 0, 0, 26, | ||
1518 | 0, 0, 0, 0, 0, 0, 0, 7, | ||
1519 | 11, 11, 11, 11, 0, 0, 0, 0, | ||
1520 | 0, 0, 11, 11, 11, 11, 11, 11, | ||
1521 | 6, 16, 0, 0, 6, 6, 6, 6, | ||
1522 | 6, 6, 27, 27, 27, 22, 23, 16, | ||
1523 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1524 | 6, 6, 27, 27, 27, 22, 23, 0, | ||
1525 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1526 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1527 | 28, 28, 28, 28, 28, 28, 28, 28, | ||
1528 | 28, 28, 28, 28, 28, 28, 28, 28, | ||
1529 | 28, 28, 0, 0, 0, 0, 0, 0, | ||
1530 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1531 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1532 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1533 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
1534 | 1, 1, 1, 1, 1, 3, 3, 3, | ||
1535 | 3, 1, 3, 3, 3, 1, 1, 1, | ||
1536 | 1, 1, 1, 0, 0, 0, 0, 0, | ||
1537 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1538 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1539 | |||
1540 | 30, 30, 15, 30, 30, 30, 30, 15, | ||
1541 | 30, 30, 16, 15, 15, 15, 16, 16, | ||
1542 | 15, 15, 15, 16, 30, 15, 30, 30, | ||
1543 | 30, 15, 15, 15, 15, 15, 30, 30, | ||
1544 | 30, 30, 30, 30, 15, 30, 15, 30, | ||
1545 | 15, 30, 15, 15, 15, 15, 30, 16, | ||
1546 | 15, 15, 30, 15, 16, 19, 19, 19, | ||
1547 | 19, 16, 30, 0, 0, 16, 15, 15, | ||
1548 | 27, 27, 27, 27, 27, 15, 16, 16, | ||
1549 | 16, 16, 30, 27, 0, 0, 0, 0, | ||
1550 | 0, 0, 0, 6, 6, 6, 6, 6, | ||
1551 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1552 | 5, 5, 5, 5, 5, 5, 5, 5, | ||
1553 | 5, 5, 5, 5, 5, 5, 5, 5, | ||
1554 | 5, 5, 5, 5, 5, 5, 5, 5, | ||
1555 | 5, 5, 5, 5, 5, 5, 5, 5, | ||
1556 | 5, 5, 5, 5, 0, 0, 0, 0, | ||
1557 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1558 | 27, 27, 27, 27, 27, 30, 30, 30, | ||
1559 | 30, 30, 27, 27, 30, 30, 30, 30, | ||
1560 | 27, 30, 30, 27, 30, 30, 27, 30, | ||
1561 | 30, 30, 30, 30, 30, 30, 27, 30, | ||
1562 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1563 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1564 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1565 | 30, 30, 30, 30, 30, 30, 27, 27, | ||
1566 | 30, 30, 27, 30, 27, 30, 30, 30, | ||
1567 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1568 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1569 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1570 | 30, 30, 30, 30, 27, 27, 27, 27, | ||
1571 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1572 | |||
1573 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1574 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1575 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1576 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1577 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1578 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1579 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1580 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1581 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1582 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1583 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1584 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1585 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1586 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1587 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1588 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1589 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1590 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1591 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1592 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1593 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1594 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1595 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1596 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1597 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1598 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1599 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1600 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1601 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1602 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1603 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1604 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1605 | |||
1606 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1607 | 27, 27, 27, 27, 30, 30, 30, 30, | ||
1608 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1609 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1610 | 27, 27, 30, 30, 30, 30, 30, 30, | ||
1611 | 30, 22, 23, 30, 30, 30, 30, 30, | ||
1612 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1613 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1614 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1615 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1616 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1617 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1618 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1619 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1620 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1621 | 30, 30, 30, 30, 27, 30, 30, 30, | ||
1622 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1623 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1624 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1625 | 30, 30, 30, 27, 27, 27, 27, 27, | ||
1626 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1627 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1628 | 27, 27, 27, 27, 22, 23, 26, 30, | ||
1629 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1630 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1631 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
1632 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1633 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1634 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1635 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1636 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1637 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1638 | |||
1639 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1640 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1641 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1642 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1643 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
1644 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1645 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1646 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1647 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1648 | 30, 30, 30, 0, 0, 0, 0, 0, | ||
1649 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1650 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1651 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1652 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1653 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1654 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1655 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1656 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1657 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1658 | 6, 6, 6, 6, 30, 30, 30, 30, | ||
1659 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1660 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1661 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1662 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1663 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1664 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1665 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1666 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1667 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1668 | 30, 30, 6, 6, 6, 6, 6, 6, | ||
1669 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1670 | 6, 6, 6, 6, 6, 6, 6, 0, | ||
1671 | |||
1672 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1673 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1674 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1675 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1676 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1677 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1678 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1679 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1680 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1681 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1682 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1683 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1684 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1685 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1686 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1687 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1688 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1689 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1690 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1691 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1692 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1693 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1694 | 30, 30, 30, 30, 30, 30, 30, 27, | ||
1695 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1696 | 30, 27, 30, 30, 30, 30, 30, 30, | ||
1697 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1698 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1699 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1700 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1701 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1702 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1703 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1704 | |||
1705 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1706 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1707 | 30, 30, 30, 30, 0, 0, 30, 30, | ||
1708 | 0, 30, 30, 30, 30, 30, 30, 30, | ||
1709 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1710 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1711 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1712 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1713 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1714 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1715 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1716 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1717 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1718 | 30, 30, 30, 30, 30, 30, 30, 27, | ||
1719 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1720 | 30, 30, 30, 30, 30, 30, 0, 0, | ||
1721 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1722 | 30, 30, 0, 0, 0, 0, 0, 0, | ||
1723 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1724 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1725 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1726 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1727 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1728 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1729 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1730 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1731 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1732 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1733 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1734 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1735 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1736 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1737 | |||
1738 | 0, 30, 30, 30, 30, 0, 30, 30, | ||
1739 | 30, 30, 0, 0, 30, 30, 30, 30, | ||
1740 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1741 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1742 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1743 | 0, 30, 30, 30, 30, 30, 30, 30, | ||
1744 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1745 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1746 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1747 | 30, 30, 30, 30, 0, 30, 0, 30, | ||
1748 | 30, 30, 30, 0, 0, 0, 30, 0, | ||
1749 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
1750 | 0, 30, 30, 30, 30, 30, 30, 30, | ||
1751 | 22, 23, 22, 23, 22, 23, 22, 23, | ||
1752 | 22, 23, 22, 23, 22, 23, 6, 6, | ||
1753 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1754 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1755 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1756 | 6, 6, 6, 6, 30, 0, 0, 0, | ||
1757 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1758 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1759 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1760 | 0, 30, 30, 30, 30, 30, 30, 30, | ||
1761 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
1762 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1763 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1764 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1765 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1766 | 27, 27, 27, 27, 27, 27, 22, 23, | ||
1767 | 22, 23, 22, 23, 0, 0, 0, 0, | ||
1768 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1769 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1770 | |||
1771 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1772 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1773 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1774 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1775 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1776 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1777 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1778 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1779 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1780 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1781 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1782 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1783 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1784 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1785 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1786 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1787 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1788 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1789 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1790 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1791 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1792 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1793 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1794 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1795 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1796 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1797 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1798 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1799 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1800 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1801 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1802 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1803 | |||
1804 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1805 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1806 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1807 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1808 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1809 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1810 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1811 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1812 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1813 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1814 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1815 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1816 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1817 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1818 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1819 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1820 | 27, 27, 27, 22, 23, 22, 23, 22, | ||
1821 | 23, 22, 23, 22, 23, 22, 23, 22, | ||
1822 | 23, 22, 23, 22, 23, 22, 23, 22, | ||
1823 | 23, 27, 27, 27, 27, 27, 27, 27, | ||
1824 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1825 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1826 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1827 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1828 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1829 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1830 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1831 | 22, 23, 22, 23, 27, 27, 27, 27, | ||
1832 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1833 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1834 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1835 | 27, 27, 27, 27, 22, 23, 27, 27, | ||
1836 | |||
1837 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1838 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1839 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1840 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1841 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1842 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1843 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1844 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1845 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1846 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1847 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1848 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1849 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1850 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1851 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1852 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1853 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1854 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1855 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1856 | 30, 30, 0, 30, 30, 30, 30, 30, | ||
1857 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1858 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1859 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1860 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1861 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1862 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1863 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1864 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1865 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1866 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1867 | 30, 30, 30, 30, 0, 0, 0, 0, | ||
1868 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1869 | |||
1870 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1871 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1872 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1873 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1874 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1875 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1876 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1877 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1878 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1879 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1880 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1881 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1882 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1883 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1884 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1885 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1886 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1887 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1888 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1889 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1890 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1891 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1892 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1893 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1894 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1895 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1896 | 30, 30, 30, 30, 30, 30, 0, 0, | ||
1897 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1898 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1899 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1900 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1901 | 30, 30, 30, 30, 0, 0, 0, 0, | ||
1902 | |||
1903 | 7, 26, 26, 26, 30, 18, 19, 5, | ||
1904 | 22, 23, 22, 23, 22, 23, 22, 23, | ||
1905 | 22, 23, 30, 30, 22, 23, 22, 23, | ||
1906 | 22, 23, 22, 23, 21, 22, 23, 23, | ||
1907 | 30, 5, 5, 5, 5, 5, 5, 5, | ||
1908 | 5, 5, 1, 1, 1, 1, 1, 1, | ||
1909 | 21, 18, 18, 18, 18, 18, 30, 30, | ||
1910 | 5, 5, 5, 18, 19, 26, 30, 30, | ||
1911 | 0, 19, 19, 19, 19, 19, 19, 19, | ||
1912 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1913 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1914 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1915 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1916 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1917 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1918 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1919 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1920 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1921 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1922 | 0, 1, 1, 29, 29, 18, 18, 19, | ||
1923 | 21, 19, 19, 19, 19, 19, 19, 19, | ||
1924 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1925 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1926 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1927 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1928 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1929 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1930 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1931 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1932 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1933 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1934 | 19, 19, 19, 20, 18, 18, 18, 19, | ||
1935 | |||
1936 | 0, 0, 0, 0, 0, 19, 19, 19, | ||
1937 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1938 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1939 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1940 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1941 | 19, 19, 19, 19, 19, 0, 0, 0, | ||
1942 | 0, 19, 19, 19, 19, 19, 19, 19, | ||
1943 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1944 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1945 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1946 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1947 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1948 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1949 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1950 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1951 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1952 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1953 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1954 | 30, 30, 6, 6, 6, 6, 30, 30, | ||
1955 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1956 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1957 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1958 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1959 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1960 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1961 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1962 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1963 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1964 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1965 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1966 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1967 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1968 | |||
1969 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1970 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1971 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1972 | 30, 30, 30, 30, 30, 0, 0, 0, | ||
1973 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1974 | 6, 6, 30, 30, 30, 30, 30, 30, | ||
1975 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1976 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1977 | 30, 30, 30, 30, 0, 0, 0, 0, | ||
1978 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1979 | 0, 6, 6, 6, 6, 6, 6, 6, | ||
1980 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1981 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1982 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1983 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1984 | 30, 30, 30, 30, 0, 0, 0, 30, | ||
1985 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1986 | 6, 6, 30, 30, 30, 30, 30, 30, | ||
1987 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1988 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1989 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1990 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1991 | 30, 6, 6, 6, 6, 6, 6, 6, | ||
1992 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1993 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1994 | 30, 30, 30, 30, 0, 0, 0, 0, | ||
1995 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1996 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1997 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1998 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1999 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2000 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
2001 | |||
2002 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2003 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2004 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2005 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2006 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2007 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2008 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2009 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2010 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2011 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2012 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2013 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2014 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2015 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2016 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
2017 | 0, 0, 0, 30, 30, 30, 30, 30, | ||
2018 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2019 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2020 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2021 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2022 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2023 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2024 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2025 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2026 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2027 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2028 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2029 | 30, 30, 30, 30, 30, 30, 0, 0, | ||
2030 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2031 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2032 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2033 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
2034 | |||
2035 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2036 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2037 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2038 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2039 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2040 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2041 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2042 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2043 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2044 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2045 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2046 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2047 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2048 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2049 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2050 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2051 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2052 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2053 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2054 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2055 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2056 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2057 | 19, 19, 19, 19, 19, 19, 0, 0, | ||
2058 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2059 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2060 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2061 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2062 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2063 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2064 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2065 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2066 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2067 | |||
2068 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2069 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2070 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2071 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2072 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2073 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2074 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2075 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2076 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2077 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2078 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2079 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2080 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2081 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2082 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2083 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2084 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2085 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2086 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2087 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2088 | 19, 19, 19, 19, 19, 19, 0, 0, | ||
2089 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2090 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2091 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2092 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2093 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2094 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2095 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2096 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2097 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2098 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2099 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2100 | |||
2101 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2102 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2103 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2104 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2105 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2106 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2107 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2108 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2109 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2110 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2111 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2112 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2113 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2114 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2115 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2116 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2117 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2118 | 19, 19, 19, 19, 19, 0, 0, 0, | ||
2119 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2120 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2121 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2122 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2123 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2124 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2125 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
2126 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2127 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2128 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2129 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2130 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2131 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2132 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2133 | |||
2134 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2135 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2136 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2137 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2138 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2139 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2140 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2141 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2142 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2143 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2144 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2145 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2146 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2147 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2148 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2149 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2150 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2151 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2152 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2153 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2154 | 19, 19, 19, 19, 0, 0, 0, 0, | ||
2155 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2156 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2157 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2158 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2159 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2160 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2161 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2162 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2163 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2164 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2165 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2166 | |||
2167 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2168 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2169 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2170 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2171 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2172 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2173 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2174 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2175 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2176 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2177 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2178 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2179 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2180 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2181 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2182 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2183 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2184 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2185 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2186 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2187 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2188 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2189 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2190 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2191 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2192 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2193 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2194 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2195 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2196 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2197 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2198 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2199 | |||
2200 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2201 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2202 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2203 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2204 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2205 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2206 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2207 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2208 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2209 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2210 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2211 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2212 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2213 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2214 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2215 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2216 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2217 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2218 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2219 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2220 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2221 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2222 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2223 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2224 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2225 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2226 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2227 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2228 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2229 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2230 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2231 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2232 | |||
2233 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2234 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2235 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2236 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2237 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2238 | 19, 19, 19, 19, 19, 19, 0, 0, | ||
2239 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2240 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2241 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2242 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2243 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2244 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2245 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2246 | 19, 19, 19, 0, 0, 0, 0, 0, | ||
2247 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2248 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2249 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2250 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2251 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2252 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2253 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2254 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2255 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2256 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2257 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2258 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2259 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2260 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2261 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2262 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2263 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2264 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2265 | |||
2266 | 16, 16, 16, 16, 16, 16, 16, 0, | ||
2267 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2268 | 0, 0, 0, 16, 16, 16, 16, 16, | ||
2269 | 0, 0, 0, 0, 0, 19, 1, 19, | ||
2270 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2271 | 19, 27, 19, 19, 19, 19, 19, 19, | ||
2272 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
2273 | 19, 19, 19, 19, 19, 0, 19, 0, | ||
2274 | 19, 19, 0, 19, 19, 0, 19, 19, | ||
2275 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2276 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2277 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2278 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2279 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2280 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2281 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2282 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2283 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2284 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2285 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2286 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2287 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2288 | 19, 19, 0, 0, 0, 0, 0, 0, | ||
2289 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2290 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2291 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2292 | 0, 0, 0, 19, 19, 19, 19, 19, | ||
2293 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2294 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2295 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2296 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2297 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2298 | |||
2299 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2300 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2301 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2302 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2303 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2304 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2305 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2306 | 19, 19, 19, 19, 19, 19, 22, 23, | ||
2307 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2308 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2309 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2310 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2311 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2312 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2313 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2314 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2315 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2316 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2317 | 0, 0, 19, 19, 19, 19, 19, 19, | ||
2318 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2319 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2320 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2321 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2322 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2323 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2324 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2325 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2326 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2327 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2328 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2329 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2330 | 19, 19, 19, 19, 28, 0, 0, 0, | ||
2331 | |||
2332 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
2333 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
2334 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2335 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2336 | 1, 1, 1, 1, 0, 0, 0, 0, | ||
2337 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2338 | 26, 21, 21, 20, 20, 22, 23, 22, | ||
2339 | 23, 22, 23, 22, 23, 22, 23, 22, | ||
2340 | 23, 22, 23, 22, 23, 26, 26, 0, | ||
2341 | 0, 26, 26, 26, 26, 20, 20, 20, | ||
2342 | 26, 26, 26, 0, 26, 26, 26, 26, | ||
2343 | 21, 22, 23, 22, 23, 22, 23, 26, | ||
2344 | 26, 26, 27, 21, 27, 27, 27, 0, | ||
2345 | 26, 28, 26, 26, 0, 0, 0, 0, | ||
2346 | 19, 19, 19, 19, 19, 0, 19, 19, | ||
2347 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2348 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2349 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2350 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2351 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2352 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2353 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2354 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2355 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2356 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2357 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2358 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2359 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2360 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2361 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2362 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2363 | 19, 19, 19, 19, 19, 0, 0, 11, | ||
2364 | |||
2365 | 0, 26, 26, 26, 28, 26, 26, 26, | ||
2366 | 22, 23, 26, 27, 26, 21, 26, 26, | ||
2367 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
2368 | 4, 4, 26, 26, 27, 27, 27, 26, | ||
2369 | 26, 15, 15, 15, 15, 15, 15, 15, | ||
2370 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
2371 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
2372 | 15, 15, 15, 22, 26, 23, 29, 20, | ||
2373 | 29, 16, 16, 16, 16, 16, 16, 16, | ||
2374 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
2375 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
2376 | 16, 16, 16, 22, 27, 23, 27, 22, | ||
2377 | 23, 26, 22, 23, 26, 20, 19, 19, | ||
2378 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2379 | 18, 19, 19, 19, 19, 19, 19, 19, | ||
2380 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2381 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2382 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2383 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2384 | 19, 19, 19, 19, 19, 19, 18, 18, | ||
2385 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2386 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2387 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2388 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
2389 | 0, 0, 19, 19, 19, 19, 19, 19, | ||
2390 | 0, 0, 19, 19, 19, 19, 19, 19, | ||
2391 | 0, 0, 19, 19, 19, 19, 19, 19, | ||
2392 | 0, 0, 19, 19, 19, 0, 0, 0, | ||
2393 | 28, 28, 27, 29, 30, 28, 28, 0, | ||
2394 | 30, 27, 27, 27, 27, 30, 30, 0, | ||
2395 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2396 | 0, 11, 11, 11, 30, 30, 0, 0, | ||
2397 | }; | ||
2398 | |||
2399 | // 14080 bytes | ||
2400 | |||
2401 | const Q_UINT16 QUnicodeTables::decomposition_map[] = { | ||
2402 | 0, | ||
2403 | 3, 0x00A0, 0x0020, 0, | ||
2404 | 16, 0x00A8, 0x0020, 0x0308, 0, | ||
2405 | 9, 0x00AA, 0x0061, 0, | ||
2406 | 16, 0x00AF, 0x0020, 0x0304, 0, | ||
2407 | 9, 0x00B2, 0x0032, 0, | ||
2408 | 9, 0x00B3, 0x0033, 0, | ||
2409 | 16, 0x00B4, 0x0020, 0x0301, 0, | ||
2410 | 16, 0x00B5, 0x03BC, 0, | ||
2411 | 16, 0x00B8, 0x0020, 0x0327, 0, | ||
2412 | 9, 0x00B9, 0x0031, 0, | ||
2413 | 9, 0x00BA, 0x006F, 0, | ||
2414 | 17, 0x00BC, 0x0031, 0x2044, 0x0034, 0, | ||
2415 | 17, 0x00BD, 0x0031, 0x2044, 0x0032, 0, | ||
2416 | 17, 0x00BE, 0x0033, 0x2044, 0x0034, 0, | ||
2417 | 1, 0x00C0, 0x0041, 0x0300, 0, | ||
2418 | 1, 0x00C1, 0x0041, 0x0301, 0, | ||
2419 | 1, 0x00C2, 0x0041, 0x0302, 0, | ||
2420 | 1, 0x00C3, 0x0041, 0x0303, 0, | ||
2421 | 1, 0x00C4, 0x0041, 0x0308, 0, | ||
2422 | 1, 0x00C5, 0x0041, 0x030A, 0, | ||
2423 | 1, 0x00C7, 0x0043, 0x0327, 0, | ||
2424 | 1, 0x00C8, 0x0045, 0x0300, 0, | ||
2425 | 1, 0x00C9, 0x0045, 0x0301, 0, | ||
2426 | 1, 0x00CA, 0x0045, 0x0302, 0, | ||
2427 | 1, 0x00CB, 0x0045, 0x0308, 0, | ||
2428 | 1, 0x00CC, 0x0049, 0x0300, 0, | ||
2429 | 1, 0x00CD, 0x0049, 0x0301, 0, | ||
2430 | 1, 0x00CE, 0x0049, 0x0302, 0, | ||
2431 | 1, 0x00CF, 0x0049, 0x0308, 0, | ||
2432 | 1, 0x00D1, 0x004E, 0x0303, 0, | ||
2433 | 1, 0x00D2, 0x004F, 0x0300, 0, | ||
2434 | 1, 0x00D3, 0x004F, 0x0301, 0, | ||
2435 | 1, 0x00D4, 0x004F, 0x0302, 0, | ||
2436 | 1, 0x00D5, 0x004F, 0x0303, 0, | ||
2437 | 1, 0x00D6, 0x004F, 0x0308, 0, | ||
2438 | 1, 0x00D9, 0x0055, 0x0300, 0, | ||
2439 | 1, 0x00DA, 0x0055, 0x0301, 0, | ||
2440 | 1, 0x00DB, 0x0055, 0x0302, 0, | ||
2441 | 1, 0x00DC, 0x0055, 0x0308, 0, | ||
2442 | 1, 0x00DD, 0x0059, 0x0301, 0, | ||
2443 | 1, 0x00E0, 0x0061, 0x0300, 0, | ||
2444 | 1, 0x00E1, 0x0061, 0x0301, 0, | ||
2445 | 1, 0x00E2, 0x0061, 0x0302, 0, | ||
2446 | 1, 0x00E3, 0x0061, 0x0303, 0, | ||
2447 | 1, 0x00E4, 0x0061, 0x0308, 0, | ||
2448 | 1, 0x00E5, 0x0061, 0x030A, 0, | ||
2449 | 1, 0x00E7, 0x0063, 0x0327, 0, | ||
2450 | 1, 0x00E8, 0x0065, 0x0300, 0, | ||
2451 | 1, 0x00E9, 0x0065, 0x0301, 0, | ||
2452 | 1, 0x00EA, 0x0065, 0x0302, 0, | ||
2453 | 1, 0x00EB, 0x0065, 0x0308, 0, | ||
2454 | 1, 0x00EC, 0x0069, 0x0300, 0, | ||
2455 | 1, 0x00ED, 0x0069, 0x0301, 0, | ||
2456 | 1, 0x00EE, 0x0069, 0x0302, 0, | ||
2457 | 1, 0x00EF, 0x0069, 0x0308, 0, | ||
2458 | 1, 0x00F1, 0x006E, 0x0303, 0, | ||
2459 | 1, 0x00F2, 0x006F, 0x0300, 0, | ||
2460 | 1, 0x00F3, 0x006F, 0x0301, 0, | ||
2461 | 1, 0x00F4, 0x006F, 0x0302, 0, | ||
2462 | 1, 0x00F5, 0x006F, 0x0303, 0, | ||
2463 | 1, 0x00F6, 0x006F, 0x0308, 0, | ||
2464 | 1, 0x00F9, 0x0075, 0x0300, 0, | ||
2465 | 1, 0x00FA, 0x0075, 0x0301, 0, | ||
2466 | 1, 0x00FB, 0x0075, 0x0302, 0, | ||
2467 | 1, 0x00FC, 0x0075, 0x0308, 0, | ||
2468 | 1, 0x00FD, 0x0079, 0x0301, 0, | ||
2469 | 1, 0x00FF, 0x0079, 0x0308, 0, | ||
2470 | 1, 0x0100, 0x0041, 0x0304, 0, | ||
2471 | 1, 0x0101, 0x0061, 0x0304, 0, | ||
2472 | 1, 0x0102, 0x0041, 0x0306, 0, | ||
2473 | 1, 0x0103, 0x0061, 0x0306, 0, | ||
2474 | 1, 0x0104, 0x0041, 0x0328, 0, | ||
2475 | 1, 0x0105, 0x0061, 0x0328, 0, | ||
2476 | 1, 0x0106, 0x0043, 0x0301, 0, | ||
2477 | 1, 0x0107, 0x0063, 0x0301, 0, | ||
2478 | 1, 0x0108, 0x0043, 0x0302, 0, | ||
2479 | 1, 0x0109, 0x0063, 0x0302, 0, | ||
2480 | 1, 0x010A, 0x0043, 0x0307, 0, | ||
2481 | 1, 0x010B, 0x0063, 0x0307, 0, | ||
2482 | 1, 0x010C, 0x0043, 0x030C, 0, | ||
2483 | 1, 0x010D, 0x0063, 0x030C, 0, | ||
2484 | 1, 0x010E, 0x0044, 0x030C, 0, | ||
2485 | 1, 0x010F, 0x0064, 0x030C, 0, | ||
2486 | 1, 0x0112, 0x0045, 0x0304, 0, | ||
2487 | 1, 0x0113, 0x0065, 0x0304, 0, | ||
2488 | 1, 0x0114, 0x0045, 0x0306, 0, | ||
2489 | 1, 0x0115, 0x0065, 0x0306, 0, | ||
2490 | 1, 0x0116, 0x0045, 0x0307, 0, | ||
2491 | 1, 0x0117, 0x0065, 0x0307, 0, | ||
2492 | 1, 0x0118, 0x0045, 0x0328, 0, | ||
2493 | 1, 0x0119, 0x0065, 0x0328, 0, | ||
2494 | 1, 0x011A, 0x0045, 0x030C, 0, | ||
2495 | 1, 0x011B, 0x0065, 0x030C, 0, | ||
2496 | 1, 0x011C, 0x0047, 0x0302, 0, | ||
2497 | 1, 0x011D, 0x0067, 0x0302, 0, | ||
2498 | 1, 0x011E, 0x0047, 0x0306, 0, | ||
2499 | 1, 0x011F, 0x0067, 0x0306, 0, | ||
2500 | 1, 0x0120, 0x0047, 0x0307, 0, | ||
2501 | 1, 0x0121, 0x0067, 0x0307, 0, | ||
2502 | 1, 0x0122, 0x0047, 0x0327, 0, | ||
2503 | 1, 0x0123, 0x0067, 0x0327, 0, | ||
2504 | 1, 0x0124, 0x0048, 0x0302, 0, | ||
2505 | 1, 0x0125, 0x0068, 0x0302, 0, | ||
2506 | 1, 0x0128, 0x0049, 0x0303, 0, | ||
2507 | 1, 0x0129, 0x0069, 0x0303, 0, | ||
2508 | 1, 0x012A, 0x0049, 0x0304, 0, | ||
2509 | 1, 0x012B, 0x0069, 0x0304, 0, | ||
2510 | 1, 0x012C, 0x0049, 0x0306, 0, | ||
2511 | 1, 0x012D, 0x0069, 0x0306, 0, | ||
2512 | 1, 0x012E, 0x0049, 0x0328, 0, | ||
2513 | 1, 0x012F, 0x0069, 0x0328, 0, | ||
2514 | 1, 0x0130, 0x0049, 0x0307, 0, | ||
2515 | 16, 0x0132, 0x0049, 0x004A, 0, | ||
2516 | 16, 0x0133, 0x0069, 0x006A, 0, | ||
2517 | 1, 0x0134, 0x004A, 0x0302, 0, | ||
2518 | 1, 0x0135, 0x006A, 0x0302, 0, | ||
2519 | 1, 0x0136, 0x004B, 0x0327, 0, | ||
2520 | 1, 0x0137, 0x006B, 0x0327, 0, | ||
2521 | 1, 0x0139, 0x004C, 0x0301, 0, | ||
2522 | 1, 0x013A, 0x006C, 0x0301, 0, | ||
2523 | 1, 0x013B, 0x004C, 0x0327, 0, | ||
2524 | 1, 0x013C, 0x006C, 0x0327, 0, | ||
2525 | 1, 0x013D, 0x004C, 0x030C, 0, | ||
2526 | 1, 0x013E, 0x006C, 0x030C, 0, | ||
2527 | 16, 0x013F, 0x004C, 0x00B7, 0, | ||
2528 | 16, 0x0140, 0x006C, 0x00B7, 0, | ||
2529 | 1, 0x0143, 0x004E, 0x0301, 0, | ||
2530 | 1, 0x0144, 0x006E, 0x0301, 0, | ||
2531 | 1, 0x0145, 0x004E, 0x0327, 0, | ||
2532 | 1, 0x0146, 0x006E, 0x0327, 0, | ||
2533 | 1, 0x0147, 0x004E, 0x030C, 0, | ||
2534 | 1, 0x0148, 0x006E, 0x030C, 0, | ||
2535 | 16, 0x0149, 0x02BC, 0x006E, 0, | ||
2536 | 1, 0x014C, 0x004F, 0x0304, 0, | ||
2537 | 1, 0x014D, 0x006F, 0x0304, 0, | ||
2538 | 1, 0x014E, 0x004F, 0x0306, 0, | ||
2539 | 1, 0x014F, 0x006F, 0x0306, 0, | ||
2540 | 1, 0x0150, 0x004F, 0x030B, 0, | ||
2541 | 1, 0x0151, 0x006F, 0x030B, 0, | ||
2542 | 1, 0x0154, 0x0052, 0x0301, 0, | ||
2543 | 1, 0x0155, 0x0072, 0x0301, 0, | ||
2544 | 1, 0x0156, 0x0052, 0x0327, 0, | ||
2545 | 1, 0x0157, 0x0072, 0x0327, 0, | ||
2546 | 1, 0x0158, 0x0052, 0x030C, 0, | ||
2547 | 1, 0x0159, 0x0072, 0x030C, 0, | ||
2548 | 1, 0x015A, 0x0053, 0x0301, 0, | ||
2549 | 1, 0x015B, 0x0073, 0x0301, 0, | ||
2550 | 1, 0x015C, 0x0053, 0x0302, 0, | ||
2551 | 1, 0x015D, 0x0073, 0x0302, 0, | ||
2552 | 1, 0x015E, 0x0053, 0x0327, 0, | ||
2553 | 1, 0x015F, 0x0073, 0x0327, 0, | ||
2554 | 1, 0x0160, 0x0053, 0x030C, 0, | ||
2555 | 1, 0x0161, 0x0073, 0x030C, 0, | ||
2556 | 1, 0x0162, 0x0054, 0x0327, 0, | ||
2557 | 1, 0x0163, 0x0074, 0x0327, 0, | ||
2558 | 1, 0x0164, 0x0054, 0x030C, 0, | ||
2559 | 1, 0x0165, 0x0074, 0x030C, 0, | ||
2560 | 1, 0x0168, 0x0055, 0x0303, 0, | ||
2561 | 1, 0x0169, 0x0075, 0x0303, 0, | ||
2562 | 1, 0x016A, 0x0055, 0x0304, 0, | ||
2563 | 1, 0x016B, 0x0075, 0x0304, 0, | ||
2564 | 1, 0x016C, 0x0055, 0x0306, 0, | ||
2565 | 1, 0x016D, 0x0075, 0x0306, 0, | ||
2566 | 1, 0x016E, 0x0055, 0x030A, 0, | ||
2567 | 1, 0x016F, 0x0075, 0x030A, 0, | ||
2568 | 1, 0x0170, 0x0055, 0x030B, 0, | ||
2569 | 1, 0x0171, 0x0075, 0x030B, 0, | ||
2570 | 1, 0x0172, 0x0055, 0x0328, 0, | ||
2571 | 1, 0x0173, 0x0075, 0x0328, 0, | ||
2572 | 1, 0x0174, 0x0057, 0x0302, 0, | ||
2573 | 1, 0x0175, 0x0077, 0x0302, 0, | ||
2574 | 1, 0x0176, 0x0059, 0x0302, 0, | ||
2575 | 1, 0x0177, 0x0079, 0x0302, 0, | ||
2576 | 1, 0x0178, 0x0059, 0x0308, 0, | ||
2577 | 1, 0x0179, 0x005A, 0x0301, 0, | ||
2578 | 1, 0x017A, 0x007A, 0x0301, 0, | ||
2579 | 1, 0x017B, 0x005A, 0x0307, 0, | ||
2580 | 1, 0x017C, 0x007A, 0x0307, 0, | ||
2581 | 1, 0x017D, 0x005A, 0x030C, 0, | ||
2582 | 1, 0x017E, 0x007A, 0x030C, 0, | ||
2583 | 16, 0x017F, 0x0073, 0, | ||
2584 | 1, 0x01A0, 0x004F, 0x031B, 0, | ||
2585 | 1, 0x01A1, 0x006F, 0x031B, 0, | ||
2586 | 1, 0x01AF, 0x0055, 0x031B, 0, | ||
2587 | 1, 0x01B0, 0x0075, 0x031B, 0, | ||
2588 | 16, 0x01C4, 0x0044, 0x017D, 0, | ||
2589 | 16, 0x01C5, 0x0044, 0x017E, 0, | ||
2590 | 16, 0x01C6, 0x0064, 0x017E, 0, | ||
2591 | 16, 0x01C7, 0x004C, 0x004A, 0, | ||
2592 | 16, 0x01C8, 0x004C, 0x006A, 0, | ||
2593 | 16, 0x01C9, 0x006C, 0x006A, 0, | ||
2594 | 16, 0x01CA, 0x004E, 0x004A, 0, | ||
2595 | 16, 0x01CB, 0x004E, 0x006A, 0, | ||
2596 | 16, 0x01CC, 0x006E, 0x006A, 0, | ||
2597 | 1, 0x01CD, 0x0041, 0x030C, 0, | ||
2598 | 1, 0x01CE, 0x0061, 0x030C, 0, | ||
2599 | 1, 0x01CF, 0x0049, 0x030C, 0, | ||
2600 | 1, 0x01D0, 0x0069, 0x030C, 0, | ||
2601 | 1, 0x01D1, 0x004F, 0x030C, 0, | ||
2602 | 1, 0x01D2, 0x006F, 0x030C, 0, | ||
2603 | 1, 0x01D3, 0x0055, 0x030C, 0, | ||
2604 | 1, 0x01D4, 0x0075, 0x030C, 0, | ||
2605 | 1, 0x01D5, 0x00DC, 0x0304, 0, | ||
2606 | 1, 0x01D6, 0x00FC, 0x0304, 0, | ||
2607 | 1, 0x01D7, 0x00DC, 0x0301, 0, | ||
2608 | 1, 0x01D8, 0x00FC, 0x0301, 0, | ||
2609 | 1, 0x01D9, 0x00DC, 0x030C, 0, | ||
2610 | 1, 0x01DA, 0x00FC, 0x030C, 0, | ||
2611 | 1, 0x01DB, 0x00DC, 0x0300, 0, | ||
2612 | 1, 0x01DC, 0x00FC, 0x0300, 0, | ||
2613 | 1, 0x01DE, 0x00C4, 0x0304, 0, | ||
2614 | 1, 0x01DF, 0x00E4, 0x0304, 0, | ||
2615 | 1, 0x01E0, 0x0226, 0x0304, 0, | ||
2616 | 1, 0x01E1, 0x0227, 0x0304, 0, | ||
2617 | 1, 0x01E2, 0x00C6, 0x0304, 0, | ||
2618 | 1, 0x01E3, 0x00E6, 0x0304, 0, | ||
2619 | 1, 0x01E6, 0x0047, 0x030C, 0, | ||
2620 | 1, 0x01E7, 0x0067, 0x030C, 0, | ||
2621 | 1, 0x01E8, 0x004B, 0x030C, 0, | ||
2622 | 1, 0x01E9, 0x006B, 0x030C, 0, | ||
2623 | 1, 0x01EA, 0x004F, 0x0328, 0, | ||
2624 | 1, 0x01EB, 0x006F, 0x0328, 0, | ||
2625 | 1, 0x01EC, 0x01EA, 0x0304, 0, | ||
2626 | 1, 0x01ED, 0x01EB, 0x0304, 0, | ||
2627 | 1, 0x01EE, 0x01B7, 0x030C, 0, | ||
2628 | 1, 0x01EF, 0x0292, 0x030C, 0, | ||
2629 | 1, 0x01F0, 0x006A, 0x030C, 0, | ||
2630 | 16, 0x01F1, 0x0044, 0x005A, 0, | ||
2631 | 16, 0x01F2, 0x0044, 0x007A, 0, | ||
2632 | 16, 0x01F3, 0x0064, 0x007A, 0, | ||
2633 | 1, 0x01F4, 0x0047, 0x0301, 0, | ||
2634 | 1, 0x01F5, 0x0067, 0x0301, 0, | ||
2635 | 1, 0x01F8, 0x004E, 0x0300, 0, | ||
2636 | 1, 0x01F9, 0x006E, 0x0300, 0, | ||
2637 | 1, 0x01FA, 0x00C5, 0x0301, 0, | ||
2638 | 1, 0x01FB, 0x00E5, 0x0301, 0, | ||
2639 | 1, 0x01FC, 0x00C6, 0x0301, 0, | ||
2640 | 1, 0x01FD, 0x00E6, 0x0301, 0, | ||
2641 | 1, 0x01FE, 0x00D8, 0x0301, 0, | ||
2642 | 1, 0x01FF, 0x00F8, 0x0301, 0, | ||
2643 | 1, 0x0200, 0x0041, 0x030F, 0, | ||
2644 | 1, 0x0201, 0x0061, 0x030F, 0, | ||
2645 | 1, 0x0202, 0x0041, 0x0311, 0, | ||
2646 | 1, 0x0203, 0x0061, 0x0311, 0, | ||
2647 | 1, 0x0204, 0x0045, 0x030F, 0, | ||
2648 | 1, 0x0205, 0x0065, 0x030F, 0, | ||
2649 | 1, 0x0206, 0x0045, 0x0311, 0, | ||
2650 | 1, 0x0207, 0x0065, 0x0311, 0, | ||
2651 | 1, 0x0208, 0x0049, 0x030F, 0, | ||
2652 | 1, 0x0209, 0x0069, 0x030F, 0, | ||
2653 | 1, 0x020A, 0x0049, 0x0311, 0, | ||
2654 | 1, 0x020B, 0x0069, 0x0311, 0, | ||
2655 | 1, 0x020C, 0x004F, 0x030F, 0, | ||
2656 | 1, 0x020D, 0x006F, 0x030F, 0, | ||
2657 | 1, 0x020E, 0x004F, 0x0311, 0, | ||
2658 | 1, 0x020F, 0x006F, 0x0311, 0, | ||
2659 | 1, 0x0210, 0x0052, 0x030F, 0, | ||
2660 | 1, 0x0211, 0x0072, 0x030F, 0, | ||
2661 | 1, 0x0212, 0x0052, 0x0311, 0, | ||
2662 | 1, 0x0213, 0x0072, 0x0311, 0, | ||
2663 | 1, 0x0214, 0x0055, 0x030F, 0, | ||
2664 | 1, 0x0215, 0x0075, 0x030F, 0, | ||
2665 | 1, 0x0216, 0x0055, 0x0311, 0, | ||
2666 | 1, 0x0217, 0x0075, 0x0311, 0, | ||
2667 | 1, 0x0218, 0x0053, 0x0326, 0, | ||
2668 | 1, 0x0219, 0x0073, 0x0326, 0, | ||
2669 | 1, 0x021A, 0x0054, 0x0326, 0, | ||
2670 | 1, 0x021B, 0x0074, 0x0326, 0, | ||
2671 | 1, 0x021E, 0x0048, 0x030C, 0, | ||
2672 | 1, 0x021F, 0x0068, 0x030C, 0, | ||
2673 | 1, 0x0226, 0x0041, 0x0307, 0, | ||
2674 | 1, 0x0227, 0x0061, 0x0307, 0, | ||
2675 | 1, 0x0228, 0x0045, 0x0327, 0, | ||
2676 | 1, 0x0229, 0x0065, 0x0327, 0, | ||
2677 | 1, 0x022A, 0x00D6, 0x0304, 0, | ||
2678 | 1, 0x022B, 0x00F6, 0x0304, 0, | ||
2679 | 1, 0x022C, 0x00D5, 0x0304, 0, | ||
2680 | 1, 0x022D, 0x00F5, 0x0304, 0, | ||
2681 | 1, 0x022E, 0x004F, 0x0307, 0, | ||
2682 | 1, 0x022F, 0x006F, 0x0307, 0, | ||
2683 | 1, 0x0230, 0x022E, 0x0304, 0, | ||
2684 | 1, 0x0231, 0x022F, 0x0304, 0, | ||
2685 | 1, 0x0232, 0x0059, 0x0304, 0, | ||
2686 | 1, 0x0233, 0x0079, 0x0304, 0, | ||
2687 | 9, 0x02B0, 0x0068, 0, | ||
2688 | 9, 0x02B1, 0x0266, 0, | ||
2689 | 9, 0x02B2, 0x006A, 0, | ||
2690 | 9, 0x02B3, 0x0072, 0, | ||
2691 | 9, 0x02B4, 0x0279, 0, | ||
2692 | 9, 0x02B5, 0x027B, 0, | ||
2693 | 9, 0x02B6, 0x0281, 0, | ||
2694 | 9, 0x02B7, 0x0077, 0, | ||
2695 | 9, 0x02B8, 0x0079, 0, | ||
2696 | 16, 0x02D8, 0x0020, 0x0306, 0, | ||
2697 | 16, 0x02D9, 0x0020, 0x0307, 0, | ||
2698 | 16, 0x02DA, 0x0020, 0x030A, 0, | ||
2699 | 16, 0x02DB, 0x0020, 0x0328, 0, | ||
2700 | 16, 0x02DC, 0x0020, 0x0303, 0, | ||
2701 | 16, 0x02DD, 0x0020, 0x030B, 0, | ||
2702 | 9, 0x02E0, 0x0263, 0, | ||
2703 | 9, 0x02E1, 0x006C, 0, | ||
2704 | 9, 0x02E2, 0x0073, 0, | ||
2705 | 9, 0x02E3, 0x0078, 0, | ||
2706 | 9, 0x02E4, 0x0295, 0, | ||
2707 | 1, 0x0340, 0x0300, 0, | ||
2708 | 1, 0x0341, 0x0301, 0, | ||
2709 | 1, 0x0343, 0x0313, 0, | ||
2710 | 1, 0x0344, 0x0308, 0x0301, 0, | ||
2711 | 1, 0x0374, 0x02B9, 0, | ||
2712 | 16, 0x037A, 0x0020, 0x0345, 0, | ||
2713 | 1, 0x037E, 0x003B, 0, | ||
2714 | 16, 0x0384, 0x0020, 0x0301, 0, | ||
2715 | 1, 0x0385, 0x00A8, 0x0301, 0, | ||
2716 | 1, 0x0386, 0x0391, 0x0301, 0, | ||
2717 | 1, 0x0387, 0x00B7, 0, | ||
2718 | 1, 0x0388, 0x0395, 0x0301, 0, | ||
2719 | 1, 0x0389, 0x0397, 0x0301, 0, | ||
2720 | 1, 0x038A, 0x0399, 0x0301, 0, | ||
2721 | 1, 0x038C, 0x039F, 0x0301, 0, | ||
2722 | 1, 0x038E, 0x03A5, 0x0301, 0, | ||
2723 | 1, 0x038F, 0x03A9, 0x0301, 0, | ||
2724 | 1, 0x0390, 0x03CA, 0x0301, 0, | ||
2725 | 1, 0x03AA, 0x0399, 0x0308, 0, | ||
2726 | 1, 0x03AB, 0x03A5, 0x0308, 0, | ||
2727 | 1, 0x03AC, 0x03B1, 0x0301, 0, | ||
2728 | 1, 0x03AD, 0x03B5, 0x0301, 0, | ||
2729 | 1, 0x03AE, 0x03B7, 0x0301, 0, | ||
2730 | 1, 0x03AF, 0x03B9, 0x0301, 0, | ||
2731 | 1, 0x03B0, 0x03CB, 0x0301, 0, | ||
2732 | 1, 0x03CA, 0x03B9, 0x0308, 0, | ||
2733 | 1, 0x03CB, 0x03C5, 0x0308, 0, | ||
2734 | 1, 0x03CC, 0x03BF, 0x0301, 0, | ||
2735 | 1, 0x03CD, 0x03C5, 0x0301, 0, | ||
2736 | 1, 0x03CE, 0x03C9, 0x0301, 0, | ||
2737 | 16, 0x03D0, 0x03B2, 0, | ||
2738 | 16, 0x03D1, 0x03B8, 0, | ||
2739 | 16, 0x03D2, 0x03A5, 0, | ||
2740 | 1, 0x03D3, 0x03D2, 0x0301, 0, | ||
2741 | 1, 0x03D4, 0x03D2, 0x0308, 0, | ||
2742 | 16, 0x03D5, 0x03C6, 0, | ||
2743 | 16, 0x03D6, 0x03C0, 0, | ||
2744 | 16, 0x03F0, 0x03BA, 0, | ||
2745 | 16, 0x03F1, 0x03C1, 0, | ||
2746 | 16, 0x03F2, 0x03C2, 0, | ||
2747 | 16, 0x03F4, 0x0398, 0, | ||
2748 | 16, 0x03F5, 0x03B5, 0, | ||
2749 | 1, 0x0400, 0x0415, 0x0300, 0, | ||
2750 | 1, 0x0401, 0x0415, 0x0308, 0, | ||
2751 | 1, 0x0403, 0x0413, 0x0301, 0, | ||
2752 | 1, 0x0407, 0x0406, 0x0308, 0, | ||
2753 | 1, 0x040C, 0x041A, 0x0301, 0, | ||
2754 | 1, 0x040D, 0x0418, 0x0300, 0, | ||
2755 | 1, 0x040E, 0x0423, 0x0306, 0, | ||
2756 | 1, 0x0419, 0x0418, 0x0306, 0, | ||
2757 | 1, 0x0439, 0x0438, 0x0306, 0, | ||
2758 | 1, 0x0450, 0x0435, 0x0300, 0, | ||
2759 | 1, 0x0451, 0x0435, 0x0308, 0, | ||
2760 | 1, 0x0453, 0x0433, 0x0301, 0, | ||
2761 | 1, 0x0457, 0x0456, 0x0308, 0, | ||
2762 | 1, 0x045C, 0x043A, 0x0301, 0, | ||
2763 | 1, 0x045D, 0x0438, 0x0300, 0, | ||
2764 | 1, 0x045E, 0x0443, 0x0306, 0, | ||
2765 | 1, 0x0476, 0x0474, 0x030F, 0, | ||
2766 | 1, 0x0477, 0x0475, 0x030F, 0, | ||
2767 | 1, 0x04C1, 0x0416, 0x0306, 0, | ||
2768 | 1, 0x04C2, 0x0436, 0x0306, 0, | ||
2769 | 1, 0x04D0, 0x0410, 0x0306, 0, | ||
2770 | 1, 0x04D1, 0x0430, 0x0306, 0, | ||
2771 | 1, 0x04D2, 0x0410, 0x0308, 0, | ||
2772 | 1, 0x04D3, 0x0430, 0x0308, 0, | ||
2773 | 1, 0x04D6, 0x0415, 0x0306, 0, | ||
2774 | 1, 0x04D7, 0x0435, 0x0306, 0, | ||
2775 | 1, 0x04DA, 0x04D8, 0x0308, 0, | ||
2776 | 1, 0x04DB, 0x04D9, 0x0308, 0, | ||
2777 | 1, 0x04DC, 0x0416, 0x0308, 0, | ||
2778 | 1, 0x04DD, 0x0436, 0x0308, 0, | ||
2779 | 1, 0x04DE, 0x0417, 0x0308, 0, | ||
2780 | 1, 0x04DF, 0x0437, 0x0308, 0, | ||
2781 | 1, 0x04E2, 0x0418, 0x0304, 0, | ||
2782 | 1, 0x04E3, 0x0438, 0x0304, 0, | ||
2783 | 1, 0x04E4, 0x0418, 0x0308, 0, | ||
2784 | 1, 0x04E5, 0x0438, 0x0308, 0, | ||
2785 | 1, 0x04E6, 0x041E, 0x0308, 0, | ||
2786 | 1, 0x04E7, 0x043E, 0x0308, 0, | ||
2787 | 1, 0x04EA, 0x04E8, 0x0308, 0, | ||
2788 | 1, 0x04EB, 0x04E9, 0x0308, 0, | ||
2789 | 1, 0x04EC, 0x042D, 0x0308, 0, | ||
2790 | 1, 0x04ED, 0x044D, 0x0308, 0, | ||
2791 | 1, 0x04EE, 0x0423, 0x0304, 0, | ||
2792 | 1, 0x04EF, 0x0443, 0x0304, 0, | ||
2793 | 1, 0x04F0, 0x0423, 0x0308, 0, | ||
2794 | 1, 0x04F1, 0x0443, 0x0308, 0, | ||
2795 | 1, 0x04F2, 0x0423, 0x030B, 0, | ||
2796 | 1, 0x04F3, 0x0443, 0x030B, 0, | ||
2797 | 1, 0x04F4, 0x0427, 0x0308, 0, | ||
2798 | 1, 0x04F5, 0x0447, 0x0308, 0, | ||
2799 | 1, 0x04F8, 0x042B, 0x0308, 0, | ||
2800 | 1, 0x04F9, 0x044B, 0x0308, 0, | ||
2801 | 16, 0x0587, 0x0565, 0x0582, 0, | ||
2802 | 1, 0x0622, 0x0627, 0x0653, 0, | ||
2803 | 1, 0x0623, 0x0627, 0x0654, 0, | ||
2804 | 1, 0x0624, 0x0648, 0x0654, 0, | ||
2805 | 1, 0x0625, 0x0627, 0x0655, 0, | ||
2806 | 1, 0x0626, 0x064A, 0x0654, 0, | ||
2807 | 16, 0x0675, 0x0627, 0x0674, 0, | ||
2808 | 16, 0x0676, 0x0648, 0x0674, 0, | ||
2809 | 16, 0x0677, 0x06C7, 0x0674, 0, | ||
2810 | 16, 0x0678, 0x064A, 0x0674, 0, | ||
2811 | 1, 0x06C0, 0x06D5, 0x0654, 0, | ||
2812 | 1, 0x06C2, 0x06C1, 0x0654, 0, | ||
2813 | 1, 0x06D3, 0x06D2, 0x0654, 0, | ||
2814 | 1, 0x0929, 0x0928, 0x093C, 0, | ||
2815 | 1, 0x0931, 0x0930, 0x093C, 0, | ||
2816 | 1, 0x0934, 0x0933, 0x093C, 0, | ||
2817 | 1, 0x0958, 0x0915, 0x093C, 0, | ||
2818 | 1, 0x0959, 0x0916, 0x093C, 0, | ||
2819 | 1, 0x095A, 0x0917, 0x093C, 0, | ||
2820 | 1, 0x095B, 0x091C, 0x093C, 0, | ||
2821 | 1, 0x095C, 0x0921, 0x093C, 0, | ||
2822 | 1, 0x095D, 0x0922, 0x093C, 0, | ||
2823 | 1, 0x095E, 0x092B, 0x093C, 0, | ||
2824 | 1, 0x095F, 0x092F, 0x093C, 0, | ||
2825 | 1, 0x09CB, 0x09C7, 0x09BE, 0, | ||
2826 | 1, 0x09CC, 0x09C7, 0x09D7, 0, | ||
2827 | 1, 0x09DC, 0x09A1, 0x09BC, 0, | ||
2828 | 1, 0x09DD, 0x09A2, 0x09BC, 0, | ||
2829 | 1, 0x09DF, 0x09AF, 0x09BC, 0, | ||
2830 | 1, 0x0A33, 0x0A32, 0x0A3C, 0, | ||
2831 | 1, 0x0A36, 0x0A38, 0x0A3C, 0, | ||
2832 | 1, 0x0A59, 0x0A16, 0x0A3C, 0, | ||
2833 | 1, 0x0A5A, 0x0A17, 0x0A3C, 0, | ||
2834 | 1, 0x0A5B, 0x0A1C, 0x0A3C, 0, | ||
2835 | 1, 0x0A5E, 0x0A2B, 0x0A3C, 0, | ||
2836 | 1, 0x0B48, 0x0B47, 0x0B56, 0, | ||
2837 | 1, 0x0B4B, 0x0B47, 0x0B3E, 0, | ||
2838 | 1, 0x0B4C, 0x0B47, 0x0B57, 0, | ||
2839 | 1, 0x0B5C, 0x0B21, 0x0B3C, 0, | ||
2840 | 1, 0x0B5D, 0x0B22, 0x0B3C, 0, | ||
2841 | 1, 0x0B94, 0x0B92, 0x0BD7, 0, | ||
2842 | 1, 0x0BCA, 0x0BC6, 0x0BBE, 0, | ||
2843 | 1, 0x0BCB, 0x0BC7, 0x0BBE, 0, | ||
2844 | 1, 0x0BCC, 0x0BC6, 0x0BD7, 0, | ||
2845 | 1, 0x0C48, 0x0C46, 0x0C56, 0, | ||
2846 | 1, 0x0CC0, 0x0CBF, 0x0CD5, 0, | ||
2847 | 1, 0x0CC7, 0x0CC6, 0x0CD5, 0, | ||
2848 | 1, 0x0CC8, 0x0CC6, 0x0CD6, 0, | ||
2849 | 1, 0x0CCA, 0x0CC6, 0x0CC2, 0, | ||
2850 | 1, 0x0CCB, 0x0CCA, 0x0CD5, 0, | ||
2851 | 1, 0x0D4A, 0x0D46, 0x0D3E, 0, | ||
2852 | 1, 0x0D4B, 0x0D47, 0x0D3E, 0, | ||
2853 | 1, 0x0D4C, 0x0D46, 0x0D57, 0, | ||
2854 | 1, 0x0DDA, 0x0DD9, 0x0DCA, 0, | ||
2855 | 1, 0x0DDC, 0x0DD9, 0x0DCF, 0, | ||
2856 | 1, 0x0DDD, 0x0DDC, 0x0DCA, 0, | ||
2857 | 1, 0x0DDE, 0x0DD9, 0x0DDF, 0, | ||
2858 | 16, 0x0E33, 0x0E4D, 0x0E32, 0, | ||
2859 | 16, 0x0EB3, 0x0ECD, 0x0EB2, 0, | ||
2860 | 16, 0x0EDC, 0x0EAB, 0x0E99, 0, | ||
2861 | 16, 0x0EDD, 0x0EAB, 0x0EA1, 0, | ||
2862 | 3, 0x0F0C, 0x0F0B, 0, | ||
2863 | 1, 0x0F43, 0x0F42, 0x0FB7, 0, | ||
2864 | 1, 0x0F4D, 0x0F4C, 0x0FB7, 0, | ||
2865 | 1, 0x0F52, 0x0F51, 0x0FB7, 0, | ||
2866 | 1, 0x0F57, 0x0F56, 0x0FB7, 0, | ||
2867 | 1, 0x0F5C, 0x0F5B, 0x0FB7, 0, | ||
2868 | 1, 0x0F69, 0x0F40, 0x0FB5, 0, | ||
2869 | 1, 0x0F73, 0x0F71, 0x0F72, 0, | ||
2870 | 1, 0x0F75, 0x0F71, 0x0F74, 0, | ||
2871 | 1, 0x0F76, 0x0FB2, 0x0F80, 0, | ||
2872 | 16, 0x0F77, 0x0FB2, 0x0F81, 0, | ||
2873 | 1, 0x0F78, 0x0FB3, 0x0F80, 0, | ||
2874 | 16, 0x0F79, 0x0FB3, 0x0F81, 0, | ||
2875 | 1, 0x0F81, 0x0F71, 0x0F80, 0, | ||
2876 | 1, 0x0F93, 0x0F92, 0x0FB7, 0, | ||
2877 | 1, 0x0F9D, 0x0F9C, 0x0FB7, 0, | ||
2878 | 1, 0x0FA2, 0x0FA1, 0x0FB7, 0, | ||
2879 | 1, 0x0FA7, 0x0FA6, 0x0FB7, 0, | ||
2880 | 1, 0x0FAC, 0x0FAB, 0x0FB7, 0, | ||
2881 | 1, 0x0FB9, 0x0F90, 0x0FB5, 0, | ||
2882 | 1, 0x1026, 0x1025, 0x102E, 0, | ||
2883 | 1, 0x1E00, 0x0041, 0x0325, 0, | ||
2884 | 1, 0x1E01, 0x0061, 0x0325, 0, | ||
2885 | 1, 0x1E02, 0x0042, 0x0307, 0, | ||
2886 | 1, 0x1E03, 0x0062, 0x0307, 0, | ||
2887 | 1, 0x1E04, 0x0042, 0x0323, 0, | ||
2888 | 1, 0x1E05, 0x0062, 0x0323, 0, | ||
2889 | 1, 0x1E06, 0x0042, 0x0331, 0, | ||
2890 | 1, 0x1E07, 0x0062, 0x0331, 0, | ||
2891 | 1, 0x1E08, 0x00C7, 0x0301, 0, | ||
2892 | 1, 0x1E09, 0x00E7, 0x0301, 0, | ||
2893 | 1, 0x1E0A, 0x0044, 0x0307, 0, | ||
2894 | 1, 0x1E0B, 0x0064, 0x0307, 0, | ||
2895 | 1, 0x1E0C, 0x0044, 0x0323, 0, | ||
2896 | 1, 0x1E0D, 0x0064, 0x0323, 0, | ||
2897 | 1, 0x1E0E, 0x0044, 0x0331, 0, | ||
2898 | 1, 0x1E0F, 0x0064, 0x0331, 0, | ||
2899 | 1, 0x1E10, 0x0044, 0x0327, 0, | ||
2900 | 1, 0x1E11, 0x0064, 0x0327, 0, | ||
2901 | 1, 0x1E12, 0x0044, 0x032D, 0, | ||
2902 | 1, 0x1E13, 0x0064, 0x032D, 0, | ||
2903 | 1, 0x1E14, 0x0112, 0x0300, 0, | ||
2904 | 1, 0x1E15, 0x0113, 0x0300, 0, | ||
2905 | 1, 0x1E16, 0x0112, 0x0301, 0, | ||
2906 | 1, 0x1E17, 0x0113, 0x0301, 0, | ||
2907 | 1, 0x1E18, 0x0045, 0x032D, 0, | ||
2908 | 1, 0x1E19, 0x0065, 0x032D, 0, | ||
2909 | 1, 0x1E1A, 0x0045, 0x0330, 0, | ||
2910 | 1, 0x1E1B, 0x0065, 0x0330, 0, | ||
2911 | 1, 0x1E1C, 0x0228, 0x0306, 0, | ||
2912 | 1, 0x1E1D, 0x0229, 0x0306, 0, | ||
2913 | 1, 0x1E1E, 0x0046, 0x0307, 0, | ||
2914 | 1, 0x1E1F, 0x0066, 0x0307, 0, | ||
2915 | 1, 0x1E20, 0x0047, 0x0304, 0, | ||
2916 | 1, 0x1E21, 0x0067, 0x0304, 0, | ||
2917 | 1, 0x1E22, 0x0048, 0x0307, 0, | ||
2918 | 1, 0x1E23, 0x0068, 0x0307, 0, | ||
2919 | 1, 0x1E24, 0x0048, 0x0323, 0, | ||
2920 | 1, 0x1E25, 0x0068, 0x0323, 0, | ||
2921 | 1, 0x1E26, 0x0048, 0x0308, 0, | ||
2922 | 1, 0x1E27, 0x0068, 0x0308, 0, | ||
2923 | 1, 0x1E28, 0x0048, 0x0327, 0, | ||
2924 | 1, 0x1E29, 0x0068, 0x0327, 0, | ||
2925 | 1, 0x1E2A, 0x0048, 0x032E, 0, | ||
2926 | 1, 0x1E2B, 0x0068, 0x032E, 0, | ||
2927 | 1, 0x1E2C, 0x0049, 0x0330, 0, | ||
2928 | 1, 0x1E2D, 0x0069, 0x0330, 0, | ||
2929 | 1, 0x1E2E, 0x00CF, 0x0301, 0, | ||
2930 | 1, 0x1E2F, 0x00EF, 0x0301, 0, | ||
2931 | 1, 0x1E30, 0x004B, 0x0301, 0, | ||
2932 | 1, 0x1E31, 0x006B, 0x0301, 0, | ||
2933 | 1, 0x1E32, 0x004B, 0x0323, 0, | ||
2934 | 1, 0x1E33, 0x006B, 0x0323, 0, | ||
2935 | 1, 0x1E34, 0x004B, 0x0331, 0, | ||
2936 | 1, 0x1E35, 0x006B, 0x0331, 0, | ||
2937 | 1, 0x1E36, 0x004C, 0x0323, 0, | ||
2938 | 1, 0x1E37, 0x006C, 0x0323, 0, | ||
2939 | 1, 0x1E38, 0x1E36, 0x0304, 0, | ||
2940 | 1, 0x1E39, 0x1E37, 0x0304, 0, | ||
2941 | 1, 0x1E3A, 0x004C, 0x0331, 0, | ||
2942 | 1, 0x1E3B, 0x006C, 0x0331, 0, | ||
2943 | 1, 0x1E3C, 0x004C, 0x032D, 0, | ||
2944 | 1, 0x1E3D, 0x006C, 0x032D, 0, | ||
2945 | 1, 0x1E3E, 0x004D, 0x0301, 0, | ||
2946 | 1, 0x1E3F, 0x006D, 0x0301, 0, | ||
2947 | 1, 0x1E40, 0x004D, 0x0307, 0, | ||
2948 | 1, 0x1E41, 0x006D, 0x0307, 0, | ||
2949 | 1, 0x1E42, 0x004D, 0x0323, 0, | ||
2950 | 1, 0x1E43, 0x006D, 0x0323, 0, | ||
2951 | 1, 0x1E44, 0x004E, 0x0307, 0, | ||
2952 | 1, 0x1E45, 0x006E, 0x0307, 0, | ||
2953 | 1, 0x1E46, 0x004E, 0x0323, 0, | ||
2954 | 1, 0x1E47, 0x006E, 0x0323, 0, | ||
2955 | 1, 0x1E48, 0x004E, 0x0331, 0, | ||
2956 | 1, 0x1E49, 0x006E, 0x0331, 0, | ||
2957 | 1, 0x1E4A, 0x004E, 0x032D, 0, | ||
2958 | 1, 0x1E4B, 0x006E, 0x032D, 0, | ||
2959 | 1, 0x1E4C, 0x00D5, 0x0301, 0, | ||
2960 | 1, 0x1E4D, 0x00F5, 0x0301, 0, | ||
2961 | 1, 0x1E4E, 0x00D5, 0x0308, 0, | ||
2962 | 1, 0x1E4F, 0x00F5, 0x0308, 0, | ||
2963 | 1, 0x1E50, 0x014C, 0x0300, 0, | ||
2964 | 1, 0x1E51, 0x014D, 0x0300, 0, | ||
2965 | 1, 0x1E52, 0x014C, 0x0301, 0, | ||
2966 | 1, 0x1E53, 0x014D, 0x0301, 0, | ||
2967 | 1, 0x1E54, 0x0050, 0x0301, 0, | ||
2968 | 1, 0x1E55, 0x0070, 0x0301, 0, | ||
2969 | 1, 0x1E56, 0x0050, 0x0307, 0, | ||
2970 | 1, 0x1E57, 0x0070, 0x0307, 0, | ||
2971 | 1, 0x1E58, 0x0052, 0x0307, 0, | ||
2972 | 1, 0x1E59, 0x0072, 0x0307, 0, | ||
2973 | 1, 0x1E5A, 0x0052, 0x0323, 0, | ||
2974 | 1, 0x1E5B, 0x0072, 0x0323, 0, | ||
2975 | 1, 0x1E5C, 0x1E5A, 0x0304, 0, | ||
2976 | 1, 0x1E5D, 0x1E5B, 0x0304, 0, | ||
2977 | 1, 0x1E5E, 0x0052, 0x0331, 0, | ||
2978 | 1, 0x1E5F, 0x0072, 0x0331, 0, | ||
2979 | 1, 0x1E60, 0x0053, 0x0307, 0, | ||
2980 | 1, 0x1E61, 0x0073, 0x0307, 0, | ||
2981 | 1, 0x1E62, 0x0053, 0x0323, 0, | ||
2982 | 1, 0x1E63, 0x0073, 0x0323, 0, | ||
2983 | 1, 0x1E64, 0x015A, 0x0307, 0, | ||
2984 | 1, 0x1E65, 0x015B, 0x0307, 0, | ||
2985 | 1, 0x1E66, 0x0160, 0x0307, 0, | ||
2986 | 1, 0x1E67, 0x0161, 0x0307, 0, | ||
2987 | 1, 0x1E68, 0x1E62, 0x0307, 0, | ||
2988 | 1, 0x1E69, 0x1E63, 0x0307, 0, | ||
2989 | 1, 0x1E6A, 0x0054, 0x0307, 0, | ||
2990 | 1, 0x1E6B, 0x0074, 0x0307, 0, | ||
2991 | 1, 0x1E6C, 0x0054, 0x0323, 0, | ||
2992 | 1, 0x1E6D, 0x0074, 0x0323, 0, | ||
2993 | 1, 0x1E6E, 0x0054, 0x0331, 0, | ||
2994 | 1, 0x1E6F, 0x0074, 0x0331, 0, | ||
2995 | 1, 0x1E70, 0x0054, 0x032D, 0, | ||
2996 | 1, 0x1E71, 0x0074, 0x032D, 0, | ||
2997 | 1, 0x1E72, 0x0055, 0x0324, 0, | ||
2998 | 1, 0x1E73, 0x0075, 0x0324, 0, | ||
2999 | 1, 0x1E74, 0x0055, 0x0330, 0, | ||
3000 | 1, 0x1E75, 0x0075, 0x0330, 0, | ||
3001 | 1, 0x1E76, 0x0055, 0x032D, 0, | ||
3002 | 1, 0x1E77, 0x0075, 0x032D, 0, | ||
3003 | 1, 0x1E78, 0x0168, 0x0301, 0, | ||
3004 | 1, 0x1E79, 0x0169, 0x0301, 0, | ||
3005 | 1, 0x1E7A, 0x016A, 0x0308, 0, | ||
3006 | 1, 0x1E7B, 0x016B, 0x0308, 0, | ||
3007 | 1, 0x1E7C, 0x0056, 0x0303, 0, | ||
3008 | 1, 0x1E7D, 0x0076, 0x0303, 0, | ||
3009 | 1, 0x1E7E, 0x0056, 0x0323, 0, | ||
3010 | 1, 0x1E7F, 0x0076, 0x0323, 0, | ||
3011 | 1, 0x1E80, 0x0057, 0x0300, 0, | ||
3012 | 1, 0x1E81, 0x0077, 0x0300, 0, | ||
3013 | 1, 0x1E82, 0x0057, 0x0301, 0, | ||
3014 | 1, 0x1E83, 0x0077, 0x0301, 0, | ||
3015 | 1, 0x1E84, 0x0057, 0x0308, 0, | ||
3016 | 1, 0x1E85, 0x0077, 0x0308, 0, | ||
3017 | 1, 0x1E86, 0x0057, 0x0307, 0, | ||
3018 | 1, 0x1E87, 0x0077, 0x0307, 0, | ||
3019 | 1, 0x1E88, 0x0057, 0x0323, 0, | ||
3020 | 1, 0x1E89, 0x0077, 0x0323, 0, | ||
3021 | 1, 0x1E8A, 0x0058, 0x0307, 0, | ||
3022 | 1, 0x1E8B, 0x0078, 0x0307, 0, | ||
3023 | 1, 0x1E8C, 0x0058, 0x0308, 0, | ||
3024 | 1, 0x1E8D, 0x0078, 0x0308, 0, | ||
3025 | 1, 0x1E8E, 0x0059, 0x0307, 0, | ||
3026 | 1, 0x1E8F, 0x0079, 0x0307, 0, | ||
3027 | 1, 0x1E90, 0x005A, 0x0302, 0, | ||
3028 | 1, 0x1E91, 0x007A, 0x0302, 0, | ||
3029 | 1, 0x1E92, 0x005A, 0x0323, 0, | ||
3030 | 1, 0x1E93, 0x007A, 0x0323, 0, | ||
3031 | 1, 0x1E94, 0x005A, 0x0331, 0, | ||
3032 | 1, 0x1E95, 0x007A, 0x0331, 0, | ||
3033 | 1, 0x1E96, 0x0068, 0x0331, 0, | ||
3034 | 1, 0x1E97, 0x0074, 0x0308, 0, | ||
3035 | 1, 0x1E98, 0x0077, 0x030A, 0, | ||
3036 | 1, 0x1E99, 0x0079, 0x030A, 0, | ||
3037 | 16, 0x1E9A, 0x0061, 0x02BE, 0, | ||
3038 | 1, 0x1E9B, 0x017F, 0x0307, 0, | ||
3039 | 1, 0x1EA0, 0x0041, 0x0323, 0, | ||
3040 | 1, 0x1EA1, 0x0061, 0x0323, 0, | ||
3041 | 1, 0x1EA2, 0x0041, 0x0309, 0, | ||
3042 | 1, 0x1EA3, 0x0061, 0x0309, 0, | ||
3043 | 1, 0x1EA4, 0x00C2, 0x0301, 0, | ||
3044 | 1, 0x1EA5, 0x00E2, 0x0301, 0, | ||
3045 | 1, 0x1EA6, 0x00C2, 0x0300, 0, | ||
3046 | 1, 0x1EA7, 0x00E2, 0x0300, 0, | ||
3047 | 1, 0x1EA8, 0x00C2, 0x0309, 0, | ||
3048 | 1, 0x1EA9, 0x00E2, 0x0309, 0, | ||
3049 | 1, 0x1EAA, 0x00C2, 0x0303, 0, | ||
3050 | 1, 0x1EAB, 0x00E2, 0x0303, 0, | ||
3051 | 1, 0x1EAC, 0x1EA0, 0x0302, 0, | ||
3052 | 1, 0x1EAD, 0x1EA1, 0x0302, 0, | ||
3053 | 1, 0x1EAE, 0x0102, 0x0301, 0, | ||
3054 | 1, 0x1EAF, 0x0103, 0x0301, 0, | ||
3055 | 1, 0x1EB0, 0x0102, 0x0300, 0, | ||
3056 | 1, 0x1EB1, 0x0103, 0x0300, 0, | ||
3057 | 1, 0x1EB2, 0x0102, 0x0309, 0, | ||
3058 | 1, 0x1EB3, 0x0103, 0x0309, 0, | ||
3059 | 1, 0x1EB4, 0x0102, 0x0303, 0, | ||
3060 | 1, 0x1EB5, 0x0103, 0x0303, 0, | ||
3061 | 1, 0x1EB6, 0x1EA0, 0x0306, 0, | ||
3062 | 1, 0x1EB7, 0x1EA1, 0x0306, 0, | ||
3063 | 1, 0x1EB8, 0x0045, 0x0323, 0, | ||
3064 | 1, 0x1EB9, 0x0065, 0x0323, 0, | ||
3065 | 1, 0x1EBA, 0x0045, 0x0309, 0, | ||
3066 | 1, 0x1EBB, 0x0065, 0x0309, 0, | ||
3067 | 1, 0x1EBC, 0x0045, 0x0303, 0, | ||
3068 | 1, 0x1EBD, 0x0065, 0x0303, 0, | ||
3069 | 1, 0x1EBE, 0x00CA, 0x0301, 0, | ||
3070 | 1, 0x1EBF, 0x00EA, 0x0301, 0, | ||
3071 | 1, 0x1EC0, 0x00CA, 0x0300, 0, | ||
3072 | 1, 0x1EC1, 0x00EA, 0x0300, 0, | ||
3073 | 1, 0x1EC2, 0x00CA, 0x0309, 0, | ||
3074 | 1, 0x1EC3, 0x00EA, 0x0309, 0, | ||
3075 | 1, 0x1EC4, 0x00CA, 0x0303, 0, | ||
3076 | 1, 0x1EC5, 0x00EA, 0x0303, 0, | ||
3077 | 1, 0x1EC6, 0x1EB8, 0x0302, 0, | ||
3078 | 1, 0x1EC7, 0x1EB9, 0x0302, 0, | ||
3079 | 1, 0x1EC8, 0x0049, 0x0309, 0, | ||
3080 | 1, 0x1EC9, 0x0069, 0x0309, 0, | ||
3081 | 1, 0x1ECA, 0x0049, 0x0323, 0, | ||
3082 | 1, 0x1ECB, 0x0069, 0x0323, 0, | ||
3083 | 1, 0x1ECC, 0x004F, 0x0323, 0, | ||
3084 | 1, 0x1ECD, 0x006F, 0x0323, 0, | ||
3085 | 1, 0x1ECE, 0x004F, 0x0309, 0, | ||
3086 | 1, 0x1ECF, 0x006F, 0x0309, 0, | ||
3087 | 1, 0x1ED0, 0x00D4, 0x0301, 0, | ||
3088 | 1, 0x1ED1, 0x00F4, 0x0301, 0, | ||
3089 | 1, 0x1ED2, 0x00D4, 0x0300, 0, | ||
3090 | 1, 0x1ED3, 0x00F4, 0x0300, 0, | ||
3091 | 1, 0x1ED4, 0x00D4, 0x0309, 0, | ||
3092 | 1, 0x1ED5, 0x00F4, 0x0309, 0, | ||
3093 | 1, 0x1ED6, 0x00D4, 0x0303, 0, | ||
3094 | 1, 0x1ED7, 0x00F4, 0x0303, 0, | ||
3095 | 1, 0x1ED8, 0x1ECC, 0x0302, 0, | ||
3096 | 1, 0x1ED9, 0x1ECD, 0x0302, 0, | ||
3097 | 1, 0x1EDA, 0x01A0, 0x0301, 0, | ||
3098 | 1, 0x1EDB, 0x01A1, 0x0301, 0, | ||
3099 | 1, 0x1EDC, 0x01A0, 0x0300, 0, | ||
3100 | 1, 0x1EDD, 0x01A1, 0x0300, 0, | ||
3101 | 1, 0x1EDE, 0x01A0, 0x0309, 0, | ||
3102 | 1, 0x1EDF, 0x01A1, 0x0309, 0, | ||
3103 | 1, 0x1EE0, 0x01A0, 0x0303, 0, | ||
3104 | 1, 0x1EE1, 0x01A1, 0x0303, 0, | ||
3105 | 1, 0x1EE2, 0x01A0, 0x0323, 0, | ||
3106 | 1, 0x1EE3, 0x01A1, 0x0323, 0, | ||
3107 | 1, 0x1EE4, 0x0055, 0x0323, 0, | ||
3108 | 1, 0x1EE5, 0x0075, 0x0323, 0, | ||
3109 | 1, 0x1EE6, 0x0055, 0x0309, 0, | ||
3110 | 1, 0x1EE7, 0x0075, 0x0309, 0, | ||
3111 | 1, 0x1EE8, 0x01AF, 0x0301, 0, | ||
3112 | 1, 0x1EE9, 0x01B0, 0x0301, 0, | ||
3113 | 1, 0x1EEA, 0x01AF, 0x0300, 0, | ||
3114 | 1, 0x1EEB, 0x01B0, 0x0300, 0, | ||
3115 | 1, 0x1EEC, 0x01AF, 0x0309, 0, | ||
3116 | 1, 0x1EED, 0x01B0, 0x0309, 0, | ||
3117 | 1, 0x1EEE, 0x01AF, 0x0303, 0, | ||
3118 | 1, 0x1EEF, 0x01B0, 0x0303, 0, | ||
3119 | 1, 0x1EF0, 0x01AF, 0x0323, 0, | ||
3120 | 1, 0x1EF1, 0x01B0, 0x0323, 0, | ||
3121 | 1, 0x1EF2, 0x0059, 0x0300, 0, | ||
3122 | 1, 0x1EF3, 0x0079, 0x0300, 0, | ||
3123 | 1, 0x1EF4, 0x0059, 0x0323, 0, | ||
3124 | 1, 0x1EF5, 0x0079, 0x0323, 0, | ||
3125 | 1, 0x1EF6, 0x0059, 0x0309, 0, | ||
3126 | 1, 0x1EF7, 0x0079, 0x0309, 0, | ||
3127 | 1, 0x1EF8, 0x0059, 0x0303, 0, | ||
3128 | 1, 0x1EF9, 0x0079, 0x0303, 0, | ||
3129 | 1, 0x1F00, 0x03B1, 0x0313, 0, | ||
3130 | 1, 0x1F01, 0x03B1, 0x0314, 0, | ||
3131 | 1, 0x1F02, 0x1F00, 0x0300, 0, | ||
3132 | 1, 0x1F03, 0x1F01, 0x0300, 0, | ||
3133 | 1, 0x1F04, 0x1F00, 0x0301, 0, | ||
3134 | 1, 0x1F05, 0x1F01, 0x0301, 0, | ||
3135 | 1, 0x1F06, 0x1F00, 0x0342, 0, | ||
3136 | 1, 0x1F07, 0x1F01, 0x0342, 0, | ||
3137 | 1, 0x1F08, 0x0391, 0x0313, 0, | ||
3138 | 1, 0x1F09, 0x0391, 0x0314, 0, | ||
3139 | 1, 0x1F0A, 0x1F08, 0x0300, 0, | ||
3140 | 1, 0x1F0B, 0x1F09, 0x0300, 0, | ||
3141 | 1, 0x1F0C, 0x1F08, 0x0301, 0, | ||
3142 | 1, 0x1F0D, 0x1F09, 0x0301, 0, | ||
3143 | 1, 0x1F0E, 0x1F08, 0x0342, 0, | ||
3144 | 1, 0x1F0F, 0x1F09, 0x0342, 0, | ||
3145 | 1, 0x1F10, 0x03B5, 0x0313, 0, | ||
3146 | 1, 0x1F11, 0x03B5, 0x0314, 0, | ||
3147 | 1, 0x1F12, 0x1F10, 0x0300, 0, | ||
3148 | 1, 0x1F13, 0x1F11, 0x0300, 0, | ||
3149 | 1, 0x1F14, 0x1F10, 0x0301, 0, | ||
3150 | 1, 0x1F15, 0x1F11, 0x0301, 0, | ||
3151 | 1, 0x1F18, 0x0395, 0x0313, 0, | ||
3152 | 1, 0x1F19, 0x0395, 0x0314, 0, | ||
3153 | 1, 0x1F1A, 0x1F18, 0x0300, 0, | ||
3154 | 1, 0x1F1B, 0x1F19, 0x0300, 0, | ||
3155 | 1, 0x1F1C, 0x1F18, 0x0301, 0, | ||
3156 | 1, 0x1F1D, 0x1F19, 0x0301, 0, | ||
3157 | 1, 0x1F20, 0x03B7, 0x0313, 0, | ||
3158 | 1, 0x1F21, 0x03B7, 0x0314, 0, | ||
3159 | 1, 0x1F22, 0x1F20, 0x0300, 0, | ||
3160 | 1, 0x1F23, 0x1F21, 0x0300, 0, | ||
3161 | 1, 0x1F24, 0x1F20, 0x0301, 0, | ||
3162 | 1, 0x1F25, 0x1F21, 0x0301, 0, | ||
3163 | 1, 0x1F26, 0x1F20, 0x0342, 0, | ||
3164 | 1, 0x1F27, 0x1F21, 0x0342, 0, | ||
3165 | 1, 0x1F28, 0x0397, 0x0313, 0, | ||
3166 | 1, 0x1F29, 0x0397, 0x0314, 0, | ||
3167 | 1, 0x1F2A, 0x1F28, 0x0300, 0, | ||
3168 | 1, 0x1F2B, 0x1F29, 0x0300, 0, | ||
3169 | 1, 0x1F2C, 0x1F28, 0x0301, 0, | ||
3170 | 1, 0x1F2D, 0x1F29, 0x0301, 0, | ||
3171 | 1, 0x1F2E, 0x1F28, 0x0342, 0, | ||
3172 | 1, 0x1F2F, 0x1F29, 0x0342, 0, | ||
3173 | 1, 0x1F30, 0x03B9, 0x0313, 0, | ||
3174 | 1, 0x1F31, 0x03B9, 0x0314, 0, | ||
3175 | 1, 0x1F32, 0x1F30, 0x0300, 0, | ||
3176 | 1, 0x1F33, 0x1F31, 0x0300, 0, | ||
3177 | 1, 0x1F34, 0x1F30, 0x0301, 0, | ||
3178 | 1, 0x1F35, 0x1F31, 0x0301, 0, | ||
3179 | 1, 0x1F36, 0x1F30, 0x0342, 0, | ||
3180 | 1, 0x1F37, 0x1F31, 0x0342, 0, | ||
3181 | 1, 0x1F38, 0x0399, 0x0313, 0, | ||
3182 | 1, 0x1F39, 0x0399, 0x0314, 0, | ||
3183 | 1, 0x1F3A, 0x1F38, 0x0300, 0, | ||
3184 | 1, 0x1F3B, 0x1F39, 0x0300, 0, | ||
3185 | 1, 0x1F3C, 0x1F38, 0x0301, 0, | ||
3186 | 1, 0x1F3D, 0x1F39, 0x0301, 0, | ||
3187 | 1, 0x1F3E, 0x1F38, 0x0342, 0, | ||
3188 | 1, 0x1F3F, 0x1F39, 0x0342, 0, | ||
3189 | 1, 0x1F40, 0x03BF, 0x0313, 0, | ||
3190 | 1, 0x1F41, 0x03BF, 0x0314, 0, | ||
3191 | 1, 0x1F42, 0x1F40, 0x0300, 0, | ||
3192 | 1, 0x1F43, 0x1F41, 0x0300, 0, | ||
3193 | 1, 0x1F44, 0x1F40, 0x0301, 0, | ||
3194 | 1, 0x1F45, 0x1F41, 0x0301, 0, | ||
3195 | 1, 0x1F48, 0x039F, 0x0313, 0, | ||
3196 | 1, 0x1F49, 0x039F, 0x0314, 0, | ||
3197 | 1, 0x1F4A, 0x1F48, 0x0300, 0, | ||
3198 | 1, 0x1F4B, 0x1F49, 0x0300, 0, | ||
3199 | 1, 0x1F4C, 0x1F48, 0x0301, 0, | ||
3200 | 1, 0x1F4D, 0x1F49, 0x0301, 0, | ||
3201 | 1, 0x1F50, 0x03C5, 0x0313, 0, | ||
3202 | 1, 0x1F51, 0x03C5, 0x0314, 0, | ||
3203 | 1, 0x1F52, 0x1F50, 0x0300, 0, | ||
3204 | 1, 0x1F53, 0x1F51, 0x0300, 0, | ||
3205 | 1, 0x1F54, 0x1F50, 0x0301, 0, | ||
3206 | 1, 0x1F55, 0x1F51, 0x0301, 0, | ||
3207 | 1, 0x1F56, 0x1F50, 0x0342, 0, | ||
3208 | 1, 0x1F57, 0x1F51, 0x0342, 0, | ||
3209 | 1, 0x1F59, 0x03A5, 0x0314, 0, | ||
3210 | 1, 0x1F5B, 0x1F59, 0x0300, 0, | ||
3211 | 1, 0x1F5D, 0x1F59, 0x0301, 0, | ||
3212 | 1, 0x1F5F, 0x1F59, 0x0342, 0, | ||
3213 | 1, 0x1F60, 0x03C9, 0x0313, 0, | ||
3214 | 1, 0x1F61, 0x03C9, 0x0314, 0, | ||
3215 | 1, 0x1F62, 0x1F60, 0x0300, 0, | ||
3216 | 1, 0x1F63, 0x1F61, 0x0300, 0, | ||
3217 | 1, 0x1F64, 0x1F60, 0x0301, 0, | ||
3218 | 1, 0x1F65, 0x1F61, 0x0301, 0, | ||
3219 | 1, 0x1F66, 0x1F60, 0x0342, 0, | ||
3220 | 1, 0x1F67, 0x1F61, 0x0342, 0, | ||
3221 | 1, 0x1F68, 0x03A9, 0x0313, 0, | ||
3222 | 1, 0x1F69, 0x03A9, 0x0314, 0, | ||
3223 | 1, 0x1F6A, 0x1F68, 0x0300, 0, | ||
3224 | 1, 0x1F6B, 0x1F69, 0x0300, 0, | ||
3225 | 1, 0x1F6C, 0x1F68, 0x0301, 0, | ||
3226 | 1, 0x1F6D, 0x1F69, 0x0301, 0, | ||
3227 | 1, 0x1F6E, 0x1F68, 0x0342, 0, | ||
3228 | 1, 0x1F6F, 0x1F69, 0x0342, 0, | ||
3229 | 1, 0x1F70, 0x03B1, 0x0300, 0, | ||
3230 | 1, 0x1F71, 0x03AC, 0, | ||
3231 | 1, 0x1F72, 0x03B5, 0x0300, 0, | ||
3232 | 1, 0x1F73, 0x03AD, 0, | ||
3233 | 1, 0x1F74, 0x03B7, 0x0300, 0, | ||
3234 | 1, 0x1F75, 0x03AE, 0, | ||
3235 | 1, 0x1F76, 0x03B9, 0x0300, 0, | ||
3236 | 1, 0x1F77, 0x03AF, 0, | ||
3237 | 1, 0x1F78, 0x03BF, 0x0300, 0, | ||
3238 | 1, 0x1F79, 0x03CC, 0, | ||
3239 | 1, 0x1F7A, 0x03C5, 0x0300, 0, | ||
3240 | 1, 0x1F7B, 0x03CD, 0, | ||
3241 | 1, 0x1F7C, 0x03C9, 0x0300, 0, | ||
3242 | 1, 0x1F7D, 0x03CE, 0, | ||
3243 | 1, 0x1F80, 0x1F00, 0x0345, 0, | ||
3244 | 1, 0x1F81, 0x1F01, 0x0345, 0, | ||
3245 | 1, 0x1F82, 0x1F02, 0x0345, 0, | ||
3246 | 1, 0x1F83, 0x1F03, 0x0345, 0, | ||
3247 | 1, 0x1F84, 0x1F04, 0x0345, 0, | ||
3248 | 1, 0x1F85, 0x1F05, 0x0345, 0, | ||
3249 | 1, 0x1F86, 0x1F06, 0x0345, 0, | ||
3250 | 1, 0x1F87, 0x1F07, 0x0345, 0, | ||
3251 | 1, 0x1F88, 0x1F08, 0x0345, 0, | ||
3252 | 1, 0x1F89, 0x1F09, 0x0345, 0, | ||
3253 | 1, 0x1F8A, 0x1F0A, 0x0345, 0, | ||
3254 | 1, 0x1F8B, 0x1F0B, 0x0345, 0, | ||
3255 | 1, 0x1F8C, 0x1F0C, 0x0345, 0, | ||
3256 | 1, 0x1F8D, 0x1F0D, 0x0345, 0, | ||
3257 | 1, 0x1F8E, 0x1F0E, 0x0345, 0, | ||
3258 | 1, 0x1F8F, 0x1F0F, 0x0345, 0, | ||
3259 | 1, 0x1F90, 0x1F20, 0x0345, 0, | ||
3260 | 1, 0x1F91, 0x1F21, 0x0345, 0, | ||
3261 | 1, 0x1F92, 0x1F22, 0x0345, 0, | ||
3262 | 1, 0x1F93, 0x1F23, 0x0345, 0, | ||
3263 | 1, 0x1F94, 0x1F24, 0x0345, 0, | ||
3264 | 1, 0x1F95, 0x1F25, 0x0345, 0, | ||
3265 | 1, 0x1F96, 0x1F26, 0x0345, 0, | ||
3266 | 1, 0x1F97, 0x1F27, 0x0345, 0, | ||
3267 | 1, 0x1F98, 0x1F28, 0x0345, 0, | ||
3268 | 1, 0x1F99, 0x1F29, 0x0345, 0, | ||
3269 | 1, 0x1F9A, 0x1F2A, 0x0345, 0, | ||
3270 | 1, 0x1F9B, 0x1F2B, 0x0345, 0, | ||
3271 | 1, 0x1F9C, 0x1F2C, 0x0345, 0, | ||
3272 | 1, 0x1F9D, 0x1F2D, 0x0345, 0, | ||
3273 | 1, 0x1F9E, 0x1F2E, 0x0345, 0, | ||
3274 | 1, 0x1F9F, 0x1F2F, 0x0345, 0, | ||
3275 | 1, 0x1FA0, 0x1F60, 0x0345, 0, | ||
3276 | 1, 0x1FA1, 0x1F61, 0x0345, 0, | ||
3277 | 1, 0x1FA2, 0x1F62, 0x0345, 0, | ||
3278 | 1, 0x1FA3, 0x1F63, 0x0345, 0, | ||
3279 | 1, 0x1FA4, 0x1F64, 0x0345, 0, | ||
3280 | 1, 0x1FA5, 0x1F65, 0x0345, 0, | ||
3281 | 1, 0x1FA6, 0x1F66, 0x0345, 0, | ||
3282 | 1, 0x1FA7, 0x1F67, 0x0345, 0, | ||
3283 | 1, 0x1FA8, 0x1F68, 0x0345, 0, | ||
3284 | 1, 0x1FA9, 0x1F69, 0x0345, 0, | ||
3285 | 1, 0x1FAA, 0x1F6A, 0x0345, 0, | ||
3286 | 1, 0x1FAB, 0x1F6B, 0x0345, 0, | ||
3287 | 1, 0x1FAC, 0x1F6C, 0x0345, 0, | ||
3288 | 1, 0x1FAD, 0x1F6D, 0x0345, 0, | ||
3289 | 1, 0x1FAE, 0x1F6E, 0x0345, 0, | ||
3290 | 1, 0x1FAF, 0x1F6F, 0x0345, 0, | ||
3291 | 1, 0x1FB0, 0x03B1, 0x0306, 0, | ||
3292 | 1, 0x1FB1, 0x03B1, 0x0304, 0, | ||
3293 | 1, 0x1FB2, 0x1F70, 0x0345, 0, | ||
3294 | 1, 0x1FB3, 0x03B1, 0x0345, 0, | ||
3295 | 1, 0x1FB4, 0x03AC, 0x0345, 0, | ||
3296 | 1, 0x1FB6, 0x03B1, 0x0342, 0, | ||
3297 | 1, 0x1FB7, 0x1FB6, 0x0345, 0, | ||
3298 | 1, 0x1FB8, 0x0391, 0x0306, 0, | ||
3299 | 1, 0x1FB9, 0x0391, 0x0304, 0, | ||
3300 | 1, 0x1FBA, 0x0391, 0x0300, 0, | ||
3301 | 1, 0x1FBB, 0x0386, 0, | ||
3302 | 1, 0x1FBC, 0x0391, 0x0345, 0, | ||
3303 | 16, 0x1FBD, 0x0020, 0x0313, 0, | ||
3304 | 1, 0x1FBE, 0x03B9, 0, | ||
3305 | 16, 0x1FBF, 0x0020, 0x0313, 0, | ||
3306 | 16, 0x1FC0, 0x0020, 0x0342, 0, | ||
3307 | 1, 0x1FC1, 0x00A8, 0x0342, 0, | ||
3308 | 1, 0x1FC2, 0x1F74, 0x0345, 0, | ||
3309 | 1, 0x1FC3, 0x03B7, 0x0345, 0, | ||
3310 | 1, 0x1FC4, 0x03AE, 0x0345, 0, | ||
3311 | 1, 0x1FC6, 0x03B7, 0x0342, 0, | ||
3312 | 1, 0x1FC7, 0x1FC6, 0x0345, 0, | ||
3313 | 1, 0x1FC8, 0x0395, 0x0300, 0, | ||
3314 | 1, 0x1FC9, 0x0388, 0, | ||
3315 | 1, 0x1FCA, 0x0397, 0x0300, 0, | ||
3316 | 1, 0x1FCB, 0x0389, 0, | ||
3317 | 1, 0x1FCC, 0x0397, 0x0345, 0, | ||
3318 | 1, 0x1FCD, 0x1FBF, 0x0300, 0, | ||
3319 | 1, 0x1FCE, 0x1FBF, 0x0301, 0, | ||
3320 | 1, 0x1FCF, 0x1FBF, 0x0342, 0, | ||
3321 | 1, 0x1FD0, 0x03B9, 0x0306, 0, | ||
3322 | 1, 0x1FD1, 0x03B9, 0x0304, 0, | ||
3323 | 1, 0x1FD2, 0x03CA, 0x0300, 0, | ||
3324 | 1, 0x1FD3, 0x0390, 0, | ||
3325 | 1, 0x1FD6, 0x03B9, 0x0342, 0, | ||
3326 | 1, 0x1FD7, 0x03CA, 0x0342, 0, | ||
3327 | 1, 0x1FD8, 0x0399, 0x0306, 0, | ||
3328 | 1, 0x1FD9, 0x0399, 0x0304, 0, | ||
3329 | 1, 0x1FDA, 0x0399, 0x0300, 0, | ||
3330 | 1, 0x1FDB, 0x038A, 0, | ||
3331 | 1, 0x1FDD, 0x1FFE, 0x0300, 0, | ||
3332 | 1, 0x1FDE, 0x1FFE, 0x0301, 0, | ||
3333 | 1, 0x1FDF, 0x1FFE, 0x0342, 0, | ||
3334 | 1, 0x1FE0, 0x03C5, 0x0306, 0, | ||
3335 | 1, 0x1FE1, 0x03C5, 0x0304, 0, | ||
3336 | 1, 0x1FE2, 0x03CB, 0x0300, 0, | ||
3337 | 1, 0x1FE3, 0x03B0, 0, | ||
3338 | 1, 0x1FE4, 0x03C1, 0x0313, 0, | ||
3339 | 1, 0x1FE5, 0x03C1, 0x0314, 0, | ||
3340 | 1, 0x1FE6, 0x03C5, 0x0342, 0, | ||
3341 | 1, 0x1FE7, 0x03CB, 0x0342, 0, | ||
3342 | 1, 0x1FE8, 0x03A5, 0x0306, 0, | ||
3343 | 1, 0x1FE9, 0x03A5, 0x0304, 0, | ||
3344 | 1, 0x1FEA, 0x03A5, 0x0300, 0, | ||
3345 | 1, 0x1FEB, 0x038E, 0, | ||
3346 | 1, 0x1FEC, 0x03A1, 0x0314, 0, | ||
3347 | 1, 0x1FED, 0x00A8, 0x0300, 0, | ||
3348 | 1, 0x1FEE, 0x0385, 0, | ||
3349 | 1, 0x1FEF, 0x0060, 0, | ||
3350 | 1, 0x1FF2, 0x1F7C, 0x0345, 0, | ||
3351 | 1, 0x1FF3, 0x03C9, 0x0345, 0, | ||
3352 | 1, 0x1FF4, 0x03CE, 0x0345, 0, | ||
3353 | 1, 0x1FF6, 0x03C9, 0x0342, 0, | ||
3354 | 1, 0x1FF7, 0x1FF6, 0x0345, 0, | ||
3355 | 1, 0x1FF8, 0x039F, 0x0300, 0, | ||
3356 | 1, 0x1FF9, 0x038C, 0, | ||
3357 | 1, 0x1FFA, 0x03A9, 0x0300, 0, | ||
3358 | 1, 0x1FFB, 0x038F, 0, | ||
3359 | 1, 0x1FFC, 0x03A9, 0x0345, 0, | ||
3360 | 1, 0x1FFD, 0x00B4, 0, | ||
3361 | 16, 0x1FFE, 0x0020, 0x0314, 0, | ||
3362 | 1, 0x2000, 0x2002, 0, | ||
3363 | 1, 0x2001, 0x2003, 0, | ||
3364 | 16, 0x2002, 0x0020, 0, | ||
3365 | 16, 0x2003, 0x0020, 0, | ||
3366 | 16, 0x2004, 0x0020, 0, | ||
3367 | 16, 0x2005, 0x0020, 0, | ||
3368 | 16, 0x2006, 0x0020, 0, | ||
3369 | 3, 0x2007, 0x0020, 0, | ||
3370 | 16, 0x2008, 0x0020, 0, | ||
3371 | 16, 0x2009, 0x0020, 0, | ||
3372 | 16, 0x200A, 0x0020, 0, | ||
3373 | 3, 0x2011, 0x2010, 0, | ||
3374 | 16, 0x2017, 0x0020, 0x0333, 0, | ||
3375 | 16, 0x2024, 0x002E, 0, | ||
3376 | 16, 0x2025, 0x002E, 0x002E, 0, | ||
3377 | 16, 0x2026, 0x002E, 0x002E, 0x002E, 0, | ||
3378 | 3, 0x202F, 0x0020, 0, | ||
3379 | 16, 0x2033, 0x2032, 0x2032, 0, | ||
3380 | 16, 0x2034, 0x2032, 0x2032, 0x2032, 0, | ||
3381 | 16, 0x2036, 0x2035, 0x2035, 0, | ||
3382 | 16, 0x2037, 0x2035, 0x2035, 0x2035, 0, | ||
3383 | 16, 0x203C, 0x0021, 0x0021, 0, | ||
3384 | 16, 0x203E, 0x0020, 0x0305, 0, | ||
3385 | 16, 0x2047, 0x003F, 0x003F, 0, | ||
3386 | 16, 0x2048, 0x003F, 0x0021, 0, | ||
3387 | 16, 0x2049, 0x0021, 0x003F, 0, | ||
3388 | 16, 0x2057, 0x2032, 0x2032, 0x2032, 0x2032, 0, | ||
3389 | 16, 0x205F, 0x0020, 0, | ||
3390 | 9, 0x2070, 0x0030, 0, | ||
3391 | 9, 0x2071, 0x0069, 0, | ||
3392 | 9, 0x2074, 0x0034, 0, | ||
3393 | 9, 0x2075, 0x0035, 0, | ||
3394 | 9, 0x2076, 0x0036, 0, | ||
3395 | 9, 0x2077, 0x0037, 0, | ||
3396 | 9, 0x2078, 0x0038, 0, | ||
3397 | 9, 0x2079, 0x0039, 0, | ||
3398 | 9, 0x207A, 0x002B, 0, | ||
3399 | 9, 0x207B, 0x2212, 0, | ||
3400 | 9, 0x207C, 0x003D, 0, | ||
3401 | 9, 0x207D, 0x0028, 0, | ||
3402 | 9, 0x207E, 0x0029, 0, | ||
3403 | 9, 0x207F, 0x006E, 0, | ||
3404 | 10, 0x2080, 0x0030, 0, | ||
3405 | 10, 0x2081, 0x0031, 0, | ||
3406 | 10, 0x2082, 0x0032, 0, | ||
3407 | 10, 0x2083, 0x0033, 0, | ||
3408 | 10, 0x2084, 0x0034, 0, | ||
3409 | 10, 0x2085, 0x0035, 0, | ||
3410 | 10, 0x2086, 0x0036, 0, | ||
3411 | 10, 0x2087, 0x0037, 0, | ||
3412 | 10, 0x2088, 0x0038, 0, | ||
3413 | 10, 0x2089, 0x0039, 0, | ||
3414 | 10, 0x208A, 0x002B, 0, | ||
3415 | 10, 0x208B, 0x2212, 0, | ||
3416 | 10, 0x208C, 0x003D, 0, | ||
3417 | 10, 0x208D, 0x0028, 0, | ||
3418 | 10, 0x208E, 0x0029, 0, | ||
3419 | 16, 0x20A8, 0x0052, 0x0073, 0, | ||
3420 | 16, 0x2100, 0x0061, 0x002F, 0x0063, 0, | ||
3421 | 16, 0x2101, 0x0061, 0x002F, 0x0073, 0, | ||
3422 | 2, 0x2102, 0x0043, 0, | ||
3423 | 16, 0x2103, 0x00B0, 0x0043, 0, | ||
3424 | 16, 0x2105, 0x0063, 0x002F, 0x006F, 0, | ||
3425 | 16, 0x2106, 0x0063, 0x002F, 0x0075, 0, | ||
3426 | 16, 0x2107, 0x0190, 0, | ||
3427 | 16, 0x2109, 0x00B0, 0x0046, 0, | ||
3428 | 2, 0x210A, 0x0067, 0, | ||
3429 | 2, 0x210B, 0x0048, 0, | ||
3430 | 2, 0x210C, 0x0048, 0, | ||
3431 | 2, 0x210D, 0x0048, 0, | ||
3432 | 2, 0x210E, 0x0068, 0, | ||
3433 | 2, 0x210F, 0x0127, 0, | ||
3434 | 2, 0x2110, 0x0049, 0, | ||
3435 | 2, 0x2111, 0x0049, 0, | ||
3436 | 2, 0x2112, 0x004C, 0, | ||
3437 | 2, 0x2113, 0x006C, 0, | ||
3438 | 2, 0x2115, 0x004E, 0, | ||
3439 | 16, 0x2116, 0x004E, 0x006F, 0, | ||
3440 | 2, 0x2119, 0x0050, 0, | ||
3441 | 2, 0x211A, 0x0051, 0, | ||
3442 | 2, 0x211B, 0x0052, 0, | ||
3443 | 2, 0x211C, 0x0052, 0, | ||
3444 | 2, 0x211D, 0x0052, 0, | ||
3445 | 9, 0x2120, 0x0053, 0x004D, 0, | ||
3446 | 16, 0x2121, 0x0054, 0x0045, 0x004C, 0, | ||
3447 | 9, 0x2122, 0x0054, 0x004D, 0, | ||
3448 | 2, 0x2124, 0x005A, 0, | ||
3449 | 1, 0x2126, 0x03A9, 0, | ||
3450 | 2, 0x2128, 0x005A, 0, | ||
3451 | 1, 0x212A, 0x004B, 0, | ||
3452 | 1, 0x212B, 0x00C5, 0, | ||
3453 | 2, 0x212C, 0x0042, 0, | ||
3454 | 2, 0x212D, 0x0043, 0, | ||
3455 | 2, 0x212F, 0x0065, 0, | ||
3456 | 2, 0x2130, 0x0045, 0, | ||
3457 | 2, 0x2131, 0x0046, 0, | ||
3458 | 2, 0x2133, 0x004D, 0, | ||
3459 | 2, 0x2134, 0x006F, 0, | ||
3460 | 16, 0x2135, 0x05D0, 0, | ||
3461 | 16, 0x2136, 0x05D1, 0, | ||
3462 | 16, 0x2137, 0x05D2, 0, | ||
3463 | 16, 0x2138, 0x05D3, 0, | ||
3464 | 2, 0x2139, 0x0069, 0, | ||
3465 | 2, 0x213D, 0x03B3, 0, | ||
3466 | 2, 0x213E, 0x0393, 0, | ||
3467 | 2, 0x213F, 0x03A0, 0, | ||
3468 | 2, 0x2140, 0x2211, 0, | ||
3469 | 2, 0x2145, 0x0044, 0, | ||
3470 | 2, 0x2146, 0x0064, 0, | ||
3471 | 2, 0x2147, 0x0065, 0, | ||
3472 | 2, 0x2148, 0x0069, 0, | ||
3473 | 2, 0x2149, 0x006A, 0, | ||
3474 | 17, 0x2153, 0x0031, 0x2044, 0x0033, 0, | ||
3475 | 17, 0x2154, 0x0032, 0x2044, 0x0033, 0, | ||
3476 | 17, 0x2155, 0x0031, 0x2044, 0x0035, 0, | ||
3477 | 17, 0x2156, 0x0032, 0x2044, 0x0035, 0, | ||
3478 | 17, 0x2157, 0x0033, 0x2044, 0x0035, 0, | ||
3479 | 17, 0x2158, 0x0034, 0x2044, 0x0035, 0, | ||
3480 | 17, 0x2159, 0x0031, 0x2044, 0x0036, 0, | ||
3481 | 17, 0x215A, 0x0035, 0x2044, 0x0036, 0, | ||
3482 | 17, 0x215B, 0x0031, 0x2044, 0x0038, 0, | ||
3483 | 17, 0x215C, 0x0033, 0x2044, 0x0038, 0, | ||
3484 | 17, 0x215D, 0x0035, 0x2044, 0x0038, 0, | ||
3485 | 17, 0x215E, 0x0037, 0x2044, 0x0038, 0, | ||
3486 | 17, 0x215F, 0x0031, 0x2044, 0, | ||
3487 | 16, 0x2160, 0x0049, 0, | ||
3488 | 16, 0x2161, 0x0049, 0x0049, 0, | ||
3489 | 16, 0x2162, 0x0049, 0x0049, 0x0049, 0, | ||
3490 | 16, 0x2163, 0x0049, 0x0056, 0, | ||
3491 | 16, 0x2164, 0x0056, 0, | ||
3492 | 16, 0x2165, 0x0056, 0x0049, 0, | ||
3493 | 16, 0x2166, 0x0056, 0x0049, 0x0049, 0, | ||
3494 | 16, 0x2167, 0x0056, 0x0049, 0x0049, 0x0049, 0, | ||
3495 | 16, 0x2168, 0x0049, 0x0058, 0, | ||
3496 | 16, 0x2169, 0x0058, 0, | ||
3497 | 16, 0x216A, 0x0058, 0x0049, 0, | ||
3498 | 16, 0x216B, 0x0058, 0x0049, 0x0049, 0, | ||
3499 | 16, 0x216C, 0x004C, 0, | ||
3500 | 16, 0x216D, 0x0043, 0, | ||
3501 | 16, 0x216E, 0x0044, 0, | ||
3502 | 16, 0x216F, 0x004D, 0, | ||
3503 | 16, 0x2170, 0x0069, 0, | ||
3504 | 16, 0x2171, 0x0069, 0x0069, 0, | ||
3505 | 16, 0x2172, 0x0069, 0x0069, 0x0069, 0, | ||
3506 | 16, 0x2173, 0x0069, 0x0076, 0, | ||
3507 | 16, 0x2174, 0x0076, 0, | ||
3508 | 16, 0x2175, 0x0076, 0x0069, 0, | ||
3509 | 16, 0x2176, 0x0076, 0x0069, 0x0069, 0, | ||
3510 | 16, 0x2177, 0x0076, 0x0069, 0x0069, 0x0069, 0, | ||
3511 | 16, 0x2178, 0x0069, 0x0078, 0, | ||
3512 | 16, 0x2179, 0x0078, 0, | ||
3513 | 16, 0x217A, 0x0078, 0x0069, 0, | ||
3514 | 16, 0x217B, 0x0078, 0x0069, 0x0069, 0, | ||
3515 | 16, 0x217C, 0x006C, 0, | ||
3516 | 16, 0x217D, 0x0063, 0, | ||
3517 | 16, 0x217E, 0x0064, 0, | ||
3518 | 16, 0x217F, 0x006D, 0, | ||
3519 | 1, 0x219A, 0x2190, 0x0338, 0, | ||
3520 | 1, 0x219B, 0x2192, 0x0338, 0, | ||
3521 | 1, 0x21AE, 0x2194, 0x0338, 0, | ||
3522 | 1, 0x21CD, 0x21D0, 0x0338, 0, | ||
3523 | 1, 0x21CE, 0x21D4, 0x0338, 0, | ||
3524 | 1, 0x21CF, 0x21D2, 0x0338, 0, | ||
3525 | 1, 0x2204, 0x2203, 0x0338, 0, | ||
3526 | 1, 0x2209, 0x2208, 0x0338, 0, | ||
3527 | 1, 0x220C, 0x220B, 0x0338, 0, | ||
3528 | 1, 0x2224, 0x2223, 0x0338, 0, | ||
3529 | 1, 0x2226, 0x2225, 0x0338, 0, | ||
3530 | 16, 0x222C, 0x222B, 0x222B, 0, | ||
3531 | 16, 0x222D, 0x222B, 0x222B, 0x222B, 0, | ||
3532 | 16, 0x222F, 0x222E, 0x222E, 0, | ||
3533 | 16, 0x2230, 0x222E, 0x222E, 0x222E, 0, | ||
3534 | 1, 0x2241, 0x223C, 0x0338, 0, | ||
3535 | 1, 0x2244, 0x2243, 0x0338, 0, | ||
3536 | 1, 0x2247, 0x2245, 0x0338, 0, | ||
3537 | 1, 0x2249, 0x2248, 0x0338, 0, | ||
3538 | 1, 0x2260, 0x003D, 0x0338, 0, | ||
3539 | 1, 0x2262, 0x2261, 0x0338, 0, | ||
3540 | 1, 0x226D, 0x224D, 0x0338, 0, | ||
3541 | 1, 0x226E, 0x003C, 0x0338, 0, | ||
3542 | 1, 0x226F, 0x003E, 0x0338, 0, | ||
3543 | 1, 0x2270, 0x2264, 0x0338, 0, | ||
3544 | 1, 0x2271, 0x2265, 0x0338, 0, | ||
3545 | 1, 0x2274, 0x2272, 0x0338, 0, | ||
3546 | 1, 0x2275, 0x2273, 0x0338, 0, | ||
3547 | 1, 0x2278, 0x2276, 0x0338, 0, | ||
3548 | 1, 0x2279, 0x2277, 0x0338, 0, | ||
3549 | 1, 0x2280, 0x227A, 0x0338, 0, | ||
3550 | 1, 0x2281, 0x227B, 0x0338, 0, | ||
3551 | 1, 0x2284, 0x2282, 0x0338, 0, | ||
3552 | 1, 0x2285, 0x2283, 0x0338, 0, | ||
3553 | 1, 0x2288, 0x2286, 0x0338, 0, | ||
3554 | 1, 0x2289, 0x2287, 0x0338, 0, | ||
3555 | 1, 0x22AC, 0x22A2, 0x0338, 0, | ||
3556 | 1, 0x22AD, 0x22A8, 0x0338, 0, | ||
3557 | 1, 0x22AE, 0x22A9, 0x0338, 0, | ||
3558 | 1, 0x22AF, 0x22AB, 0x0338, 0, | ||
3559 | 1, 0x22E0, 0x227C, 0x0338, 0, | ||
3560 | 1, 0x22E1, 0x227D, 0x0338, 0, | ||
3561 | 1, 0x22E2, 0x2291, 0x0338, 0, | ||
3562 | 1, 0x22E3, 0x2292, 0x0338, 0, | ||
3563 | 1, 0x22EA, 0x22B2, 0x0338, 0, | ||
3564 | 1, 0x22EB, 0x22B3, 0x0338, 0, | ||
3565 | 1, 0x22EC, 0x22B4, 0x0338, 0, | ||
3566 | 1, 0x22ED, 0x22B5, 0x0338, 0, | ||
3567 | 1, 0x2329, 0x3008, 0, | ||
3568 | 1, 0x232A, 0x3009, 0, | ||
3569 | 8, 0x2460, 0x0031, 0, | ||
3570 | 8, 0x2461, 0x0032, 0, | ||
3571 | 8, 0x2462, 0x0033, 0, | ||
3572 | 8, 0x2463, 0x0034, 0, | ||
3573 | 8, 0x2464, 0x0035, 0, | ||
3574 | 8, 0x2465, 0x0036, 0, | ||
3575 | 8, 0x2466, 0x0037, 0, | ||
3576 | 8, 0x2467, 0x0038, 0, | ||
3577 | 8, 0x2468, 0x0039, 0, | ||
3578 | 8, 0x2469, 0x0031, 0x0030, 0, | ||
3579 | 8, 0x246A, 0x0031, 0x0031, 0, | ||
3580 | 8, 0x246B, 0x0031, 0x0032, 0, | ||
3581 | 8, 0x246C, 0x0031, 0x0033, 0, | ||
3582 | 8, 0x246D, 0x0031, 0x0034, 0, | ||
3583 | 8, 0x246E, 0x0031, 0x0035, 0, | ||
3584 | 8, 0x246F, 0x0031, 0x0036, 0, | ||
3585 | 8, 0x2470, 0x0031, 0x0037, 0, | ||
3586 | 8, 0x2471, 0x0031, 0x0038, 0, | ||
3587 | 8, 0x2472, 0x0031, 0x0039, 0, | ||
3588 | 8, 0x2473, 0x0032, 0x0030, 0, | ||
3589 | 16, 0x2474, 0x0028, 0x0031, 0x0029, 0, | ||
3590 | 16, 0x2475, 0x0028, 0x0032, 0x0029, 0, | ||
3591 | 16, 0x2476, 0x0028, 0x0033, 0x0029, 0, | ||
3592 | 16, 0x2477, 0x0028, 0x0034, 0x0029, 0, | ||
3593 | 16, 0x2478, 0x0028, 0x0035, 0x0029, 0, | ||
3594 | 16, 0x2479, 0x0028, 0x0036, 0x0029, 0, | ||
3595 | 16, 0x247A, 0x0028, 0x0037, 0x0029, 0, | ||
3596 | 16, 0x247B, 0x0028, 0x0038, 0x0029, 0, | ||
3597 | 16, 0x247C, 0x0028, 0x0039, 0x0029, 0, | ||
3598 | 16, 0x247D, 0x0028, 0x0031, 0x0030, 0x0029, 0, | ||
3599 | 16, 0x247E, 0x0028, 0x0031, 0x0031, 0x0029, 0, | ||
3600 | 16, 0x247F, 0x0028, 0x0031, 0x0032, 0x0029, 0, | ||
3601 | 16, 0x2480, 0x0028, 0x0031, 0x0033, 0x0029, 0, | ||
3602 | 16, 0x2481, 0x0028, 0x0031, 0x0034, 0x0029, 0, | ||
3603 | 16, 0x2482, 0x0028, 0x0031, 0x0035, 0x0029, 0, | ||
3604 | 16, 0x2483, 0x0028, 0x0031, 0x0036, 0x0029, 0, | ||
3605 | 16, 0x2484, 0x0028, 0x0031, 0x0037, 0x0029, 0, | ||
3606 | 16, 0x2485, 0x0028, 0x0031, 0x0038, 0x0029, 0, | ||
3607 | 16, 0x2486, 0x0028, 0x0031, 0x0039, 0x0029, 0, | ||
3608 | 16, 0x2487, 0x0028, 0x0032, 0x0030, 0x0029, 0, | ||
3609 | 16, 0x2488, 0x0031, 0x002E, 0, | ||
3610 | 16, 0x2489, 0x0032, 0x002E, 0, | ||
3611 | 16, 0x248A, 0x0033, 0x002E, 0, | ||
3612 | 16, 0x248B, 0x0034, 0x002E, 0, | ||
3613 | 16, 0x248C, 0x0035, 0x002E, 0, | ||
3614 | 16, 0x248D, 0x0036, 0x002E, 0, | ||
3615 | 16, 0x248E, 0x0037, 0x002E, 0, | ||
3616 | 16, 0x248F, 0x0038, 0x002E, 0, | ||
3617 | 16, 0x2490, 0x0039, 0x002E, 0, | ||
3618 | 16, 0x2491, 0x0031, 0x0030, 0x002E, 0, | ||
3619 | 16, 0x2492, 0x0031, 0x0031, 0x002E, 0, | ||
3620 | 16, 0x2493, 0x0031, 0x0032, 0x002E, 0, | ||
3621 | 16, 0x2494, 0x0031, 0x0033, 0x002E, 0, | ||
3622 | 16, 0x2495, 0x0031, 0x0034, 0x002E, 0, | ||
3623 | 16, 0x2496, 0x0031, 0x0035, 0x002E, 0, | ||
3624 | 16, 0x2497, 0x0031, 0x0036, 0x002E, 0, | ||
3625 | 16, 0x2498, 0x0031, 0x0037, 0x002E, 0, | ||
3626 | 16, 0x2499, 0x0031, 0x0038, 0x002E, 0, | ||
3627 | 16, 0x249A, 0x0031, 0x0039, 0x002E, 0, | ||
3628 | 16, 0x249B, 0x0032, 0x0030, 0x002E, 0, | ||
3629 | 16, 0x249C, 0x0028, 0x0061, 0x0029, 0, | ||
3630 | 16, 0x249D, 0x0028, 0x0062, 0x0029, 0, | ||
3631 | 16, 0x249E, 0x0028, 0x0063, 0x0029, 0, | ||
3632 | 16, 0x249F, 0x0028, 0x0064, 0x0029, 0, | ||
3633 | 16, 0x24A0, 0x0028, 0x0065, 0x0029, 0, | ||
3634 | 16, 0x24A1, 0x0028, 0x0066, 0x0029, 0, | ||
3635 | 16, 0x24A2, 0x0028, 0x0067, 0x0029, 0, | ||
3636 | 16, 0x24A3, 0x0028, 0x0068, 0x0029, 0, | ||
3637 | 16, 0x24A4, 0x0028, 0x0069, 0x0029, 0, | ||
3638 | 16, 0x24A5, 0x0028, 0x006A, 0x0029, 0, | ||
3639 | 16, 0x24A6, 0x0028, 0x006B, 0x0029, 0, | ||
3640 | 16, 0x24A7, 0x0028, 0x006C, 0x0029, 0, | ||
3641 | 16, 0x24A8, 0x0028, 0x006D, 0x0029, 0, | ||
3642 | 16, 0x24A9, 0x0028, 0x006E, 0x0029, 0, | ||
3643 | 16, 0x24AA, 0x0028, 0x006F, 0x0029, 0, | ||
3644 | 16, 0x24AB, 0x0028, 0x0070, 0x0029, 0, | ||
3645 | 16, 0x24AC, 0x0028, 0x0071, 0x0029, 0, | ||
3646 | 16, 0x24AD, 0x0028, 0x0072, 0x0029, 0, | ||
3647 | 16, 0x24AE, 0x0028, 0x0073, 0x0029, 0, | ||
3648 | 16, 0x24AF, 0x0028, 0x0074, 0x0029, 0, | ||
3649 | 16, 0x24B0, 0x0028, 0x0075, 0x0029, 0, | ||
3650 | 16, 0x24B1, 0x0028, 0x0076, 0x0029, 0, | ||
3651 | 16, 0x24B2, 0x0028, 0x0077, 0x0029, 0, | ||
3652 | 16, 0x24B3, 0x0028, 0x0078, 0x0029, 0, | ||
3653 | 16, 0x24B4, 0x0028, 0x0079, 0x0029, 0, | ||
3654 | 16, 0x24B5, 0x0028, 0x007A, 0x0029, 0, | ||
3655 | 8, 0x24B6, 0x0041, 0, | ||
3656 | 8, 0x24B7, 0x0042, 0, | ||
3657 | 8, 0x24B8, 0x0043, 0, | ||
3658 | 8, 0x24B9, 0x0044, 0, | ||
3659 | 8, 0x24BA, 0x0045, 0, | ||
3660 | 8, 0x24BB, 0x0046, 0, | ||
3661 | 8, 0x24BC, 0x0047, 0, | ||
3662 | 8, 0x24BD, 0x0048, 0, | ||
3663 | 8, 0x24BE, 0x0049, 0, | ||
3664 | 8, 0x24BF, 0x004A, 0, | ||
3665 | 8, 0x24C0, 0x004B, 0, | ||
3666 | 8, 0x24C1, 0x004C, 0, | ||
3667 | 8, 0x24C2, 0x004D, 0, | ||
3668 | 8, 0x24C3, 0x004E, 0, | ||
3669 | 8, 0x24C4, 0x004F, 0, | ||
3670 | 8, 0x24C5, 0x0050, 0, | ||
3671 | 8, 0x24C6, 0x0051, 0, | ||
3672 | 8, 0x24C7, 0x0052, 0, | ||
3673 | 8, 0x24C8, 0x0053, 0, | ||
3674 | 8, 0x24C9, 0x0054, 0, | ||
3675 | 8, 0x24CA, 0x0055, 0, | ||
3676 | 8, 0x24CB, 0x0056, 0, | ||
3677 | 8, 0x24CC, 0x0057, 0, | ||
3678 | 8, 0x24CD, 0x0058, 0, | ||
3679 | 8, 0x24CE, 0x0059, 0, | ||
3680 | 8, 0x24CF, 0x005A, 0, | ||
3681 | 8, 0x24D0, 0x0061, 0, | ||
3682 | 8, 0x24D1, 0x0062, 0, | ||
3683 | 8, 0x24D2, 0x0063, 0, | ||
3684 | 8, 0x24D3, 0x0064, 0, | ||
3685 | 8, 0x24D4, 0x0065, 0, | ||
3686 | 8, 0x24D5, 0x0066, 0, | ||
3687 | 8, 0x24D6, 0x0067, 0, | ||
3688 | 8, 0x24D7, 0x0068, 0, | ||
3689 | 8, 0x24D8, 0x0069, 0, | ||
3690 | 8, 0x24D9, 0x006A, 0, | ||
3691 | 8, 0x24DA, 0x006B, 0, | ||
3692 | 8, 0x24DB, 0x006C, 0, | ||
3693 | 8, 0x24DC, 0x006D, 0, | ||
3694 | 8, 0x24DD, 0x006E, 0, | ||
3695 | 8, 0x24DE, 0x006F, 0, | ||
3696 | 8, 0x24DF, 0x0070, 0, | ||
3697 | 8, 0x24E0, 0x0071, 0, | ||
3698 | 8, 0x24E1, 0x0072, 0, | ||
3699 | 8, 0x24E2, 0x0073, 0, | ||
3700 | 8, 0x24E3, 0x0074, 0, | ||
3701 | 8, 0x24E4, 0x0075, 0, | ||
3702 | 8, 0x24E5, 0x0076, 0, | ||
3703 | 8, 0x24E6, 0x0077, 0, | ||
3704 | 8, 0x24E7, 0x0078, 0, | ||
3705 | 8, 0x24E8, 0x0079, 0, | ||
3706 | 8, 0x24E9, 0x007A, 0, | ||
3707 | 8, 0x24EA, 0x0030, 0, | ||
3708 | 16, 0x2A0C, 0x222B, 0x222B, 0x222B, 0x222B, 0, | ||
3709 | 16, 0x2A74, 0x003A, 0x003A, 0x003D, 0, | ||
3710 | 16, 0x2A75, 0x003D, 0x003D, 0, | ||
3711 | 16, 0x2A76, 0x003D, 0x003D, 0x003D, 0, | ||
3712 | 1, 0x2ADC, 0x2ADD, 0x0338, 0, | ||
3713 | 16, 0x2E9F, 0x6BCD, 0, | ||
3714 | 16, 0x2EF3, 0x9F9F, 0, | ||
3715 | 16, 0x2F00, 0x4E00, 0, | ||
3716 | 16, 0x2F01, 0x4E28, 0, | ||
3717 | 16, 0x2F02, 0x4E36, 0, | ||
3718 | 16, 0x2F03, 0x4E3F, 0, | ||
3719 | 16, 0x2F04, 0x4E59, 0, | ||
3720 | 16, 0x2F05, 0x4E85, 0, | ||
3721 | 16, 0x2F06, 0x4E8C, 0, | ||
3722 | 16, 0x2F07, 0x4EA0, 0, | ||
3723 | 16, 0x2F08, 0x4EBA, 0, | ||
3724 | 16, 0x2F09, 0x513F, 0, | ||
3725 | 16, 0x2F0A, 0x5165, 0, | ||
3726 | 16, 0x2F0B, 0x516B, 0, | ||
3727 | 16, 0x2F0C, 0x5182, 0, | ||
3728 | 16, 0x2F0D, 0x5196, 0, | ||
3729 | 16, 0x2F0E, 0x51AB, 0, | ||
3730 | 16, 0x2F0F, 0x51E0, 0, | ||
3731 | 16, 0x2F10, 0x51F5, 0, | ||
3732 | 16, 0x2F11, 0x5200, 0, | ||
3733 | 16, 0x2F12, 0x529B, 0, | ||
3734 | 16, 0x2F13, 0x52F9, 0, | ||
3735 | 16, 0x2F14, 0x5315, 0, | ||
3736 | 16, 0x2F15, 0x531A, 0, | ||
3737 | 16, 0x2F16, 0x5338, 0, | ||
3738 | 16, 0x2F17, 0x5341, 0, | ||
3739 | 16, 0x2F18, 0x535C, 0, | ||
3740 | 16, 0x2F19, 0x5369, 0, | ||
3741 | 16, 0x2F1A, 0x5382, 0, | ||
3742 | 16, 0x2F1B, 0x53B6, 0, | ||
3743 | 16, 0x2F1C, 0x53C8, 0, | ||
3744 | 16, 0x2F1D, 0x53E3, 0, | ||
3745 | 16, 0x2F1E, 0x56D7, 0, | ||
3746 | 16, 0x2F1F, 0x571F, 0, | ||
3747 | 16, 0x2F20, 0x58EB, 0, | ||
3748 | 16, 0x2F21, 0x5902, 0, | ||
3749 | 16, 0x2F22, 0x590A, 0, | ||
3750 | 16, 0x2F23, 0x5915, 0, | ||
3751 | 16, 0x2F24, 0x5927, 0, | ||
3752 | 16, 0x2F25, 0x5973, 0, | ||
3753 | 16, 0x2F26, 0x5B50, 0, | ||
3754 | 16, 0x2F27, 0x5B80, 0, | ||
3755 | 16, 0x2F28, 0x5BF8, 0, | ||
3756 | 16, 0x2F29, 0x5C0F, 0, | ||
3757 | 16, 0x2F2A, 0x5C22, 0, | ||
3758 | 16, 0x2F2B, 0x5C38, 0, | ||
3759 | 16, 0x2F2C, 0x5C6E, 0, | ||
3760 | 16, 0x2F2D, 0x5C71, 0, | ||
3761 | 16, 0x2F2E, 0x5DDB, 0, | ||
3762 | 16, 0x2F2F, 0x5DE5, 0, | ||
3763 | 16, 0x2F30, 0x5DF1, 0, | ||
3764 | 16, 0x2F31, 0x5DFE, 0, | ||
3765 | 16, 0x2F32, 0x5E72, 0, | ||
3766 | 16, 0x2F33, 0x5E7A, 0, | ||
3767 | 16, 0x2F34, 0x5E7F, 0, | ||
3768 | 16, 0x2F35, 0x5EF4, 0, | ||
3769 | 16, 0x2F36, 0x5EFE, 0, | ||
3770 | 16, 0x2F37, 0x5F0B, 0, | ||
3771 | 16, 0x2F38, 0x5F13, 0, | ||
3772 | 16, 0x2F39, 0x5F50, 0, | ||
3773 | 16, 0x2F3A, 0x5F61, 0, | ||
3774 | 16, 0x2F3B, 0x5F73, 0, | ||
3775 | 16, 0x2F3C, 0x5FC3, 0, | ||
3776 | 16, 0x2F3D, 0x6208, 0, | ||
3777 | 16, 0x2F3E, 0x6236, 0, | ||
3778 | 16, 0x2F3F, 0x624B, 0, | ||
3779 | 16, 0x2F40, 0x652F, 0, | ||
3780 | 16, 0x2F41, 0x6534, 0, | ||
3781 | 16, 0x2F42, 0x6587, 0, | ||
3782 | 16, 0x2F43, 0x6597, 0, | ||
3783 | 16, 0x2F44, 0x65A4, 0, | ||
3784 | 16, 0x2F45, 0x65B9, 0, | ||
3785 | 16, 0x2F46, 0x65E0, 0, | ||
3786 | 16, 0x2F47, 0x65E5, 0, | ||
3787 | 16, 0x2F48, 0x66F0, 0, | ||
3788 | 16, 0x2F49, 0x6708, 0, | ||
3789 | 16, 0x2F4A, 0x6728, 0, | ||
3790 | 16, 0x2F4B, 0x6B20, 0, | ||
3791 | 16, 0x2F4C, 0x6B62, 0, | ||
3792 | 16, 0x2F4D, 0x6B79, 0, | ||
3793 | 16, 0x2F4E, 0x6BB3, 0, | ||
3794 | 16, 0x2F4F, 0x6BCB, 0, | ||
3795 | 16, 0x2F50, 0x6BD4, 0, | ||
3796 | 16, 0x2F51, 0x6BDB, 0, | ||
3797 | 16, 0x2F52, 0x6C0F, 0, | ||
3798 | 16, 0x2F53, 0x6C14, 0, | ||
3799 | 16, 0x2F54, 0x6C34, 0, | ||
3800 | 16, 0x2F55, 0x706B, 0, | ||
3801 | 16, 0x2F56, 0x722A, 0, | ||
3802 | 16, 0x2F57, 0x7236, 0, | ||
3803 | 16, 0x2F58, 0x723B, 0, | ||
3804 | 16, 0x2F59, 0x723F, 0, | ||
3805 | 16, 0x2F5A, 0x7247, 0, | ||
3806 | 16, 0x2F5B, 0x7259, 0, | ||
3807 | 16, 0x2F5C, 0x725B, 0, | ||
3808 | 16, 0x2F5D, 0x72AC, 0, | ||
3809 | 16, 0x2F5E, 0x7384, 0, | ||
3810 | 16, 0x2F5F, 0x7389, 0, | ||
3811 | 16, 0x2F60, 0x74DC, 0, | ||
3812 | 16, 0x2F61, 0x74E6, 0, | ||
3813 | 16, 0x2F62, 0x7518, 0, | ||
3814 | 16, 0x2F63, 0x751F, 0, | ||
3815 | 16, 0x2F64, 0x7528, 0, | ||
3816 | 16, 0x2F65, 0x7530, 0, | ||
3817 | 16, 0x2F66, 0x758B, 0, | ||
3818 | 16, 0x2F67, 0x7592, 0, | ||
3819 | 16, 0x2F68, 0x7676, 0, | ||
3820 | 16, 0x2F69, 0x767D, 0, | ||
3821 | 16, 0x2F6A, 0x76AE, 0, | ||
3822 | 16, 0x2F6B, 0x76BF, 0, | ||
3823 | 16, 0x2F6C, 0x76EE, 0, | ||
3824 | 16, 0x2F6D, 0x77DB, 0, | ||
3825 | 16, 0x2F6E, 0x77E2, 0, | ||
3826 | 16, 0x2F6F, 0x77F3, 0, | ||
3827 | 16, 0x2F70, 0x793A, 0, | ||
3828 | 16, 0x2F71, 0x79B8, 0, | ||
3829 | 16, 0x2F72, 0x79BE, 0, | ||
3830 | 16, 0x2F73, 0x7A74, 0, | ||
3831 | 16, 0x2F74, 0x7ACB, 0, | ||
3832 | 16, 0x2F75, 0x7AF9, 0, | ||
3833 | 16, 0x2F76, 0x7C73, 0, | ||
3834 | 16, 0x2F77, 0x7CF8, 0, | ||
3835 | 16, 0x2F78, 0x7F36, 0, | ||
3836 | 16, 0x2F79, 0x7F51, 0, | ||
3837 | 16, 0x2F7A, 0x7F8A, 0, | ||
3838 | 16, 0x2F7B, 0x7FBD, 0, | ||
3839 | 16, 0x2F7C, 0x8001, 0, | ||
3840 | 16, 0x2F7D, 0x800C, 0, | ||
3841 | 16, 0x2F7E, 0x8012, 0, | ||
3842 | 16, 0x2F7F, 0x8033, 0, | ||
3843 | 16, 0x2F80, 0x807F, 0, | ||
3844 | 16, 0x2F81, 0x8089, 0, | ||
3845 | 16, 0x2F82, 0x81E3, 0, | ||
3846 | 16, 0x2F83, 0x81EA, 0, | ||
3847 | 16, 0x2F84, 0x81F3, 0, | ||
3848 | 16, 0x2F85, 0x81FC, 0, | ||
3849 | 16, 0x2F86, 0x820C, 0, | ||
3850 | 16, 0x2F87, 0x821B, 0, | ||
3851 | 16, 0x2F88, 0x821F, 0, | ||
3852 | 16, 0x2F89, 0x826E, 0, | ||
3853 | 16, 0x2F8A, 0x8272, 0, | ||
3854 | 16, 0x2F8B, 0x8278, 0, | ||
3855 | 16, 0x2F8C, 0x864D, 0, | ||
3856 | 16, 0x2F8D, 0x866B, 0, | ||
3857 | 16, 0x2F8E, 0x8840, 0, | ||
3858 | 16, 0x2F8F, 0x884C, 0, | ||
3859 | 16, 0x2F90, 0x8863, 0, | ||
3860 | 16, 0x2F91, 0x897E, 0, | ||
3861 | 16, 0x2F92, 0x898B, 0, | ||
3862 | 16, 0x2F93, 0x89D2, 0, | ||
3863 | 16, 0x2F94, 0x8A00, 0, | ||
3864 | 16, 0x2F95, 0x8C37, 0, | ||
3865 | 16, 0x2F96, 0x8C46, 0, | ||
3866 | 16, 0x2F97, 0x8C55, 0, | ||
3867 | 16, 0x2F98, 0x8C78, 0, | ||
3868 | 16, 0x2F99, 0x8C9D, 0, | ||
3869 | 16, 0x2F9A, 0x8D64, 0, | ||
3870 | 16, 0x2F9B, 0x8D70, 0, | ||
3871 | 16, 0x2F9C, 0x8DB3, 0, | ||
3872 | 16, 0x2F9D, 0x8EAB, 0, | ||
3873 | 16, 0x2F9E, 0x8ECA, 0, | ||
3874 | 16, 0x2F9F, 0x8F9B, 0, | ||
3875 | 16, 0x2FA0, 0x8FB0, 0, | ||
3876 | 16, 0x2FA1, 0x8FB5, 0, | ||
3877 | 16, 0x2FA2, 0x9091, 0, | ||
3878 | 16, 0x2FA3, 0x9149, 0, | ||
3879 | 16, 0x2FA4, 0x91C6, 0, | ||
3880 | 16, 0x2FA5, 0x91CC, 0, | ||
3881 | 16, 0x2FA6, 0x91D1, 0, | ||
3882 | 16, 0x2FA7, 0x9577, 0, | ||
3883 | 16, 0x2FA8, 0x9580, 0, | ||
3884 | 16, 0x2FA9, 0x961C, 0, | ||
3885 | 16, 0x2FAA, 0x96B6, 0, | ||
3886 | 16, 0x2FAB, 0x96B9, 0, | ||
3887 | 16, 0x2FAC, 0x96E8, 0, | ||
3888 | 16, 0x2FAD, 0x9751, 0, | ||
3889 | 16, 0x2FAE, 0x975E, 0, | ||
3890 | 16, 0x2FAF, 0x9762, 0, | ||
3891 | 16, 0x2FB0, 0x9769, 0, | ||
3892 | 16, 0x2FB1, 0x97CB, 0, | ||
3893 | 16, 0x2FB2, 0x97ED, 0, | ||
3894 | 16, 0x2FB3, 0x97F3, 0, | ||
3895 | 16, 0x2FB4, 0x9801, 0, | ||
3896 | 16, 0x2FB5, 0x98A8, 0, | ||
3897 | 16, 0x2FB6, 0x98DB, 0, | ||
3898 | 16, 0x2FB7, 0x98DF, 0, | ||
3899 | 16, 0x2FB8, 0x9996, 0, | ||
3900 | 16, 0x2FB9, 0x9999, 0, | ||
3901 | 16, 0x2FBA, 0x99AC, 0, | ||
3902 | 16, 0x2FBB, 0x9AA8, 0, | ||
3903 | 16, 0x2FBC, 0x9AD8, 0, | ||
3904 | 16, 0x2FBD, 0x9ADF, 0, | ||
3905 | 16, 0x2FBE, 0x9B25, 0, | ||
3906 | 16, 0x2FBF, 0x9B2F, 0, | ||
3907 | 16, 0x2FC0, 0x9B32, 0, | ||
3908 | 16, 0x2FC1, 0x9B3C, 0, | ||
3909 | 16, 0x2FC2, 0x9B5A, 0, | ||
3910 | 16, 0x2FC3, 0x9CE5, 0, | ||
3911 | 16, 0x2FC4, 0x9E75, 0, | ||
3912 | 16, 0x2FC5, 0x9E7F, 0, | ||
3913 | 16, 0x2FC6, 0x9EA5, 0, | ||
3914 | 16, 0x2FC7, 0x9EBB, 0, | ||
3915 | 16, 0x2FC8, 0x9EC3, 0, | ||
3916 | 16, 0x2FC9, 0x9ECD, 0, | ||
3917 | 16, 0x2FCA, 0x9ED1, 0, | ||
3918 | 16, 0x2FCB, 0x9EF9, 0, | ||
3919 | 16, 0x2FCC, 0x9EFD, 0, | ||
3920 | 16, 0x2FCD, 0x9F0E, 0, | ||
3921 | 16, 0x2FCE, 0x9F13, 0, | ||
3922 | 16, 0x2FCF, 0x9F20, 0, | ||
3923 | 16, 0x2FD0, 0x9F3B, 0, | ||
3924 | 16, 0x2FD1, 0x9F4A, 0, | ||
3925 | 16, 0x2FD2, 0x9F52, 0, | ||
3926 | 16, 0x2FD3, 0x9F8D, 0, | ||
3927 | 16, 0x2FD4, 0x9F9C, 0, | ||
3928 | 16, 0x2FD5, 0x9FA0, 0, | ||
3929 | 12, 0x3000, 0x0020, 0, | ||
3930 | 16, 0x3036, 0x3012, 0, | ||
3931 | 16, 0x3038, 0x5341, 0, | ||
3932 | 16, 0x3039, 0x5344, 0, | ||
3933 | 16, 0x303A, 0x5345, 0, | ||
3934 | 1, 0x304C, 0x304B, 0x3099, 0, | ||
3935 | 1, 0x304E, 0x304D, 0x3099, 0, | ||
3936 | 1, 0x3050, 0x304F, 0x3099, 0, | ||
3937 | 1, 0x3052, 0x3051, 0x3099, 0, | ||
3938 | 1, 0x3054, 0x3053, 0x3099, 0, | ||
3939 | 1, 0x3056, 0x3055, 0x3099, 0, | ||
3940 | 1, 0x3058, 0x3057, 0x3099, 0, | ||
3941 | 1, 0x305A, 0x3059, 0x3099, 0, | ||
3942 | 1, 0x305C, 0x305B, 0x3099, 0, | ||
3943 | 1, 0x305E, 0x305D, 0x3099, 0, | ||
3944 | 1, 0x3060, 0x305F, 0x3099, 0, | ||
3945 | 1, 0x3062, 0x3061, 0x3099, 0, | ||
3946 | 1, 0x3065, 0x3064, 0x3099, 0, | ||
3947 | 1, 0x3067, 0x3066, 0x3099, 0, | ||
3948 | 1, 0x3069, 0x3068, 0x3099, 0, | ||
3949 | 1, 0x3070, 0x306F, 0x3099, 0, | ||
3950 | 1, 0x3071, 0x306F, 0x309A, 0, | ||
3951 | 1, 0x3073, 0x3072, 0x3099, 0, | ||
3952 | 1, 0x3074, 0x3072, 0x309A, 0, | ||
3953 | 1, 0x3076, 0x3075, 0x3099, 0, | ||
3954 | 1, 0x3077, 0x3075, 0x309A, 0, | ||
3955 | 1, 0x3079, 0x3078, 0x3099, 0, | ||
3956 | 1, 0x307A, 0x3078, 0x309A, 0, | ||
3957 | 1, 0x307C, 0x307B, 0x3099, 0, | ||
3958 | 1, 0x307D, 0x307B, 0x309A, 0, | ||
3959 | 1, 0x3094, 0x3046, 0x3099, 0, | ||
3960 | 16, 0x309B, 0x0020, 0x3099, 0, | ||
3961 | 16, 0x309C, 0x0020, 0x309A, 0, | ||
3962 | 1, 0x309E, 0x309D, 0x3099, 0, | ||
3963 | 11, 0x309F, 0x3088, 0x308A, 0, | ||
3964 | 1, 0x30AC, 0x30AB, 0x3099, 0, | ||
3965 | 1, 0x30AE, 0x30AD, 0x3099, 0, | ||
3966 | 1, 0x30B0, 0x30AF, 0x3099, 0, | ||
3967 | 1, 0x30B2, 0x30B1, 0x3099, 0, | ||
3968 | 1, 0x30B4, 0x30B3, 0x3099, 0, | ||
3969 | 1, 0x30B6, 0x30B5, 0x3099, 0, | ||
3970 | 1, 0x30B8, 0x30B7, 0x3099, 0, | ||
3971 | 1, 0x30BA, 0x30B9, 0x3099, 0, | ||
3972 | 1, 0x30BC, 0x30BB, 0x3099, 0, | ||
3973 | 1, 0x30BE, 0x30BD, 0x3099, 0, | ||
3974 | 1, 0x30C0, 0x30BF, 0x3099, 0, | ||
3975 | 1, 0x30C2, 0x30C1, 0x3099, 0, | ||
3976 | 1, 0x30C5, 0x30C4, 0x3099, 0, | ||
3977 | 1, 0x30C7, 0x30C6, 0x3099, 0, | ||
3978 | 1, 0x30C9, 0x30C8, 0x3099, 0, | ||
3979 | 1, 0x30D0, 0x30CF, 0x3099, 0, | ||
3980 | 1, 0x30D1, 0x30CF, 0x309A, 0, | ||
3981 | 1, 0x30D3, 0x30D2, 0x3099, 0, | ||
3982 | 1, 0x30D4, 0x30D2, 0x309A, 0, | ||
3983 | 1, 0x30D6, 0x30D5, 0x3099, 0, | ||
3984 | 1, 0x30D7, 0x30D5, 0x309A, 0, | ||
3985 | 1, 0x30D9, 0x30D8, 0x3099, 0, | ||
3986 | 1, 0x30DA, 0x30D8, 0x309A, 0, | ||
3987 | 1, 0x30DC, 0x30DB, 0x3099, 0, | ||
3988 | 1, 0x30DD, 0x30DB, 0x309A, 0, | ||
3989 | 1, 0x30F4, 0x30A6, 0x3099, 0, | ||
3990 | 1, 0x30F7, 0x30EF, 0x3099, 0, | ||
3991 | 1, 0x30F8, 0x30F0, 0x3099, 0, | ||
3992 | 1, 0x30F9, 0x30F1, 0x3099, 0, | ||
3993 | 1, 0x30FA, 0x30F2, 0x3099, 0, | ||
3994 | 1, 0x30FE, 0x30FD, 0x3099, 0, | ||
3995 | 11, 0x30FF, 0x30B3, 0x30C8, 0, | ||
3996 | 16, 0x3131, 0x1100, 0, | ||
3997 | 16, 0x3132, 0x1101, 0, | ||
3998 | 16, 0x3133, 0x11AA, 0, | ||
3999 | 16, 0x3134, 0x1102, 0, | ||
4000 | 16, 0x3135, 0x11AC, 0, | ||
4001 | 16, 0x3136, 0x11AD, 0, | ||
4002 | 16, 0x3137, 0x1103, 0, | ||
4003 | 16, 0x3138, 0x1104, 0, | ||
4004 | 16, 0x3139, 0x1105, 0, | ||
4005 | 16, 0x313A, 0x11B0, 0, | ||
4006 | 16, 0x313B, 0x11B1, 0, | ||
4007 | 16, 0x313C, 0x11B2, 0, | ||
4008 | 16, 0x313D, 0x11B3, 0, | ||
4009 | 16, 0x313E, 0x11B4, 0, | ||
4010 | 16, 0x313F, 0x11B5, 0, | ||
4011 | 16, 0x3140, 0x111A, 0, | ||
4012 | 16, 0x3141, 0x1106, 0, | ||
4013 | 16, 0x3142, 0x1107, 0, | ||
4014 | 16, 0x3143, 0x1108, 0, | ||
4015 | 16, 0x3144, 0x1121, 0, | ||
4016 | 16, 0x3145, 0x1109, 0, | ||
4017 | 16, 0x3146, 0x110A, 0, | ||
4018 | 16, 0x3147, 0x110B, 0, | ||
4019 | 16, 0x3148, 0x110C, 0, | ||
4020 | 16, 0x3149, 0x110D, 0, | ||
4021 | 16, 0x314A, 0x110E, 0, | ||
4022 | 16, 0x314B, 0x110F, 0, | ||
4023 | 16, 0x314C, 0x1110, 0, | ||
4024 | 16, 0x314D, 0x1111, 0, | ||
4025 | 16, 0x314E, 0x1112, 0, | ||
4026 | 16, 0x314F, 0x1161, 0, | ||
4027 | 16, 0x3150, 0x1162, 0, | ||
4028 | 16, 0x3151, 0x1163, 0, | ||
4029 | 16, 0x3152, 0x1164, 0, | ||
4030 | 16, 0x3153, 0x1165, 0, | ||
4031 | 16, 0x3154, 0x1166, 0, | ||
4032 | 16, 0x3155, 0x1167, 0, | ||
4033 | 16, 0x3156, 0x1168, 0, | ||
4034 | 16, 0x3157, 0x1169, 0, | ||
4035 | 16, 0x3158, 0x116A, 0, | ||
4036 | 16, 0x3159, 0x116B, 0, | ||
4037 | 16, 0x315A, 0x116C, 0, | ||
4038 | 16, 0x315B, 0x116D, 0, | ||
4039 | 16, 0x315C, 0x116E, 0, | ||
4040 | 16, 0x315D, 0x116F, 0, | ||
4041 | 16, 0x315E, 0x1170, 0, | ||
4042 | 16, 0x315F, 0x1171, 0, | ||
4043 | 16, 0x3160, 0x1172, 0, | ||
4044 | 16, 0x3161, 0x1173, 0, | ||
4045 | 16, 0x3162, 0x1174, 0, | ||
4046 | 16, 0x3163, 0x1175, 0, | ||
4047 | 16, 0x3164, 0x1160, 0, | ||
4048 | 16, 0x3165, 0x1114, 0, | ||
4049 | 16, 0x3166, 0x1115, 0, | ||
4050 | 16, 0x3167, 0x11C7, 0, | ||
4051 | 16, 0x3168, 0x11C8, 0, | ||
4052 | 16, 0x3169, 0x11CC, 0, | ||
4053 | 16, 0x316A, 0x11CE, 0, | ||
4054 | 16, 0x316B, 0x11D3, 0, | ||
4055 | 16, 0x316C, 0x11D7, 0, | ||
4056 | 16, 0x316D, 0x11D9, 0, | ||
4057 | 16, 0x316E, 0x111C, 0, | ||
4058 | 16, 0x316F, 0x11DD, 0, | ||
4059 | 16, 0x3170, 0x11DF, 0, | ||
4060 | 16, 0x3171, 0x111D, 0, | ||
4061 | 16, 0x3172, 0x111E, 0, | ||
4062 | 16, 0x3173, 0x1120, 0, | ||
4063 | 16, 0x3174, 0x1122, 0, | ||
4064 | 16, 0x3175, 0x1123, 0, | ||
4065 | 16, 0x3176, 0x1127, 0, | ||
4066 | 16, 0x3177, 0x1129, 0, | ||
4067 | 16, 0x3178, 0x112B, 0, | ||
4068 | 16, 0x3179, 0x112C, 0, | ||
4069 | 16, 0x317A, 0x112D, 0, | ||
4070 | 16, 0x317B, 0x112E, 0, | ||
4071 | 16, 0x317C, 0x112F, 0, | ||
4072 | 16, 0x317D, 0x1132, 0, | ||
4073 | 16, 0x317E, 0x1136, 0, | ||
4074 | 16, 0x317F, 0x1140, 0, | ||
4075 | 16, 0x3180, 0x1147, 0, | ||
4076 | 16, 0x3181, 0x114C, 0, | ||
4077 | 16, 0x3182, 0x11F1, 0, | ||
4078 | 16, 0x3183, 0x11F2, 0, | ||
4079 | 16, 0x3184, 0x1157, 0, | ||
4080 | 16, 0x3185, 0x1158, 0, | ||
4081 | 16, 0x3186, 0x1159, 0, | ||
4082 | 16, 0x3187, 0x1184, 0, | ||
4083 | 16, 0x3188, 0x1185, 0, | ||
4084 | 16, 0x3189, 0x1188, 0, | ||
4085 | 16, 0x318A, 0x1191, 0, | ||
4086 | 16, 0x318B, 0x1192, 0, | ||
4087 | 16, 0x318C, 0x1194, 0, | ||
4088 | 16, 0x318D, 0x119E, 0, | ||
4089 | 16, 0x318E, 0x11A1, 0, | ||
4090 | 9, 0x3192, 0x4E00, 0, | ||
4091 | 9, 0x3193, 0x4E8C, 0, | ||
4092 | 9, 0x3194, 0x4E09, 0, | ||
4093 | 9, 0x3195, 0x56DB, 0, | ||
4094 | 9, 0x3196, 0x4E0A, 0, | ||
4095 | 9, 0x3197, 0x4E2D, 0, | ||
4096 | 9, 0x3198, 0x4E0B, 0, | ||
4097 | 9, 0x3199, 0x7532, 0, | ||
4098 | 9, 0x319A, 0x4E59, 0, | ||
4099 | 9, 0x319B, 0x4E19, 0, | ||
4100 | 9, 0x319C, 0x4E01, 0, | ||
4101 | 9, 0x319D, 0x5929, 0, | ||
4102 | 9, 0x319E, 0x5730, 0, | ||
4103 | 9, 0x319F, 0x4EBA, 0, | ||
4104 | 16, 0x3200, 0x0028, 0x1100, 0x0029, 0, | ||
4105 | 16, 0x3201, 0x0028, 0x1102, 0x0029, 0, | ||
4106 | 16, 0x3202, 0x0028, 0x1103, 0x0029, 0, | ||
4107 | 16, 0x3203, 0x0028, 0x1105, 0x0029, 0, | ||
4108 | 16, 0x3204, 0x0028, 0x1106, 0x0029, 0, | ||
4109 | 16, 0x3205, 0x0028, 0x1107, 0x0029, 0, | ||
4110 | 16, 0x3206, 0x0028, 0x1109, 0x0029, 0, | ||
4111 | 16, 0x3207, 0x0028, 0x110B, 0x0029, 0, | ||
4112 | 16, 0x3208, 0x0028, 0x110C, 0x0029, 0, | ||
4113 | 16, 0x3209, 0x0028, 0x110E, 0x0029, 0, | ||
4114 | 16, 0x320A, 0x0028, 0x110F, 0x0029, 0, | ||
4115 | 16, 0x320B, 0x0028, 0x1110, 0x0029, 0, | ||
4116 | 16, 0x320C, 0x0028, 0x1111, 0x0029, 0, | ||
4117 | 16, 0x320D, 0x0028, 0x1112, 0x0029, 0, | ||
4118 | 16, 0x320E, 0x0028, 0x1100, 0x1161, 0x0029, 0, | ||
4119 | 16, 0x320F, 0x0028, 0x1102, 0x1161, 0x0029, 0, | ||
4120 | 16, 0x3210, 0x0028, 0x1103, 0x1161, 0x0029, 0, | ||
4121 | 16, 0x3211, 0x0028, 0x1105, 0x1161, 0x0029, 0, | ||
4122 | 16, 0x3212, 0x0028, 0x1106, 0x1161, 0x0029, 0, | ||
4123 | 16, 0x3213, 0x0028, 0x1107, 0x1161, 0x0029, 0, | ||
4124 | 16, 0x3214, 0x0028, 0x1109, 0x1161, 0x0029, 0, | ||
4125 | 16, 0x3215, 0x0028, 0x110B, 0x1161, 0x0029, 0, | ||
4126 | 16, 0x3216, 0x0028, 0x110C, 0x1161, 0x0029, 0, | ||
4127 | 16, 0x3217, 0x0028, 0x110E, 0x1161, 0x0029, 0, | ||
4128 | 16, 0x3218, 0x0028, 0x110F, 0x1161, 0x0029, 0, | ||
4129 | 16, 0x3219, 0x0028, 0x1110, 0x1161, 0x0029, 0, | ||
4130 | 16, 0x321A, 0x0028, 0x1111, 0x1161, 0x0029, 0, | ||
4131 | 16, 0x321B, 0x0028, 0x1112, 0x1161, 0x0029, 0, | ||
4132 | 16, 0x321C, 0x0028, 0x110C, 0x116E, 0x0029, 0, | ||
4133 | 16, 0x3220, 0x0028, 0x4E00, 0x0029, 0, | ||
4134 | 16, 0x3221, 0x0028, 0x4E8C, 0x0029, 0, | ||
4135 | 16, 0x3222, 0x0028, 0x4E09, 0x0029, 0, | ||
4136 | 16, 0x3223, 0x0028, 0x56DB, 0x0029, 0, | ||
4137 | 16, 0x3224, 0x0028, 0x4E94, 0x0029, 0, | ||
4138 | 16, 0x3225, 0x0028, 0x516D, 0x0029, 0, | ||
4139 | 16, 0x3226, 0x0028, 0x4E03, 0x0029, 0, | ||
4140 | 16, 0x3227, 0x0028, 0x516B, 0x0029, 0, | ||
4141 | 16, 0x3228, 0x0028, 0x4E5D, 0x0029, 0, | ||
4142 | 16, 0x3229, 0x0028, 0x5341, 0x0029, 0, | ||
4143 | 16, 0x322A, 0x0028, 0x6708, 0x0029, 0, | ||
4144 | 16, 0x322B, 0x0028, 0x706B, 0x0029, 0, | ||
4145 | 16, 0x322C, 0x0028, 0x6C34, 0x0029, 0, | ||
4146 | 16, 0x322D, 0x0028, 0x6728, 0x0029, 0, | ||
4147 | 16, 0x322E, 0x0028, 0x91D1, 0x0029, 0, | ||
4148 | 16, 0x322F, 0x0028, 0x571F, 0x0029, 0, | ||
4149 | 16, 0x3230, 0x0028, 0x65E5, 0x0029, 0, | ||
4150 | 16, 0x3231, 0x0028, 0x682A, 0x0029, 0, | ||
4151 | 16, 0x3232, 0x0028, 0x6709, 0x0029, 0, | ||
4152 | 16, 0x3233, 0x0028, 0x793E, 0x0029, 0, | ||
4153 | 16, 0x3234, 0x0028, 0x540D, 0x0029, 0, | ||
4154 | 16, 0x3235, 0x0028, 0x7279, 0x0029, 0, | ||
4155 | 16, 0x3236, 0x0028, 0x8CA1, 0x0029, 0, | ||
4156 | 16, 0x3237, 0x0028, 0x795D, 0x0029, 0, | ||
4157 | 16, 0x3238, 0x0028, 0x52B4, 0x0029, 0, | ||
4158 | 16, 0x3239, 0x0028, 0x4EE3, 0x0029, 0, | ||
4159 | 16, 0x323A, 0x0028, 0x547C, 0x0029, 0, | ||
4160 | 16, 0x323B, 0x0028, 0x5B66, 0x0029, 0, | ||
4161 | 16, 0x323C, 0x0028, 0x76E3, 0x0029, 0, | ||
4162 | 16, 0x323D, 0x0028, 0x4F01, 0x0029, 0, | ||
4163 | 16, 0x323E, 0x0028, 0x8CC7, 0x0029, 0, | ||
4164 | 16, 0x323F, 0x0028, 0x5354, 0x0029, 0, | ||
4165 | 16, 0x3240, 0x0028, 0x796D, 0x0029, 0, | ||
4166 | 16, 0x3241, 0x0028, 0x4F11, 0x0029, 0, | ||
4167 | 16, 0x3242, 0x0028, 0x81EA, 0x0029, 0, | ||
4168 | 16, 0x3243, 0x0028, 0x81F3, 0x0029, 0, | ||
4169 | 8, 0x3251, 0x0032, 0x0031, 0, | ||
4170 | 8, 0x3252, 0x0032, 0x0032, 0, | ||
4171 | 8, 0x3253, 0x0032, 0x0033, 0, | ||
4172 | 8, 0x3254, 0x0032, 0x0034, 0, | ||
4173 | 8, 0x3255, 0x0032, 0x0035, 0, | ||
4174 | 8, 0x3256, 0x0032, 0x0036, 0, | ||
4175 | 8, 0x3257, 0x0032, 0x0037, 0, | ||
4176 | 8, 0x3258, 0x0032, 0x0038, 0, | ||
4177 | 8, 0x3259, 0x0032, 0x0039, 0, | ||
4178 | 8, 0x325A, 0x0033, 0x0030, 0, | ||
4179 | 8, 0x325B, 0x0033, 0x0031, 0, | ||
4180 | 8, 0x325C, 0x0033, 0x0032, 0, | ||
4181 | 8, 0x325D, 0x0033, 0x0033, 0, | ||
4182 | 8, 0x325E, 0x0033, 0x0034, 0, | ||
4183 | 8, 0x325F, 0x0033, 0x0035, 0, | ||
4184 | 8, 0x3260, 0x1100, 0, | ||
4185 | 8, 0x3261, 0x1102, 0, | ||
4186 | 8, 0x3262, 0x1103, 0, | ||
4187 | 8, 0x3263, 0x1105, 0, | ||
4188 | 8, 0x3264, 0x1106, 0, | ||
4189 | 8, 0x3265, 0x1107, 0, | ||
4190 | 8, 0x3266, 0x1109, 0, | ||
4191 | 8, 0x3267, 0x110B, 0, | ||
4192 | 8, 0x3268, 0x110C, 0, | ||
4193 | 8, 0x3269, 0x110E, 0, | ||
4194 | 8, 0x326A, 0x110F, 0, | ||
4195 | 8, 0x326B, 0x1110, 0, | ||
4196 | 8, 0x326C, 0x1111, 0, | ||
4197 | 8, 0x326D, 0x1112, 0, | ||
4198 | 8, 0x326E, 0x1100, 0x1161, 0, | ||
4199 | 8, 0x326F, 0x1102, 0x1161, 0, | ||
4200 | 8, 0x3270, 0x1103, 0x1161, 0, | ||
4201 | 8, 0x3271, 0x1105, 0x1161, 0, | ||
4202 | 8, 0x3272, 0x1106, 0x1161, 0, | ||
4203 | 8, 0x3273, 0x1107, 0x1161, 0, | ||
4204 | 8, 0x3274, 0x1109, 0x1161, 0, | ||
4205 | 8, 0x3275, 0x110B, 0x1161, 0, | ||
4206 | 8, 0x3276, 0x110C, 0x1161, 0, | ||
4207 | 8, 0x3277, 0x110E, 0x1161, 0, | ||
4208 | 8, 0x3278, 0x110F, 0x1161, 0, | ||
4209 | 8, 0x3279, 0x1110, 0x1161, 0, | ||
4210 | 8, 0x327A, 0x1111, 0x1161, 0, | ||
4211 | 8, 0x327B, 0x1112, 0x1161, 0, | ||
4212 | 8, 0x3280, 0x4E00, 0, | ||
4213 | 8, 0x3281, 0x4E8C, 0, | ||
4214 | 8, 0x3282, 0x4E09, 0, | ||
4215 | 8, 0x3283, 0x56DB, 0, | ||
4216 | 8, 0x3284, 0x4E94, 0, | ||
4217 | 8, 0x3285, 0x516D, 0, | ||
4218 | 8, 0x3286, 0x4E03, 0, | ||
4219 | 8, 0x3287, 0x516B, 0, | ||
4220 | 8, 0x3288, 0x4E5D, 0, | ||
4221 | 8, 0x3289, 0x5341, 0, | ||
4222 | 8, 0x328A, 0x6708, 0, | ||
4223 | 8, 0x328B, 0x706B, 0, | ||
4224 | 8, 0x328C, 0x6C34, 0, | ||
4225 | 8, 0x328D, 0x6728, 0, | ||
4226 | 8, 0x328E, 0x91D1, 0, | ||
4227 | 8, 0x328F, 0x571F, 0, | ||
4228 | 8, 0x3290, 0x65E5, 0, | ||
4229 | 8, 0x3291, 0x682A, 0, | ||
4230 | 8, 0x3292, 0x6709, 0, | ||
4231 | 8, 0x3293, 0x793E, 0, | ||
4232 | 8, 0x3294, 0x540D, 0, | ||
4233 | 8, 0x3295, 0x7279, 0, | ||
4234 | 8, 0x3296, 0x8CA1, 0, | ||
4235 | 8, 0x3297, 0x795D, 0, | ||
4236 | 8, 0x3298, 0x52B4, 0, | ||
4237 | 8, 0x3299, 0x79D8, 0, | ||
4238 | 8, 0x329A, 0x7537, 0, | ||
4239 | 8, 0x329B, 0x5973, 0, | ||
4240 | 8, 0x329C, 0x9069, 0, | ||
4241 | 8, 0x329D, 0x512A, 0, | ||
4242 | 8, 0x329E, 0x5370, 0, | ||
4243 | 8, 0x329F, 0x6CE8, 0, | ||
4244 | 8, 0x32A0, 0x9805, 0, | ||
4245 | 8, 0x32A1, 0x4F11, 0, | ||
4246 | 8, 0x32A2, 0x5199, 0, | ||
4247 | 8, 0x32A3, 0x6B63, 0, | ||
4248 | 8, 0x32A4, 0x4E0A, 0, | ||
4249 | 8, 0x32A5, 0x4E2D, 0, | ||
4250 | 8, 0x32A6, 0x4E0B, 0, | ||
4251 | 8, 0x32A7, 0x5DE6, 0, | ||
4252 | 8, 0x32A8, 0x53F3, 0, | ||
4253 | 8, 0x32A9, 0x533B, 0, | ||
4254 | 8, 0x32AA, 0x5B97, 0, | ||
4255 | 8, 0x32AB, 0x5B66, 0, | ||
4256 | 8, 0x32AC, 0x76E3, 0, | ||
4257 | 8, 0x32AD, 0x4F01, 0, | ||
4258 | 8, 0x32AE, 0x8CC7, 0, | ||
4259 | 8, 0x32AF, 0x5354, 0, | ||
4260 | 8, 0x32B0, 0x591C, 0, | ||
4261 | 8, 0x32B1, 0x0033, 0x0036, 0, | ||
4262 | 8, 0x32B2, 0x0033, 0x0037, 0, | ||
4263 | 8, 0x32B3, 0x0033, 0x0038, 0, | ||
4264 | 8, 0x32B4, 0x0033, 0x0039, 0, | ||
4265 | 8, 0x32B5, 0x0034, 0x0030, 0, | ||
4266 | 8, 0x32B6, 0x0034, 0x0031, 0, | ||
4267 | 8, 0x32B7, 0x0034, 0x0032, 0, | ||
4268 | 8, 0x32B8, 0x0034, 0x0033, 0, | ||
4269 | 8, 0x32B9, 0x0034, 0x0034, 0, | ||
4270 | 8, 0x32BA, 0x0034, 0x0035, 0, | ||
4271 | 8, 0x32BB, 0x0034, 0x0036, 0, | ||
4272 | 8, 0x32BC, 0x0034, 0x0037, 0, | ||
4273 | 8, 0x32BD, 0x0034, 0x0038, 0, | ||
4274 | 8, 0x32BE, 0x0034, 0x0039, 0, | ||
4275 | 8, 0x32BF, 0x0035, 0x0030, 0, | ||
4276 | 16, 0x32C0, 0x0031, 0x6708, 0, | ||
4277 | 16, 0x32C1, 0x0032, 0x6708, 0, | ||
4278 | 16, 0x32C2, 0x0033, 0x6708, 0, | ||
4279 | 16, 0x32C3, 0x0034, 0x6708, 0, | ||
4280 | 16, 0x32C4, 0x0035, 0x6708, 0, | ||
4281 | 16, 0x32C5, 0x0036, 0x6708, 0, | ||
4282 | 16, 0x32C6, 0x0037, 0x6708, 0, | ||
4283 | 16, 0x32C7, 0x0038, 0x6708, 0, | ||
4284 | 16, 0x32C8, 0x0039, 0x6708, 0, | ||
4285 | 16, 0x32C9, 0x0031, 0x0030, 0x6708, 0, | ||
4286 | 16, 0x32CA, 0x0031, 0x0031, 0x6708, 0, | ||
4287 | 16, 0x32CB, 0x0031, 0x0032, 0x6708, 0, | ||
4288 | 8, 0x32D0, 0x30A2, 0, | ||
4289 | 8, 0x32D1, 0x30A4, 0, | ||
4290 | 8, 0x32D2, 0x30A6, 0, | ||
4291 | 8, 0x32D3, 0x30A8, 0, | ||
4292 | 8, 0x32D4, 0x30AA, 0, | ||
4293 | 8, 0x32D5, 0x30AB, 0, | ||
4294 | 8, 0x32D6, 0x30AD, 0, | ||
4295 | 8, 0x32D7, 0x30AF, 0, | ||
4296 | 8, 0x32D8, 0x30B1, 0, | ||
4297 | 8, 0x32D9, 0x30B3, 0, | ||
4298 | 8, 0x32DA, 0x30B5, 0, | ||
4299 | 8, 0x32DB, 0x30B7, 0, | ||
4300 | 8, 0x32DC, 0x30B9, 0, | ||
4301 | 8, 0x32DD, 0x30BB, 0, | ||
4302 | 8, 0x32DE, 0x30BD, 0, | ||
4303 | 8, 0x32DF, 0x30BF, 0, | ||
4304 | 8, 0x32E0, 0x30C1, 0, | ||
4305 | 8, 0x32E1, 0x30C4, 0, | ||
4306 | 8, 0x32E2, 0x30C6, 0, | ||
4307 | 8, 0x32E3, 0x30C8, 0, | ||
4308 | 8, 0x32E4, 0x30CA, 0, | ||
4309 | 8, 0x32E5, 0x30CB, 0, | ||
4310 | 8, 0x32E6, 0x30CC, 0, | ||
4311 | 8, 0x32E7, 0x30CD, 0, | ||
4312 | 8, 0x32E8, 0x30CE, 0, | ||
4313 | 8, 0x32E9, 0x30CF, 0, | ||
4314 | 8, 0x32EA, 0x30D2, 0, | ||
4315 | 8, 0x32EB, 0x30D5, 0, | ||
4316 | 8, 0x32EC, 0x30D8, 0, | ||
4317 | 8, 0x32ED, 0x30DB, 0, | ||
4318 | 8, 0x32EE, 0x30DE, 0, | ||
4319 | 8, 0x32EF, 0x30DF, 0, | ||
4320 | 8, 0x32F0, 0x30E0, 0, | ||
4321 | 8, 0x32F1, 0x30E1, 0, | ||
4322 | 8, 0x32F2, 0x30E2, 0, | ||
4323 | 8, 0x32F3, 0x30E4, 0, | ||
4324 | 8, 0x32F4, 0x30E6, 0, | ||
4325 | 8, 0x32F5, 0x30E8, 0, | ||
4326 | 8, 0x32F6, 0x30E9, 0, | ||
4327 | 8, 0x32F7, 0x30EA, 0, | ||
4328 | 8, 0x32F8, 0x30EB, 0, | ||
4329 | 8, 0x32F9, 0x30EC, 0, | ||
4330 | 8, 0x32FA, 0x30ED, 0, | ||
4331 | 8, 0x32FB, 0x30EF, 0, | ||
4332 | 8, 0x32FC, 0x30F0, 0, | ||
4333 | 8, 0x32FD, 0x30F1, 0, | ||
4334 | 8, 0x32FE, 0x30F2, 0, | ||
4335 | 15, 0x3300, 0x30A2, 0x30D1, 0x30FC, 0x30C8, 0, | ||
4336 | 15, 0x3301, 0x30A2, 0x30EB, 0x30D5, 0x30A1, 0, | ||
4337 | 15, 0x3302, 0x30A2, 0x30F3, 0x30DA, 0x30A2, 0, | ||
4338 | 15, 0x3303, 0x30A2, 0x30FC, 0x30EB, 0, | ||
4339 | 15, 0x3304, 0x30A4, 0x30CB, 0x30F3, 0x30B0, 0, | ||
4340 | 15, 0x3305, 0x30A4, 0x30F3, 0x30C1, 0, | ||
4341 | 15, 0x3306, 0x30A6, 0x30A9, 0x30F3, 0, | ||
4342 | 15, 0x3307, 0x30A8, 0x30B9, 0x30AF, 0x30FC, 0x30C9, 0, | ||
4343 | 15, 0x3308, 0x30A8, 0x30FC, 0x30AB, 0x30FC, 0, | ||
4344 | 15, 0x3309, 0x30AA, 0x30F3, 0x30B9, 0, | ||
4345 | 15, 0x330A, 0x30AA, 0x30FC, 0x30E0, 0, | ||
4346 | 15, 0x330B, 0x30AB, 0x30A4, 0x30EA, 0, | ||
4347 | 15, 0x330C, 0x30AB, 0x30E9, 0x30C3, 0x30C8, 0, | ||
4348 | 15, 0x330D, 0x30AB, 0x30ED, 0x30EA, 0x30FC, 0, | ||
4349 | 15, 0x330E, 0x30AC, 0x30ED, 0x30F3, 0, | ||
4350 | 15, 0x330F, 0x30AC, 0x30F3, 0x30DE, 0, | ||
4351 | 15, 0x3310, 0x30AE, 0x30AC, 0, | ||
4352 | 15, 0x3311, 0x30AE, 0x30CB, 0x30FC, 0, | ||
4353 | 15, 0x3312, 0x30AD, 0x30E5, 0x30EA, 0x30FC, 0, | ||
4354 | 15, 0x3313, 0x30AE, 0x30EB, 0x30C0, 0x30FC, 0, | ||
4355 | 15, 0x3314, 0x30AD, 0x30ED, 0, | ||
4356 | 15, 0x3315, 0x30AD, 0x30ED, 0x30B0, 0x30E9, 0x30E0, 0, | ||
4357 | 15, 0x3316, 0x30AD, 0x30ED, 0x30E1, 0x30FC, 0x30C8, 0x30EB, 0, | ||
4358 | 15, 0x3317, 0x30AD, 0x30ED, 0x30EF, 0x30C3, 0x30C8, 0, | ||
4359 | 15, 0x3318, 0x30B0, 0x30E9, 0x30E0, 0, | ||
4360 | 15, 0x3319, 0x30B0, 0x30E9, 0x30E0, 0x30C8, 0x30F3, 0, | ||
4361 | 15, 0x331A, 0x30AF, 0x30EB, 0x30BC, 0x30A4, 0x30ED, 0, | ||
4362 | 15, 0x331B, 0x30AF, 0x30ED, 0x30FC, 0x30CD, 0, | ||
4363 | 15, 0x331C, 0x30B1, 0x30FC, 0x30B9, 0, | ||
4364 | 15, 0x331D, 0x30B3, 0x30EB, 0x30CA, 0, | ||
4365 | 15, 0x331E, 0x30B3, 0x30FC, 0x30DD, 0, | ||
4366 | 15, 0x331F, 0x30B5, 0x30A4, 0x30AF, 0x30EB, 0, | ||
4367 | 15, 0x3320, 0x30B5, 0x30F3, 0x30C1, 0x30FC, 0x30E0, 0, | ||
4368 | 15, 0x3321, 0x30B7, 0x30EA, 0x30F3, 0x30B0, 0, | ||
4369 | 15, 0x3322, 0x30BB, 0x30F3, 0x30C1, 0, | ||
4370 | 15, 0x3323, 0x30BB, 0x30F3, 0x30C8, 0, | ||
4371 | 15, 0x3324, 0x30C0, 0x30FC, 0x30B9, 0, | ||
4372 | 15, 0x3325, 0x30C7, 0x30B7, 0, | ||
4373 | 15, 0x3326, 0x30C9, 0x30EB, 0, | ||
4374 | 15, 0x3327, 0x30C8, 0x30F3, 0, | ||
4375 | 15, 0x3328, 0x30CA, 0x30CE, 0, | ||
4376 | 15, 0x3329, 0x30CE, 0x30C3, 0x30C8, 0, | ||
4377 | 15, 0x332A, 0x30CF, 0x30A4, 0x30C4, 0, | ||
4378 | 15, 0x332B, 0x30D1, 0x30FC, 0x30BB, 0x30F3, 0x30C8, 0, | ||
4379 | 15, 0x332C, 0x30D1, 0x30FC, 0x30C4, 0, | ||
4380 | 15, 0x332D, 0x30D0, 0x30FC, 0x30EC, 0x30EB, 0, | ||
4381 | 15, 0x332E, 0x30D4, 0x30A2, 0x30B9, 0x30C8, 0x30EB, 0, | ||
4382 | 15, 0x332F, 0x30D4, 0x30AF, 0x30EB, 0, | ||
4383 | 15, 0x3330, 0x30D4, 0x30B3, 0, | ||
4384 | 15, 0x3331, 0x30D3, 0x30EB, 0, | ||
4385 | 15, 0x3332, 0x30D5, 0x30A1, 0x30E9, 0x30C3, 0x30C9, 0, | ||
4386 | 15, 0x3333, 0x30D5, 0x30A3, 0x30FC, 0x30C8, 0, | ||
4387 | 15, 0x3334, 0x30D6, 0x30C3, 0x30B7, 0x30A7, 0x30EB, 0, | ||
4388 | 15, 0x3335, 0x30D5, 0x30E9, 0x30F3, 0, | ||
4389 | 15, 0x3336, 0x30D8, 0x30AF, 0x30BF, 0x30FC, 0x30EB, 0, | ||
4390 | 15, 0x3337, 0x30DA, 0x30BD, 0, | ||
4391 | 15, 0x3338, 0x30DA, 0x30CB, 0x30D2, 0, | ||
4392 | 15, 0x3339, 0x30D8, 0x30EB, 0x30C4, 0, | ||
4393 | 15, 0x333A, 0x30DA, 0x30F3, 0x30B9, 0, | ||
4394 | 15, 0x333B, 0x30DA, 0x30FC, 0x30B8, 0, | ||
4395 | 15, 0x333C, 0x30D9, 0x30FC, 0x30BF, 0, | ||
4396 | 15, 0x333D, 0x30DD, 0x30A4, 0x30F3, 0x30C8, 0, | ||
4397 | 15, 0x333E, 0x30DC, 0x30EB, 0x30C8, 0, | ||
4398 | 15, 0x333F, 0x30DB, 0x30F3, 0, | ||
4399 | 15, 0x3340, 0x30DD, 0x30F3, 0x30C9, 0, | ||
4400 | 15, 0x3341, 0x30DB, 0x30FC, 0x30EB, 0, | ||
4401 | 15, 0x3342, 0x30DB, 0x30FC, 0x30F3, 0, | ||
4402 | 15, 0x3343, 0x30DE, 0x30A4, 0x30AF, 0x30ED, 0, | ||
4403 | 15, 0x3344, 0x30DE, 0x30A4, 0x30EB, 0, | ||
4404 | 15, 0x3345, 0x30DE, 0x30C3, 0x30CF, 0, | ||
4405 | 15, 0x3346, 0x30DE, 0x30EB, 0x30AF, 0, | ||
4406 | 15, 0x3347, 0x30DE, 0x30F3, 0x30B7, 0x30E7, 0x30F3, 0, | ||
4407 | 15, 0x3348, 0x30DF, 0x30AF, 0x30ED, 0x30F3, 0, | ||
4408 | 15, 0x3349, 0x30DF, 0x30EA, 0, | ||
4409 | 15, 0x334A, 0x30DF, 0x30EA, 0x30D0, 0x30FC, 0x30EB, 0, | ||
4410 | 15, 0x334B, 0x30E1, 0x30AC, 0, | ||
4411 | 15, 0x334C, 0x30E1, 0x30AC, 0x30C8, 0x30F3, 0, | ||
4412 | 15, 0x334D, 0x30E1, 0x30FC, 0x30C8, 0x30EB, 0, | ||
4413 | 15, 0x334E, 0x30E4, 0x30FC, 0x30C9, 0, | ||
4414 | 15, 0x334F, 0x30E4, 0x30FC, 0x30EB, 0, | ||
4415 | 15, 0x3350, 0x30E6, 0x30A2, 0x30F3, 0, | ||
4416 | 15, 0x3351, 0x30EA, 0x30C3, 0x30C8, 0x30EB, 0, | ||
4417 | 15, 0x3352, 0x30EA, 0x30E9, 0, | ||
4418 | 15, 0x3353, 0x30EB, 0x30D4, 0x30FC, 0, | ||
4419 | 15, 0x3354, 0x30EB, 0x30FC, 0x30D6, 0x30EB, 0, | ||
4420 | 15, 0x3355, 0x30EC, 0x30E0, 0, | ||
4421 | 15, 0x3356, 0x30EC, 0x30F3, 0x30C8, 0x30B2, 0x30F3, 0, | ||
4422 | 15, 0x3357, 0x30EF, 0x30C3, 0x30C8, 0, | ||
4423 | 16, 0x3358, 0x0030, 0x70B9, 0, | ||
4424 | 16, 0x3359, 0x0031, 0x70B9, 0, | ||
4425 | 16, 0x335A, 0x0032, 0x70B9, 0, | ||
4426 | 16, 0x335B, 0x0033, 0x70B9, 0, | ||
4427 | 16, 0x335C, 0x0034, 0x70B9, 0, | ||
4428 | 16, 0x335D, 0x0035, 0x70B9, 0, | ||
4429 | 16, 0x335E, 0x0036, 0x70B9, 0, | ||
4430 | 16, 0x335F, 0x0037, 0x70B9, 0, | ||
4431 | 16, 0x3360, 0x0038, 0x70B9, 0, | ||
4432 | 16, 0x3361, 0x0039, 0x70B9, 0, | ||
4433 | 16, 0x3362, 0x0031, 0x0030, 0x70B9, 0, | ||
4434 | 16, 0x3363, 0x0031, 0x0031, 0x70B9, 0, | ||
4435 | 16, 0x3364, 0x0031, 0x0032, 0x70B9, 0, | ||
4436 | 16, 0x3365, 0x0031, 0x0033, 0x70B9, 0, | ||
4437 | 16, 0x3366, 0x0031, 0x0034, 0x70B9, 0, | ||
4438 | 16, 0x3367, 0x0031, 0x0035, 0x70B9, 0, | ||
4439 | 16, 0x3368, 0x0031, 0x0036, 0x70B9, 0, | ||
4440 | 16, 0x3369, 0x0031, 0x0037, 0x70B9, 0, | ||
4441 | 16, 0x336A, 0x0031, 0x0038, 0x70B9, 0, | ||
4442 | 16, 0x336B, 0x0031, 0x0039, 0x70B9, 0, | ||
4443 | 16, 0x336C, 0x0032, 0x0030, 0x70B9, 0, | ||
4444 | 16, 0x336D, 0x0032, 0x0031, 0x70B9, 0, | ||
4445 | 16, 0x336E, 0x0032, 0x0032, 0x70B9, 0, | ||
4446 | 16, 0x336F, 0x0032, 0x0033, 0x70B9, 0, | ||
4447 | 16, 0x3370, 0x0032, 0x0034, 0x70B9, 0, | ||
4448 | 15, 0x3371, 0x0068, 0x0050, 0x0061, 0, | ||
4449 | 15, 0x3372, 0x0064, 0x0061, 0, | ||
4450 | 15, 0x3373, 0x0041, 0x0055, 0, | ||
4451 | 15, 0x3374, 0x0062, 0x0061, 0x0072, 0, | ||
4452 | 15, 0x3375, 0x006F, 0x0056, 0, | ||
4453 | 15, 0x3376, 0x0070, 0x0063, 0, | ||
4454 | 15, 0x337B, 0x5E73, 0x6210, 0, | ||
4455 | 15, 0x337C, 0x662D, 0x548C, 0, | ||
4456 | 15, 0x337D, 0x5927, 0x6B63, 0, | ||
4457 | 15, 0x337E, 0x660E, 0x6CBB, 0, | ||
4458 | 15, 0x337F, 0x682A, 0x5F0F, 0x4F1A, 0x793E, 0, | ||
4459 | 15, 0x3380, 0x0070, 0x0041, 0, | ||
4460 | 15, 0x3381, 0x006E, 0x0041, 0, | ||
4461 | 15, 0x3382, 0x03BC, 0x0041, 0, | ||
4462 | 15, 0x3383, 0x006D, 0x0041, 0, | ||
4463 | 15, 0x3384, 0x006B, 0x0041, 0, | ||
4464 | 15, 0x3385, 0x004B, 0x0042, 0, | ||
4465 | 15, 0x3386, 0x004D, 0x0042, 0, | ||
4466 | 15, 0x3387, 0x0047, 0x0042, 0, | ||
4467 | 15, 0x3388, 0x0063, 0x0061, 0x006C, 0, | ||
4468 | 15, 0x3389, 0x006B, 0x0063, 0x0061, 0x006C, 0, | ||
4469 | 15, 0x338A, 0x0070, 0x0046, 0, | ||
4470 | 15, 0x338B, 0x006E, 0x0046, 0, | ||
4471 | 15, 0x338C, 0x03BC, 0x0046, 0, | ||
4472 | 15, 0x338D, 0x03BC, 0x0067, 0, | ||
4473 | 15, 0x338E, 0x006D, 0x0067, 0, | ||
4474 | 15, 0x338F, 0x006B, 0x0067, 0, | ||
4475 | 15, 0x3390, 0x0048, 0x007A, 0, | ||
4476 | 15, 0x3391, 0x006B, 0x0048, 0x007A, 0, | ||
4477 | 15, 0x3392, 0x004D, 0x0048, 0x007A, 0, | ||
4478 | 15, 0x3393, 0x0047, 0x0048, 0x007A, 0, | ||
4479 | 15, 0x3394, 0x0054, 0x0048, 0x007A, 0, | ||
4480 | 15, 0x3395, 0x03BC, 0x2113, 0, | ||
4481 | 15, 0x3396, 0x006D, 0x2113, 0, | ||
4482 | 15, 0x3397, 0x0064, 0x2113, 0, | ||
4483 | 15, 0x3398, 0x006B, 0x2113, 0, | ||
4484 | 15, 0x3399, 0x0066, 0x006D, 0, | ||
4485 | 15, 0x339A, 0x006E, 0x006D, 0, | ||
4486 | 15, 0x339B, 0x03BC, 0x006D, 0, | ||
4487 | 15, 0x339C, 0x006D, 0x006D, 0, | ||
4488 | 15, 0x339D, 0x0063, 0x006D, 0, | ||
4489 | 15, 0x339E, 0x006B, 0x006D, 0, | ||
4490 | 15, 0x339F, 0x006D, 0x006D, 0x00B2, 0, | ||
4491 | 15, 0x33A0, 0x0063, 0x006D, 0x00B2, 0, | ||
4492 | 15, 0x33A1, 0x006D, 0x00B2, 0, | ||
4493 | 15, 0x33A2, 0x006B, 0x006D, 0x00B2, 0, | ||
4494 | 15, 0x33A3, 0x006D, 0x006D, 0x00B3, 0, | ||
4495 | 15, 0x33A4, 0x0063, 0x006D, 0x00B3, 0, | ||
4496 | 15, 0x33A5, 0x006D, 0x00B3, 0, | ||
4497 | 15, 0x33A6, 0x006B, 0x006D, 0x00B3, 0, | ||
4498 | 15, 0x33A7, 0x006D, 0x2215, 0x0073, 0, | ||
4499 | 15, 0x33A8, 0x006D, 0x2215, 0x0073, 0x00B2, 0, | ||
4500 | 15, 0x33A9, 0x0050, 0x0061, 0, | ||
4501 | 15, 0x33AA, 0x006B, 0x0050, 0x0061, 0, | ||
4502 | 15, 0x33AB, 0x004D, 0x0050, 0x0061, 0, | ||
4503 | 15, 0x33AC, 0x0047, 0x0050, 0x0061, 0, | ||
4504 | 15, 0x33AD, 0x0072, 0x0061, 0x0064, 0, | ||
4505 | 15, 0x33AE, 0x0072, 0x0061, 0x0064, 0x2215, 0x0073, 0, | ||
4506 | 15, 0x33AF, 0x0072, 0x0061, 0x0064, 0x2215, 0x0073, 0x00B2, 0, | ||
4507 | 15, 0x33B0, 0x0070, 0x0073, 0, | ||
4508 | 15, 0x33B1, 0x006E, 0x0073, 0, | ||
4509 | 15, 0x33B2, 0x03BC, 0x0073, 0, | ||
4510 | 15, 0x33B3, 0x006D, 0x0073, 0, | ||
4511 | 15, 0x33B4, 0x0070, 0x0056, 0, | ||
4512 | 15, 0x33B5, 0x006E, 0x0056, 0, | ||
4513 | 15, 0x33B6, 0x03BC, 0x0056, 0, | ||
4514 | 15, 0x33B7, 0x006D, 0x0056, 0, | ||
4515 | 15, 0x33B8, 0x006B, 0x0056, 0, | ||
4516 | 15, 0x33B9, 0x004D, 0x0056, 0, | ||
4517 | 15, 0x33BA, 0x0070, 0x0057, 0, | ||
4518 | 15, 0x33BB, 0x006E, 0x0057, 0, | ||
4519 | 15, 0x33BC, 0x03BC, 0x0057, 0, | ||
4520 | 15, 0x33BD, 0x006D, 0x0057, 0, | ||
4521 | 15, 0x33BE, 0x006B, 0x0057, 0, | ||
4522 | 15, 0x33BF, 0x004D, 0x0057, 0, | ||
4523 | 15, 0x33C0, 0x006B, 0x03A9, 0, | ||
4524 | 15, 0x33C1, 0x004D, 0x03A9, 0, | ||
4525 | 15, 0x33C2, 0x0061, 0x002E, 0x006D, 0x002E, 0, | ||
4526 | 15, 0x33C3, 0x0042, 0x0071, 0, | ||
4527 | 15, 0x33C4, 0x0063, 0x0063, 0, | ||
4528 | 15, 0x33C5, 0x0063, 0x0064, 0, | ||
4529 | 15, 0x33C6, 0x0043, 0x2215, 0x006B, 0x0067, 0, | ||
4530 | 15, 0x33C7, 0x0043, 0x006F, 0x002E, 0, | ||
4531 | 15, 0x33C8, 0x0064, 0x0042, 0, | ||
4532 | 15, 0x33C9, 0x0047, 0x0079, 0, | ||
4533 | 15, 0x33CA, 0x0068, 0x0061, 0, | ||
4534 | 15, 0x33CB, 0x0048, 0x0050, 0, | ||
4535 | 15, 0x33CC, 0x0069, 0x006E, 0, | ||
4536 | 15, 0x33CD, 0x004B, 0x004B, 0, | ||
4537 | 15, 0x33CE, 0x004B, 0x004D, 0, | ||
4538 | 15, 0x33CF, 0x006B, 0x0074, 0, | ||
4539 | 15, 0x33D0, 0x006C, 0x006D, 0, | ||
4540 | 15, 0x33D1, 0x006C, 0x006E, 0, | ||
4541 | 15, 0x33D2, 0x006C, 0x006F, 0x0067, 0, | ||
4542 | 15, 0x33D3, 0x006C, 0x0078, 0, | ||
4543 | 15, 0x33D4, 0x006D, 0x0062, 0, | ||
4544 | 15, 0x33D5, 0x006D, 0x0069, 0x006C, 0, | ||
4545 | 15, 0x33D6, 0x006D, 0x006F, 0x006C, 0, | ||
4546 | 15, 0x33D7, 0x0050, 0x0048, 0, | ||
4547 | 15, 0x33D8, 0x0070, 0x002E, 0x006D, 0x002E, 0, | ||
4548 | 15, 0x33D9, 0x0050, 0x0050, 0x004D, 0, | ||
4549 | 15, 0x33DA, 0x0050, 0x0052, 0, | ||
4550 | 15, 0x33DB, 0x0073, 0x0072, 0, | ||
4551 | 15, 0x33DC, 0x0053, 0x0076, 0, | ||
4552 | 15, 0x33DD, 0x0057, 0x0062, 0, | ||
4553 | 16, 0x33E0, 0x0031, 0x65E5, 0, | ||
4554 | 16, 0x33E1, 0x0032, 0x65E5, 0, | ||
4555 | 16, 0x33E2, 0x0033, 0x65E5, 0, | ||
4556 | 16, 0x33E3, 0x0034, 0x65E5, 0, | ||
4557 | 16, 0x33E4, 0x0035, 0x65E5, 0, | ||
4558 | 16, 0x33E5, 0x0036, 0x65E5, 0, | ||
4559 | 16, 0x33E6, 0x0037, 0x65E5, 0, | ||
4560 | 16, 0x33E7, 0x0038, 0x65E5, 0, | ||
4561 | 16, 0x33E8, 0x0039, 0x65E5, 0, | ||
4562 | 16, 0x33E9, 0x0031, 0x0030, 0x65E5, 0, | ||
4563 | 16, 0x33EA, 0x0031, 0x0031, 0x65E5, 0, | ||
4564 | 16, 0x33EB, 0x0031, 0x0032, 0x65E5, 0, | ||
4565 | 16, 0x33EC, 0x0031, 0x0033, 0x65E5, 0, | ||
4566 | 16, 0x33ED, 0x0031, 0x0034, 0x65E5, 0, | ||
4567 | 16, 0x33EE, 0x0031, 0x0035, 0x65E5, 0, | ||
4568 | 16, 0x33EF, 0x0031, 0x0036, 0x65E5, 0, | ||
4569 | 16, 0x33F0, 0x0031, 0x0037, 0x65E5, 0, | ||
4570 | 16, 0x33F1, 0x0031, 0x0038, 0x65E5, 0, | ||
4571 | 16, 0x33F2, 0x0031, 0x0039, 0x65E5, 0, | ||
4572 | 16, 0x33F3, 0x0032, 0x0030, 0x65E5, 0, | ||
4573 | 16, 0x33F4, 0x0032, 0x0031, 0x65E5, 0, | ||
4574 | 16, 0x33F5, 0x0032, 0x0032, 0x65E5, 0, | ||
4575 | 16, 0x33F6, 0x0032, 0x0033, 0x65E5, 0, | ||
4576 | 16, 0x33F7, 0x0032, 0x0034, 0x65E5, 0, | ||
4577 | 16, 0x33F8, 0x0032, 0x0035, 0x65E5, 0, | ||
4578 | 16, 0x33F9, 0x0032, 0x0036, 0x65E5, 0, | ||
4579 | 16, 0x33FA, 0x0032, 0x0037, 0x65E5, 0, | ||
4580 | 16, 0x33FB, 0x0032, 0x0038, 0x65E5, 0, | ||
4581 | 16, 0x33FC, 0x0032, 0x0039, 0x65E5, 0, | ||
4582 | 16, 0x33FD, 0x0033, 0x0030, 0x65E5, 0, | ||
4583 | 16, 0x33FE, 0x0033, 0x0031, 0x65E5, 0, | ||
4584 | 1, 0xF900, 0x8C48, 0, | ||
4585 | 1, 0xF901, 0x66F4, 0, | ||
4586 | 1, 0xF902, 0x8ECA, 0, | ||
4587 | 1, 0xF903, 0x8CC8, 0, | ||
4588 | 1, 0xF904, 0x6ED1, 0, | ||
4589 | 1, 0xF905, 0x4E32, 0, | ||
4590 | 1, 0xF906, 0x53E5, 0, | ||
4591 | 1, 0xF907, 0x9F9C, 0, | ||
4592 | 1, 0xF908, 0x9F9C, 0, | ||
4593 | 1, 0xF909, 0x5951, 0, | ||
4594 | 1, 0xF90A, 0x91D1, 0, | ||
4595 | 1, 0xF90B, 0x5587, 0, | ||
4596 | 1, 0xF90C, 0x5948, 0, | ||
4597 | 1, 0xF90D, 0x61F6, 0, | ||
4598 | 1, 0xF90E, 0x7669, 0, | ||
4599 | 1, 0xF90F, 0x7F85, 0, | ||
4600 | 1, 0xF910, 0x863F, 0, | ||
4601 | 1, 0xF911, 0x87BA, 0, | ||
4602 | 1, 0xF912, 0x88F8, 0, | ||
4603 | 1, 0xF913, 0x908F, 0, | ||
4604 | 1, 0xF914, 0x6A02, 0, | ||
4605 | 1, 0xF915, 0x6D1B, 0, | ||
4606 | 1, 0xF916, 0x70D9, 0, | ||
4607 | 1, 0xF917, 0x73DE, 0, | ||
4608 | 1, 0xF918, 0x843D, 0, | ||
4609 | 1, 0xF919, 0x916A, 0, | ||
4610 | 1, 0xF91A, 0x99F1, 0, | ||
4611 | 1, 0xF91B, 0x4E82, 0, | ||
4612 | 1, 0xF91C, 0x5375, 0, | ||
4613 | 1, 0xF91D, 0x6B04, 0, | ||
4614 | 1, 0xF91E, 0x721B, 0, | ||
4615 | 1, 0xF91F, 0x862D, 0, | ||
4616 | 1, 0xF920, 0x9E1E, 0, | ||
4617 | 1, 0xF921, 0x5D50, 0, | ||
4618 | 1, 0xF922, 0x6FEB, 0, | ||
4619 | 1, 0xF923, 0x85CD, 0, | ||
4620 | 1, 0xF924, 0x8964, 0, | ||
4621 | 1, 0xF925, 0x62C9, 0, | ||
4622 | 1, 0xF926, 0x81D8, 0, | ||
4623 | 1, 0xF927, 0x881F, 0, | ||
4624 | 1, 0xF928, 0x5ECA, 0, | ||
4625 | 1, 0xF929, 0x6717, 0, | ||
4626 | 1, 0xF92A, 0x6D6A, 0, | ||
4627 | 1, 0xF92B, 0x72FC, 0, | ||
4628 | 1, 0xF92C, 0x90CE, 0, | ||
4629 | 1, 0xF92D, 0x4F86, 0, | ||
4630 | 1, 0xF92E, 0x51B7, 0, | ||
4631 | 1, 0xF92F, 0x52DE, 0, | ||
4632 | 1, 0xF930, 0x64C4, 0, | ||
4633 | 1, 0xF931, 0x6AD3, 0, | ||
4634 | 1, 0xF932, 0x7210, 0, | ||
4635 | 1, 0xF933, 0x76E7, 0, | ||
4636 | 1, 0xF934, 0x8001, 0, | ||
4637 | 1, 0xF935, 0x8606, 0, | ||
4638 | 1, 0xF936, 0x865C, 0, | ||
4639 | 1, 0xF937, 0x8DEF, 0, | ||
4640 | 1, 0xF938, 0x9732, 0, | ||
4641 | 1, 0xF939, 0x9B6F, 0, | ||
4642 | 1, 0xF93A, 0x9DFA, 0, | ||
4643 | 1, 0xF93B, 0x788C, 0, | ||
4644 | 1, 0xF93C, 0x797F, 0, | ||
4645 | 1, 0xF93D, 0x7DA0, 0, | ||
4646 | 1, 0xF93E, 0x83C9, 0, | ||
4647 | 1, 0xF93F, 0x9304, 0, | ||
4648 | 1, 0xF940, 0x9E7F, 0, | ||
4649 | 1, 0xF941, 0x8AD6, 0, | ||
4650 | 1, 0xF942, 0x58DF, 0, | ||
4651 | 1, 0xF943, 0x5F04, 0, | ||
4652 | 1, 0xF944, 0x7C60, 0, | ||
4653 | 1, 0xF945, 0x807E, 0, | ||
4654 | 1, 0xF946, 0x7262, 0, | ||
4655 | 1, 0xF947, 0x78CA, 0, | ||
4656 | 1, 0xF948, 0x8CC2, 0, | ||
4657 | 1, 0xF949, 0x96F7, 0, | ||
4658 | 1, 0xF94A, 0x58D8, 0, | ||
4659 | 1, 0xF94B, 0x5C62, 0, | ||
4660 | 1, 0xF94C, 0x6A13, 0, | ||
4661 | 1, 0xF94D, 0x6DDA, 0, | ||
4662 | 1, 0xF94E, 0x6F0F, 0, | ||
4663 | 1, 0xF94F, 0x7D2F, 0, | ||
4664 | 1, 0xF950, 0x7E37, 0, | ||
4665 | 1, 0xF951, 0x964B, 0, | ||
4666 | 1, 0xF952, 0x52D2, 0, | ||
4667 | 1, 0xF953, 0x808B, 0, | ||
4668 | 1, 0xF954, 0x51DC, 0, | ||
4669 | 1, 0xF955, 0x51CC, 0, | ||
4670 | 1, 0xF956, 0x7A1C, 0, | ||
4671 | 1, 0xF957, 0x7DBE, 0, | ||
4672 | 1, 0xF958, 0x83F1, 0, | ||
4673 | 1, 0xF959, 0x9675, 0, | ||
4674 | 1, 0xF95A, 0x8B80, 0, | ||
4675 | 1, 0xF95B, 0x62CF, 0, | ||
4676 | 1, 0xF95C, 0x6A02, 0, | ||
4677 | 1, 0xF95D, 0x8AFE, 0, | ||
4678 | 1, 0xF95E, 0x4E39, 0, | ||
4679 | 1, 0xF95F, 0x5BE7, 0, | ||
4680 | 1, 0xF960, 0x6012, 0, | ||
4681 | 1, 0xF961, 0x7387, 0, | ||
4682 | 1, 0xF962, 0x7570, 0, | ||
4683 | 1, 0xF963, 0x5317, 0, | ||
4684 | 1, 0xF964, 0x78FB, 0, | ||
4685 | 1, 0xF965, 0x4FBF, 0, | ||
4686 | 1, 0xF966, 0x5FA9, 0, | ||
4687 | 1, 0xF967, 0x4E0D, 0, | ||
4688 | 1, 0xF968, 0x6CCC, 0, | ||
4689 | 1, 0xF969, 0x6578, 0, | ||
4690 | 1, 0xF96A, 0x7D22, 0, | ||
4691 | 1, 0xF96B, 0x53C3, 0, | ||
4692 | 1, 0xF96C, 0x585E, 0, | ||
4693 | 1, 0xF96D, 0x7701, 0, | ||
4694 | 1, 0xF96E, 0x8449, 0, | ||
4695 | 1, 0xF96F, 0x8AAA, 0, | ||
4696 | 1, 0xF970, 0x6BBA, 0, | ||
4697 | 1, 0xF971, 0x8FB0, 0, | ||
4698 | 1, 0xF972, 0x6C88, 0, | ||
4699 | 1, 0xF973, 0x62FE, 0, | ||
4700 | 1, 0xF974, 0x82E5, 0, | ||
4701 | 1, 0xF975, 0x63A0, 0, | ||
4702 | 1, 0xF976, 0x7565, 0, | ||
4703 | 1, 0xF977, 0x4EAE, 0, | ||
4704 | 1, 0xF978, 0x5169, 0, | ||
4705 | 1, 0xF979, 0x51C9, 0, | ||
4706 | 1, 0xF97A, 0x6881, 0, | ||
4707 | 1, 0xF97B, 0x7CE7, 0, | ||
4708 | 1, 0xF97C, 0x826F, 0, | ||
4709 | 1, 0xF97D, 0x8AD2, 0, | ||
4710 | 1, 0xF97E, 0x91CF, 0, | ||
4711 | 1, 0xF97F, 0x52F5, 0, | ||
4712 | 1, 0xF980, 0x5442, 0, | ||
4713 | 1, 0xF981, 0x5973, 0, | ||
4714 | 1, 0xF982, 0x5EEC, 0, | ||
4715 | 1, 0xF983, 0x65C5, 0, | ||
4716 | 1, 0xF984, 0x6FFE, 0, | ||
4717 | 1, 0xF985, 0x792A, 0, | ||
4718 | 1, 0xF986, 0x95AD, 0, | ||
4719 | 1, 0xF987, 0x9A6A, 0, | ||
4720 | 1, 0xF988, 0x9E97, 0, | ||
4721 | 1, 0xF989, 0x9ECE, 0, | ||
4722 | 1, 0xF98A, 0x529B, 0, | ||
4723 | 1, 0xF98B, 0x66C6, 0, | ||
4724 | 1, 0xF98C, 0x6B77, 0, | ||
4725 | 1, 0xF98D, 0x8F62, 0, | ||
4726 | 1, 0xF98E, 0x5E74, 0, | ||
4727 | 1, 0xF98F, 0x6190, 0, | ||
4728 | 1, 0xF990, 0x6200, 0, | ||
4729 | 1, 0xF991, 0x649A, 0, | ||
4730 | 1, 0xF992, 0x6F23, 0, | ||
4731 | 1, 0xF993, 0x7149, 0, | ||
4732 | 1, 0xF994, 0x7489, 0, | ||
4733 | 1, 0xF995, 0x79CA, 0, | ||
4734 | 1, 0xF996, 0x7DF4, 0, | ||
4735 | 1, 0xF997, 0x806F, 0, | ||
4736 | 1, 0xF998, 0x8F26, 0, | ||
4737 | 1, 0xF999, 0x84EE, 0, | ||
4738 | 1, 0xF99A, 0x9023, 0, | ||
4739 | 1, 0xF99B, 0x934A, 0, | ||
4740 | 1, 0xF99C, 0x5217, 0, | ||
4741 | 1, 0xF99D, 0x52A3, 0, | ||
4742 | 1, 0xF99E, 0x54BD, 0, | ||
4743 | 1, 0xF99F, 0x70C8, 0, | ||
4744 | 1, 0xF9A0, 0x88C2, 0, | ||
4745 | 1, 0xF9A1, 0x8AAA, 0, | ||
4746 | 1, 0xF9A2, 0x5EC9, 0, | ||
4747 | 1, 0xF9A3, 0x5FF5, 0, | ||
4748 | 1, 0xF9A4, 0x637B, 0, | ||
4749 | 1, 0xF9A5, 0x6BAE, 0, | ||
4750 | 1, 0xF9A6, 0x7C3E, 0, | ||
4751 | 1, 0xF9A7, 0x7375, 0, | ||
4752 | 1, 0xF9A8, 0x4EE4, 0, | ||
4753 | 1, 0xF9A9, 0x56F9, 0, | ||
4754 | 1, 0xF9AA, 0x5BE7, 0, | ||
4755 | 1, 0xF9AB, 0x5DBA, 0, | ||
4756 | 1, 0xF9AC, 0x601C, 0, | ||
4757 | 1, 0xF9AD, 0x73B2, 0, | ||
4758 | 1, 0xF9AE, 0x7469, 0, | ||
4759 | 1, 0xF9AF, 0x7F9A, 0, | ||
4760 | 1, 0xF9B0, 0x8046, 0, | ||
4761 | 1, 0xF9B1, 0x9234, 0, | ||
4762 | 1, 0xF9B2, 0x96F6, 0, | ||
4763 | 1, 0xF9B3, 0x9748, 0, | ||
4764 | 1, 0xF9B4, 0x9818, 0, | ||
4765 | 1, 0xF9B5, 0x4F8B, 0, | ||
4766 | 1, 0xF9B6, 0x79AE, 0, | ||
4767 | 1, 0xF9B7, 0x91B4, 0, | ||
4768 | 1, 0xF9B8, 0x96B8, 0, | ||
4769 | 1, 0xF9B9, 0x60E1, 0, | ||
4770 | 1, 0xF9BA, 0x4E86, 0, | ||
4771 | 1, 0xF9BB, 0x50DA, 0, | ||
4772 | 1, 0xF9BC, 0x5BEE, 0, | ||
4773 | 1, 0xF9BD, 0x5C3F, 0, | ||
4774 | 1, 0xF9BE, 0x6599, 0, | ||
4775 | 1, 0xF9BF, 0x6A02, 0, | ||
4776 | 1, 0xF9C0, 0x71CE, 0, | ||
4777 | 1, 0xF9C1, 0x7642, 0, | ||
4778 | 1, 0xF9C2, 0x84FC, 0, | ||
4779 | 1, 0xF9C3, 0x907C, 0, | ||
4780 | 1, 0xF9C4, 0x9F8D, 0, | ||
4781 | 1, 0xF9C5, 0x6688, 0, | ||
4782 | 1, 0xF9C6, 0x962E, 0, | ||
4783 | 1, 0xF9C7, 0x5289, 0, | ||
4784 | 1, 0xF9C8, 0x677B, 0, | ||
4785 | 1, 0xF9C9, 0x67F3, 0, | ||
4786 | 1, 0xF9CA, 0x6D41, 0, | ||
4787 | 1, 0xF9CB, 0x6E9C, 0, | ||
4788 | 1, 0xF9CC, 0x7409, 0, | ||
4789 | 1, 0xF9CD, 0x7559, 0, | ||
4790 | 1, 0xF9CE, 0x786B, 0, | ||
4791 | 1, 0xF9CF, 0x7D10, 0, | ||
4792 | 1, 0xF9D0, 0x985E, 0, | ||
4793 | 1, 0xF9D1, 0x516D, 0, | ||
4794 | 1, 0xF9D2, 0x622E, 0, | ||
4795 | 1, 0xF9D3, 0x9678, 0, | ||
4796 | 1, 0xF9D4, 0x502B, 0, | ||
4797 | 1, 0xF9D5, 0x5D19, 0, | ||
4798 | 1, 0xF9D6, 0x6DEA, 0, | ||
4799 | 1, 0xF9D7, 0x8F2A, 0, | ||
4800 | 1, 0xF9D8, 0x5F8B, 0, | ||
4801 | 1, 0xF9D9, 0x6144, 0, | ||
4802 | 1, 0xF9DA, 0x6817, 0, | ||
4803 | 1, 0xF9DB, 0x7387, 0, | ||
4804 | 1, 0xF9DC, 0x9686, 0, | ||
4805 | 1, 0xF9DD, 0x5229, 0, | ||
4806 | 1, 0xF9DE, 0x540F, 0, | ||
4807 | 1, 0xF9DF, 0x5C65, 0, | ||
4808 | 1, 0xF9E0, 0x6613, 0, | ||
4809 | 1, 0xF9E1, 0x674E, 0, | ||
4810 | 1, 0xF9E2, 0x68A8, 0, | ||
4811 | 1, 0xF9E3, 0x6CE5, 0, | ||
4812 | 1, 0xF9E4, 0x7406, 0, | ||
4813 | 1, 0xF9E5, 0x75E2, 0, | ||
4814 | 1, 0xF9E6, 0x7F79, 0, | ||
4815 | 1, 0xF9E7, 0x88CF, 0, | ||
4816 | 1, 0xF9E8, 0x88E1, 0, | ||
4817 | 1, 0xF9E9, 0x91CC, 0, | ||
4818 | 1, 0xF9EA, 0x96E2, 0, | ||
4819 | 1, 0xF9EB, 0x533F, 0, | ||
4820 | 1, 0xF9EC, 0x6EBA, 0, | ||
4821 | 1, 0xF9ED, 0x541D, 0, | ||
4822 | 1, 0xF9EE, 0x71D0, 0, | ||
4823 | 1, 0xF9EF, 0x7498, 0, | ||
4824 | 1, 0xF9F0, 0x85FA, 0, | ||
4825 | 1, 0xF9F1, 0x96A3, 0, | ||
4826 | 1, 0xF9F2, 0x9C57, 0, | ||
4827 | 1, 0xF9F3, 0x9E9F, 0, | ||
4828 | 1, 0xF9F4, 0x6797, 0, | ||
4829 | 1, 0xF9F5, 0x6DCB, 0, | ||
4830 | 1, 0xF9F6, 0x81E8, 0, | ||
4831 | 1, 0xF9F7, 0x7ACB, 0, | ||
4832 | 1, 0xF9F8, 0x7B20, 0, | ||
4833 | 1, 0xF9F9, 0x7C92, 0, | ||
4834 | 1, 0xF9FA, 0x72C0, 0, | ||
4835 | 1, 0xF9FB, 0x7099, 0, | ||
4836 | 1, 0xF9FC, 0x8B58, 0, | ||
4837 | 1, 0xF9FD, 0x4EC0, 0, | ||
4838 | 1, 0xF9FE, 0x8336, 0, | ||
4839 | 1, 0xF9FF, 0x523A, 0, | ||
4840 | 1, 0xFA00, 0x5207, 0, | ||
4841 | 1, 0xFA01, 0x5EA6, 0, | ||
4842 | 1, 0xFA02, 0x62D3, 0, | ||
4843 | 1, 0xFA03, 0x7CD6, 0, | ||
4844 | 1, 0xFA04, 0x5B85, 0, | ||
4845 | 1, 0xFA05, 0x6D1E, 0, | ||
4846 | 1, 0xFA06, 0x66B4, 0, | ||
4847 | 1, 0xFA07, 0x8F3B, 0, | ||
4848 | 1, 0xFA08, 0x884C, 0, | ||
4849 | 1, 0xFA09, 0x964D, 0, | ||
4850 | 1, 0xFA0A, 0x898B, 0, | ||
4851 | 1, 0xFA0B, 0x5ED3, 0, | ||
4852 | 1, 0xFA0C, 0x5140, 0, | ||
4853 | 1, 0xFA0D, 0x55C0, 0, | ||
4854 | 1, 0xFA10, 0x585A, 0, | ||
4855 | 1, 0xFA12, 0x6674, 0, | ||
4856 | 1, 0xFA15, 0x51DE, 0, | ||
4857 | 1, 0xFA16, 0x732A, 0, | ||
4858 | 1, 0xFA17, 0x76CA, 0, | ||
4859 | 1, 0xFA18, 0x793C, 0, | ||
4860 | 1, 0xFA19, 0x795E, 0, | ||
4861 | 1, 0xFA1A, 0x7965, 0, | ||
4862 | 1, 0xFA1B, 0x798F, 0, | ||
4863 | 1, 0xFA1C, 0x9756, 0, | ||
4864 | 1, 0xFA1D, 0x7CBE, 0, | ||
4865 | 1, 0xFA1E, 0x7FBD, 0, | ||
4866 | 1, 0xFA20, 0x8612, 0, | ||
4867 | 1, 0xFA22, 0x8AF8, 0, | ||
4868 | 1, 0xFA25, 0x9038, 0, | ||
4869 | 1, 0xFA26, 0x90FD, 0, | ||
4870 | 1, 0xFA2A, 0x98EF, 0, | ||
4871 | 1, 0xFA2B, 0x98FC, 0, | ||
4872 | 1, 0xFA2C, 0x9928, 0, | ||
4873 | 1, 0xFA2D, 0x9DB4, 0, | ||
4874 | 1, 0xFA30, 0x4FAE, 0, | ||
4875 | 1, 0xFA31, 0x50E7, 0, | ||
4876 | 1, 0xFA32, 0x514D, 0, | ||
4877 | 1, 0xFA33, 0x52C9, 0, | ||
4878 | 1, 0xFA34, 0x52E4, 0, | ||
4879 | 1, 0xFA35, 0x5351, 0, | ||
4880 | 1, 0xFA36, 0x559D, 0, | ||
4881 | 1, 0xFA37, 0x5606, 0, | ||
4882 | 1, 0xFA38, 0x5668, 0, | ||
4883 | 1, 0xFA39, 0x5840, 0, | ||
4884 | 1, 0xFA3A, 0x58A8, 0, | ||
4885 | 1, 0xFA3B, 0x5C64, 0, | ||
4886 | 1, 0xFA3C, 0x5C6E, 0, | ||
4887 | 1, 0xFA3D, 0x6094, 0, | ||
4888 | 1, 0xFA3E, 0x6168, 0, | ||
4889 | 1, 0xFA3F, 0x618E, 0, | ||
4890 | 1, 0xFA40, 0x61F2, 0, | ||
4891 | 1, 0xFA41, 0x654F, 0, | ||
4892 | 1, 0xFA42, 0x65E2, 0, | ||
4893 | 1, 0xFA43, 0x6691, 0, | ||
4894 | 1, 0xFA44, 0x6885, 0, | ||
4895 | 1, 0xFA45, 0x6D77, 0, | ||
4896 | 1, 0xFA46, 0x6E1A, 0, | ||
4897 | 1, 0xFA47, 0x6F22, 0, | ||
4898 | 1, 0xFA48, 0x716E, 0, | ||
4899 | 1, 0xFA49, 0x722B, 0, | ||
4900 | 1, 0xFA4A, 0x7422, 0, | ||
4901 | 1, 0xFA4B, 0x7891, 0, | ||
4902 | 1, 0xFA4C, 0x793E, 0, | ||
4903 | 1, 0xFA4D, 0x7949, 0, | ||
4904 | 1, 0xFA4E, 0x7948, 0, | ||
4905 | 1, 0xFA4F, 0x7950, 0, | ||
4906 | 1, 0xFA50, 0x7956, 0, | ||
4907 | 1, 0xFA51, 0x795D, 0, | ||
4908 | 1, 0xFA52, 0x798D, 0, | ||
4909 | 1, 0xFA53, 0x798E, 0, | ||
4910 | 1, 0xFA54, 0x7A40, 0, | ||
4911 | 1, 0xFA55, 0x7A81, 0, | ||
4912 | 1, 0xFA56, 0x7BC0, 0, | ||
4913 | 1, 0xFA57, 0x7DF4, 0, | ||
4914 | 1, 0xFA58, 0x7E09, 0, | ||
4915 | 1, 0xFA59, 0x7E41, 0, | ||
4916 | 1, 0xFA5A, 0x7F72, 0, | ||
4917 | 1, 0xFA5B, 0x8005, 0, | ||
4918 | 1, 0xFA5C, 0x81ED, 0, | ||
4919 | 1, 0xFA5D, 0x8279, 0, | ||
4920 | 1, 0xFA5E, 0x8279, 0, | ||
4921 | 1, 0xFA5F, 0x8457, 0, | ||
4922 | 1, 0xFA60, 0x8910, 0, | ||
4923 | 1, 0xFA61, 0x8996, 0, | ||
4924 | 1, 0xFA62, 0x8B01, 0, | ||
4925 | 1, 0xFA63, 0x8B39, 0, | ||
4926 | 1, 0xFA64, 0x8CD3, 0, | ||
4927 | 1, 0xFA65, 0x8D08, 0, | ||
4928 | 1, 0xFA66, 0x8FB6, 0, | ||
4929 | 1, 0xFA67, 0x9038, 0, | ||
4930 | 1, 0xFA68, 0x96E3, 0, | ||
4931 | 1, 0xFA69, 0x97FF, 0, | ||
4932 | 1, 0xFA6A, 0x983B, 0, | ||
4933 | 16, 0xFB00, 0x0066, 0x0066, 0, | ||
4934 | 16, 0xFB01, 0x0066, 0x0069, 0, | ||
4935 | 16, 0xFB02, 0x0066, 0x006C, 0, | ||
4936 | 16, 0xFB03, 0x0066, 0x0066, 0x0069, 0, | ||
4937 | 16, 0xFB04, 0x0066, 0x0066, 0x006C, 0, | ||
4938 | 16, 0xFB05, 0x017F, 0x0074, 0, | ||
4939 | 16, 0xFB06, 0x0073, 0x0074, 0, | ||
4940 | 16, 0xFB13, 0x0574, 0x0576, 0, | ||
4941 | 16, 0xFB14, 0x0574, 0x0565, 0, | ||
4942 | 16, 0xFB15, 0x0574, 0x056B, 0, | ||
4943 | 16, 0xFB16, 0x057E, 0x0576, 0, | ||
4944 | 16, 0xFB17, 0x0574, 0x056D, 0, | ||
4945 | 1, 0xFB1D, 0x05D9, 0x05B4, 0, | ||
4946 | 1, 0xFB1F, 0x05F2, 0x05B7, 0, | ||
4947 | 2, 0xFB20, 0x05E2, 0, | ||
4948 | 2, 0xFB21, 0x05D0, 0, | ||
4949 | 2, 0xFB22, 0x05D3, 0, | ||
4950 | 2, 0xFB23, 0x05D4, 0, | ||
4951 | 2, 0xFB24, 0x05DB, 0, | ||
4952 | 2, 0xFB25, 0x05DC, 0, | ||
4953 | 2, 0xFB26, 0x05DD, 0, | ||
4954 | 2, 0xFB27, 0x05E8, 0, | ||
4955 | 2, 0xFB28, 0x05EA, 0, | ||
4956 | 2, 0xFB29, 0x002B, 0, | ||
4957 | 1, 0xFB2A, 0x05E9, 0x05C1, 0, | ||
4958 | 1, 0xFB2B, 0x05E9, 0x05C2, 0, | ||
4959 | 1, 0xFB2C, 0xFB49, 0x05C1, 0, | ||
4960 | 1, 0xFB2D, 0xFB49, 0x05C2, 0, | ||
4961 | 1, 0xFB2E, 0x05D0, 0x05B7, 0, | ||
4962 | 1, 0xFB2F, 0x05D0, 0x05B8, 0, | ||
4963 | 1, 0xFB30, 0x05D0, 0x05BC, 0, | ||
4964 | 1, 0xFB31, 0x05D1, 0x05BC, 0, | ||
4965 | 1, 0xFB32, 0x05D2, 0x05BC, 0, | ||
4966 | 1, 0xFB33, 0x05D3, 0x05BC, 0, | ||
4967 | 1, 0xFB34, 0x05D4, 0x05BC, 0, | ||
4968 | 1, 0xFB35, 0x05D5, 0x05BC, 0, | ||
4969 | 1, 0xFB36, 0x05D6, 0x05BC, 0, | ||
4970 | 1, 0xFB38, 0x05D8, 0x05BC, 0, | ||
4971 | 1, 0xFB39, 0x05D9, 0x05BC, 0, | ||
4972 | 1, 0xFB3A, 0x05DA, 0x05BC, 0, | ||
4973 | 1, 0xFB3B, 0x05DB, 0x05BC, 0, | ||
4974 | 1, 0xFB3C, 0x05DC, 0x05BC, 0, | ||
4975 | 1, 0xFB3E, 0x05DE, 0x05BC, 0, | ||
4976 | 1, 0xFB40, 0x05E0, 0x05BC, 0, | ||
4977 | 1, 0xFB41, 0x05E1, 0x05BC, 0, | ||
4978 | 1, 0xFB43, 0x05E3, 0x05BC, 0, | ||
4979 | 1, 0xFB44, 0x05E4, 0x05BC, 0, | ||
4980 | 1, 0xFB46, 0x05E6, 0x05BC, 0, | ||
4981 | 1, 0xFB47, 0x05E7, 0x05BC, 0, | ||
4982 | 1, 0xFB48, 0x05E8, 0x05BC, 0, | ||
4983 | 1, 0xFB49, 0x05E9, 0x05BC, 0, | ||
4984 | 1, 0xFB4A, 0x05EA, 0x05BC, 0, | ||
4985 | 1, 0xFB4B, 0x05D5, 0x05B9, 0, | ||
4986 | 1, 0xFB4C, 0x05D1, 0x05BF, 0, | ||
4987 | 1, 0xFB4D, 0x05DB, 0x05BF, 0, | ||
4988 | 1, 0xFB4E, 0x05E4, 0x05BF, 0, | ||
4989 | 16, 0xFB4F, 0x05D0, 0x05DC, 0, | ||
4990 | 7, 0xFB50, 0x0671, 0, | ||
4991 | 6, 0xFB51, 0x0671, 0, | ||
4992 | 7, 0xFB52, 0x067B, 0, | ||
4993 | 6, 0xFB53, 0x067B, 0, | ||
4994 | 4, 0xFB54, 0x067B, 0, | ||
4995 | 5, 0xFB55, 0x067B, 0, | ||
4996 | 7, 0xFB56, 0x067E, 0, | ||
4997 | 6, 0xFB57, 0x067E, 0, | ||
4998 | 4, 0xFB58, 0x067E, 0, | ||
4999 | 5, 0xFB59, 0x067E, 0, | ||
5000 | 7, 0xFB5A, 0x0680, 0, | ||
5001 | 6, 0xFB5B, 0x0680, 0, | ||
5002 | 4, 0xFB5C, 0x0680, 0, | ||
5003 | 5, 0xFB5D, 0x0680, 0, | ||
5004 | 7, 0xFB5E, 0x067A, 0, | ||
5005 | 6, 0xFB5F, 0x067A, 0, | ||
5006 | 4, 0xFB60, 0x067A, 0, | ||
5007 | 5, 0xFB61, 0x067A, 0, | ||
5008 | 7, 0xFB62, 0x067F, 0, | ||
5009 | 6, 0xFB63, 0x067F, 0, | ||
5010 | 4, 0xFB64, 0x067F, 0, | ||
5011 | 5, 0xFB65, 0x067F, 0, | ||
5012 | 7, 0xFB66, 0x0679, 0, | ||
5013 | 6, 0xFB67, 0x0679, 0, | ||
5014 | 4, 0xFB68, 0x0679, 0, | ||
5015 | 5, 0xFB69, 0x0679, 0, | ||
5016 | 7, 0xFB6A, 0x06A4, 0, | ||
5017 | 6, 0xFB6B, 0x06A4, 0, | ||
5018 | 4, 0xFB6C, 0x06A4, 0, | ||
5019 | 5, 0xFB6D, 0x06A4, 0, | ||
5020 | 7, 0xFB6E, 0x06A6, 0, | ||
5021 | 6, 0xFB6F, 0x06A6, 0, | ||
5022 | 4, 0xFB70, 0x06A6, 0, | ||
5023 | 5, 0xFB71, 0x06A6, 0, | ||
5024 | 7, 0xFB72, 0x0684, 0, | ||
5025 | 6, 0xFB73, 0x0684, 0, | ||
5026 | 4, 0xFB74, 0x0684, 0, | ||
5027 | 5, 0xFB75, 0x0684, 0, | ||
5028 | 7, 0xFB76, 0x0683, 0, | ||
5029 | 6, 0xFB77, 0x0683, 0, | ||
5030 | 4, 0xFB78, 0x0683, 0, | ||
5031 | 5, 0xFB79, 0x0683, 0, | ||
5032 | 7, 0xFB7A, 0x0686, 0, | ||
5033 | 6, 0xFB7B, 0x0686, 0, | ||
5034 | 4, 0xFB7C, 0x0686, 0, | ||
5035 | 5, 0xFB7D, 0x0686, 0, | ||
5036 | 7, 0xFB7E, 0x0687, 0, | ||
5037 | 6, 0xFB7F, 0x0687, 0, | ||
5038 | 4, 0xFB80, 0x0687, 0, | ||
5039 | 5, 0xFB81, 0x0687, 0, | ||
5040 | 7, 0xFB82, 0x068D, 0, | ||
5041 | 6, 0xFB83, 0x068D, 0, | ||
5042 | 7, 0xFB84, 0x068C, 0, | ||
5043 | 6, 0xFB85, 0x068C, 0, | ||
5044 | 7, 0xFB86, 0x068E, 0, | ||
5045 | 6, 0xFB87, 0x068E, 0, | ||
5046 | 7, 0xFB88, 0x0688, 0, | ||
5047 | 6, 0xFB89, 0x0688, 0, | ||
5048 | 7, 0xFB8A, 0x0698, 0, | ||
5049 | 6, 0xFB8B, 0x0698, 0, | ||
5050 | 7, 0xFB8C, 0x0691, 0, | ||
5051 | 6, 0xFB8D, 0x0691, 0, | ||
5052 | 7, 0xFB8E, 0x06A9, 0, | ||
5053 | 6, 0xFB8F, 0x06A9, 0, | ||
5054 | 4, 0xFB90, 0x06A9, 0, | ||
5055 | 5, 0xFB91, 0x06A9, 0, | ||
5056 | 7, 0xFB92, 0x06AF, 0, | ||
5057 | 6, 0xFB93, 0x06AF, 0, | ||
5058 | 4, 0xFB94, 0x06AF, 0, | ||
5059 | 5, 0xFB95, 0x06AF, 0, | ||
5060 | 7, 0xFB96, 0x06B3, 0, | ||
5061 | 6, 0xFB97, 0x06B3, 0, | ||
5062 | 4, 0xFB98, 0x06B3, 0, | ||
5063 | 5, 0xFB99, 0x06B3, 0, | ||
5064 | 7, 0xFB9A, 0x06B1, 0, | ||
5065 | 6, 0xFB9B, 0x06B1, 0, | ||
5066 | 4, 0xFB9C, 0x06B1, 0, | ||
5067 | 5, 0xFB9D, 0x06B1, 0, | ||
5068 | 7, 0xFB9E, 0x06BA, 0, | ||
5069 | 6, 0xFB9F, 0x06BA, 0, | ||
5070 | 7, 0xFBA0, 0x06BB, 0, | ||
5071 | 6, 0xFBA1, 0x06BB, 0, | ||
5072 | 4, 0xFBA2, 0x06BB, 0, | ||
5073 | 5, 0xFBA3, 0x06BB, 0, | ||
5074 | 7, 0xFBA4, 0x06C0, 0, | ||
5075 | 6, 0xFBA5, 0x06C0, 0, | ||
5076 | 7, 0xFBA6, 0x06C1, 0, | ||
5077 | 6, 0xFBA7, 0x06C1, 0, | ||
5078 | 4, 0xFBA8, 0x06C1, 0, | ||
5079 | 5, 0xFBA9, 0x06C1, 0, | ||
5080 | 7, 0xFBAA, 0x06BE, 0, | ||
5081 | 6, 0xFBAB, 0x06BE, 0, | ||
5082 | 4, 0xFBAC, 0x06BE, 0, | ||
5083 | 5, 0xFBAD, 0x06BE, 0, | ||
5084 | 7, 0xFBAE, 0x06D2, 0, | ||
5085 | 6, 0xFBAF, 0x06D2, 0, | ||
5086 | 7, 0xFBB0, 0x06D3, 0, | ||
5087 | 6, 0xFBB1, 0x06D3, 0, | ||
5088 | 7, 0xFBD3, 0x06AD, 0, | ||
5089 | 6, 0xFBD4, 0x06AD, 0, | ||
5090 | 4, 0xFBD5, 0x06AD, 0, | ||
5091 | 5, 0xFBD6, 0x06AD, 0, | ||
5092 | 7, 0xFBD7, 0x06C7, 0, | ||
5093 | 6, 0xFBD8, 0x06C7, 0, | ||
5094 | 7, 0xFBD9, 0x06C6, 0, | ||
5095 | 6, 0xFBDA, 0x06C6, 0, | ||
5096 | 7, 0xFBDB, 0x06C8, 0, | ||
5097 | 6, 0xFBDC, 0x06C8, 0, | ||
5098 | 7, 0xFBDD, 0x0677, 0, | ||
5099 | 7, 0xFBDE, 0x06CB, 0, | ||
5100 | 6, 0xFBDF, 0x06CB, 0, | ||
5101 | 7, 0xFBE0, 0x06C5, 0, | ||
5102 | 6, 0xFBE1, 0x06C5, 0, | ||
5103 | 7, 0xFBE2, 0x06C9, 0, | ||
5104 | 6, 0xFBE3, 0x06C9, 0, | ||
5105 | 7, 0xFBE4, 0x06D0, 0, | ||
5106 | 6, 0xFBE5, 0x06D0, 0, | ||
5107 | 4, 0xFBE6, 0x06D0, 0, | ||
5108 | 5, 0xFBE7, 0x06D0, 0, | ||
5109 | 4, 0xFBE8, 0x0649, 0, | ||
5110 | 5, 0xFBE9, 0x0649, 0, | ||
5111 | 7, 0xFBEA, 0x0626, 0x0627, 0, | ||
5112 | 6, 0xFBEB, 0x0626, 0x0627, 0, | ||
5113 | 7, 0xFBEC, 0x0626, 0x06D5, 0, | ||
5114 | 6, 0xFBED, 0x0626, 0x06D5, 0, | ||
5115 | 7, 0xFBEE, 0x0626, 0x0648, 0, | ||
5116 | 6, 0xFBEF, 0x0626, 0x0648, 0, | ||
5117 | 7, 0xFBF0, 0x0626, 0x06C7, 0, | ||
5118 | 6, 0xFBF1, 0x0626, 0x06C7, 0, | ||
5119 | 7, 0xFBF2, 0x0626, 0x06C6, 0, | ||
5120 | 6, 0xFBF3, 0x0626, 0x06C6, 0, | ||
5121 | 7, 0xFBF4, 0x0626, 0x06C8, 0, | ||
5122 | 6, 0xFBF5, 0x0626, 0x06C8, 0, | ||
5123 | 7, 0xFBF6, 0x0626, 0x06D0, 0, | ||
5124 | 6, 0xFBF7, 0x0626, 0x06D0, 0, | ||
5125 | 4, 0xFBF8, 0x0626, 0x06D0, 0, | ||
5126 | 7, 0xFBF9, 0x0626, 0x0649, 0, | ||
5127 | 6, 0xFBFA, 0x0626, 0x0649, 0, | ||
5128 | 4, 0xFBFB, 0x0626, 0x0649, 0, | ||
5129 | 7, 0xFBFC, 0x06CC, 0, | ||
5130 | 6, 0xFBFD, 0x06CC, 0, | ||
5131 | 4, 0xFBFE, 0x06CC, 0, | ||
5132 | 5, 0xFBFF, 0x06CC, 0, | ||
5133 | 7, 0xFC00, 0x0626, 0x062C, 0, | ||
5134 | 7, 0xFC01, 0x0626, 0x062D, 0, | ||
5135 | 7, 0xFC02, 0x0626, 0x0645, 0, | ||
5136 | 7, 0xFC03, 0x0626, 0x0649, 0, | ||
5137 | 7, 0xFC04, 0x0626, 0x064A, 0, | ||
5138 | 7, 0xFC05, 0x0628, 0x062C, 0, | ||
5139 | 7, 0xFC06, 0x0628, 0x062D, 0, | ||
5140 | 7, 0xFC07, 0x0628, 0x062E, 0, | ||
5141 | 7, 0xFC08, 0x0628, 0x0645, 0, | ||
5142 | 7, 0xFC09, 0x0628, 0x0649, 0, | ||
5143 | 7, 0xFC0A, 0x0628, 0x064A, 0, | ||
5144 | 7, 0xFC0B, 0x062A, 0x062C, 0, | ||
5145 | 7, 0xFC0C, 0x062A, 0x062D, 0, | ||
5146 | 7, 0xFC0D, 0x062A, 0x062E, 0, | ||
5147 | 7, 0xFC0E, 0x062A, 0x0645, 0, | ||
5148 | 7, 0xFC0F, 0x062A, 0x0649, 0, | ||
5149 | 7, 0xFC10, 0x062A, 0x064A, 0, | ||
5150 | 7, 0xFC11, 0x062B, 0x062C, 0, | ||
5151 | 7, 0xFC12, 0x062B, 0x0645, 0, | ||
5152 | 7, 0xFC13, 0x062B, 0x0649, 0, | ||
5153 | 7, 0xFC14, 0x062B, 0x064A, 0, | ||
5154 | 7, 0xFC15, 0x062C, 0x062D, 0, | ||
5155 | 7, 0xFC16, 0x062C, 0x0645, 0, | ||
5156 | 7, 0xFC17, 0x062D, 0x062C, 0, | ||
5157 | 7, 0xFC18, 0x062D, 0x0645, 0, | ||
5158 | 7, 0xFC19, 0x062E, 0x062C, 0, | ||
5159 | 7, 0xFC1A, 0x062E, 0x062D, 0, | ||
5160 | 7, 0xFC1B, 0x062E, 0x0645, 0, | ||
5161 | 7, 0xFC1C, 0x0633, 0x062C, 0, | ||
5162 | 7, 0xFC1D, 0x0633, 0x062D, 0, | ||
5163 | 7, 0xFC1E, 0x0633, 0x062E, 0, | ||
5164 | 7, 0xFC1F, 0x0633, 0x0645, 0, | ||
5165 | 7, 0xFC20, 0x0635, 0x062D, 0, | ||
5166 | 7, 0xFC21, 0x0635, 0x0645, 0, | ||
5167 | 7, 0xFC22, 0x0636, 0x062C, 0, | ||
5168 | 7, 0xFC23, 0x0636, 0x062D, 0, | ||
5169 | 7, 0xFC24, 0x0636, 0x062E, 0, | ||
5170 | 7, 0xFC25, 0x0636, 0x0645, 0, | ||
5171 | 7, 0xFC26, 0x0637, 0x062D, 0, | ||
5172 | 7, 0xFC27, 0x0637, 0x0645, 0, | ||
5173 | 7, 0xFC28, 0x0638, 0x0645, 0, | ||
5174 | 7, 0xFC29, 0x0639, 0x062C, 0, | ||
5175 | 7, 0xFC2A, 0x0639, 0x0645, 0, | ||
5176 | 7, 0xFC2B, 0x063A, 0x062C, 0, | ||
5177 | 7, 0xFC2C, 0x063A, 0x0645, 0, | ||
5178 | 7, 0xFC2D, 0x0641, 0x062C, 0, | ||
5179 | 7, 0xFC2E, 0x0641, 0x062D, 0, | ||
5180 | 7, 0xFC2F, 0x0641, 0x062E, 0, | ||
5181 | 7, 0xFC30, 0x0641, 0x0645, 0, | ||
5182 | 7, 0xFC31, 0x0641, 0x0649, 0, | ||
5183 | 7, 0xFC32, 0x0641, 0x064A, 0, | ||
5184 | 7, 0xFC33, 0x0642, 0x062D, 0, | ||
5185 | 7, 0xFC34, 0x0642, 0x0645, 0, | ||
5186 | 7, 0xFC35, 0x0642, 0x0649, 0, | ||
5187 | 7, 0xFC36, 0x0642, 0x064A, 0, | ||
5188 | 7, 0xFC37, 0x0643, 0x0627, 0, | ||
5189 | 7, 0xFC38, 0x0643, 0x062C, 0, | ||
5190 | 7, 0xFC39, 0x0643, 0x062D, 0, | ||
5191 | 7, 0xFC3A, 0x0643, 0x062E, 0, | ||
5192 | 7, 0xFC3B, 0x0643, 0x0644, 0, | ||
5193 | 7, 0xFC3C, 0x0643, 0x0645, 0, | ||
5194 | 7, 0xFC3D, 0x0643, 0x0649, 0, | ||
5195 | 7, 0xFC3E, 0x0643, 0x064A, 0, | ||
5196 | 7, 0xFC3F, 0x0644, 0x062C, 0, | ||
5197 | 7, 0xFC40, 0x0644, 0x062D, 0, | ||
5198 | 7, 0xFC41, 0x0644, 0x062E, 0, | ||
5199 | 7, 0xFC42, 0x0644, 0x0645, 0, | ||
5200 | 7, 0xFC43, 0x0644, 0x0649, 0, | ||
5201 | 7, 0xFC44, 0x0644, 0x064A, 0, | ||
5202 | 7, 0xFC45, 0x0645, 0x062C, 0, | ||
5203 | 7, 0xFC46, 0x0645, 0x062D, 0, | ||
5204 | 7, 0xFC47, 0x0645, 0x062E, 0, | ||
5205 | 7, 0xFC48, 0x0645, 0x0645, 0, | ||
5206 | 7, 0xFC49, 0x0645, 0x0649, 0, | ||
5207 | 7, 0xFC4A, 0x0645, 0x064A, 0, | ||
5208 | 7, 0xFC4B, 0x0646, 0x062C, 0, | ||
5209 | 7, 0xFC4C, 0x0646, 0x062D, 0, | ||
5210 | 7, 0xFC4D, 0x0646, 0x062E, 0, | ||
5211 | 7, 0xFC4E, 0x0646, 0x0645, 0, | ||
5212 | 7, 0xFC4F, 0x0646, 0x0649, 0, | ||
5213 | 7, 0xFC50, 0x0646, 0x064A, 0, | ||
5214 | 7, 0xFC51, 0x0647, 0x062C, 0, | ||
5215 | 7, 0xFC52, 0x0647, 0x0645, 0, | ||
5216 | 7, 0xFC53, 0x0647, 0x0649, 0, | ||
5217 | 7, 0xFC54, 0x0647, 0x064A, 0, | ||
5218 | 7, 0xFC55, 0x064A, 0x062C, 0, | ||
5219 | 7, 0xFC56, 0x064A, 0x062D, 0, | ||
5220 | 7, 0xFC57, 0x064A, 0x062E, 0, | ||
5221 | 7, 0xFC58, 0x064A, 0x0645, 0, | ||
5222 | 7, 0xFC59, 0x064A, 0x0649, 0, | ||
5223 | 7, 0xFC5A, 0x064A, 0x064A, 0, | ||
5224 | 7, 0xFC5B, 0x0630, 0x0670, 0, | ||
5225 | 7, 0xFC5C, 0x0631, 0x0670, 0, | ||
5226 | 7, 0xFC5D, 0x0649, 0x0670, 0, | ||
5227 | 7, 0xFC5E, 0x0020, 0x064C, 0x0651, 0, | ||
5228 | 7, 0xFC5F, 0x0020, 0x064D, 0x0651, 0, | ||
5229 | 7, 0xFC60, 0x0020, 0x064E, 0x0651, 0, | ||
5230 | 7, 0xFC61, 0x0020, 0x064F, 0x0651, 0, | ||
5231 | 7, 0xFC62, 0x0020, 0x0650, 0x0651, 0, | ||
5232 | 7, 0xFC63, 0x0020, 0x0651, 0x0670, 0, | ||
5233 | 6, 0xFC64, 0x0626, 0x0631, 0, | ||
5234 | 6, 0xFC65, 0x0626, 0x0632, 0, | ||
5235 | 6, 0xFC66, 0x0626, 0x0645, 0, | ||
5236 | 6, 0xFC67, 0x0626, 0x0646, 0, | ||
5237 | 6, 0xFC68, 0x0626, 0x0649, 0, | ||
5238 | 6, 0xFC69, 0x0626, 0x064A, 0, | ||
5239 | 6, 0xFC6A, 0x0628, 0x0631, 0, | ||
5240 | 6, 0xFC6B, 0x0628, 0x0632, 0, | ||
5241 | 6, 0xFC6C, 0x0628, 0x0645, 0, | ||
5242 | 6, 0xFC6D, 0x0628, 0x0646, 0, | ||
5243 | 6, 0xFC6E, 0x0628, 0x0649, 0, | ||
5244 | 6, 0xFC6F, 0x0628, 0x064A, 0, | ||
5245 | 6, 0xFC70, 0x062A, 0x0631, 0, | ||
5246 | 6, 0xFC71, 0x062A, 0x0632, 0, | ||
5247 | 6, 0xFC72, 0x062A, 0x0645, 0, | ||
5248 | 6, 0xFC73, 0x062A, 0x0646, 0, | ||
5249 | 6, 0xFC74, 0x062A, 0x0649, 0, | ||
5250 | 6, 0xFC75, 0x062A, 0x064A, 0, | ||
5251 | 6, 0xFC76, 0x062B, 0x0631, 0, | ||
5252 | 6, 0xFC77, 0x062B, 0x0632, 0, | ||
5253 | 6, 0xFC78, 0x062B, 0x0645, 0, | ||
5254 | 6, 0xFC79, 0x062B, 0x0646, 0, | ||
5255 | 6, 0xFC7A, 0x062B, 0x0649, 0, | ||
5256 | 6, 0xFC7B, 0x062B, 0x064A, 0, | ||
5257 | 6, 0xFC7C, 0x0641, 0x0649, 0, | ||
5258 | 6, 0xFC7D, 0x0641, 0x064A, 0, | ||
5259 | 6, 0xFC7E, 0x0642, 0x0649, 0, | ||
5260 | 6, 0xFC7F, 0x0642, 0x064A, 0, | ||
5261 | 6, 0xFC80, 0x0643, 0x0627, 0, | ||
5262 | 6, 0xFC81, 0x0643, 0x0644, 0, | ||
5263 | 6, 0xFC82, 0x0643, 0x0645, 0, | ||
5264 | 6, 0xFC83, 0x0643, 0x0649, 0, | ||
5265 | 6, 0xFC84, 0x0643, 0x064A, 0, | ||
5266 | 6, 0xFC85, 0x0644, 0x0645, 0, | ||
5267 | 6, 0xFC86, 0x0644, 0x0649, 0, | ||
5268 | 6, 0xFC87, 0x0644, 0x064A, 0, | ||
5269 | 6, 0xFC88, 0x0645, 0x0627, 0, | ||
5270 | 6, 0xFC89, 0x0645, 0x0645, 0, | ||
5271 | 6, 0xFC8A, 0x0646, 0x0631, 0, | ||
5272 | 6, 0xFC8B, 0x0646, 0x0632, 0, | ||
5273 | 6, 0xFC8C, 0x0646, 0x0645, 0, | ||
5274 | 6, 0xFC8D, 0x0646, 0x0646, 0, | ||
5275 | 6, 0xFC8E, 0x0646, 0x0649, 0, | ||
5276 | 6, 0xFC8F, 0x0646, 0x064A, 0, | ||
5277 | 6, 0xFC90, 0x0649, 0x0670, 0, | ||
5278 | 6, 0xFC91, 0x064A, 0x0631, 0, | ||
5279 | 6, 0xFC92, 0x064A, 0x0632, 0, | ||
5280 | 6, 0xFC93, 0x064A, 0x0645, 0, | ||
5281 | 6, 0xFC94, 0x064A, 0x0646, 0, | ||
5282 | 6, 0xFC95, 0x064A, 0x0649, 0, | ||
5283 | 6, 0xFC96, 0x064A, 0x064A, 0, | ||
5284 | 4, 0xFC97, 0x0626, 0x062C, 0, | ||
5285 | 4, 0xFC98, 0x0626, 0x062D, 0, | ||
5286 | 4, 0xFC99, 0x0626, 0x062E, 0, | ||
5287 | 4, 0xFC9A, 0x0626, 0x0645, 0, | ||
5288 | 4, 0xFC9B, 0x0626, 0x0647, 0, | ||
5289 | 4, 0xFC9C, 0x0628, 0x062C, 0, | ||
5290 | 4, 0xFC9D, 0x0628, 0x062D, 0, | ||
5291 | 4, 0xFC9E, 0x0628, 0x062E, 0, | ||
5292 | 4, 0xFC9F, 0x0628, 0x0645, 0, | ||
5293 | 4, 0xFCA0, 0x0628, 0x0647, 0, | ||
5294 | 4, 0xFCA1, 0x062A, 0x062C, 0, | ||
5295 | 4, 0xFCA2, 0x062A, 0x062D, 0, | ||
5296 | 4, 0xFCA3, 0x062A, 0x062E, 0, | ||
5297 | 4, 0xFCA4, 0x062A, 0x0645, 0, | ||
5298 | 4, 0xFCA5, 0x062A, 0x0647, 0, | ||
5299 | 4, 0xFCA6, 0x062B, 0x0645, 0, | ||
5300 | 4, 0xFCA7, 0x062C, 0x062D, 0, | ||
5301 | 4, 0xFCA8, 0x062C, 0x0645, 0, | ||
5302 | 4, 0xFCA9, 0x062D, 0x062C, 0, | ||
5303 | 4, 0xFCAA, 0x062D, 0x0645, 0, | ||
5304 | 4, 0xFCAB, 0x062E, 0x062C, 0, | ||
5305 | 4, 0xFCAC, 0x062E, 0x0645, 0, | ||
5306 | 4, 0xFCAD, 0x0633, 0x062C, 0, | ||
5307 | 4, 0xFCAE, 0x0633, 0x062D, 0, | ||
5308 | 4, 0xFCAF, 0x0633, 0x062E, 0, | ||
5309 | 4, 0xFCB0, 0x0633, 0x0645, 0, | ||
5310 | 4, 0xFCB1, 0x0635, 0x062D, 0, | ||
5311 | 4, 0xFCB2, 0x0635, 0x062E, 0, | ||
5312 | 4, 0xFCB3, 0x0635, 0x0645, 0, | ||
5313 | 4, 0xFCB4, 0x0636, 0x062C, 0, | ||
5314 | 4, 0xFCB5, 0x0636, 0x062D, 0, | ||
5315 | 4, 0xFCB6, 0x0636, 0x062E, 0, | ||
5316 | 4, 0xFCB7, 0x0636, 0x0645, 0, | ||
5317 | 4, 0xFCB8, 0x0637, 0x062D, 0, | ||
5318 | 4, 0xFCB9, 0x0638, 0x0645, 0, | ||
5319 | 4, 0xFCBA, 0x0639, 0x062C, 0, | ||
5320 | 4, 0xFCBB, 0x0639, 0x0645, 0, | ||
5321 | 4, 0xFCBC, 0x063A, 0x062C, 0, | ||
5322 | 4, 0xFCBD, 0x063A, 0x0645, 0, | ||
5323 | 4, 0xFCBE, 0x0641, 0x062C, 0, | ||
5324 | 4, 0xFCBF, 0x0641, 0x062D, 0, | ||
5325 | 4, 0xFCC0, 0x0641, 0x062E, 0, | ||
5326 | 4, 0xFCC1, 0x0641, 0x0645, 0, | ||
5327 | 4, 0xFCC2, 0x0642, 0x062D, 0, | ||
5328 | 4, 0xFCC3, 0x0642, 0x0645, 0, | ||
5329 | 4, 0xFCC4, 0x0643, 0x062C, 0, | ||
5330 | 4, 0xFCC5, 0x0643, 0x062D, 0, | ||
5331 | 4, 0xFCC6, 0x0643, 0x062E, 0, | ||
5332 | 4, 0xFCC7, 0x0643, 0x0644, 0, | ||
5333 | 4, 0xFCC8, 0x0643, 0x0645, 0, | ||
5334 | 4, 0xFCC9, 0x0644, 0x062C, 0, | ||
5335 | 4, 0xFCCA, 0x0644, 0x062D, 0, | ||
5336 | 4, 0xFCCB, 0x0644, 0x062E, 0, | ||
5337 | 4, 0xFCCC, 0x0644, 0x0645, 0, | ||
5338 | 4, 0xFCCD, 0x0644, 0x0647, 0, | ||
5339 | 4, 0xFCCE, 0x0645, 0x062C, 0, | ||
5340 | 4, 0xFCCF, 0x0645, 0x062D, 0, | ||
5341 | 4, 0xFCD0, 0x0645, 0x062E, 0, | ||
5342 | 4, 0xFCD1, 0x0645, 0x0645, 0, | ||
5343 | 4, 0xFCD2, 0x0646, 0x062C, 0, | ||
5344 | 4, 0xFCD3, 0x0646, 0x062D, 0, | ||
5345 | 4, 0xFCD4, 0x0646, 0x062E, 0, | ||
5346 | 4, 0xFCD5, 0x0646, 0x0645, 0, | ||
5347 | 4, 0xFCD6, 0x0646, 0x0647, 0, | ||
5348 | 4, 0xFCD7, 0x0647, 0x062C, 0, | ||
5349 | 4, 0xFCD8, 0x0647, 0x0645, 0, | ||
5350 | 4, 0xFCD9, 0x0647, 0x0670, 0, | ||
5351 | 4, 0xFCDA, 0x064A, 0x062C, 0, | ||
5352 | 4, 0xFCDB, 0x064A, 0x062D, 0, | ||
5353 | 4, 0xFCDC, 0x064A, 0x062E, 0, | ||
5354 | 4, 0xFCDD, 0x064A, 0x0645, 0, | ||
5355 | 4, 0xFCDE, 0x064A, 0x0647, 0, | ||
5356 | 5, 0xFCDF, 0x0626, 0x0645, 0, | ||
5357 | 5, 0xFCE0, 0x0626, 0x0647, 0, | ||
5358 | 5, 0xFCE1, 0x0628, 0x0645, 0, | ||
5359 | 5, 0xFCE2, 0x0628, 0x0647, 0, | ||
5360 | 5, 0xFCE3, 0x062A, 0x0645, 0, | ||
5361 | 5, 0xFCE4, 0x062A, 0x0647, 0, | ||
5362 | 5, 0xFCE5, 0x062B, 0x0645, 0, | ||
5363 | 5, 0xFCE6, 0x062B, 0x0647, 0, | ||
5364 | 5, 0xFCE7, 0x0633, 0x0645, 0, | ||
5365 | 5, 0xFCE8, 0x0633, 0x0647, 0, | ||
5366 | 5, 0xFCE9, 0x0634, 0x0645, 0, | ||
5367 | 5, 0xFCEA, 0x0634, 0x0647, 0, | ||
5368 | 5, 0xFCEB, 0x0643, 0x0644, 0, | ||
5369 | 5, 0xFCEC, 0x0643, 0x0645, 0, | ||
5370 | 5, 0xFCED, 0x0644, 0x0645, 0, | ||
5371 | 5, 0xFCEE, 0x0646, 0x0645, 0, | ||
5372 | 5, 0xFCEF, 0x0646, 0x0647, 0, | ||
5373 | 5, 0xFCF0, 0x064A, 0x0645, 0, | ||
5374 | 5, 0xFCF1, 0x064A, 0x0647, 0, | ||
5375 | 5, 0xFCF2, 0x0640, 0x064E, 0x0651, 0, | ||
5376 | 5, 0xFCF3, 0x0640, 0x064F, 0x0651, 0, | ||
5377 | 5, 0xFCF4, 0x0640, 0x0650, 0x0651, 0, | ||
5378 | 7, 0xFCF5, 0x0637, 0x0649, 0, | ||
5379 | 7, 0xFCF6, 0x0637, 0x064A, 0, | ||
5380 | 7, 0xFCF7, 0x0639, 0x0649, 0, | ||
5381 | 7, 0xFCF8, 0x0639, 0x064A, 0, | ||
5382 | 7, 0xFCF9, 0x063A, 0x0649, 0, | ||
5383 | 7, 0xFCFA, 0x063A, 0x064A, 0, | ||
5384 | 7, 0xFCFB, 0x0633, 0x0649, 0, | ||
5385 | 7, 0xFCFC, 0x0633, 0x064A, 0, | ||
5386 | 7, 0xFCFD, 0x0634, 0x0649, 0, | ||
5387 | 7, 0xFCFE, 0x0634, 0x064A, 0, | ||
5388 | 7, 0xFCFF, 0x062D, 0x0649, 0, | ||
5389 | 7, 0xFD00, 0x062D, 0x064A, 0, | ||
5390 | 7, 0xFD01, 0x062C, 0x0649, 0, | ||
5391 | 7, 0xFD02, 0x062C, 0x064A, 0, | ||
5392 | 7, 0xFD03, 0x062E, 0x0649, 0, | ||
5393 | 7, 0xFD04, 0x062E, 0x064A, 0, | ||
5394 | 7, 0xFD05, 0x0635, 0x0649, 0, | ||
5395 | 7, 0xFD06, 0x0635, 0x064A, 0, | ||
5396 | 7, 0xFD07, 0x0636, 0x0649, 0, | ||
5397 | 7, 0xFD08, 0x0636, 0x064A, 0, | ||
5398 | 7, 0xFD09, 0x0634, 0x062C, 0, | ||
5399 | 7, 0xFD0A, 0x0634, 0x062D, 0, | ||
5400 | 7, 0xFD0B, 0x0634, 0x062E, 0, | ||
5401 | 7, 0xFD0C, 0x0634, 0x0645, 0, | ||
5402 | 7, 0xFD0D, 0x0634, 0x0631, 0, | ||
5403 | 7, 0xFD0E, 0x0633, 0x0631, 0, | ||
5404 | 7, 0xFD0F, 0x0635, 0x0631, 0, | ||
5405 | 7, 0xFD10, 0x0636, 0x0631, 0, | ||
5406 | 6, 0xFD11, 0x0637, 0x0649, 0, | ||
5407 | 6, 0xFD12, 0x0637, 0x064A, 0, | ||
5408 | 6, 0xFD13, 0x0639, 0x0649, 0, | ||
5409 | 6, 0xFD14, 0x0639, 0x064A, 0, | ||
5410 | 6, 0xFD15, 0x063A, 0x0649, 0, | ||
5411 | 6, 0xFD16, 0x063A, 0x064A, 0, | ||
5412 | 6, 0xFD17, 0x0633, 0x0649, 0, | ||
5413 | 6, 0xFD18, 0x0633, 0x064A, 0, | ||
5414 | 6, 0xFD19, 0x0634, 0x0649, 0, | ||
5415 | 6, 0xFD1A, 0x0634, 0x064A, 0, | ||
5416 | 6, 0xFD1B, 0x062D, 0x0649, 0, | ||
5417 | 6, 0xFD1C, 0x062D, 0x064A, 0, | ||
5418 | 6, 0xFD1D, 0x062C, 0x0649, 0, | ||
5419 | 6, 0xFD1E, 0x062C, 0x064A, 0, | ||
5420 | 6, 0xFD1F, 0x062E, 0x0649, 0, | ||
5421 | 6, 0xFD20, 0x062E, 0x064A, 0, | ||
5422 | 6, 0xFD21, 0x0635, 0x0649, 0, | ||
5423 | 6, 0xFD22, 0x0635, 0x064A, 0, | ||
5424 | 6, 0xFD23, 0x0636, 0x0649, 0, | ||
5425 | 6, 0xFD24, 0x0636, 0x064A, 0, | ||
5426 | 6, 0xFD25, 0x0634, 0x062C, 0, | ||
5427 | 6, 0xFD26, 0x0634, 0x062D, 0, | ||
5428 | 6, 0xFD27, 0x0634, 0x062E, 0, | ||
5429 | 6, 0xFD28, 0x0634, 0x0645, 0, | ||
5430 | 6, 0xFD29, 0x0634, 0x0631, 0, | ||
5431 | 6, 0xFD2A, 0x0633, 0x0631, 0, | ||
5432 | 6, 0xFD2B, 0x0635, 0x0631, 0, | ||
5433 | 6, 0xFD2C, 0x0636, 0x0631, 0, | ||
5434 | 4, 0xFD2D, 0x0634, 0x062C, 0, | ||
5435 | 4, 0xFD2E, 0x0634, 0x062D, 0, | ||
5436 | 4, 0xFD2F, 0x0634, 0x062E, 0, | ||
5437 | 4, 0xFD30, 0x0634, 0x0645, 0, | ||
5438 | 4, 0xFD31, 0x0633, 0x0647, 0, | ||
5439 | 4, 0xFD32, 0x0634, 0x0647, 0, | ||
5440 | 4, 0xFD33, 0x0637, 0x0645, 0, | ||
5441 | 5, 0xFD34, 0x0633, 0x062C, 0, | ||
5442 | 5, 0xFD35, 0x0633, 0x062D, 0, | ||
5443 | 5, 0xFD36, 0x0633, 0x062E, 0, | ||
5444 | 5, 0xFD37, 0x0634, 0x062C, 0, | ||
5445 | 5, 0xFD38, 0x0634, 0x062D, 0, | ||
5446 | 5, 0xFD39, 0x0634, 0x062E, 0, | ||
5447 | 5, 0xFD3A, 0x0637, 0x0645, 0, | ||
5448 | 5, 0xFD3B, 0x0638, 0x0645, 0, | ||
5449 | 6, 0xFD3C, 0x0627, 0x064B, 0, | ||
5450 | 7, 0xFD3D, 0x0627, 0x064B, 0, | ||
5451 | 4, 0xFD50, 0x062A, 0x062C, 0x0645, 0, | ||
5452 | 6, 0xFD51, 0x062A, 0x062D, 0x062C, 0, | ||
5453 | 4, 0xFD52, 0x062A, 0x062D, 0x062C, 0, | ||
5454 | 4, 0xFD53, 0x062A, 0x062D, 0x0645, 0, | ||
5455 | 4, 0xFD54, 0x062A, 0x062E, 0x0645, 0, | ||
5456 | 4, 0xFD55, 0x062A, 0x0645, 0x062C, 0, | ||
5457 | 4, 0xFD56, 0x062A, 0x0645, 0x062D, 0, | ||
5458 | 4, 0xFD57, 0x062A, 0x0645, 0x062E, 0, | ||
5459 | 6, 0xFD58, 0x062C, 0x0645, 0x062D, 0, | ||
5460 | 4, 0xFD59, 0x062C, 0x0645, 0x062D, 0, | ||
5461 | 6, 0xFD5A, 0x062D, 0x0645, 0x064A, 0, | ||
5462 | 6, 0xFD5B, 0x062D, 0x0645, 0x0649, 0, | ||
5463 | 4, 0xFD5C, 0x0633, 0x062D, 0x062C, 0, | ||
5464 | 4, 0xFD5D, 0x0633, 0x062C, 0x062D, 0, | ||
5465 | 6, 0xFD5E, 0x0633, 0x062C, 0x0649, 0, | ||
5466 | 6, 0xFD5F, 0x0633, 0x0645, 0x062D, 0, | ||
5467 | 4, 0xFD60, 0x0633, 0x0645, 0x062D, 0, | ||
5468 | 4, 0xFD61, 0x0633, 0x0645, 0x062C, 0, | ||
5469 | 6, 0xFD62, 0x0633, 0x0645, 0x0645, 0, | ||
5470 | 4, 0xFD63, 0x0633, 0x0645, 0x0645, 0, | ||
5471 | 6, 0xFD64, 0x0635, 0x062D, 0x062D, 0, | ||
5472 | 4, 0xFD65, 0x0635, 0x062D, 0x062D, 0, | ||
5473 | 6, 0xFD66, 0x0635, 0x0645, 0x0645, 0, | ||
5474 | 6, 0xFD67, 0x0634, 0x062D, 0x0645, 0, | ||
5475 | 4, 0xFD68, 0x0634, 0x062D, 0x0645, 0, | ||
5476 | 6, 0xFD69, 0x0634, 0x062C, 0x064A, 0, | ||
5477 | 6, 0xFD6A, 0x0634, 0x0645, 0x062E, 0, | ||
5478 | 4, 0xFD6B, 0x0634, 0x0645, 0x062E, 0, | ||
5479 | 6, 0xFD6C, 0x0634, 0x0645, 0x0645, 0, | ||
5480 | 4, 0xFD6D, 0x0634, 0x0645, 0x0645, 0, | ||
5481 | 6, 0xFD6E, 0x0636, 0x062D, 0x0649, 0, | ||
5482 | 6, 0xFD6F, 0x0636, 0x062E, 0x0645, 0, | ||
5483 | 4, 0xFD70, 0x0636, 0x062E, 0x0645, 0, | ||
5484 | 6, 0xFD71, 0x0637, 0x0645, 0x062D, 0, | ||
5485 | 4, 0xFD72, 0x0637, 0x0645, 0x062D, 0, | ||
5486 | 4, 0xFD73, 0x0637, 0x0645, 0x0645, 0, | ||
5487 | 6, 0xFD74, 0x0637, 0x0645, 0x064A, 0, | ||
5488 | 6, 0xFD75, 0x0639, 0x062C, 0x0645, 0, | ||
5489 | 6, 0xFD76, 0x0639, 0x0645, 0x0645, 0, | ||
5490 | 4, 0xFD77, 0x0639, 0x0645, 0x0645, 0, | ||
5491 | 6, 0xFD78, 0x0639, 0x0645, 0x0649, 0, | ||
5492 | 6, 0xFD79, 0x063A, 0x0645, 0x0645, 0, | ||
5493 | 6, 0xFD7A, 0x063A, 0x0645, 0x064A, 0, | ||
5494 | 6, 0xFD7B, 0x063A, 0x0645, 0x0649, 0, | ||
5495 | 6, 0xFD7C, 0x0641, 0x062E, 0x0645, 0, | ||
5496 | 4, 0xFD7D, 0x0641, 0x062E, 0x0645, 0, | ||
5497 | 6, 0xFD7E, 0x0642, 0x0645, 0x062D, 0, | ||
5498 | 6, 0xFD7F, 0x0642, 0x0645, 0x0645, 0, | ||
5499 | 6, 0xFD80, 0x0644, 0x062D, 0x0645, 0, | ||
5500 | 6, 0xFD81, 0x0644, 0x062D, 0x064A, 0, | ||
5501 | 6, 0xFD82, 0x0644, 0x062D, 0x0649, 0, | ||
5502 | 4, 0xFD83, 0x0644, 0x062C, 0x062C, 0, | ||
5503 | 6, 0xFD84, 0x0644, 0x062C, 0x062C, 0, | ||
5504 | 6, 0xFD85, 0x0644, 0x062E, 0x0645, 0, | ||
5505 | 4, 0xFD86, 0x0644, 0x062E, 0x0645, 0, | ||
5506 | 6, 0xFD87, 0x0644, 0x0645, 0x062D, 0, | ||
5507 | 4, 0xFD88, 0x0644, 0x0645, 0x062D, 0, | ||
5508 | 4, 0xFD89, 0x0645, 0x062D, 0x062C, 0, | ||
5509 | 4, 0xFD8A, 0x0645, 0x062D, 0x0645, 0, | ||
5510 | 6, 0xFD8B, 0x0645, 0x062D, 0x064A, 0, | ||
5511 | 4, 0xFD8C, 0x0645, 0x062C, 0x062D, 0, | ||
5512 | 4, 0xFD8D, 0x0645, 0x062C, 0x0645, 0, | ||
5513 | 4, 0xFD8E, 0x0645, 0x062E, 0x062C, 0, | ||
5514 | 4, 0xFD8F, 0x0645, 0x062E, 0x0645, 0, | ||
5515 | 4, 0xFD92, 0x0645, 0x062C, 0x062E, 0, | ||
5516 | 4, 0xFD93, 0x0647, 0x0645, 0x062C, 0, | ||
5517 | 4, 0xFD94, 0x0647, 0x0645, 0x0645, 0, | ||
5518 | 4, 0xFD95, 0x0646, 0x062D, 0x0645, 0, | ||
5519 | 6, 0xFD96, 0x0646, 0x062D, 0x0649, 0, | ||
5520 | 6, 0xFD97, 0x0646, 0x062C, 0x0645, 0, | ||
5521 | 4, 0xFD98, 0x0646, 0x062C, 0x0645, 0, | ||
5522 | 6, 0xFD99, 0x0646, 0x062C, 0x0649, 0, | ||
5523 | 6, 0xFD9A, 0x0646, 0x0645, 0x064A, 0, | ||
5524 | 6, 0xFD9B, 0x0646, 0x0645, 0x0649, 0, | ||
5525 | 6, 0xFD9C, 0x064A, 0x0645, 0x0645, 0, | ||
5526 | 4, 0xFD9D, 0x064A, 0x0645, 0x0645, 0, | ||
5527 | 6, 0xFD9E, 0x0628, 0x062E, 0x064A, 0, | ||
5528 | 6, 0xFD9F, 0x062A, 0x062C, 0x064A, 0, | ||
5529 | 6, 0xFDA0, 0x062A, 0x062C, 0x0649, 0, | ||
5530 | 6, 0xFDA1, 0x062A, 0x062E, 0x064A, 0, | ||
5531 | 6, 0xFDA2, 0x062A, 0x062E, 0x0649, 0, | ||
5532 | 6, 0xFDA3, 0x062A, 0x0645, 0x064A, 0, | ||
5533 | 6, 0xFDA4, 0x062A, 0x0645, 0x0649, 0, | ||
5534 | 6, 0xFDA5, 0x062C, 0x0645, 0x064A, 0, | ||
5535 | 6, 0xFDA6, 0x062C, 0x062D, 0x0649, 0, | ||
5536 | 6, 0xFDA7, 0x062C, 0x0645, 0x0649, 0, | ||
5537 | 6, 0xFDA8, 0x0633, 0x062E, 0x0649, 0, | ||
5538 | 6, 0xFDA9, 0x0635, 0x062D, 0x064A, 0, | ||
5539 | 6, 0xFDAA, 0x0634, 0x062D, 0x064A, 0, | ||
5540 | 6, 0xFDAB, 0x0636, 0x062D, 0x064A, 0, | ||
5541 | 6, 0xFDAC, 0x0644, 0x062C, 0x064A, 0, | ||
5542 | 6, 0xFDAD, 0x0644, 0x0645, 0x064A, 0, | ||
5543 | 6, 0xFDAE, 0x064A, 0x062D, 0x064A, 0, | ||
5544 | 6, 0xFDAF, 0x064A, 0x062C, 0x064A, 0, | ||
5545 | 6, 0xFDB0, 0x064A, 0x0645, 0x064A, 0, | ||
5546 | 6, 0xFDB1, 0x0645, 0x0645, 0x064A, 0, | ||
5547 | 6, 0xFDB2, 0x0642, 0x0645, 0x064A, 0, | ||
5548 | 6, 0xFDB3, 0x0646, 0x062D, 0x064A, 0, | ||
5549 | 4, 0xFDB4, 0x0642, 0x0645, 0x062D, 0, | ||
5550 | 4, 0xFDB5, 0x0644, 0x062D, 0x0645, 0, | ||
5551 | 6, 0xFDB6, 0x0639, 0x0645, 0x064A, 0, | ||
5552 | 6, 0xFDB7, 0x0643, 0x0645, 0x064A, 0, | ||
5553 | 4, 0xFDB8, 0x0646, 0x062C, 0x062D, 0, | ||
5554 | 6, 0xFDB9, 0x0645, 0x062E, 0x064A, 0, | ||
5555 | 4, 0xFDBA, 0x0644, 0x062C, 0x0645, 0, | ||
5556 | 6, 0xFDBB, 0x0643, 0x0645, 0x0645, 0, | ||
5557 | 6, 0xFDBC, 0x0644, 0x062C, 0x0645, 0, | ||
5558 | 6, 0xFDBD, 0x0646, 0x062C, 0x062D, 0, | ||
5559 | 6, 0xFDBE, 0x062C, 0x062D, 0x064A, 0, | ||
5560 | 6, 0xFDBF, 0x062D, 0x062C, 0x064A, 0, | ||
5561 | 6, 0xFDC0, 0x0645, 0x062C, 0x064A, 0, | ||
5562 | 6, 0xFDC1, 0x0641, 0x0645, 0x064A, 0, | ||
5563 | 6, 0xFDC2, 0x0628, 0x062D, 0x064A, 0, | ||
5564 | 4, 0xFDC3, 0x0643, 0x0645, 0x0645, 0, | ||
5565 | 4, 0xFDC4, 0x0639, 0x062C, 0x0645, 0, | ||
5566 | 4, 0xFDC5, 0x0635, 0x0645, 0x0645, 0, | ||
5567 | 6, 0xFDC6, 0x0633, 0x062E, 0x064A, 0, | ||
5568 | 6, 0xFDC7, 0x0646, 0x062C, 0x064A, 0, | ||
5569 | 7, 0xFDF0, 0x0635, 0x0644, 0x06D2, 0, | ||
5570 | 7, 0xFDF1, 0x0642, 0x0644, 0x06D2, 0, | ||
5571 | 7, 0xFDF2, 0x0627, 0x0644, 0x0644, 0x0647, 0, | ||
5572 | 7, 0xFDF3, 0x0627, 0x0643, 0x0628, 0x0631, 0, | ||
5573 | 7, 0xFDF4, 0x0645, 0x062D, 0x0645, 0x062F, 0, | ||
5574 | 7, 0xFDF5, 0x0635, 0x0644, 0x0639, 0x0645, 0, | ||
5575 | 7, 0xFDF6, 0x0631, 0x0633, 0x0648, 0x0644, 0, | ||
5576 | 7, 0xFDF7, 0x0639, 0x0644, 0x064A, 0x0647, 0, | ||
5577 | 7, 0xFDF8, 0x0648, 0x0633, 0x0644, 0x0645, 0, | ||
5578 | 7, 0xFDF9, 0x0635, 0x0644, 0x0649, 0, | ||
5579 | 7, 0xFDFA, 0x0635, 0x0644, 0x0649, 0x0020, 0x0627, 0x0644, 0x0644, 0x0647, 0x0020, 0x0639, 0x0644, 0x064A, 0x0647, 0x0020, 0x0648, 0x0633, 0x0644, 0x0645, 0, | ||
5580 | 7, 0xFDFB, 0x062C, 0x0644, 0x0020, 0x062C, 0x0644, 0x0627, 0x0644, 0x0647, 0, | ||
5581 | 7, 0xFDFC, 0x0631, 0x06CC, 0x0627, 0x0644, 0, | ||
5582 | 11, 0xFE30, 0x2025, 0, | ||
5583 | 11, 0xFE31, 0x2014, 0, | ||
5584 | 11, 0xFE32, 0x2013, 0, | ||
5585 | 11, 0xFE33, 0x005F, 0, | ||
5586 | 11, 0xFE34, 0x005F, 0, | ||
5587 | 11, 0xFE35, 0x0028, 0, | ||
5588 | 11, 0xFE36, 0x0029, 0, | ||
5589 | 11, 0xFE37, 0x007B, 0, | ||
5590 | 11, 0xFE38, 0x007D, 0, | ||
5591 | 11, 0xFE39, 0x3014, 0, | ||
5592 | 11, 0xFE3A, 0x3015, 0, | ||
5593 | 11, 0xFE3B, 0x3010, 0, | ||
5594 | 11, 0xFE3C, 0x3011, 0, | ||
5595 | 11, 0xFE3D, 0x300A, 0, | ||
5596 | 11, 0xFE3E, 0x300B, 0, | ||
5597 | 11, 0xFE3F, 0x3008, 0, | ||
5598 | 11, 0xFE40, 0x3009, 0, | ||
5599 | 11, 0xFE41, 0x300C, 0, | ||
5600 | 11, 0xFE42, 0x300D, 0, | ||
5601 | 11, 0xFE43, 0x300E, 0, | ||
5602 | 11, 0xFE44, 0x300F, 0, | ||
5603 | 16, 0xFE49, 0x203E, 0, | ||
5604 | 16, 0xFE4A, 0x203E, 0, | ||
5605 | 16, 0xFE4B, 0x203E, 0, | ||
5606 | 16, 0xFE4C, 0x203E, 0, | ||
5607 | 16, 0xFE4D, 0x005F, 0, | ||
5608 | 16, 0xFE4E, 0x005F, 0, | ||
5609 | 16, 0xFE4F, 0x005F, 0, | ||
5610 | 14, 0xFE50, 0x002C, 0, | ||
5611 | 14, 0xFE51, 0x3001, 0, | ||
5612 | 14, 0xFE52, 0x002E, 0, | ||
5613 | 14, 0xFE54, 0x003B, 0, | ||
5614 | 14, 0xFE55, 0x003A, 0, | ||
5615 | 14, 0xFE56, 0x003F, 0, | ||
5616 | 14, 0xFE57, 0x0021, 0, | ||
5617 | 14, 0xFE58, 0x2014, 0, | ||
5618 | 14, 0xFE59, 0x0028, 0, | ||
5619 | 14, 0xFE5A, 0x0029, 0, | ||
5620 | 14, 0xFE5B, 0x007B, 0, | ||
5621 | 14, 0xFE5C, 0x007D, 0, | ||
5622 | 14, 0xFE5D, 0x3014, 0, | ||
5623 | 14, 0xFE5E, 0x3015, 0, | ||
5624 | 14, 0xFE5F, 0x0023, 0, | ||
5625 | 14, 0xFE60, 0x0026, 0, | ||
5626 | 14, 0xFE61, 0x002A, 0, | ||
5627 | 14, 0xFE62, 0x002B, 0, | ||
5628 | 14, 0xFE63, 0x002D, 0, | ||
5629 | 14, 0xFE64, 0x003C, 0, | ||
5630 | 14, 0xFE65, 0x003E, 0, | ||
5631 | 14, 0xFE66, 0x003D, 0, | ||
5632 | 14, 0xFE68, 0x005C, 0, | ||
5633 | 14, 0xFE69, 0x0024, 0, | ||
5634 | 14, 0xFE6A, 0x0025, 0, | ||
5635 | 14, 0xFE6B, 0x0040, 0, | ||
5636 | 7, 0xFE70, 0x0020, 0x064B, 0, | ||
5637 | 5, 0xFE71, 0x0640, 0x064B, 0, | ||
5638 | 7, 0xFE72, 0x0020, 0x064C, 0, | ||
5639 | 7, 0xFE74, 0x0020, 0x064D, 0, | ||
5640 | 7, 0xFE76, 0x0020, 0x064E, 0, | ||
5641 | 5, 0xFE77, 0x0640, 0x064E, 0, | ||
5642 | 7, 0xFE78, 0x0020, 0x064F, 0, | ||
5643 | 5, 0xFE79, 0x0640, 0x064F, 0, | ||
5644 | 7, 0xFE7A, 0x0020, 0x0650, 0, | ||
5645 | 5, 0xFE7B, 0x0640, 0x0650, 0, | ||
5646 | 7, 0xFE7C, 0x0020, 0x0651, 0, | ||
5647 | 5, 0xFE7D, 0x0640, 0x0651, 0, | ||
5648 | 7, 0xFE7E, 0x0020, 0x0652, 0, | ||
5649 | 5, 0xFE7F, 0x0640, 0x0652, 0, | ||
5650 | 7, 0xFE80, 0x0621, 0, | ||
5651 | 7, 0xFE81, 0x0622, 0, | ||
5652 | 6, 0xFE82, 0x0622, 0, | ||
5653 | 7, 0xFE83, 0x0623, 0, | ||
5654 | 6, 0xFE84, 0x0623, 0, | ||
5655 | 7, 0xFE85, 0x0624, 0, | ||
5656 | 6, 0xFE86, 0x0624, 0, | ||
5657 | 7, 0xFE87, 0x0625, 0, | ||
5658 | 6, 0xFE88, 0x0625, 0, | ||
5659 | 7, 0xFE89, 0x0626, 0, | ||
5660 | 6, 0xFE8A, 0x0626, 0, | ||
5661 | 4, 0xFE8B, 0x0626, 0, | ||
5662 | 5, 0xFE8C, 0x0626, 0, | ||
5663 | 7, 0xFE8D, 0x0627, 0, | ||
5664 | 6, 0xFE8E, 0x0627, 0, | ||
5665 | 7, 0xFE8F, 0x0628, 0, | ||
5666 | 6, 0xFE90, 0x0628, 0, | ||
5667 | 4, 0xFE91, 0x0628, 0, | ||
5668 | 5, 0xFE92, 0x0628, 0, | ||
5669 | 7, 0xFE93, 0x0629, 0, | ||
5670 | 6, 0xFE94, 0x0629, 0, | ||
5671 | 7, 0xFE95, 0x062A, 0, | ||
5672 | 6, 0xFE96, 0x062A, 0, | ||
5673 | 4, 0xFE97, 0x062A, 0, | ||
5674 | 5, 0xFE98, 0x062A, 0, | ||
5675 | 7, 0xFE99, 0x062B, 0, | ||
5676 | 6, 0xFE9A, 0x062B, 0, | ||
5677 | 4, 0xFE9B, 0x062B, 0, | ||
5678 | 5, 0xFE9C, 0x062B, 0, | ||
5679 | 7, 0xFE9D, 0x062C, 0, | ||
5680 | 6, 0xFE9E, 0x062C, 0, | ||
5681 | 4, 0xFE9F, 0x062C, 0, | ||
5682 | 5, 0xFEA0, 0x062C, 0, | ||
5683 | 7, 0xFEA1, 0x062D, 0, | ||
5684 | 6, 0xFEA2, 0x062D, 0, | ||
5685 | 4, 0xFEA3, 0x062D, 0, | ||
5686 | 5, 0xFEA4, 0x062D, 0, | ||
5687 | 7, 0xFEA5, 0x062E, 0, | ||
5688 | 6, 0xFEA6, 0x062E, 0, | ||
5689 | 4, 0xFEA7, 0x062E, 0, | ||
5690 | 5, 0xFEA8, 0x062E, 0, | ||
5691 | 7, 0xFEA9, 0x062F, 0, | ||
5692 | 6, 0xFEAA, 0x062F, 0, | ||
5693 | 7, 0xFEAB, 0x0630, 0, | ||
5694 | 6, 0xFEAC, 0x0630, 0, | ||
5695 | 7, 0xFEAD, 0x0631, 0, | ||
5696 | 6, 0xFEAE, 0x0631, 0, | ||
5697 | 7, 0xFEAF, 0x0632, 0, | ||
5698 | 6, 0xFEB0, 0x0632, 0, | ||
5699 | 7, 0xFEB1, 0x0633, 0, | ||
5700 | 6, 0xFEB2, 0x0633, 0, | ||
5701 | 4, 0xFEB3, 0x0633, 0, | ||
5702 | 5, 0xFEB4, 0x0633, 0, | ||
5703 | 7, 0xFEB5, 0x0634, 0, | ||
5704 | 6, 0xFEB6, 0x0634, 0, | ||
5705 | 4, 0xFEB7, 0x0634, 0, | ||
5706 | 5, 0xFEB8, 0x0634, 0, | ||
5707 | 7, 0xFEB9, 0x0635, 0, | ||
5708 | 6, 0xFEBA, 0x0635, 0, | ||
5709 | 4, 0xFEBB, 0x0635, 0, | ||
5710 | 5, 0xFEBC, 0x0635, 0, | ||
5711 | 7, 0xFEBD, 0x0636, 0, | ||
5712 | 6, 0xFEBE, 0x0636, 0, | ||
5713 | 4, 0xFEBF, 0x0636, 0, | ||
5714 | 5, 0xFEC0, 0x0636, 0, | ||
5715 | 7, 0xFEC1, 0x0637, 0, | ||
5716 | 6, 0xFEC2, 0x0637, 0, | ||
5717 | 4, 0xFEC3, 0x0637, 0, | ||
5718 | 5, 0xFEC4, 0x0637, 0, | ||
5719 | 7, 0xFEC5, 0x0638, 0, | ||
5720 | 6, 0xFEC6, 0x0638, 0, | ||
5721 | 4, 0xFEC7, 0x0638, 0, | ||
5722 | 5, 0xFEC8, 0x0638, 0, | ||
5723 | 7, 0xFEC9, 0x0639, 0, | ||
5724 | 6, 0xFECA, 0x0639, 0, | ||
5725 | 4, 0xFECB, 0x0639, 0, | ||
5726 | 5, 0xFECC, 0x0639, 0, | ||
5727 | 7, 0xFECD, 0x063A, 0, | ||
5728 | 6, 0xFECE, 0x063A, 0, | ||
5729 | 4, 0xFECF, 0x063A, 0, | ||
5730 | 5, 0xFED0, 0x063A, 0, | ||
5731 | 7, 0xFED1, 0x0641, 0, | ||
5732 | 6, 0xFED2, 0x0641, 0, | ||
5733 | 4, 0xFED3, 0x0641, 0, | ||
5734 | 5, 0xFED4, 0x0641, 0, | ||
5735 | 7, 0xFED5, 0x0642, 0, | ||
5736 | 6, 0xFED6, 0x0642, 0, | ||
5737 | 4, 0xFED7, 0x0642, 0, | ||
5738 | 5, 0xFED8, 0x0642, 0, | ||
5739 | 7, 0xFED9, 0x0643, 0, | ||
5740 | 6, 0xFEDA, 0x0643, 0, | ||
5741 | 4, 0xFEDB, 0x0643, 0, | ||
5742 | 5, 0xFEDC, 0x0643, 0, | ||
5743 | 7, 0xFEDD, 0x0644, 0, | ||
5744 | 6, 0xFEDE, 0x0644, 0, | ||
5745 | 4, 0xFEDF, 0x0644, 0, | ||
5746 | 5, 0xFEE0, 0x0644, 0, | ||
5747 | 7, 0xFEE1, 0x0645, 0, | ||
5748 | 6, 0xFEE2, 0x0645, 0, | ||
5749 | 4, 0xFEE3, 0x0645, 0, | ||
5750 | 5, 0xFEE4, 0x0645, 0, | ||
5751 | 7, 0xFEE5, 0x0646, 0, | ||
5752 | 6, 0xFEE6, 0x0646, 0, | ||
5753 | 4, 0xFEE7, 0x0646, 0, | ||
5754 | 5, 0xFEE8, 0x0646, 0, | ||
5755 | 7, 0xFEE9, 0x0647, 0, | ||
5756 | 6, 0xFEEA, 0x0647, 0, | ||
5757 | 4, 0xFEEB, 0x0647, 0, | ||
5758 | 5, 0xFEEC, 0x0647, 0, | ||
5759 | 7, 0xFEED, 0x0648, 0, | ||
5760 | 6, 0xFEEE, 0x0648, 0, | ||
5761 | 7, 0xFEEF, 0x0649, 0, | ||
5762 | 6, 0xFEF0, 0x0649, 0, | ||
5763 | 7, 0xFEF1, 0x064A, 0, | ||
5764 | 6, 0xFEF2, 0x064A, 0, | ||
5765 | 4, 0xFEF3, 0x064A, 0, | ||
5766 | 5, 0xFEF4, 0x064A, 0, | ||
5767 | 7, 0xFEF5, 0x0644, 0x0622, 0, | ||
5768 | 6, 0xFEF6, 0x0644, 0x0622, 0, | ||
5769 | 7, 0xFEF7, 0x0644, 0x0623, 0, | ||
5770 | 6, 0xFEF8, 0x0644, 0x0623, 0, | ||
5771 | 7, 0xFEF9, 0x0644, 0x0625, 0, | ||
5772 | 6, 0xFEFA, 0x0644, 0x0625, 0, | ||
5773 | 7, 0xFEFB, 0x0644, 0x0627, 0, | ||
5774 | 6, 0xFEFC, 0x0644, 0x0627, 0, | ||
5775 | 12, 0xFF01, 0x0021, 0, | ||
5776 | 12, 0xFF02, 0x0022, 0, | ||
5777 | 12, 0xFF03, 0x0023, 0, | ||
5778 | 12, 0xFF04, 0x0024, 0, | ||
5779 | 12, 0xFF05, 0x0025, 0, | ||
5780 | 12, 0xFF06, 0x0026, 0, | ||
5781 | 12, 0xFF07, 0x0027, 0, | ||
5782 | 12, 0xFF08, 0x0028, 0, | ||
5783 | 12, 0xFF09, 0x0029, 0, | ||
5784 | 12, 0xFF0A, 0x002A, 0, | ||
5785 | 12, 0xFF0B, 0x002B, 0, | ||
5786 | 12, 0xFF0C, 0x002C, 0, | ||
5787 | 12, 0xFF0D, 0x002D, 0, | ||
5788 | 12, 0xFF0E, 0x002E, 0, | ||
5789 | 12, 0xFF0F, 0x002F, 0, | ||
5790 | 12, 0xFF10, 0x0030, 0, | ||
5791 | 12, 0xFF11, 0x0031, 0, | ||
5792 | 12, 0xFF12, 0x0032, 0, | ||
5793 | 12, 0xFF13, 0x0033, 0, | ||
5794 | 12, 0xFF14, 0x0034, 0, | ||
5795 | 12, 0xFF15, 0x0035, 0, | ||
5796 | 12, 0xFF16, 0x0036, 0, | ||
5797 | 12, 0xFF17, 0x0037, 0, | ||
5798 | 12, 0xFF18, 0x0038, 0, | ||
5799 | 12, 0xFF19, 0x0039, 0, | ||
5800 | 12, 0xFF1A, 0x003A, 0, | ||
5801 | 12, 0xFF1B, 0x003B, 0, | ||
5802 | 12, 0xFF1C, 0x003C, 0, | ||
5803 | 12, 0xFF1D, 0x003D, 0, | ||
5804 | 12, 0xFF1E, 0x003E, 0, | ||
5805 | 12, 0xFF1F, 0x003F, 0, | ||
5806 | 12, 0xFF20, 0x0040, 0, | ||
5807 | 12, 0xFF21, 0x0041, 0, | ||
5808 | 12, 0xFF22, 0x0042, 0, | ||
5809 | 12, 0xFF23, 0x0043, 0, | ||
5810 | 12, 0xFF24, 0x0044, 0, | ||
5811 | 12, 0xFF25, 0x0045, 0, | ||
5812 | 12, 0xFF26, 0x0046, 0, | ||
5813 | 12, 0xFF27, 0x0047, 0, | ||
5814 | 12, 0xFF28, 0x0048, 0, | ||
5815 | 12, 0xFF29, 0x0049, 0, | ||
5816 | 12, 0xFF2A, 0x004A, 0, | ||
5817 | 12, 0xFF2B, 0x004B, 0, | ||
5818 | 12, 0xFF2C, 0x004C, 0, | ||
5819 | 12, 0xFF2D, 0x004D, 0, | ||
5820 | 12, 0xFF2E, 0x004E, 0, | ||
5821 | 12, 0xFF2F, 0x004F, 0, | ||
5822 | 12, 0xFF30, 0x0050, 0, | ||
5823 | 12, 0xFF31, 0x0051, 0, | ||
5824 | 12, 0xFF32, 0x0052, 0, | ||
5825 | 12, 0xFF33, 0x0053, 0, | ||
5826 | 12, 0xFF34, 0x0054, 0, | ||
5827 | 12, 0xFF35, 0x0055, 0, | ||
5828 | 12, 0xFF36, 0x0056, 0, | ||
5829 | 12, 0xFF37, 0x0057, 0, | ||
5830 | 12, 0xFF38, 0x0058, 0, | ||
5831 | 12, 0xFF39, 0x0059, 0, | ||
5832 | 12, 0xFF3A, 0x005A, 0, | ||
5833 | 12, 0xFF3B, 0x005B, 0, | ||
5834 | 12, 0xFF3C, 0x005C, 0, | ||
5835 | 12, 0xFF3D, 0x005D, 0, | ||
5836 | 12, 0xFF3E, 0x005E, 0, | ||
5837 | 12, 0xFF3F, 0x005F, 0, | ||
5838 | 12, 0xFF40, 0x0060, 0, | ||
5839 | 12, 0xFF41, 0x0061, 0, | ||
5840 | 12, 0xFF42, 0x0062, 0, | ||
5841 | 12, 0xFF43, 0x0063, 0, | ||
5842 | 12, 0xFF44, 0x0064, 0, | ||
5843 | 12, 0xFF45, 0x0065, 0, | ||
5844 | 12, 0xFF46, 0x0066, 0, | ||
5845 | 12, 0xFF47, 0x0067, 0, | ||
5846 | 12, 0xFF48, 0x0068, 0, | ||
5847 | 12, 0xFF49, 0x0069, 0, | ||
5848 | 12, 0xFF4A, 0x006A, 0, | ||
5849 | 12, 0xFF4B, 0x006B, 0, | ||
5850 | 12, 0xFF4C, 0x006C, 0, | ||
5851 | 12, 0xFF4D, 0x006D, 0, | ||
5852 | 12, 0xFF4E, 0x006E, 0, | ||
5853 | 12, 0xFF4F, 0x006F, 0, | ||
5854 | 12, 0xFF50, 0x0070, 0, | ||
5855 | 12, 0xFF51, 0x0071, 0, | ||
5856 | 12, 0xFF52, 0x0072, 0, | ||
5857 | 12, 0xFF53, 0x0073, 0, | ||
5858 | 12, 0xFF54, 0x0074, 0, | ||
5859 | 12, 0xFF55, 0x0075, 0, | ||
5860 | 12, 0xFF56, 0x0076, 0, | ||
5861 | 12, 0xFF57, 0x0077, 0, | ||
5862 | 12, 0xFF58, 0x0078, 0, | ||
5863 | 12, 0xFF59, 0x0079, 0, | ||
5864 | 12, 0xFF5A, 0x007A, 0, | ||
5865 | 12, 0xFF5B, 0x007B, 0, | ||
5866 | 12, 0xFF5C, 0x007C, 0, | ||
5867 | 12, 0xFF5D, 0x007D, 0, | ||
5868 | 12, 0xFF5E, 0x007E, 0, | ||
5869 | 12, 0xFF5F, 0x2985, 0, | ||
5870 | 12, 0xFF60, 0x2986, 0, | ||
5871 | 13, 0xFF61, 0x3002, 0, | ||
5872 | 13, 0xFF62, 0x300C, 0, | ||
5873 | 13, 0xFF63, 0x300D, 0, | ||
5874 | 13, 0xFF64, 0x3001, 0, | ||
5875 | 13, 0xFF65, 0x30FB, 0, | ||
5876 | 13, 0xFF66, 0x30F2, 0, | ||
5877 | 13, 0xFF67, 0x30A1, 0, | ||
5878 | 13, 0xFF68, 0x30A3, 0, | ||
5879 | 13, 0xFF69, 0x30A5, 0, | ||
5880 | 13, 0xFF6A, 0x30A7, 0, | ||
5881 | 13, 0xFF6B, 0x30A9, 0, | ||
5882 | 13, 0xFF6C, 0x30E3, 0, | ||
5883 | 13, 0xFF6D, 0x30E5, 0, | ||
5884 | 13, 0xFF6E, 0x30E7, 0, | ||
5885 | 13, 0xFF6F, 0x30C3, 0, | ||
5886 | 13, 0xFF70, 0x30FC, 0, | ||
5887 | 13, 0xFF71, 0x30A2, 0, | ||
5888 | 13, 0xFF72, 0x30A4, 0, | ||
5889 | 13, 0xFF73, 0x30A6, 0, | ||
5890 | 13, 0xFF74, 0x30A8, 0, | ||
5891 | 13, 0xFF75, 0x30AA, 0, | ||
5892 | 13, 0xFF76, 0x30AB, 0, | ||
5893 | 13, 0xFF77, 0x30AD, 0, | ||
5894 | 13, 0xFF78, 0x30AF, 0, | ||
5895 | 13, 0xFF79, 0x30B1, 0, | ||
5896 | 13, 0xFF7A, 0x30B3, 0, | ||
5897 | 13, 0xFF7B, 0x30B5, 0, | ||
5898 | 13, 0xFF7C, 0x30B7, 0, | ||
5899 | 13, 0xFF7D, 0x30B9, 0, | ||
5900 | 13, 0xFF7E, 0x30BB, 0, | ||
5901 | 13, 0xFF7F, 0x30BD, 0, | ||
5902 | 13, 0xFF80, 0x30BF, 0, | ||
5903 | 13, 0xFF81, 0x30C1, 0, | ||
5904 | 13, 0xFF82, 0x30C4, 0, | ||
5905 | 13, 0xFF83, 0x30C6, 0, | ||
5906 | 13, 0xFF84, 0x30C8, 0, | ||
5907 | 13, 0xFF85, 0x30CA, 0, | ||
5908 | 13, 0xFF86, 0x30CB, 0, | ||
5909 | 13, 0xFF87, 0x30CC, 0, | ||
5910 | 13, 0xFF88, 0x30CD, 0, | ||
5911 | 13, 0xFF89, 0x30CE, 0, | ||
5912 | 13, 0xFF8A, 0x30CF, 0, | ||
5913 | 13, 0xFF8B, 0x30D2, 0, | ||
5914 | 13, 0xFF8C, 0x30D5, 0, | ||
5915 | 13, 0xFF8D, 0x30D8, 0, | ||
5916 | 13, 0xFF8E, 0x30DB, 0, | ||
5917 | 13, 0xFF8F, 0x30DE, 0, | ||
5918 | 13, 0xFF90, 0x30DF, 0, | ||
5919 | 13, 0xFF91, 0x30E0, 0, | ||
5920 | 13, 0xFF92, 0x30E1, 0, | ||
5921 | 13, 0xFF93, 0x30E2, 0, | ||
5922 | 13, 0xFF94, 0x30E4, 0, | ||
5923 | 13, 0xFF95, 0x30E6, 0, | ||
5924 | 13, 0xFF96, 0x30E8, 0, | ||
5925 | 13, 0xFF97, 0x30E9, 0, | ||
5926 | 13, 0xFF98, 0x30EA, 0, | ||
5927 | 13, 0xFF99, 0x30EB, 0, | ||
5928 | 13, 0xFF9A, 0x30EC, 0, | ||
5929 | 13, 0xFF9B, 0x30ED, 0, | ||
5930 | 13, 0xFF9C, 0x30EF, 0, | ||
5931 | 13, 0xFF9D, 0x30F3, 0, | ||
5932 | 13, 0xFF9E, 0x3099, 0, | ||
5933 | 13, 0xFF9F, 0x309A, 0, | ||
5934 | 13, 0xFFA0, 0x3164, 0, | ||
5935 | 13, 0xFFA1, 0x3131, 0, | ||
5936 | 13, 0xFFA2, 0x3132, 0, | ||
5937 | 13, 0xFFA3, 0x3133, 0, | ||
5938 | 13, 0xFFA4, 0x3134, 0, | ||
5939 | 13, 0xFFA5, 0x3135, 0, | ||
5940 | 13, 0xFFA6, 0x3136, 0, | ||
5941 | 13, 0xFFA7, 0x3137, 0, | ||
5942 | 13, 0xFFA8, 0x3138, 0, | ||
5943 | 13, 0xFFA9, 0x3139, 0, | ||
5944 | 13, 0xFFAA, 0x313A, 0, | ||
5945 | 13, 0xFFAB, 0x313B, 0, | ||
5946 | 13, 0xFFAC, 0x313C, 0, | ||
5947 | 13, 0xFFAD, 0x313D, 0, | ||
5948 | 13, 0xFFAE, 0x313E, 0, | ||
5949 | 13, 0xFFAF, 0x313F, 0, | ||
5950 | 13, 0xFFB0, 0x3140, 0, | ||
5951 | 13, 0xFFB1, 0x3141, 0, | ||
5952 | 13, 0xFFB2, 0x3142, 0, | ||
5953 | 13, 0xFFB3, 0x3143, 0, | ||
5954 | 13, 0xFFB4, 0x3144, 0, | ||
5955 | 13, 0xFFB5, 0x3145, 0, | ||
5956 | 13, 0xFFB6, 0x3146, 0, | ||
5957 | 13, 0xFFB7, 0x3147, 0, | ||
5958 | 13, 0xFFB8, 0x3148, 0, | ||
5959 | 13, 0xFFB9, 0x3149, 0, | ||
5960 | 13, 0xFFBA, 0x314A, 0, | ||
5961 | 13, 0xFFBB, 0x314B, 0, | ||
5962 | 13, 0xFFBC, 0x314C, 0, | ||
5963 | 13, 0xFFBD, 0x314D, 0, | ||
5964 | 13, 0xFFBE, 0x314E, 0, | ||
5965 | 13, 0xFFC2, 0x314F, 0, | ||
5966 | 13, 0xFFC3, 0x3150, 0, | ||
5967 | 13, 0xFFC4, 0x3151, 0, | ||
5968 | 13, 0xFFC5, 0x3152, 0, | ||
5969 | 13, 0xFFC6, 0x3153, 0, | ||
5970 | 13, 0xFFC7, 0x3154, 0, | ||
5971 | 13, 0xFFCA, 0x3155, 0, | ||
5972 | 13, 0xFFCB, 0x3156, 0, | ||
5973 | 13, 0xFFCC, 0x3157, 0, | ||
5974 | 13, 0xFFCD, 0x3158, 0, | ||
5975 | 13, 0xFFCE, 0x3159, 0, | ||
5976 | 13, 0xFFCF, 0x315A, 0, | ||
5977 | 13, 0xFFD2, 0x315B, 0, | ||
5978 | 13, 0xFFD3, 0x315C, 0, | ||
5979 | 13, 0xFFD4, 0x315D, 0, | ||
5980 | 13, 0xFFD5, 0x315E, 0, | ||
5981 | 13, 0xFFD6, 0x315F, 0, | ||
5982 | 13, 0xFFD7, 0x3160, 0, | ||
5983 | 13, 0xFFDA, 0x3161, 0, | ||
5984 | 13, 0xFFDB, 0x3162, 0, | ||
5985 | 13, 0xFFDC, 0x3163, 0, | ||
5986 | 12, 0xFFE0, 0x00A2, 0, | ||
5987 | 12, 0xFFE1, 0x00A3, 0, | ||
5988 | 12, 0xFFE2, 0x00AC, 0, | ||
5989 | 12, 0xFFE3, 0x00AF, 0, | ||
5990 | 12, 0xFFE4, 0x00A6, 0, | ||
5991 | 12, 0xFFE5, 0x00A5, 0, | ||
5992 | 12, 0xFFE6, 0x20A9, 0, | ||
5993 | 13, 0xFFE8, 0x2502, 0, | ||
5994 | 13, 0xFFE9, 0x2190, 0, | ||
5995 | 13, 0xFFEA, 0x2191, 0, | ||
5996 | 13, 0xFFEB, 0x2192, 0, | ||
5997 | 13, 0xFFEC, 0x2193, 0, | ||
5998 | 13, 0xFFED, 0x25A0, 0, | ||
5999 | 13, 0xFFEE, 0x25CB, 0, | ||
6000 | |||
6001 | }; | ||
6002 | |||
6003 | const Q_UINT16 QUnicodeTables::decomposition_info[] = { | ||
6004 | 1, 2, 3, 4, 5, 6, 7, 8, | ||
6005 | 8, 9, 10, 11, 12, 13, 14, 15, | ||
6006 | 16, 8, 8, 8, 8, 8, 8, 8, | ||
6007 | 8, 8, 8, 8, 8, 8, 17, 18, | ||
6008 | 19, 20, 21, 22, 23, 8, 8, 8, | ||
6009 | 8, 8, 24, 8, 8, 8, 25, 26, | ||
6010 | 27, 28, 29, 30, 8, 8, 8, 8, | ||
6011 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6012 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6013 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6014 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6015 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6016 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6017 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6018 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6019 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6020 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6021 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6022 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6023 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6024 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6025 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6026 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6027 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6028 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6029 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6030 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6031 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6032 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6033 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6034 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
6035 | 8, 31, 32, 33, 34, 35, 36, 37, | ||
6036 | |||
6037 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6038 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6039 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6040 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6041 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6042 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6043 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6044 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6045 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6046 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6047 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6048 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6049 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6050 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6051 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6052 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6053 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6054 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6055 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6056 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6057 | 1, 0, 0, 0, 0, 0, 0, 0, | ||
6058 | 5, 0, 10, 0, 0, 0, 0, 14, | ||
6059 | 0, 0, 19, 23, 27, 32, 0, 0, | ||
6060 | 36, 41, 45, 0, 49, 55, 61, 0, | ||
6061 | 67, 72, 77, 82, 87, 92, 0, 97, | ||
6062 | 102, 107, 112, 117, 122, 127, 132, 137, | ||
6063 | 0, 142, 147, 152, 157, 162, 167, 0, | ||
6064 | 0, 172, 177, 182, 187, 192, 0, 0, | ||
6065 | 197, 202, 207, 212, 217, 222, 0, 227, | ||
6066 | 232, 237, 242, 247, 252, 257, 262, 267, | ||
6067 | 0, 272, 277, 282, 287, 292, 297, 0, | ||
6068 | 0, 302, 307, 312, 317, 322, 0, 327, | ||
6069 | |||
6070 | 332, 337, 342, 347, 352, 357, 362, 367, | ||
6071 | 372, 377, 382, 387, 392, 397, 402, 407, | ||
6072 | 0, 0, 412, 417, 422, 427, 432, 437, | ||
6073 | 442, 447, 452, 457, 462, 467, 472, 477, | ||
6074 | 482, 487, 492, 497, 502, 507, 0, 0, | ||
6075 | 512, 517, 522, 527, 532, 537, 542, 547, | ||
6076 | 552, 0, 557, 562, 567, 572, 577, 582, | ||
6077 | 0, 587, 592, 597, 602, 607, 612, 617, | ||
6078 | 622, 0, 0, 627, 632, 637, 642, 647, | ||
6079 | 652, 657, 0, 0, 662, 667, 672, 677, | ||
6080 | 682, 687, 0, 0, 692, 697, 702, 707, | ||
6081 | 712, 717, 722, 727, 732, 737, 742, 747, | ||
6082 | 752, 757, 762, 767, 772, 777, 0, 0, | ||
6083 | 782, 787, 792, 797, 802, 807, 812, 817, | ||
6084 | 822, 827, 832, 837, 842, 847, 852, 857, | ||
6085 | 862, 867, 872, 877, 882, 887, 892, 897, | ||
6086 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6087 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6088 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6089 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6090 | 901, 906, 0, 0, 0, 0, 0, 0, | ||
6091 | 0, 0, 0, 0, 0, 0, 0, 911, | ||
6092 | 916, 0, 0, 0, 0, 0, 0, 0, | ||
6093 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6094 | 0, 0, 0, 0, 921, 926, 931, 936, | ||
6095 | 941, 946, 951, 956, 961, 966, 971, 976, | ||
6096 | 981, 986, 991, 996, 1001, 1006, 1011, 1016, | ||
6097 | 1021, 1026, 1031, 1036, 1041, 0, 1046, 1051, | ||
6098 | 1056, 1061, 1066, 1071, 0, 0, 1076, 1081, | ||
6099 | 1086, 1091, 1096, 1101, 1106, 1111, 1116, 1121, | ||
6100 | 1126, 1131, 1136, 1141, 1146, 1151, 0, 0, | ||
6101 | 1156, 1161, 1166, 1171, 1176, 1181, 1186, 1191, | ||
6102 | |||
6103 | 1196, 1201, 1206, 1211, 1216, 1221, 1226, 1231, | ||
6104 | 1236, 1241, 1246, 1251, 1256, 1261, 1266, 1271, | ||
6105 | 1276, 1281, 1286, 1291, 1296, 1301, 1306, 1311, | ||
6106 | 1316, 1321, 1326, 1331, 0, 0, 1336, 1341, | ||
6107 | 0, 0, 0, 0, 0, 0, 1346, 1351, | ||
6108 | 1356, 1361, 1366, 1371, 1376, 1381, 1386, 1391, | ||
6109 | 1396, 1401, 1406, 1411, 0, 0, 0, 0, | ||
6110 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6111 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6112 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6113 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6114 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6115 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6116 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6117 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6118 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6119 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6120 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6121 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6122 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6123 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6124 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6125 | 1416, 1420, 1424, 1428, 1432, 1436, 1440, 1444, | ||
6126 | 1448, 0, 0, 0, 0, 0, 0, 0, | ||
6127 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6128 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6129 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6130 | 1452, 1457, 1462, 1467, 1472, 1477, 0, 0, | ||
6131 | 1482, 1486, 1490, 1494, 1498, 0, 0, 0, | ||
6132 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6133 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6134 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6135 | |||
6136 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6137 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6138 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6139 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6140 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6141 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6142 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6143 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6144 | 1502, 1506, 0, 1510, 1514, 0, 0, 0, | ||
6145 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6146 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6147 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6148 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6149 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6150 | 0, 0, 0, 0, 1519, 0, 0, 0, | ||
6151 | 0, 0, 1523, 0, 0, 0, 1528, 0, | ||
6152 | 0, 0, 0, 0, 1532, 1537, 1542, 1547, | ||
6153 | 1551, 1556, 1561, 0, 1566, 0, 1571, 1576, | ||
6154 | 1581, 0, 0, 0, 0, 0, 0, 0, | ||
6155 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6156 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6157 | 0, 0, 1586, 1591, 1596, 1601, 1606, 1611, | ||
6158 | 1616, 0, 0, 0, 0, 0, 0, 0, | ||
6159 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6160 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6161 | 0, 0, 1621, 1626, 1631, 1636, 1641, 0, | ||
6162 | 1646, 1650, 1654, 1658, 1663, 1668, 1672, 0, | ||
6163 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6164 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6165 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6166 | 1676, 1680, 1684, 0, 1688, 1692, 0, 0, | ||
6167 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6168 | |||
6169 | 1696, 1701, 0, 1706, 0, 0, 0, 1711, | ||
6170 | 0, 0, 0, 0, 1716, 1721, 1726, 0, | ||
6171 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6172 | 0, 1731, 0, 0, 0, 0, 0, 0, | ||
6173 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6174 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6175 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6176 | 0, 1736, 0, 0, 0, 0, 0, 0, | ||
6177 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6178 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6179 | 1741, 1746, 0, 1751, 0, 0, 0, 1756, | ||
6180 | 0, 0, 0, 0, 1761, 1766, 1771, 0, | ||
6181 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6182 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6183 | 0, 0, 0, 0, 0, 0, 1776, 1781, | ||
6184 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6185 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6186 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6187 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6188 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6189 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6190 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6191 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6192 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6193 | 0, 1786, 1791, 0, 0, 0, 0, 0, | ||
6194 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6195 | 1796, 1801, 1806, 1811, 0, 0, 1816, 1821, | ||
6196 | 0, 0, 1826, 1831, 1836, 1841, 1846, 1851, | ||
6197 | 0, 0, 1856, 1861, 1866, 1871, 1876, 1881, | ||
6198 | 0, 0, 1886, 1891, 1896, 1901, 1906, 1911, | ||
6199 | 1916, 1921, 1926, 1931, 1936, 1941, 0, 0, | ||
6200 | 1946, 1951, 0, 0, 0, 0, 0, 0, | ||
6201 | |||
6202 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6203 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6204 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6205 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6206 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6207 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6208 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6209 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6210 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6211 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6212 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6213 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6214 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6215 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6216 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6217 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6218 | 0, 0, 0, 0, 0, 0, 0, 1956, | ||
6219 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6220 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6221 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6222 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6223 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6224 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6225 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6226 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6227 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6228 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6229 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6230 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6231 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6232 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6233 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6234 | |||
6235 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6236 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6237 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6238 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6239 | 0, 0, 1961, 1966, 1971, 1976, 1981, 0, | ||
6240 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6241 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6242 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6243 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6244 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6245 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6246 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6247 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6248 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6249 | 0, 0, 0, 0, 0, 1986, 1991, 1996, | ||
6250 | 2001, 0, 0, 0, 0, 0, 0, 0, | ||
6251 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6252 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6253 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6254 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6255 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6256 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6257 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6258 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6259 | 2006, 0, 2011, 0, 0, 0, 0, 0, | ||
6260 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6261 | 0, 0, 0, 2016, 0, 0, 0, 0, | ||
6262 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6263 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6264 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6265 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6266 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6267 | |||
6268 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6269 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6270 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6271 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6272 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6273 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6274 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6275 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6276 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6277 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6278 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6279 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6280 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6281 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6282 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6283 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6284 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6285 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6286 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6287 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6288 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6289 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6290 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6291 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6292 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6293 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6294 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6295 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6296 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6297 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6298 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6299 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6300 | |||
6301 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6302 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6303 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6304 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6305 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6306 | 0, 2021, 0, 0, 0, 0, 0, 0, | ||
6307 | 0, 2026, 0, 0, 2031, 0, 0, 0, | ||
6308 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6309 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6310 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6311 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6312 | 2036, 2041, 2046, 2051, 2056, 2061, 2066, 2071, | ||
6313 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6314 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6315 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6316 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6317 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6318 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6319 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6320 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6321 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6322 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6323 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6324 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6325 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6326 | 0, 0, 0, 2076, 2081, 0, 0, 0, | ||
6327 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6328 | 0, 0, 0, 0, 2086, 2091, 0, 2096, | ||
6329 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6330 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6331 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6332 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6333 | |||
6334 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6335 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6336 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6337 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6338 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6339 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6340 | 0, 0, 0, 2101, 0, 0, 2106, 0, | ||
6341 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6342 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6343 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6344 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6345 | 0, 2111, 2116, 2121, 0, 0, 2126, 0, | ||
6346 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6347 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6348 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6349 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6350 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6351 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6352 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6353 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6354 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6355 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6356 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6357 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6358 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6359 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6360 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6361 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6362 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6363 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6364 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6365 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6366 | |||
6367 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6368 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6369 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6370 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6371 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6372 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6373 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6374 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6375 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6376 | 2131, 0, 0, 2136, 2141, 0, 0, 0, | ||
6377 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6378 | 0, 0, 0, 0, 2146, 2151, 0, 0, | ||
6379 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6380 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6381 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6382 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6383 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6384 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6385 | 0, 0, 0, 0, 2156, 0, 0, 0, | ||
6386 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6387 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6388 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6389 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6390 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6391 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6392 | 0, 0, 2161, 2166, 2171, 0, 0, 0, | ||
6393 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6394 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6395 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6396 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6397 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6398 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6399 | |||
6400 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6401 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6402 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6403 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6404 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6405 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6406 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6407 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6408 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6409 | 2176, 0, 0, 0, 0, 0, 0, 0, | ||
6410 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6411 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6412 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6413 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6414 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6415 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6416 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6417 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6418 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6419 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6420 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6421 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6422 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6423 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6424 | 2181, 0, 0, 0, 0, 0, 0, 2186, | ||
6425 | 2191, 0, 2196, 2201, 0, 0, 0, 0, | ||
6426 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6427 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6428 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6429 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6430 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6431 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6432 | |||
6433 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6434 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6435 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6436 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6437 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6438 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6439 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6440 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6441 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6442 | 0, 0, 2206, 2211, 2216, 0, 0, 0, | ||
6443 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6444 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6445 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6446 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6447 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6448 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6449 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6450 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6451 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6452 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6453 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6454 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6455 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6456 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6457 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6458 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6459 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6460 | 0, 0, 2221, 0, 2226, 2231, 2236, 0, | ||
6461 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6462 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6463 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6464 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6465 | |||
6466 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6467 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6468 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6469 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6470 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6471 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6472 | 0, 0, 0, 2241, 0, 0, 0, 0, | ||
6473 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6474 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6475 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6476 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6477 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6478 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6479 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6480 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6481 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6482 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6483 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6484 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6485 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6486 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6487 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6488 | 0, 0, 0, 2246, 0, 0, 0, 0, | ||
6489 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6490 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6491 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6492 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6493 | 0, 0, 0, 0, 2251, 2256, 0, 0, | ||
6494 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6495 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6496 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6497 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6498 | |||
6499 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6500 | 0, 0, 0, 0, 2261, 0, 0, 0, | ||
6501 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6502 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6503 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6504 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6505 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6506 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6507 | 0, 0, 0, 2265, 0, 0, 0, 0, | ||
6508 | 0, 0, 0, 0, 0, 2270, 0, 0, | ||
6509 | 0, 0, 2275, 0, 0, 0, 0, 2280, | ||
6510 | 0, 0, 0, 0, 2285, 0, 0, 0, | ||
6511 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6512 | 0, 2290, 0, 0, 0, 0, 0, 0, | ||
6513 | 0, 0, 0, 2295, 0, 2300, 2305, 2310, | ||
6514 | 2315, 2320, 0, 0, 0, 0, 0, 0, | ||
6515 | 0, 2325, 0, 0, 0, 0, 0, 0, | ||
6516 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6517 | 0, 0, 0, 2330, 0, 0, 0, 0, | ||
6518 | 0, 0, 0, 0, 0, 2335, 0, 0, | ||
6519 | 0, 0, 2340, 0, 0, 0, 0, 2345, | ||
6520 | 0, 0, 0, 0, 2350, 0, 0, 0, | ||
6521 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6522 | 0, 2355, 0, 0, 0, 0, 0, 0, | ||
6523 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6524 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6525 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6526 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6527 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6528 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6529 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6530 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6531 | |||
6532 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6533 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6534 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6535 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6536 | 0, 0, 0, 0, 0, 0, 2360, 0, | ||
6537 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6538 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6539 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6540 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6541 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6542 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6543 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6544 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6545 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6546 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6547 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6548 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6549 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6550 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6551 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6552 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6553 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6554 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6555 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6556 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6557 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6558 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6559 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6560 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6561 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6562 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6563 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6564 | |||
6565 | 2365, 2370, 2375, 2380, 2385, 2390, 2395, 2400, | ||
6566 | 2405, 2410, 2415, 2420, 2425, 2430, 2435, 2440, | ||
6567 | 2445, 2450, 2455, 2460, 2465, 2470, 2475, 2480, | ||
6568 | 2485, 2490, 2495, 2500, 2505, 2510, 2515, 2520, | ||
6569 | 2525, 2530, 2535, 2540, 2545, 2550, 2555, 2560, | ||
6570 | 2565, 2570, 2575, 2580, 2585, 2590, 2595, 2600, | ||
6571 | 2605, 2610, 2615, 2620, 2625, 2630, 2635, 2640, | ||
6572 | 2645, 2650, 2655, 2660, 2665, 2670, 2675, 2680, | ||
6573 | 2685, 2690, 2695, 2700, 2705, 2710, 2715, 2720, | ||
6574 | 2725, 2730, 2735, 2740, 2745, 2750, 2755, 2760, | ||
6575 | 2765, 2770, 2775, 2780, 2785, 2790, 2795, 2800, | ||
6576 | 2805, 2810, 2815, 2820, 2825, 2830, 2835, 2840, | ||
6577 | 2845, 2850, 2855, 2860, 2865, 2870, 2875, 2880, | ||
6578 | 2885, 2890, 2895, 2900, 2905, 2910, 2915, 2920, | ||
6579 | 2925, 2930, 2935, 2940, 2945, 2950, 2955, 2960, | ||
6580 | 2965, 2970, 2975, 2980, 2985, 2990, 2995, 3000, | ||
6581 | 3005, 3010, 3015, 3020, 3025, 3030, 3035, 3040, | ||
6582 | 3045, 3050, 3055, 3060, 3065, 3070, 3075, 3080, | ||
6583 | 3085, 3090, 3095, 3100, 3105, 3110, 3115, 3120, | ||
6584 | 3125, 3130, 3135, 3140, 0, 0, 0, 0, | ||
6585 | 3145, 3150, 3155, 3160, 3165, 3170, 3175, 3180, | ||
6586 | 3185, 3190, 3195, 3200, 3205, 3210, 3215, 3220, | ||
6587 | 3225, 3230, 3235, 3240, 3245, 3250, 3255, 3260, | ||
6588 | 3265, 3270, 3275, 3280, 3285, 3290, 3295, 3300, | ||
6589 | 3305, 3310, 3315, 3320, 3325, 3330, 3335, 3340, | ||
6590 | 3345, 3350, 3355, 3360, 3365, 3370, 3375, 3380, | ||
6591 | 3385, 3390, 3395, 3400, 3405, 3410, 3415, 3420, | ||
6592 | 3425, 3430, 3435, 3440, 3445, 3450, 3455, 3460, | ||
6593 | 3465, 3470, 3475, 3480, 3485, 3490, 3495, 3500, | ||
6594 | 3505, 3510, 3515, 3520, 3525, 3530, 3535, 3540, | ||
6595 | 3545, 3550, 3555, 3560, 3565, 3570, 3575, 3580, | ||
6596 | 3585, 3590, 0, 0, 0, 0, 0, 0, | ||
6597 | |||
6598 | 3595, 3600, 3605, 3610, 3615, 3620, 3625, 3630, | ||
6599 | 3635, 3640, 3645, 3650, 3655, 3660, 3665, 3670, | ||
6600 | 3675, 3680, 3685, 3690, 3695, 3700, 0, 0, | ||
6601 | 3705, 3710, 3715, 3720, 3725, 3730, 0, 0, | ||
6602 | 3735, 3740, 3745, 3750, 3755, 3760, 3765, 3770, | ||
6603 | 3775, 3780, 3785, 3790, 3795, 3800, 3805, 3810, | ||
6604 | 3815, 3820, 3825, 3830, 3835, 3840, 3845, 3850, | ||
6605 | 3855, 3860, 3865, 3870, 3875, 3880, 3885, 3890, | ||
6606 | 3895, 3900, 3905, 3910, 3915, 3920, 0, 0, | ||
6607 | 3925, 3930, 3935, 3940, 3945, 3950, 0, 0, | ||
6608 | 3955, 3960, 3965, 3970, 3975, 3980, 3985, 3990, | ||
6609 | 0, 3995, 0, 4000, 0, 4005, 0, 4010, | ||
6610 | 4015, 4020, 4025, 4030, 4035, 4040, 4045, 4050, | ||
6611 | 4055, 4060, 4065, 4070, 4075, 4080, 4085, 4090, | ||
6612 | 4095, 4100, 4104, 4109, 4113, 4118, 4122, 4127, | ||
6613 | 4131, 4136, 4140, 4145, 4149, 4154, 0, 0, | ||
6614 | 4158, 4163, 4168, 4173, 4178, 4183, 4188, 4193, | ||
6615 | 4198, 4203, 4208, 4213, 4218, 4223, 4228, 4233, | ||
6616 | 4238, 4243, 4248, 4253, 4258, 4263, 4268, 4273, | ||
6617 | 4278, 4283, 4288, 4293, 4298, 4303, 4308, 4313, | ||
6618 | 4318, 4323, 4328, 4333, 4338, 4343, 4348, 4353, | ||
6619 | 4358, 4363, 4368, 4373, 4378, 4383, 4388, 4393, | ||
6620 | 4398, 4403, 4408, 4413, 4418, 0, 4423, 4428, | ||
6621 | 4433, 4438, 4443, 4448, 4452, 4457, 4462, 4466, | ||
6622 | 4471, 4476, 4481, 4486, 4491, 0, 4496, 4501, | ||
6623 | 4506, 4511, 4515, 4520, 4524, 4529, 4534, 4539, | ||
6624 | 4544, 4549, 4554, 4559, 0, 0, 4563, 4568, | ||
6625 | 4573, 4578, 4583, 4588, 0, 4592, 4597, 4602, | ||
6626 | 4607, 4612, 4617, 4622, 4626, 4631, 4636, 4641, | ||
6627 | 4646, 4651, 4656, 4661, 4665, 4670, 4675, 4679, | ||
6628 | 0, 0, 4683, 4688, 4693, 0, 4698, 4703, | ||
6629 | 4708, 4713, 4717, 4722, 4726, 4731, 4735, 0, | ||
6630 | |||
6631 | 4740, 4744, 4748, 4752, 4756, 4760, 4764, 4768, | ||
6632 | 4772, 4776, 4780, 0, 0, 0, 0, 0, | ||
6633 | 0, 4784, 0, 0, 0, 0, 0, 4788, | ||
6634 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6635 | 0, 0, 0, 0, 4793, 4797, 4802, 0, | ||
6636 | 0, 0, 0, 0, 0, 0, 0, 4808, | ||
6637 | 0, 0, 0, 4812, 4817, 0, 4823, 4828, | ||
6638 | 0, 0, 0, 0, 4834, 0, 4839, 0, | ||
6639 | 0, 0, 0, 0, 0, 0, 0, 4844, | ||
6640 | 4849, 4854, 0, 0, 0, 0, 0, 0, | ||
6641 | 0, 0, 0, 0, 0, 0, 0, 4859, | ||
6642 | 0, 0, 0, 0, 0, 0, 0, 4866, | ||
6643 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6644 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6645 | 4870, 4874, 0, 0, 4878, 4882, 4886, 4890, | ||
6646 | 4894, 4898, 4902, 4906, 4910, 4914, 4918, 4922, | ||
6647 | 4926, 4930, 4934, 4938, 4942, 4946, 4950, 4954, | ||
6648 | 4958, 4962, 4966, 4970, 4974, 4978, 4982, 0, | ||
6649 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6650 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6651 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6652 | 4986, 0, 0, 0, 0, 0, 0, 0, | ||
6653 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6654 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6655 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6656 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6657 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6658 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6659 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6660 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6661 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6662 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6663 | |||
6664 | 4991, 4997, 5003, 5007, 0, 5012, 5018, 5024, | ||
6665 | 0, 5028, 5033, 5037, 5041, 5045, 5049, 5053, | ||
6666 | 5057, 5061, 5065, 5069, 0, 5073, 5077, 0, | ||
6667 | 0, 5082, 5086, 5090, 5094, 5098, 0, 0, | ||
6668 | 5102, 5107, 5113, 0, 5118, 0, 5122, 0, | ||
6669 | 5126, 0, 5130, 5134, 5138, 5142, 0, 5146, | ||
6670 | 5150, 5154, 0, 5158, 5162, 5166, 5170, 5174, | ||
6671 | 5178, 5182, 0, 0, 0, 5186, 5190, 5194, | ||
6672 | 5198, 0, 0, 0, 0, 5202, 5206, 5210, | ||
6673 | 5214, 5218, 0, 0, 0, 0, 0, 0, | ||
6674 | 0, 0, 0, 5222, 5228, 5234, 5240, 5246, | ||
6675 | 5252, 5258, 5264, 5270, 5276, 5282, 5288, 5294, | ||
6676 | 5299, 5303, 5308, 5314, 5319, 5323, 5328, 5334, | ||
6677 | 5341, 5346, 5350, 5355, 5361, 5365, 5369, 5373, | ||
6678 | 5377, 5381, 5386, 5392, 5397, 5401, 5406, 5412, | ||
6679 | 5419, 5424, 5428, 5433, 5439, 5443, 5447, 5451, | ||
6680 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6681 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6682 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6683 | 0, 0, 5455, 5460, 0, 0, 0, 0, | ||
6684 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6685 | 0, 0, 0, 0, 0, 0, 5465, 0, | ||
6686 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6687 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6688 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6689 | 0, 0, 0, 0, 0, 5470, 5475, 5480, | ||
6690 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6691 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6692 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6693 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6694 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6695 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6696 | |||
6697 | 0, 0, 0, 0, 5485, 0, 0, 0, | ||
6698 | 0, 5490, 0, 0, 5495, 0, 0, 0, | ||
6699 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6700 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6701 | 0, 0, 0, 0, 5500, 0, 5505, 0, | ||
6702 | 0, 0, 0, 0, 5510, 5515, 0, 5521, | ||
6703 | 5526, 0, 0, 0, 0, 0, 0, 0, | ||
6704 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6705 | 0, 5532, 0, 0, 5537, 0, 0, 5542, | ||
6706 | 0, 5547, 0, 0, 0, 0, 0, 0, | ||
6707 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6708 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6709 | 5552, 0, 5557, 0, 0, 0, 0, 0, | ||
6710 | 0, 0, 0, 0, 0, 5562, 5567, 5572, | ||
6711 | 5577, 5582, 0, 0, 5587, 5592, 0, 0, | ||
6712 | 5597, 5602, 0, 0, 0, 0, 0, 0, | ||
6713 | 5607, 5612, 0, 0, 5617, 5622, 0, 0, | ||
6714 | 5627, 5632, 0, 0, 0, 0, 0, 0, | ||
6715 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6716 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6717 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6718 | 0, 0, 0, 0, 5637, 5642, 5647, 5652, | ||
6719 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6720 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6721 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6722 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6723 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6724 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6725 | 5657, 5662, 5667, 5672, 0, 0, 0, 0, | ||
6726 | 0, 0, 5677, 5682, 5687, 5692, 0, 0, | ||
6727 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6728 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6729 | |||
6730 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6731 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6732 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6733 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6734 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6735 | 0, 5697, 5701, 0, 0, 0, 0, 0, | ||
6736 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6737 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6738 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6739 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6740 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6741 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6742 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6743 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6744 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6745 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6746 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6747 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6748 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6749 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6750 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6751 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6752 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6753 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6754 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6755 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6756 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6757 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6758 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6759 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6760 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6761 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6762 | |||
6763 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6764 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6765 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6766 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6767 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6768 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6769 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6770 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6771 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6772 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6773 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6774 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6775 | 5705, 5709, 5713, 5717, 5721, 5725, 5729, 5733, | ||
6776 | 5737, 5741, 5746, 5751, 5756, 5761, 5766, 5771, | ||
6777 | 5776, 5781, 5786, 5791, 5796, 5802, 5808, 5814, | ||
6778 | 5820, 5826, 5832, 5838, 5844, 5850, 5857, 5864, | ||
6779 | 5871, 5878, 5885, 5892, 5899, 5906, 5913, 5920, | ||
6780 | 5927, 5932, 5937, 5942, 5947, 5952, 5957, 5962, | ||
6781 | 5967, 5972, 5978, 5984, 5990, 5996, 6002, 6008, | ||
6782 | 6014, 6020, 6026, 6032, 6038, 6044, 6050, 6056, | ||
6783 | 6062, 6068, 6074, 6080, 6086, 6092, 6098, 6104, | ||
6784 | 6110, 6116, 6122, 6128, 6134, 6140, 6146, 6152, | ||
6785 | 6158, 6164, 6170, 6176, 6182, 6188, 6194, 6198, | ||
6786 | 6202, 6206, 6210, 6214, 6218, 6222, 6226, 6230, | ||
6787 | 6234, 6238, 6242, 6246, 6250, 6254, 6258, 6262, | ||
6788 | 6266, 6270, 6274, 6278, 6282, 6286, 6290, 6294, | ||
6789 | 6298, 6302, 6306, 6310, 6314, 6318, 6322, 6326, | ||
6790 | 6330, 6334, 6338, 6342, 6346, 6350, 6354, 6358, | ||
6791 | 6362, 6366, 6370, 6374, 6378, 6382, 6386, 6390, | ||
6792 | 6394, 6398, 6402, 0, 0, 0, 0, 0, | ||
6793 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6794 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6795 | |||
6796 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6797 | 0, 0, 0, 0, 6406, 0, 0, 0, | ||
6798 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6799 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6800 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6801 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6802 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6803 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6804 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6805 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6806 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6807 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6808 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6809 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6810 | 0, 0, 0, 0, 6413, 6419, 6424, 0, | ||
6811 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6812 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6813 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6814 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6815 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6816 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6817 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6818 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6819 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6820 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6821 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6822 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6823 | 0, 0, 0, 0, 6430, 0, 0, 0, | ||
6824 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6825 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6826 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6827 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6828 | |||
6829 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6830 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6831 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6832 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6833 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6834 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6835 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6836 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6837 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6838 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6839 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6840 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6841 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6842 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6843 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6844 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6845 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6846 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6847 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6848 | 0, 0, 0, 0, 0, 0, 0, 6435, | ||
6849 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6850 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6851 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6852 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6853 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6854 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6855 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6856 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6857 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6858 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6859 | 0, 0, 0, 6439, 0, 0, 0, 0, | ||
6860 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6861 | |||
6862 | 6443, 6447, 6451, 6455, 6459, 6463, 6467, 6471, | ||
6863 | 6475, 6479, 6483, 6487, 6491, 6495, 6499, 6503, | ||
6864 | 6507, 6511, 6515, 6519, 6523, 6527, 6531, 6535, | ||
6865 | 6539, 6543, 6547, 6551, 6555, 6559, 6563, 6567, | ||
6866 | 6571, 6575, 6579, 6583, 6587, 6591, 6595, 6599, | ||
6867 | 6603, 6607, 6611, 6615, 6619, 6623, 6627, 6631, | ||
6868 | 6635, 6639, 6643, 6647, 6651, 6655, 6659, 6663, | ||
6869 | 6667, 6671, 6675, 6679, 6683, 6687, 6691, 6695, | ||
6870 | 6699, 6703, 6707, 6711, 6715, 6719, 6723, 6727, | ||
6871 | 6731, 6735, 6739, 6743, 6747, 6751, 6755, 6759, | ||
6872 | 6763, 6767, 6771, 6775, 6779, 6783, 6787, 6791, | ||
6873 | 6795, 6799, 6803, 6807, 6811, 6815, 6819, 6823, | ||
6874 | 6827, 6831, 6835, 6839, 6843, 6847, 6851, 6855, | ||
6875 | 6859, 6863, 6867, 6871, 6875, 6879, 6883, 6887, | ||
6876 | 6891, 6895, 6899, 6903, 6907, 6911, 6915, 6919, | ||
6877 | 6923, 6927, 6931, 6935, 6939, 6943, 6947, 6951, | ||
6878 | 6955, 6959, 6963, 6967, 6971, 6975, 6979, 6983, | ||
6879 | 6987, 6991, 6995, 6999, 7003, 7007, 7011, 7015, | ||
6880 | 7019, 7023, 7027, 7031, 7035, 7039, 7043, 7047, | ||
6881 | 7051, 7055, 7059, 7063, 7067, 7071, 7075, 7079, | ||
6882 | 7083, 7087, 7091, 7095, 7099, 7103, 7107, 7111, | ||
6883 | 7115, 7119, 7123, 7127, 7131, 7135, 7139, 7143, | ||
6884 | 7147, 7151, 7155, 7159, 7163, 7167, 7171, 7175, | ||
6885 | 7179, 7183, 7187, 7191, 7195, 7199, 7203, 7207, | ||
6886 | 7211, 7215, 7219, 7223, 7227, 7231, 7235, 7239, | ||
6887 | 7243, 7247, 7251, 7255, 7259, 7263, 7267, 7271, | ||
6888 | 7275, 7279, 7283, 7287, 7291, 7295, 0, 0, | ||
6889 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6890 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6891 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6892 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6893 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6894 | |||
6895 | 7299, 0, 0, 0, 0, 0, 0, 0, | ||
6896 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6897 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6898 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6899 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6900 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6901 | 0, 0, 0, 0, 0, 0, 7303, 0, | ||
6902 | 7307, 7311, 7315, 0, 0, 0, 0, 0, | ||
6903 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6904 | 0, 0, 0, 0, 7319, 0, 7324, 0, | ||
6905 | 7329, 0, 7334, 0, 7339, 0, 7344, 0, | ||
6906 | 7349, 0, 7354, 0, 7359, 0, 7364, 0, | ||
6907 | 7369, 0, 7374, 0, 0, 7379, 0, 7384, | ||
6908 | 0, 7389, 0, 0, 0, 0, 0, 0, | ||
6909 | 7394, 7399, 0, 7404, 7409, 0, 7414, 7419, | ||
6910 | 0, 7424, 7429, 0, 7434, 7439, 0, 0, | ||
6911 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6912 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6913 | 0, 0, 0, 0, 7444, 0, 0, 0, | ||
6914 | 0, 0, 0, 7449, 7454, 0, 7459, 7464, | ||
6915 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6916 | 0, 0, 0, 0, 7469, 0, 7474, 0, | ||
6917 | 7479, 0, 7484, 0, 7489, 0, 7494, 0, | ||
6918 | 7499, 0, 7504, 0, 7509, 0, 7514, 0, | ||
6919 | 7519, 0, 7524, 0, 0, 7529, 0, 7534, | ||
6920 | 0, 7539, 0, 0, 0, 0, 0, 0, | ||
6921 | 7544, 7549, 0, 7554, 7559, 0, 7564, 7569, | ||
6922 | 0, 7574, 7579, 0, 7584, 7589, 0, 0, | ||
6923 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6924 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6925 | 0, 0, 0, 0, 7594, 0, 0, 7599, | ||
6926 | 7604, 7609, 7614, 0, 0, 0, 7619, 7624, | ||
6927 | |||
6928 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6929 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6930 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6931 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6932 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6933 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6934 | 0, 7629, 7633, 7637, 7641, 7645, 7649, 7653, | ||
6935 | 7657, 7661, 7665, 7669, 7673, 7677, 7681, 7685, | ||
6936 | 7689, 7693, 7697, 7701, 7705, 7709, 7713, 7717, | ||
6937 | 7721, 7725, 7729, 7733, 7737, 7741, 7745, 7749, | ||
6938 | 7753, 7757, 7761, 7765, 7769, 7773, 7777, 7781, | ||
6939 | 7785, 7789, 7793, 7797, 7801, 7805, 7809, 7813, | ||
6940 | 7817, 7821, 7825, 7829, 7833, 7837, 7841, 7845, | ||
6941 | 7849, 7853, 7857, 7861, 7865, 7869, 7873, 7877, | ||
6942 | 7881, 7885, 7889, 7893, 7897, 7901, 7905, 7909, | ||
6943 | 7913, 7917, 7921, 7925, 7929, 7933, 7937, 7941, | ||
6944 | 7945, 7949, 7953, 7957, 7961, 7965, 7969, 7973, | ||
6945 | 7977, 7981, 7985, 7989, 7993, 7997, 8001, 0, | ||
6946 | 0, 0, 8005, 8009, 8013, 8017, 8021, 8025, | ||
6947 | 8029, 8033, 8037, 8041, 8045, 8049, 8053, 8057, | ||
6948 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6949 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6950 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6951 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6952 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6953 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6954 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6955 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6956 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6957 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6958 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6959 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6960 | |||
6961 | 8061, 8067, 8073, 8079, 8085, 8091, 8097, 8103, | ||
6962 | 8109, 8115, 8121, 8127, 8133, 8139, 8145, 8152, | ||
6963 | 8159, 8166, 8173, 8180, 8187, 8194, 8201, 8208, | ||
6964 | 8215, 8222, 8229, 8236, 8243, 0, 0, 0, | ||
6965 | 8250, 8256, 8262, 8268, 8274, 8280, 8286, 8292, | ||
6966 | 8298, 8304, 8310, 8316, 8322, 8328, 8334, 8340, | ||
6967 | 8346, 8352, 8358, 8364, 8370, 8376, 8382, 8388, | ||
6968 | 8394, 8400, 8406, 8412, 8418, 8424, 8430, 8436, | ||
6969 | 8442, 8448, 8454, 8460, 0, 0, 0, 0, | ||
6970 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6971 | 0, 8466, 8471, 8476, 8481, 8486, 8491, 8496, | ||
6972 | 8501, 8506, 8511, 8516, 8521, 8526, 8531, 8536, | ||
6973 | 8541, 8545, 8549, 8553, 8557, 8561, 8565, 8569, | ||
6974 | 8573, 8577, 8581, 8585, 8589, 8593, 8597, 8602, | ||
6975 | 8607, 8612, 8617, 8622, 8627, 8632, 8637, 8642, | ||
6976 | 8647, 8652, 8657, 8662, 0, 0, 0, 0, | ||
6977 | 8667, 8671, 8675, 8679, 8683, 8687, 8691, 8695, | ||
6978 | 8699, 8703, 8707, 8711, 8715, 8719, 8723, 8727, | ||
6979 | 8731, 8735, 8739, 8743, 8747, 8751, 8755, 8759, | ||
6980 | 8763, 8767, 8771, 8775, 8779, 8783, 8787, 8791, | ||
6981 | 8795, 8799, 8803, 8807, 8811, 8815, 8819, 8823, | ||
6982 | 8827, 8831, 8835, 8839, 8843, 8847, 8851, 8855, | ||
6983 | 8859, 8863, 8868, 8873, 8878, 8883, 8888, 8893, | ||
6984 | 8898, 8903, 8908, 8913, 8918, 8923, 8928, 8933, | ||
6985 | 8938, 8943, 8948, 8953, 8958, 8963, 8968, 8973, | ||
6986 | 8978, 8983, 8989, 8995, 0, 0, 0, 0, | ||
6987 | 9001, 9005, 9009, 9013, 9017, 9021, 9025, 9029, | ||
6988 | 9033, 9037, 9041, 9045, 9049, 9053, 9057, 9061, | ||
6989 | 9065, 9069, 9073, 9077, 9081, 9085, 9089, 9093, | ||
6990 | 9097, 9101, 9105, 9109, 9113, 9117, 9121, 9125, | ||
6991 | 9129, 9133, 9137, 9141, 9145, 9149, 9153, 9157, | ||
6992 | 9161, 9165, 9169, 9173, 9177, 9181, 9185, 0, | ||
6993 | |||
6994 | 9189, 9196, 9203, 9210, 9216, 9223, 9229, 9235, | ||
6995 | 9243, 9250, 9256, 9262, 9268, 9275, 9282, 9288, | ||
6996 | 9294, 9299, 9305, 9312, 9319, 9324, 9332, 9341, | ||
6997 | 9349, 9355, 9363, 9371, 9378, 9384, 9390, 9396, | ||
6998 | 9403, 9411, 9418, 9424, 9430, 9436, 9441, 9446, | ||
6999 | 9451, 9456, 9462, 9468, 9476, 9482, 9489, 9497, | ||
7000 | 9503, 9508, 9513, 9521, 9528, 9536, 9542, 9550, | ||
7001 | 9555, 9561, 9567, 9573, 9579, 9585, 9592, 9598, | ||
7002 | 9603, 9609, 9615, 9621, 9628, 9634, 9640, 9646, | ||
7003 | 9654, 9661, 9666, 9674, 9679, 9686, 9693, 9699, | ||
7004 | 9705, 9711, 9718, 9723, 9729, 9736, 9741, 9749, | ||
7005 | 9755, 9760, 9765, 9770, 9775, 9780, 9785, 9790, | ||
7006 | 9795, 9800, 9805, 9811, 9817, 9823, 9829, 9835, | ||
7007 | 9841, 9847, 9853, 9859, 9865, 9871, 9877, 9883, | ||
7008 | 9889, 9895, 9901, 9906, 9911, 9917, 9922, 0, | ||
7009 | 0, 0, 0, 9927, 9932, 9937, 9942, 9947, | ||
7010 | 9954, 9959, 9964, 9969, 9974, 9979, 9984, 9989, | ||
7011 | 9994, 10000, 10007, 10012, 10017, 10022, 10027, 10032, | ||
7012 | 10037, 10042, 10048, 10054, 10060, 10066, 10071, 10076, | ||
7013 | 10081, 10086, 10091, 10096, 10101, 10106, 10111, 10116, | ||
7014 | 10122, 10128, 10133, 10139, 10145, 10151, 10156, 10162, | ||
7015 | 10168, 10175, 10180, 10186, 10192, 10198, 10204, 10212, | ||
7016 | 10221, 10226, 10231, 10236, 10241, 10246, 10251, 10256, | ||
7017 | 10261, 10266, 10271, 10276, 10281, 10286, 10291, 10296, | ||
7018 | 10301, 10306, 10311, 10318, 10323, 10328, 10333, 10340, | ||
7019 | 10346, 10351, 10356, 10361, 10366, 10371, 10376, 10381, | ||
7020 | 10386, 10391, 10396, 10402, 10407, 10412, 10418, 10424, | ||
7021 | 10429, 10436, 10442, 10447, 10452, 10457, 0, 0, | ||
7022 | 10462, 10467, 10472, 10477, 10482, 10487, 10492, 10497, | ||
7023 | 10502, 10507, 10513, 10519, 10525, 10531, 10537, 10543, | ||
7024 | 10549, 10555, 10561, 10567, 10573, 10579, 10585, 10591, | ||
7025 | 10597, 10603, 10609, 10615, 10621, 10627, 10633, 0, | ||
7026 | |||
7027 | 10639, 10643, 10647, 10651, 10655, 10659, 10663, 10667, | ||
7028 | 10671, 10675, 10679, 10683, 10687, 10691, 10695, 10699, | ||
7029 | 10703, 10707, 10711, 10715, 10719, 10723, 10727, 10731, | ||
7030 | 10735, 10739, 10743, 10747, 10751, 10755, 10759, 10763, | ||
7031 | 10767, 10771, 10775, 10779, 10783, 10787, 10791, 10795, | ||
7032 | 10799, 10803, 10807, 10811, 10815, 10819, 10823, 10827, | ||
7033 | 10831, 10835, 10839, 10843, 10847, 10851, 10855, 10859, | ||
7034 | 10863, 10867, 10871, 10875, 10879, 10883, 10887, 10891, | ||
7035 | 10895, 10899, 10903, 10907, 10911, 10915, 10919, 10923, | ||
7036 | 10927, 10931, 10935, 10939, 10943, 10947, 10951, 10955, | ||
7037 | 10959, 10963, 10967, 10971, 10975, 10979, 10983, 10987, | ||
7038 | 10991, 10995, 10999, 11003, 11007, 11011, 11015, 11019, | ||
7039 | 11023, 11027, 11031, 11035, 11039, 11043, 11047, 11051, | ||
7040 | 11055, 11059, 11063, 11067, 11071, 11075, 11079, 11083, | ||
7041 | 11087, 11091, 11095, 11099, 11103, 11107, 11111, 11115, | ||
7042 | 11119, 11123, 11127, 11131, 11135, 11139, 11143, 11147, | ||
7043 | 11151, 11155, 11159, 11163, 11167, 11171, 11175, 11179, | ||
7044 | 11183, 11187, 11191, 11195, 11199, 11203, 11207, 11211, | ||
7045 | 11215, 11219, 11223, 11227, 11231, 11235, 11239, 11243, | ||
7046 | 11247, 11251, 11255, 11259, 11263, 11267, 11271, 11275, | ||
7047 | 11279, 11283, 11287, 11291, 11295, 11299, 11303, 11307, | ||
7048 | 11311, 11315, 11319, 11323, 11327, 11331, 11335, 11339, | ||
7049 | 11343, 11347, 11351, 11355, 11359, 11363, 11367, 11371, | ||
7050 | 11375, 11379, 11383, 11387, 11391, 11395, 11399, 11403, | ||
7051 | 11407, 11411, 11415, 11419, 11423, 11427, 11431, 11435, | ||
7052 | 11439, 11443, 11447, 11451, 11455, 11459, 11463, 11467, | ||
7053 | 11471, 11475, 11479, 11483, 11487, 11491, 11495, 11499, | ||
7054 | 11503, 11507, 11511, 11515, 11519, 11523, 11527, 11531, | ||
7055 | 11535, 11539, 11543, 11547, 11551, 11555, 11559, 11563, | ||
7056 | 11567, 11571, 11575, 11579, 11583, 11587, 11591, 11595, | ||
7057 | 11599, 11603, 11607, 11611, 11615, 11619, 11623, 11627, | ||
7058 | 11631, 11635, 11639, 11643, 11647, 11651, 11655, 11659, | ||
7059 | |||
7060 | 11663, 11667, 11671, 11675, 11679, 11683, 11687, 11691, | ||
7061 | 11695, 11699, 11703, 11707, 11711, 11715, 0, 0, | ||
7062 | 11719, 0, 11723, 0, 0, 11727, 11731, 11735, | ||
7063 | 11739, 11743, 11747, 11751, 11755, 11759, 11763, 0, | ||
7064 | 11767, 0, 11771, 0, 0, 11775, 11779, 0, | ||
7065 | 0, 0, 11783, 11787, 11791, 11795, 0, 0, | ||
7066 | 11799, 11803, 11807, 11811, 11815, 11819, 11823, 11827, | ||
7067 | 11831, 11835, 11839, 11843, 11847, 11851, 11855, 11859, | ||
7068 | 11863, 11867, 11871, 11875, 11879, 11883, 11887, 11891, | ||
7069 | 11895, 11899, 11903, 11907, 11911, 11915, 11919, 11923, | ||
7070 | 11927, 11931, 11935, 11939, 11943, 11947, 11951, 11955, | ||
7071 | 11959, 11963, 11967, 11971, 11975, 11979, 11983, 11987, | ||
7072 | 11991, 11995, 11999, 12003, 12007, 12011, 12015, 12019, | ||
7073 | 12023, 12027, 12031, 0, 0, 0, 0, 0, | ||
7074 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7075 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7076 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7077 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7078 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7079 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7080 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7081 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7082 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7083 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7084 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7085 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7086 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7087 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7088 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7089 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7090 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7091 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7092 | |||
7093 | 12035, 12040, 12045, 12050, 12056, 12062, 12067, 0, | ||
7094 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7095 | 0, 0, 0, 12072, 12077, 12082, 12087, 12092, | ||
7096 | 0, 0, 0, 0, 0, 12097, 0, 12102, | ||
7097 | 12107, 12111, 12115, 12119, 12123, 12127, 12131, 12135, | ||
7098 | 12139, 12143, 12147, 12152, 12157, 12162, 12167, 12172, | ||
7099 | 12177, 12182, 12187, 12192, 12197, 12202, 12207, 0, | ||
7100 | 12212, 12217, 12222, 12227, 12232, 0, 12237, 0, | ||
7101 | 12242, 12247, 0, 12252, 12257, 0, 12262, 12267, | ||
7102 | 12272, 12277, 12282, 12287, 12292, 12297, 12302, 12307, | ||
7103 | 12312, 12316, 12320, 12324, 12328, 12332, 12336, 12340, | ||
7104 | 12344, 12348, 12352, 12356, 12360, 12364, 12368, 12372, | ||
7105 | 12376, 12380, 12384, 12388, 12392, 12396, 12400, 12404, | ||
7106 | 12408, 12412, 12416, 12420, 12424, 12428, 12432, 12436, | ||
7107 | 12440, 12444, 12448, 12452, 12456, 12460, 12464, 12468, | ||
7108 | 12472, 12476, 12480, 12484, 12488, 12492, 12496, 12500, | ||
7109 | 12504, 12508, 12512, 12516, 12520, 12524, 12528, 12532, | ||
7110 | 12536, 12540, 12544, 12548, 12552, 12556, 12560, 12564, | ||
7111 | 12568, 12572, 12576, 12580, 12584, 12588, 12592, 12596, | ||
7112 | 12600, 12604, 12608, 12612, 12616, 12620, 12624, 12628, | ||
7113 | 12632, 12636, 12640, 12644, 12648, 12652, 12656, 12660, | ||
7114 | 12664, 12668, 12672, 12676, 12680, 12684, 12688, 12692, | ||
7115 | 12696, 12700, 0, 0, 0, 0, 0, 0, | ||
7116 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7117 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7118 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7119 | 0, 0, 0, 12704, 12708, 12712, 12716, 12720, | ||
7120 | 12724, 12728, 12732, 12736, 12740, 12744, 12748, 12752, | ||
7121 | 12756, 12760, 12764, 12768, 12772, 12776, 12780, 12784, | ||
7122 | 12788, 12792, 12796, 12801, 12806, 12811, 12816, 12821, | ||
7123 | 12826, 12831, 12836, 12841, 12846, 12851, 12856, 12861, | ||
7124 | 12866, 12871, 12876, 12881, 12886, 12890, 12894, 12898, | ||
7125 | |||
7126 | 12902, 12907, 12912, 12917, 12922, 12927, 12932, 12937, | ||
7127 | 12942, 12947, 12952, 12957, 12962, 12967, 12972, 12977, | ||
7128 | 12982, 12987, 12992, 12997, 13002, 13007, 13012, 13017, | ||
7129 | 13022, 13027, 13032, 13037, 13042, 13047, 13052, 13057, | ||
7130 | 13062, 13067, 13072, 13077, 13082, 13087, 13092, 13097, | ||
7131 | 13102, 13107, 13112, 13117, 13122, 13127, 13132, 13137, | ||
7132 | 13142, 13147, 13152, 13157, 13162, 13167, 13172, 13177, | ||
7133 | 13182, 13187, 13192, 13197, 13202, 13207, 13212, 13217, | ||
7134 | 13222, 13227, 13232, 13237, 13242, 13247, 13252, 13257, | ||
7135 | 13262, 13267, 13272, 13277, 13282, 13287, 13292, 13297, | ||
7136 | 13302, 13307, 13312, 13317, 13322, 13327, 13332, 13337, | ||
7137 | 13342, 13347, 13352, 13357, 13362, 13367, 13372, 13378, | ||
7138 | 13384, 13390, 13396, 13402, 13408, 13413, 13418, 13423, | ||
7139 | 13428, 13433, 13438, 13443, 13448, 13453, 13458, 13463, | ||
7140 | 13468, 13473, 13478, 13483, 13488, 13493, 13498, 13503, | ||
7141 | 13508, 13513, 13518, 13523, 13528, 13533, 13538, 13543, | ||
7142 | 13548, 13553, 13558, 13563, 13568, 13573, 13578, 13583, | ||
7143 | 13588, 13593, 13598, 13603, 13608, 13613, 13618, 13623, | ||
7144 | 13628, 13633, 13638, 13643, 13648, 13653, 13658, 13663, | ||
7145 | 13668, 13673, 13678, 13683, 13688, 13693, 13698, 13703, | ||
7146 | 13708, 13713, 13718, 13723, 13728, 13733, 13738, 13743, | ||
7147 | 13748, 13753, 13758, 13763, 13768, 13773, 13778, 13783, | ||
7148 | 13788, 13793, 13798, 13803, 13808, 13813, 13818, 13823, | ||
7149 | 13828, 13833, 13838, 13843, 13848, 13853, 13858, 13863, | ||
7150 | 13868, 13873, 13878, 13883, 13888, 13893, 13898, 13903, | ||
7151 | 13908, 13913, 13918, 13923, 13928, 13933, 13938, 13943, | ||
7152 | 13948, 13953, 13958, 13963, 13968, 13973, 13978, 13983, | ||
7153 | 13988, 13993, 13998, 14003, 14008, 14013, 14018, 14023, | ||
7154 | 14028, 14033, 14038, 14043, 14048, 14053, 14058, 14063, | ||
7155 | 14068, 14073, 14078, 14083, 14088, 14093, 14098, 14103, | ||
7156 | 14108, 14113, 14118, 14124, 14130, 14136, 14141, 14146, | ||
7157 | 14151, 14156, 14161, 14166, 14171, 14176, 14181, 14186, | ||
7158 | |||
7159 | 14191, 14196, 14201, 14206, 14211, 14216, 14221, 14226, | ||
7160 | 14231, 14236, 14241, 14246, 14251, 14256, 14261, 14266, | ||
7161 | 14271, 14276, 14281, 14286, 14291, 14296, 14301, 14306, | ||
7162 | 14311, 14316, 14321, 14326, 14331, 14336, 14341, 14346, | ||
7163 | 14351, 14356, 14361, 14366, 14371, 14376, 14381, 14386, | ||
7164 | 14391, 14396, 14401, 14406, 14411, 14416, 14421, 14426, | ||
7165 | 14431, 14436, 14441, 14446, 14451, 14456, 14461, 14466, | ||
7166 | 14471, 14476, 14481, 14486, 14491, 14496, 0, 0, | ||
7167 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7168 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7169 | 14501, 14507, 14513, 14519, 14525, 14531, 14537, 14543, | ||
7170 | 14549, 14555, 14561, 14567, 14573, 14579, 14585, 14591, | ||
7171 | 14597, 14603, 14609, 14615, 14621, 14627, 14633, 14639, | ||
7172 | 14645, 14651, 14657, 14663, 14669, 14675, 14681, 14687, | ||
7173 | 14693, 14699, 14705, 14711, 14717, 14723, 14729, 14735, | ||
7174 | 14741, 14747, 14753, 14759, 14765, 14771, 14777, 14783, | ||
7175 | 14789, 14795, 14801, 14807, 14813, 14819, 14825, 14831, | ||
7176 | 14837, 14843, 14849, 14855, 14861, 14867, 14873, 14879, | ||
7177 | 0, 0, 14885, 14891, 14897, 14903, 14909, 14915, | ||
7178 | 14921, 14927, 14933, 14939, 14945, 14951, 14957, 14963, | ||
7179 | 14969, 14975, 14981, 14987, 14993, 14999, 15005, 15011, | ||
7180 | 15017, 15023, 15029, 15035, 15041, 15047, 15053, 15059, | ||
7181 | 15065, 15071, 15077, 15083, 15089, 15095, 15101, 15107, | ||
7182 | 15113, 15119, 15125, 15131, 15137, 15143, 15149, 15155, | ||
7183 | 15161, 15167, 15173, 15179, 15185, 15191, 15197, 15203, | ||
7184 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7185 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7186 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7187 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7188 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7189 | 15209, 15215, 15221, 15228, 15235, 15242, 15249, 15256, | ||
7190 | 15263, 15270, 15276, 15297, 15308, 0, 0, 0, | ||
7191 | |||
7192 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7193 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7194 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7195 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7196 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7197 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7198 | 15315, 15319, 15323, 15327, 15331, 15335, 15339, 15343, | ||
7199 | 15347, 15351, 15355, 15359, 15363, 15367, 15371, 15375, | ||
7200 | 15379, 15383, 15387, 15391, 15395, 0, 0, 0, | ||
7201 | 0, 15399, 15403, 15407, 15411, 15415, 15419, 15423, | ||
7202 | 15427, 15431, 15435, 0, 15439, 15443, 15447, 15451, | ||
7203 | 15455, 15459, 15463, 15467, 15471, 15475, 15479, 15483, | ||
7204 | 15487, 15491, 15495, 15499, 15503, 15507, 15511, 0, | ||
7205 | 15515, 15519, 15523, 15527, 0, 0, 0, 0, | ||
7206 | 15531, 15536, 15541, 0, 15546, 0, 15551, 15556, | ||
7207 | 15561, 15566, 15571, 15576, 15581, 15586, 15591, 15596, | ||
7208 | 15601, 15605, 15609, 15613, 15617, 15621, 15625, 15629, | ||
7209 | 15633, 15637, 15641, 15645, 15649, 15653, 15657, 15661, | ||
7210 | 15665, 15669, 15673, 15677, 15681, 15685, 15689, 15693, | ||
7211 | 15697, 15701, 15705, 15709, 15713, 15717, 15721, 15725, | ||
7212 | 15729, 15733, 15737, 15741, 15745, 15749, 15753, 15757, | ||
7213 | 15761, 15765, 15769, 15773, 15777, 15781, 15785, 15789, | ||
7214 | 15793, 15797, 15801, 15805, 15809, 15813, 15817, 15821, | ||
7215 | 15825, 15829, 15833, 15837, 15841, 15845, 15849, 15853, | ||
7216 | 15857, 15861, 15865, 15869, 15873, 15877, 15881, 15885, | ||
7217 | 15889, 15893, 15897, 15901, 15905, 15909, 15913, 15917, | ||
7218 | 15921, 15925, 15929, 15933, 15937, 15941, 15945, 15949, | ||
7219 | 15953, 15957, 15961, 15965, 15969, 15973, 15977, 15981, | ||
7220 | 15985, 15989, 15993, 15997, 16001, 16005, 16009, 16013, | ||
7221 | 16017, 16021, 16025, 16029, 16033, 16037, 16041, 16045, | ||
7222 | 16049, 16053, 16057, 16061, 16065, 16069, 16074, 16079, | ||
7223 | 16084, 16089, 16094, 16099, 16104, 0, 0, 0, | ||
7224 | |||
7225 | 0, 16109, 16113, 16117, 16121, 16125, 16129, 16133, | ||
7226 | 16137, 16141, 16145, 16149, 16153, 16157, 16161, 16165, | ||
7227 | 16169, 16173, 16177, 16181, 16185, 16189, 16193, 16197, | ||
7228 | 16201, 16205, 16209, 16213, 16217, 16221, 16225, 16229, | ||
7229 | 16233, 16237, 16241, 16245, 16249, 16253, 16257, 16261, | ||
7230 | 16265, 16269, 16273, 16277, 16281, 16285, 16289, 16293, | ||
7231 | 16297, 16301, 16305, 16309, 16313, 16317, 16321, 16325, | ||
7232 | 16329, 16333, 16337, 16341, 16345, 16349, 16353, 16357, | ||
7233 | 16361, 16365, 16369, 16373, 16377, 16381, 16385, 16389, | ||
7234 | 16393, 16397, 16401, 16405, 16409, 16413, 16417, 16421, | ||
7235 | 16425, 16429, 16433, 16437, 16441, 16445, 16449, 16453, | ||
7236 | 16457, 16461, 16465, 16469, 16473, 16477, 16481, 16485, | ||
7237 | 16489, 16493, 16497, 16501, 16505, 16509, 16513, 16517, | ||
7238 | 16521, 16525, 16529, 16533, 16537, 16541, 16545, 16549, | ||
7239 | 16553, 16557, 16561, 16565, 16569, 16573, 16577, 16581, | ||
7240 | 16585, 16589, 16593, 16597, 16601, 16605, 16609, 16613, | ||
7241 | 16617, 16621, 16625, 16629, 16633, 16637, 16641, 16645, | ||
7242 | 16649, 16653, 16657, 16661, 16665, 16669, 16673, 16677, | ||
7243 | 16681, 16685, 16689, 16693, 16697, 16701, 16705, 16709, | ||
7244 | 16713, 16717, 16721, 16725, 16729, 16733, 16737, 16741, | ||
7245 | 16745, 16749, 16753, 16757, 16761, 16765, 16769, 16773, | ||
7246 | 16777, 16781, 16785, 16789, 16793, 16797, 16801, 16805, | ||
7247 | 16809, 16813, 16817, 16821, 16825, 16829, 16833, 16837, | ||
7248 | 16841, 16845, 16849, 16853, 16857, 16861, 16865, 0, | ||
7249 | 0, 0, 16869, 16873, 16877, 16881, 16885, 16889, | ||
7250 | 0, 0, 16893, 16897, 16901, 16905, 16909, 16913, | ||
7251 | 0, 0, 16917, 16921, 16925, 16929, 16933, 16937, | ||
7252 | 0, 0, 16941, 16945, 16949, 0, 0, 0, | ||
7253 | 16953, 16957, 16961, 16965, 16969, 16973, 16977, 0, | ||
7254 | 16981, 16985, 16989, 16993, 16997, 17001, 17005, 0, | ||
7255 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7256 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7257 | }; | ||
7258 | |||
7259 | // 67552 bytes | ||
7260 | |||
7261 | const Q_UINT16 QUnicodeTables::ligature_map[] = { | ||
7262 | 0, | ||
7263 | 5567, 0, | ||
7264 | 5552, 0, | ||
7265 | 5572, 0, | ||
7266 | 67, 72, 77, 82, 87, 92, 332, 342, 352, 966, 1196, 1206, 1346, 2365, 3145, 3155, 0, | ||
7267 | 2375, 2385, 2395, 0, | ||
7268 | 97, 362, 372, 382, 392, 0, | ||
7269 | 402, 2415, 2425, 2435, 2445, 2455, 0, | ||
7270 | 102, 107, 112, 117, 412, 422, 432, 442, 452, 1216, 1226, 1356, 2485, 2495, 3265, 3275, 3285, 0, | ||
7271 | 2515, 0, | ||
7272 | 462, 472, 482, 492, 1076, 1146, 2525, 0, | ||
7273 | 502, 1336, 2535, 2545, 2555, 2565, 2575, 0, | ||
7274 | 122, 127, 132, 137, 512, 522, 532, 542, 552, 976, 1236, 1246, 2585, 3345, 3355, 0, | ||
7275 | 567, 0, | ||
7276 | 577, 1086, 2605, 2615, 2625, 0, | ||
7277 | 587, 597, 607, 2635, 2655, 2665, 0, | ||
7278 | 2675, 2685, 2695, 0, | ||
7279 | 142, 627, 637, 647, 1156, 2705, 2715, 2725, 2735, 0, | ||
7280 | 147, 152, 157, 162, 167, 662, 672, 682, 901, 986, 1096, 1256, 1266, 1386, 3365, 3375, 0, | ||
7281 | 2785, 2795, 0, | ||
7282 | 692, 702, 712, 1276, 1286, 2805, 2815, 2835, 0, | ||
7283 | 722, 732, 742, 752, 1316, 2845, 2855, 0, | ||
7284 | 762, 772, 1326, 2895, 2905, 2915, 2925, 0, | ||
7285 | 172, 177, 182, 187, 782, 792, 802, 812, 822, 832, 911, 996, 1296, 1306, 2935, 2945, 2955, 3485, 3495, 0, | ||
7286 | 2985, 2995, 0, | ||
7287 | 842, 3005, 3015, 3025, 3035, 3045, 0, | ||
7288 | 3055, 3065, 0, | ||
7289 | 192, 852, 862, 1406, 3075, 3555, 3565, 3575, 3585, 0, | ||
7290 | 867, 877, 887, 3085, 3095, 3105, 0, | ||
7291 | 197, 202, 207, 212, 217, 222, 337, 347, 357, 971, 1201, 1211, 1351, 2370, 3150, 3160, 0, | ||
7292 | 2380, 2390, 2400, 0, | ||
7293 | 227, 367, 377, 387, 397, 0, | ||
7294 | 407, 2420, 2430, 2440, 2450, 2460, 0, | ||
7295 | 232, 237, 242, 247, 417, 427, 437, 447, 457, 1221, 1231, 1361, 2490, 2500, 3270, 3280, 3290, 0, | ||
7296 | 2520, 0, | ||
7297 | 467, 477, 487, 497, 1081, 1151, 2530, 0, | ||
7298 | 507, 1341, 2540, 2550, 2560, 2570, 2580, 3115, 0, | ||
7299 | 252, 257, 262, 267, 517, 527, 537, 547, 981, 1241, 1251, 2590, 3350, 3360, 0, | ||
7300 | 572, 1126, 0, | ||
7301 | 582, 1091, 2610, 2620, 2630, 0, | ||
7302 | 592, 602, 612, 2640, 2660, 2670, 0, | ||
7303 | 2680, 2690, 2700, 0, | ||
7304 | 272, 632, 642, 652, 1161, 2710, 2720, 2730, 2740, 0, | ||
7305 | 277, 282, 287, 292, 297, 667, 677, 687, 906, 991, 1101, 1261, 1271, 1391, 3370, 3380, 0, | ||
7306 | 2790, 2800, 0, | ||
7307 | 697, 707, 717, 1281, 1291, 2810, 2820, 2840, 0, | ||
7308 | 727, 737, 747, 757, 1321, 2850, 2860, 0, | ||
7309 | 767, 777, 1331, 2900, 2910, 2920, 2930, 3120, 0, | ||
7310 | 302, 307, 312, 317, 787, 797, 807, 817, 827, 837, 916, 1001, 1301, 1311, 2940, 2950, 2960, 3490, 3500, 0, | ||
7311 | 2990, 3000, 0, | ||
7312 | 847, 3010, 3020, 3030, 3040, 3050, 3125, 0, | ||
7313 | 3060, 3070, 0, | ||
7314 | 322, 327, 857, 1411, 3080, 3130, 3560, 3570, 3580, 3590, 0, | ||
7315 | 872, 882, 892, 3090, 3100, 3110, 0, | ||
7316 | 1537, 4476, 4670, 0, | ||
7317 | 3165, 3175, 3185, 3195, 0, | ||
7318 | 1046, 0, | ||
7319 | 1166, 0, | ||
7320 | 1066, 1176, 0, | ||
7321 | 2405, 0, | ||
7322 | 3295, 3305, 3315, 3325, 0, | ||
7323 | 2595, 0, | ||
7324 | 3385, 3395, 3405, 3415, 0, | ||
7325 | 1376, 2745, 2755, 0, | ||
7326 | 1366, 0, | ||
7327 | 1186, 0, | ||
7328 | 1006, 1016, 1026, 1036, 0, | ||
7329 | 3170, 3180, 3190, 3200, 0, | ||
7330 | 1051, 0, | ||
7331 | 1171, 0, | ||
7332 | 1071, 1181, 0, | ||
7333 | 2410, 0, | ||
7334 | 3300, 3310, 3320, 3330, 0, | ||
7335 | 2600, 0, | ||
7336 | 3390, 3400, 3410, 3420, 0, | ||
7337 | 1381, 2750, 2760, 0, | ||
7338 | 1371, 0, | ||
7339 | 1191, 0, | ||
7340 | 1011, 1021, 1031, 1041, 0, | ||
7341 | 3215, 3225, 3235, 3245, 0, | ||
7342 | 3220, 3230, 3240, 3250, 0, | ||
7343 | 2465, 2475, 0, | ||
7344 | 2470, 2480, 0, | ||
7345 | 2765, 2775, 0, | ||
7346 | 2770, 2780, 0, | ||
7347 | 2865, 0, | ||
7348 | 2870, 0, | ||
7349 | 2875, 0, | ||
7350 | 2880, 0, | ||
7351 | 2965, 0, | ||
7352 | 2970, 0, | ||
7353 | 2975, 0, | ||
7354 | 2980, 0, | ||
7355 | 3140, 0, | ||
7356 | 3435, 3445, 3455, 3465, 3475, 0, | ||
7357 | 3440, 3450, 3460, 3470, 3480, 0, | ||
7358 | 3505, 3515, 3525, 3535, 3545, 0, | ||
7359 | 3510, 3520, 3530, 3540, 3550, 0, | ||
7360 | 1116, 0, | ||
7361 | 1106, 0, | ||
7362 | 1111, 0, | ||
7363 | 1056, 0, | ||
7364 | 1061, 0, | ||
7365 | 2505, 0, | ||
7366 | 2510, 0, | ||
7367 | 1396, 0, | ||
7368 | 1401, 0, | ||
7369 | 1121, 0, | ||
7370 | 1514, 0, | ||
7371 | 1542, 3635, 3640, 4433, 4438, 4443, 4452, 0, | ||
7372 | 1551, 3705, 3710, 4506, 0, | ||
7373 | 1556, 3775, 3780, 4515, 4524, 0, | ||
7374 | 1561, 1586, 3855, 3860, 4573, 4578, 4583, 0, | ||
7375 | 1566, 3925, 3930, 4708, 0, | ||
7376 | 4665, 0, | ||
7377 | 1571, 1591, 3995, 4646, 4651, 4656, 0, | ||
7378 | 1576, 4055, 4060, 4717, 4726, 0, | ||
7379 | 4418, 0, | ||
7380 | 4491, 0, | ||
7381 | 1596, 3595, 3600, 4095, 4398, 4403, 4413, 4423, 0, | ||
7382 | 1601, 3675, 3680, 4104, 0, | ||
7383 | 1606, 3735, 3740, 4113, 4486, 4496, 0, | ||
7384 | 1611, 1621, 3815, 3820, 4122, 4544, 4549, 4563, 0, | ||
7385 | 1631, 3895, 3900, 4131, 0, | ||
7386 | 4626, 4631, 0, | ||
7387 | 1626, 1636, 3955, 3960, 4140, 4607, 4612, 4636, 0, | ||
7388 | 1641, 4015, 4020, 4149, 4688, 4698, 0, | ||
7389 | 1581, 4554, 4568, 0, | ||
7390 | 1616, 4617, 4641, 0, | ||
7391 | 4693, 0, | ||
7392 | 1658, 1663, 0, | ||
7393 | 1711, 0, | ||
7394 | 1796, 1806, 0, | ||
7395 | 1706, 0, | ||
7396 | 1696, 1701, 1816, 0, | ||
7397 | 1786, 1836, 0, | ||
7398 | 1846, 0, | ||
7399 | 1721, 1731, 1856, 1866, 0, | ||
7400 | 1716, 0, | ||
7401 | 1876, 0, | ||
7402 | 1726, 1906, 1916, 1926, 0, | ||
7403 | 1936, 0, | ||
7404 | 1946, 0, | ||
7405 | 1896, 0, | ||
7406 | 1801, 1811, 0, | ||
7407 | 1751, 0, | ||
7408 | 1741, 1746, 1821, 0, | ||
7409 | 1791, 1841, 0, | ||
7410 | 1851, 0, | ||
7411 | 1736, 1766, 1861, 1871, 0, | ||
7412 | 1761, 0, | ||
7413 | 1881, 0, | ||
7414 | 1771, 1911, 1921, 1931, 0, | ||
7415 | 1941, 0, | ||
7416 | 1951, 0, | ||
7417 | 1901, 0, | ||
7418 | 1756, 0, | ||
7419 | 1776, 0, | ||
7420 | 1781, 0, | ||
7421 | 1826, 0, | ||
7422 | 1831, 0, | ||
7423 | 1886, 0, | ||
7424 | 1891, 0, | ||
7425 | 12167, 12172, 12177, 0, | ||
7426 | 12182, 12292, 0, | ||
7427 | 12187, 0, | ||
7428 | 12192, 0, | ||
7429 | 12197, 0, | ||
7430 | 12202, 12287, 0, | ||
7431 | 12207, 0, | ||
7432 | 12212, 0, | ||
7433 | 12097, 12217, 0, | ||
7434 | 12222, 0, | ||
7435 | 12227, 12297, 0, | ||
7436 | 12232, 0, | ||
7437 | 12237, 0, | ||
7438 | 12242, 0, | ||
7439 | 12247, 0, | ||
7440 | 12252, 0, | ||
7441 | 12257, 12302, 0, | ||
7442 | 12262, 0, | ||
7443 | 12267, 0, | ||
7444 | 12272, 0, | ||
7445 | 12147, 12152, 12277, 0, | ||
7446 | 12282, 0, | ||
7447 | 12102, 0, | ||
7448 | 1961, 1966, 1976, 0, | ||
7449 | 1971, 0, | ||
7450 | 1981, 0, | ||
7451 | 2011, 0, | ||
7452 | 2016, 0, | ||
7453 | 2006, 0, | ||
7454 | 2036, 0, | ||
7455 | 2041, 0, | ||
7456 | 2046, 0, | ||
7457 | 2051, 0, | ||
7458 | 2056, 0, | ||
7459 | 2061, 0, | ||
7460 | 2021, 0, | ||
7461 | 2066, 0, | ||
7462 | 2071, 0, | ||
7463 | 2026, 0, | ||
7464 | 2031, 0, | ||
7465 | 2086, 0, | ||
7466 | 2091, 0, | ||
7467 | 2096, 0, | ||
7468 | 2076, 2081, 0, | ||
7469 | 2111, 0, | ||
7470 | 2116, 0, | ||
7471 | 2121, 0, | ||
7472 | 2126, 0, | ||
7473 | 2101, 0, | ||
7474 | 2106, 0, | ||
7475 | 2146, 0, | ||
7476 | 2151, 0, | ||
7477 | 2131, 2136, 2141, 0, | ||
7478 | 2156, 0, | ||
7479 | 2161, 2171, 0, | ||
7480 | 2166, 0, | ||
7481 | 2176, 0, | ||
7482 | 2181, 0, | ||
7483 | 2186, 2191, 2196, 0, | ||
7484 | 2201, 0, | ||
7485 | 2206, 2216, 0, | ||
7486 | 2211, 0, | ||
7487 | 2221, 2226, 2236, 0, | ||
7488 | 2231, 0, | ||
7489 | 2290, 0, | ||
7490 | 2265, 0, | ||
7491 | 2270, 0, | ||
7492 | 2275, 0, | ||
7493 | 2280, 0, | ||
7494 | 2285, 0, | ||
7495 | 2295, 2300, 2325, 0, | ||
7496 | 2355, 0, | ||
7497 | 2330, 0, | ||
7498 | 2335, 0, | ||
7499 | 2340, 0, | ||
7500 | 2345, 0, | ||
7501 | 2350, 0, | ||
7502 | 2305, 0, | ||
7503 | 2315, 0, | ||
7504 | 2360, 0, | ||
7505 | 2645, 0, | ||
7506 | 2650, 0, | ||
7507 | 2825, 0, | ||
7508 | 2830, 0, | ||
7509 | 2885, 0, | ||
7510 | 2890, 0, | ||
7511 | 3205, 3255, 0, | ||
7512 | 3210, 3260, 0, | ||
7513 | 3335, 0, | ||
7514 | 3340, 0, | ||
7515 | 3425, 0, | ||
7516 | 3430, 0, | ||
7517 | 3605, 3615, 3625, 4158, 0, | ||
7518 | 3610, 3620, 3630, 4163, 0, | ||
7519 | 4168, 0, | ||
7520 | 4173, 0, | ||
7521 | 4178, 0, | ||
7522 | 4183, 0, | ||
7523 | 4188, 0, | ||
7524 | 4193, 0, | ||
7525 | 3645, 3655, 3665, 4198, 0, | ||
7526 | 3650, 3660, 3670, 4203, 0, | ||
7527 | 4208, 0, | ||
7528 | 4213, 0, | ||
7529 | 4218, 0, | ||
7530 | 4223, 0, | ||
7531 | 4228, 0, | ||
7532 | 4233, 0, | ||
7533 | 3685, 3695, 0, | ||
7534 | 3690, 3700, 0, | ||
7535 | 3715, 3725, 0, | ||
7536 | 3720, 3730, 0, | ||
7537 | 3745, 3755, 3765, 4238, 0, | ||
7538 | 3750, 3760, 3770, 4243, 0, | ||
7539 | 4248, 0, | ||
7540 | 4253, 0, | ||
7541 | 4258, 0, | ||
7542 | 4263, 0, | ||
7543 | 4268, 0, | ||
7544 | 4273, 0, | ||
7545 | 3785, 3795, 3805, 4278, 0, | ||
7546 | 3790, 3800, 3810, 4283, 0, | ||
7547 | 4288, 0, | ||
7548 | 4293, 0, | ||
7549 | 4298, 0, | ||
7550 | 4303, 0, | ||
7551 | 4308, 0, | ||
7552 | 4313, 0, | ||
7553 | 3825, 3835, 3845, 0, | ||
7554 | 3830, 3840, 3850, 0, | ||
7555 | 3865, 3875, 3885, 0, | ||
7556 | 3870, 3880, 3890, 0, | ||
7557 | 3905, 3915, 0, | ||
7558 | 3910, 3920, 0, | ||
7559 | 3935, 3945, 0, | ||
7560 | 3940, 3950, 0, | ||
7561 | 3965, 3975, 3985, 0, | ||
7562 | 3970, 3980, 3990, 0, | ||
7563 | 4000, 4005, 4010, 0, | ||
7564 | 4025, 4035, 4045, 4318, 0, | ||
7565 | 4030, 4040, 4050, 4323, 0, | ||
7566 | 4328, 0, | ||
7567 | 4333, 0, | ||
7568 | 4338, 0, | ||
7569 | 4343, 0, | ||
7570 | 4348, 0, | ||
7571 | 4353, 0, | ||
7572 | 4065, 4075, 4085, 4358, 0, | ||
7573 | 4070, 4080, 4090, 4363, 0, | ||
7574 | 4368, 0, | ||
7575 | 4373, 0, | ||
7576 | 4378, 0, | ||
7577 | 4383, 0, | ||
7578 | 4388, 0, | ||
7579 | 4393, 0, | ||
7580 | 4408, 0, | ||
7581 | 4481, 0, | ||
7582 | 4683, 0, | ||
7583 | 4428, 0, | ||
7584 | 4529, 4534, 4539, 0, | ||
7585 | 4501, 0, | ||
7586 | 4703, 0, | ||
7587 | 4592, 4597, 4602, 0, | ||
7588 | 5455, 0, | ||
7589 | 5460, 0, | ||
7590 | 5465, 0, | ||
7591 | 5470, 0, | ||
7592 | 5480, 0, | ||
7593 | 5475, 0, | ||
7594 | 5485, 0, | ||
7595 | 5490, 0, | ||
7596 | 5495, 0, | ||
7597 | 5500, 0, | ||
7598 | 5505, 0, | ||
7599 | 5532, 0, | ||
7600 | 5537, 0, | ||
7601 | 5542, 0, | ||
7602 | 5547, 0, | ||
7603 | 5562, 0, | ||
7604 | 5557, 0, | ||
7605 | 5577, 0, | ||
7606 | 5582, 0, | ||
7607 | 5587, 0, | ||
7608 | 5592, 0, | ||
7609 | 5597, 0, | ||
7610 | 5602, 0, | ||
7611 | 5607, 0, | ||
7612 | 5612, 0, | ||
7613 | 5657, 0, | ||
7614 | 5662, 0, | ||
7615 | 5617, 0, | ||
7616 | 5622, 0, | ||
7617 | 5627, 0, | ||
7618 | 5632, 0, | ||
7619 | 5667, 0, | ||
7620 | 5672, 0, | ||
7621 | 5637, 0, | ||
7622 | 5642, 0, | ||
7623 | 5647, 0, | ||
7624 | 5652, 0, | ||
7625 | 5677, 0, | ||
7626 | 5682, 0, | ||
7627 | 5687, 0, | ||
7628 | 5692, 0, | ||
7629 | 6430, 0, | ||
7630 | 7444, 0, | ||
7631 | 7319, 0, | ||
7632 | 7324, 0, | ||
7633 | 7329, 0, | ||
7634 | 7334, 0, | ||
7635 | 7339, 0, | ||
7636 | 7344, 0, | ||
7637 | 7349, 0, | ||
7638 | 7354, 0, | ||
7639 | 7359, 0, | ||
7640 | 7364, 0, | ||
7641 | 7369, 0, | ||
7642 | 7374, 0, | ||
7643 | 7379, 0, | ||
7644 | 7384, 0, | ||
7645 | 7389, 0, | ||
7646 | 7394, 7399, 0, | ||
7647 | 7404, 7409, 0, | ||
7648 | 7414, 7419, 0, | ||
7649 | 7424, 7429, 0, | ||
7650 | 7434, 7439, 0, | ||
7651 | 7459, 0, | ||
7652 | 7594, 0, | ||
7653 | 7469, 0, | ||
7654 | 7474, 0, | ||
7655 | 7479, 0, | ||
7656 | 7484, 0, | ||
7657 | 7489, 0, | ||
7658 | 7494, 0, | ||
7659 | 7499, 0, | ||
7660 | 7504, 0, | ||
7661 | 7509, 0, | ||
7662 | 7514, 0, | ||
7663 | 7519, 0, | ||
7664 | 7524, 0, | ||
7665 | 7529, 0, | ||
7666 | 7534, 0, | ||
7667 | 7539, 0, | ||
7668 | 7544, 7549, 0, | ||
7669 | 7554, 7559, 0, | ||
7670 | 7564, 7569, 0, | ||
7671 | 7574, 7579, 0, | ||
7672 | 7584, 7589, 0, | ||
7673 | 7599, 0, | ||
7674 | 7604, 0, | ||
7675 | 7609, 0, | ||
7676 | 7614, 0, | ||
7677 | 7619, 0, | ||
7678 | 12157, 12162, 0, | ||
7679 | |||
7680 | }; | ||
7681 | |||
7682 | const Q_UINT16 QUnicodeTables::ligature_info[] = { | ||
7683 | 1, 2, 3, 4, 5, 6, 7, 8, | ||
7684 | 8, 9, 10, 11, 12, 13, 8, 14, | ||
7685 | 15, 8, 8, 8, 8, 8, 8, 8, | ||
7686 | 8, 8, 8, 8, 8, 8, 16, 17, | ||
7687 | 8, 18, 19, 8, 8, 8, 8, 8, | ||
7688 | 8, 8, 20, 8, 8, 8, 8, 8, | ||
7689 | 21, 8, 8, 8, 8, 8, 8, 8, | ||
7690 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7691 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7692 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7693 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7694 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7695 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7696 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7697 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7698 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7699 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7700 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7701 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7702 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7703 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7704 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7705 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7706 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7707 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7708 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7709 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7710 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7711 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7712 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7713 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
7714 | 8, 8, 8, 22, 8, 8, 8, 8, | ||
7715 | |||
7716 | |||
7717 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7718 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7719 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7720 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7721 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7722 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7723 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7724 | 0, 0, 0, 0, 1, 3, 5, 0, | ||
7725 | 0, 7, 24, 28, 34, 41, 59, 61, | ||
7726 | 69, 77, 93, 95, 101, 108, 112, 122, | ||
7727 | 139, 0, 142, 151, 159, 167, 187, 190, | ||
7728 | 197, 200, 210, 0, 0, 0, 0, 0, | ||
7729 | 0, 217, 234, 238, 244, 251, 269, 271, | ||
7730 | 279, 288, 303, 306, 312, 319, 323, 333, | ||
7731 | 350, 0, 353, 362, 370, 379, 399, 402, | ||
7732 | 410, 413, 424, 0, 0, 0, 0, 0, | ||
7733 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7734 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7735 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7736 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7737 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7738 | 431, 0, 0, 0, 0, 0, 0, 0, | ||
7739 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7740 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7741 | 0, 0, 435, 0, 440, 442, 444, 447, | ||
7742 | 0, 0, 449, 0, 0, 0, 0, 454, | ||
7743 | 0, 0, 0, 0, 456, 461, 465, 0, | ||
7744 | 467, 0, 0, 0, 469, 0, 0, 0, | ||
7745 | 0, 0, 474, 0, 479, 481, 483, 486, | ||
7746 | 0, 0, 488, 0, 0, 0, 0, 493, | ||
7747 | 0, 0, 0, 0, 495, 500, 504, 0, | ||
7748 | 506, 0, 0, 0, 508, 0, 0, 0, | ||
7749 | |||
7750 | 0, 0, 513, 518, 0, 0, 0, 0, | ||
7751 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7752 | 0, 0, 523, 526, 0, 0, 0, 0, | ||
7753 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7754 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7755 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7756 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7757 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7758 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7759 | 0, 0, 0, 0, 529, 532, 0, 0, | ||
7760 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7761 | 0, 0, 535, 537, 0, 0, 0, 0, | ||
7762 | 539, 541, 0, 0, 0, 0, 0, 0, | ||
7763 | 543, 545, 547, 549, 0, 0, 0, 0, | ||
7764 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7765 | 0, 0, 0, 0, 0, 0, 0, 551, | ||
7766 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7767 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7768 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7769 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7770 | 553, 559, 0, 0, 0, 0, 0, 0, | ||
7771 | 0, 0, 0, 0, 0, 0, 0, 565, | ||
7772 | 571, 0, 0, 0, 0, 0, 0, 577, | ||
7773 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7774 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7775 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7776 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7777 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7778 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7779 | 0, 0, 579, 581, 0, 0, 0, 0, | ||
7780 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7781 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7782 | |||
7783 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7784 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7785 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7786 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7787 | 0, 0, 0, 0, 0, 0, 583, 585, | ||
7788 | 587, 589, 0, 0, 0, 0, 591, 593, | ||
7789 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7790 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7791 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7792 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7793 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7794 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7795 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7796 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7797 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7798 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7799 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7800 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7801 | 0, 0, 595, 0, 0, 0, 0, 0, | ||
7802 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7803 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7804 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7805 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7806 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7807 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7808 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7809 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7810 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7811 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7812 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7813 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7814 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7815 | |||
7816 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7817 | 597, 0, 0, 0, 0, 0, 0, 0, | ||
7818 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7819 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7820 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7821 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7822 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7823 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7824 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7825 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7826 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7827 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7828 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7829 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7830 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7831 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7832 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7833 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7834 | 0, 599, 0, 0, 0, 607, 0, 612, | ||
7835 | 0, 618, 0, 0, 0, 0, 0, 626, | ||
7836 | 0, 631, 0, 0, 0, 633, 0, 0, | ||
7837 | 0, 640, 0, 0, 646, 0, 648, 0, | ||
7838 | 0, 650, 0, 0, 0, 659, 0, 664, | ||
7839 | 0, 671, 0, 0, 0, 0, 0, 680, | ||
7840 | 0, 685, 0, 0, 0, 688, 0, 0, | ||
7841 | 0, 697, 704, 708, 0, 0, 712, 0, | ||
7842 | 0, 0, 714, 0, 0, 0, 0, 0, | ||
7843 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7844 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7845 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7846 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7847 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7848 | |||
7849 | 0, 0, 0, 0, 0, 0, 717, 0, | ||
7850 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7851 | 719, 0, 0, 722, 0, 724, 728, 731, | ||
7852 | 733, 0, 738, 0, 0, 0, 740, 0, | ||
7853 | 0, 0, 0, 742, 0, 0, 0, 747, | ||
7854 | 0, 0, 0, 749, 0, 751, 0, 0, | ||
7855 | 753, 0, 0, 756, 0, 758, 762, 765, | ||
7856 | 767, 0, 772, 0, 0, 0, 774, 0, | ||
7857 | 0, 0, 0, 776, 0, 0, 0, 781, | ||
7858 | 0, 0, 0, 783, 0, 785, 0, 0, | ||
7859 | 0, 0, 0, 0, 0, 0, 787, 0, | ||
7860 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7861 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7862 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7863 | 0, 0, 0, 0, 789, 791, 0, 0, | ||
7864 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7865 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7866 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7867 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7868 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7869 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7870 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7871 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7872 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7873 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7874 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7875 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7876 | 793, 795, 0, 0, 0, 0, 0, 0, | ||
7877 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7878 | 797, 799, 0, 0, 0, 0, 0, 0, | ||
7879 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7880 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7881 | |||
7882 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7883 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7884 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7885 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7886 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7887 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7888 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7889 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7890 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7891 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7892 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7893 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7894 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7895 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7896 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7897 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7898 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7899 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7900 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7901 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7902 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7903 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7904 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7905 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7906 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7907 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7908 | 801, 805, 808, 810, 812, 814, 817, 0, | ||
7909 | 819, 821, 824, 826, 829, 0, 831, 0, | ||
7910 | 833, 835, 0, 837, 839, 0, 842, 844, | ||
7911 | 846, 848, 852, 0, 0, 0, 0, 0, | ||
7912 | 0, 0, 854, 0, 0, 0, 0, 0, | ||
7913 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7914 | |||
7915 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7916 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7917 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7918 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7919 | 0, 0, 0, 0, 0, 0, 0, 856, | ||
7920 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7921 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7922 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7923 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7924 | 860, 0, 862, 0, 0, 0, 0, 0, | ||
7925 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7926 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7927 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7928 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7929 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7930 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7931 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7932 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7933 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7934 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7935 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7936 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7937 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7938 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7939 | 0, 864, 0, 0, 0, 0, 0, 0, | ||
7940 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7941 | 0, 0, 866, 0, 0, 868, 0, 0, | ||
7942 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7943 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7944 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7945 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7946 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7947 | |||
7948 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7949 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7950 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7951 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7952 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7953 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7954 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7955 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7956 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7957 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7958 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7959 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7960 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7961 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7962 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7963 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7964 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7965 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7966 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7967 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7968 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7969 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7970 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7971 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7972 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7973 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7974 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7975 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7976 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7977 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7978 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7979 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7980 | |||
7981 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7982 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7983 | 0, 0, 0, 0, 0, 870, 872, 874, | ||
7984 | 0, 0, 0, 0, 876, 0, 0, 0, | ||
7985 | 0, 878, 880, 0, 0, 0, 0, 0, | ||
7986 | 882, 0, 0, 884, 0, 0, 0, 886, | ||
7987 | 888, 0, 0, 890, 0, 0, 0, 0, | ||
7988 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7989 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7990 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7991 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7992 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7993 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7994 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7995 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7996 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7997 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7998 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7999 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8000 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8001 | 0, 892, 894, 0, 0, 0, 0, 0, | ||
8002 | 0, 0, 0, 0, 0, 0, 0, 896, | ||
8003 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8004 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8005 | 0, 0, 0, 0, 0, 0, 0, 898, | ||
8006 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8007 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8008 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8009 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8010 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8011 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8012 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8013 | |||
8014 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8015 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8016 | 0, 0, 0, 0, 0, 0, 901, 903, | ||
8017 | 0, 0, 0, 0, 905, 0, 0, 0, | ||
8018 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8019 | 0, 0, 0, 907, 0, 0, 0, 0, | ||
8020 | 0, 0, 909, 0, 0, 0, 0, 0, | ||
8021 | 911, 0, 0, 0, 0, 0, 0, 0, | ||
8022 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8023 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8024 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8025 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8026 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8027 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8028 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8029 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8030 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8031 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8032 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8033 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8034 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8035 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8036 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8037 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8038 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8039 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8040 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8041 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8042 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8043 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8044 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8045 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8046 | |||
8047 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8048 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8049 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8050 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8051 | 0, 913, 915, 0, 0, 0, 0, 0, | ||
8052 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8053 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8054 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8055 | 0, 0, 0, 0, 0, 0, 0, 917, | ||
8056 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8057 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8058 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8059 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8060 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8061 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8062 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8063 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8064 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8065 | 0, 0, 921, 0, 0, 0, 0, 0, | ||
8066 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8067 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8068 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8069 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8070 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8071 | 0, 0, 0, 0, 0, 0, 923, 926, | ||
8072 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8073 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8074 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8075 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8076 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8077 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8078 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8079 | |||
8080 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8081 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8082 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8083 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8084 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8085 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8086 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8087 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8088 | 0, 0, 0, 0, 0, 0, 928, 0, | ||
8089 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8090 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8091 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8092 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8093 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8094 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8095 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8096 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8097 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8098 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8099 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8100 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8101 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8102 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8103 | 0, 0, 0, 0, 0, 0, 0, 930, | ||
8104 | 0, 0, 0, 0, 0, 0, 932, 0, | ||
8105 | 0, 0, 936, 0, 0, 0, 0, 0, | ||
8106 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8107 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8108 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8109 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8110 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8111 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8112 | |||
8113 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8114 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8115 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8116 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8117 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8118 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8119 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8120 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8121 | 0, 0, 0, 0, 0, 0, 938, 941, | ||
8122 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8123 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8124 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8125 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8126 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8127 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8128 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8129 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8130 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8131 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8132 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8133 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8134 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8135 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8136 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8137 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8138 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8139 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8140 | 0, 943, 0, 0, 947, 0, 0, 0, | ||
8141 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8142 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8143 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8144 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8145 | |||
8146 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8147 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8148 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8149 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8150 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8151 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8152 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8153 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8154 | 949, 0, 951, 0, 0, 0, 0, 0, | ||
8155 | 0, 0, 0, 0, 953, 0, 0, 0, | ||
8156 | 0, 955, 0, 0, 0, 0, 957, 0, | ||
8157 | 0, 0, 0, 959, 0, 0, 0, 0, | ||
8158 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8159 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8160 | 0, 961, 0, 0, 0, 0, 0, 0, | ||
8161 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8162 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8163 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8164 | 965, 0, 967, 0, 0, 0, 0, 0, | ||
8165 | 0, 0, 0, 0, 969, 0, 0, 0, | ||
8166 | 0, 971, 0, 0, 0, 0, 973, 0, | ||
8167 | 0, 0, 0, 975, 0, 0, 0, 0, | ||
8168 | 0, 0, 977, 979, 0, 0, 0, 0, | ||
8169 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8170 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8171 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8172 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8173 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8174 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8175 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8176 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8177 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8178 | |||
8179 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8180 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8181 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8182 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8183 | 0, 0, 0, 0, 0, 981, 0, 0, | ||
8184 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8185 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8186 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8187 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8188 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8189 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8190 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8191 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8192 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8193 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8194 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8195 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8196 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8197 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8198 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8199 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8200 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8201 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8202 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8203 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8204 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8205 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8206 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8207 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8208 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8209 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8210 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8211 | |||
8212 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8213 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8214 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8215 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8216 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8217 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8218 | 0, 0, 0, 0, 0, 0, 983, 985, | ||
8219 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8220 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8221 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8222 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8223 | 0, 0, 987, 989, 0, 0, 0, 0, | ||
8224 | 0, 0, 991, 993, 0, 0, 0, 0, | ||
8225 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8226 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8227 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8228 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8229 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8230 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8231 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8232 | 995, 998, 0, 0, 0, 0, 0, 0, | ||
8233 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8234 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8235 | 1001, 1003, 0, 0, 0, 0, 0, 0, | ||
8236 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8237 | 0, 0, 0, 0, 1005, 1007, 0, 0, | ||
8238 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8239 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8240 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8241 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8242 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8243 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8244 | |||
8245 | 1009, 1014, 1019, 1021, 1023, 1025, 1027, 1029, | ||
8246 | 1031, 1036, 1041, 1043, 1045, 1047, 1049, 1051, | ||
8247 | 1053, 1056, 0, 0, 0, 0, 0, 0, | ||
8248 | 1059, 1062, 0, 0, 0, 0, 0, 0, | ||
8249 | 1065, 1070, 1075, 1077, 1079, 1081, 1083, 1085, | ||
8250 | 1087, 1092, 1097, 1099, 1101, 1103, 1105, 1107, | ||
8251 | 1109, 1113, 0, 0, 0, 0, 0, 0, | ||
8252 | 1117, 1121, 0, 0, 0, 0, 0, 0, | ||
8253 | 1125, 1128, 0, 0, 0, 0, 0, 0, | ||
8254 | 1131, 1134, 0, 0, 0, 0, 0, 0, | ||
8255 | 1137, 1141, 0, 0, 0, 0, 0, 0, | ||
8256 | 0, 1145, 0, 0, 0, 0, 0, 0, | ||
8257 | 1149, 1154, 1159, 1161, 1163, 1165, 1167, 1169, | ||
8258 | 1171, 1176, 1181, 1183, 1185, 1187, 1189, 1191, | ||
8259 | 1193, 0, 0, 0, 1195, 0, 0, 0, | ||
8260 | 0, 0, 0, 0, 1197, 0, 0, 0, | ||
8261 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8262 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8263 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8264 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8265 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8266 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8267 | 0, 0, 0, 0, 0, 0, 1199, 0, | ||
8268 | 0, 0, 0, 0, 0, 0, 0, 1201, | ||
8269 | 0, 0, 0, 0, 0, 0, 1205, 0, | ||
8270 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8271 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8272 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8273 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8274 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8275 | 0, 0, 0, 0, 0, 0, 1207, 0, | ||
8276 | 0, 0, 0, 0, 0, 0, 1209, 0, | ||
8277 | |||
8278 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8279 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8280 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8281 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8282 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8283 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8284 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8285 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8286 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8287 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8288 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8289 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8290 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8291 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8292 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8293 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8294 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8295 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8296 | 1213, 0, 1215, 0, 1217, 0, 0, 0, | ||
8297 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8298 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8299 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8300 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8301 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8302 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8303 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8304 | 1219, 0, 1221, 0, 1223, 0, 0, 0, | ||
8305 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8306 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8307 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8308 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8309 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8310 | |||
8311 | 0, 0, 0, 1225, 0, 0, 0, 0, | ||
8312 | 1227, 0, 0, 1229, 0, 0, 0, 0, | ||
8313 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8314 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8315 | 0, 0, 0, 1231, 0, 1233, 0, 0, | ||
8316 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8317 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8318 | 0, 0, 0, 0, 1235, 0, 0, 0, | ||
8319 | 0, 0, 0, 1237, 0, 1239, 0, 0, | ||
8320 | 1241, 0, 0, 0, 0, 1243, 0, 0, | ||
8321 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8322 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8323 | 0, 1245, 0, 0, 1247, 1249, 0, 0, | ||
8324 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8325 | 0, 0, 1251, 1253, 0, 0, 1255, 1257, | ||
8326 | 0, 0, 1259, 1261, 1263, 1265, 0, 0, | ||
8327 | 0, 0, 1267, 1269, 0, 0, 1271, 1273, | ||
8328 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8329 | 0, 1275, 1277, 0, 0, 0, 0, 0, | ||
8330 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8331 | 0, 0, 1279, 0, 0, 0, 0, 0, | ||
8332 | 1281, 1283, 0, 1285, 0, 0, 0, 0, | ||
8333 | 0, 0, 1287, 1289, 1291, 1293, 0, 0, | ||
8334 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8335 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8336 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8337 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8338 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8339 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8340 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8341 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8342 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8343 | |||
8344 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8345 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8346 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8347 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8348 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8349 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8350 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8351 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8352 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8353 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8354 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8355 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8356 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8357 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8358 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8359 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8360 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8361 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8362 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8363 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8364 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8365 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8366 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8367 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8368 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8369 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8370 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8371 | 0, 0, 0, 0, 0, 1295, 0, 0, | ||
8372 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8373 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8374 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8375 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8376 | |||
8377 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8378 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8379 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8380 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8381 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8382 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8383 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8384 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8385 | 0, 0, 0, 0, 0, 0, 1297, 0, | ||
8386 | 0, 0, 0, 1299, 0, 1301, 0, 1303, | ||
8387 | 0, 1305, 0, 1307, 0, 1309, 0, 1311, | ||
8388 | 0, 1313, 0, 1315, 0, 1317, 0, 1319, | ||
8389 | 0, 1321, 0, 0, 1323, 0, 1325, 0, | ||
8390 | 1327, 0, 0, 0, 0, 0, 0, 1329, | ||
8391 | 0, 0, 1332, 0, 0, 1335, 0, 0, | ||
8392 | 1338, 0, 0, 1341, 0, 0, 0, 0, | ||
8393 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8394 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8395 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8396 | 0, 0, 0, 0, 0, 1344, 0, 0, | ||
8397 | 0, 0, 0, 0, 0, 0, 1346, 0, | ||
8398 | 0, 0, 0, 1348, 0, 1350, 0, 1352, | ||
8399 | 0, 1354, 0, 1356, 0, 1358, 0, 1360, | ||
8400 | 0, 1362, 0, 1364, 0, 1366, 0, 1368, | ||
8401 | 0, 1370, 0, 0, 1372, 0, 1374, 0, | ||
8402 | 1376, 0, 0, 0, 0, 0, 0, 1378, | ||
8403 | 0, 0, 1381, 0, 0, 1384, 0, 0, | ||
8404 | 1387, 0, 0, 1390, 0, 0, 0, 0, | ||
8405 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8406 | 0, 0, 0, 0, 0, 0, 0, 1393, | ||
8407 | 1395, 1397, 1399, 0, 0, 0, 0, 0, | ||
8408 | 0, 0, 0, 0, 0, 1401, 0, 0, | ||
8409 | |||
8410 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8411 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8412 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8413 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8414 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8415 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8416 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8417 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8418 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8419 | 0, 1403, 0, 0, 0, 0, 0, 0, | ||
8420 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8421 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8422 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8423 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8424 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8425 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8426 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8427 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8428 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8429 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8430 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8431 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8432 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8433 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8434 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8435 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8436 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8437 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8438 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8439 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8440 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8441 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8442 | }; | ||
8443 | |||
8444 | // 14586 bytes | ||
8445 | |||
8446 | const Q_UINT8 QUnicodeTables::direction_info[] = { | ||
8447 | 1, 2, 3, 4, 5, 6, 7, 8, | ||
8448 | 2, 9, 10, 11, 12, 13, 14, 15, | ||
8449 | 16, 2, 2, 2, 2, 2, 17, 18, | ||
8450 | 19, 2, 2, 2, 2, 2, 2, 20, | ||
8451 | 21, 22, 23, 24, 25, 26, 27, 28, | ||
8452 | 26, 29, 30, 2, 2, 2, 31, 32, | ||
8453 | 33, 2, 34, 2, 2, 2, 2, 2, | ||
8454 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8455 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8456 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8457 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8458 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8459 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8460 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8461 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8462 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8463 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8464 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8465 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8466 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8467 | 2, 2, 2, 2, 35, 2, 2, 2, | ||
8468 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8469 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8470 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8471 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8472 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8473 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8474 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8475 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8476 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8477 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8478 | 2, 2, 2, 36, 37, 38, 39, 40, | ||
8479 | |||
8480 | |||
8481 | 18, 18, 18, 18, 18, 18, 18, 18, | ||
8482 | 18, 8, 7, 8, 9, 7, 18, 18, | ||
8483 | 18, 18, 18, 18, 18, 18, 18, 18, | ||
8484 | 18, 18, 18, 18, 7, 7, 7, 8, | ||
8485 | 9, 10, 10, 4, 4, 4, 10, 10, | ||
8486 | 138, 138, 10, 4, 6, 4, 6, 3, | ||
8487 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8488 | 2, 2, 6, 10, 138, 10, 138, 10, | ||
8489 | 10, 0, 0, 0, 0, 0, 0, 0, | ||
8490 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8491 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8492 | 0, 0, 0, 138, 10, 138, 10, 10, | ||
8493 | 10, 0, 0, 0, 0, 0, 0, 0, | ||
8494 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8495 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8496 | 0, 0, 0, 138, 10, 138, 10, 18, | ||
8497 | 18, 18, 18, 18, 18, 7, 18, 18, | ||
8498 | 18, 18, 18, 18, 18, 18, 18, 18, | ||
8499 | 18, 18, 18, 18, 18, 18, 18, 18, | ||
8500 | 18, 18, 18, 18, 18, 18, 18, 18, | ||
8501 | 6, 10, 4, 4, 4, 4, 10, 10, | ||
8502 | 10, 10, 0, 138, 10, 10, 10, 10, | ||
8503 | 4, 4, 2, 2, 10, 0, 10, 10, | ||
8504 | 10, 2, 0, 138, 10, 10, 10, 10, | ||
8505 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8506 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8507 | 0, 0, 0, 0, 0, 0, 0, 10, | ||
8508 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8509 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8510 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8511 | 0, 0, 0, 0, 0, 0, 0, 10, | ||
8512 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8513 | |||
8514 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8515 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8516 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8517 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8518 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8519 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8520 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8521 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8522 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8523 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8524 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8525 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8526 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8527 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8528 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8529 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8530 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8531 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8532 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8533 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8534 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8535 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8536 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8537 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8538 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8539 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8540 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8541 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8542 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8543 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8544 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8545 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8546 | |||
8547 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8548 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8549 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8550 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8551 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8552 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8553 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8554 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8555 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8556 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8557 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8558 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8559 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8560 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8561 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8562 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8563 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8564 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8565 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8566 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8567 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8568 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8569 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8570 | 0, 10, 10, 0, 0, 0, 0, 0, | ||
8571 | 0, 0, 10, 10, 10, 10, 10, 10, | ||
8572 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
8573 | 0, 0, 10, 10, 10, 10, 10, 10, | ||
8574 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
8575 | 0, 0, 0, 0, 0, 10, 10, 10, | ||
8576 | 10, 10, 10, 10, 10, 10, 0, 0, | ||
8577 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8578 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8579 | |||
8580 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8581 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8582 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8583 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8584 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8585 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8586 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8587 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8588 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8589 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8590 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8591 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8592 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8593 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8594 | 0, 0, 0, 0, 10, 10, 0, 0, | ||
8595 | 0, 0, 0, 0, 0, 0, 10, 0, | ||
8596 | 0, 0, 0, 0, 10, 10, 0, 10, | ||
8597 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8598 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8599 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8600 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8601 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8602 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8603 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8604 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8605 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8606 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8607 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8608 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8609 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8610 | 0, 0, 0, 0, 0, 0, 10, 0, | ||
8611 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8612 | |||
8613 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8614 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8615 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8616 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8617 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8618 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8619 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8620 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8621 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8622 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8623 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8624 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8625 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8626 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8627 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8628 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8629 | 0, 0, 0, 17, 17, 17, 17, 0, | ||
8630 | 17, 17, 0, 0, 0, 0, 0, 0, | ||
8631 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8632 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8633 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8634 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8635 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8636 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8637 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8638 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8639 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8640 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8641 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8642 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8643 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8644 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8645 | |||
8646 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8647 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8648 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8649 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8650 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8651 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8652 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8653 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8654 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8655 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8656 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8657 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8658 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8659 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8660 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8661 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8662 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8663 | 0, 0, 10, 0, 0, 0, 0, 0, | ||
8664 | 0, 17, 17, 17, 17, 17, 17, 17, | ||
8665 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8666 | 17, 17, 0, 17, 17, 17, 17, 17, | ||
8667 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8668 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8669 | 17, 17, 0, 17, 17, 17, 1, 17, | ||
8670 | 1, 17, 17, 1, 17, 0, 0, 0, | ||
8671 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8672 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
8673 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
8674 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
8675 | 1, 1, 1, 0, 0, 0, 0, 0, | ||
8676 | 1, 1, 1, 1, 1, 0, 0, 0, | ||
8677 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8678 | |||
8679 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8680 | 0, 0, 0, 0, 6, 0, 0, 0, | ||
8681 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8682 | 0, 0, 0, 13, 0, 0, 0, 13, | ||
8683 | 0, 13, 77, 77, 77, 77, 45, 77, | ||
8684 | 45, 77, 45, 45, 45, 45, 45, 77, | ||
8685 | 77, 77, 77, 45, 45, 45, 45, 45, | ||
8686 | 45, 45, 45, 0, 0, 0, 0, 0, | ||
8687 | 109, 45, 45, 45, 45, 45, 45, 45, | ||
8688 | 77, 45, 45, 17, 17, 17, 17, 17, | ||
8689 | 17, 17, 17, 17, 17, 17, 0, 0, | ||
8690 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8691 | 5, 5, 5, 5, 5, 5, 5, 5, | ||
8692 | 5, 5, 4, 5, 5, 13, 45, 45, | ||
8693 | 17, 77, 77, 77, 13, 77, 77, 77, | ||
8694 | 45, 45, 45, 45, 45, 45, 45, 45, | ||
8695 | 45, 45, 45, 45, 45, 45, 45, 45, | ||
8696 | 77, 77, 77, 77, 77, 77, 77, 77, | ||
8697 | 77, 77, 77, 77, 77, 77, 77, 77, | ||
8698 | 77, 77, 45, 45, 45, 45, 45, 45, | ||
8699 | 45, 45, 45, 45, 45, 45, 45, 45, | ||
8700 | 45, 45, 45, 45, 45, 45, 45, 45, | ||
8701 | 45, 45, 45, 45, 45, 45, 45, 45, | ||
8702 | 45, 45, 45, 45, 45, 45, 45, 45, | ||
8703 | 77, 45, 77, 77, 77, 77, 77, 77, | ||
8704 | 77, 77, 77, 77, 45, 77, 45, 77, | ||
8705 | 45, 45, 77, 77, 13, 77, 17, 17, | ||
8706 | 17, 17, 17, 17, 17, 13, 17, 17, | ||
8707 | 17, 17, 17, 17, 17, 13, 13, 17, | ||
8708 | 17, 10, 17, 17, 17, 17, 0, 0, | ||
8709 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8710 | 2, 2, 45, 45, 45, 13, 13, 0, | ||
8711 | |||
8712 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
8713 | 13, 13, 13, 13, 13, 13, 0, 18, | ||
8714 | 77, 17, 45, 45, 45, 77, 77, 77, | ||
8715 | 77, 77, 45, 45, 45, 45, 77, 45, | ||
8716 | 45, 45, 45, 45, 45, 45, 45, 45, | ||
8717 | 77, 45, 77, 45, 77, 0, 0, 0, | ||
8718 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8719 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8720 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8721 | 17, 17, 17, 0, 0, 0, 0, 0, | ||
8722 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8723 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8724 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8725 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8726 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8727 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8728 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
8729 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
8730 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
8731 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
8732 | 13, 13, 13, 13, 13, 13, 17, 17, | ||
8733 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8734 | 17, 13, 0, 0, 0, 0, 0, 0, | ||
8735 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8736 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8737 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8738 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8739 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8740 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8741 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8742 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8743 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8744 | |||
8745 | 0, 17, 17, 0, 0, 0, 0, 0, | ||
8746 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8747 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8748 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8749 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8750 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8751 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8752 | 0, 0, 0, 0, 17, 0, 0, 0, | ||
8753 | 0, 17, 17, 17, 17, 17, 17, 17, | ||
8754 | 17, 0, 0, 0, 0, 17, 0, 0, | ||
8755 | 0, 17, 17, 17, 17, 0, 0, 0, | ||
8756 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8757 | 0, 0, 17, 17, 0, 0, 0, 0, | ||
8758 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8759 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8760 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8761 | 0, 17, 0, 0, 0, 0, 0, 0, | ||
8762 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8763 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8764 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8765 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8766 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8767 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8768 | 0, 0, 0, 0, 17, 0, 0, 0, | ||
8769 | 0, 17, 17, 17, 17, 0, 0, 0, | ||
8770 | 0, 0, 0, 0, 0, 17, 0, 0, | ||
8771 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8772 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8773 | 0, 0, 17, 17, 0, 0, 0, 0, | ||
8774 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8775 | 0, 0, 4, 4, 0, 0, 0, 0, | ||
8776 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8777 | |||
8778 | 0, 0, 17, 0, 0, 0, 0, 0, | ||
8779 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8780 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8781 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8782 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8783 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8784 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8785 | 0, 0, 0, 0, 17, 0, 0, 0, | ||
8786 | 0, 17, 17, 0, 0, 0, 0, 17, | ||
8787 | 17, 0, 0, 17, 17, 17, 0, 0, | ||
8788 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8789 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8790 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8791 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8792 | 17, 17, 0, 0, 0, 0, 0, 0, | ||
8793 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8794 | 0, 17, 17, 0, 0, 0, 0, 0, | ||
8795 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8796 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8797 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8798 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8799 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8800 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8801 | 0, 0, 0, 0, 17, 0, 0, 0, | ||
8802 | 0, 17, 17, 17, 17, 17, 0, 17, | ||
8803 | 17, 0, 0, 0, 0, 17, 0, 0, | ||
8804 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8805 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8806 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8807 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8808 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8809 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8810 | |||
8811 | 0, 17, 0, 0, 0, 0, 0, 0, | ||
8812 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8813 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8814 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8815 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8816 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8817 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8818 | 0, 0, 0, 0, 17, 0, 0, 17, | ||
8819 | 0, 17, 17, 17, 0, 0, 0, 0, | ||
8820 | 0, 0, 0, 0, 0, 17, 0, 0, | ||
8821 | 0, 0, 0, 0, 0, 0, 17, 0, | ||
8822 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8823 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8824 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8825 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8826 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8827 | 0, 0, 17, 0, 0, 0, 0, 0, | ||
8828 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8829 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8830 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8831 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8832 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8833 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8834 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8835 | 17, 0, 0, 0, 0, 0, 0, 0, | ||
8836 | 0, 0, 0, 0, 0, 17, 0, 0, | ||
8837 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8838 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8839 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8840 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8841 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8842 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8843 | |||
8844 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8845 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8846 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8847 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8848 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8849 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8850 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8851 | 0, 0, 0, 0, 0, 0, 17, 17, | ||
8852 | 17, 0, 0, 0, 0, 0, 17, 17, | ||
8853 | 17, 0, 17, 17, 17, 17, 0, 0, | ||
8854 | 0, 0, 0, 0, 0, 17, 17, 0, | ||
8855 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8856 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8857 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8858 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8859 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8860 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8861 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8862 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8863 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8864 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8865 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8866 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8867 | 0, 0, 0, 0, 0, 0, 0, 17, | ||
8868 | 0, 0, 0, 0, 0, 0, 17, 0, | ||
8869 | 0, 0, 0, 0, 17, 17, 0, 0, | ||
8870 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8871 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8872 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8873 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8874 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8875 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8876 | |||
8877 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8878 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8879 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8880 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8881 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8882 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8883 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8884 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8885 | 0, 17, 17, 17, 0, 0, 0, 0, | ||
8886 | 0, 0, 0, 0, 0, 17, 0, 0, | ||
8887 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8888 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8889 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8890 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8891 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8892 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8893 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8894 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8895 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8896 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8897 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8898 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8899 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8900 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8901 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8902 | 0, 0, 17, 0, 0, 0, 0, 0, | ||
8903 | 0, 0, 17, 17, 17, 0, 17, 0, | ||
8904 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8905 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8906 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8907 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8908 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8909 | |||
8910 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8911 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8912 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8913 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8914 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8915 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8916 | 0, 17, 0, 0, 17, 17, 17, 17, | ||
8917 | 17, 17, 17, 0, 0, 0, 0, 4, | ||
8918 | 0, 0, 0, 0, 0, 0, 0, 17, | ||
8919 | 17, 17, 17, 17, 17, 17, 17, 0, | ||
8920 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8921 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8922 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8923 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8924 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8925 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8926 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8927 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8928 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8929 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8930 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8931 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8932 | 0, 17, 0, 0, 17, 17, 17, 17, | ||
8933 | 17, 17, 0, 17, 17, 0, 0, 0, | ||
8934 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8935 | 17, 17, 17, 17, 17, 17, 0, 0, | ||
8936 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8937 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8938 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8939 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8940 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8941 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8942 | |||
8943 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8944 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8945 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8946 | 17, 17, 0, 0, 0, 0, 0, 0, | ||
8947 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8948 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8949 | 0, 0, 0, 0, 0, 17, 0, 17, | ||
8950 | 0, 17, 10, 10, 10, 10, 0, 0, | ||
8951 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8952 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8953 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8954 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8955 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8956 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8957 | 0, 17, 17, 17, 17, 17, 17, 17, | ||
8958 | 17, 17, 17, 17, 17, 17, 17, 0, | ||
8959 | 17, 17, 17, 17, 17, 0, 17, 17, | ||
8960 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8961 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8962 | 0, 17, 17, 17, 17, 17, 17, 17, | ||
8963 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8964 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8965 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8966 | 17, 17, 17, 17, 17, 0, 0, 0, | ||
8967 | 0, 0, 0, 0, 0, 0, 17, 0, | ||
8968 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8969 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8970 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8971 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8972 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8973 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8974 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8975 | |||
8976 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8977 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8978 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8979 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8980 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8981 | 0, 0, 0, 0, 0, 17, 17, 17, | ||
8982 | 17, 0, 17, 0, 0, 0, 17, 17, | ||
8983 | 0, 17, 0, 0, 0, 0, 0, 0, | ||
8984 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8985 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8986 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8987 | 17, 17, 0, 0, 0, 0, 0, 0, | ||
8988 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8989 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8990 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8991 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8992 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8993 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8994 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8995 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8996 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8997 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8998 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8999 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9000 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9001 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9002 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9003 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9004 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9005 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9006 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9007 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9008 | |||
9009 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9010 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9011 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9012 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9013 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9014 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9015 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9016 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9017 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9018 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9019 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9020 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9021 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9022 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9023 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9024 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9025 | 9, 0, 0, 0, 0, 0, 0, 0, | ||
9026 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9027 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9028 | 0, 0, 0, 10, 10, 0, 0, 0, | ||
9029 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9030 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9031 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9032 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9033 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9034 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9035 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9036 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9037 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9038 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9039 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9040 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9041 | |||
9042 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9043 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9044 | 0, 0, 17, 17, 17, 0, 0, 0, | ||
9045 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9046 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9047 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9048 | 0, 0, 17, 17, 17, 0, 0, 0, | ||
9049 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9050 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9051 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9052 | 0, 0, 17, 17, 0, 0, 0, 0, | ||
9053 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9054 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9055 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9056 | 0, 0, 17, 17, 0, 0, 0, 0, | ||
9057 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9058 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9059 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9060 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9061 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9062 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9063 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9064 | 0, 0, 0, 0, 0, 0, 0, 17, | ||
9065 | 17, 17, 17, 17, 17, 17, 0, 0, | ||
9066 | 0, 0, 0, 0, 0, 0, 17, 0, | ||
9067 | 0, 17, 17, 17, 17, 17, 17, 17, | ||
9068 | 17, 17, 17, 17, 0, 0, 0, 0, | ||
9069 | 0, 0, 0, 4, 0, 0, 0, 0, | ||
9070 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9071 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9072 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9073 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9074 | |||
9075 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9076 | 10, 10, 10, 17, 17, 17, 18, 0, | ||
9077 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9078 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9079 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9080 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9081 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9082 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9083 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9084 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9085 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9086 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9087 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9088 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9089 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9090 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9091 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9092 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9093 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9094 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9095 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9096 | 0, 17, 0, 0, 0, 0, 0, 0, | ||
9097 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9098 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9099 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9100 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9101 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9102 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9103 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9104 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9105 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9106 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9107 | |||
9108 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9109 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9110 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9111 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9112 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9113 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9114 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9115 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9116 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9117 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9118 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9119 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9120 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9121 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9122 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9123 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9124 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9125 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9126 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9127 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9128 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9129 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9130 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9131 | 0, 0, 0, 0, 0, 10, 0, 10, | ||
9132 | 10, 10, 0, 0, 0, 0, 0, 0, | ||
9133 | 0, 0, 0, 0, 0, 10, 10, 10, | ||
9134 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9135 | 0, 0, 0, 0, 0, 10, 10, 10, | ||
9136 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9137 | 0, 0, 0, 0, 0, 10, 10, 10, | ||
9138 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9139 | 0, 0, 0, 0, 0, 10, 10, 0, | ||
9140 | |||
9141 | 9, 9, 9, 9, 9, 9, 9, 9, | ||
9142 | 9, 9, 9, 18, 18, 114, 0, 1, | ||
9143 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9144 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9145 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9146 | 9, 7, 11, 14, 16, 12, 15, 9, | ||
9147 | 4, 4, 4, 4, 4, 10, 10, 10, | ||
9148 | 10, 138, 138, 10, 10, 10, 10, 10, | ||
9149 | 10, 10, 10, 10, 10, 138, 138, 10, | ||
9150 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9151 | 10, 10, 10, 0, 0, 0, 0, 10, | ||
9152 | 0, 0, 0, 0, 0, 0, 0, 9, | ||
9153 | 18, 18, 18, 18, 0, 0, 0, 0, | ||
9154 | 0, 0, 18, 18, 18, 18, 18, 18, | ||
9155 | 2, 0, 0, 0, 2, 2, 2, 2, | ||
9156 | 2, 2, 4, 4, 10, 138, 138, 0, | ||
9157 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9158 | 2, 2, 4, 4, 10, 138, 138, 0, | ||
9159 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9160 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9161 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
9162 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
9163 | 4, 4, 0, 0, 0, 0, 0, 0, | ||
9164 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9165 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9166 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9167 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
9168 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
9169 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
9170 | 17, 17, 17, 0, 0, 0, 0, 0, | ||
9171 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9172 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9173 | |||
9174 | 10, 10, 0, 10, 10, 10, 10, 0, | ||
9175 | 10, 10, 0, 0, 0, 0, 0, 0, | ||
9176 | 0, 0, 0, 0, 10, 0, 10, 10, | ||
9177 | 10, 0, 0, 0, 0, 0, 10, 10, | ||
9178 | 10, 10, 10, 10, 0, 10, 0, 10, | ||
9179 | 0, 10, 0, 0, 0, 0, 4, 0, | ||
9180 | 0, 0, 10, 0, 0, 0, 0, 0, | ||
9181 | 0, 0, 10, 0, 0, 0, 0, 0, | ||
9182 | 138, 10, 10, 10, 10, 0, 0, 0, | ||
9183 | 0, 0, 10, 10, 0, 0, 0, 0, | ||
9184 | 0, 0, 0, 10, 10, 10, 10, 10, | ||
9185 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9186 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9187 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9188 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9189 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9190 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9191 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9192 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9193 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9194 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9195 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9196 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9197 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9198 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9199 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9200 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9201 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9202 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9203 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9204 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9205 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9206 | |||
9207 | 10, 138, 138, 138, 138, 10, 10, 10, | ||
9208 | 138, 138, 138, 138, 138, 138, 10, 10, | ||
9209 | 10, 138, 4, 4, 10, 138, 138, 10, | ||
9210 | 10, 10, 138, 138, 138, 138, 10, 138, | ||
9211 | 138, 138, 138, 10, 138, 10, 138, 10, | ||
9212 | 10, 10, 10, 138, 138, 138, 138, 138, | ||
9213 | 138, 138, 138, 138, 10, 10, 10, 10, | ||
9214 | 10, 138, 10, 138, 138, 138, 138, 138, | ||
9215 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9216 | 138, 138, 138, 138, 138, 10, 10, 10, | ||
9217 | 10, 10, 138, 138, 138, 138, 10, 10, | ||
9218 | 10, 10, 10, 10, 10, 10, 10, 138, | ||
9219 | 138, 10, 138, 10, 138, 138, 138, 138, | ||
9220 | 138, 138, 138, 138, 10, 10, 138, 138, | ||
9221 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9222 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9223 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9224 | 138, 138, 138, 138, 138, 10, 10, 138, | ||
9225 | 138, 138, 138, 10, 10, 10, 10, 10, | ||
9226 | 138, 10, 10, 10, 10, 10, 10, 10, | ||
9227 | 10, 10, 138, 138, 10, 10, 138, 138, | ||
9228 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9229 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9230 | 138, 10, 10, 10, 10, 10, 138, 138, | ||
9231 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9232 | 10, 138, 138, 138, 138, 138, 10, 10, | ||
9233 | 138, 138, 10, 10, 10, 10, 138, 138, | ||
9234 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9235 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9236 | 138, 138, 138, 138, 138, 138, 10, 10, | ||
9237 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9238 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9239 | |||
9240 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9241 | 138, 138, 138, 138, 10, 10, 10, 10, | ||
9242 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9243 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9244 | 138, 138, 10, 10, 10, 10, 10, 10, | ||
9245 | 10, 138, 138, 10, 10, 10, 10, 10, | ||
9246 | 10, 10, 10, 10, 10, 10, 0, 0, | ||
9247 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9248 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9249 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9250 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9251 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9252 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9253 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9254 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9255 | 0, 0, 0, 10, 10, 10, 10, 10, | ||
9256 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9257 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9258 | 10, 10, 10, 10, 10, 0, 10, 10, | ||
9259 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9260 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9261 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9262 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9263 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9264 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9265 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
9266 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9267 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9268 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9269 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9270 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9271 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9272 | |||
9273 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9274 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9275 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9276 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9277 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
9278 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9279 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9280 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9281 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9282 | 10, 10, 10, 0, 0, 0, 0, 0, | ||
9283 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9284 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9285 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9286 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9287 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9288 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9289 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9290 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9291 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9292 | 2, 2, 2, 2, 0, 0, 0, 0, | ||
9293 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9294 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9295 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9296 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9297 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9298 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9299 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9300 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9301 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9302 | 0, 0, 2, 10, 10, 10, 10, 10, | ||
9303 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9304 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
9305 | |||
9306 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9307 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9308 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9309 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9310 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9311 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9312 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9313 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9314 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9315 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9316 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9317 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9318 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9319 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9320 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9321 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9322 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9323 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9324 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9325 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9326 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9327 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9328 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9329 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9330 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9331 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9332 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9333 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9334 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9335 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9336 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9337 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9338 | |||
9339 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9340 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9341 | 10, 10, 10, 10, 0, 0, 10, 10, | ||
9342 | 0, 10, 10, 10, 10, 10, 10, 10, | ||
9343 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9344 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9345 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9346 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9347 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9348 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9349 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9350 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9351 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9352 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9353 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9354 | 10, 10, 10, 10, 10, 10, 0, 0, | ||
9355 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9356 | 10, 10, 0, 0, 0, 0, 0, 0, | ||
9357 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9358 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9359 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9360 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9361 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9362 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9363 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9364 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9365 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9366 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9367 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9368 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9369 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9370 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9371 | |||
9372 | 0, 10, 10, 10, 10, 0, 10, 10, | ||
9373 | 10, 10, 0, 0, 10, 10, 10, 10, | ||
9374 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9375 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9376 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9377 | 0, 10, 10, 10, 10, 10, 10, 10, | ||
9378 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9379 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9380 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9381 | 10, 10, 10, 10, 0, 10, 0, 10, | ||
9382 | 10, 10, 10, 0, 0, 0, 10, 0, | ||
9383 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
9384 | 0, 10, 10, 10, 10, 10, 10, 10, | ||
9385 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9386 | 138, 138, 138, 138, 138, 138, 10, 10, | ||
9387 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9388 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9389 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9390 | 10, 10, 10, 10, 10, 0, 0, 0, | ||
9391 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9392 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9393 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9394 | 0, 10, 10, 10, 10, 10, 10, 10, | ||
9395 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
9396 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9397 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9398 | 10, 10, 10, 138, 138, 138, 138, 10, | ||
9399 | 10, 10, 10, 10, 138, 138, 138, 10, | ||
9400 | 10, 10, 138, 138, 138, 138, 138, 138, | ||
9401 | 138, 138, 138, 138, 0, 0, 0, 0, | ||
9402 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9403 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9404 | |||
9405 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9406 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9407 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9408 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9409 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9410 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9411 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9412 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9413 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9414 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9415 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9416 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9417 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9418 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9419 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9420 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9421 | 10, 10, 10, 138, 138, 138, 138, 138, | ||
9422 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9423 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9424 | 138, 10, 10, 138, 138, 138, 138, 138, | ||
9425 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9426 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9427 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9428 | 138, 10, 10, 10, 10, 10, 10, 10, | ||
9429 | 138, 138, 138, 138, 138, 138, 10, 10, | ||
9430 | 10, 138, 10, 10, 10, 10, 138, 138, | ||
9431 | 138, 138, 138, 10, 138, 138, 10, 10, | ||
9432 | 138, 138, 138, 138, 138, 10, 10, 10, | ||
9433 | 10, 138, 10, 138, 138, 138, 10, 10, | ||
9434 | 138, 138, 10, 10, 10, 10, 10, 10, | ||
9435 | 10, 10, 10, 10, 138, 138, 138, 138, | ||
9436 | 138, 138, 10, 10, 138, 138, 10, 10, | ||
9437 | |||
9438 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9439 | 10, 10, 138, 138, 138, 138, 138, 138, | ||
9440 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9441 | 138, 138, 138, 138, 138, 10, 138, 138, | ||
9442 | 138, 138, 10, 10, 138, 10, 138, 10, | ||
9443 | 10, 138, 10, 138, 138, 138, 138, 10, | ||
9444 | 10, 10, 10, 10, 138, 138, 10, 10, | ||
9445 | 10, 10, 10, 10, 138, 138, 138, 10, | ||
9446 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9447 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9448 | 10, 10, 10, 10, 10, 10, 10, 138, | ||
9449 | 138, 10, 10, 10, 10, 10, 10, 10, | ||
9450 | 10, 10, 10, 10, 138, 138, 10, 10, | ||
9451 | 10, 10, 138, 138, 138, 138, 10, 138, | ||
9452 | 138, 10, 10, 138, 138, 10, 10, 10, | ||
9453 | 10, 138, 138, 138, 138, 138, 138, 138, | ||
9454 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9455 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9456 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9457 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9458 | 138, 138, 138, 138, 10, 10, 138, 138, | ||
9459 | 138, 138, 138, 138, 138, 138, 10, 138, | ||
9460 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9461 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9462 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9463 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9464 | 138, 138, 138, 138, 138, 138, 138, 10, | ||
9465 | 10, 10, 10, 10, 138, 10, 138, 10, | ||
9466 | 10, 10, 138, 138, 138, 138, 138, 10, | ||
9467 | 10, 10, 10, 10, 138, 138, 138, 10, | ||
9468 | 10, 10, 10, 138, 10, 10, 10, 138, | ||
9469 | 138, 138, 138, 138, 10, 138, 10, 10, | ||
9470 | |||
9471 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9472 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9473 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9474 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9475 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9476 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9477 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9478 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9479 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9480 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9481 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9482 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9483 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9484 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9485 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9486 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9487 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9488 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9489 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9490 | 10, 10, 0, 10, 10, 10, 10, 10, | ||
9491 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9492 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9493 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9494 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9495 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9496 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9497 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9498 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9499 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9500 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9501 | 10, 10, 10, 10, 0, 0, 0, 0, | ||
9502 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9503 | |||
9504 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9505 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9506 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9507 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9508 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9509 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9510 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9511 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9512 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9513 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9514 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9515 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9516 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9517 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9518 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9519 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9520 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9521 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9522 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9523 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9524 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9525 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9526 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9527 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9528 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9529 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9530 | 10, 10, 10, 10, 10, 10, 0, 0, | ||
9531 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9532 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9533 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9534 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9535 | 10, 10, 10, 10, 0, 0, 0, 0, | ||
9536 | |||
9537 | 9, 10, 10, 10, 10, 0, 0, 0, | ||
9538 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9539 | 138, 138, 10, 10, 138, 138, 138, 138, | ||
9540 | 138, 138, 138, 138, 10, 10, 10, 10, | ||
9541 | 10, 0, 0, 0, 0, 0, 0, 0, | ||
9542 | 0, 0, 17, 17, 17, 17, 17, 17, | ||
9543 | 10, 0, 0, 0, 0, 0, 10, 10, | ||
9544 | 0, 0, 0, 0, 0, 10, 10, 10, | ||
9545 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9546 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9547 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9548 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9549 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9550 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9551 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9552 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9553 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9554 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9555 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9556 | 0, 17, 17, 10, 10, 0, 0, 0, | ||
9557 | 10, 0, 0, 0, 0, 0, 0, 0, | ||
9558 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9559 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9560 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9561 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9562 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9563 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9564 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9565 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9566 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9567 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9568 | 0, 0, 0, 10, 0, 0, 0, 0, | ||
9569 | |||
9570 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9571 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9572 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9573 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9574 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9575 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9576 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9577 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9578 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9579 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9580 | 0, 10, 10, 10, 10, 10, 10, 10, | ||
9581 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9582 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9583 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9584 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9585 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9586 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9587 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9588 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9589 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9590 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9591 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9592 | 0, 10, 10, 10, 10, 10, 10, 10, | ||
9593 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9594 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9595 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9596 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9597 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9598 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9599 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9600 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9601 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9602 | |||
9603 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9604 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9605 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9606 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9607 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9608 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9609 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9610 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9611 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9612 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9613 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9614 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9615 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9616 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9617 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9618 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9619 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9620 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9621 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9622 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9623 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9624 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9625 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9626 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9627 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
9628 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9629 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9630 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9631 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9632 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9633 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9634 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9635 | |||
9636 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9637 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9638 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9639 | 0, 0, 0, 0, 0, 1, 17, 1, | ||
9640 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9641 | 1, 4, 1, 1, 1, 1, 1, 1, | ||
9642 | 1, 1, 1, 1, 1, 1, 1, 0, | ||
9643 | 1, 1, 1, 1, 1, 0, 1, 0, | ||
9644 | 1, 1, 0, 1, 1, 0, 1, 1, | ||
9645 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9646 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9647 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9648 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9649 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9650 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9651 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9652 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9653 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9654 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9655 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9656 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9657 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9658 | 13, 13, 0, 0, 0, 0, 0, 0, | ||
9659 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9660 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9661 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9662 | 0, 0, 0, 13, 13, 13, 13, 13, | ||
9663 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9664 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9665 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9666 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9667 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9668 | |||
9669 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9670 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9671 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9672 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9673 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9674 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9675 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9676 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9677 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9678 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9679 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9680 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9681 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9682 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9683 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9684 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9685 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9686 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9687 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9688 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9689 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9690 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9691 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9692 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9693 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9694 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9695 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9696 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9697 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9698 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9699 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9700 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9701 | |||
9702 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9703 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9704 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9705 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9706 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9707 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9708 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9709 | 13, 13, 13, 13, 13, 13, 10, 10, | ||
9710 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9711 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9712 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9713 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9714 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9715 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9716 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9717 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9718 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9719 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9720 | 0, 0, 13, 13, 13, 13, 13, 13, | ||
9721 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9722 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9723 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9724 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9725 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9726 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9727 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9728 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9729 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9730 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9731 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9732 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9733 | 13, 13, 13, 13, 13, 0, 0, 0, | ||
9734 | |||
9735 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
9736 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
9737 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9738 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9739 | 17, 17, 17, 17, 0, 0, 0, 0, | ||
9740 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9741 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9742 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9743 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
9744 | 0, 10, 10, 10, 10, 10, 10, 10, | ||
9745 | 6, 10, 6, 0, 10, 6, 10, 10, | ||
9746 | 10, 10, 10, 10, 10, 10, 10, 4, | ||
9747 | 10, 10, 4, 4, 10, 10, 10, 0, | ||
9748 | 10, 4, 4, 10, 0, 0, 0, 0, | ||
9749 | 13, 13, 13, 13, 13, 0, 13, 13, | ||
9750 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9751 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9752 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9753 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9754 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9755 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9756 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9757 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9758 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9759 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9760 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9761 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9762 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9763 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9764 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9765 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9766 | 13, 13, 13, 13, 13, 0, 0, 18, | ||
9767 | |||
9768 | 0, 10, 10, 4, 4, 4, 10, 10, | ||
9769 | 138, 138, 10, 4, 6, 4, 6, 3, | ||
9770 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9771 | 2, 2, 6, 10, 138, 10, 138, 10, | ||
9772 | 10, 0, 0, 0, 0, 0, 0, 0, | ||
9773 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9774 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9775 | 0, 0, 0, 138, 10, 138, 10, 10, | ||
9776 | 10, 0, 0, 0, 0, 0, 0, 0, | ||
9777 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9778 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9779 | 0, 0, 0, 138, 10, 138, 10, 138, | ||
9780 | 138, 10, 138, 138, 10, 10, 0, 0, | ||
9781 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9782 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9783 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9784 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9785 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9786 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9787 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9788 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9789 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9790 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9791 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9792 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9793 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9794 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9795 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9796 | 4, 4, 10, 10, 10, 4, 4, 0, | ||
9797 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
9798 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9799 | 0, 18, 18, 18, 10, 10, 0, 0, | ||
9800 | }; | ||
9801 | |||
9802 | // 25082 bytes | ||
9803 | |||
9804 | const Q_UINT8 QUnicodeTables::combining_info[] = { | ||
9805 | 1, 1, 1, 2, 3, 4, 5, 6, | ||
9806 | 1, 7, 8, 9, 10, 11, 12, 13, | ||
9807 | 14, 1, 1, 1, 1, 1, 1, 15, | ||
9808 | 16, 1, 1, 1, 1, 1, 1, 1, | ||
9809 | 17, 1, 1, 1, 1, 1, 1, 1, | ||
9810 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9811 | 18, 1, 1, 1, 1, 1, 1, 1, | ||
9812 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9813 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9814 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9815 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9816 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9817 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9818 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9819 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9820 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9821 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9822 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9823 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9824 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9825 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9826 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9827 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9828 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9829 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9830 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9831 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9832 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9833 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9834 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9835 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9836 | 1, 1, 1, 19, 1, 1, 20, 1, | ||
9837 | |||
9838 | |||
9839 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9840 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9841 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9842 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9843 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9844 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9845 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9846 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9847 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9848 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9849 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9850 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9851 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9852 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9853 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9854 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9855 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9856 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9857 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9858 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9859 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9860 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9861 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9862 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9863 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9864 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9865 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9866 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9867 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9868 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9869 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9870 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9871 | |||
9872 | 230, 230, 230, 230, 230, 230, 230, 230, | ||
9873 | 230, 230, 230, 230, 230, 230, 230, 230, | ||
9874 | 230, 230, 230, 230, 230, 232, 220, 220, | ||
9875 | 220, 220, 232, 216, 220, 220, 220, 220, | ||
9876 | 220, 202, 202, 220, 220, 220, 220, 202, | ||
9877 | 202, 220, 220, 220, 220, 220, 220, 220, | ||
9878 | 220, 220, 220, 220, 1, 1, 1, 1, | ||
9879 | 1, 220, 220, 220, 220, 230, 230, 230, | ||
9880 | 230, 230, 230, 230, 230, 240, 230, 220, | ||
9881 | 220, 220, 230, 230, 230, 220, 220, 0, | ||
9882 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9883 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9884 | 234, 234, 233, 230, 230, 230, 230, 230, | ||
9885 | 230, 230, 230, 230, 230, 230, 230, 230, | ||
9886 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9887 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9888 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9889 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9890 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9891 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9892 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9893 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9894 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9895 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9896 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9897 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9898 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9899 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9900 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9901 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9902 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9903 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9904 | |||
9905 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9906 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9907 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9908 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9909 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9910 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9911 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9912 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9913 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9914 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9915 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9916 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9917 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9918 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9919 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9920 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9921 | 0, 0, 0, 230, 230, 230, 230, 0, | ||
9922 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9923 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9924 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9925 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9926 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9927 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9928 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9929 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9930 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9931 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9932 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9933 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9934 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9935 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9936 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9937 | |||
9938 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9939 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9940 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9941 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9942 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9943 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9944 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9945 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9946 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9947 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9948 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9949 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9950 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9951 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9952 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9953 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9954 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9955 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9956 | 0, 220, 230, 230, 230, 230, 220, 230, | ||
9957 | 230, 230, 222, 220, 230, 230, 230, 230, | ||
9958 | 230, 230, 0, 220, 220, 220, 220, 220, | ||
9959 | 230, 230, 220, 230, 230, 222, 228, 230, | ||
9960 | 10, 11, 12, 13, 14, 15, 16, 17, | ||
9961 | 18, 19, 0, 20, 21, 22, 0, 23, | ||
9962 | 0, 24, 25, 0, 230, 0, 0, 0, | ||
9963 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9964 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9965 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9966 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9967 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9968 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9969 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9970 | |||
9971 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9972 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9973 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9974 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9975 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9976 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9977 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9978 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9979 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9980 | 0, 0, 0, 27, 28, 29, 30, 31, | ||
9981 | 32, 33, 34, 230, 230, 220, 0, 0, | ||
9982 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9983 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9984 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9985 | 35, 0, 0, 0, 0, 0, 0, 0, | ||
9986 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9987 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9988 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9989 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9990 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9991 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9992 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9993 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9994 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9995 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9996 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9997 | 0, 0, 0, 0, 0, 0, 230, 230, | ||
9998 | 230, 230, 230, 230, 230, 0, 0, 230, | ||
9999 | 230, 230, 230, 220, 230, 0, 0, 230, | ||
10000 | 230, 0, 220, 230, 230, 220, 0, 0, | ||
10001 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10002 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10003 | |||
10004 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10005 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10006 | 0, 36, 0, 0, 0, 0, 0, 0, | ||
10007 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10008 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10009 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10010 | 230, 220, 230, 230, 220, 230, 230, 220, | ||
10011 | 220, 220, 230, 220, 220, 230, 220, 230, | ||
10012 | 230, 230, 220, 230, 220, 230, 220, 230, | ||
10013 | 220, 230, 230, 0, 0, 0, 0, 0, | ||
10014 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10015 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10016 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10017 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10018 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10019 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10020 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10021 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10022 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10023 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10024 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10025 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10026 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10027 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10028 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10029 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10030 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10031 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10032 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10033 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10034 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10035 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10036 | |||
10037 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10038 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10039 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10040 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10041 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10042 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10043 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10044 | 0, 0, 0, 0, 7, 0, 0, 0, | ||
10045 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10046 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10047 | 0, 230, 220, 230, 230, 0, 0, 0, | ||
10048 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10049 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10050 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10051 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10052 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10053 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10054 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10055 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10056 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10057 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10058 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10059 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10060 | 0, 0, 0, 0, 7, 0, 0, 0, | ||
10061 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10062 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10063 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10064 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10065 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10066 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10067 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10068 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10069 | |||
10070 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10071 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10072 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10073 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10074 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10075 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10076 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10077 | 0, 0, 0, 0, 7, 0, 0, 0, | ||
10078 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10079 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10080 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10081 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10082 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10083 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10084 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10085 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10086 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10087 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10088 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10089 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10090 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10091 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10092 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10093 | 0, 0, 0, 0, 7, 0, 0, 0, | ||
10094 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10095 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10096 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10097 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10098 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10099 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10100 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10101 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10102 | |||
10103 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10104 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10105 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10106 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10107 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10108 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10109 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10110 | 0, 0, 0, 0, 7, 0, 0, 0, | ||
10111 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10112 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10113 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10114 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10115 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10116 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10117 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10118 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10119 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10120 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10121 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10122 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10123 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10124 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10125 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10126 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10127 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10128 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10129 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10130 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10131 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10132 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10133 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10134 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10135 | |||
10136 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10137 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10138 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10139 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10140 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10141 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10142 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10143 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10144 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10145 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10146 | 0, 0, 0, 0, 0, 84, 91, 0, | ||
10147 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10148 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10149 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10150 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10151 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10152 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10153 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10154 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10155 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10156 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10157 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10158 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10159 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10160 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10161 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10162 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10163 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10164 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10165 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10166 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10167 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10168 | |||
10169 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10170 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10171 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10172 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10173 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10174 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10175 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10176 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10177 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10178 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10179 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10180 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10181 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10182 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10183 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10184 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10185 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10186 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10187 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10188 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10189 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10190 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10191 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10192 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10193 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10194 | 0, 0, 9, 0, 0, 0, 0, 0, | ||
10195 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10196 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10197 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10198 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10199 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10200 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10201 | |||
10202 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10203 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10204 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10205 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10206 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10207 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10208 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10209 | 103, 103, 9, 0, 0, 0, 0, 0, | ||
10210 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10211 | 107, 107, 107, 107, 0, 0, 0, 0, | ||
10212 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10213 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10214 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10215 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10216 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10217 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10218 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10219 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10220 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10221 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10222 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10223 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10224 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10225 | 118, 118, 0, 0, 0, 0, 0, 0, | ||
10226 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10227 | 122, 122, 122, 122, 0, 0, 0, 0, | ||
10228 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10229 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10230 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10231 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10232 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10233 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10234 | |||
10235 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10236 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10237 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10238 | 220, 220, 0, 0, 0, 0, 0, 0, | ||
10239 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10240 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10241 | 0, 0, 0, 0, 0, 220, 0, 220, | ||
10242 | 0, 216, 0, 0, 0, 0, 0, 0, | ||
10243 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10244 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10245 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10246 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10247 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10248 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10249 | 0, 129, 130, 0, 132, 0, 0, 0, | ||
10250 | 0, 0, 130, 130, 130, 130, 0, 0, | ||
10251 | 130, 0, 230, 230, 9, 0, 230, 230, | ||
10252 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10253 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10254 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10255 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10256 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10257 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10258 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10259 | 0, 0, 0, 0, 0, 0, 220, 0, | ||
10260 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10261 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10262 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10263 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10264 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10265 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10266 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10267 | |||
10268 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10269 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10270 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10271 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10272 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10273 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10274 | 0, 0, 0, 0, 0, 0, 0, 7, | ||
10275 | 0, 9, 0, 0, 0, 0, 0, 0, | ||
10276 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10277 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10278 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10279 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10280 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10281 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10282 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10283 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10284 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10285 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10286 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10287 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10288 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10289 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10290 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10291 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10292 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10293 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10294 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10295 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10296 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10297 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10298 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10299 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10300 | |||
10301 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10302 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10303 | 0, 0, 0, 0, 9, 0, 0, 0, | ||
10304 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10305 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10306 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10307 | 0, 0, 0, 0, 9, 0, 0, 0, | ||
10308 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10309 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10310 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10311 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10312 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10313 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10314 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10315 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10316 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10317 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10318 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10319 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10320 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10321 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10322 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10323 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10324 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10325 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10326 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10327 | 0, 0, 9, 0, 0, 0, 0, 0, | ||
10328 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10329 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10330 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10331 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10332 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10333 | |||
10334 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10335 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10336 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10337 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10338 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10339 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10340 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10341 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10342 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10343 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10344 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10345 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10346 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10347 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10348 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10349 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10350 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10351 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10352 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10353 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10354 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10355 | 0, 228, 0, 0, 0, 0, 0, 0, | ||
10356 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10357 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10358 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10359 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10360 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10361 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10362 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10363 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10364 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10365 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10366 | |||
10367 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10368 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10369 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10370 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10371 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10372 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10373 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10374 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10375 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10376 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10377 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10378 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10379 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10380 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10381 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10382 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10383 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10384 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10385 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10386 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10387 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10388 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10389 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10390 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10391 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10392 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10393 | 230, 230, 1, 1, 230, 230, 230, 230, | ||
10394 | 1, 1, 1, 230, 230, 0, 0, 0, | ||
10395 | 0, 230, 0, 0, 0, 1, 1, 230, | ||
10396 | 220, 230, 1, 0, 0, 0, 0, 0, | ||
10397 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10398 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10399 | |||
10400 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10401 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10402 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10403 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10404 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10405 | 0, 0, 218, 228, 232, 222, 224, 224, | ||
10406 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10407 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10408 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10409 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10410 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10411 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10412 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10413 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10414 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10415 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10416 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10417 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10418 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10419 | 0, 8, 8, 0, 0, 0, 0, 0, | ||
10420 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10421 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10422 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10423 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10424 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10425 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10426 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10427 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10428 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10429 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10430 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10431 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10432 | |||
10433 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10434 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10435 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10436 | 0, 0, 0, 0, 0, 0, 26, 0, | ||
10437 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10438 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10439 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10440 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10441 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10442 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10443 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10444 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10445 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10446 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10447 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10448 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10449 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10450 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10451 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10452 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10453 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10454 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10455 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10456 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10457 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10458 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10459 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10460 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10461 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10462 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10463 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10464 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10465 | |||
10466 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10467 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10468 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10469 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10470 | 230, 230, 230, 230, 0, 0, 0, 0, | ||
10471 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10472 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10473 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10474 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10475 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10476 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10477 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10478 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10479 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10480 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10481 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10482 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10483 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10484 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10485 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10486 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10487 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10488 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10489 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10490 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10491 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10492 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10493 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10494 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10495 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10496 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10497 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10498 | }; | ||
10499 | |||
10500 | // 30458 bytes | ||
10501 | |||
10502 | const Q_UINT16 QUnicodeTables::case_info[] = { | ||
10503 | 1, 2, 3, 4, 5, 6, 0, 0, | ||
10504 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10505 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10506 | 0, 0, 0, 0, 0, 0, 7, 8, | ||
10507 | 0, 9, 0, 0, 10, 0, 0, 0, | ||
10508 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10509 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10510 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10511 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10512 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10513 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10514 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10515 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10516 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10517 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10518 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10519 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10520 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10521 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10522 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10523 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10524 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10525 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10526 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10527 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10528 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10529 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10530 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10531 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10532 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10533 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10534 | 0, 0, 0, 0, 0, 0, 0, 11, | ||
10535 | |||
10536 | |||
10537 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10538 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10539 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10540 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10541 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10542 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10543 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10544 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10545 | 0, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, | ||
10546 | 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, | ||
10547 | 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, | ||
10548 | 0x78, 0x79, 0x7a, 0, 0, 0, 0, 0, | ||
10549 | 0, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, | ||
10550 | 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, | ||
10551 | 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, | ||
10552 | 0x58, 0x59, 0x5a, 0, 0, 0, 0, 0, | ||
10553 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10554 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10555 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10556 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10557 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10558 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10559 | 0, 0, 0, 0, 0, 0x39c, 0, 0, | ||
10560 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10561 | 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, | ||
10562 | 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, | ||
10563 | 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0, | ||
10564 | 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0, | ||
10565 | 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, | ||
10566 | 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, | ||
10567 | 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0, | ||
10568 | 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0x178, | ||
10569 | |||
10570 | 0x101, 0x100, 0x103, 0x102, 0x105, 0x104, 0x107, 0x106, | ||
10571 | 0x109, 0x108, 0x10b, 0x10a, 0x10d, 0x10c, 0x10f, 0x10e, | ||
10572 | 0x111, 0x110, 0x113, 0x112, 0x115, 0x114, 0x117, 0x116, | ||
10573 | 0x119, 0x118, 0x11b, 0x11a, 0x11d, 0x11c, 0x11f, 0x11e, | ||
10574 | 0x121, 0x120, 0x123, 0x122, 0x125, 0x124, 0x127, 0x126, | ||
10575 | 0x129, 0x128, 0x12b, 0x12a, 0x12d, 0x12c, 0x12f, 0x12e, | ||
10576 | 0x69, 0x49, 0x133, 0x132, 0x135, 0x134, 0x137, 0x136, | ||
10577 | 0, 0x13a, 0x139, 0x13c, 0x13b, 0x13e, 0x13d, 0x140, | ||
10578 | 0x13f, 0x142, 0x141, 0x144, 0x143, 0x146, 0x145, 0x148, | ||
10579 | 0x147, 0, 0x14b, 0x14a, 0x14d, 0x14c, 0x14f, 0x14e, | ||
10580 | 0x151, 0x150, 0x153, 0x152, 0x155, 0x154, 0x157, 0x156, | ||
10581 | 0x159, 0x158, 0x15b, 0x15a, 0x15d, 0x15c, 0x15f, 0x15e, | ||
10582 | 0x161, 0x160, 0x163, 0x162, 0x165, 0x164, 0x167, 0x166, | ||
10583 | 0x169, 0x168, 0x16b, 0x16a, 0x16d, 0x16c, 0x16f, 0x16e, | ||
10584 | 0x171, 0x170, 0x173, 0x172, 0x175, 0x174, 0x177, 0x176, | ||
10585 | 0xff, 0x17a, 0x179, 0x17c, 0x17b, 0x17e, 0x17d, 0x53, | ||
10586 | 0, 0x253, 0x183, 0x182, 0x185, 0x184, 0x254, 0x188, | ||
10587 | 0x187, 0x256, 0x257, 0x18c, 0x18b, 0, 0x1dd, 0x259, | ||
10588 | 0x25b, 0x192, 0x191, 0x260, 0x263, 0x1f6, 0x269, 0x268, | ||
10589 | 0x199, 0x198, 0, 0, 0x26f, 0x272, 0x220, 0x275, | ||
10590 | 0x1a1, 0x1a0, 0x1a3, 0x1a2, 0x1a5, 0x1a4, 0x280, 0x1a8, | ||
10591 | 0x1a7, 0x283, 0, 0, 0x1ad, 0x1ac, 0x288, 0x1b0, | ||
10592 | 0x1af, 0x28a, 0x28b, 0x1b4, 0x1b3, 0x1b6, 0x1b5, 0x292, | ||
10593 | 0x1b9, 0x1b8, 0, 0, 0x1bd, 0x1bc, 0, 0x1f7, | ||
10594 | 0, 0, 0, 0, 0x1c6, 0x1c4, 0x1c4, 0x1c9, | ||
10595 | 0x1c7, 0x1c7, 0x1cc, 0x1ca, 0x1ca, 0x1ce, 0x1cd, 0x1d0, | ||
10596 | 0x1cf, 0x1d2, 0x1d1, 0x1d4, 0x1d3, 0x1d6, 0x1d5, 0x1d8, | ||
10597 | 0x1d7, 0x1da, 0x1d9, 0x1dc, 0x1db, 0x18e, 0x1df, 0x1de, | ||
10598 | 0x1e1, 0x1e0, 0x1e3, 0x1e2, 0x1e5, 0x1e4, 0x1e7, 0x1e6, | ||
10599 | 0x1e9, 0x1e8, 0x1eb, 0x1ea, 0x1ed, 0x1ec, 0x1ef, 0x1ee, | ||
10600 | 0, 0x1f3, 0x1f1, 0x1f1, 0x1f5, 0x1f4, 0x195, 0x1bf, | ||
10601 | 0x1f9, 0x1f8, 0x1fb, 0x1fa, 0x1fd, 0x1fc, 0x1ff, 0x1fe, | ||
10602 | |||
10603 | 0x201, 0x200, 0x203, 0x202, 0x205, 0x204, 0x207, 0x206, | ||
10604 | 0x209, 0x208, 0x20b, 0x20a, 0x20d, 0x20c, 0x20f, 0x20e, | ||
10605 | 0x211, 0x210, 0x213, 0x212, 0x215, 0x214, 0x217, 0x216, | ||
10606 | 0x219, 0x218, 0x21b, 0x21a, 0x21d, 0x21c, 0x21f, 0x21e, | ||
10607 | 0x19e, 0, 0x223, 0x222, 0x225, 0x224, 0x227, 0x226, | ||
10608 | 0x229, 0x228, 0x22b, 0x22a, 0x22d, 0x22c, 0x22f, 0x22e, | ||
10609 | 0x231, 0x230, 0x233, 0x232, 0, 0, 0, 0, | ||
10610 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10611 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10612 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10613 | 0, 0, 0, 0x181, 0x186, 0, 0x189, 0x18a, | ||
10614 | 0, 0x18f, 0, 0x190, 0, 0, 0, 0, | ||
10615 | 0x193, 0, 0, 0x194, 0, 0, 0, 0, | ||
10616 | 0x197, 0x196, 0, 0, 0, 0, 0, 0x19c, | ||
10617 | 0, 0, 0x19d, 0, 0, 0x19f, 0, 0, | ||
10618 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10619 | 0x1a6, 0, 0, 0x1a9, 0, 0, 0, 0, | ||
10620 | 0x1ae, 0, 0x1b1, 0x1b2, 0, 0, 0, 0, | ||
10621 | 0, 0, 0x1b7, 0, 0, 0, 0, 0, | ||
10622 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10623 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10624 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10625 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10626 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10627 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10628 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10629 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10630 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10631 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10632 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10633 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10634 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10635 | |||
10636 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10637 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10638 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10639 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10640 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10641 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10642 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10643 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10644 | 0, 0, 0, 0, 0, 0x399, 0, 0, | ||
10645 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10646 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10647 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10648 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10649 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10650 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10651 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10652 | 0, 0, 0, 0, 0, 0, 0x3ac, 0, | ||
10653 | 0x3ad, 0x3ae, 0x3af, 0, 0x3cc, 0, 0x3cd, 0x3ce, | ||
10654 | 0, 0x3b1, 0x3b2, 0x3b3, 0x3b4, 0x3b5, 0x3b6, 0x3b7, | ||
10655 | 0x3b8, 0x3b9, 0x3ba, 0x3bb, 0x3bc, 0x3bd, 0x3be, 0x3bf, | ||
10656 | 0x3c0, 0x3c1, 0, 0x3c3, 0x3c4, 0x3c5, 0x3c6, 0x3c7, | ||
10657 | 0x3c8, 0x3c9, 0x3ca, 0x3cb, 0x386, 0x388, 0x389, 0x38a, | ||
10658 | 0, 0x391, 0x392, 0x393, 0x394, 0x395, 0x396, 0x397, | ||
10659 | 0x398, 0x399, 0x39a, 0x39b, 0x39c, 0x39d, 0x39e, 0x39f, | ||
10660 | 0x3a0, 0x3a1, 0x3a3, 0x3a3, 0x3a4, 0x3a5, 0x3a6, 0x3a7, | ||
10661 | 0x3a8, 0x3a9, 0x3aa, 0x3ab, 0x38c, 0x38e, 0x38f, 0, | ||
10662 | 0x392, 0x398, 0, 0, 0, 0x3a6, 0x3a0, 0, | ||
10663 | 0x3d9, 0x3d8, 0x3db, 0x3da, 0x3dd, 0x3dc, 0x3df, 0x3de, | ||
10664 | 0x3e1, 0x3e0, 0x3e3, 0x3e2, 0x3e5, 0x3e4, 0x3e7, 0x3e6, | ||
10665 | 0x3e9, 0x3e8, 0x3eb, 0x3ea, 0x3ed, 0x3ec, 0x3ef, 0x3ee, | ||
10666 | 0x39a, 0x3a1, 0x3a3, 0, 0x3b8, 0x395, 0, 0, | ||
10667 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10668 | |||
10669 | 0x450, 0x451, 0x452, 0x453, 0x454, 0x455, 0x456, 0x457, | ||
10670 | 0x458, 0x459, 0x45a, 0x45b, 0x45c, 0x45d, 0x45e, 0x45f, | ||
10671 | 0x430, 0x431, 0x432, 0x433, 0x434, 0x435, 0x436, 0x437, | ||
10672 | 0x438, 0x439, 0x43a, 0x43b, 0x43c, 0x43d, 0x43e, 0x43f, | ||
10673 | 0x440, 0x441, 0x442, 0x443, 0x444, 0x445, 0x446, 0x447, | ||
10674 | 0x448, 0x449, 0x44a, 0x44b, 0x44c, 0x44d, 0x44e, 0x44f, | ||
10675 | 0x410, 0x411, 0x412, 0x413, 0x414, 0x415, 0x416, 0x417, | ||
10676 | 0x418, 0x419, 0x41a, 0x41b, 0x41c, 0x41d, 0x41e, 0x41f, | ||
10677 | 0x420, 0x421, 0x422, 0x423, 0x424, 0x425, 0x426, 0x427, | ||
10678 | 0x428, 0x429, 0x42a, 0x42b, 0x42c, 0x42d, 0x42e, 0x42f, | ||
10679 | 0x400, 0x401, 0x402, 0x403, 0x404, 0x405, 0x406, 0x407, | ||
10680 | 0x408, 0x409, 0x40a, 0x40b, 0x40c, 0x40d, 0x40e, 0x40f, | ||
10681 | 0x461, 0x460, 0x463, 0x462, 0x465, 0x464, 0x467, 0x466, | ||
10682 | 0x469, 0x468, 0x46b, 0x46a, 0x46d, 0x46c, 0x46f, 0x46e, | ||
10683 | 0x471, 0x470, 0x473, 0x472, 0x475, 0x474, 0x477, 0x476, | ||
10684 | 0x479, 0x478, 0x47b, 0x47a, 0x47d, 0x47c, 0x47f, 0x47e, | ||
10685 | 0x481, 0x480, 0, 0, 0, 0, 0, 0, | ||
10686 | 0, 0, 0x48b, 0x48a, 0x48d, 0x48c, 0x48f, 0x48e, | ||
10687 | 0x491, 0x490, 0x493, 0x492, 0x495, 0x494, 0x497, 0x496, | ||
10688 | 0x499, 0x498, 0x49b, 0x49a, 0x49d, 0x49c, 0x49f, 0x49e, | ||
10689 | 0x4a1, 0x4a0, 0x4a3, 0x4a2, 0x4a5, 0x4a4, 0x4a7, 0x4a6, | ||
10690 | 0x4a9, 0x4a8, 0x4ab, 0x4aa, 0x4ad, 0x4ac, 0x4af, 0x4ae, | ||
10691 | 0x4b1, 0x4b0, 0x4b3, 0x4b2, 0x4b5, 0x4b4, 0x4b7, 0x4b6, | ||
10692 | 0x4b9, 0x4b8, 0x4bb, 0x4ba, 0x4bd, 0x4bc, 0x4bf, 0x4be, | ||
10693 | 0, 0x4c2, 0x4c1, 0x4c4, 0x4c3, 0x4c6, 0x4c5, 0x4c8, | ||
10694 | 0x4c7, 0x4ca, 0x4c9, 0x4cc, 0x4cb, 0x4ce, 0x4cd, 0, | ||
10695 | 0x4d1, 0x4d0, 0x4d3, 0x4d2, 0x4d5, 0x4d4, 0x4d7, 0x4d6, | ||
10696 | 0x4d9, 0x4d8, 0x4db, 0x4da, 0x4dd, 0x4dc, 0x4df, 0x4de, | ||
10697 | 0x4e1, 0x4e0, 0x4e3, 0x4e2, 0x4e5, 0x4e4, 0x4e7, 0x4e6, | ||
10698 | 0x4e9, 0x4e8, 0x4eb, 0x4ea, 0x4ed, 0x4ec, 0x4ef, 0x4ee, | ||
10699 | 0x4f1, 0x4f0, 0x4f3, 0x4f2, 0x4f5, 0x4f4, 0, 0, | ||
10700 | 0x4f9, 0x4f8, 0, 0, 0, 0, 0, 0, | ||
10701 | |||
10702 | 0x501, 0x500, 0x503, 0x502, 0x505, 0x504, 0x507, 0x506, | ||
10703 | 0x509, 0x508, 0x50b, 0x50a, 0x50d, 0x50c, 0x50f, 0x50e, | ||
10704 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10705 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10706 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10707 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10708 | 0, 0x561, 0x562, 0x563, 0x564, 0x565, 0x566, 0x567, | ||
10709 | 0x568, 0x569, 0x56a, 0x56b, 0x56c, 0x56d, 0x56e, 0x56f, | ||
10710 | 0x570, 0x571, 0x572, 0x573, 0x574, 0x575, 0x576, 0x577, | ||
10711 | 0x578, 0x579, 0x57a, 0x57b, 0x57c, 0x57d, 0x57e, 0x57f, | ||
10712 | 0x580, 0x581, 0x582, 0x583, 0x584, 0x585, 0x586, 0, | ||
10713 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10714 | 0, 0x531, 0x532, 0x533, 0x534, 0x535, 0x536, 0x537, | ||
10715 | 0x538, 0x539, 0x53a, 0x53b, 0x53c, 0x53d, 0x53e, 0x53f, | ||
10716 | 0x540, 0x541, 0x542, 0x543, 0x544, 0x545, 0x546, 0x547, | ||
10717 | 0x548, 0x549, 0x54a, 0x54b, 0x54c, 0x54d, 0x54e, 0x54f, | ||
10718 | 0x550, 0x551, 0x552, 0x553, 0x554, 0x555, 0x556, 0, | ||
10719 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10720 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10721 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10722 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10723 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10724 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10725 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10726 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10727 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10728 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10729 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10730 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10731 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10732 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10733 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10734 | |||
10735 | 0x1e01, 0x1e00, 0x1e03, 0x1e02, 0x1e05, 0x1e04, 0x1e07, 0x1e06, | ||
10736 | 0x1e09, 0x1e08, 0x1e0b, 0x1e0a, 0x1e0d, 0x1e0c, 0x1e0f, 0x1e0e, | ||
10737 | 0x1e11, 0x1e10, 0x1e13, 0x1e12, 0x1e15, 0x1e14, 0x1e17, 0x1e16, | ||
10738 | 0x1e19, 0x1e18, 0x1e1b, 0x1e1a, 0x1e1d, 0x1e1c, 0x1e1f, 0x1e1e, | ||
10739 | 0x1e21, 0x1e20, 0x1e23, 0x1e22, 0x1e25, 0x1e24, 0x1e27, 0x1e26, | ||
10740 | 0x1e29, 0x1e28, 0x1e2b, 0x1e2a, 0x1e2d, 0x1e2c, 0x1e2f, 0x1e2e, | ||
10741 | 0x1e31, 0x1e30, 0x1e33, 0x1e32, 0x1e35, 0x1e34, 0x1e37, 0x1e36, | ||
10742 | 0x1e39, 0x1e38, 0x1e3b, 0x1e3a, 0x1e3d, 0x1e3c, 0x1e3f, 0x1e3e, | ||
10743 | 0x1e41, 0x1e40, 0x1e43, 0x1e42, 0x1e45, 0x1e44, 0x1e47, 0x1e46, | ||
10744 | 0x1e49, 0x1e48, 0x1e4b, 0x1e4a, 0x1e4d, 0x1e4c, 0x1e4f, 0x1e4e, | ||
10745 | 0x1e51, 0x1e50, 0x1e53, 0x1e52, 0x1e55, 0x1e54, 0x1e57, 0x1e56, | ||
10746 | 0x1e59, 0x1e58, 0x1e5b, 0x1e5a, 0x1e5d, 0x1e5c, 0x1e5f, 0x1e5e, | ||
10747 | 0x1e61, 0x1e60, 0x1e63, 0x1e62, 0x1e65, 0x1e64, 0x1e67, 0x1e66, | ||
10748 | 0x1e69, 0x1e68, 0x1e6b, 0x1e6a, 0x1e6d, 0x1e6c, 0x1e6f, 0x1e6e, | ||
10749 | 0x1e71, 0x1e70, 0x1e73, 0x1e72, 0x1e75, 0x1e74, 0x1e77, 0x1e76, | ||
10750 | 0x1e79, 0x1e78, 0x1e7b, 0x1e7a, 0x1e7d, 0x1e7c, 0x1e7f, 0x1e7e, | ||
10751 | 0x1e81, 0x1e80, 0x1e83, 0x1e82, 0x1e85, 0x1e84, 0x1e87, 0x1e86, | ||
10752 | 0x1e89, 0x1e88, 0x1e8b, 0x1e8a, 0x1e8d, 0x1e8c, 0x1e8f, 0x1e8e, | ||
10753 | 0x1e91, 0x1e90, 0x1e93, 0x1e92, 0x1e95, 0x1e94, 0, 0, | ||
10754 | 0, 0, 0, 0x1e60, 0, 0, 0, 0, | ||
10755 | 0x1ea1, 0x1ea0, 0x1ea3, 0x1ea2, 0x1ea5, 0x1ea4, 0x1ea7, 0x1ea6, | ||
10756 | 0x1ea9, 0x1ea8, 0x1eab, 0x1eaa, 0x1ead, 0x1eac, 0x1eaf, 0x1eae, | ||
10757 | 0x1eb1, 0x1eb0, 0x1eb3, 0x1eb2, 0x1eb5, 0x1eb4, 0x1eb7, 0x1eb6, | ||
10758 | 0x1eb9, 0x1eb8, 0x1ebb, 0x1eba, 0x1ebd, 0x1ebc, 0x1ebf, 0x1ebe, | ||
10759 | 0x1ec1, 0x1ec0, 0x1ec3, 0x1ec2, 0x1ec5, 0x1ec4, 0x1ec7, 0x1ec6, | ||
10760 | 0x1ec9, 0x1ec8, 0x1ecb, 0x1eca, 0x1ecd, 0x1ecc, 0x1ecf, 0x1ece, | ||
10761 | 0x1ed1, 0x1ed0, 0x1ed3, 0x1ed2, 0x1ed5, 0x1ed4, 0x1ed7, 0x1ed6, | ||
10762 | 0x1ed9, 0x1ed8, 0x1edb, 0x1eda, 0x1edd, 0x1edc, 0x1edf, 0x1ede, | ||
10763 | 0x1ee1, 0x1ee0, 0x1ee3, 0x1ee2, 0x1ee5, 0x1ee4, 0x1ee7, 0x1ee6, | ||
10764 | 0x1ee9, 0x1ee8, 0x1eeb, 0x1eea, 0x1eed, 0x1eec, 0x1eef, 0x1eee, | ||
10765 | 0x1ef1, 0x1ef0, 0x1ef3, 0x1ef2, 0x1ef5, 0x1ef4, 0x1ef7, 0x1ef6, | ||
10766 | 0x1ef9, 0x1ef8, 0, 0, 0, 0, 0, 0, | ||
10767 | |||
10768 | 0x1f08, 0x1f09, 0x1f0a, 0x1f0b, 0x1f0c, 0x1f0d, 0x1f0e, 0x1f0f, | ||
10769 | 0x1f00, 0x1f01, 0x1f02, 0x1f03, 0x1f04, 0x1f05, 0x1f06, 0x1f07, | ||
10770 | 0x1f18, 0x1f19, 0x1f1a, 0x1f1b, 0x1f1c, 0x1f1d, 0, 0, | ||
10771 | 0x1f10, 0x1f11, 0x1f12, 0x1f13, 0x1f14, 0x1f15, 0, 0, | ||
10772 | 0x1f28, 0x1f29, 0x1f2a, 0x1f2b, 0x1f2c, 0x1f2d, 0x1f2e, 0x1f2f, | ||
10773 | 0x1f20, 0x1f21, 0x1f22, 0x1f23, 0x1f24, 0x1f25, 0x1f26, 0x1f27, | ||
10774 | 0x1f38, 0x1f39, 0x1f3a, 0x1f3b, 0x1f3c, 0x1f3d, 0x1f3e, 0x1f3f, | ||
10775 | 0x1f30, 0x1f31, 0x1f32, 0x1f33, 0x1f34, 0x1f35, 0x1f36, 0x1f37, | ||
10776 | 0x1f48, 0x1f49, 0x1f4a, 0x1f4b, 0x1f4c, 0x1f4d, 0, 0, | ||
10777 | 0x1f40, 0x1f41, 0x1f42, 0x1f43, 0x1f44, 0x1f45, 0, 0, | ||
10778 | 0, 0x1f59, 0, 0x1f5b, 0, 0x1f5d, 0, 0x1f5f, | ||
10779 | 0, 0x1f51, 0, 0x1f53, 0, 0x1f55, 0, 0x1f57, | ||
10780 | 0x1f68, 0x1f69, 0x1f6a, 0x1f6b, 0x1f6c, 0x1f6d, 0x1f6e, 0x1f6f, | ||
10781 | 0x1f60, 0x1f61, 0x1f62, 0x1f63, 0x1f64, 0x1f65, 0x1f66, 0x1f67, | ||
10782 | 0x1fba, 0x1fbb, 0x1fc8, 0x1fc9, 0x1fca, 0x1fcb, 0x1fda, 0x1fdb, | ||
10783 | 0x1ff8, 0x1ff9, 0x1fea, 0x1feb, 0x1ffa, 0x1ffb, 0, 0, | ||
10784 | 0x1f88, 0x1f89, 0x1f8a, 0x1f8b, 0x1f8c, 0x1f8d, 0x1f8e, 0x1f8f, | ||
10785 | 0x1f80, 0x1f81, 0x1f82, 0x1f83, 0x1f84, 0x1f85, 0x1f86, 0x1f87, | ||
10786 | 0x1f98, 0x1f99, 0x1f9a, 0x1f9b, 0x1f9c, 0x1f9d, 0x1f9e, 0x1f9f, | ||
10787 | 0x1f90, 0x1f91, 0x1f92, 0x1f93, 0x1f94, 0x1f95, 0x1f96, 0x1f97, | ||
10788 | 0x1fa8, 0x1fa9, 0x1faa, 0x1fab, 0x1fac, 0x1fad, 0x1fae, 0x1faf, | ||
10789 | 0x1fa0, 0x1fa1, 0x1fa2, 0x1fa3, 0x1fa4, 0x1fa5, 0x1fa6, 0x1fa7, | ||
10790 | 0x1fb8, 0x1fb9, 0, 0x1fbc, 0, 0, 0, 0, | ||
10791 | 0x1fb0, 0x1fb1, 0x1f70, 0x1f71, 0x1fb3, 0, 0x399, 0, | ||
10792 | 0, 0, 0, 0x1fcc, 0, 0, 0, 0, | ||
10793 | 0x1f72, 0x1f73, 0x1f74, 0x1f75, 0x1fc3, 0, 0, 0, | ||
10794 | 0x1fd8, 0x1fd9, 0, 0, 0, 0, 0, 0, | ||
10795 | 0x1fd0, 0x1fd1, 0x1f76, 0x1f77, 0, 0, 0, 0, | ||
10796 | 0x1fe8, 0x1fe9, 0, 0, 0, 0x1fec, 0, 0, | ||
10797 | 0x1fe0, 0x1fe1, 0x1f7a, 0x1f7b, 0x1fe5, 0, 0, 0, | ||
10798 | 0, 0, 0, 0x1ffc, 0, 0, 0, 0, | ||
10799 | 0x1f78, 0x1f79, 0x1f7c, 0x1f7d, 0x1ff3, 0, 0, 0, | ||
10800 | |||
10801 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10802 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10803 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10804 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10805 | 0, 0, 0, 0, 0, 0, 0x3c9, 0, | ||
10806 | 0, 0, 0x6b, 0xe5, 0, 0, 0, 0, | ||
10807 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10808 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10809 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10810 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10811 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10812 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10813 | 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, | ||
10814 | 0x2178, 0x2179, 0x217a, 0x217b, 0x217c, 0x217d, 0x217e, 0x217f, | ||
10815 | 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167, | ||
10816 | 0x2168, 0x2169, 0x216a, 0x216b, 0x216c, 0x216d, 0x216e, 0x216f, | ||
10817 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10818 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10819 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10820 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10821 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10822 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10823 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10824 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10825 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10826 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10827 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10828 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10829 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10830 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10831 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10832 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10833 | |||
10834 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10835 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10836 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10837 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10838 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10839 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10840 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10841 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10842 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10843 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10844 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10845 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10846 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10847 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10848 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10849 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10850 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10851 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10852 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10853 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10854 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10855 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10856 | 0, 0, 0, 0, 0, 0, 0x24d0, 0x24d1, | ||
10857 | 0x24d2, 0x24d3, 0x24d4, 0x24d5, 0x24d6, 0x24d7, 0x24d8, 0x24d9, | ||
10858 | 0x24da, 0x24db, 0x24dc, 0x24dd, 0x24de, 0x24df, 0x24e0, 0x24e1, | ||
10859 | 0x24e2, 0x24e3, 0x24e4, 0x24e5, 0x24e6, 0x24e7, 0x24e8, 0x24e9, | ||
10860 | 0x24b6, 0x24b7, 0x24b8, 0x24b9, 0x24ba, 0x24bb, 0x24bc, 0x24bd, | ||
10861 | 0x24be, 0x24bf, 0x24c0, 0x24c1, 0x24c2, 0x24c3, 0x24c4, 0x24c5, | ||
10862 | 0x24c6, 0x24c7, 0x24c8, 0x24c9, 0x24ca, 0x24cb, 0x24cc, 0x24cd, | ||
10863 | 0x24ce, 0x24cf, 0, 0, 0, 0, 0, 0, | ||
10864 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10865 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10866 | |||
10867 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10868 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10869 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10870 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10871 | 0, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47, | ||
10872 | 0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f, | ||
10873 | 0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57, | ||
10874 | 0xff58, 0xff59, 0xff5a, 0, 0, 0, 0, 0, | ||
10875 | 0, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27, | ||
10876 | 0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f, | ||
10877 | 0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37, | ||
10878 | 0xff38, 0xff39, 0xff3a, 0, 0, 0, 0, 0, | ||
10879 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10880 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10881 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10882 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10883 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10884 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10885 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10886 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10887 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10888 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10889 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10890 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10891 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10892 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10893 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10894 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10895 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10896 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10897 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10898 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10899 | }; | ||
10900 | // 36602 bytes | ||
10901 | |||
10902 | const Q_INT8 QUnicodeTables::decimal_info[] = { | ||
10903 | 1, 0, 0, 0, 0, 0, 2, 0, | ||
10904 | 0, 3, 3, 4, 3, 5, 6, 7, | ||
10905 | 8, 0, 0, 9, 0, 0, 0, 10, | ||
10906 | 11, 0, 0, 0, 0, 0, 0, 0, | ||
10907 | 12, 0, 0, 0, 13, 0, 0, 14, | ||
10908 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10909 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10910 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10911 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10912 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10913 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10914 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10915 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10916 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10917 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10918 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10919 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10920 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10921 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10922 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10923 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10924 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10925 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10926 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10927 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10928 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10929 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10930 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10931 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10932 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10933 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10934 | 0, 0, 0, 0, 0, 0, 0, 11, | ||
10935 | |||
10936 | |||
10937 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10938 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10939 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10940 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10941 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10942 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10943 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
10944 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
10945 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10946 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10947 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10948 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10949 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10950 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10951 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10952 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10953 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10954 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10955 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10956 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10957 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10958 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10959 | -1, -1, 2, 3, -1, -1, -1, -1, | ||
10960 | -1, 1, -1, -1, -1, -1, -1, -1, | ||
10961 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10962 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10963 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10964 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10965 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10966 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10967 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10968 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10969 | |||
10970 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10971 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10972 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10973 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10974 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10975 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10976 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10977 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10978 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10979 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10980 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10981 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10982 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
10983 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
10984 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10985 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10986 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10987 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10988 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10989 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10990 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10991 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10992 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10993 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10994 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10995 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10996 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10997 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10998 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
10999 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11000 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11001 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11002 | |||
11003 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11004 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11005 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11006 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11007 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11008 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11009 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11010 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11011 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11012 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11013 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11014 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11015 | -1, -1, -1, -1, -1, -1, 0, 1, | ||
11016 | 2, 3, 4, 5, 6, 7, 8, 9, | ||
11017 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11018 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11019 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11020 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11021 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11022 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11023 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11024 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11025 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11026 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11027 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11028 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11029 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11030 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11031 | -1, -1, -1, -1, -1, -1, 0, 1, | ||
11032 | 2, 3, 4, 5, 6, 7, 8, 9, | ||
11033 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11034 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11035 | |||
11036 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11037 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11038 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11039 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11040 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11041 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11042 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11043 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11044 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11045 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11046 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11047 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11048 | -1, -1, -1, -1, -1, -1, 0, 1, | ||
11049 | 2, 3, 4, 5, 6, 7, 8, 9, | ||
11050 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11051 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11052 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11053 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11054 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11055 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11056 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11057 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11058 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11059 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11060 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11061 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11062 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11063 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11064 | -1, -1, -1, -1, -1, -1, -1, 1, | ||
11065 | 2, 3, 4, 5, 6, 7, 8, 9, | ||
11066 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11067 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11068 | |||
11069 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11070 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11071 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11072 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11073 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11074 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11075 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11076 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11077 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11078 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11079 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11080 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11081 | -1, -1, -1, -1, -1, -1, 0, 1, | ||
11082 | 2, 3, 4, 5, 6, 7, 8, 9, | ||
11083 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11084 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11085 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11086 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11087 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11088 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11089 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11090 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11091 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11092 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11093 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11094 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11095 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11096 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11097 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11098 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11099 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11100 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11101 | |||
11102 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11103 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11104 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11105 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11106 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11107 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11108 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11109 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11110 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11111 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11112 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11113 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11114 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11115 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11116 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11117 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11118 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11119 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11120 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11121 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11122 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11123 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11124 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11125 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11126 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11127 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11128 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11129 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11130 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11131 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11132 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11133 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11134 | |||
11135 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11136 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11137 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11138 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11139 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11140 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11141 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11142 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11143 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11144 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11145 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11146 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11147 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11148 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11149 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11150 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11151 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11152 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11153 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11154 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11155 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11156 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11157 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11158 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11159 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11160 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11161 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11162 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11163 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11164 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11165 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11166 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11167 | |||
11168 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11169 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11170 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11171 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11172 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11173 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11174 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11175 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11176 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11177 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11178 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11179 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11180 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11181 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11182 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11183 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11184 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11185 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11186 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11187 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11188 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11189 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11190 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11191 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11192 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11193 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11194 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11195 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11196 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11197 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11198 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11199 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11200 | |||
11201 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11202 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11203 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11204 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11205 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11206 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11207 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11208 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11209 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11210 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11211 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11212 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11213 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11214 | -1, 1, 2, 3, 4, 5, 6, 7, | ||
11215 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11216 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11217 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11218 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11219 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11220 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11221 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11222 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11223 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11224 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11225 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11226 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11227 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11228 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11229 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11230 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11231 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11232 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11233 | |||
11234 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11235 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11236 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11237 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11238 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11239 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11240 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11241 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11242 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11243 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11244 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11245 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11246 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11247 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11248 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11249 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11250 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11251 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11252 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11253 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11254 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11255 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11256 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11257 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11258 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11259 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11260 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11261 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11262 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11263 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11264 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11265 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11266 | |||
11267 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11268 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11269 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11270 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11271 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11272 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11273 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11274 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11275 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11276 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11277 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11278 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11279 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11280 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11281 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11282 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11283 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11284 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11285 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11286 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11287 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11288 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11289 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11290 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11291 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11292 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11293 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11294 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11295 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11296 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11297 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11298 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11299 | |||
11300 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11301 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11302 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11303 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11304 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11305 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11306 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11307 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11308 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11309 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11310 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11311 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11312 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11313 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11314 | 0, -1, -1, -1, 4, 5, 6, 7, | ||
11315 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11316 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11317 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11318 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11319 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11320 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11321 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11322 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11323 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11324 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11325 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11326 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11327 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11328 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11329 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11330 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11331 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11332 | |||
11333 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11334 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11335 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11336 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11337 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11338 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11339 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11340 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11341 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11342 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11343 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11344 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11345 | 1, 2, 3, 4, 5, 6, 7, 8, | ||
11346 | 9, -1, -1, -1, -1, -1, -1, -1, | ||
11347 | -1, -1, -1, -1, 1, 2, 3, 4, | ||
11348 | 5, 6, 7, 8, 9, -1, -1, -1, | ||
11349 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11350 | 1, 2, 3, 4, 5, 6, 7, 8, | ||
11351 | 9, -1, -1, -1, -1, -1, -1, -1, | ||
11352 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11353 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11354 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11355 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11356 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11357 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11358 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11359 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11360 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11361 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11362 | -1, -1, 0, -1, -1, -1, -1, -1, | ||
11363 | -1, -1, -1, -1, -1, 1, 2, 3, | ||
11364 | 4, 5, 6, 7, 8, 9, -1, -1, | ||
11365 | |||
11366 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11367 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11368 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11369 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11370 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11371 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11372 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11373 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11374 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11375 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11376 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11377 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11378 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11379 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11380 | -1, -1, -1, -1, -1, -1, 1, 2, | ||
11381 | 3, 4, 5, 6, 7, 8, 9, -1, | ||
11382 | 1, 2, 3, 4, 5, 6, 7, 8, | ||
11383 | 9, -1, 1, 2, 3, 4, 5, 6, | ||
11384 | 7, 8, 9, -1, -1, -1, -1, -1, | ||
11385 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11386 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11387 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11388 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11389 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11390 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11391 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11392 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11393 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11394 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11395 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11396 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11397 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11398 | }; | ||
11399 | // 40698 bytes | ||
11400 | |||
11401 | #endif | ||
11402 | |||
11403 | #ifdef QT_NO_UNICODETABLES | ||
11404 | |||
11405 | const Q_UINT8 QUnicodeTables::latin1_line_break_info[] = { | ||
11406 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11407 | 19, 15, 23, 19, 21, 22, 19, 19, | ||
11408 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11409 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11410 | 26, 5, 2, 11, 8, 9, 11, 2, | ||
11411 | 0, 1, 11, 8, 7, 14, 7, 6, | ||
11412 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11413 | 10, 10, 7, 7, 11, 11, 11, 5, | ||
11414 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11415 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11416 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11417 | 11, 11, 11, 0, 8, 1, 11, 11, | ||
11418 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11419 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11420 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11421 | 11, 11, 11, 0, 15, 1, 11, 19, | ||
11422 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11423 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11424 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11425 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11426 | 3, 11, 9, 8, 8, 8, 11, 11, | ||
11427 | 11, 11, 11, 2, 11, 15, 11, 11, | ||
11428 | 9, 8, 11, 11, 16, 11, 11, 11, | ||
11429 | 11, 11, 11, 2, 11, 11, 11, 11, | ||
11430 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11431 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11432 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11433 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11434 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11435 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11436 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11437 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11438 | }; | ||
11439 | |||
11440 | #else | ||
11441 | |||
11442 | const Q_UINT8 QUnicodeTables::line_break_info[] = { | ||
11443 | 1, 2, 3, 4, 5, 6, 7, 8, | ||
11444 | 2, 9, 10, 11, 12, 13, 14, 15, | ||
11445 | 16, 17, 2, 18, 2, 2, 19, 20, | ||
11446 | 21, 2, 2, 2, 2, 2, 2, 2, | ||
11447 | 22, 23, 24, 25, 2, 2, 2, 26, | ||
11448 | 2, 27, 2, 2, 2, 2, 28, 29, | ||
11449 | 30, 31, 32, 33, 34, 34, 34, 34, | ||
11450 | 34, 34, 34, 34, 34, 34, 34, 34, | ||
11451 | 34, 34, 34, 34, 34, 34, 34, 34, | ||
11452 | 34, 34, 34, 34, 34, 35, 34, 34, | ||
11453 | 34, 34, 34, 34, 34, 34, 34, 34, | ||
11454 | 34, 34, 34, 34, 34, 34, 34, 34, | ||
11455 | 34, 34, 34, 34, 34, 34, 34, 34, | ||
11456 | 34, 34, 34, 34, 34, 34, 34, 34, | ||
11457 | 34, 34, 34, 34, 34, 34, 34, 34, | ||
11458 | 34, 34, 34, 34, 34, 34, 34, 34, | ||
11459 | 34, 34, 34, 34, 34, 34, 34, 34, | ||
11460 | 34, 34, 34, 34, 34, 34, 34, 34, | ||
11461 | 34, 34, 34, 34, 34, 34, 34, 34, | ||
11462 | 34, 34, 34, 34, 34, 34, 34, 36, | ||
11463 | 34, 34, 34, 34, 37, 2, 2, 2, | ||
11464 | 2, 2, 2, 2, 34, 34, 34, 34, | ||
11465 | 34, 34, 34, 34, 34, 34, 34, 34, | ||
11466 | 34, 34, 34, 34, 34, 34, 34, 34, | ||
11467 | 34, 34, 34, 34, 34, 34, 34, 34, | ||
11468 | 34, 34, 34, 34, 34, 34, 34, 34, | ||
11469 | 34, 34, 34, 34, 34, 34, 34, 38, | ||
11470 | 39, 39, 39, 39, 39, 39, 39, 39, | ||
11471 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
11472 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
11473 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
11474 | 2, 34, 40, 41, 2, 42, 43, 44, | ||
11475 | |||
11476 | |||
11477 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11478 | 19, 15, 23, 19, 21, 22, 19, 19, | ||
11479 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11480 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11481 | 26, 5, 2, 11, 8, 9, 11, 2, | ||
11482 | 0, 1, 11, 8, 7, 14, 7, 6, | ||
11483 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11484 | 10, 10, 7, 7, 11, 11, 11, 5, | ||
11485 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11486 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11487 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11488 | 11, 11, 11, 0, 8, 1, 11, 11, | ||
11489 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11490 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11491 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11492 | 11, 11, 11, 0, 15, 1, 11, 19, | ||
11493 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11494 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11495 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11496 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11497 | 3, 11, 9, 8, 8, 8, 11, 11, | ||
11498 | 11, 11, 11, 2, 11, 15, 11, 11, | ||
11499 | 9, 8, 11, 11, 16, 11, 11, 11, | ||
11500 | 11, 11, 11, 2, 11, 11, 11, 11, | ||
11501 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11502 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11503 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11504 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11505 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11506 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11507 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11508 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11509 | |||
11510 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11511 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11512 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11513 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11514 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11515 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11516 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11517 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11518 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11519 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11520 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11521 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11522 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11523 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11524 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11525 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11526 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11527 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11528 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11529 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11530 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11531 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11532 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11533 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11534 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11535 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11536 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11537 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11538 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11539 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11540 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11541 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11542 | |||
11543 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11544 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11545 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11546 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11547 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11548 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11549 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11550 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11551 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11552 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11553 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11554 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11555 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11556 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11557 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11558 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11559 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11560 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11561 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11562 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11563 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11564 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11565 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11566 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11567 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11568 | 16, 11, 11, 11, 16, 11, 11, 11, | ||
11569 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11570 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11571 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11572 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11573 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11574 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11575 | |||
11576 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11577 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11578 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11579 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11580 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11581 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11582 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11583 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11584 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11585 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11586 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11587 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11588 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11589 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11590 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11591 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11592 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11593 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11594 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11595 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11596 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11597 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11598 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11599 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11600 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11601 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11602 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11603 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11604 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11605 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11606 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11607 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11608 | |||
11609 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11610 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11611 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11612 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11613 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11614 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11615 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11616 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11617 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11618 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11619 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11620 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11621 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11622 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11623 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11624 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11625 | 11, 11, 11, 19, 19, 19, 19, 11, | ||
11626 | 19, 19, 11, 11, 11, 11, 11, 11, | ||
11627 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11628 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11629 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11630 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11631 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11632 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11633 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11634 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11635 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11636 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11637 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11638 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11639 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11640 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11641 | |||
11642 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11643 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11644 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11645 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11646 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11647 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11648 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11649 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11650 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11651 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11652 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11653 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11654 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11655 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11656 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11657 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11658 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11659 | 11, 7, 15, 11, 11, 11, 11, 11, | ||
11660 | 11, 19, 19, 19, 19, 19, 19, 19, | ||
11661 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11662 | 19, 19, 11, 19, 19, 19, 19, 19, | ||
11663 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11664 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11665 | 19, 19, 11, 19, 19, 19, 11, 19, | ||
11666 | 11, 19, 19, 11, 19, 11, 11, 11, | ||
11667 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11668 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11669 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11670 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11671 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11672 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11673 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11674 | |||
11675 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11676 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11677 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11678 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11679 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11680 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11681 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11682 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11683 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11684 | 11, 11, 11, 19, 19, 19, 19, 19, | ||
11685 | 19, 19, 19, 19, 19, 19, 11, 11, | ||
11686 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11687 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11688 | 10, 10, 11, 11, 11, 11, 11, 11, | ||
11689 | 19, 11, 11, 11, 11, 11, 11, 11, | ||
11690 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11691 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11692 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11693 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11694 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11695 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11696 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11697 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11698 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11699 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11700 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11701 | 11, 11, 11, 11, 11, 11, 19, 19, | ||
11702 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11703 | 19, 19, 19, 19, 19, 11, 11, 19, | ||
11704 | 19, 11, 19, 19, 19, 19, 11, 11, | ||
11705 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11706 | 10, 10, 11, 11, 11, 11, 11, 11, | ||
11707 | |||
11708 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11709 | 11, 11, 11, 11, 11, 11, 11, 19, | ||
11710 | 11, 19, 11, 11, 11, 11, 11, 11, | ||
11711 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11712 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11713 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11714 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11715 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11716 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11717 | 19, 19, 19, 11, 11, 11, 11, 11, | ||
11718 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11719 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11720 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11721 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11722 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11723 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11724 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11725 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11726 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11727 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11728 | 11, 11, 11, 11, 11, 11, 19, 19, | ||
11729 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11730 | 19, 11, 11, 11, 11, 11, 11, 11, | ||
11731 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11732 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11733 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11734 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11735 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11736 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11737 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11738 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11739 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11740 | |||
11741 | 11, 19, 19, 19, 11, 11, 11, 11, | ||
11742 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11743 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11744 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11745 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11746 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11747 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11748 | 11, 11, 11, 11, 19, 11, 19, 19, | ||
11749 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11750 | 19, 19, 19, 19, 19, 19, 11, 11, | ||
11751 | 11, 19, 19, 19, 19, 11, 11, 11, | ||
11752 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11753 | 11, 11, 19, 19, 11, 11, 10, 10, | ||
11754 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11755 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11756 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11757 | 11, 19, 19, 19, 11, 11, 11, 11, | ||
11758 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11759 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11760 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11761 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11762 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11763 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11764 | 11, 11, 11, 11, 19, 11, 19, 19, | ||
11765 | 19, 19, 19, 19, 19, 11, 11, 19, | ||
11766 | 19, 11, 11, 19, 19, 19, 11, 11, | ||
11767 | 11, 11, 11, 11, 11, 11, 11, 19, | ||
11768 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11769 | 11, 11, 19, 19, 11, 11, 10, 10, | ||
11770 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11771 | 11, 11, 8, 8, 11, 11, 11, 11, | ||
11772 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11773 | |||
11774 | 11, 11, 19, 11, 11, 11, 11, 11, | ||
11775 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11776 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11777 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11778 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11779 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11780 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11781 | 11, 11, 11, 11, 19, 11, 19, 19, | ||
11782 | 19, 19, 19, 11, 11, 11, 11, 19, | ||
11783 | 19, 11, 11, 19, 19, 19, 11, 11, | ||
11784 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11785 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11786 | 11, 11, 11, 11, 11, 11, 10, 10, | ||
11787 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11788 | 19, 19, 11, 11, 11, 11, 11, 11, | ||
11789 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11790 | 11, 19, 19, 19, 11, 11, 11, 11, | ||
11791 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11792 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11793 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11794 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11795 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11796 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11797 | 11, 11, 11, 11, 19, 11, 19, 19, | ||
11798 | 19, 19, 19, 19, 19, 19, 11, 19, | ||
11799 | 19, 19, 11, 19, 19, 19, 11, 11, | ||
11800 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11801 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11802 | 11, 11, 11, 11, 11, 11, 10, 10, | ||
11803 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11804 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11805 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11806 | |||
11807 | 11, 19, 19, 19, 11, 11, 11, 11, | ||
11808 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11809 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11810 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11811 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11812 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11813 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11814 | 11, 11, 11, 11, 19, 11, 19, 19, | ||
11815 | 19, 19, 19, 19, 11, 11, 11, 19, | ||
11816 | 19, 11, 11, 19, 19, 19, 11, 11, | ||
11817 | 11, 11, 11, 11, 11, 11, 19, 19, | ||
11818 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11819 | 11, 11, 11, 11, 11, 11, 10, 10, | ||
11820 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11821 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11822 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11823 | 11, 11, 19, 11, 11, 11, 11, 11, | ||
11824 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11825 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11826 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11827 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11828 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11829 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11830 | 11, 11, 11, 11, 11, 11, 19, 19, | ||
11831 | 19, 19, 19, 11, 11, 11, 19, 19, | ||
11832 | 19, 11, 19, 19, 19, 19, 11, 11, | ||
11833 | 11, 11, 11, 11, 11, 11, 11, 19, | ||
11834 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11835 | 11, 11, 11, 11, 11, 11, 11, 10, | ||
11836 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11837 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11838 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11839 | |||
11840 | 11, 19, 19, 19, 11, 11, 11, 11, | ||
11841 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11842 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11843 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11844 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11845 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11846 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11847 | 11, 11, 11, 11, 11, 11, 19, 19, | ||
11848 | 19, 19, 19, 19, 19, 11, 19, 19, | ||
11849 | 19, 11, 19, 19, 19, 19, 11, 11, | ||
11850 | 11, 11, 11, 11, 11, 19, 19, 11, | ||
11851 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11852 | 11, 11, 11, 11, 11, 11, 10, 10, | ||
11853 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11854 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11855 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11856 | 11, 11, 19, 19, 11, 11, 11, 11, | ||
11857 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11858 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11859 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11860 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11861 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11862 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11863 | 11, 11, 11, 11, 11, 11, 19, 19, | ||
11864 | 19, 19, 19, 19, 19, 11, 19, 19, | ||
11865 | 19, 11, 19, 19, 19, 19, 11, 11, | ||
11866 | 11, 11, 11, 11, 11, 19, 19, 11, | ||
11867 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11868 | 11, 11, 11, 11, 11, 11, 10, 10, | ||
11869 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11870 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11871 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11872 | |||
11873 | 11, 11, 19, 19, 11, 11, 11, 11, | ||
11874 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11875 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11876 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11877 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11878 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11879 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11880 | 11, 11, 11, 11, 11, 11, 19, 19, | ||
11881 | 19, 19, 19, 19, 11, 11, 19, 19, | ||
11882 | 19, 11, 19, 19, 19, 19, 11, 11, | ||
11883 | 11, 11, 11, 11, 11, 11, 11, 19, | ||
11884 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11885 | 11, 11, 11, 11, 11, 11, 10, 10, | ||
11886 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11887 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11888 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11889 | 11, 11, 19, 19, 11, 11, 11, 11, | ||
11890 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11891 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11892 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11893 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11894 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11895 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11896 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11897 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11898 | 11, 11, 19, 11, 11, 11, 11, 19, | ||
11899 | 19, 19, 19, 19, 19, 11, 19, 11, | ||
11900 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11901 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11902 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11903 | 11, 11, 19, 19, 11, 11, 11, 11, | ||
11904 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11905 | |||
11906 | 11, 20, 20, 20, 20, 20, 20, 20, | ||
11907 | 20, 20, 20, 20, 20, 20, 20, 20, | ||
11908 | 20, 20, 20, 20, 20, 20, 20, 20, | ||
11909 | 20, 20, 20, 20, 20, 20, 20, 20, | ||
11910 | 20, 20, 20, 20, 20, 20, 20, 20, | ||
11911 | 20, 20, 20, 20, 20, 20, 20, 20, | ||
11912 | 20, 19, 20, 20, 19, 19, 19, 19, | ||
11913 | 19, 19, 19, 11, 11, 11, 11, 8, | ||
11914 | 20, 20, 20, 20, 20, 20, 20, 19, | ||
11915 | 19, 19, 19, 19, 19, 19, 19, 11, | ||
11916 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11917 | 10, 10, 4, 4, 11, 11, 11, 11, | ||
11918 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11919 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11920 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11921 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11922 | 11, 20, 20, 11, 20, 11, 11, 20, | ||
11923 | 20, 11, 20, 11, 11, 20, 11, 11, | ||
11924 | 11, 11, 11, 11, 20, 20, 20, 20, | ||
11925 | 11, 20, 20, 20, 20, 20, 20, 20, | ||
11926 | 11, 20, 20, 20, 11, 20, 11, 20, | ||
11927 | 11, 11, 20, 20, 11, 20, 20, 20, | ||
11928 | 20, 19, 20, 20, 19, 19, 19, 19, | ||
11929 | 19, 19, 11, 19, 19, 20, 11, 11, | ||
11930 | 20, 20, 20, 20, 20, 11, 20, 11, | ||
11931 | 19, 19, 19, 19, 19, 19, 11, 11, | ||
11932 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11933 | 10, 10, 11, 11, 20, 20, 11, 11, | ||
11934 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11935 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11936 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11937 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11938 | |||
11939 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11940 | 11, 11, 11, 15, 3, 11, 11, 11, | ||
11941 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11942 | 19, 19, 11, 11, 11, 11, 11, 11, | ||
11943 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11944 | 10, 10, 11, 11, 11, 11, 11, 11, | ||
11945 | 11, 11, 11, 11, 11, 19, 11, 19, | ||
11946 | 11, 19, 0, 1, 0, 1, 19, 19, | ||
11947 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11948 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11949 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11950 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11951 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11952 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11953 | 11, 19, 19, 19, 19, 19, 19, 19, | ||
11954 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11955 | 19, 19, 19, 19, 19, 11, 19, 19, | ||
11956 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11957 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11958 | 11, 19, 19, 19, 19, 19, 19, 19, | ||
11959 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11960 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11961 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
11962 | 19, 19, 19, 19, 19, 11, 11, 11, | ||
11963 | 11, 11, 11, 11, 11, 11, 19, 11, | ||
11964 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11965 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11966 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11967 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11968 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11969 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11970 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11971 | |||
11972 | 20, 20, 20, 20, 20, 20, 20, 20, | ||
11973 | 20, 20, 20, 20, 20, 20, 20, 20, | ||
11974 | 20, 20, 20, 20, 20, 20, 20, 20, | ||
11975 | 20, 20, 20, 20, 20, 20, 20, 20, | ||
11976 | 20, 20, 11, 20, 20, 20, 20, 20, | ||
11977 | 11, 20, 20, 11, 19, 19, 19, 19, | ||
11978 | 19, 19, 19, 11, 11, 11, 19, 19, | ||
11979 | 19, 19, 11, 11, 11, 11, 11, 11, | ||
11980 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
11981 | 10, 10, 11, 11, 11, 11, 11, 11, | ||
11982 | 20, 20, 20, 20, 20, 20, 19, 19, | ||
11983 | 19, 19, 11, 11, 11, 11, 11, 11, | ||
11984 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11985 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11986 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11987 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11988 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11989 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11990 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11991 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11992 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11993 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11994 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11995 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11996 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11997 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11998 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
11999 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12000 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12001 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12002 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12003 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12004 | |||
12005 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12006 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12007 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12008 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12009 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12010 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12011 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12012 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12013 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12014 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12015 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12016 | 12, 12, 11, 11, 11, 11, 11, 12, | ||
12017 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12018 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12019 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12020 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12021 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12022 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12023 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12024 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12025 | 19, 19, 19, 11, 11, 11, 11, 11, | ||
12026 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12027 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12028 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12029 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12030 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12031 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12032 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12033 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12034 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12035 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12036 | 19, 19, 11, 11, 11, 11, 11, 11, | ||
12037 | |||
12038 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12039 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12040 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12041 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12042 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12043 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12044 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12045 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12046 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12047 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12048 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12049 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12050 | 11, 15, 11, 11, 11, 11, 11, 11, | ||
12051 | 11, 10, 10, 10, 10, 10, 10, 10, | ||
12052 | 10, 10, 11, 11, 11, 11, 11, 11, | ||
12053 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12054 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12055 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12056 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12057 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12058 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12059 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12060 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12061 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12062 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12063 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12064 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12065 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12066 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12067 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12068 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12069 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12070 | |||
12071 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12072 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12073 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12074 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12075 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12076 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12077 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12078 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12079 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12080 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12081 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12082 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12083 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12084 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12085 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12086 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12087 | 15, 11, 11, 11, 11, 11, 11, 11, | ||
12088 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12089 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12090 | 11, 11, 11, 0, 1, 11, 11, 11, | ||
12091 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12092 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12093 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12094 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12095 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12096 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12097 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12098 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12099 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12100 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12101 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12102 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12103 | |||
12104 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12105 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12106 | 11, 11, 19, 19, 19, 11, 11, 11, | ||
12107 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12108 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12109 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12110 | 11, 11, 19, 19, 19, 11, 11, 11, | ||
12111 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12112 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12113 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12114 | 11, 11, 19, 19, 11, 11, 11, 11, | ||
12115 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12116 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12117 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12118 | 11, 11, 19, 19, 11, 11, 11, 11, | ||
12119 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12120 | 20, 20, 20, 20, 20, 20, 20, 20, | ||
12121 | 20, 20, 20, 20, 20, 20, 20, 20, | ||
12122 | 20, 20, 20, 20, 20, 20, 20, 20, | ||
12123 | 20, 20, 20, 20, 20, 20, 20, 20, | ||
12124 | 20, 20, 20, 20, 20, 20, 20, 20, | ||
12125 | 20, 20, 20, 20, 20, 20, 20, 20, | ||
12126 | 20, 20, 20, 20, 19, 19, 19, 19, | ||
12127 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12128 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12129 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12130 | 19, 19, 19, 19, 4, 15, 4, 4, | ||
12131 | 4, 4, 4, 8, 11, 11, 11, 11, | ||
12132 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
12133 | 10, 10, 11, 11, 11, 11, 11, 11, | ||
12134 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12135 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12136 | |||
12137 | 11, 11, 11, 11, 11, 11, 16, 11, | ||
12138 | 11, 11, 11, 19, 19, 19, 19, 11, | ||
12139 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
12140 | 10, 10, 11, 11, 11, 11, 11, 11, | ||
12141 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12142 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12143 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12144 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12145 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12146 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12147 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12148 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12149 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12150 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12151 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12152 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12153 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12154 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12155 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12156 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12157 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12158 | 11, 19, 11, 11, 11, 11, 11, 11, | ||
12159 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12160 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12161 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12162 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12163 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12164 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12165 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12166 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12167 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12168 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12169 | |||
12170 | 15, 15, 15, 15, 15, 15, 15, 3, | ||
12171 | 15, 15, 15, 18, 19, 19, 19, 19, | ||
12172 | 15, 3, 15, 15, 17, 11, 11, 11, | ||
12173 | 2, 2, 0, 2, 2, 2, 0, 2, | ||
12174 | 11, 11, 11, 11, 13, 13, 13, 15, | ||
12175 | 21, 21, 19, 19, 19, 19, 19, 3, | ||
12176 | 9, 9, 9, 9, 9, 9, 9, 9, | ||
12177 | 11, 2, 2, 11, 4, 11, 11, 11, | ||
12178 | 11, 11, 11, 11, 4, 0, 1, 11, | ||
12179 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12180 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12181 | 11, 11, 11, 11, 11, 11, 11, 15, | ||
12182 | 3, 11, 11, 11, 11, 11, 11, 11, | ||
12183 | 11, 11, 19, 19, 19, 19, 19, 19, | ||
12184 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12185 | 11, 11, 11, 11, 11, 0, 1, 11, | ||
12186 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12187 | 11, 11, 11, 11, 11, 0, 1, 11, | ||
12188 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12189 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12190 | 8, 8, 8, 8, 8, 8, 8, 9, | ||
12191 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
12192 | 8, 8, 11, 11, 11, 11, 11, 11, | ||
12193 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12194 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12195 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12196 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12197 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12198 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12199 | 19, 19, 19, 11, 11, 11, 11, 11, | ||
12200 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12201 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12202 | |||
12203 | 11, 11, 11, 9, 11, 11, 11, 11, | ||
12204 | 11, 9, 11, 11, 11, 11, 11, 11, | ||
12205 | 11, 11, 11, 11, 11, 11, 8, 11, | ||
12206 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12207 | 11, 11, 11, 11, 11, 11, 9, 11, | ||
12208 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12209 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12210 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12211 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12212 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12213 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12214 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12215 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12216 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12217 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12218 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12219 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12220 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12221 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12222 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12223 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12224 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12225 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12226 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12227 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12228 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12229 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12230 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12231 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12232 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12233 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12234 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12235 | |||
12236 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12237 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12238 | 11, 11, 8, 8, 11, 11, 11, 11, | ||
12239 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12240 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12241 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12242 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12243 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12244 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12245 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12246 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12247 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12248 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12249 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12250 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12251 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12252 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12253 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12254 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12255 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12256 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12257 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12258 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12259 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12260 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12261 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12262 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12263 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12264 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12265 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12266 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12267 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12268 | |||
12269 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12270 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12271 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12272 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12273 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12274 | 11, 0, 1, 11, 11, 11, 11, 11, | ||
12275 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12276 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12277 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12278 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12279 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12280 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12281 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12282 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12283 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12284 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12285 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12286 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12287 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12288 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12289 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12290 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12291 | 11, 11, 11, 11, 0, 1, 2, 11, | ||
12292 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12293 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12294 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12295 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12296 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12297 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12298 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12299 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12300 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12301 | |||
12302 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12303 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12304 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12305 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12306 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12307 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12308 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12309 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12310 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12311 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12312 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12313 | 11, 11, 11, 2, 2, 2, 2, 11, | ||
12314 | 11, 11, 5, 5, 11, 11, 11, 11, | ||
12315 | 0, 1, 0, 1, 0, 1, 0, 1, | ||
12316 | 0, 1, 0, 1, 0, 1, 11, 11, | ||
12317 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12318 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12319 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12320 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12321 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12322 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12323 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12324 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12325 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12326 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12327 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12328 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12329 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12330 | 11, 11, 11, 11, 11, 11, 0, 1, | ||
12331 | 0, 1, 0, 1, 11, 11, 11, 11, | ||
12332 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12333 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12334 | |||
12335 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12336 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12337 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12338 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12339 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12340 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12341 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12342 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12343 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12344 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12345 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12346 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12347 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12348 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12349 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12350 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12351 | 11, 11, 11, 0, 1, 0, 1, 0, | ||
12352 | 1, 0, 1, 0, 1, 0, 1, 0, | ||
12353 | 1, 0, 1, 0, 1, 0, 1, 0, | ||
12354 | 1, 11, 11, 11, 11, 11, 11, 11, | ||
12355 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12356 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12357 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12358 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12359 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12360 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12361 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12362 | 0, 1, 0, 1, 11, 11, 11, 11, | ||
12363 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12364 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12365 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12366 | 11, 11, 11, 11, 0, 1, 11, 11, | ||
12367 | |||
12368 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12369 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12370 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12371 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12372 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12373 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12374 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12375 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12376 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12377 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12378 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12379 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12380 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12381 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12382 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12383 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12384 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12385 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12386 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12387 | 12, 12, 11, 12, 12, 12, 12, 12, | ||
12388 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12389 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12390 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12391 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12392 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12393 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12394 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12395 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12396 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12397 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12398 | 12, 12, 12, 12, 11, 11, 11, 11, | ||
12399 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12400 | |||
12401 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12402 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12403 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12404 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12405 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12406 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12407 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12408 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12409 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12410 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12411 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12412 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12413 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12414 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12415 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12416 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12417 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12418 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12419 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12420 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12421 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12422 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12423 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12424 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12425 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12426 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12427 | 12, 12, 12, 12, 12, 12, 11, 11, | ||
12428 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12429 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12430 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12431 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12432 | 12, 12, 12, 12, 11, 11, 11, 11, | ||
12433 | |||
12434 | 12, 1, 1, 12, 12, 4, 12, 12, | ||
12435 | 0, 1, 0, 1, 0, 1, 0, 1, | ||
12436 | 0, 1, 12, 12, 0, 1, 0, 1, | ||
12437 | 0, 1, 0, 1, 4, 0, 1, 1, | ||
12438 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12439 | 12, 12, 19, 19, 19, 19, 19, 19, | ||
12440 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12441 | 12, 12, 12, 4, 4, 12, 12, 12, | ||
12442 | 11, 4, 12, 4, 12, 4, 12, 4, | ||
12443 | 12, 4, 12, 12, 12, 12, 12, 12, | ||
12444 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12445 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12446 | 12, 12, 12, 4, 12, 12, 12, 12, | ||
12447 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12448 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12449 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12450 | 12, 12, 12, 4, 12, 4, 12, 4, | ||
12451 | 12, 12, 12, 12, 12, 12, 4, 12, | ||
12452 | 12, 12, 12, 12, 12, 4, 4, 11, | ||
12453 | 11, 19, 19, 4, 4, 4, 4, 12, | ||
12454 | 4, 4, 12, 4, 12, 4, 12, 4, | ||
12455 | 12, 4, 12, 12, 12, 12, 12, 12, | ||
12456 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12457 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12458 | 12, 12, 12, 4, 12, 12, 12, 12, | ||
12459 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12460 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12461 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12462 | 12, 12, 12, 4, 12, 4, 12, 4, | ||
12463 | 12, 12, 12, 12, 12, 12, 4, 12, | ||
12464 | 12, 12, 12, 12, 12, 4, 4, 12, | ||
12465 | 12, 12, 12, 4, 12, 4, 12, 12, | ||
12466 | |||
12467 | 11, 11, 11, 11, 11, 12, 12, 12, | ||
12468 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12469 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12470 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12471 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12472 | 12, 12, 12, 12, 12, 11, 11, 11, | ||
12473 | 11, 12, 12, 12, 12, 12, 12, 12, | ||
12474 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12475 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12476 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12477 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12478 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12479 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12480 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12481 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12482 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12483 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12484 | 12, 12, 12, 12, 12, 12, 12, 11, | ||
12485 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12486 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12487 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12488 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12489 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12490 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12491 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12492 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12493 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12494 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12495 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12496 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12497 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
12498 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
12499 | |||
12500 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12501 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12502 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12503 | 12, 12, 12, 12, 12, 11, 11, 11, | ||
12504 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12505 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12506 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12507 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12508 | 12, 12, 12, 12, 11, 11, 11, 11, | ||
12509 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12510 | 11, 12, 12, 12, 12, 12, 12, 12, | ||
12511 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12512 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12513 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12514 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12515 | 12, 12, 12, 12, 11, 11, 11, 12, | ||
12516 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12517 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12518 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12519 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12520 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12521 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12522 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12523 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12524 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12525 | 12, 12, 12, 12, 11, 11, 11, 11, | ||
12526 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12527 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12528 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12529 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12530 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12531 | 12, 12, 12, 12, 12, 12, 12, 11, | ||
12532 | |||
12533 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12534 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12535 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12536 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12537 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12538 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12539 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12540 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12541 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12542 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12543 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12544 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12545 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12546 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12547 | 12, 12, 12, 12, 12, 12, 12, 11, | ||
12548 | 11, 11, 11, 12, 12, 12, 12, 12, | ||
12549 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12550 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12551 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12552 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12553 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12554 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12555 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12556 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12557 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12558 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12559 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12560 | 12, 12, 12, 12, 12, 12, 11, 11, | ||
12561 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12562 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12563 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12564 | 12, 12, 12, 12, 12, 12, 12, 11, | ||
12565 | |||
12566 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12567 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12568 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12569 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12570 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12571 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12572 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12573 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12574 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12575 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12576 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12577 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12578 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12579 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12580 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12581 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12582 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12583 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12584 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12585 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12586 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12587 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12588 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12589 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12590 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12591 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12592 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12593 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12594 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12595 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12596 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12597 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12598 | |||
12599 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12600 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12601 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12602 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12603 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12604 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12605 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12606 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12607 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12608 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12609 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12610 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12611 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12612 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12613 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12614 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12615 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12616 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12617 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12618 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12619 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12620 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12621 | 12, 12, 12, 12, 12, 12, 11, 11, | ||
12622 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12623 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12624 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12625 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12626 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12627 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12628 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12629 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12630 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12631 | |||
12632 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12633 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12634 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12635 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12636 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12637 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12638 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12639 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12640 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12641 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12642 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12643 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12644 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12645 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12646 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12647 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12648 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12649 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12650 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12651 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12652 | 12, 12, 12, 12, 12, 12, 11, 11, | ||
12653 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12654 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12655 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12656 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12657 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12658 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12659 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12660 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12661 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12662 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12663 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12664 | |||
12665 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12666 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12667 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12668 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12669 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12670 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12671 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12672 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12673 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12674 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12675 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12676 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12677 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12678 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12679 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12680 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12681 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12682 | 12, 12, 12, 12, 12, 11, 11, 11, | ||
12683 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12684 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12685 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12686 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12687 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12688 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12689 | 12, 12, 12, 12, 12, 12, 12, 11, | ||
12690 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12691 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12692 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12693 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12694 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12695 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12696 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12697 | |||
12698 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12699 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12700 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12701 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12702 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12703 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12704 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12705 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12706 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12707 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12708 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12709 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12710 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12711 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12712 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12713 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12714 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12715 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12716 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12717 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12718 | 12, 12, 12, 12, 11, 11, 11, 11, | ||
12719 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12720 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12721 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12722 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12723 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12724 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12725 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12726 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12727 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12728 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12729 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12730 | |||
12731 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12732 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12733 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12734 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12735 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12736 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12737 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12738 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12739 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12740 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12741 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12742 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12743 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12744 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12745 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12746 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12747 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12748 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12749 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12750 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12751 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12752 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12753 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12754 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12755 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12756 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12757 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12758 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12759 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12760 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12761 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12762 | 24, 24, 24, 24, 24, 24, 24, 24, | ||
12763 | |||
12764 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12765 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12766 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12767 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12768 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12769 | 12, 12, 12, 12, 12, 12, 11, 11, | ||
12770 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12771 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12772 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12773 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12774 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12775 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12776 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12777 | 12, 12, 12, 11, 11, 11, 11, 11, | ||
12778 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12779 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12780 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12781 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12782 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12783 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12784 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12785 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12786 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12787 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12788 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12789 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12790 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12791 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12792 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12793 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12794 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12795 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12796 | |||
12797 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12798 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12799 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12800 | 11, 11, 11, 11, 11, 11, 19, 11, | ||
12801 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12802 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12803 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12804 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12805 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12806 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12807 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12808 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12809 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12810 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12811 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12812 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12813 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12814 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12815 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12816 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12817 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12818 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12819 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12820 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12821 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12822 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12823 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12824 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12825 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12826 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12827 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12828 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12829 | |||
12830 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12831 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12832 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12833 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12834 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12835 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12836 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12837 | 11, 11, 11, 11, 11, 11, 0, 1, | ||
12838 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12839 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12840 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12841 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12842 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12843 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12844 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12845 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12846 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12847 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12848 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12849 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12850 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12851 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12852 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12853 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12854 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12855 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12856 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12857 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12858 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12859 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12860 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12861 | 11, 11, 11, 11, 9, 11, 11, 11, | ||
12862 | |||
12863 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12864 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
12865 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12866 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12867 | 19, 19, 19, 19, 11, 11, 11, 11, | ||
12868 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12869 | 12, 12, 12, 12, 12, 0, 1, 0, | ||
12870 | 1, 0, 1, 0, 1, 0, 1, 0, | ||
12871 | 1, 0, 1, 0, 1, 12, 12, 11, | ||
12872 | 11, 12, 12, 12, 12, 12, 12, 12, | ||
12873 | 1, 12, 1, 11, 4, 4, 5, 5, | ||
12874 | 12, 0, 1, 0, 1, 0, 1, 12, | ||
12875 | 12, 12, 12, 12, 12, 12, 12, 11, | ||
12876 | 12, 8, 9, 12, 11, 11, 11, 11, | ||
12877 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12878 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12879 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12880 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12881 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12882 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12883 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12884 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12885 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12886 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12887 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12888 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12889 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12890 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12891 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12892 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12893 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12894 | 11, 11, 11, 11, 11, 11, 11, 3, | ||
12895 | |||
12896 | 11, 5, 12, 12, 8, 9, 12, 12, | ||
12897 | 0, 1, 12, 12, 1, 12, 1, 12, | ||
12898 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12899 | 12, 12, 4, 4, 12, 12, 12, 5, | ||
12900 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12901 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12902 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12903 | 12, 12, 12, 0, 12, 1, 12, 12, | ||
12904 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12905 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12906 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
12907 | 12, 12, 12, 0, 12, 1, 12, 0, | ||
12908 | 1, 1, 0, 1, 1, 4, 11, 4, | ||
12909 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
12910 | 4, 11, 11, 11, 11, 11, 11, 11, | ||
12911 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12912 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12913 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12914 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12915 | 11, 11, 11, 11, 11, 11, 4, 4, | ||
12916 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12917 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12918 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12919 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12920 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12921 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12922 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12923 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12924 | 9, 8, 12, 12, 12, 8, 8, 11, | ||
12925 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12926 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
12927 | 11, 19, 19, 19, 25, 11, 11, 11, | ||
12928 | }; | ||
12929 | // 52474 bytes | ||
12930 | |||
12931 | // END OF GENERATED DATA | ||
12932 | #endif | ||
12933 | |||
12934 | |||
12935 | |||
12936 | #ifndef QT_NO_UNICODETABLES | ||
12937 | const Q_UINT16 QUnicodeTables::symmetricPairs[] = { | ||
12938 | 0x0028, 0x0029, 0x003C, 0x003E, 0x005B, 0x005D, 0x007B, 0x007D, | ||
12939 | 0x00AB, 0x00BB, 0x2039, 0x203A, 0x2045, 0x2046, 0x207D, 0x207E, | ||
12940 | 0x208D, 0x208E, 0x2208, 0x220B, 0x2209, 0x220C, 0x220A, 0x220D, | ||
12941 | 0x2215, 0x29F5, 0x223C, 0x223D, 0x2243, 0x22CD, 0x2252, 0x2253, | ||
12942 | 0x2254, 0x2255, 0x2264, 0x2265, 0x2266, 0x2267, 0x2268, 0x2269, | ||
12943 | 0x226A, 0x226B, 0x226E, 0x226F, 0x2270, 0x2271, 0x2272, 0x2273, | ||
12944 | 0x2274, 0x2275, 0x2276, 0x2277, 0x2278, 0x2279, 0x227A, 0x227B, | ||
12945 | 0x227C, 0x227D, 0x227E, 0x227F, 0x2280, 0x2281, 0x2282, 0x2283, | ||
12946 | 0x2284, 0x2285, 0x2286, 0x2287, 0x2288, 0x2289, 0x228A, 0x228B, | ||
12947 | 0x228F, 0x2290, 0x2291, 0x2292, 0x2298, 0x29B8, 0x22A2, 0x22A3, | ||
12948 | 0x22A6, 0x2ADE, 0x22A8, 0x2AE4, 0x22A9, 0x2AE3, 0x22AB, 0x2AE5, | ||
12949 | 0x22B0, 0x22B1, 0x22B2, 0x22B3, 0x22B4, 0x22B5, 0x22B6, 0x22B7, | ||
12950 | 0x22C9, 0x22CA, 0x22CB, 0x22CC, 0x22D0, 0x22D1, 0x22D6, 0x22D7, | ||
12951 | 0x22D8, 0x22D9, 0x22DA, 0x22DB, 0x22DC, 0x22DD, 0x22DE, 0x22DF, | ||
12952 | 0x22E0, 0x22E1, 0x22E2, 0x22E3, 0x22E4, 0x22E5, 0x22E6, 0x22E7, | ||
12953 | 0x22E8, 0x22E9, 0x22EA, 0x22EB, 0x22EC, 0x22ED, 0x22F0, 0x22F1, | ||
12954 | 0x22F2, 0x22FA, 0x22F3, 0x22FB, 0x22F4, 0x22FC, 0x22F6, 0x22FD, | ||
12955 | 0x22F7, 0x22FE, 0x2308, 0x2309, 0x230A, 0x230B, 0x2329, 0x232A, | ||
12956 | 0x2768, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, | ||
12957 | 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x27D5, 0x27D6, | ||
12958 | 0x27DD, 0x27DE, 0x27E2, 0x27E3, 0x27E4, 0x27E5, 0x27E6, 0x27E7, | ||
12959 | 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x2983, 0x2984, 0x2985, 0x2986, | ||
12960 | 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x2990, | ||
12961 | 0x298E, 0x298F, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, | ||
12962 | 0x2997, 0x2998, 0x29C0, 0x29C1, 0x29C4, 0x29C5, 0x29CF, 0x29D0, | ||
12963 | 0x29D1, 0x29D2, 0x29D4, 0x29D5, 0x29D8, 0x29D9, 0x29DA, 0x29DB, | ||
12964 | 0x29F8, 0x29F9, 0x29FC, 0x29FD, 0x2A2B, 0x2A2C, 0x2A34, 0x2A35, | ||
12965 | 0x2A3C, 0x2A3D, 0x2A64, 0x2A65, 0x2A79, 0x2A7A, 0x2A7D, 0x2A7E, | ||
12966 | 0x2A7F, 0x2A80, 0x2A81, 0x2A82, 0x2A83, 0x2A84, 0x2A8B, 0x2A8C, | ||
12967 | 0x2A91, 0x2A92, 0x2A93, 0x2A94, 0x2A95, 0x2A96, 0x2A97, 0x2A98, | ||
12968 | 0x2A99, 0x2A9A, 0x2A9B, 0x2A9C, 0x2AA1, 0x2AA2, 0x2AA6, 0x2AA7, | ||
12969 | 0x2AA8, 0x2AA9, 0x2AAA, 0x2AAB, 0x2AAC, 0x2AAD, 0x2AAF, 0x2AB0, | ||
12970 | 0x2AB3, 0x2AB4, 0x2ABB, 0x2ABC, 0x2ABD, 0x2ABE, 0x2ABF, 0x2AC0, | ||
12971 | 0x2AC1, 0x2AC2, 0x2AC3, 0x2AC4, 0x2AC5, 0x2AC6, 0x2ACD, 0x2ACE, | ||
12972 | 0x2ACF, 0x2AD0, 0x2AD1, 0x2AD2, 0x2AD3, 0x2AD4, 0x2AD5, 0x2AD6, | ||
12973 | 0x2AEC, 0x2AED, 0x2AF7, 0x2AF8, 0x2AF9, 0x2AFA, 0x3008, 0x3009, | ||
12974 | 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, | ||
12975 | 0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, | ||
12976 | 0xFF08, 0xFF09, 0xFF1C, 0xFF1E, 0xFF3B, 0xFF3D, 0xFF5B, 0xFF5D, | ||
12977 | 0xFF5F, 0xFF60, 0xFF62, 0xFF63, | ||
12978 | }; | ||
12979 | |||
12980 | // ### shouldn't this be const? | ||
12981 | const int QUnicodeTables::symmetricPairsSize = | ||
12982 | sizeof(symmetricPairs)/sizeof(symmetricPairs[0]); | ||
12983 | |||
12984 | #else | ||
12985 | |||
12986 | /* | ||
12987 | only include info for the first unicode range (latin1) when building | ||
12988 | without unicode tables. | ||
12989 | */ | ||
12990 | const Q_UINT8 QUnicodeTables::unicode_info[] = { | ||
12991 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
12992 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
12993 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
12994 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
12995 | 7, 26, 26, 26, 28, 26, 26, 26, | ||
12996 | 22, 23, 26, 27, 26, 21, 26, 26, | ||
12997 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
12998 | 4, 4, 26, 26, 27, 27, 27, 26, | ||
12999 | 26, 15, 15, 15, 15, 15, 15, 15, | ||
13000 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
13001 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
13002 | 15, 15, 15, 22, 26, 23, 29, 20, | ||
13003 | 29, 16, 16, 16, 16, 16, 16, 16, | ||
13004 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
13005 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
13006 | 16, 16, 16, 22, 27, 23, 27, 10, | ||
13007 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
13008 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
13009 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
13010 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
13011 | 7, 26, 28, 28, 28, 28, 30, 30, | ||
13012 | 29, 30, 16, 24, 27, 21, 30, 29, | ||
13013 | 30, 27, 6, 6, 29, 16, 30, 26, | ||
13014 | 29, 6, 16, 25, 6, 6, 6, 26, | ||
13015 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
13016 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
13017 | 15, 15, 15, 15, 15, 15, 15, 27, | ||
13018 | 15, 15, 15, 15, 15, 15, 15, 16, | ||
13019 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
13020 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
13021 | 16, 16, 16, 16, 16, 16, 16, 27, | ||
13022 | 16, 16, 16, 16, 16, 16, 16, 16 | ||
13023 | }; | ||
13024 | |||
13025 | #endif | ||
13026 | |||
13027 | /* | ||
13028 | * ---------------------------------------------------------------------- | ||
13029 | * End of unicode tables | ||
13030 | * ---------------------------------------------------------------------- | ||
13031 | */ | ||
13032 | |||
13033 | enum Script { | ||
13034 | // European Alphabetic Scripts | ||
13035 | Latin, | ||
13036 | Greek, | ||
13037 | Cyrillic, | ||
13038 | Armenian, | ||
13039 | Georgian, | ||
13040 | Runic, | ||
13041 | Ogham, | ||
13042 | SpacingModifiers, | ||
13043 | CombiningMarks, | ||
13044 | |||
13045 | // Middle Eastern Scripts | ||
13046 | Hebrew, | ||
13047 | Arabic, | ||
13048 | Syriac, | ||
13049 | Thaana, | ||
13050 | |||
13051 | // South and Southeast Asian Scripts | ||
13052 | Devanagari, | ||
13053 | Bengali, | ||
13054 | Gurmukhi, | ||
13055 | Gujarati, | ||
13056 | Oriya, | ||
13057 | Tamil, | ||
13058 | Telugu, | ||
13059 | Kannada, | ||
13060 | Malayalam, | ||
13061 | Sinhala, | ||
13062 | Thai, | ||
13063 | Lao, | ||
13064 | Tibetan, | ||
13065 | Myanmar, | ||
13066 | Khmer, | ||
13067 | |||
13068 | // East Asian Scripts | ||
13069 | Han, | ||
13070 | Hiragana, | ||
13071 | Katakana, | ||
13072 | Hangul, | ||
13073 | Bopomofo, | ||
13074 | Yi, | ||
13075 | |||
13076 | // Additional Scripts | ||
13077 | Ethiopic, | ||
13078 | Cherokee, | ||
13079 | CanadianAboriginal, | ||
13080 | Mongolian, | ||
13081 | |||
13082 | // Symbols | ||
13083 | CurrencySymbols, | ||
13084 | LetterlikeSymbols, | ||
13085 | NumberForms, | ||
13086 | MathematicalOperators, | ||
13087 | TechnicalSymbols, | ||
13088 | GeometricSymbols, | ||
13089 | MiscellaneousSymbols, | ||
13090 | EnclosedAndSquare, | ||
13091 | Braille, | ||
13092 | |||
13093 | Unicode, | ||
13094 | |||
13095 | // some scripts added in Unicode 3.2 | ||
13096 | Tagalog, | ||
13097 | Hanunoo, | ||
13098 | Buhid, | ||
13099 | Tagbanwa, | ||
13100 | |||
13101 | KatakanaHalfWidth, // from JIS X 0201 | ||
13102 | |||
13103 | // from Unicode 4.0 | ||
13104 | Limbu, | ||
13105 | TaiLe, | ||
13106 | |||
13107 | // End | ||
13108 | NScripts, | ||
13109 | UnknownScript = NScripts | ||
13110 | }; | ||
13111 | |||
13112 | // copied form qfont.h, as we can't include it in tools. Do not modify without | ||
13113 | // changing the script enum in qfont.h aswell. | ||
13114 | const unsigned char QUnicodeTables::otherScripts [128] = { | ||
13115 | #define SCRIPTS_02 0 | ||
13116 | 0xaf, Latin, 0xff, SpacingModifiers, // row 0x02, index 0 | ||
13117 | #define SCRIPTS_03 4 | ||
13118 | 0x6f, CombiningMarks, 0xff, Greek, // row 0x03, index 4 | ||
13119 | #define SCRIPTS_05 8 | ||
13120 | 0x2f, Cyrillic, 0x8f, Armenian, 0xff, Hebrew,// row 0x05, index 8 | ||
13121 | #define SCRIPTS_07 14 | ||
13122 | 0x4f, Syriac, 0x7f, Unicode, 0xbf, Thaana, | ||
13123 | 0xff, Unicode, // row 0x07, index 14 | ||
13124 | #define SCRIPTS_10 22 | ||
13125 | 0x9f, Myanmar, 0xff, Georgian, // row 0x10, index 20 | ||
13126 | #define SCRIPTS_13 26 | ||
13127 | 0x7f, Ethiopic, 0x9f, Unicode, 0xff, Cherokee,// row 0x13, index 24 | ||
13128 | #define SCRIPTS_16 32 | ||
13129 | 0x7f, CanadianAboriginal, 0x9f, Ogham, | ||
13130 | 0xff, Runic, // row 0x16 index 30 | ||
13131 | #define SCRIPTS_17 38 | ||
13132 | 0x1f, Tagalog, 0x3f, Hanunoo, 0x5f, Buhid, | ||
13133 | 0x7f, Tagbanwa, 0xff, Khmer, // row 0x17, index 36 | ||
13134 | #define SCRIPTS_18 48 | ||
13135 | 0xaf, Mongolian, 0xff, Unicode, // row 0x18, index 46 | ||
13136 | #define SCRIPTS_19 52 | ||
13137 | 0x4f, Limbu, 0x7f, TaiLe, 0xdf, Unicode, 0xff, Khmer, | ||
13138 | #define SCRIPTS_20 60 | ||
13139 | 0x0b, Unicode, 0x0d, UnknownScript, 0x6f, Unicode, 0x9f, NumberForms, | ||
13140 | 0xab, CurrencySymbols, 0xac, Latin, | ||
13141 | 0xcf, CurrencySymbols, 0xff, CombiningMarks, // row 0x20, index 50 | ||
13142 | #define SCRIPTS_21 76 | ||
13143 | 0x4f, LetterlikeSymbols, 0x8f, NumberForms, | ||
13144 | 0xff, MathematicalOperators, // row 0x21, index 62 | ||
13145 | #define SCRIPTS_24 82 | ||
13146 | 0x5f, TechnicalSymbols, 0xff, EnclosedAndSquare,// row 0x24, index 68 | ||
13147 | #define SCRIPTS_2e 86 | ||
13148 | 0x7f, Unicode, 0xff, Han, // row 0x2e, index 72 | ||
13149 | #define SCRIPTS_30 90 | ||
13150 | 0x3f, Han, 0x9f, Hiragana, 0xff, Katakana,// row 0x30, index 76 | ||
13151 | #define SCRIPTS_31 96 | ||
13152 | 0x2f, Bopomofo, 0x8f, Hangul, 0x9f, Han, | ||
13153 | 0xff, Unicode, // row 0x31, index 82 | ||
13154 | #define SCRIPTS_fb 104 | ||
13155 | 0x06, Latin, 0x1c, Unicode, 0x4f, Hebrew, | ||
13156 | 0xff, Arabic, // row 0xfb, index 90 | ||
13157 | #define SCRIPTS_fe 112 | ||
13158 | 0x1f, Unicode, 0x2f, CombiningMarks, 0x6f, Unicode, | ||
13159 | 0xff, Arabic, // row 0xfe, index 98 | ||
13160 | #define SCRIPTS_ff 120 | ||
13161 | 0x5e, Katakana, 0x60, Unicode, // row 0xff, index 106 | ||
13162 | 0x9f, KatakanaHalfWidth, 0xff, Unicode | ||
13163 | }; | ||
13164 | |||
13165 | // (uc-0x0900)>>7 | ||
13166 | const unsigned char QUnicodeTables::indicScripts [] = | ||
13167 | { | ||
13168 | Devanagari, Bengali, | ||
13169 | Gurmukhi, Gujarati, | ||
13170 | Oriya, Tamil, | ||
13171 | Telugu, Kannada, | ||
13172 | Malayalam, Sinhala, | ||
13173 | Thai, Lao | ||
13174 | }; | ||
13175 | |||
13176 | |||
13177 | // 0x80 + x: x is the offset into the otherScripts table | ||
13178 | const unsigned char QUnicodeTables::scriptTable[256] = | ||
13179 | { | ||
13180 | Latin, Latin, 0x80+SCRIPTS_02, 0x80+SCRIPTS_03, | ||
13181 | Cyrillic, 0x80+SCRIPTS_05, Arabic, 0x80+SCRIPTS_07, | ||
13182 | Unicode, SCRIPTS_INDIC, SCRIPTS_INDIC, SCRIPTS_INDIC, | ||
13183 | SCRIPTS_INDIC, SCRIPTS_INDIC, SCRIPTS_INDIC, Tibetan, | ||
13184 | |||
13185 | 0x80+SCRIPTS_10, Hangul, Ethiopic, 0x80+SCRIPTS_13, | ||
13186 | CanadianAboriginal, CanadianAboriginal, 0x80+SCRIPTS_16, 0x80+SCRIPTS_17, | ||
13187 | 0x80+SCRIPTS_18, 0x80+SCRIPTS_19, Unicode, Unicode, | ||
13188 | Unicode, Unicode, Latin, Greek, | ||
13189 | |||
13190 | 0x80+SCRIPTS_20, 0x80+SCRIPTS_21, MathematicalOperators, TechnicalSymbols, | ||
13191 | 0x80+SCRIPTS_24, GeometricSymbols, MiscellaneousSymbols, MiscellaneousSymbols, | ||
13192 | Braille, Unicode, Unicode, Unicode, | ||
13193 | Unicode, Unicode, 0x80+SCRIPTS_2e, Han, | ||
13194 | |||
13195 | 0x80+SCRIPTS_30, 0x80+SCRIPTS_31, EnclosedAndSquare, EnclosedAndSquare, | ||
13196 | Han, Han, Han, Han, | ||
13197 | Han, Han, Han, Han, | ||
13198 | Han, Han, Han, Han, | ||
13199 | |||
13200 | Han, Han, Han, Han, Han, Han, Han, Han, | ||
13201 | Han, Han, Han, Han, Han, Han, Han, Han, | ||
13202 | |||
13203 | Han, Han, Han, Han, Han, Han, Han, Han, | ||
13204 | Han, Han, Han, Han, Han, Han, Han, Han, | ||
13205 | |||
13206 | Han, Han, Han, Han, Han, Han, Han, Han, | ||
13207 | Han, Han, Han, Han, Han, Han, Han, Han, | ||
13208 | |||
13209 | Han, Han, Han, Han, Han, Han, Han, Han, | ||
13210 | Han, Han, Han, Han, Han, Han, Han, Han, | ||
13211 | |||
13212 | |||
13213 | Han, Han, Han, Han, Han, Han, Han, Han, | ||
13214 | Han, Han, Han, Han, Han, Han, Han, Han, | ||
13215 | |||
13216 | Han, Han, Han, Han, Han, Han, Han, Han, | ||
13217 | Han, Han, Han, Han, Han, Han, Han, Han, | ||
13218 | |||
13219 | Yi, Yi, Yi, Yi, Yi, Unicode, Unicode, Unicode, | ||
13220 | Unicode, Unicode, Unicode, Unicode, Hangul, Hangul, Hangul, Hangul, | ||
13221 | |||
13222 | Hangul, Hangul, Hangul, Hangul, Hangul, Hangul, Hangul, Hangul, | ||
13223 | Hangul, Hangul, Hangul, Hangul, Hangul, Hangul, Hangul, Hangul, | ||
13224 | |||
13225 | Hangul, Hangul, Hangul, Hangul, Hangul, Hangul, Hangul, Hangul, | ||
13226 | Hangul, Hangul, Hangul, Hangul, Hangul, Hangul, Hangul, Hangul, | ||
13227 | |||
13228 | Hangul, Hangul, Hangul, Hangul, Hangul, Hangul, Hangul, Hangul, | ||
13229 | Unicode, Unicode, Unicode, Unicode, Unicode, Unicode, Unicode, Unicode, | ||
13230 | |||
13231 | Unicode, Unicode, Unicode, Unicode, Unicode, Unicode, Unicode, Unicode, | ||
13232 | Unicode, Unicode, Unicode, Unicode, Unicode, Unicode, Unicode, Unicode, | ||
13233 | |||
13234 | Unicode, Unicode, Unicode, Unicode, Unicode, Unicode, Unicode, Unicode, | ||
13235 | Unicode, Han, Han, 0x80+SCRIPTS_fb, Arabic, Arabic, 0x80+SCRIPTS_fe, 0x80+SCRIPTS_ff | ||
13236 | }; | ||
13237 | |||
diff --git a/qmake/tools/quuid.cpp b/qmake/tools/quuid.cpp index fd99abf..199bfa5 100644 --- a/qmake/tools/quuid.cpp +++ b/qmake/tools/quuid.cpp | |||
@@ -1,230 +1,418 @@ | |||
1 | /**************************************************************************** | 1 | /**************************************************************************** |
2 | ** $Id$ | 2 | ** |
3 | ** | 3 | ** |
4 | ** Implementation of QUuid class | 4 | ** Implementation of QUuid class |
5 | ** | 5 | ** |
6 | ** Copyright (C) 2000-2001 Trolltech AS. All rights reserved. | 6 | ** Copyright (C) 2000-2001 Trolltech AS. All rights reserved. |
7 | ** | 7 | ** |
8 | ** This file is part of the tools module of the Qt GUI Toolkit. | 8 | ** This file is part of the tools module of the Qt GUI Toolkit. |
9 | ** | 9 | ** |
10 | ** This file may be distributed under the terms of the Q Public License | 10 | ** This file may be distributed under the terms of the Q Public License |
11 | ** as defined by Trolltech AS of Norway and appearing in the file | 11 | ** as defined by Trolltech AS of Norway and appearing in the file |
12 | ** LICENSE.QPL included in the packaging of this file. | 12 | ** LICENSE.QPL included in the packaging of this file. |
13 | ** | 13 | ** |
14 | ** This file may be distributed and/or modified under the terms of the | 14 | ** This file may be distributed and/or modified under the terms of the |
15 | ** GNU General Public License version 2 as published by the Free Software | 15 | ** GNU General Public License version 2 as published by the Free Software |
16 | ** Foundation and appearing in the file LICENSE.GPL included in the | 16 | ** Foundation and appearing in the file LICENSE.GPL included in the |
17 | ** packaging of this file. | 17 | ** packaging of this file. |
18 | ** | 18 | ** |
19 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition | 19 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition |
20 | ** licenses may use this file in accordance with the Qt Commercial License | 20 | ** licenses may use this file in accordance with the Qt Commercial License |
21 | ** Agreement provided with the Software. | 21 | ** Agreement provided with the Software. |
22 | ** | 22 | ** |
23 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 23 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
24 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 24 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
25 | ** | 25 | ** |
26 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for | 26 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for |
27 | ** information about Qt Commercial License Agreements. | 27 | ** information about Qt Commercial License Agreements. |
28 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | 28 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. |
29 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 29 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
30 | ** | 30 | ** |
31 | ** Contact info@trolltech.com if any conditions of this licensing are | 31 | ** Contact info@trolltech.com if any conditions of this licensing are |
32 | ** not clear to you. | 32 | ** not clear to you. |
33 | ** | 33 | ** |
34 | **********************************************************************/ | 34 | **********************************************************************/ |
35 | 35 | ||
36 | #include "quuid.h" | 36 | #include "quuid.h" |
37 | 37 | ||
38 | #include <qdatastream.h> | 38 | #include "qdatastream.h" |
39 | 39 | ||
40 | /*! | 40 | /*! |
41 | \class QUuid quuid.h | 41 | \class QUuid quuid.h |
42 | \reentrant | 42 | \brief The QUuid class defines a Universally Unique Identifier (UUID). |
43 | \brief The QUuid class defines a Universally Unique Identifier (UUID). | ||
44 | 43 | ||
45 | \internal | 44 | \reentrant |
46 | 45 | ||
47 | For objects or declarations that need to be identified uniquely, UUIDs (also known as GUIDs) are widely | 46 | For objects or declarations that must be uniquely identified, |
48 | used in order to assign a fixed and easy to compare value to this object or declaration. The 128bit value | 47 | UUIDs (also known as GUIDs) are widely used in order to assign a |
49 | of an UUID is generated by an algorithm that guarantees a value that is unique in time and space. | 48 | fixed and easy to compare value to the object or declaration. The |
49 | 128-bit value of a UUID is generated by an algorithm that | ||
50 | guarantees that the value is unique. | ||
50 | 51 | ||
51 | In Qt, UUIDs are wrapped by the QUuid struct which provides convenience functions for comparing and coping | 52 | In Qt, UUIDs are wrapped by the QUuid struct which provides |
52 | this value. The QUuid struct is used in Qt's component model to identify interfaces. Most platforms provide a tool to | 53 | convenience functions for handling UUIDs. Most platforms provide a |
53 | generate new UUIDs (uuidgen, guidgen), and the Qt distribution includes a graphical tool \e quuidgen that generates | 54 | tool to generate new UUIDs, for example, uuidgen and guidgen. |
54 | the UUIDs in a programmer friendly format. | ||
55 | 55 | ||
56 | \sa QUnknownInterface | 56 | UUIDs generated by QUuid, are based on the \c Random version of the |
57 | \c DCE (Distributed Computing Environment) standard. | ||
58 | |||
59 | UUIDs can be constructed from numeric values or from strings, or | ||
60 | using the static createUuid() function. They can be converted to a | ||
61 | string with toString(). UUIDs have a variant() and a version(), | ||
62 | and null UUIDs return TRUE from isNull(). | ||
57 | */ | 63 | */ |
58 | 64 | ||
59 | /*! | 65 | /*! |
60 | \fn QUuid::QUuid() | 66 | \fn QUuid::QUuid() |
61 | 67 | ||
62 | Creates the null UUID {00000000-0000-0000-0000-000000000000}. | 68 | Creates the null UUID {00000000-0000-0000-0000-000000000000}. |
63 | */ | 69 | */ |
64 | 70 | ||
65 | /*! | 71 | /*! |
66 | \fn QUuid::QUuid( uint l, ushort w1, ushort w2, uchar b1, uchar b2, uchar b3, uchar b4, uchar b5, uchar b6, uchar b7, uchar b8 ) | 72 | \fn QUuid::QUuid( uint l, ushort w1, ushort w2, uchar b1, uchar b2, uchar b3, uchar b4, uchar b5, uchar b6, uchar b7, uchar b8 ) |
67 | 73 | ||
68 | Creates an UUID with the value specified by the parameters, \a l, \a | 74 | Creates a UUID with the value specified by the parameters, \a l, |
69 | w1, \a w2, \a b1, \a b2, \a b3, \a b4, \a b5, \a b6, \a b7, \a b8. | 75 | \a w1, \a w2, \a b1, \a b2, \a b3, \a b4, \a b5, \a b6, \a b7, \a |
76 | b8. | ||
70 | 77 | ||
71 | Example: | 78 | Example: |
72 | \code | 79 | \code |
73 | // {67C8770B-44F1-410A-AB9A-F9B5446F13EE} | 80 | // {67C8770B-44F1-410A-AB9A-F9B5446F13EE} |
74 | QUuid IID_MyInterface( 0x67c8770b, 0x44f1, 0x410a, 0xab, 0x9a, 0xf9, 0xb5, 0x44, 0x6f, 0x13, 0xee ) | 81 | QUuid IID_MyInterface( 0x67c8770b, 0x44f1, 0x410a, 0xab, 0x9a, 0xf9, 0xb5, 0x44, 0x6f, 0x13, 0xee ) |
75 | \endcode | 82 | \endcode |
76 | */ | 83 | */ |
77 | 84 | ||
78 | /*! | 85 | /*! |
79 | \fn QUuid::QUuid( const QUuid &orig ) | 86 | \fn QUuid::QUuid( const QUuid &orig ) |
80 | 87 | ||
81 | Creates a copy of the QUuid \a orig. | 88 | Creates a copy of the QUuid \a orig. |
82 | */ | 89 | */ |
83 | #ifndef QT_NO_QUUID_STRING | 90 | #ifndef QT_NO_QUUID_STRING |
84 | /*! | 91 | /*! |
85 | Creates a QUuid object from the string \a text. Right now, the function | 92 | Creates a QUuid object from the string \a text. The function can |
86 | can only convert the format {12345678-1234-1234-1234-123456789ABC} and | 93 | only convert a string in the format |
87 | will create the null UUID when the conversion fails. | 94 | {HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH} (where 'H' stands for a hex |
95 | digit). If the conversion fails a null UUID is created. | ||
88 | */ | 96 | */ |
89 | QUuid::QUuid( const QString &text ) | 97 | QUuid::QUuid( const QString &text ) |
90 | { | 98 | { |
91 | bool ok; | 99 | bool ok; |
100 | if ( text.isEmpty() ) { | ||
101 | *this = QUuid(); | ||
102 | return; | ||
103 | } | ||
92 | QString temp = text.upper(); | 104 | QString temp = text.upper(); |
105 | if ( temp[0] != '{' ) | ||
106 | temp = "{" + text; | ||
107 | if ( text[(int)text.length()-1] != '}' ) | ||
108 | temp += "}"; | ||
93 | 109 | ||
94 | data1 = temp.mid( 1, 8 ).toULong( &ok, 16 ); | 110 | data1 = temp.mid( 1, 8 ).toULong( &ok, 16 ); |
95 | if ( !ok ) { | 111 | if ( !ok ) { |
96 | *this = QUuid(); | 112 | *this = QUuid(); |
97 | return; | 113 | return; |
98 | } | 114 | } |
99 | 115 | ||
100 | data2 = temp.mid( 10, 4 ).toUInt( &ok, 16 ); | 116 | data2 = temp.mid( 10, 4 ).toUInt( &ok, 16 ); |
101 | if ( !ok ) { | 117 | if ( !ok ) { |
102 | *this = QUuid(); | 118 | *this = QUuid(); |
103 | return; | 119 | return; |
104 | } | 120 | } |
105 | data3 = temp.mid( 15, 4 ).toUInt( &ok, 16 ); | 121 | data3 = temp.mid( 15, 4 ).toUInt( &ok, 16 ); |
106 | if ( !ok ) { | 122 | if ( !ok ) { |
107 | *this = QUuid(); | 123 | *this = QUuid(); |
108 | return; | 124 | return; |
109 | } | 125 | } |
110 | data4[0] = temp.mid( 20, 2 ).toUInt( &ok, 16 ); | 126 | data4[0] = temp.mid( 20, 2 ).toUInt( &ok, 16 ); |
111 | if ( !ok ) { | 127 | if ( !ok ) { |
112 | *this = QUuid(); | 128 | *this = QUuid(); |
113 | return; | 129 | return; |
114 | } | 130 | } |
115 | data4[1] = temp.mid( 22, 2 ).toUInt( &ok, 16 ); | 131 | data4[1] = temp.mid( 22, 2 ).toUInt( &ok, 16 ); |
116 | if ( !ok ) { | 132 | if ( !ok ) { |
117 | *this = QUuid(); | 133 | *this = QUuid(); |
118 | return; | 134 | return; |
119 | } | 135 | } |
120 | for ( int i = 2; i<8; i++ ) { | 136 | for ( int i = 2; i<8; i++ ) { |
121 | data4[i] = temp.mid( 25 + (i-2)*2, 2 ).toUShort( &ok, 16 ); | 137 | data4[i] = temp.mid( 25 + (i-2)*2, 2 ).toUShort( &ok, 16 ); |
122 | if ( !ok ) { | 138 | if ( !ok ) { |
123 | *this = QUuid(); | 139 | *this = QUuid(); |
124 | return; | 140 | return; |
125 | } | 141 | } |
126 | } | 142 | } |
127 | } | 143 | } |
128 | 144 | ||
129 | /*! | 145 | /*! |
130 | \overload | 146 | \internal |
131 | */ | 147 | */ |
132 | QUuid::QUuid( const char *text ) | 148 | QUuid::QUuid( const char *text ) |
133 | { | 149 | { |
134 | *this = QUuid( QString(text) ); | 150 | *this = QUuid( QString(text) ); |
135 | } | 151 | } |
136 | #endif | 152 | #endif |
137 | /*! | 153 | /*! |
138 | \fn QUuid QUuid::operator=(const QUuid &uuid ) | 154 | \fn QUuid QUuid::operator=(const QUuid &uuid ) |
139 | 155 | ||
140 | Assigns the value of \a uuid to this QUuid object. | 156 | Assigns the value of \a uuid to this QUuid object. |
141 | */ | 157 | */ |
142 | 158 | ||
143 | /*! | 159 | /*! |
144 | \fn bool QUuid::operator==(const QUuid &other) const | 160 | \fn bool QUuid::operator==(const QUuid &other) const |
145 | 161 | ||
146 | Returns TRUE if this QUuid and the \a other QUuid are identical, otherwise returns FALSE. | 162 | Returns TRUE if this QUuid and the \a other QUuid are identical; |
163 | otherwise returns FALSE. | ||
147 | */ | 164 | */ |
148 | 165 | ||
149 | /*! | 166 | /*! |
150 | \fn bool QUuid::operator!=(const QUuid &other) const | 167 | \fn bool QUuid::operator!=(const QUuid &other) const |
151 | 168 | ||
152 | Returns TRUE if this QUuid and the \a other QUuid are different, otherwise returns FALSE. | 169 | Returns TRUE if this QUuid and the \a other QUuid are different; |
170 | otherwise returns FALSE. | ||
153 | */ | 171 | */ |
154 | #ifndef QT_NO_QUUID_STRING | 172 | #ifndef QT_NO_QUUID_STRING |
155 | /*! | 173 | /*! |
156 | \fn QUuid::operator QString() const | 174 | \fn QUuid::operator QString() const |
157 | 175 | ||
158 | Returns the string representation of the uuid. | 176 | Returns the string representation of the uuid. |
159 | 177 | ||
160 | \sa toString() | 178 | \sa toString() |
161 | */ | 179 | */ |
162 | 180 | ||
163 | /*! | 181 | /*! |
164 | QString QUuid::toString() const | 182 | QString QUuid::toString() const |
165 | 183 | ||
166 | Returns the string representation of the uuid. | 184 | Returns the string representation of the uuid. |
167 | */ | 185 | */ |
168 | QString QUuid::toString() const | 186 | QString QUuid::toString() const |
169 | { | 187 | { |
170 | QString result; | 188 | QString result; |
171 | 189 | ||
172 | result = "{" + QString::number( data1, 16 ).rightJustify( 8, '0' ) + "-"; | 190 | result = "{" + QString::number( data1, 16 ).rightJustify( 8, '0' ) + "-"; |
173 | result += QString::number( (int)data2, 16 ).rightJustify( 4, '0' ) + "-"; | 191 | result += QString::number( (int)data2, 16 ).rightJustify( 4, '0' ) + "-"; |
174 | result += QString::number( (int)data3, 16 ).rightJustify( 4, '0' ) + "-"; | 192 | result += QString::number( (int)data3, 16 ).rightJustify( 4, '0' ) + "-"; |
175 | result += QString::number( (int)data4[0], 16 ).rightJustify( 2, '0' ); | 193 | result += QString::number( (int)data4[0], 16 ).rightJustify( 2, '0' ); |
176 | result += QString::number( (int)data4[1], 16 ).rightJustify( 2, '0' ) + "-"; | 194 | result += QString::number( (int)data4[1], 16 ).rightJustify( 2, '0' ) + "-"; |
177 | for ( int i = 2; i < 8; i++ ) | 195 | for ( int i = 2; i < 8; i++ ) |
178 | result += QString::number( (int)data4[i], 16 ).rightJustify( 2, '0' ); | 196 | result += QString::number( (int)data4[i], 16 ).rightJustify( 2, '0' ); |
179 | 197 | ||
180 | return result + "}"; | 198 | return result + "}"; |
181 | } | 199 | } |
182 | #endif | 200 | #endif |
183 | 201 | ||
184 | #ifndef QT_NO_DATASTREAM | 202 | #ifndef QT_NO_DATASTREAM |
185 | /*! | 203 | /*! |
186 | \relates QUuid | 204 | \relates QUuid |
187 | Writes the \a id to the datastream \a s. | 205 | Writes the uuid \a id to the datastream \a s. |
188 | */ | 206 | */ |
189 | QDataStream &operator<<( QDataStream &s, const QUuid &id ) | 207 | QDataStream &operator<<( QDataStream &s, const QUuid &id ) |
190 | { | 208 | { |
191 | s << (Q_UINT32)id.data1; | 209 | s << (Q_UINT32)id.data1; |
192 | s << (Q_UINT16)id.data2; | 210 | s << (Q_UINT16)id.data2; |
193 | s << (Q_UINT16)id.data3; | 211 | s << (Q_UINT16)id.data3; |
194 | for (int i = 0; i < 8; i++ ) | 212 | for (int i = 0; i < 8; i++ ) |
195 | s << (Q_UINT8)id.data4[i]; | 213 | s << (Q_UINT8)id.data4[i]; |
196 | return s; | 214 | return s; |
197 | } | 215 | } |
198 | 216 | ||
199 | /*! | 217 | /*! |
200 | \relates QUuid | 218 | \relates QUuid |
201 | Reads a universally unique id from from the stream \a s into \a id. | 219 | Reads uuid from from the stream \a s into \a id. |
202 | */ | 220 | */ |
203 | QDataStream &operator>>( QDataStream &s, QUuid &id ) | 221 | QDataStream &operator>>( QDataStream &s, QUuid &id ) |
204 | { | 222 | { |
205 | Q_UINT32 u32; | 223 | Q_UINT32 u32; |
206 | Q_UINT16 u16; | 224 | Q_UINT16 u16; |
207 | Q_UINT8 u8; | 225 | Q_UINT8 u8; |
208 | s >> u32; | 226 | s >> u32; |
209 | id.data1 = u32; | 227 | id.data1 = u32; |
210 | s >> u16; | 228 | s >> u16; |
211 | id.data2 = u16; | 229 | id.data2 = u16; |
212 | s >> u16; | 230 | s >> u16; |
213 | id.data3 = u16; | 231 | id.data3 = u16; |
214 | for (int i = 0; i < 8; i++ ) { | 232 | for (int i = 0; i < 8; i++ ) { |
215 | s >> u8; | 233 | s >> u8; |
216 | id.data4[i] = u8; | 234 | id.data4[i] = u8; |
217 | } | 235 | } |
218 | return s; | 236 | return s; |
219 | } | 237 | } |
220 | #endif | 238 | #endif |
221 | 239 | ||
222 | /*! | 240 | /*! |
223 | Returns TRUE if this is the null UUID {00000000-0000-0000-0000-000000000000}, otherwise returns FALSE. | 241 | Returns TRUE if this is the null UUID |
242 | {00000000-0000-0000-0000-000000000000}; otherwise returns FALSE. | ||
224 | */ | 243 | */ |
225 | bool QUuid::isNull() const | 244 | bool QUuid::isNull() const |
226 | { | 245 | { |
227 | return data4[0] == 0 && data4[1] == 0 && data4[2] == 0 && data4[3] == 0 && | 246 | return data4[0] == 0 && data4[1] == 0 && data4[2] == 0 && data4[3] == 0 && |
228 | data4[4] == 0 && data4[5] == 0 && data4[6] == 0 && data4[7] == 0 && | 247 | data4[4] == 0 && data4[5] == 0 && data4[6] == 0 && data4[7] == 0 && |
229 | data1 == 0 && data2 == 0 && data3 == 0; | 248 | data1 == 0 && data2 == 0 && data3 == 0; |
230 | } | 249 | } |
250 | |||
251 | /*! | ||
252 | \enum QUuid::Variant | ||
253 | |||
254 | This enum defines the variant of the UUID, which is the scheme | ||
255 | which defines the layout of the 128-bits value. | ||
256 | |||
257 | \value VarUnknown Variant is unknown | ||
258 | \value NCS Reserved for NCS (Network Computing System) backward compatibility | ||
259 | \value DCE Distributed Computing Environment, the scheme used by QUuid | ||
260 | \value Microsoft Reserved for Microsoft backward compatibility (GUID) | ||
261 | \value Reserved Reserved for future definition | ||
262 | */ | ||
263 | |||
264 | /*! | ||
265 | \enum QUuid::Version | ||
266 | |||
267 | This enum defines the version of the UUID. | ||
268 | |||
269 | \value VerUnknown Version is unknown | ||
270 | \value Time Time-based, by using timestamp, clock sequence, and | ||
271 | MAC network card address (if available) for the node sections | ||
272 | \value EmbeddedPOSIX DCE Security version, with embedded POSIX UUIDs | ||
273 | \value Name Name-based, by using values from a name for all sections | ||
274 | \value Random Random-based, by using random numbers for all sections | ||
275 | */ | ||
276 | |||
277 | /*! | ||
278 | \fn QUuid::Variant QUuid::variant() const | ||
279 | |||
280 | Returns the variant of the UUID. | ||
281 | The null UUID is considered to be of an unknown variant. | ||
282 | |||
283 | \sa version() | ||
284 | */ | ||
285 | QUuid::Variant QUuid::variant() const | ||
286 | { | ||
287 | if ( isNull() ) | ||
288 | return VarUnknown; | ||
289 | // Check the 3 MSB of data4[0] | ||
290 | if ( (data4[0] & 0x80) == 0x00 ) return NCS; | ||
291 | else if ( (data4[0] & 0xC0) == 0x80 ) return DCE; | ||
292 | else if ( (data4[0] & 0xE0) == 0xC0 ) return Microsoft; | ||
293 | else if ( (data4[0] & 0xE0) == 0xE0 ) return Reserved; | ||
294 | return VarUnknown; | ||
295 | } | ||
296 | |||
297 | /*! | ||
298 | \fn QUuid::Version QUuid::version() const | ||
299 | |||
300 | Returns the version of the UUID, if the UUID is of the DCE | ||
301 | variant; otherwise returns VerUnknown. | ||
302 | |||
303 | \sa variant() | ||
304 | */ | ||
305 | QUuid::Version QUuid::version() const | ||
306 | { | ||
307 | // Check the 4 MSB of data3 | ||
308 | Version ver = (Version)(data3>>12); | ||
309 | if ( isNull() | ||
310 | || (variant() != DCE) | ||
311 | || ver < Time | ||
312 | || ver > Random ) | ||
313 | return VerUnknown; | ||
314 | return ver; | ||
315 | } | ||
316 | |||
317 | /*! | ||
318 | \fn bool QUuid::operator<(const QUuid &other) const | ||
319 | |||
320 | Returns TRUE if this QUuid is of the same variant, | ||
321 | and lexicographically before the \a other QUuid; | ||
322 | otherwise returns FALSE. | ||
323 | |||
324 | \sa variant() | ||
325 | */ | ||
326 | #define ISLESS(f1, f2) if (f1!=f2) return (f1<f2); | ||
327 | bool QUuid::operator<(const QUuid &other ) const | ||
328 | { | ||
329 | if ( variant() != other.variant() ) | ||
330 | return FALSE; | ||
331 | |||
332 | ISLESS( data1, other.data1 ); | ||
333 | ISLESS( data2, other.data2 ); | ||
334 | ISLESS( data3, other.data3 ); | ||
335 | for ( int n = 0; n < 8; n++ ) { | ||
336 | ISLESS( data4[n], other.data4[n] ); | ||
337 | } | ||
338 | return FALSE; | ||
339 | } | ||
340 | |||
341 | /*! | ||
342 | \fn bool QUuid::operator>(const QUuid &other) const | ||
343 | |||
344 | Returns TRUE if this QUuid is of the same variant, | ||
345 | and lexicographically after the \a other QUuid; | ||
346 | otherwise returns FALSE. | ||
347 | |||
348 | \sa variant() | ||
349 | */ | ||
350 | #define ISMORE(f1, f2) if (f1!=f2) return (f1>f2); | ||
351 | bool QUuid::operator>(const QUuid &other ) const | ||
352 | { | ||
353 | if ( variant() != other.variant() ) | ||
354 | return FALSE; | ||
355 | |||
356 | ISMORE( data1, other.data1 ); | ||
357 | ISMORE( data2, other.data2 ); | ||
358 | ISMORE( data3, other.data3 ); | ||
359 | for ( int n = 0; n < 8; n++ ) { | ||
360 | ISMORE( data4[n], other.data4[n] ); | ||
361 | } | ||
362 | return FALSE; | ||
363 | } | ||
364 | |||
365 | /*! | ||
366 | \fn QUuid QUuid::createUuid() | ||
367 | |||
368 | Returns a new UUID of \c DCE variant, and \c Random type. The | ||
369 | UUIDs generated are based on the platform specific pseudo-random | ||
370 | generator, which is usually not a cryptographic-quality random | ||
371 | number generator. Therefore, a UUID is not guaranteed to be unique | ||
372 | cross application instances. | ||
373 | |||
374 | On Windows, the new UUID is extremely likely to be unique on the | ||
375 | same or any other system, networked or not. | ||
376 | |||
377 | \sa variant(), version() | ||
378 | */ | ||
379 | #if defined(Q_OS_WIN32) | ||
380 | #include <objbase.h> // For CoCreateGuid | ||
381 | QUuid QUuid::createUuid() | ||
382 | { | ||
383 | GUID guid; | ||
384 | CoCreateGuid( &guid ); | ||
385 | QUuid result = guid; | ||
386 | return result; | ||
387 | } | ||
388 | #else // !Q_OS_WIN32 | ||
389 | #include "qdatetime.h" | ||
390 | #include "stdlib.h" // For srand/rand | ||
391 | QUuid QUuid::createUuid() | ||
392 | { | ||
393 | static const int intbits = sizeof(int)*8; | ||
394 | static int randbits = 0; | ||
395 | if ( !randbits ) { | ||
396 | int max = RAND_MAX; | ||
397 | do { ++randbits; } while ( (max=max>>1) ); | ||
398 | srand( (uint)QDateTime::currentDateTime().toTime_t() ); | ||
399 | rand(); // Skip first | ||
400 | } | ||
401 | |||
402 | QUuid result; | ||
403 | uint *data = &(result.data1); | ||
404 | int chunks = 16 / sizeof(uint); | ||
405 | while ( chunks-- ) { | ||
406 | uint randNumber = 0; | ||
407 | for ( int filled = 0; filled < intbits; filled += randbits ) | ||
408 | randNumber |= rand()<<filled; | ||
409 | *(data+chunks) = randNumber; | ||
410 | } | ||
411 | |||
412 | result.data4[0] = (result.data4[0] & 0x3F) | 0x80;// UV_DCE | ||
413 | result.data3 = (result.data3 & 0x0FFF) | 0x4000;// UV_Random | ||
414 | |||
415 | return result; | ||
416 | } | ||
417 | #endif // !Q_OS_WIN32 | ||
418 | |||