Coverage Report

Created: 2026-05-30 06:28

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/moddable/xs/sources/xsString.c
Line
Count
Source
1
/*
2
 * Copyright (c) 2016-2025  Moddable Tech, Inc.
3
 *
4
 *   This file is part of the Moddable SDK Runtime.
5
 * 
6
 *   The Moddable SDK Runtime is free software: you can redistribute it and/or modify
7
 *   it under the terms of the GNU Lesser General Public License as published by
8
 *   the Free Software Foundation, either version 3 of the License, or
9
 *   (at your option) any later version.
10
 * 
11
 *   The Moddable SDK Runtime is distributed in the hope that it will be useful,
12
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 *   GNU Lesser General Public License for more details.
15
 * 
16
 *   You should have received a copy of the GNU Lesser General Public License
17
 *   along with the Moddable SDK Runtime.  If not, see <http://www.gnu.org/licenses/>.
18
 *
19
 * This file incorporates work covered by the following copyright and  
20
 * permission notice:  
21
 *
22
 *       Copyright (C) 2010-2016 Marvell International Ltd.
23
 *       Copyright (C) 2002-2010 Kinoma, Inc.
24
 *
25
 *       Licensed under the Apache License, Version 2.0 (the "License");
26
 *       you may not use this file except in compliance with the License.
27
 *       You may obtain a copy of the License at
28
 *
29
 *        http://www.apache.org/licenses/LICENSE-2.0
30
 *
31
 *       Unless required by applicable law or agreed to in writing, software
32
 *       distributed under the License is distributed on an "AS IS" BASIS,
33
 *       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34
 *       See the License for the specific language governing permissions and
35
 *       limitations under the License.
36
 */
37
38
#include "xsAll.h"
39
40
#if mxStringInfoCacheLength
41
42
typedef struct sxStringInfo txStringInfo;
43
typedef struct sxStringInfoCache txStringInfoCache;
44
45
struct sxStringInfo {
46
  txString string;
47
  txSize unicodeLength;
48
  txSize utf8Length;
49
  txSize unicodeOffset;
50
  txSize utf8Offset;
51
  txBoolean ascii;
52
};
53
54
struct sxStringInfoCache {
55
  txInteger count;
56
  txInteger head;
57
  txInteger tail;
58
  txStringInfo infos[1];
59
};
60
61
static txStringInfo* fxCacheStringInfo(txMachine* the, txString string);
62
63
void fxAllocateStringInfoCache(txMachine* the)
64
30.8k
{
65
30.8k
  txStringInfoCache* cache = c_malloc(sizeof(txStringInfoCache) + ((mxStringInfoCacheLength - 1) * sizeof(txStringInfo)));
66
30.8k
  if (cache == C_NULL)
67
0
    fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
68
30.8k
  cache->count = mxStringInfoCacheLength;
69
30.8k
  cache->head = 0;
70
30.8k
  cache->tail = 0;
71
30.8k
  the->stringInfoCache = cache;
72
30.8k
}
73
74
void fxFreeStringInfoCache(txMachine* the)
75
30.8k
{
76
30.8k
  txStringInfoCache* cache = the->stringInfoCache;
77
30.8k
  if (cache)
78
30.8k
    c_free(cache);  
79
30.8k
}
80
81
void fxInvalidateStringInfoCache(txMachine* the)
82
60.6k
{
83
60.6k
  txStringInfoCache* cache = the->stringInfoCache;
84
60.6k
  if (cache) {
85
60.6k
    cache->head = 0;
86
60.6k
    cache->tail = 0;
87
60.6k
  }
88
60.6k
}
89
90
txStringInfo* fxCacheStringInfo(txMachine* the, txString string)
91
149M
{
92
149M
  txStringInfoCache* cache = the->stringInfoCache;
93
149M
  txStringInfo* info = C_NULL;
94
149M
  if (cache) {
95
149M
    txInteger count = cache->count;
96
149M
    txInteger head = cache->head;
97
149M
    txInteger tail = cache->tail;
98
149M
    txInteger i;
99
149M
    i = head - 1;
100
149M
    info = cache->infos + i;
101
156M
    while (i >= 0) {
102
130M
      if (info->string == string)
103
123M
        return info;
104
6.87M
      i--;
105
6.87M
      info--;
106
6.87M
    }
107
26.1M
    i = tail - 1;
108
26.1M
    info = cache->infos + i;
109
34.4M
    while (i >= head) {
110
31.7M
      if (info->string == string)
111
23.4M
        return info;
112
8.30M
      i--;
113
8.30M
      info--;
114
8.30M
    }
115
2.64M
    if (tail < count)
116
83.7k
      tail++;
117
2.64M
    info = cache->infos + head;
118
2.64M
    head++;
119
2.64M
    if (head == count)
120
644k
      head = 0;
121
2.64M
    cache->head = head; 
122
2.64M
    cache->tail = tail; 
123
2.64M
    info->string = string;
124
2.64M
    info->unicodeLength = fxUnicodeLength(string, &info->utf8Length);
125
2.64M
    info->unicodeOffset = 0;
126
2.64M
    info->utf8Offset = 0;
127
2.64M
    info->ascii = (info->unicodeLength == info->utf8Length) ? 1 : 0;
128
2.64M
  }
129
2.64M
  return info;
130
149M
}
131
132
txSize fxCacheUTF8Length(txMachine* the, txString string)
133
10.8M
{
134
10.8M
  txStringInfo* info = fxCacheStringInfo(the, string);
135
10.8M
  if (info) 
136
10.8M
    return info->utf8Length;
137
0
  return (txSize)c_strlen(string);
138
10.8M
}
139
140
txSize fxCacheUTF8ToUnicodeOffset(txMachine* the, txString string, txSize offset)
141
19.3M
{
142
19.3M
  txStringInfo* info;
143
19.3M
  if (offset <= 0)
144
222k
    return offset ? -1 : 0;  
145
19.1M
  info = fxCacheStringInfo(the, string);
146
19.1M
  if (info) {
147
19.1M
    txSize delta, sign, unicodeOffset, utf8Offset;
148
19.1M
    txU1* p;
149
19.1M
    if (/* (offset < 0) || */ (info->utf8Length < offset))
150
0
      return -1;
151
19.1M
    if ((info->ascii) /* || (offset == 0) */)
152
44.8k
      return offset;
153
19.1M
    if (offset == info->utf8Length)
154
269k
      return info->unicodeLength;
155
18.8M
    delta = offset - info->utf8Offset;
156
18.8M
    if (delta == 0)
157
8.37M
      return info->unicodeOffset;
158
10.4M
    if (delta > 0) {
159
9.17M
      if (delta < info->utf8Length - offset) {
160
8.96M
        sign = 1;
161
8.96M
        unicodeOffset = info->unicodeOffset + 1;
162
8.96M
        utf8Offset = info->utf8Offset + 1;
163
8.96M
      }
164
216k
      else {
165
216k
        sign = -1;
166
216k
        unicodeOffset = info->unicodeLength - 1;
167
216k
        utf8Offset = info->utf8Length - 1;
168
216k
      }
169
9.17M
    }
170
1.28M
    else {
171
1.28M
      if (0 - delta < offset) {
172
1.17M
        sign = -1;
173
1.17M
        unicodeOffset = info->unicodeOffset - 1;
174
1.17M
        utf8Offset = info->utf8Offset - 1;
175
1.17M
      }
176
112k
      else {
177
112k
        sign = 1;
178
112k
        unicodeOffset = 1;
179
112k
        utf8Offset = 1;
180
112k
      }
181
1.28M
    }
182
10.4M
    p = (txU1*)string + utf8Offset;
183
39.7M
    for (;;) {
184
39.7M
      if ((*p & 0xC0) != 0x80) {
185
22.1M
        if (utf8Offset == offset)
186
10.4M
          break;
187
11.6M
        unicodeOffset += sign;
188
11.6M
      }
189
29.3M
      p += sign;
190
29.3M
      utf8Offset += sign;
191
29.3M
    }
192
10.4M
    info->utf8Offset = utf8Offset;
193
10.4M
    info->unicodeOffset = unicodeOffset;
194
10.4M
    return unicodeOffset;
195
18.8M
  }
196
0
  return fxUTF8ToUnicodeOffset(string, offset);
197
19.1M
}
198
199
txSize fxCacheUnicodeLength(txMachine* the, txString string)
200
54.1M
{
201
54.1M
  txStringInfo* info = fxCacheStringInfo(the, string);
202
54.1M
  if (info) 
203
54.1M
    return info->unicodeLength;
204
0
  return fxUnicodeLength(string, C_NULL);
205
54.1M
}
206
207
txSize fxCacheUnicodeToUTF8Offset(txMachine* the, txString string, txSize offset)
208
66.6M
{
209
66.6M
  txStringInfo* info;
210
66.6M
  if (offset <= 0)
211
1.30M
    return offset ? -1 : 0;  
212
65.3M
  info = fxCacheStringInfo(the, string);
213
65.3M
  if (info) {
214
65.3M
    txSize delta, sign, unicodeOffset, utf8Offset;
215
65.3M
    txU1* p;
216
65.3M
    if ((offset < 0) || (info->unicodeLength < offset))
217
152k
      return -1;
218
65.1M
    if ((info->ascii) || (offset == 0))
219
43.5k
      return offset;
220
65.1M
    if (offset == info->unicodeLength)
221
138k
      return info->utf8Length;
222
65.0M
    delta = offset - info->unicodeOffset;
223
65.0M
    if (delta == 0)
224
34.1M
      return info->utf8Offset;
225
30.8M
    if (delta > 0) {
226
29.0M
      if (delta < info->unicodeLength - offset) {
227
28.3M
        sign = 1;
228
28.3M
        unicodeOffset = info->unicodeOffset + 1;
229
28.3M
        utf8Offset = info->utf8Offset + 1;
230
28.3M
      }
231
663k
      else {
232
663k
        sign = -1;
233
663k
        unicodeOffset = info->unicodeLength - 1;
234
663k
        utf8Offset = info->utf8Length - 1;
235
663k
      }
236
29.0M
    }
237
1.78M
    else {
238
1.78M
      if (0 - delta < offset) {
239
1.72M
        sign = -1;
240
1.72M
        unicodeOffset = info->unicodeOffset - 1;
241
1.72M
        utf8Offset = info->utf8Offset - 1;
242
1.72M
      }
243
61.6k
      else {
244
61.6k
        sign = 1;
245
61.6k
        unicodeOffset = 1;
246
61.6k
        utf8Offset = 1;
247
61.6k
      }
248
1.78M
    }
249
30.8M
    p = (txU1*)string + utf8Offset;
250
128M
    for (;;) {
251
128M
      if ((*p & 0xC0) != 0x80) {
252
75.8M
        if (unicodeOffset == offset)
253
30.8M
          break;
254
44.9M
        unicodeOffset += sign;
255
44.9M
      }
256
97.6M
      p += sign;
257
97.6M
      utf8Offset += sign;
258
97.6M
    }
259
30.8M
    info->utf8Offset = utf8Offset;
260
30.8M
    info->unicodeOffset = unicodeOffset;
261
30.8M
    return utf8Offset;
262
65.0M
  }
263
0
  return fxUnicodeToUTF8Offset(string, offset);
264
65.3M
}
265
#endif
266
267
1.03M
#define mxStringInstanceLength(INSTANCE) ((txIndex)fxUnicodeLength(instance->next->value.string, C_NULL))
268
44.5M
#define mxCacheStringInstanceLength(INSTANCE) ((txIndex)fxCacheUnicodeLength(the, instance->next->value.string))
269
270
static txString fx_String_prototype_includes_aux(txMachine* the, txString string, txSize stringLength, txString searchString, txSize searchLength);
271
static txInteger fx_String_prototype_indexOf_aux(txMachine* the, txString theString, txInteger theLength, txInteger theOffset, txString theSubString, txInteger theSubLength, txInteger* theOffsets);
272
static void fx_String_prototype_replaceAux(txMachine* the, txInteger size, txInteger offset, txSlot* function, txSlot* match, txInteger matchLength, txSlot* replace);
273
static txSlot* fx_String_prototype_split_aux(txMachine* the, txSlot* theString, txSlot* theArray, txSlot* theItem, txInteger theStart, txInteger theStop);
274
275
static txSlot* fxCheckString(txMachine* the, txSlot* it);
276
static txString fxCoerceToString(txMachine* the, txSlot* theSlot);
277
static txInteger fxArgToPosition(txMachine* the, txInteger i, txInteger index, txInteger length);
278
static void fx_String_prototype_pad(txMachine* the, txBoolean flag);
279
static void fx_String_prototype_trimAux(txMachine* the, txBoolean trimStart, txBoolean trimEnd);
280
static txBoolean fx_String_prototype_withRegexp(txMachine* the, txID id, txBoolean global, txInteger count);
281
static void fx_String_prototype_withoutRegexp(txMachine* the, txID id, txBoolean global, txInteger count);
282
283
static txBoolean fxStringDeleteProperty(txMachine* the, txSlot* instance, txID id, txIndex index);
284
static txBoolean fxStringDefineOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* slot, txFlag mask);
285
static txBoolean fxStringGetOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* slot);
286
static txSlot* fxStringGetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag);
287
static txBoolean fxStringHasProperty(txMachine* the, txSlot* instance, txID id, txIndex index);
288
static void fxStringOwnKeys(txMachine* the, txSlot* instance, txFlag flag, txSlot* keys);
289
static txSlot* fxStringSetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag);
290
291
#ifdef mxStringNormalize
292
static void fxNormalizeString(txMachine* the, txSlot* string, txFlag form);
293
#endif
294
295
const txBehavior ICACHE_FLASH_ATTR gxStringBehavior = {
296
  fxStringGetProperty,
297
  fxStringSetProperty,
298
  fxOrdinaryCall,
299
  fxOrdinaryConstruct,
300
  fxStringDefineOwnProperty,
301
  fxStringDeleteProperty,
302
  fxStringGetOwnProperty,
303
  fxOrdinaryGetPropertyValue,
304
  fxOrdinaryGetPrototype,
305
  fxStringHasProperty,
306
  fxOrdinaryIsExtensible,
307
  fxStringOwnKeys,
308
  fxOrdinaryPreventExtensions,
309
  fxOrdinarySetPropertyValue,
310
  fxOrdinarySetPrototype,
311
};
312
313
void fxBuildString(txMachine* the)
314
30.8k
{
315
30.8k
  txSlot* instance;
316
30.8k
  txSlot* property;
317
30.8k
  txSlot* slot;
318
  
319
30.8k
  mxPush(mxObjectPrototype);
320
30.8k
  instance = fxNewStringInstance(the);
321
  
322
30.8k
  fxNewHostFunction(the, mxCallback(fxStringAccessorGetter), 0, XS_NO_ID, XS_NO_ID);
323
30.8k
  property = mxFunctionInstanceHome(the->stack->value.reference);
324
30.8k
  property->value.home.object = instance;
325
30.8k
  fxNewHostFunction(the, mxCallback(fxStringAccessorSetter), 1, XS_NO_ID, XS_NO_ID);
326
30.8k
  property = mxFunctionInstanceHome(the->stack->value.reference);
327
30.8k
  property->value.home.object = instance;
328
30.8k
  mxPushUndefined();
329
30.8k
  the->stack->flag = XS_DONT_DELETE_FLAG;
330
30.8k
  the->stack->kind = XS_ACCESSOR_KIND;
331
30.8k
  the->stack->value.accessor.getter = (the->stack + 2)->value.reference;
332
30.8k
  the->stack->value.accessor.setter = (the->stack + 1)->value.reference;
333
30.8k
  mxPull(mxStringAccessor);
334
30.8k
  mxPop();
335
30.8k
  mxPop();
336
  
337
30.8k
  slot = fxLastProperty(the, instance);
338
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_at), 1, mxID(_at), XS_DONT_ENUM_FLAG);
339
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_charAt), 1, mxID(_charAt), XS_DONT_ENUM_FLAG);
340
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_charCodeAt), 1, mxID(_charCodeAt), XS_DONT_ENUM_FLAG);
341
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_codePointAt), 1, mxID(_codePointAt), XS_DONT_ENUM_FLAG);
342
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_compare), 1, mxID(_compare), XS_DONT_ENUM_FLAG);
343
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_concat), 1, mxID(_concat), XS_DONT_ENUM_FLAG);
344
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_endsWith), 1, mxID(_endsWith), XS_DONT_ENUM_FLAG);
345
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_includes), 1, mxID(_includes), XS_DONT_ENUM_FLAG);
346
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_indexOf), 1, mxID(_indexOf), XS_DONT_ENUM_FLAG);
347
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_lastIndexOf), 1, mxID(_lastIndexOf), XS_DONT_ENUM_FLAG);
348
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_localeCompare), 1, mxID(_localeCompare), XS_DONT_ENUM_FLAG);
349
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_normalize), 0, mxID(_normalize), XS_DONT_ENUM_FLAG);
350
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_padEnd), 1, mxID(_padEnd), XS_DONT_ENUM_FLAG);
351
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_padStart), 1, mxID(_padStart), XS_DONT_ENUM_FLAG);
352
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_repeat), 1, mxID(_repeat), XS_DONT_ENUM_FLAG);
353
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_replace), 2, mxID(_replace), XS_DONT_ENUM_FLAG);
354
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_replaceAll), 2, mxID(_replaceAll), XS_DONT_ENUM_FLAG);
355
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_slice), 2, mxID(_slice), XS_DONT_ENUM_FLAG);
356
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_split), 2, mxID(_split), XS_DONT_ENUM_FLAG);
357
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_startsWith), 1, mxID(_startsWith), XS_DONT_ENUM_FLAG);
358
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_substr), 2, mxID(_substr), XS_DONT_ENUM_FLAG);
359
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_substring), 2, mxID(_substring), XS_DONT_ENUM_FLAG);
360
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toLowerCase), 0, mxID(_toLocaleLowerCase), XS_DONT_ENUM_FLAG);
361
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toUpperCase), 0, mxID(_toLocaleUpperCase), XS_DONT_ENUM_FLAG);
362
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toLowerCase), 0, mxID(_toLowerCase), XS_DONT_ENUM_FLAG);
363
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_valueOf), 0, mxID(_toString), XS_DONT_ENUM_FLAG);
364
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toUpperCase), 0, mxID(_toUpperCase), XS_DONT_ENUM_FLAG);
365
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trim), 0, mxID(_trim), XS_DONT_ENUM_FLAG);
366
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trimEnd), 0, mxID(_trimEnd), XS_DONT_ENUM_FLAG);
367
30.8k
  slot = fxNextSlotProperty(the, slot, slot, mxID(_trimRight), XS_DONT_ENUM_FLAG);
368
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trimStart), 0, mxID(_trimStart), XS_DONT_ENUM_FLAG);
369
30.8k
  slot = fxNextSlotProperty(the, slot, slot, mxID(_trimLeft), XS_DONT_ENUM_FLAG);
370
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_valueOf), 0, mxID(_valueOf), XS_DONT_ENUM_FLAG);
371
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_iterator), 0, mxID(_Symbol_iterator), XS_DONT_ENUM_FLAG);
372
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_match), 1, mxID(_match), XS_DONT_ENUM_FLAG);
373
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_matchAll), 1, mxID(_matchAll), XS_DONT_ENUM_FLAG);
374
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_search), 1, mxID(_search), XS_DONT_ENUM_FLAG);
375
30.8k
#if mxECMAScript2024
376
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_isWellFormed), 0, mxID(_isWellFormed), XS_DONT_ENUM_FLAG);
377
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toWellFormed), 0, mxID(_toWellFormed), XS_DONT_ENUM_FLAG);
378
30.8k
#endif
379
30.8k
  mxStringPrototype = *the->stack;
380
30.8k
  slot = fxBuildHostConstructor(the, mxCallback(fx_String), 1, mxID(_String));
381
30.8k
  mxStringConstructor = *the->stack;
382
30.8k
  slot = fxLastProperty(the, slot);
383
#ifndef mxCESU8
384
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromArrayBuffer), 1, mxID(_fromArrayBuffer), XS_DONT_ENUM_FLAG);
385
#endif
386
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromCharCode), 1, mxID(_fromCharCode), XS_DONT_ENUM_FLAG);
387
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromCodePoint), 1, mxID(_fromCodePoint), XS_DONT_ENUM_FLAG);
388
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_raw), 1, mxID(_raw), XS_DONT_ENUM_FLAG);
389
30.8k
  mxPop();
390
391
30.8k
  mxPush(mxIteratorPrototype);
392
30.8k
  slot = fxLastProperty(the, fxNewObjectInstance(the));
393
30.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_iterator_next), 0, mxID(_next), XS_DONT_DELETE_FLAG | XS_DONT_ENUM_FLAG);
394
30.8k
  slot = fxNextStringXProperty(the, slot, "String Iterator", mxID(_Symbol_toStringTag), XS_DONT_ENUM_FLAG | XS_DONT_SET_FLAG);
395
30.8k
  mxPull(mxStringIteratorPrototype);
396
30.8k
}
397
398
txSlot* fxNewStringInstance(txMachine* the)
399
9.96M
{
400
9.96M
  txSlot* instance;
401
9.96M
  instance = fxNewObjectInstance(the);
402
9.96M
  instance->flag |= XS_EXOTIC_FLAG;
403
9.96M
  fxNextSlotProperty(the, instance, &mxEmptyString, XS_STRING_BEHAVIOR, XS_INTERNAL_FLAG);
404
9.96M
  return instance;
405
9.96M
}
406
407
void fxStringAccessorGetter(txMachine* the)
408
18.5M
{
409
18.5M
  txSlot* string = C_NULL;
410
18.5M
  txID id = the->scratch.value.at.id;
411
18.5M
  txIndex index = the->scratch.value.at.index;
412
18.5M
  if ((mxThis->kind == XS_STRING_KIND) || (mxThis->kind == XS_STRING_X_KIND))
413
172k
    string = mxThis;
414
18.3M
  else {
415
18.3M
    txSlot* instance = fxToInstance(the, mxThis);
416
18.3M
    while (instance) {
417
18.3M
      if ((instance->flag & XS_EXOTIC_FLAG) && (instance->next->ID == XS_STRING_BEHAVIOR)) {
418
18.3M
        string = instance->next;
419
18.3M
        break;
420
18.3M
      }
421
0
      instance = fxGetPrototype(the, instance);
422
0
    }
423
18.3M
  }
424
18.5M
  if (string) {
425
18.5M
    if (id == mxID(_length)) {
426
33.1k
      mxResult->value.integer = fxCacheUnicodeLength(the, string->value.string);
427
33.1k
      mxResult->kind = XS_INTEGER_KIND;
428
33.1k
    }
429
18.5M
    else {
430
18.5M
      txInteger from = fxCacheUnicodeToUTF8Offset(the, string->value.string, index);
431
18.5M
      if (from >= 0) {
432
18.5M
        txInteger to = fxUnicodeToUTF8Offset(string->value.string + from, 1);
433
18.5M
        if (to >= 0) {
434
18.5M
          to += from;
435
18.5M
          mxResult->value.string = fxNewChunk(the, to - from + 1);
436
18.5M
          c_memcpy(mxResult->value.string, string->value.string + from, to - from);
437
18.5M
          mxResult->value.string[to - from] = 0;
438
18.5M
          mxResult->kind = XS_STRING_KIND;
439
18.5M
        }
440
18.5M
      }
441
18.5M
    }
442
18.5M
  }
443
18.5M
}
444
445
void fxStringAccessorSetter(txMachine* the)
446
0
{
447
0
}
448
449
txBoolean fxStringDefineOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* slot, txFlag mask)
450
1.34k
{
451
1.34k
  if (id == mxID(_length)) {
452
49
    if ((mask & XS_DONT_DELETE_FLAG) && !(slot->flag & XS_DONT_DELETE_FLAG))
453
0
      return 0;
454
49
    if ((mask & XS_DONT_ENUM_FLAG) && !(slot->flag & XS_DONT_ENUM_FLAG))
455
0
      return 0;
456
49
    if ((mask & XS_DONT_SET_FLAG) && !(slot->flag & XS_DONT_SET_FLAG))
457
0
      return 0;
458
49
    if (slot->kind != XS_UNINITIALIZED_KIND)
459
0
      return 0;
460
49
    return 1;
461
49
  }
462
1.29k
  if (!id && (mxStringInstanceLength(instance) > index)) {
463
436
    if ((mask & XS_DONT_DELETE_FLAG) && !(slot->flag & XS_DONT_DELETE_FLAG))
464
0
      return 0;
465
436
    if ((mask & XS_DONT_ENUM_FLAG) && (slot->flag & XS_DONT_ENUM_FLAG))
466
0
      return 0;
467
436
    if ((mask & XS_DONT_SET_FLAG) && !(slot->flag & XS_DONT_SET_FLAG))
468
0
      return 0;
469
436
    if (slot->kind != XS_UNINITIALIZED_KIND)
470
3
      return 0;
471
433
    return 1;
472
436
  }
473
861
  return fxOrdinaryDefineOwnProperty(the, instance, id, index, slot, mask);
474
1.29k
}
475
476
txBoolean fxStringDeleteProperty(txMachine* the, txSlot* instance, txID id, txIndex index)
477
1.04k
{
478
1.04k
  if ((id == mxID(_length)) || (!id && (mxStringInstanceLength(instance) > index)))
479
606
    return 0;
480
441
  return fxOrdinaryDeleteProperty(the, instance, id, index);
481
1.04k
}
482
483
txBoolean fxStringGetOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* descriptor)
484
28.3M
{
485
28.3M
  if (id == mxID(_length)) {
486
296k
    descriptor->flag = XS_DONT_DELETE_FLAG | XS_DONT_ENUM_FLAG | XS_DONT_SET_FLAG;
487
296k
    descriptor->ID = id;
488
296k
    descriptor->kind = XS_INTEGER_KIND;
489
296k
    descriptor->value.integer = mxStringInstanceLength(instance);
490
296k
    return 1;
491
296k
  }
492
28.0M
  if (!id && (mxCacheStringInstanceLength(instance) > index)) {
493
25.1M
    txSlot* string = instance->next;
494
25.1M
    txInteger from = fxCacheUnicodeToUTF8Offset(the, string->value.key.string, index);
495
25.1M
    txInteger length = fxUnicodeToUTF8Offset(string->value.key.string + from, 1);
496
25.1M
    descriptor->value.string = fxNewChunk(the, length + 1);
497
25.1M
    c_memcpy(descriptor->value.string, string->value.key.string + from, length);
498
25.1M
    descriptor->value.string[length] = 0;
499
25.1M
    descriptor->kind = XS_STRING_KIND;
500
25.1M
    descriptor->flag = XS_DONT_DELETE_FLAG | XS_DONT_SET_FLAG;
501
25.1M
    return 1;
502
25.1M
  }
503
2.83M
  return fxOrdinaryGetOwnProperty(the, instance, id, index, descriptor);
504
28.0M
}
505
506
txSlot* fxStringGetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag)
507
43.1M
{
508
43.1M
  if ((id == mxID(_length)) || (!id && (mxCacheStringInstanceLength(instance) > index))) {
509
18.5M
    the->scratch.value.at.id = id;
510
18.5M
    the->scratch.value.at.index = index;
511
18.5M
    return &mxStringAccessor;
512
18.5M
  }
513
24.6M
  return fxOrdinaryGetProperty(the, instance, id, index, flag);
514
43.1M
}
515
516
txBoolean fxStringHasProperty(txMachine* the, txSlot* instance, txID id, txIndex index)
517
70.1k
{
518
70.1k
  if ((id == mxID(_length)) || (!id && (mxCacheStringInstanceLength(instance) > index)))
519
44.3k
    return 1;
520
25.8k
  return fxOrdinaryHasProperty(the, instance, id, index);
521
70.1k
}
522
523
void fxStringOwnKeys(txMachine* the, txSlot* instance, txFlag flag, txSlot* keys)
524
298k
{
525
298k
  txSlot* property = instance->next;
526
298k
  if (flag & XS_EACH_NAME_FLAG) {
527
298k
    txIndex length = mxStringInstanceLength(instance), index;
528
25.7M
    for (index = 0; index < length; index++)
529
25.4M
      keys = fxQueueKey(the, 0, index, keys);
530
298k
  }
531
298k
  property = property->next;
532
298k
  if (property && (property->kind == XS_ARRAY_KIND)) {
533
4.07k
    keys = fxQueueIndexKeys(the, property, flag, keys);
534
4.07k
    property = property->next;
535
4.07k
  }
536
298k
  if (flag & XS_EACH_NAME_FLAG)
537
298k
    keys = fxQueueKey(the, mxID(_length), 0, keys);
538
298k
  fxQueueIDKeys(the, property, flag, keys);
539
298k
}
540
541
txSlot* fxStringSetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag)
542
2.11M
{
543
2.11M
  if ((id == mxID(_length)) || (!id && (mxStringInstanceLength(instance) > index)))
544
134k
    return C_NULL;
545
1.97M
  return fxOrdinarySetProperty(the, instance, id, index, flag);
546
2.11M
}
547
548
void fx_String(txMachine* the)
549
119k
{
550
119k
  txSlot* slot;
551
119k
  txSlot* instance;
552
119k
  if (mxArgc > 0) {
553
113k
    slot = mxArgv(0);
554
113k
    if (!mxHasTarget && (slot->kind == XS_SYMBOL_KIND)) {
555
34
      fxSymbolToString(the, slot);
556
34
      *mxResult = *slot;
557
34
      return;
558
34
    }
559
113k
    fxToString(the, slot);
560
113k
  }
561
6.38k
  else {
562
6.38k
    slot = &mxEmptyString;
563
6.38k
  }
564
119k
  if (!mxHasTarget) {
565
110k
    *mxResult = *slot;
566
110k
    return;
567
110k
  }
568
9.41k
  mxPushSlot(mxTarget);
569
9.41k
  fxGetPrototypeFromConstructor(the, &mxStringPrototype);
570
9.41k
  instance = fxNewStringInstance(the);
571
9.41k
  instance->next->kind = slot->kind; // @@
572
9.41k
  instance->next->value.key.string = slot->value.string;
573
9.41k
  mxPullSlot(mxResult);
574
9.41k
}
575
576
#ifndef mxCESU8
577
void fx_String_fromArrayBuffer(txMachine* the)
578
{
579
  txSlot* slot;
580
  txSlot* arrayBuffer = C_NULL, *sharedArrayBuffer = C_NULL;
581
  txSlot* bufferInfo;
582
  txInteger limit, offset;
583
  txInteger inLength, outLength = 0, nulls = 0;
584
  unsigned char *in;
585
  txString string;
586
  if (mxArgc < 1)
587
    mxTypeError("no argument");
588
  slot = mxArgv(0);
589
  if (slot->kind == XS_REFERENCE_KIND) {
590
    slot = slot->value.reference->next;
591
    if (slot) {
592
      bufferInfo = slot->next;
593
      if (slot->kind == XS_ARRAY_BUFFER_KIND)
594
        arrayBuffer = slot;
595
      else if (slot->kind == XS_HOST_KIND) {
596
        if (!(slot->flag & XS_HOST_CHUNK_FLAG) && bufferInfo && (bufferInfo->kind == XS_BUFFER_INFO_KIND))
597
          sharedArrayBuffer = slot;
598
      }
599
    }
600
  }
601
  if (!arrayBuffer && !sharedArrayBuffer)
602
    mxTypeError("argument: not an ArrayBuffer instance");
603
  limit = bufferInfo->value.bufferInfo.length;
604
  offset = fxArgToByteLength(the, 1, 0);
605
  if (limit < offset)
606
    mxRangeError("invalid byteOffset %ld", offset);
607
  inLength = fxArgToByteLength(the, 2, limit - offset);
608
  if ((limit < (offset + inLength)) || ((offset + inLength) < offset))
609
    mxRangeError("invalid byteLength %ld", inLength);
610
611
  in = offset + (unsigned char *)(arrayBuffer ? arrayBuffer->value.arrayBuffer.address : sharedArrayBuffer->value.host.data);
612
  while (inLength > 0) {
613
    unsigned char first = c_read8(in++), clen;
614
    if (first < 0x80){
615
      if (0 == first)
616
        nulls += 1;
617
      inLength -= 1;
618
      outLength += 1;
619
      continue;
620
    }
621
622
    if (0xC0 == (first & 0xE0))
623
      clen = 2;
624
    else if (0xE0 == (first & 0xF0))
625
      clen = 3;
626
    else if (0xF0 == (first & 0xF0))
627
      clen = 4;
628
    else
629
      goto badUTF8;
630
631
    inLength -= clen;
632
    if (inLength < 0)
633
      goto badUTF8;
634
635
    outLength += clen;
636
    clen -= 1;
637
    do {
638
      if (0x80 != (0xc0 & c_read8(in++)))
639
        goto badUTF8;
640
    } while (--clen > 0);
641
  }
642
643
  string = fxNewChunk(the, outLength + nulls + 1);
644
  if (!nulls)
645
    c_memcpy(string, offset + (txString)(arrayBuffer ? arrayBuffer->value.arrayBuffer.address : sharedArrayBuffer->value.host.data), outLength);
646
  else {
647
    txString c = string, end = c + outLength + nulls;
648
    txString buf = offset + (txString)(arrayBuffer ? arrayBuffer->value.arrayBuffer.address : sharedArrayBuffer->value.host.data);
649
    while (c < end) {
650
      txByte b = c_read8(buf++);
651
      if (b)
652
        *c++ = b;
653
      else {
654
        *c++ = 0xC0;
655
        *c++ = 0x80;
656
      }
657
    }
658
  }
659
  string[outLength + nulls] = 0;
660
  mxResult->value.string = string;
661
  mxResult->kind = XS_STRING_KIND;
662
663
  return;
664
665
badUTF8:
666
  mxTypeError("invalid UTF-8");
667
}
668
#endif
669
670
void fx_String_fromCharCode(txMachine* the)
671
626k
{
672
626k
  txInteger length = 0;
673
626k
  txInteger count = mxArgc;
674
626k
  txInteger index = 0;
675
626k
  txInteger c; 
676
626k
  txString p;
677
1.36M
  while (index < count) {
678
737k
    txSlot *slot = mxArgv(index);
679
737k
    if (XS_INTEGER_KIND != slot->kind) {
680
262k
      txNumber number = fxToNumber(the, slot);
681
262k
      switch (c_fpclassify(number)) {
682
14
      case C_FP_INFINITE:
683
2.97k
      case C_FP_NAN:
684
2.98k
      case C_FP_ZERO:
685
2.98k
        slot->value.integer = 0;
686
2.98k
        break;
687
260k
      default:
688
517k
        #define MODULO 65536.0
689
260k
        number = c_fmod(c_trunc(number), MODULO);
690
260k
        if (number < 0)
691
257k
          number += MODULO;
692
260k
        slot->value.integer = (txInteger)number;
693
260k
        break;
694
262k
      }
695
262k
      slot->kind = XS_INTEGER_KIND;
696
262k
    }
697
474k
    else {
698
474k
      txInteger integer = slot->value.integer % 65536;
699
474k
      if (integer < 0)
700
363
        integer += 65536;
701
474k
      slot->value.integer = integer;
702
474k
    }
703
737k
    index++;
704
737k
  }
705
626k
  index = 0;
706
1.36M
  while (index < count) {
707
737k
    c = mxArgv(index)->value.integer;
708
737k
    index++;
709
737k
    if (index < count) {
710
111k
      txInteger d = mxArgv(index)->value.integer;
711
111k
      if ((0x0000D800 <= c) && (c <= 0x0000DBFF) && (0x0000DC00 <= d) && (d <= 0x0000DFFF)) {
712
0
        c = 0x00010000 + ((c & 0x000003FF) << 10) + (d & 0x000003FF);
713
0
        index++;
714
0
      }
715
111k
    }  
716
737k
    length += mxStringByteLength(c);
717
737k
  }    
718
626k
  mxMeterSome(count);
719
626k
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
720
626k
  mxResult->kind = XS_STRING_KIND;
721
626k
  p = mxResult->value.string;
722
626k
  index = 0;
723
1.36M
  while (index < count) {
724
737k
    c = mxArgv(index)->value.integer;
725
737k
    index++;
726
737k
    if (index < count) {
727
111k
      txInteger d = mxArgv(index)->value.integer;
728
111k
      if ((0x0000D800 <= c) && (c <= 0x0000DBFF) && (0x0000DC00 <= d) && (d <= 0x0000DFFF)) {
729
0
        c = 0x00010000 + ((c & 0x000003FF) << 10) + (d & 0x000003FF);
730
0
        index++;
731
0
      }
732
111k
    }  
733
737k
    p = mxStringByteEncode(p, c);
734
737k
  }  
735
626k
  *p = 0;
736
626k
}
737
738
void fx_String_fromCodePoint(txMachine* the)
739
59
{
740
59
  txInteger length = 0;
741
59
  txInteger count = mxArgc;
742
59
  txInteger index = 0;
743
59
  txInteger character; 
744
59
  txString p;
745
119
  while (index < count) {
746
83
    txNumber number = fxToNumber(the, mxArgv(index));
747
83
    txNumber check = c_trunc(number);
748
83
    if (number != check)
749
12
      mxRangeError("invalid code point %lf", number);
750
71
    if ((number < 0) || (0x10FFFF < number))
751
11
      mxRangeError("invalid code point %lf", number);
752
60
    mxArgv(index)->value.integer = (txInteger)number;
753
60
    mxArgv(index)->kind = XS_INTEGER_KIND;
754
60
    index++;
755
60
  }
756
36
  index = 0;
757
88
  while (index < count) {
758
52
    character = mxArgv(index)->value.integer;
759
52
    length += mxStringByteLength(character);
760
52
    index++;
761
52
  }
762
36
  mxMeterSome(count);
763
36
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
764
36
  mxResult->kind = XS_STRING_KIND;
765
36
  p = mxResult->value.string;
766
36
  index = 0;
767
88
  while (index < count) {
768
52
    character = mxArgv(index)->value.integer;
769
52
    p = mxStringByteEncode(p, character);
770
52
    index++;
771
52
  }  
772
36
  *p = 0;
773
36
}
774
775
void fx_String_raw(txMachine* the)
776
28
{
777
28
  txInteger argCount = mxArgc;
778
28
  txSlot* raw;
779
28
  txInteger rawCount;
780
28
  if (argCount > 0)
781
27
    fxToInstance(the, mxArgv(0));
782
1
  else
783
1
    mxTypeError("cannot coerce undefined to object");
784
27
  mxPushSlot(mxArgv(0));
785
27
  mxGetID(mxID(_raw));
786
27
  raw = the->stack;
787
27
  mxPushSlot(raw);
788
27
  mxGetID(mxID(_length));
789
27
  rawCount = fxToInteger(the, the->stack);
790
27
  mxPop();
791
27
  if (rawCount <= 0) {
792
10
    mxResult->value = mxEmptyString.value;
793
10
    mxResult->kind = mxEmptyString.kind;
794
10
  }
795
17
  else {
796
17
    txSlot* list;
797
17
    txInteger index = 0;
798
17
    txSlot* item;
799
17
    txInteger size;
800
17
    list = item = fxNewInstance(the);
801
17
    mxPushSlot(list);
802
54
    for (;;) {
803
54
      mxPushSlot(raw);
804
54
      mxGetIndex(index);
805
54
      fxToString(the, the->stack);
806
54
      item = item->next = fxNewSlot(the);
807
54
      mxPullSlot(item);
808
54
      index++;
809
54
      if (index == rawCount)
810
13
        break;
811
41
      if (index < argCount) {
812
17
        mxPushSlot(mxArgv(index));
813
17
        fxToString(the, the->stack);
814
17
      }
815
24
      else
816
24
        mxPush(mxEmptyString);
817
41
      item = item->next = fxNewSlot(the);
818
41
      mxPullSlot(item);
819
41
    }
820
17
    size = 0;
821
17
    item = list->next;
822
106
    while (item) {
823
89
      item->value.key.sum = mxStringLength(item->value.string);
824
89
      size += item->value.key.sum;
825
89
      item = item->next;
826
89
    }
827
17
    size++;
828
17
    mxResult->value.string = (txString)fxNewChunk(the, size);
829
17
    size = 0;
830
17
    item = list->next;
831
106
    while (item) {
832
89
      c_memcpy(mxResult->value.string + size, item->value.string, item->value.key.sum);
833
89
      size += item->value.key.sum;
834
89
      item = item->next;
835
89
    }
836
17
    mxResult->value.string[size] = 0;
837
17
    mxPop();
838
17
    mxResult->kind = XS_STRING_KIND;
839
17
  }
840
27
  mxPop();
841
27
}
842
843
void fx_String_prototype_at(txMachine* the)
844
9.42k
{
845
9.42k
  txNumber index;
846
847
9.42k
  fxCoerceToString(the, mxThis);
848
9.42k
  index = (mxArgc > 0) ? c_trunc(fxToNumber(the, mxArgv(0))) : C_NAN;
849
9.42k
  if (c_isnan(index) || (index == 0))
850
6.36k
    index = 0;
851
3.06k
  else if (index < 0) {
852
2.73k
    index += fxCacheUnicodeLength(the, mxThis->value.string);
853
2.73k
    if (index < 0)
854
2.46k
      return;
855
2.73k
  }
856
6.96k
  txInteger from = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txSize)index);
857
6.96k
  if (from >= 0) {
858
6.64k
    txInteger to = fxUnicodeToUTF8Offset(mxThis->value.string + from, 1);
859
6.64k
    if (to >= 0) {
860
6.16k
      to += from;
861
6.16k
      mxResult->value.string = fxNewChunk(the, to - from + 1);
862
6.16k
      c_memcpy(mxResult->value.string, mxThis->value.string + from, to - from);
863
6.16k
      mxResult->value.string[to - from] = 0;
864
6.16k
      mxResult->kind = XS_STRING_KIND;
865
6.16k
    }
866
6.64k
  }
867
6.96k
}
868
869
void fx_String_prototype_charAt(txMachine* the)
870
181k
{
871
181k
  txInteger anOffset;
872
181k
  txInteger aLength;
873
  
874
181k
  fxCoerceToString(the, mxThis);
875
181k
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
876
76.5k
    anOffset = fxToInteger(the, mxArgv(0));
877
76.5k
    if (anOffset < 0) goto fail;
878
76.5k
  }
879
105k
  else
880
105k
    anOffset = 0;
881
882
181k
  anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, anOffset);
883
181k
  if (anOffset < 0) goto fail;
884
885
105k
  aLength = fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1);
886
105k
  if (aLength < 0) goto fail;
887
888
105k
  mxResult->value.string = (txString)fxNewChunk(the, aLength + 1);
889
105k
  c_memcpy(mxResult->value.string, mxThis->value.string + anOffset, aLength);
890
105k
  mxResult->value.string[aLength] = 0;
891
105k
  mxResult->kind = XS_STRING_KIND;
892
105k
  return;
893
894
76.5k
fail:
895
76.5k
  mxResult->value.string = mxEmptyString.value.string;
896
76.5k
  mxResult->kind = mxEmptyString.kind;
897
76.5k
}
898
899
void fx_String_prototype_charCodeAt(txMachine* the)
900
113
{
901
113
  txInteger anOffset;
902
903
113
  fxCoerceToString(the, mxThis);
904
113
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
905
104
    anOffset = fxToInteger(the, mxArgv(0));
906
104
    if (anOffset < 0) goto fail;
907
104
  }
908
9
  else
909
9
    anOffset = 0;
910
911
112
  anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, anOffset);
912
112
  if (anOffset < 0) goto fail;
913
914
108
  if (fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1) < 0)
915
1
    goto fail;
916
917
107
  fxUTF8Decode(mxThis->value.string + anOffset, &mxResult->value.integer);
918
107
  mxResult->kind = XS_INTEGER_KIND;
919
107
  return;
920
921
6
fail:
922
6
  mxResult->value.number = C_NAN;
923
6
  mxResult->kind = XS_NUMBER_KIND;
924
6
}
925
926
void fx_String_prototype_compare(txMachine* the)
927
0
{
928
0
  fxReport(the, "# Use standard String.prototype.localeCompare instead of soon obsolete String.prototype.compare\n");
929
0
  fx_String_prototype_localeCompare(the);
930
0
}
931
932
void fx_String_prototype_codePointAt(txMachine* the)
933
4.07k
{
934
4.07k
  txString string = fxCoerceToString(the, mxThis);
935
4.07k
  txInteger length = fxCacheUnicodeLength(the, string);
936
4.07k
  txNumber at = (mxArgc > 0) ? fxToNumber(the, mxArgv(0)) : 0;
937
4.07k
  if (c_isnan(at))
938
1.31k
    at = 0;
939
4.07k
  if ((0 <= at) && (at < (txNumber)length)) {
940
2.55k
    txInteger offset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txInteger)at);
941
2.55k
    length = fxUnicodeToUTF8Offset(mxThis->value.string + offset, 1);
942
2.55k
    if ((offset >= 0) && (length > 0)) {
943
2.55k
      mxStringByteDecode(mxThis->value.string + offset, &mxResult->value.integer);
944
2.55k
      mxResult->kind = XS_INTEGER_KIND;
945
2.55k
    }
946
2.55k
  }
947
4.07k
}
948
949
void fx_String_prototype_concat(txMachine* the)
950
83.0k
{
951
83.0k
  txInteger aCount;
952
83.0k
  txInteger aLength;
953
83.0k
  txInteger anIndex;
954
  
955
83.0k
  fxCoerceToString(the, mxThis);
956
83.0k
  aCount = mxArgc;
957
83.0k
  aLength = mxStringLength(mxThis->value.string);
958
166k
  for (anIndex = 0; anIndex < aCount; anIndex++)
959
83.6k
    aLength = fxAddChunkSizes(the, aLength, mxStringLength(fxToString(the, mxArgv(anIndex))));
960
83.0k
  mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, aLength, 1));
961
83.0k
  mxResult->kind = XS_STRING_KIND;
962
83.0k
  c_strcpy(mxResult->value.string, mxThis->value.string);
963
166k
  for (anIndex = 0; anIndex < aCount; anIndex++)
964
83.6k
    c_strcat(mxResult->value.string, mxArgv(anIndex)->value.string);
965
83.0k
  mxMeterSome(aCount);
966
83.0k
}
967
968
void fx_String_prototype_endsWith(txMachine* the)
969
2.48k
{
970
2.48k
  txString string = fxCoerceToString(the, mxThis);
971
2.48k
  txInteger length = fxCacheUnicodeLength(the, string);
972
2.48k
  txString searchString;
973
2.48k
  txInteger searchLength;
974
2.48k
  txInteger offset;
975
2.48k
  mxResult->kind = XS_BOOLEAN_KIND;
976
2.48k
  mxResult->value.boolean = 0;
977
2.48k
  if (mxArgc < 1)
978
1
    return;
979
2.48k
  if (fxIsRegExp(the, mxArgv(0)))
980
1
    mxTypeError("future editions");
981
2.47k
  searchString = fxToString(the, mxArgv(0));
982
2.47k
  offset = fxArgToPosition(the, 1, length, length);
983
2.47k
  string = mxThis->value.string;
984
2.47k
  searchString = mxArgv(0)->value.string;
985
2.47k
  searchLength = mxStringLength(searchString);
986
2.47k
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
987
2.47k
  if (offset < searchLength)
988
1.35k
    return;
989
1.12k
  mxMeterSome(fxUnicodeLength(searchString, C_NULL));
990
1.12k
  if (!c_strncmp(string + offset - searchLength, searchString, searchLength))
991
50
    mxResult->value.boolean = 1;
992
1.12k
}
993
994
void fx_String_prototype_includes(txMachine* the)
995
106
{
996
106
  txString string = fxCoerceToString(the, mxThis);
997
106
  txInteger length = fxCacheUnicodeLength(the, string);
998
106
  txString searchString;
999
106
  txInteger searchLength;
1000
106
  txInteger offset;
1001
106
  mxResult->kind = XS_BOOLEAN_KIND;
1002
106
  mxResult->value.boolean = 0;
1003
106
  if (mxArgc < 1)
1004
1
    return;
1005
105
  if (fxIsRegExp(the, mxArgv(0)))
1006
1
    mxTypeError("future editions");
1007
104
  searchString = fxToString(the, mxArgv(0));
1008
104
  offset = fxArgToPosition(the, 1, 0, length);
1009
104
  string = mxThis->value.string;
1010
104
  length = fxCacheUTF8Length(the, string);
1011
104
  searchString = mxArgv(0)->value.string;
1012
104
  searchLength = mxStringLength(searchString);
1013
104
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
1014
104
  if (fx_String_prototype_includes_aux(the, string + offset, length - offset, searchString, searchLength))
1015
24
    mxResult->value.boolean = 1;
1016
104
}
1017
1018
txString fx_String_prototype_includes_aux(txMachine* the, txString string, txSize stringLength, txString searchString, txSize searchLength)
1019
1.04M
{
1020
1.04M
  if (stringLength >= searchLength) {
1021
904k
    txString result = string;
1022
904k
    txString limit = string + stringLength - searchLength;
1023
127M
    while (result <= limit) {
1024
127M
      txU1 c;
1025
127M
      txU1* p = (txU1*)result;
1026
127M
      txU1* q = (txU1*)searchString;
1027
127M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1028
752k
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1029
752k
        p++;
1030
752k
        q++;
1031
752k
      }
1032
127M
      if (c)
1033
127M
        result++;
1034
763
      else
1035
763
        return result;
1036
127M
      mxCheckMetering();
1037
127M
    }
1038
904k
  }
1039
1.04M
  return C_NULL;
1040
1.04M
}
1041
1042
void fx_String_prototype_indexOf(txMachine* the)
1043
297k
{
1044
297k
  txString aString;
1045
297k
  txString aSubString;
1046
297k
  txInteger aLength;
1047
297k
  txInteger aSubLength;
1048
297k
  txInteger anOffset;
1049
297k
  txNumber aNumber;
1050
297k
  txInteger aLimit;
1051
  
1052
297k
  aString = fxCoerceToString(the, mxThis);
1053
297k
  if (mxArgc < 1) {
1054
1
    mxResult->value.integer = -1;
1055
1
    mxResult->kind = XS_INTEGER_KIND;
1056
1
    return;
1057
1
  }
1058
297k
  aSubString = fxToString(the, mxArgv(0));
1059
297k
  aString = mxThis->value.string;
1060
297k
  aLength = fxCacheUnicodeLength(the, aString);
1061
297k
  aSubLength = fxUnicodeLength(aSubString, C_NULL);
1062
297k
  anOffset = 0;
1063
297k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1064
126k
    aNumber = fxToNumber(the, mxArgv(1));
1065
126k
    anOffset = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1066
1067
126k
    aString = mxThis->value.string;
1068
126k
    aSubString = mxArgv(0)->value.string;
1069
126k
  }
1070
297k
  if (anOffset + aSubLength <= aLength) {
1071
256k
    anOffset = fxCacheUnicodeToUTF8Offset(the, aString, anOffset);
1072
256k
    aLimit = fxCacheUTF8Length(the, aString) - mxStringLength(aSubString);
1073
101M
    while (anOffset <= aLimit) {
1074
101M
      txU1 c;
1075
101M
      txU1* p = (txU1*)aString + anOffset;
1076
101M
      txU1* q = (txU1*)aSubString;
1077
113M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1078
11.7M
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1079
11.7M
        p++;
1080
11.7M
        q++;
1081
11.7M
      }
1082
101M
      if (c)
1083
101M
        anOffset++;
1084
40.1k
      else
1085
40.1k
        break;
1086
101M
      mxCheckMetering();
1087
101M
    }
1088
256k
    if (anOffset <= aLimit)
1089
40.1k
      anOffset = fxCacheUTF8ToUnicodeOffset(the, aString, anOffset);
1090
216k
    else
1091
216k
      anOffset = -1;
1092
256k
  }
1093
40.5k
  else
1094
40.5k
    anOffset = -1;
1095
297k
  mxResult->value.integer = anOffset;
1096
297k
  mxResult->kind = XS_INTEGER_KIND;
1097
297k
}
1098
1099
static txInteger fx_String_prototype_indexOf_aux(txMachine* the, txString theString, 
1100
    txInteger theLength, txInteger theOffset,
1101
    txString theSubString, txInteger theSubLength, txInteger* theOffsets)
1102
151k
{
1103
151k
  theOffsets[0] = theOffset;
1104
151k
  theOffsets[1] = theOffset + theSubLength;
1105
8.94M
  while (theOffsets[1] <= theLength) {
1106
8.92M
    txU1 c;
1107
8.92M
    txU1* p = (txU1*)theString + theOffsets[0];
1108
8.92M
    txU1* q = (txU1*)theSubString;
1109
9.07M
    while ((c = c_read8(q)) && (c_read8(p) == c)) {
1110
148k
      mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1111
148k
      p++;
1112
148k
      q++;
1113
148k
    }
1114
8.92M
    if (c) {
1115
8.79M
      theOffsets[0]++;
1116
8.79M
      theOffsets[1]++;
1117
8.79M
    }
1118
132k
    else
1119
132k
      return 1;
1120
8.92M
  }
1121
19.7k
  return 0;
1122
151k
}
1123
1124
void fx_String_prototype_isWellFormed(txMachine* the)
1125
53
{
1126
53
  txString p = fxCoerceToString(the, mxThis);
1127
53
  mxResult->kind = XS_BOOLEAN_KIND;
1128
53
  mxResult->value.boolean = 1;
1129
463
  while (c_read8(p)) {
1130
432
    txInteger c;
1131
432
    p = mxStringByteDecode(p, &c);
1132
432
    if ((0x0000D800 <= c) && (c <= 0x0000DFFF)) {
1133
22
      mxResult->value.boolean = 0;
1134
22
      break;
1135
22
    }
1136
432
  }
1137
53
}
1138
1139
void fx_String_prototype_lastIndexOf(txMachine* the)
1140
326k
{
1141
326k
  txString aString;
1142
326k
  txString aSubString;
1143
326k
  txInteger aLength;
1144
326k
  txInteger aSubLength;
1145
326k
  txInteger anOffset;
1146
326k
  txNumber aNumber;
1147
1148
326k
  aString = fxCoerceToString(the, mxThis);
1149
326k
  if (mxArgc < 1) {
1150
133k
    mxResult->value.integer = -1;
1151
133k
    mxResult->kind = XS_INTEGER_KIND;
1152
133k
    return;
1153
133k
  }
1154
192k
  aSubString = fxToString(the, mxArgv(0));
1155
192k
  aString = mxThis->value.string;
1156
192k
  aLength = fxCacheUnicodeLength(the, aString);
1157
192k
  aSubLength = fxUnicodeLength(aSubString, C_NULL);
1158
192k
  anOffset = aLength;
1159
192k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1160
988
    aNumber = fxToNumber(the, mxArgv(1));
1161
988
    anOffset = (c_isnan(aNumber)) ? aLength : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1162
988
    anOffset += aSubLength;
1163
988
    if (anOffset > aLength)
1164
963
      anOffset = aLength;
1165
1166
988
    aString = mxThis->value.string;
1167
988
    aSubString = mxArgv(0)->value.string;
1168
988
  }
1169
192k
  if (anOffset - aSubLength >= 0) {
1170
191k
    anOffset = fxCacheUnicodeToUTF8Offset(the, aString, anOffset - aSubLength);
1171
1.36M
    while (anOffset >= 0) {
1172
1.36M
      txU1 c;
1173
1.36M
      txU1* p = (txU1*)aString + anOffset;
1174
1.36M
      txU1* q = (txU1*)aSubString;
1175
1.55M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1176
186k
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1177
186k
        p++;
1178
186k
        q++;
1179
186k
      }
1180
1.36M
      if (c)
1181
1.17M
        anOffset--;
1182
186k
      else
1183
186k
        break;
1184
1.17M
      mxCheckMetering();
1185
1.17M
    }    
1186
191k
    anOffset = fxCacheUTF8ToUnicodeOffset(the, aString, anOffset);
1187
191k
  }
1188
628
  else
1189
628
    anOffset = -1;
1190
192k
  mxResult->value.integer = anOffset;
1191
192k
  mxResult->kind = XS_INTEGER_KIND;
1192
192k
}
1193
1194
void fx_String_prototype_localeCompare(txMachine* the)
1195
234k
{
1196
234k
  txString aString;
1197
234k
  txString bString;
1198
1199
234k
  if (mxArgc < 1) {
1200
117k
    aString = fxCoerceToString(the, mxThis);
1201
117k
    bString = "undefined";
1202
117k
  }
1203
117k
  else {
1204
117k
    fxToString(the, mxArgv(0));
1205
117k
    aString = fxCoerceToString(the, mxThis);
1206
117k
    bString = mxArgv(0)->value.string;
1207
117k
  }
1208
234k
#ifdef mxMetering
1209
234k
  {
1210
234k
    txSize aLength = fxUnicodeLength(aString, C_NULL);
1211
234k
    txSize bLength = fxUnicodeLength(bString, C_NULL);
1212
234k
    if (aLength < bLength) {
1213
234k
      the->meterIndex += aLength * XS_STRING_METERING;
1214
234k
    }
1215
59
    else {
1216
59
      the->meterIndex += bLength * XS_STRING_METERING;
1217
59
    }
1218
234k
  }
1219
234k
#endif  
1220
234k
  mxResult->value.integer = fxUTF8Compare(aString, bString);
1221
234k
  mxResult->kind = XS_INTEGER_KIND;
1222
234k
}
1223
1224
void fx_String_prototype_match(txMachine* the)
1225
98.6k
{ 
1226
98.6k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_match), 0, 1))
1227
21.4k
    return;
1228
77.2k
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_match), 0, 1);
1229
77.2k
}
1230
1231
void fx_String_prototype_matchAll(txMachine* the)
1232
5.64k
{ 
1233
5.64k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_matchAll), 1, 1))
1234
76
    return;
1235
5.56k
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_matchAll), 1, 1);
1236
5.56k
}
1237
1238
void fx_String_prototype_normalize(txMachine* the)
1239
1.13M
{
1240
1.13M
  txFlag form;
1241
1.13M
  fxCoerceToString(the, mxThis);
1242
1.13M
  if ((mxArgc < 1) || (mxArgv(0)->kind == XS_UNDEFINED_KIND))
1243
704k
    form = 2;
1244
432k
  else {
1245
432k
    txString string = fxToString(the, mxArgv(0));
1246
432k
    if (!c_strcmp(string, "NFC"))
1247
211k
      form = 2;
1248
220k
    else if (!c_strcmp(string, "NFD"))
1249
9
      form = 0;
1250
220k
    else if (!c_strcmp(string, "NFKC"))
1251
220k
      form = 3;
1252
27
    else if (!c_strcmp(string, "NFKD"))
1253
5
      form = 1;
1254
22
    else
1255
22
      mxRangeError("invalid form");
1256
432k
  }
1257
1.13M
  mxMeterSome(fxUnicodeLength(mxThis->value.string, C_NULL));
1258
1.13M
  mxResult->value.string = mxThis->value.string;
1259
1.13M
  mxResult->kind = mxThis->kind;
1260
1.13M
#ifdef mxStringNormalize
1261
1.13M
  fxNormalizeString(the, mxResult, form);
1262
#else 
1263
  {
1264
    txInteger max = 0;
1265
    txString string = mxResult->value.string;
1266
    for (;;) {
1267
      txInteger c;
1268
      string = mxStringByteDecode(string, &c);
1269
      if (c == C_EOF)
1270
        break;
1271
      if (max < c)
1272
        max = c;
1273
    }
1274
    if (max < 128) {
1275
    }
1276
    else if ((max < 256) && (form == 2)) {
1277
    }
1278
    else {
1279
      mxRangeError("not built-in");
1280
    }
1281
  }
1282
#endif
1283
1.13M
}
1284
1285
void fx_String_prototype_pad(txMachine* the, txBoolean flag)
1286
68.6k
{
1287
68.6k
  txString string = fxCoerceToString(the, mxThis), filler;
1288
68.6k
  txInteger stringLength = mxStringLength(string), fillerLength;
1289
68.6k
  txInteger stringSize = fxUnicodeLength(string, C_NULL), fillerSize;
1290
68.6k
  txInteger resultSize = (txInteger)fxArgToRange(the, 0, 0, 0, 0x7FFFFFFF);
1291
68.6k
  *mxResult = *mxThis;
1292
68.6k
  if (resultSize > stringSize) {
1293
55
    if ((mxArgc <= 1) || (mxIsUndefined(mxArgv(1))))
1294
16
      mxPushStringX(" ");
1295
39
    else
1296
39
      mxPushSlot(mxArgv(1));
1297
55
    filler = fxToString(the, the->stack);
1298
55
    fillerSize = fxUnicodeLength(filler, &fillerLength);
1299
55
    if (fillerSize > 0) {
1300
51
      txInteger delta = resultSize - stringSize;
1301
51
      txInteger count = delta / fillerSize;
1302
51
      txInteger rest = fxUnicodeToUTF8Offset(filler, delta % fillerSize);
1303
51
      txString result = mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, fxAddChunkSizes(the, stringLength, fxMultiplyChunkSizes(the, fillerLength, count)), rest + 1));
1304
51
      mxResult->kind = XS_STRING_KIND;
1305
51
      string = fxToString(the, mxThis);
1306
51
      filler = fxToString(the, the->stack);
1307
51
      if (flag) {
1308
30
        c_memcpy(result, string, stringLength);
1309
30
        result += stringLength;
1310
30
      }
1311
51
      mxMeterSome(count);
1312
465k
      while (count) {
1313
465k
        c_memcpy(result, filler, fillerLength);
1314
465k
        count--;
1315
465k
        result += fillerLength;
1316
465k
      }
1317
51
      if (rest) {
1318
28
        mxMeterSome(1);
1319
28
        c_memcpy(result, filler, rest);
1320
28
        result += rest;
1321
28
      }
1322
51
      if (!flag) {
1323
19
        c_memcpy(result, string, stringLength);
1324
19
        result += stringLength;
1325
19
      }
1326
51
      *result = 0;
1327
51
    }
1328
55
    mxPop();
1329
55
  }
1330
68.6k
}
1331
1332
void fx_String_prototype_padEnd(txMachine* the)
1333
68.6k
{
1334
68.6k
  fx_String_prototype_pad(the, 1);
1335
68.6k
}
1336
1337
void fx_String_prototype_padStart(txMachine* the)
1338
41
{
1339
41
  fx_String_prototype_pad(the, 0);
1340
41
}
1341
1342
void fx_String_prototype_repeat(txMachine* the)
1343
33.3k
{
1344
33.3k
  txString string = fxCoerceToString(the, mxThis), result;
1345
33.3k
  txInteger length = mxStringLength(string);
1346
33.3k
  txInteger count = 0;
1347
33.3k
  txSlot *arg = mxArgv(0);
1348
33.3k
  if ((mxArgc > 0) && (arg->kind != XS_UNDEFINED_KIND)) {
1349
6.46k
    if (XS_INTEGER_KIND == arg->kind) {
1350
60
      count = arg->value.integer;
1351
60
      if (count < 0)
1352
6
        mxRangeError("count < 0");
1353
60
    }
1354
6.40k
    else {
1355
6.40k
      txNumber value = c_trunc(fxToNumber(the, arg));
1356
6.40k
      if (c_isnan(value))
1357
1.44k
        count = 0;
1358
4.96k
      else {
1359
4.96k
        if (value < 0)
1360
1.31k
          mxRangeError("count < 0");
1361
3.64k
        if (0x7FFFFFFF < value)
1362
2.01k
          mxRangeError("count too big");
1363
1.63k
        count = (txInteger)value;
1364
1.63k
      }
1365
6.40k
    }
1366
6.46k
  }
1367
29.9k
  mxMeterSome(count);
1368
29.9k
  result = mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, fxMultiplyChunkSizes(the, length, count), 1));
1369
29.9k
  mxResult->kind = XS_STRING_KIND;
1370
29.9k
  string = fxToString(the, mxThis);
1371
29.9k
  if (length) {
1372
48.0M
    while (count) {
1373
48.0M
      c_memcpy(result, string, length);
1374
48.0M
      count--;
1375
48.0M
      result += length;
1376
48.0M
    }
1377
29.5k
  }
1378
29.9k
  *result = 0;
1379
29.9k
}
1380
1381
void fx_String_prototype_replace(txMachine* the)
1382
683k
{
1383
683k
  txString string;
1384
683k
  txSlot* match;
1385
683k
  txSize size;
1386
683k
  txSize matchLength;
1387
683k
  txSlot* function;
1388
683k
  txSlot* replace;
1389
1390
683k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_replace), 0, 2))
1391
113k
    return;
1392
570k
  fxToString(the, mxThis);
1393
570k
  if (mxArgc <= 0)
1394
569k
    mxPushUndefined();
1395
262
  else
1396
262
    mxPushSlot(mxArgv(0));
1397
570k
  match = the->stack;
1398
570k
  fxToString(the, match);
1399
570k
  if (mxArgc <= 1)
1400
570k
    mxPushUndefined();
1401
161
  else
1402
161
    mxPushSlot(mxArgv(1));
1403
570k
  if (mxIsReference(the->stack) && mxIsFunction(the->stack->value.reference)) {
1404
3
    function = the->stack;
1405
3
    replace = C_NULL;
1406
3
  }
1407
570k
  else {   
1408
570k
    replace = the->stack;
1409
570k
    fxToString(the, replace);
1410
570k
    function = C_NULL;
1411
570k
  }
1412
570k
  size = mxStringLength(mxThis->value.string);
1413
570k
  matchLength = mxStringLength(match->value.string);
1414
570k
  string = fx_String_prototype_includes_aux(the, mxThis->value.string, size, match->value.string, matchLength);
1415
570k
  if (string) {
1416
122
    txSize offset = mxPtrDiff(string - mxThis->value.string);
1417
122
    txSize replaceLength;
1418
122
    fx_String_prototype_replaceAux(the, size, offset, function, match, matchLength, replace);
1419
122
    replaceLength = mxStringLength(the->stack->value.string);
1420
122
    mxResult->value.string = (txString)fxNewChunk(the, size - matchLength + replaceLength + 1);
1421
122
    c_memcpy(mxResult->value.string, mxThis->value.string, offset);
1422
122
    c_memcpy(mxResult->value.string + offset, the->stack->value.string, replaceLength);
1423
122
    c_memcpy(mxResult->value.string + offset + replaceLength, mxThis->value.string + offset + matchLength, size - (offset + matchLength));
1424
122
    mxResult->value.string[size - matchLength + replaceLength] = 0;
1425
122
    mxResult->kind = XS_STRING_KIND;
1426
122
    mxPop();
1427
122
  }
1428
570k
  else
1429
570k
    *mxResult = *mxThis;
1430
570k
  mxPop();
1431
570k
  mxPop();
1432
570k
}
1433
1434
void fx_String_prototype_replaceAll(txMachine* the)
1435
526k
{
1436
526k
  txSlot* match;
1437
526k
  txSlot* function;
1438
526k
  txSlot* replace;
1439
526k
  txInteger size;
1440
526k
  txInteger matchLength;
1441
526k
  txInteger resultSize = 0;
1442
526k
  txSlot* list;
1443
526k
  txSlot* item;
1444
526k
  txInteger offset = 0;
1445
526k
  txBoolean flag = 0;
1446
1447
526k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_replace), 1, 2))
1448
64
    return;
1449
526k
  fxToString(the, mxThis);
1450
526k
  if (mxArgc <= 0)
1451
9
    mxPushUndefined();
1452
526k
  else
1453
526k
    mxPushSlot(mxArgv(0));
1454
526k
  match = the->stack;
1455
526k
  fxToString(the, match);
1456
526k
  if (mxArgc <= 1)
1457
286k
    mxPushUndefined();
1458
240k
  else
1459
240k
    mxPushSlot(mxArgv(1));
1460
526k
  if (mxIsReference(the->stack) && mxIsFunction(the->stack->value.reference)) {
1461
240k
    function = the->stack;
1462
240k
    replace = C_NULL;
1463
240k
  }
1464
286k
  else {   
1465
286k
    replace = the->stack;
1466
286k
    fxToString(the, replace);
1467
286k
    function = C_NULL;
1468
286k
  }
1469
526k
  size = mxStringLength(mxThis->value.string);
1470
526k
  matchLength = mxStringLength(match->value.string);
1471
  
1472
526k
  list = item = fxNewInstance(the);
1473
526k
  mxPushSlot(list);
1474
  
1475
526k
  if (!matchLength) {
1476
49.6k
    fx_String_prototype_replaceAux(the, size, offset, function, match, matchLength, replace);
1477
49.6k
    item = item->next = fxNewSlot(the);
1478
49.6k
    mxPullSlot(item);
1479
49.6k
    item->value.key.sum = mxStringLength(item->value.string);
1480
49.6k
    resultSize += item->value.key.sum;
1481
49.6k
    flag = 1;
1482
49.6k
  }
1483
1.35M
  while (offset < size) {
1484
825k
    txInteger current;
1485
825k
    if (!matchLength) {
1486
347k
      current = offset + fxUnicodeToUTF8Offset(mxThis->value.string + offset, 1);
1487
347k
    }
1488
477k
    else {
1489
477k
      txString string = fx_String_prototype_includes_aux(the, mxThis->value.string + offset, size - offset, match->value.string, matchLength);
1490
477k
            if (string)
1491
617
        current = mxPtrDiff(string - mxThis->value.string);
1492
477k
      else
1493
477k
        current = size;
1494
477k
    }
1495
825k
    if (offset < current) {
1496
824k
      txInteger length = current - offset;
1497
824k
      item = item->next = fxNewSlot(the);
1498
824k
      item->value.dataView.offset = offset;
1499
824k
      item->value.dataView.size = length;
1500
824k
      item->kind = XS_DATA_VIEW_KIND;
1501
824k
      resultSize += length;
1502
824k
    }
1503
825k
    if ((!matchLength) || (current < size)) {
1504
348k
      fx_String_prototype_replaceAux(the, size, current, function, match, matchLength, replace);
1505
348k
      item = item->next = fxNewSlot(the);
1506
348k
            mxPullSlot(item);
1507
348k
      item->value.key.sum = mxStringLength(item->value.string);
1508
348k
      resultSize += item->value.key.sum;
1509
348k
      flag = 1;
1510
348k
    }
1511
825k
    offset = current + matchLength;
1512
825k
  }    
1513
526k
  if (flag) {
1514
49.7k
    resultSize++;
1515
49.7k
    mxResult->value.string = (txString)fxNewChunk(the, resultSize);
1516
49.7k
    offset = 0;
1517
49.7k
    item = list->next;
1518
795k
    while (item) {
1519
745k
      if (item->kind == XS_DATA_VIEW_KIND) {
1520
347k
        c_memcpy(mxResult->value.string + offset, mxThis->value.string + item->value.dataView.offset, item->value.dataView.size);
1521
347k
        offset += item->value.dataView.size;
1522
347k
      }
1523
397k
      else {
1524
397k
        c_memcpy(mxResult->value.string + offset, item->value.string, item->value.key.sum);
1525
397k
        offset += item->value.key.sum;
1526
397k
      }
1527
745k
      item = item->next;
1528
745k
    }
1529
49.7k
    mxResult->value.string[offset] = 0;
1530
49.7k
    mxResult->kind = XS_STRING_KIND;
1531
49.7k
  }
1532
477k
  else {
1533
477k
    mxResult->value = mxThis->value;
1534
477k
    mxResult->kind = mxThis->kind;
1535
477k
  }
1536
  
1537
526k
  mxPop();
1538
  
1539
526k
  mxPop();
1540
526k
  mxPop();
1541
526k
}
1542
1543
void fx_String_prototype_replaceAux(txMachine* the, txInteger size, txInteger offset, txSlot* function, txSlot* match, txInteger matchLength, txSlot* replace)
1544
397k
{
1545
397k
  if (function) {
1546
397k
    mxPushUndefined();
1547
397k
    mxPushSlot(function);
1548
397k
    mxCall();
1549
397k
    mxPushSlot(match);
1550
397k
    mxPushInteger(fxUTF8ToUnicodeOffset(mxThis->value.string, offset));
1551
397k
    mxPushSlot(mxThis);
1552
397k
    mxRunCount(3);
1553
397k
    fxToString(the, the->stack);
1554
397k
  }
1555
755
  else
1556
755
    fxPushSubstitutionString(the, mxThis, size, offset, match, matchLength, 0, C_NULL, C_NULL, replace);
1557
397k
}
1558
1559
void fx_String_prototype_search(txMachine* the)
1560
315
{
1561
315
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_search), 0, 1))
1562
6
    return;
1563
309
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_search), 0, 1);
1564
309
}
1565
1566
void fx_String_prototype_slice(txMachine* the)
1567
54.2k
{
1568
54.2k
  txString string = fxCoerceToString(the, mxThis);
1569
54.2k
  txInteger length = fxCacheUnicodeLength(the, string);
1570
54.2k
  txNumber start = fxArgToIndex(the, 0, 0, length);
1571
54.2k
  txNumber end = fxArgToIndex(the, 1, length, length);
1572
54.2k
  if (start < end) {
1573
21.7k
    txInteger offset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txInteger)start);
1574
21.7k
    length = fxUnicodeToUTF8Offset(mxThis->value.string + offset, (txInteger)(end - start));
1575
21.7k
    if ((offset >= 0) && (length > 0)) {
1576
21.7k
      mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1577
21.7k
      c_memcpy(mxResult->value.string, mxThis->value.string + offset, length);
1578
21.7k
      mxResult->value.string[length] = 0;
1579
21.7k
      mxResult->kind = XS_STRING_KIND;
1580
21.7k
      return;
1581
21.7k
    }
1582
21.7k
  }
1583
32.5k
  mxResult->value.string = mxEmptyString.value.string;
1584
32.5k
  mxResult->kind = mxEmptyString.kind;
1585
32.5k
}
1586
1587
void fx_String_prototype_split(txMachine* the)
1588
551k
{
1589
551k
  txString aString;
1590
551k
  txInteger aLength;
1591
551k
  txIndex aLimit;
1592
551k
  txSlot* anArray;
1593
551k
  txSlot* anItem;
1594
551k
  txInteger anOffset;
1595
551k
  txInteger aCount;
1596
551k
  txString aSubString;
1597
551k
  txInteger aSubLength;
1598
551k
  txInteger aSubOffset;
1599
551k
  txInteger subOffsets[2];
1600
1601
551k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_split), 0, 2))
1602
62.1k
    return;
1603
489k
  aString = fxToString(the, mxThis);
1604
489k
  aLength = mxStringLength(aString);
1605
489k
  aLimit = ((mxArgc > 1) && (!mxIsUndefined(mxArgv(1)))) ? (txIndex)fxToUnsigned(the, mxArgv(1)) : 0xFFFFFFFF;
1606
489k
  mxPush(mxArrayPrototype);
1607
489k
  anArray = fxNewArrayInstance(the);
1608
489k
  mxPullSlot(mxResult);
1609
489k
  fxGetInstance(the, mxResult);
1610
489k
  anItem = fxLastProperty(the, anArray);
1611
489k
  if ((mxArgc < 1) || (mxArgv(0)->kind == XS_UNDEFINED_KIND)) {
1612
1.16k
    if (!aLimit)
1613
57
      goto bail;
1614
1.11k
    fx_String_prototype_split_aux(the, mxThis, anArray, anItem, 0, aLength);
1615
1.11k
    goto bail;
1616
1.16k
  }
1617
488k
  aSubString = fxToString(the, mxArgv(0));
1618
488k
  aSubLength = mxStringLength(aSubString);
1619
488k
  if (!aLimit)
1620
1.41k
    goto bail;
1621
486k
  if (aSubLength == 0) {
1622
465k
    anOffset = 0;
1623
26.6M
    while (anOffset < aLength) {
1624
26.1M
      aSubOffset = anOffset + fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1);
1625
26.1M
      anItem = fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, aSubOffset);
1626
26.1M
      if (anArray->next->value.array.length >= aLimit)
1627
0
        goto bail;
1628
26.1M
      anOffset = aSubOffset;
1629
26.1M
    }
1630
465k
  }
1631
21.4k
  else if (aLength == 0) {
1632
555
    fx_String_prototype_split_aux(the, mxThis, anArray, anItem, 0, 0);
1633
555
  }
1634
20.8k
  else {
1635
20.8k
    anOffset = 0;
1636
151k
    for (;;) {
1637
151k
      aCount = fx_String_prototype_indexOf_aux(the, mxThis->value.string, aLength, anOffset, mxArgv(0)->value.string, aSubLength, subOffsets);
1638
151k
      if (aCount <= 0)
1639
19.7k
        break;
1640
132k
      if (anOffset <= subOffsets[0]) {
1641
132k
        anItem = fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, subOffsets[0]);
1642
132k
        if (anArray->next->value.array.length >= aLimit)
1643
844
          goto bail;
1644
132k
      }
1645
131k
      anOffset = subOffsets[1];
1646
131k
    }
1647
20.0k
    if (anOffset <= aLength)
1648
19.7k
      fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, aLength);
1649
20.0k
  }
1650
489k
bail:
1651
489k
  fxCacheArray(the, anArray);
1652
489k
}
1653
1654
txSlot* fx_String_prototype_split_aux(txMachine* the, txSlot* theString, txSlot* theArray, txSlot* theItem, txInteger theStart, txInteger theStop)
1655
26.3M
{
1656
26.3M
  theStop -= theStart;
1657
26.3M
  theItem->next = fxNewSlot(the);
1658
26.3M
  theItem = theItem->next;
1659
26.3M
  theItem->next = C_NULL;
1660
26.3M
  if (theStart >= 0) {
1661
26.3M
    theItem->value.string = (txString)fxNewChunk(the, theStop + 1);
1662
26.3M
    c_memcpy(theItem->value.string, theString->value.string + theStart, theStop);
1663
26.3M
    theItem->value.string[theStop] = 0;
1664
26.3M
    theItem->kind = XS_STRING_KIND;
1665
26.3M
  }
1666
26.3M
  theArray->next->value.array.length++;
1667
26.3M
  return theItem;
1668
26.3M
}
1669
1670
void fx_String_prototype_startsWith(txMachine* the)
1671
85
{
1672
85
  txString string = fxCoerceToString(the, mxThis);
1673
85
  txInteger length = fxCacheUnicodeLength(the, string);
1674
85
  txString searchString;
1675
85
  txInteger searchLength;
1676
85
  txInteger offset;
1677
85
  mxResult->kind = XS_BOOLEAN_KIND;
1678
85
  mxResult->value.boolean = 0;
1679
85
  if (mxArgc < 1)
1680
1
    return;
1681
84
  if (fxIsRegExp(the, mxArgv(0)))
1682
1
    mxTypeError("future editions");
1683
83
  searchString = fxToString(the, mxArgv(0));
1684
83
  offset = fxArgToPosition(the, 1, 0, length);
1685
83
  string = mxThis->value.string;
1686
83
  length = fxCacheUTF8Length(the, string);
1687
83
  searchString = mxArgv(0)->value.string;
1688
83
  searchLength = mxStringLength(searchString);
1689
83
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
1690
83
  if (length - offset < searchLength)
1691
18
    return;
1692
65
  mxMeterSome(fxUnicodeLength(searchString, C_NULL));
1693
65
  if (!c_strncmp(string + offset, searchString, searchLength))
1694
25
    mxResult->value.boolean = 1;
1695
65
}
1696
1697
void fx_String_prototype_substr(txMachine* the)
1698
1.00M
{
1699
1.00M
  txString string = fxCoerceToString(the, mxThis);
1700
1.00M
  txInteger size = fxCacheUnicodeLength(the, string);
1701
1.00M
  txInteger start = fxArgToIndexInteger(the, 0, 0, size);
1702
1.00M
  txInteger stop = size;
1703
1.00M
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1704
912k
    stop = start + fxToInteger(the, mxArgv(1));
1705
912k
    if (stop > size)
1706
750k
      stop = size;
1707
912k
  }  
1708
1.00M
  if (start < stop) {
1709
9.51k
    txInteger length;
1710
9.51k
    start = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, start);
1711
9.51k
    stop = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, stop);
1712
9.51k
    length = stop - start;
1713
9.51k
    mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1714
9.51k
    c_memcpy(mxResult->value.string, mxThis->value.string + start, length);
1715
9.51k
    mxResult->value.string[length] = 0;
1716
9.51k
    mxResult->kind = XS_STRING_KIND;
1717
9.51k
  }
1718
994k
  else {
1719
994k
    mxResult->value.string = mxEmptyString.value.string;
1720
994k
    mxResult->kind = mxEmptyString.kind;
1721
994k
  }
1722
1.00M
}
1723
1724
void fx_String_prototype_substring(txMachine* the)
1725
76.5k
{
1726
76.5k
  txString aString;
1727
76.5k
  txInteger aLength;
1728
76.5k
  txNumber aNumber;
1729
76.5k
  txInteger aStart;
1730
76.5k
  txInteger aStop;
1731
76.5k
  txInteger anOffset;
1732
1733
76.5k
  aString = fxCoerceToString(the, mxThis);
1734
76.5k
  aLength = fxCacheUnicodeLength(the, aString);
1735
76.5k
  aStart = 0;
1736
76.5k
  aStop = aLength;
1737
76.5k
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
1738
76.5k
    aNumber = fxToNumber(the, mxArgv(0));
1739
76.5k
    aStart = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1740
76.5k
  }
1741
76.5k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1742
22
    aNumber = fxToNumber(the, mxArgv(1));
1743
22
    aStop = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1744
22
  }
1745
76.5k
  if (aStart > aStop) {
1746
1
    aLength = aStart;
1747
1
    aStart = aStop;
1748
1
    aStop = aLength;
1749
1
  }
1750
76.5k
  if (aStart < aStop) {
1751
16
    anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, aStart);
1752
16
    aLength = fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, aStop - aStart);
1753
16
    if ((anOffset >= 0) && (aLength > 0)) {
1754
16
      mxResult->value.string = (txString)fxNewChunk(the, aLength + 1);
1755
16
      c_memcpy(mxResult->value.string, mxThis->value.string + anOffset, aLength);
1756
16
      mxResult->value.string[aLength] = 0;
1757
16
      mxResult->kind = XS_STRING_KIND;
1758
16
    }
1759
0
    else {
1760
0
      mxResult->value.string = mxEmptyString.value.string;
1761
0
      mxResult->kind = mxEmptyString.kind;
1762
0
    }
1763
16
  }
1764
76.5k
  else {
1765
76.5k
    mxResult->value.string = mxEmptyString.value.string;
1766
76.5k
    mxResult->kind = mxEmptyString.kind;
1767
76.5k
  }
1768
76.5k
}
1769
1770
void fx_String_prototype_toLowerCase(txMachine* the)
1771
246
{
1772
246
  fxCoerceToString(the, mxThis);
1773
246
  fx_String_prototype_toCase(the, 0);
1774
246
}
1775
1776
void fx_String_prototype_toUpperCase(txMachine* the)
1777
224
{
1778
224
  fxCoerceToString(the, mxThis);
1779
224
  fx_String_prototype_toCase(the, 1);
1780
224
}
1781
1782
void fx_String_prototype_toWellFormed(txMachine* the)
1783
57
{
1784
57
  txString string = fxCoerceToString(the, mxThis);
1785
57
  txSize length = mxStringLength(string);
1786
57
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1787
57
  mxResult->kind = XS_STRING_KIND;
1788
57
  txString p = mxThis->value.string;
1789
57
  txString q = mxResult->value.string;
1790
506
  while (c_read8(p)) {
1791
449
    txInteger c;
1792
449
    p = mxStringByteDecode(p, &c);
1793
449
    if ((0x0000D800 <= c) && (c <= 0x0000DFFF))
1794
29
      c = 0x0000FFFD;
1795
449
    q = mxStringByteEncode(q, c);
1796
449
  }
1797
57
  *q = 0;
1798
57
}
1799
1800
void fx_String_prototype_trim(txMachine* the)
1801
28
{
1802
28
  fx_String_prototype_trimAux(the, 1, 1);
1803
28
}
1804
1805
void fx_String_prototype_trimAux(txMachine* the, txBoolean trimStart, txBoolean trimEnd)
1806
54
{
1807
54
  txString string = fxCoerceToString(the, mxThis), start;
1808
54
  txInteger offset, length;
1809
54
  if (trimStart) {
1810
37
    start = fxSkipSpaces(string);
1811
37
    offset = mxPtrDiff(start - string);
1812
37
    mxMeterSome(offset);
1813
37
  }
1814
17
  else {
1815
17
    start = string;
1816
17
    offset = 0;
1817
17
  }
1818
54
  if (trimEnd) {
1819
37
    txString current = start;
1820
37
    txString end = current;
1821
664
    while (c_read8(current)) {
1822
627
      end = current + 1;
1823
627
      current = fxSkipSpaces(end);
1824
627
    }
1825
37
    length = mxPtrDiff(end - start);
1826
37
    mxMeterSome(length);
1827
37
  }
1828
17
  else
1829
17
    length = mxStringLength(start);
1830
54
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1831
54
  c_memcpy(mxResult->value.string, mxThis->value.string + offset, length);
1832
54
  mxResult->value.string[length] = 0;
1833
54
  mxResult->kind = XS_STRING_KIND;
1834
54
}
1835
1836
void fx_String_prototype_trimEnd(txMachine* the)
1837
13
{
1838
13
  fx_String_prototype_trimAux(the, 0, 1);
1839
13
}
1840
1841
void fx_String_prototype_trimStart(txMachine* the)
1842
13
{
1843
13
  fx_String_prototype_trimAux(the, 1, 0);
1844
13
}
1845
1846
void fx_String_prototype_valueOf(txMachine* the)
1847
258k
{
1848
258k
  txSlot* slot = fxCheckString(the, mxThis);
1849
258k
  if (!slot) mxTypeError("this: not a string");
1850
258k
  mxResult->kind = slot->kind;
1851
258k
  mxResult->value = slot->value;
1852
258k
}
1853
1854
txBoolean fx_String_prototype_withRegexp(txMachine* the, txID id, txBoolean global, txInteger count)
1855
1.86M
{
1856
1.86M
  if (mxIsUndefined(mxThis))
1857
4.16k
    mxTypeError("this: undefined");
1858
1.86M
  if (mxIsNull(mxThis))
1859
1
    mxTypeError("this: null");
1860
1.86M
  if (mxArgc > 0) {
1861
1.29M
    txSlot* regexp = mxArgv(0);
1862
1.29M
    if (mxIsReference(regexp)) {
1863
708k
      if (global && fxIsRegExp(the, regexp)) {
1864
160
        mxPushSlot(regexp);
1865
160
        mxGetID(mxID(_flags));
1866
160
        if (!c_strchr(fxToString(the, the->stack), 'g'))
1867
12
          mxTypeError("regexp has no g flag");
1868
148
        mxPop();
1869
148
      }
1870
708k
      mxPushSlot(regexp);
1871
708k
      mxPushSlot(regexp);
1872
708k
      mxGetID(id);
1873
708k
      if (!mxIsUndefined(the->stack) && !mxIsNull(the->stack)) {
1874
197k
        mxCall();
1875
197k
        mxPushSlot(mxThis);
1876
197k
        if (count > 1) {
1877
175k
          if (mxArgc > 1)
1878
113k
            mxPushSlot(mxArgv(1));
1879
61.9k
          else
1880
61.9k
            mxPushUndefined();
1881
175k
        }
1882
197k
        mxRunCount(count);
1883
197k
        mxPullSlot(mxResult);
1884
197k
        return 1;
1885
197k
      }
1886
511k
      mxPop();
1887
511k
      mxPop();
1888
511k
    }
1889
1.29M
  }
1890
1.66M
  return 0;
1891
1.86M
}
1892
1893
void fx_String_prototype_withoutRegexp(txMachine* the, txID id, txBoolean global, txInteger count)
1894
78.9k
{
1895
78.9k
  fxToString(the, mxThis);
1896
78.9k
  mxPush(mxRegExpPrototype);
1897
78.9k
  fxNewRegExpInstance(the);
1898
78.9k
  mxPush(mxInitializeRegExpFunction);
1899
78.9k
  mxCall();
1900
78.9k
  if (mxArgc > 0)
1901
77.6k
    mxPushSlot(mxArgv(0));
1902
1.31k
  else
1903
1.31k
    mxPushUndefined();
1904
78.9k
  if (global)
1905
5.55k
    mxPushStringX("g");
1906
73.4k
  else
1907
73.4k
    mxPushUndefined();
1908
78.9k
  mxRunCount(2);
1909
78.9k
  mxDub();
1910
78.9k
  mxGetID(id);
1911
78.9k
  mxCall();
1912
78.9k
  mxPushSlot(mxThis);
1913
78.9k
  if (count > 1) {
1914
0
    if (mxArgc > 1)
1915
0
      mxPushSlot(mxArgv(1));
1916
0
    else
1917
0
      mxPushUndefined();
1918
0
  }
1919
78.9k
  mxRunCount(count);
1920
78.9k
  mxPullSlot(mxResult);
1921
78.9k
}
1922
1923
txSlot* fxCheckString(txMachine* the, txSlot* it)
1924
258k
{
1925
258k
  txSlot* result = C_NULL;
1926
258k
  if ((it->kind == XS_STRING_KIND) || (it->kind == XS_STRING_X_KIND))
1927
579
    result = it;
1928
258k
  else if (it->kind == XS_REFERENCE_KIND) {
1929
258k
    it = it->value.reference->next;
1930
258k
    if (it && (it->flag & XS_INTERNAL_FLAG) && ((it->kind == XS_STRING_KIND) || (it->kind == XS_STRING_X_KIND)))
1931
258k
      result = it;
1932
258k
  }
1933
258k
  return result;
1934
258k
}
1935
1936
txString fxCoerceToString(txMachine* the, txSlot* theSlot)
1937
3.94M
{
1938
3.94M
  if (theSlot->kind == XS_UNDEFINED_KIND)
1939
105k
    mxTypeError("this: undefined");
1940
3.84M
  if (theSlot->kind == XS_NULL_KIND)
1941
26
    mxTypeError("this: null");
1942
3.84M
  return fxToString(the, theSlot);
1943
3.84M
}
1944
1945
void fx_String_prototype_iterator(txMachine* the)
1946
433k
{
1947
433k
  txSlot* property;
1948
433k
  fxCoerceToString(the, mxThis);
1949
433k
  mxPush(mxStringIteratorPrototype);
1950
433k
  property = fxLastProperty(the, fxNewIteratorInstance(the, mxThis, mxID(_String)));
1951
433k
  property = fxNextIntegerProperty(the, property, (txInteger)c_strlen(mxThis->value.string), XS_NO_ID, XS_INTERNAL_FLAG);
1952
433k
  mxPullSlot(mxResult);
1953
433k
}
1954
1955
void fx_String_prototype_iterator_next(txMachine* the)
1956
5.75M
{
1957
5.75M
  txSlot* iterator = fxCheckIteratorInstance(the, mxThis, mxID(_String));
1958
5.75M
  txSlot* result = iterator->next;
1959
5.75M
  txSlot* iterable = result->next;
1960
5.75M
  txSlot* index = iterable->next;
1961
5.75M
  txSlot* length = index->next;
1962
5.75M
  txSlot* value = fxCheckIteratorResult(the, result);
1963
5.75M
  txSlot* done = value->next;
1964
5.75M
  if (index->value.integer < length->value.integer) {
1965
5.31M
    txInteger character, size;
1966
5.31M
    txString string = mxStringByteDecode(iterable->value.string + index->value.integer, &character);
1967
5.31M
    index->value.integer = mxPtrDiff(string - iterable->value.string);
1968
5.31M
    size = mxStringByteLength(character);
1969
5.31M
    value->value.string = (txString)fxNewChunk(the, size + 1);
1970
5.31M
    string = mxStringByteEncode(value->value.string, character);
1971
5.31M
    *string = 0;
1972
5.31M
    value->kind = XS_STRING_KIND;
1973
5.31M
  }
1974
433k
  else {
1975
433k
    value->kind = XS_UNDEFINED_KIND;
1976
433k
    done->value.boolean = 1;
1977
433k
  }
1978
5.75M
  mxResult->kind = result->kind;
1979
5.75M
  mxResult->value = result->value;
1980
5.75M
}
1981
1982
txInteger fxArgToPosition(txMachine* the, txInteger argi, txInteger index, txInteger length)
1983
2.66k
{
1984
2.66k
  if ((mxArgc > argi) && (mxArgv(argi)->kind != XS_UNDEFINED_KIND)) {
1985
183
    txNumber i = c_trunc(fxToNumber(the, mxArgv(argi)));
1986
183
    if (c_isnan(i))
1987
21
      i = 0;
1988
183
    if (i < 0)
1989
22
      index = 0;
1990
161
    else if (i > (txNumber)length)
1991
15
      index = length;
1992
146
    else
1993
146
      index = (txInteger)i;
1994
183
  }
1995
2.66k
  return index;
1996
2.66k
}
1997
1998
void fxPushSubstitutionString(txMachine* the, txSlot* string, txInteger size, txInteger offset, txSlot* match, txInteger length, txInteger count, txSlot* captures, txSlot* groups, txSlot* replace)
1999
2.14M
{
2000
2.14M
  txString r;
2001
2.14M
  txInteger m;
2002
2.14M
  txInteger l;
2003
2.14M
  txBoolean flag;
2004
2.14M
  txByte c, d;
2005
2.14M
  txInteger i, j;
2006
2.14M
  txSlot* capture;
2007
2.14M
  txString s;
2008
2.14M
  r = replace->value.string;
2009
2.14M
  m = 0;
2010
2.14M
  l = 0;
2011
2.14M
  flag = 0;
2012
119M
  while ((c = c_read8(r++))) {
2013
117M
    if (m <= l)
2014
117M
      m = l;
2015
1
    else
2016
1
      fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
2017
117M
    if (c == '$') {
2018
82.5M
      c = c_read8(r++);
2019
82.5M
      switch (c) {
2020
86.4k
      case '$':
2021
86.4k
        l++;
2022
86.4k
        flag = 1;
2023
86.4k
        break;
2024
464
      case '&':
2025
464
        l += length;
2026
464
        flag = 1;
2027
464
        break;
2028
86
      case '`':
2029
86
        l += offset;
2030
86
        flag = 1;
2031
86
        break;
2032
2.22k
      case '\'':
2033
2.22k
        l += size - (offset + length);
2034
2.22k
        flag = 1;
2035
2.22k
        break;
2036
75.5k
      case '<':
2037
75.5k
        if (groups && mxIsReference(groups)) {
2038
1.88k
          txString t = r;
2039
43.1k
          while ((d = c_read8(r))) {
2040
42.3k
            if (d == '>')
2041
1.07k
              break;
2042
41.3k
            r++;
2043
41.3k
          }
2044
1.88k
          if (d) {
2045
1.07k
            txInteger n = mxPtrDiff(r - t);
2046
1.07k
            txID name;
2047
1.07k
            if (n > 255)
2048
0
              fxJump(the);
2049
1.07k
            c_memcpy(the->nameBuffer, t, n);
2050
1.07k
            the->nameBuffer[n] = 0;
2051
1.07k
            name = fxFindName(the, the->nameBuffer);
2052
1.07k
            if (name) {
2053
195
              mxPushSlot(groups);
2054
195
              mxGetID(name);
2055
195
              if (!mxIsUndefined(the->stack)) {
2056
106
                fxToString(the, the->stack);
2057
106
                l = fxAddChunkSizes(the, l, mxStringLength(the->stack->value.string));
2058
106
              }
2059
195
              mxPop();
2060
195
            }
2061
1.07k
            r++;
2062
1.07k
            flag = 1;
2063
1.07k
          }
2064
811
          else {
2065
811
            r = t;
2066
811
            l += 2;
2067
811
          }
2068
1.88k
        }
2069
73.6k
        else {
2070
73.6k
          l += 2;
2071
73.6k
        }
2072
75.5k
        break;
2073
82.3M
      default:
2074
82.3M
        if (('0' <= c) && (c <= '9')) {
2075
82.3M
          i = c - '0';
2076
82.3M
          d = c_read8(r);
2077
82.3M
          if (('0' <= d) && (d <= '9')) {
2078
31.7k
            j = (i * 10) + d - '0';
2079
31.7k
            if ((0 < j) && (j <= count)) {
2080
630
              i = j;
2081
630
              r++;
2082
630
            }
2083
31.1k
            else
2084
31.1k
              d = 0;
2085
31.7k
          }
2086
82.3M
          else
2087
82.3M
            d = 0;
2088
82.3M
          if ((0 < i) && (i <= count)) {
2089
92.0k
            capture = (captures + count - i);
2090
92.0k
            if (capture->kind != XS_UNDEFINED_KIND)
2091
91.3k
              l = fxAddChunkSizes(the, l, mxStringLength(capture->value.string));
2092
92.0k
            flag = 1;
2093
92.0k
          }
2094
82.2M
          else {
2095
82.2M
            l++;
2096
82.2M
            l++;
2097
82.2M
            if (d)
2098
0
              l++;
2099
82.2M
          }
2100
82.3M
        }
2101
5.22k
        else {
2102
5.22k
          l++;
2103
5.22k
          if (c)
2104
3.05k
            l++;
2105
5.22k
        }
2106
82.3M
        break;
2107
82.5M
      }
2108
82.5M
      if (!c)
2109
2.17k
        break;
2110
82.5M
    }
2111
34.9M
    else
2112
34.9M
      l++;
2113
117M
  }
2114
2.14M
  if (m > l)
2115
1
    fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
2116
2.14M
  if (flag) {
2117
79.9k
    mxPushUndefined();
2118
79.9k
    the->stack->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, l, 1));
2119
79.9k
    the->stack->kind = XS_STRING_KIND;
2120
79.9k
    r = replace->value.string;
2121
79.9k
    s = the->stack->value.string;
2122
3.35M
    while ((c = c_read8(r++))) {
2123
3.27M
      if (c == '$') {
2124
201k
        c = c_read8(r++);
2125
201k
        switch (c) {
2126
86.4k
        case '$':
2127
86.4k
          *s++ = c;
2128
86.4k
          break;
2129
464
        case '&':
2130
464
          l = length;
2131
464
          c_memcpy(s, match->value.string, l);
2132
464
          s += l;
2133
464
          break;
2134
86
        case '`':
2135
86
          l = offset;
2136
86
          c_memcpy(s, string->value.string, l);
2137
86
          s += l;
2138
86
          break;
2139
2.21k
        case '\'':
2140
2.21k
          l = size - (offset + length);
2141
2.21k
                    if (l > 0) {
2142
2.20k
                        c_memcpy(s, string->value.string + offset + length, l);
2143
2.20k
                        s += l;
2144
2.20k
                    }
2145
2.21k
          break;
2146
75.2k
        case '<':
2147
75.2k
          if (groups && mxIsReference(groups)) {
2148
1.83k
            txString t = r;
2149
42.6k
            while ((d = c_read8(r))) {
2150
41.9k
              if (d == '>')
2151
1.07k
                break;
2152
40.8k
              r++;
2153
40.8k
            }
2154
1.83k
            if (d) {
2155
1.07k
              txInteger n = mxPtrDiff(r - t);
2156
1.07k
              txID name;
2157
1.07k
              if (n > 255)
2158
0
                fxJump(the);
2159
1.07k
              c_memcpy(the->nameBuffer, t, n);
2160
1.07k
              the->nameBuffer[n] = 0;
2161
1.07k
              name = fxFindName(the, the->nameBuffer);
2162
1.07k
              if (name) {
2163
195
                mxPushSlot(groups);
2164
195
                mxGetID(name);
2165
195
                if (!mxIsUndefined(the->stack)) {
2166
106
                  fxToString(the, the->stack);
2167
106
                  l = mxStringLength(the->stack->value.string);
2168
106
                  c_memcpy(s, the->stack->value.string, l);
2169
106
                  s += l;
2170
106
                }
2171
195
                mxPop();
2172
195
              }
2173
1.07k
              r++;
2174
1.07k
            }
2175
768
            else {
2176
768
              r = t;
2177
768
              *s++ = '$';
2178
768
              *s++ = '<';
2179
768
            }
2180
1.83k
          }
2181
73.4k
          else {
2182
73.4k
            *s++ = '$';
2183
73.4k
            *s++ = '<';
2184
73.4k
          }
2185
75.2k
          break;
2186
75.2k
        default:
2187
37.3k
          if (('0' <= c) && (c <= '9')) {
2188
32.6k
            i = c - '0';
2189
32.6k
            d = c_read8(r);
2190
32.6k
            if (('0' <= d) && (d <= '9')) {
2191
30.8k
              j = (i * 10) + d - '0';
2192
30.8k
              if ((0 < j) && (j <= count)) {
2193
630
                i = j;
2194
630
                r++;
2195
630
              }
2196
30.2k
              else
2197
30.2k
                d = 0;
2198
30.8k
            }
2199
1.79k
            else
2200
1.79k
              d = 0;
2201
32.6k
            if ((0 < i) && (i <= count)) {
2202
26.4k
              capture = (captures + count - i);
2203
26.4k
              if (capture->kind != XS_UNDEFINED_KIND) {
2204
25.8k
                l = mxStringLength(capture->value.string);
2205
25.8k
                c_memcpy(s, capture->value.string, l);
2206
25.8k
                s += l;
2207
25.8k
              }
2208
26.4k
            }
2209
6.21k
            else {
2210
6.21k
              *s++ = '$';
2211
6.21k
              *s++ = c;
2212
6.21k
              if (d)
2213
0
                *s++ = d;
2214
6.21k
            }
2215
32.6k
          }
2216
4.70k
          else {
2217
4.70k
            *s++ = '$';
2218
4.70k
            if (c)
2219
3.01k
              *s++ = c;
2220
4.70k
          }
2221
37.3k
          break;
2222
201k
        }
2223
201k
        if (!c)
2224
1.68k
          break;
2225
201k
      }
2226
3.07M
      else
2227
3.07M
        *s++ = c;
2228
3.27M
    }
2229
79.9k
    *s = 0;
2230
79.9k
  }
2231
2.06M
  else
2232
2.06M
    mxPushSlot(replace);
2233
2.14M
}
2234
2235
#ifdef mxStringNormalize
2236
2237
typedef struct {
2238
  txSlot* slot;
2239
  txInteger* address;
2240
  txInteger count;
2241
  txInteger starterIndex;
2242
} txNormalizeBuffer;
2243
2244
typedef struct {
2245
  txU2 code;
2246
  txU1 count;
2247
  txU1 order;
2248
} txCombination;
2249
2250
57.8M
#define mxCombinationCount0 300
2251
static const txCombination gxCombinationIndex0[mxCombinationCount0] ICACHE_XS6RO_ATTR = {
2252
  {0x0300,21,230},{0x0315,1,232},{0x0316,4,220},{0x031A,1,232},{0x031B,1,216},{0x031C,5,220},{0x0321,2,202},{0x0323,4,220},
2253
  {0x0327,2,202},{0x0329,11,220},{0x0334,5,1},{0x0339,4,220},{0x033D,8,230},{0x0345,1,240},{0x0346,1,230},{0x0347,3,220},
2254
  {0x034A,3,230},{0x034D,2,220},{0x0350,3,230},{0x0353,4,220},{0x0357,1,230},{0x0358,1,232},{0x0359,2,220},{0x035B,1,230},
2255
  {0x035C,1,233},{0x035D,2,234},{0x035F,1,233},{0x0360,2,234},{0x0362,1,233},{0x0363,13,230},{0x0483,5,230},{0x0591,1,220},
2256
  {0x0592,4,230},{0x0596,1,220},{0x0597,3,230},{0x059A,1,222},{0x059B,1,220},{0x059C,6,230},{0x05A2,6,220},{0x05A8,2,230},
2257
  {0x05AA,1,220},{0x05AB,2,230},{0x05AD,1,222},{0x05AE,1,228},{0x05AF,1,230},{0x05B0,1,10},{0x05B1,1,11},{0x05B2,1,12},
2258
  {0x05B3,1,13},{0x05B4,1,14},{0x05B5,1,15},{0x05B6,1,16},{0x05B7,1,17},{0x05B8,1,18},{0x05B9,2,19},{0x05BB,1,20},
2259
  {0x05BC,1,21},{0x05BD,1,22},{0x05BF,1,23},{0x05C1,1,24},{0x05C2,1,25},{0x05C4,1,230},{0x05C5,1,220},{0x05C7,1,18},
2260
  {0x0610,8,230},{0x0618,1,30},{0x0619,1,31},{0x061A,1,32},{0x064B,1,27},{0x064C,1,28},{0x064D,1,29},{0x064E,1,30},
2261
  {0x064F,1,31},{0x0650,1,32},{0x0651,1,33},{0x0652,1,34},{0x0653,2,230},{0x0655,2,220},{0x0657,5,230},{0x065C,1,220},
2262
  {0x065D,2,230},{0x065F,1,220},{0x0670,1,35},{0x06D6,7,230},{0x06DF,4,230},{0x06E3,1,220},{0x06E4,1,230},{0x06E7,2,230},
2263
  {0x06EA,1,220},{0x06EB,2,230},{0x06ED,1,220},{0x0711,1,36},{0x0730,1,230},{0x0731,1,220},{0x0732,2,230},{0x0734,1,220},
2264
  {0x0735,2,230},{0x0737,3,220},{0x073A,1,230},{0x073B,2,220},{0x073D,1,230},{0x073E,1,220},{0x073F,3,230},{0x0742,1,220},
2265
  {0x0743,1,230},{0x0744,1,220},{0x0745,1,230},{0x0746,1,220},{0x0747,1,230},{0x0748,1,220},{0x0749,2,230},{0x07EB,7,230},
2266
  {0x07F2,1,220},{0x07F3,1,230},{0x07FD,1,220},{0x0816,4,230},{0x081B,9,230},{0x0825,3,230},{0x0829,5,230},{0x0859,3,220},
2267
  {0x0897,2,230},{0x0899,3,220},{0x089C,4,230},{0x08CA,5,230},{0x08CF,5,220},{0x08D4,14,230},{0x08E3,1,220},{0x08E4,2,230},
2268
  {0x08E6,1,220},{0x08E7,2,230},{0x08E9,1,220},{0x08EA,3,230},{0x08ED,3,220},{0x08F0,1,27},{0x08F1,1,28},{0x08F2,1,29},
2269
  {0x08F3,3,230},{0x08F6,1,220},{0x08F7,2,230},{0x08F9,2,220},{0x08FB,5,230},{0x093C,1,7},{0x094D,1,9},{0x0951,1,230},
2270
  {0x0952,1,220},{0x0953,2,230},{0x09BC,1,7},{0x09CD,1,9},{0x09FE,1,230},{0x0A3C,1,7},{0x0A4D,1,9},{0x0ABC,1,7},
2271
  {0x0ACD,1,9},{0x0B3C,1,7},{0x0B4D,1,9},{0x0BCD,1,9},{0x0C3C,1,7},{0x0C4D,1,9},{0x0C55,1,84},{0x0C56,1,91},
2272
  {0x0CBC,1,7},{0x0CCD,1,9},{0x0D3B,2,9},{0x0D4D,1,9},{0x0DCA,1,9},{0x0E38,2,103},{0x0E3A,1,9},{0x0E48,4,107},
2273
  {0x0EB8,2,118},{0x0EBA,1,9},{0x0EC8,4,122},{0x0F18,2,220},{0x0F35,1,220},{0x0F37,1,220},{0x0F39,1,216},{0x0F71,1,129},
2274
  {0x0F72,1,130},{0x0F74,1,132},{0x0F7A,4,130},{0x0F80,1,130},{0x0F82,2,230},{0x0F84,1,9},{0x0F86,2,230},{0x0FC6,1,220},
2275
  {0x1037,1,7},{0x1039,2,9},{0x108D,1,220},{0x135D,3,230},{0x1714,2,9},{0x1734,1,9},{0x17D2,1,9},{0x17DD,1,230},
2276
  {0x18A9,1,228},{0x1939,1,222},{0x193A,1,230},{0x193B,1,220},{0x1A17,1,230},{0x1A18,1,220},{0x1A60,1,9},{0x1A75,8,230},
2277
  {0x1A7F,1,220},{0x1AB0,5,230},{0x1AB5,6,220},{0x1ABB,2,230},{0x1ABD,1,220},{0x1ABF,2,220},{0x1AC1,2,230},{0x1AC3,2,220},
2278
  {0x1AC5,5,230},{0x1ACA,1,220},{0x1ACB,18,230},{0x1ADD,1,220},{0x1AE0,6,230},{0x1AE6,1,220},{0x1AE7,4,230},{0x1AEB,1,234},
2279
  {0x1B34,1,7},{0x1B44,1,9},{0x1B6B,1,230},{0x1B6C,1,220},{0x1B6D,7,230},{0x1BAA,2,9},{0x1BE6,1,7},{0x1BF2,2,9},
2280
  {0x1C37,1,7},{0x1CD0,3,230},{0x1CD4,1,1},{0x1CD5,5,220},{0x1CDA,2,230},{0x1CDC,4,220},{0x1CE0,1,230},{0x1CE2,7,1},
2281
  {0x1CED,1,220},{0x1CF4,1,230},{0x1CF8,2,230},{0x1DC0,2,230},{0x1DC2,1,220},{0x1DC3,7,230},{0x1DCA,1,220},{0x1DCB,2,230},
2282
  {0x1DCD,1,234},{0x1DCE,1,214},{0x1DCF,1,220},{0x1DD0,1,202},{0x1DD1,37,230},{0x1DF6,1,232},{0x1DF7,2,228},{0x1DF9,1,220},
2283
  {0x1DFA,1,218},{0x1DFB,1,230},{0x1DFC,1,233},{0x1DFD,1,220},{0x1DFE,1,230},{0x1DFF,1,220},{0x20D0,2,230},{0x20D2,2,1},
2284
  {0x20D4,4,230},{0x20D8,3,1},{0x20DB,2,230},{0x20E1,1,230},{0x20E5,2,1},{0x20E7,1,230},{0x20E8,1,220},{0x20E9,1,230},
2285
  {0x20EA,2,1},{0x20EC,4,220},{0x20F0,1,230},{0x2CEF,3,230},{0x2D7F,1,9},{0x2DE0,32,230},{0x302A,1,218},{0x302B,1,228},
2286
  {0x302C,1,232},{0x302D,1,222},{0x302E,2,224},{0x3099,2,8},{0xA66F,1,230},{0xA674,10,230},{0xA69E,2,230},{0xA6F0,2,230},
2287
  {0xA806,1,9},{0xA82C,1,9},{0xA8C4,1,9},{0xA8E0,18,230},{0xA92B,3,220},{0xA953,1,9},{0xA9B3,1,7},{0xA9C0,1,9},
2288
  {0xAAB0,1,230},{0xAAB2,2,230},{0xAAB4,1,220},{0xAAB7,2,230},{0xAABE,2,230},{0xAAC1,1,230},{0xAAF6,1,9},{0xABED,1,9},
2289
  {0xFB1E,1,26},{0xFE20,7,230},{0xFE27,7,220},{0xFE2E,2,230},
2290
};
2291
91.9k
#define mxCombinationCount1 103
2292
static const txCombination gxCombinationIndex1[mxCombinationCount1] ICACHE_XS6RO_ATTR = {
2293
  {0x01FD,1,220},{0x02E0,1,220},{0x0376,5,230},{0x0A0D,1,220},{0x0A0F,1,230},{0x0A38,1,230},{0x0A39,1,1},{0x0A3A,1,220},
2294
  {0x0A3F,1,9},{0x0AE5,1,230},{0x0AE6,1,220},{0x0D24,4,230},{0x0D69,5,230},{0x0EAB,2,230},{0x0EFA,2,220},{0x0EFD,3,220},
2295
  {0x0F46,2,220},{0x0F48,3,230},{0x0F4B,1,220},{0x0F4C,1,230},{0x0F4D,4,220},{0x0F82,1,230},{0x0F83,1,220},{0x0F84,1,230},
2296
  {0x0F85,1,220},{0x1046,1,9},{0x1070,1,9},{0x107F,1,9},{0x10B9,1,9},{0x10BA,1,7},{0x1100,3,230},{0x1133,2,9},
2297
  {0x1173,1,7},{0x11C0,1,9},{0x11CA,1,7},{0x1235,1,9},{0x1236,1,7},{0x12E9,1,7},{0x12EA,1,9},{0x133B,2,7},
2298
  {0x134D,1,9},{0x1366,7,230},{0x1370,5,230},{0x13CE,3,9},{0x1442,1,9},{0x1446,1,7},{0x145E,1,230},{0x14C2,1,9},
2299
  {0x14C3,1,7},{0x15BF,1,9},{0x15C0,1,7},{0x163F,1,9},{0x16B6,1,9},{0x16B7,1,7},{0x172B,1,9},{0x1839,1,9},
2300
  {0x183A,1,7},{0x193D,2,9},{0x1943,1,7},{0x19E0,1,9},{0x1A34,1,9},{0x1A47,1,9},{0x1A99,1,9},{0x1C3F,1,9},
2301
  {0x1D42,1,7},{0x1D44,2,9},{0x1D97,1,9},{0x1F41,2,9},{0x612F,1,9},{0x6AF0,5,1},{0x6B30,7,230},{0x6FF0,2,6},
2302
  {0xBC9E,1,1},{0xD165,2,216},{0xD167,3,1},{0xD16D,1,226},{0xD16E,5,216},{0xD17B,8,220},{0xD185,5,230},{0xD18A,2,220},
2303
  {0xD1AA,4,230},{0xD242,3,230},{0xE000,7,230},{0xE008,17,230},{0xE01B,7,230},{0xE023,2,230},{0xE026,5,230},{0xE08F,1,230},
2304
  {0xE130,7,230},{0xE2AE,1,230},{0xE2EC,4,230},{0xE4EC,2,232},{0xE4EE,1,220},{0xE4EF,1,230},{0xE5EE,1,230},{0xE5EF,1,220},
2305
  {0xE6E3,1,230},{0xE6E6,1,230},{0xE6EE,2,230},{0xE6F5,1,230},{0xE8D0,7,220},{0xE944,6,230},{0xE94A,1,7},
2306
};
2307
#define mxCompositionSize0 1860
2308
static const txU2 gxCompositionData0[mxCompositionSize0] ICACHE_XS6RO_ATTR = {
2309
  0x0041,0x00C0,0x0045,0x00C8,0x0049,0x00CC,0x004E,0x01F8,0x004F,0x00D2,0x0055,0x00D9,0x0057,0x1E80,0x0059,0x1EF2,0x0061,0x00E0,0x0065,0x00E8,0x0069,0x00EC,0x006E,0x01F9,0x006F,0x00F2,0x0075,0x00F9,0x0077,0x1E81,0x0079,0x1EF3,
2310
  0x00A8,0x1FED,0x00C2,0x1EA6,0x00CA,0x1EC0,0x00D4,0x1ED2,0x00DC,0x01DB,0x00E2,0x1EA7,0x00EA,0x1EC1,0x00F4,0x1ED3,0x00FC,0x01DC,0x0102,0x1EB0,0x0103,0x1EB1,0x0112,0x1E14,0x0113,0x1E15,0x014C,0x1E50,0x014D,0x1E51,0x01A0,0x1EDC,
2311
  0x01A1,0x1EDD,0x01AF,0x1EEA,0x01B0,0x1EEB,0x0391,0x1FBA,0x0395,0x1FC8,0x0397,0x1FCA,0x0399,0x1FDA,0x039F,0x1FF8,0x03A5,0x1FEA,0x03A9,0x1FFA,0x03B1,0x1F70,0x03B5,0x1F72,0x03B7,0x1F74,0x03B9,0x1F76,0x03BF,0x1F78,0x03C5,0x1F7A,
2312
  0x03C9,0x1F7C,0x03CA,0x1FD2,0x03CB,0x1FE2,0x0415,0x0400,0x0418,0x040D,0x0435,0x0450,0x0438,0x045D,0x1F00,0x1F02,0x1F01,0x1F03,0x1F08,0x1F0A,0x1F09,0x1F0B,0x1F10,0x1F12,0x1F11,0x1F13,0x1F18,0x1F1A,0x1F19,0x1F1B,0x1F20,0x1F22,
2313
  0x1F21,0x1F23,0x1F28,0x1F2A,0x1F29,0x1F2B,0x1F30,0x1F32,0x1F31,0x1F33,0x1F38,0x1F3A,0x1F39,0x1F3B,0x1F40,0x1F42,0x1F41,0x1F43,0x1F48,0x1F4A,0x1F49,0x1F4B,0x1F50,0x1F52,0x1F51,0x1F53,0x1F59,0x1F5B,0x1F60,0x1F62,0x1F61,0x1F63,
2314
  0x1F68,0x1F6A,0x1F69,0x1F6B,0x1FBF,0x1FCD,0x1FFE,0x1FDD,0x0041,0x00C1,0x0043,0x0106,0x0045,0x00C9,0x0047,0x01F4,0x0049,0x00CD,0x004B,0x1E30,0x004C,0x0139,0x004D,0x1E3E,0x004E,0x0143,0x004F,0x00D3,0x0050,0x1E54,0x0052,0x0154,
2315
  0x0053,0x015A,0x0055,0x00DA,0x0057,0x1E82,0x0059,0x00DD,0x005A,0x0179,0x0061,0x00E1,0x0063,0x0107,0x0065,0x00E9,0x0067,0x01F5,0x0069,0x00ED,0x006B,0x1E31,0x006C,0x013A,0x006D,0x1E3F,0x006E,0x0144,0x006F,0x00F3,0x0070,0x1E55,
2316
  0x0072,0x0155,0x0073,0x015B,0x0075,0x00FA,0x0077,0x1E83,0x0079,0x00FD,0x007A,0x017A,0x00A8,0x0385,0x00C2,0x1EA4,0x00C5,0x01FA,0x00C6,0x01FC,0x00C7,0x1E08,0x00CA,0x1EBE,0x00CF,0x1E2E,0x00D4,0x1ED0,0x00D5,0x1E4C,0x00D8,0x01FE,
2317
  0x00DC,0x01D7,0x00E2,0x1EA5,0x00E5,0x01FB,0x00E6,0x01FD,0x00E7,0x1E09,0x00EA,0x1EBF,0x00EF,0x1E2F,0x00F4,0x1ED1,0x00F5,0x1E4D,0x00F8,0x01FF,0x00FC,0x01D8,0x0102,0x1EAE,0x0103,0x1EAF,0x0112,0x1E16,0x0113,0x1E17,0x014C,0x1E52,
2318
  0x014D,0x1E53,0x0168,0x1E78,0x0169,0x1E79,0x01A0,0x1EDA,0x01A1,0x1EDB,0x01AF,0x1EE8,0x01B0,0x1EE9,0x0391,0x0386,0x0395,0x0388,0x0397,0x0389,0x0399,0x038A,0x039F,0x038C,0x03A5,0x038E,0x03A9,0x038F,0x03B1,0x03AC,0x03B5,0x03AD,
2319
  0x03B7,0x03AE,0x03B9,0x03AF,0x03BF,0x03CC,0x03C5,0x03CD,0x03C9,0x03CE,0x03CA,0x0390,0x03CB,0x03B0,0x03D2,0x03D3,0x0413,0x0403,0x041A,0x040C,0x0433,0x0453,0x043A,0x045C,0x1F00,0x1F04,0x1F01,0x1F05,0x1F08,0x1F0C,0x1F09,0x1F0D,
2320
  0x1F10,0x1F14,0x1F11,0x1F15,0x1F18,0x1F1C,0x1F19,0x1F1D,0x1F20,0x1F24,0x1F21,0x1F25,0x1F28,0x1F2C,0x1F29,0x1F2D,0x1F30,0x1F34,0x1F31,0x1F35,0x1F38,0x1F3C,0x1F39,0x1F3D,0x1F40,0x1F44,0x1F41,0x1F45,0x1F48,0x1F4C,0x1F49,0x1F4D,
2321
  0x1F50,0x1F54,0x1F51,0x1F55,0x1F59,0x1F5D,0x1F60,0x1F64,0x1F61,0x1F65,0x1F68,0x1F6C,0x1F69,0x1F6D,0x1FBF,0x1FCE,0x1FFE,0x1FDE,0x0041,0x00C2,0x0043,0x0108,0x0045,0x00CA,0x0047,0x011C,0x0048,0x0124,0x0049,0x00CE,0x004A,0x0134,
2322
  0x004F,0x00D4,0x0053,0x015C,0x0055,0x00DB,0x0057,0x0174,0x0059,0x0176,0x005A,0x1E90,0x0061,0x00E2,0x0063,0x0109,0x0065,0x00EA,0x0067,0x011D,0x0068,0x0125,0x0069,0x00EE,0x006A,0x0135,0x006F,0x00F4,0x0073,0x015D,0x0075,0x00FB,
2323
  0x0077,0x0175,0x0079,0x0177,0x007A,0x1E91,0x1EA0,0x1EAC,0x1EA1,0x1EAD,0x1EB8,0x1EC6,0x1EB9,0x1EC7,0x1ECC,0x1ED8,0x1ECD,0x1ED9,0x0041,0x00C3,0x0045,0x1EBC,0x0049,0x0128,0x004E,0x00D1,0x004F,0x00D5,0x0055,0x0168,0x0056,0x1E7C,
2324
  0x0059,0x1EF8,0x0061,0x00E3,0x0065,0x1EBD,0x0069,0x0129,0x006E,0x00F1,0x006F,0x00F5,0x0075,0x0169,0x0076,0x1E7D,0x0079,0x1EF9,0x00C2,0x1EAA,0x00CA,0x1EC4,0x00D4,0x1ED6,0x00E2,0x1EAB,0x00EA,0x1EC5,0x00F4,0x1ED7,0x0102,0x1EB4,
2325
  0x0103,0x1EB5,0x01A0,0x1EE0,0x01A1,0x1EE1,0x01AF,0x1EEE,0x01B0,0x1EEF,0x0041,0x0100,0x0045,0x0112,0x0047,0x1E20,0x0049,0x012A,0x004F,0x014C,0x0055,0x016A,0x0059,0x0232,0x0061,0x0101,0x0065,0x0113,0x0067,0x1E21,0x0069,0x012B,
2326
  0x006F,0x014D,0x0075,0x016B,0x0079,0x0233,0x00C4,0x01DE,0x00C6,0x01E2,0x00D5,0x022C,0x00D6,0x022A,0x00DC,0x01D5,0x00E4,0x01DF,0x00E6,0x01E3,0x00F5,0x022D,0x00F6,0x022B,0x00FC,0x01D6,0x01EA,0x01EC,0x01EB,0x01ED,0x0226,0x01E0,
2327
  0x0227,0x01E1,0x022E,0x0230,0x022F,0x0231,0x0391,0x1FB9,0x0399,0x1FD9,0x03A5,0x1FE9,0x03B1,0x1FB1,0x03B9,0x1FD1,0x03C5,0x1FE1,0x0418,0x04E2,0x0423,0x04EE,0x0438,0x04E3,0x0443,0x04EF,0x1E36,0x1E38,0x1E37,0x1E39,0x1E5A,0x1E5C,
2328
  0x1E5B,0x1E5D,0x0041,0x0102,0x0045,0x0114,0x0047,0x011E,0x0049,0x012C,0x004F,0x014E,0x0055,0x016C,0x0061,0x0103,0x0065,0x0115,0x0067,0x011F,0x0069,0x012D,0x006F,0x014F,0x0075,0x016D,0x0228,0x1E1C,0x0229,0x1E1D,0x0391,0x1FB8,
2329
  0x0399,0x1FD8,0x03A5,0x1FE8,0x03B1,0x1FB0,0x03B9,0x1FD0,0x03C5,0x1FE0,0x0410,0x04D0,0x0415,0x04D6,0x0416,0x04C1,0x0418,0x0419,0x0423,0x040E,0x0430,0x04D1,0x0435,0x04D7,0x0436,0x04C2,0x0438,0x0439,0x0443,0x045E,0x1EA0,0x1EB6,
2330
  0x1EA1,0x1EB7,0x0041,0x0226,0x0042,0x1E02,0x0043,0x010A,0x0044,0x1E0A,0x0045,0x0116,0x0046,0x1E1E,0x0047,0x0120,0x0048,0x1E22,0x0049,0x0130,0x004D,0x1E40,0x004E,0x1E44,0x004F,0x022E,0x0050,0x1E56,0x0052,0x1E58,0x0053,0x1E60,
2331
  0x0054,0x1E6A,0x0057,0x1E86,0x0058,0x1E8A,0x0059,0x1E8E,0x005A,0x017B,0x0061,0x0227,0x0062,0x1E03,0x0063,0x010B,0x0064,0x1E0B,0x0065,0x0117,0x0066,0x1E1F,0x0067,0x0121,0x0068,0x1E23,0x006D,0x1E41,0x006E,0x1E45,0x006F,0x022F,
2332
  0x0070,0x1E57,0x0072,0x1E59,0x0073,0x1E61,0x0074,0x1E6B,0x0077,0x1E87,0x0078,0x1E8B,0x0079,0x1E8F,0x007A,0x017C,0x015A,0x1E64,0x015B,0x1E65,0x0160,0x1E66,0x0161,0x1E67,0x017F,0x1E9B,0x1E62,0x1E68,0x1E63,0x1E69,0x05D2,0x05C9,
2333
  0x05DA,0x05E4,0x0041,0x00C4,0x0045,0x00CB,0x0048,0x1E26,0x0049,0x00CF,0x004F,0x00D6,0x0055,0x00DC,0x0057,0x1E84,0x0058,0x1E8C,0x0059,0x0178,0x0061,0x00E4,0x0065,0x00EB,0x0068,0x1E27,0x0069,0x00EF,0x006F,0x00F6,0x0074,0x1E97,
2334
  0x0075,0x00FC,0x0077,0x1E85,0x0078,0x1E8D,0x0079,0x00FF,0x00D5,0x1E4E,0x00F5,0x1E4F,0x016A,0x1E7A,0x016B,0x1E7B,0x0399,0x03AA,0x03A5,0x03AB,0x03B9,0x03CA,0x03C5,0x03CB,0x03D2,0x03D4,0x0406,0x0407,0x0410,0x04D2,0x0415,0x0401,
2335
  0x0416,0x04DC,0x0417,0x04DE,0x0418,0x04E4,0x041E,0x04E6,0x0423,0x04F0,0x0427,0x04F4,0x042B,0x04F8,0x042D,0x04EC,0x0430,0x04D3,0x0435,0x0451,0x0436,0x04DD,0x0437,0x04DF,0x0438,0x04E5,0x043E,0x04E7,0x0443,0x04F1,0x0447,0x04F5,
2336
  0x044B,0x04F9,0x044D,0x04ED,0x0456,0x0457,0x04D8,0x04DA,0x04D9,0x04DB,0x04E8,0x04EA,0x04E9,0x04EB,0x0041,0x1EA2,0x0045,0x1EBA,0x0049,0x1EC8,0x004F,0x1ECE,0x0055,0x1EE6,0x0059,0x1EF6,0x0061,0x1EA3,0x0065,0x1EBB,0x0069,0x1EC9,
2337
  0x006F,0x1ECF,0x0075,0x1EE7,0x0079,0x1EF7,0x00C2,0x1EA8,0x00CA,0x1EC2,0x00D4,0x1ED4,0x00E2,0x1EA9,0x00EA,0x1EC3,0x00F4,0x1ED5,0x0102,0x1EB2,0x0103,0x1EB3,0x01A0,0x1EDE,0x01A1,0x1EDF,0x01AF,0x1EEC,0x01B0,0x1EED,0x0041,0x00C5,
2338
  0x0055,0x016E,0x0061,0x00E5,0x0075,0x016F,0x0077,0x1E98,0x0079,0x1E99,0x004F,0x0150,0x0055,0x0170,0x006F,0x0151,0x0075,0x0171,0x0423,0x04F2,0x0443,0x04F3,0x0041,0x01CD,0x0043,0x010C,0x0044,0x010E,0x0045,0x011A,0x0047,0x01E6,
2339
  0x0048,0x021E,0x0049,0x01CF,0x004B,0x01E8,0x004C,0x013D,0x004E,0x0147,0x004F,0x01D1,0x0052,0x0158,0x0053,0x0160,0x0054,0x0164,0x0055,0x01D3,0x005A,0x017D,0x0061,0x01CE,0x0063,0x010D,0x0064,0x010F,0x0065,0x011B,0x0067,0x01E7,
2340
  0x0068,0x021F,0x0069,0x01D0,0x006A,0x01F0,0x006B,0x01E9,0x006C,0x013E,0x006E,0x0148,0x006F,0x01D2,0x0072,0x0159,0x0073,0x0161,0x0074,0x0165,0x0075,0x01D4,0x007A,0x017E,0x00DC,0x01D9,0x00FC,0x01DA,0x01B7,0x01EE,0x0292,0x01EF,
2341
  0x0041,0x0200,0x0045,0x0204,0x0049,0x0208,0x004F,0x020C,0x0052,0x0210,0x0055,0x0214,0x0061,0x0201,0x0065,0x0205,0x0069,0x0209,0x006F,0x020D,0x0072,0x0211,0x0075,0x0215,0x0474,0x0476,0x0475,0x0477,0x0041,0x0202,0x0045,0x0206,
2342
  0x0049,0x020A,0x004F,0x020E,0x0052,0x0212,0x0055,0x0216,0x0061,0x0203,0x0065,0x0207,0x0069,0x020B,0x006F,0x020F,0x0072,0x0213,0x0075,0x0217,0x0391,0x1F08,0x0395,0x1F18,0x0397,0x1F28,0x0399,0x1F38,0x039F,0x1F48,0x03A9,0x1F68,
2343
  0x03B1,0x1F00,0x03B5,0x1F10,0x03B7,0x1F20,0x03B9,0x1F30,0x03BF,0x1F40,0x03C1,0x1FE4,0x03C5,0x1F50,0x03C9,0x1F60,0x0391,0x1F09,0x0395,0x1F19,0x0397,0x1F29,0x0399,0x1F39,0x039F,0x1F49,0x03A1,0x1FEC,0x03A5,0x1F59,0x03A9,0x1F69,
2344
  0x03B1,0x1F01,0x03B5,0x1F11,0x03B7,0x1F21,0x03B9,0x1F31,0x03BF,0x1F41,0x03C1,0x1FE5,0x03C5,0x1F51,0x03C9,0x1F61,0x004F,0x01A0,0x0055,0x01AF,0x006F,0x01A1,0x0075,0x01B0,0x0041,0x1EA0,0x0042,0x1E04,0x0044,0x1E0C,0x0045,0x1EB8,
2345
  0x0048,0x1E24,0x0049,0x1ECA,0x004B,0x1E32,0x004C,0x1E36,0x004D,0x1E42,0x004E,0x1E46,0x004F,0x1ECC,0x0052,0x1E5A,0x0053,0x1E62,0x0054,0x1E6C,0x0055,0x1EE4,0x0056,0x1E7E,0x0057,0x1E88,0x0059,0x1EF4,0x005A,0x1E92,0x0061,0x1EA1,
2346
  0x0062,0x1E05,0x0064,0x1E0D,0x0065,0x1EB9,0x0068,0x1E25,0x0069,0x1ECB,0x006B,0x1E33,0x006C,0x1E37,0x006D,0x1E43,0x006E,0x1E47,0x006F,0x1ECD,0x0072,0x1E5B,0x0073,0x1E63,0x0074,0x1E6D,0x0075,0x1EE5,0x0076,0x1E7F,0x0077,0x1E89,
2347
  0x0079,0x1EF5,0x007A,0x1E93,0x01A0,0x1EE2,0x01A1,0x1EE3,0x01AF,0x1EF0,0x01B0,0x1EF1,0x0055,0x1E72,0x0075,0x1E73,0x0041,0x1E00,0x0061,0x1E01,0x0053,0x0218,0x0054,0x021A,0x0073,0x0219,0x0074,0x021B,0x0043,0x00C7,0x0044,0x1E10,
2348
  0x0045,0x0228,0x0047,0x0122,0x0048,0x1E28,0x004B,0x0136,0x004C,0x013B,0x004E,0x0145,0x0052,0x0156,0x0053,0x015E,0x0054,0x0162,0x0063,0x00E7,0x0064,0x1E11,0x0065,0x0229,0x0067,0x0123,0x0068,0x1E29,0x006B,0x0137,0x006C,0x013C,
2349
  0x006E,0x0146,0x0072,0x0157,0x0073,0x015F,0x0074,0x0163,0x0041,0x0104,0x0045,0x0118,0x0049,0x012E,0x004F,0x01EA,0x0055,0x0172,0x0061,0x0105,0x0065,0x0119,0x0069,0x012F,0x006F,0x01EB,0x0075,0x0173,0x0044,0x1E12,0x0045,0x1E18,
2350
  0x004C,0x1E3C,0x004E,0x1E4A,0x0054,0x1E70,0x0055,0x1E76,0x0064,0x1E13,0x0065,0x1E19,0x006C,0x1E3D,0x006E,0x1E4B,0x0074,0x1E71,0x0075,0x1E77,0x0048,0x1E2A,0x0068,0x1E2B,0x0045,0x1E1A,0x0049,0x1E2C,0x0055,0x1E74,0x0065,0x1E1B,
2351
  0x0069,0x1E2D,0x0075,0x1E75,0x0042,0x1E06,0x0044,0x1E0E,0x004B,0x1E34,0x004C,0x1E3A,0x004E,0x1E48,0x0052,0x1E5E,0x0054,0x1E6E,0x005A,0x1E94,0x0062,0x1E07,0x0064,0x1E0F,0x0068,0x1E96,0x006B,0x1E35,0x006C,0x1E3B,0x006E,0x1E49,
2352
  0x0072,0x1E5F,0x0074,0x1E6F,0x007A,0x1E95,0x003C,0x226E,0x003D,0x2260,0x003E,0x226F,0x2190,0x219A,0x2192,0x219B,0x2194,0x21AE,0x21D0,0x21CD,0x21D2,0x21CF,0x21D4,0x21CE,0x2203,0x2204,0x2208,0x2209,0x220B,0x220C,0x2223,0x2224,
2353
  0x2225,0x2226,0x223C,0x2241,0x2243,0x2244,0x2245,0x2247,0x2248,0x2249,0x224D,0x226D,0x2261,0x2262,0x2264,0x2270,0x2265,0x2271,0x2272,0x2274,0x2273,0x2275,0x2276,0x2278,0x2277,0x2279,0x227A,0x2280,0x227B,0x2281,0x227C,0x22E0,
2354
  0x227D,0x22E1,0x2282,0x2284,0x2283,0x2285,0x2286,0x2288,0x2287,0x2289,0x2291,0x22E2,0x2292,0x22E3,0x22A2,0x22AC,0x22A8,0x22AD,0x22A9,0x22AE,0x22AB,0x22AF,0x22B2,0x22EA,0x22B3,0x22EB,0x22B4,0x22EC,0x22B5,0x22ED,0x00A8,0x1FC1,
2355
  0x03B1,0x1FB6,0x03B7,0x1FC6,0x03B9,0x1FD6,0x03C5,0x1FE6,0x03C9,0x1FF6,0x03CA,0x1FD7,0x03CB,0x1FE7,0x1F00,0x1F06,0x1F01,0x1F07,0x1F08,0x1F0E,0x1F09,0x1F0F,0x1F20,0x1F26,0x1F21,0x1F27,0x1F28,0x1F2E,0x1F29,0x1F2F,0x1F30,0x1F36,
2356
  0x1F31,0x1F37,0x1F38,0x1F3E,0x1F39,0x1F3F,0x1F50,0x1F56,0x1F51,0x1F57,0x1F59,0x1F5F,0x1F60,0x1F66,0x1F61,0x1F67,0x1F68,0x1F6E,0x1F69,0x1F6F,0x1FBF,0x1FCF,0x1FFE,0x1FDF,0x0391,0x1FBC,0x0397,0x1FCC,0x03A9,0x1FFC,0x03AC,0x1FB4,
2357
  0x03AE,0x1FC4,0x03B1,0x1FB3,0x03B7,0x1FC3,0x03C9,0x1FF3,0x03CE,0x1FF4,0x1F00,0x1F80,0x1F01,0x1F81,0x1F02,0x1F82,0x1F03,0x1F83,0x1F04,0x1F84,0x1F05,0x1F85,0x1F06,0x1F86,0x1F07,0x1F87,0x1F08,0x1F88,0x1F09,0x1F89,0x1F0A,0x1F8A,
2358
  0x1F0B,0x1F8B,0x1F0C,0x1F8C,0x1F0D,0x1F8D,0x1F0E,0x1F8E,0x1F0F,0x1F8F,0x1F20,0x1F90,0x1F21,0x1F91,0x1F22,0x1F92,0x1F23,0x1F93,0x1F24,0x1F94,0x1F25,0x1F95,0x1F26,0x1F96,0x1F27,0x1F97,0x1F28,0x1F98,0x1F29,0x1F99,0x1F2A,0x1F9A,
2359
  0x1F2B,0x1F9B,0x1F2C,0x1F9C,0x1F2D,0x1F9D,0x1F2E,0x1F9E,0x1F2F,0x1F9F,0x1F60,0x1FA0,0x1F61,0x1FA1,0x1F62,0x1FA2,0x1F63,0x1FA3,0x1F64,0x1FA4,0x1F65,0x1FA5,0x1F66,0x1FA6,0x1F67,0x1FA7,0x1F68,0x1FA8,0x1F69,0x1FA9,0x1F6A,0x1FAA,
2360
  0x1F6B,0x1FAB,0x1F6C,0x1FAC,0x1F6D,0x1FAD,0x1F6E,0x1FAE,0x1F6F,0x1FAF,0x1F70,0x1FB2,0x1F74,0x1FC2,0x1F7C,0x1FF2,0x1FB6,0x1FB7,0x1FC6,0x1FC7,0x1FF6,0x1FF7,0x0627,0x0622,0x0627,0x0623,0x0648,0x0624,0x064A,0x0626,0x06C1,0x06C2,
2361
  0x06D2,0x06D3,0x06D5,0x06C0,0x0627,0x0625,0x0928,0x0929,0x0930,0x0931,0x0933,0x0934,0x09C7,0x09CB,0x09C7,0x09CC,0x0B47,0x0B4B,0x0B47,0x0B48,0x0B47,0x0B4C,0x0BC6,0x0BCA,0x0BC7,0x0BCB,0x0B92,0x0B94,0x0BC6,0x0BCC,0x0C46,0x0C48,
2362
  0x0CC6,0x0CCA,0x0CBF,0x0CC0,0x0CC6,0x0CC7,0x0CCA,0x0CCB,0x0CC6,0x0CC8,0x0D46,0x0D4A,0x0D47,0x0D4B,0x0D46,0x0D4C,0x0DD9,0x0DDA,0x0DDC,0x0DDD,0x0DD9,0x0DDC,0x0DD9,0x0DDE,0x1025,0x1026,0x1B05,0x1B06,0x1B07,0x1B08,0x1B09,0x1B0A,
2363
  0x1B0B,0x1B0C,0x1B0D,0x1B0E,0x1B11,0x1B12,0x1B3A,0x1B3B,0x1B3C,0x1B3D,0x1B3E,0x1B40,0x1B3F,0x1B41,0x1B42,0x1B43,0x3046,0x3094,0x304B,0x304C,0x304D,0x304E,0x304F,0x3050,0x3051,0x3052,0x3053,0x3054,0x3055,0x3056,0x3057,0x3058,
2364
  0x3059,0x305A,0x305B,0x305C,0x305D,0x305E,0x305F,0x3060,0x3061,0x3062,0x3064,0x3065,0x3066,0x3067,0x3068,0x3069,0x306F,0x3070,0x3072,0x3073,0x3075,0x3076,0x3078,0x3079,0x307B,0x307C,0x309D,0x309E,0x30A6,0x30F4,0x30AB,0x30AC,
2365
  0x30AD,0x30AE,0x30AF,0x30B0,0x30B1,0x30B2,0x30B3,0x30B4,0x30B5,0x30B6,0x30B7,0x30B8,0x30B9,0x30BA,0x30BB,0x30BC,0x30BD,0x30BE,0x30BF,0x30C0,0x30C1,0x30C2,0x30C4,0x30C5,0x30C6,0x30C7,0x30C8,0x30C9,0x30CF,0x30D0,0x30D2,0x30D3,
2366
  0x30D5,0x30D6,0x30D8,0x30D9,0x30DB,0x30DC,0x30EF,0x30F7,0x30F0,0x30F8,0x30F1,0x30F9,0x30F2,0x30FA,0x30FD,0x30FE,0x306F,0x3071,0x3072,0x3074,0x3075,0x3077,0x3078,0x307A,0x307B,0x307D,0x30CF,0x30D1,0x30D2,0x30D4,0x30D5,0x30D7,
2367
  0x30D8,0x30DA,0x30DB,0x30DD,
2368
};
2369
54.6M
#define mxCompositionCount0 110
2370
static const txU2 gxCompositionIndex0[mxCompositionCount0] ICACHE_XS6RO_ATTR = {
2371
  0x0300,0,0x0301,84,0x0302,201,0x0303,233,0x0304,261,0x0306,305,0x0307,337,0x0308,385,0x0309,439,0x030A,463,0x030B,469,0x030C,475,0x030F,512,0x0311,526,0x0313,538,0x0314,552,
2372
  0x031B,568,0x0323,572,0x0324,614,0x0325,616,0x0326,618,0x0327,622,0x0328,644,0x032D,654,0x032E,666,0x0330,668,0x0331,674,0x0338,691,0x0342,735,0x0345,764,0x0653,827,0x0654,828,
2373
  0x0655,834,0x093C,835,0x09BE,838,0x09D7,839,0x0B3E,840,0x0B56,841,0x0B57,842,0x0BBE,843,0x0BD7,845,0x0C56,847,0x0CC2,848,0x0CD5,849,0x0CD6,852,0x0D3E,853,0x0D57,855,0x0DCA,856,
2374
  0x0DCF,858,0x0DDF,859,0x102E,860,0x1B35,861,0x3099,872,0x309A,920,0xFFFF,930,
2375
};
2376
#define mxCompositionSize1 62
2377
static const txU2 gxCompositionData1[mxCompositionSize1] ICACHE_XS6RO_ATTR = {
2378
  0x1099,0x109A,0x109B,0x109C,0x10A5,0x10AB,0x1131,0x112E,0x1132,0x112F,0x1347,0x134B,0x1347,0x134C,0x13C2,0x13C7,0x1384,0x1385,0x138B,0x138E,0x13C2,0x13C5,0x1382,0x1383,0x1390,0x1391,0x13C2,0x13C8,0x14B9,0x14BC,0x14B9,0x14BB,
2379
  0x14B9,0x14BE,0x15B8,0x15BA,0x15B9,0x15BB,0x1935,0x1938,0x611E,0x6121,0x611E,0x6123,0x6121,0x6126,0x6122,0x6127,0x6129,0x6124,0x611E,0x6125,0x6121,0x6128,0x611E,0x6122,0x6D63,0x6D69,0x6D67,0x6D68,0x6D69,0x6D6A,
2380
};
2381
90.1k
#define mxCompositionCount1 38
2382
static const txU2 gxCompositionIndex1[mxCompositionCount1] ICACHE_XS6RO_ATTR = {
2383
  0x10BA,0,0x1127,3,0x133E,5,0x1357,6,0x13B8,7,0x13BB,8,0x13C2,9,0x13C9,11,0x14B0,14,0x14BA,15,0x14BD,16,0x15AF,17,0x1930,19,0x611E,20,0x611F,21,0x6120,25,
2384
  0x6129,27,0x6D67,28,0xFFFF,31,
2385
};
2386
#define mxDecompositionSize0 13559
2387
const txU1 gxDecompositionData0[mxDecompositionSize0] ICACHE_XS6RO_ATTR = {
2388
  0x20,0x20,0xcc,0x88,0x61,0x20,0xcc,0x84,0x32,0x33,0x20,0xcc,0x81,0xce,0xbc,0x20,0xcc,0xa7,0x31,0x6f,0x31,0xe2,0x81,0x84,0x34,0x31,0xe2,0x81,0x84,0x32,0x33,0xe2,
2389
  0x81,0x84,0x34,0x41,0xcc,0x80,0x41,0xcc,0x81,0x41,0xcc,0x82,0x41,0xcc,0x83,0x41,0xcc,0x88,0x41,0xcc,0x8a,0x43,0xcc,0xa7,0x45,0xcc,0x80,0x45,0xcc,0x81,0x45,0xcc,
2390
  0x82,0x45,0xcc,0x88,0x49,0xcc,0x80,0x49,0xcc,0x81,0x49,0xcc,0x82,0x49,0xcc,0x88,0x4e,0xcc,0x83,0x4f,0xcc,0x80,0x4f,0xcc,0x81,0x4f,0xcc,0x82,0x4f,0xcc,0x83,0x4f,
2391
  0xcc,0x88,0x55,0xcc,0x80,0x55,0xcc,0x81,0x55,0xcc,0x82,0x55,0xcc,0x88,0x59,0xcc,0x81,0x61,0xcc,0x80,0x61,0xcc,0x81,0x61,0xcc,0x82,0x61,0xcc,0x83,0x61,0xcc,0x88,
2392
  0x61,0xcc,0x8a,0x63,0xcc,0xa7,0x65,0xcc,0x80,0x65,0xcc,0x81,0x65,0xcc,0x82,0x65,0xcc,0x88,0x69,0xcc,0x80,0x69,0xcc,0x81,0x69,0xcc,0x82,0x69,0xcc,0x88,0x6e,0xcc,
2393
  0x83,0x6f,0xcc,0x80,0x6f,0xcc,0x81,0x6f,0xcc,0x82,0x6f,0xcc,0x83,0x6f,0xcc,0x88,0x75,0xcc,0x80,0x75,0xcc,0x81,0x75,0xcc,0x82,0x75,0xcc,0x88,0x79,0xcc,0x81,0x79,
2394
  0xcc,0x88,0x41,0xcc,0x84,0x61,0xcc,0x84,0x41,0xcc,0x86,0x61,0xcc,0x86,0x41,0xcc,0xa8,0x61,0xcc,0xa8,0x43,0xcc,0x81,0x63,0xcc,0x81,0x43,0xcc,0x82,0x63,0xcc,0x82,
2395
  0x43,0xcc,0x87,0x63,0xcc,0x87,0x43,0xcc,0x8c,0x63,0xcc,0x8c,0x44,0xcc,0x8c,0x64,0xcc,0x8c,0x45,0xcc,0x84,0x65,0xcc,0x84,0x45,0xcc,0x86,0x65,0xcc,0x86,0x45,0xcc,
2396
  0x87,0x65,0xcc,0x87,0x45,0xcc,0xa8,0x65,0xcc,0xa8,0x45,0xcc,0x8c,0x65,0xcc,0x8c,0x47,0xcc,0x82,0x67,0xcc,0x82,0x47,0xcc,0x86,0x67,0xcc,0x86,0x47,0xcc,0x87,0x67,
2397
  0xcc,0x87,0x47,0xcc,0xa7,0x67,0xcc,0xa7,0x48,0xcc,0x82,0x68,0xcc,0x82,0x49,0xcc,0x83,0x69,0xcc,0x83,0x49,0xcc,0x84,0x69,0xcc,0x84,0x49,0xcc,0x86,0x69,0xcc,0x86,
2398
  0x49,0xcc,0xa8,0x69,0xcc,0xa8,0x49,0xcc,0x87,0x49,0x4a,0x69,0x6a,0x4a,0xcc,0x82,0x6a,0xcc,0x82,0x4b,0xcc,0xa7,0x6b,0xcc,0xa7,0x4c,0xcc,0x81,0x6c,0xcc,0x81,0x4c,
2399
  0xcc,0xa7,0x6c,0xcc,0xa7,0x4c,0xcc,0x8c,0x6c,0xcc,0x8c,0x4c,0xc2,0xb7,0x6c,0xc2,0xb7,0x4e,0xcc,0x81,0x6e,0xcc,0x81,0x4e,0xcc,0xa7,0x6e,0xcc,0xa7,0x4e,0xcc,0x8c,
2400
  0x6e,0xcc,0x8c,0xca,0xbc,0x6e,0x4f,0xcc,0x84,0x6f,0xcc,0x84,0x4f,0xcc,0x86,0x6f,0xcc,0x86,0x4f,0xcc,0x8b,0x6f,0xcc,0x8b,0x52,0xcc,0x81,0x72,0xcc,0x81,0x52,0xcc,
2401
  0xa7,0x72,0xcc,0xa7,0x52,0xcc,0x8c,0x72,0xcc,0x8c,0x53,0xcc,0x81,0x73,0xcc,0x81,0x53,0xcc,0x82,0x73,0xcc,0x82,0x53,0xcc,0xa7,0x73,0xcc,0xa7,0x53,0xcc,0x8c,0x73,
2402
  0xcc,0x8c,0x54,0xcc,0xa7,0x74,0xcc,0xa7,0x54,0xcc,0x8c,0x74,0xcc,0x8c,0x55,0xcc,0x83,0x75,0xcc,0x83,0x55,0xcc,0x84,0x75,0xcc,0x84,0x55,0xcc,0x86,0x75,0xcc,0x86,
2403
  0x55,0xcc,0x8a,0x75,0xcc,0x8a,0x55,0xcc,0x8b,0x75,0xcc,0x8b,0x55,0xcc,0xa8,0x75,0xcc,0xa8,0x57,0xcc,0x82,0x77,0xcc,0x82,0x59,0xcc,0x82,0x79,0xcc,0x82,0x59,0xcc,
2404
  0x88,0x5a,0xcc,0x81,0x7a,0xcc,0x81,0x5a,0xcc,0x87,0x7a,0xcc,0x87,0x5a,0xcc,0x8c,0x7a,0xcc,0x8c,0x73,0x4f,0xcc,0x9b,0x6f,0xcc,0x9b,0x55,0xcc,0x9b,0x75,0xcc,0x9b,
2405
  0x44,0xc5,0xbd,0x44,0xc5,0xbe,0x64,0xc5,0xbe,0x4c,0x4a,0x4c,0x6a,0x6c,0x6a,0x4e,0x4a,0x4e,0x6a,0x6e,0x6a,0x41,0xcc,0x8c,0x61,0xcc,0x8c,0x49,0xcc,0x8c,0x69,0xcc,
2406
  0x8c,0x4f,0xcc,0x8c,0x6f,0xcc,0x8c,0x55,0xcc,0x8c,0x75,0xcc,0x8c,0xc3,0x9c,0xcc,0x84,0xc3,0xbc,0xcc,0x84,0xc3,0x9c,0xcc,0x81,0xc3,0xbc,0xcc,0x81,0xc3,0x9c,0xcc,
2407
  0x8c,0xc3,0xbc,0xcc,0x8c,0xc3,0x9c,0xcc,0x80,0xc3,0xbc,0xcc,0x80,0xc3,0x84,0xcc,0x84,0xc3,0xa4,0xcc,0x84,0xc8,0xa6,0xcc,0x84,0xc8,0xa7,0xcc,0x84,0xc3,0x86,0xcc,
2408
  0x84,0xc3,0xa6,0xcc,0x84,0x47,0xcc,0x8c,0x67,0xcc,0x8c,0x4b,0xcc,0x8c,0x6b,0xcc,0x8c,0x4f,0xcc,0xa8,0x6f,0xcc,0xa8,0xc7,0xaa,0xcc,0x84,0xc7,0xab,0xcc,0x84,0xc6,
2409
  0xb7,0xcc,0x8c,0xca,0x92,0xcc,0x8c,0x6a,0xcc,0x8c,0x44,0x5a,0x44,0x7a,0x64,0x7a,0x47,0xcc,0x81,0x67,0xcc,0x81,0x4e,0xcc,0x80,0x6e,0xcc,0x80,0xc3,0x85,0xcc,0x81,
2410
  0xc3,0xa5,0xcc,0x81,0xc3,0x86,0xcc,0x81,0xc3,0xa6,0xcc,0x81,0xc3,0x98,0xcc,0x81,0xc3,0xb8,0xcc,0x81,0x41,0xcc,0x8f,0x61,0xcc,0x8f,0x41,0xcc,0x91,0x61,0xcc,0x91,
2411
  0x45,0xcc,0x8f,0x65,0xcc,0x8f,0x45,0xcc,0x91,0x65,0xcc,0x91,0x49,0xcc,0x8f,0x69,0xcc,0x8f,0x49,0xcc,0x91,0x69,0xcc,0x91,0x4f,0xcc,0x8f,0x6f,0xcc,0x8f,0x4f,0xcc,
2412
  0x91,0x6f,0xcc,0x91,0x52,0xcc,0x8f,0x72,0xcc,0x8f,0x52,0xcc,0x91,0x72,0xcc,0x91,0x55,0xcc,0x8f,0x75,0xcc,0x8f,0x55,0xcc,0x91,0x75,0xcc,0x91,0x53,0xcc,0xa6,0x73,
2413
  0xcc,0xa6,0x54,0xcc,0xa6,0x74,0xcc,0xa6,0x48,0xcc,0x8c,0x68,0xcc,0x8c,0x41,0xcc,0x87,0x61,0xcc,0x87,0x45,0xcc,0xa7,0x65,0xcc,0xa7,0xc3,0x96,0xcc,0x84,0xc3,0xb6,
2414
  0xcc,0x84,0xc3,0x95,0xcc,0x84,0xc3,0xb5,0xcc,0x84,0x4f,0xcc,0x87,0x6f,0xcc,0x87,0xc8,0xae,0xcc,0x84,0xc8,0xaf,0xcc,0x84,0x59,0xcc,0x84,0x79,0xcc,0x84,0x68,0xc9,
2415
  0xa6,0x6a,0x72,0xc9,0xb9,0xc9,0xbb,0xca,0x81,0x77,0x79,0x20,0xcc,0x86,0x20,0xcc,0x87,0x20,0xcc,0x8a,0x20,0xcc,0xa8,0x20,0xcc,0x83,0x20,0xcc,0x8b,0xc9,0xa3,0x6c,
2416
  0x73,0x78,0xca,0x95,0xcc,0x80,0xcc,0x81,0xcc,0x93,0xcc,0x88,0xcc,0x81,0xca,0xb9,0x20,0xcd,0x85,0x3b,0x20,0xcc,0x81,0xc2,0xa8,0xcc,0x81,0xce,0x91,0xcc,0x81,0xc2,
2417
  0xb7,0xce,0x95,0xcc,0x81,0xce,0x97,0xcc,0x81,0xce,0x99,0xcc,0x81,0xce,0x9f,0xcc,0x81,0xce,0xa5,0xcc,0x81,0xce,0xa9,0xcc,0x81,0xcf,0x8a,0xcc,0x81,0xce,0x99,0xcc,
2418
  0x88,0xce,0xa5,0xcc,0x88,0xce,0xb1,0xcc,0x81,0xce,0xb5,0xcc,0x81,0xce,0xb7,0xcc,0x81,0xce,0xb9,0xcc,0x81,0xcf,0x8b,0xcc,0x81,0xce,0xb9,0xcc,0x88,0xcf,0x85,0xcc,
2419
  0x88,0xce,0xbf,0xcc,0x81,0xcf,0x85,0xcc,0x81,0xcf,0x89,0xcc,0x81,0xce,0xb2,0xce,0xb8,0xce,0xa5,0xcf,0x92,0xcc,0x81,0xcf,0x92,0xcc,0x88,0xcf,0x86,0xcf,0x80,0xce,
2420
  0xba,0xcf,0x81,0xcf,0x82,0xce,0x98,0xce,0xb5,0xce,0xa3,0xd0,0x95,0xcc,0x80,0xd0,0x95,0xcc,0x88,0xd0,0x93,0xcc,0x81,0xd0,0x86,0xcc,0x88,0xd0,0x9a,0xcc,0x81,0xd0,
2421
  0x98,0xcc,0x80,0xd0,0xa3,0xcc,0x86,0xd0,0x98,0xcc,0x86,0xd0,0xb8,0xcc,0x86,0xd0,0xb5,0xcc,0x80,0xd0,0xb5,0xcc,0x88,0xd0,0xb3,0xcc,0x81,0xd1,0x96,0xcc,0x88,0xd0,
2422
  0xba,0xcc,0x81,0xd0,0xb8,0xcc,0x80,0xd1,0x83,0xcc,0x86,0xd1,0xb4,0xcc,0x8f,0xd1,0xb5,0xcc,0x8f,0xd0,0x96,0xcc,0x86,0xd0,0xb6,0xcc,0x86,0xd0,0x90,0xcc,0x86,0xd0,
2423
  0xb0,0xcc,0x86,0xd0,0x90,0xcc,0x88,0xd0,0xb0,0xcc,0x88,0xd0,0x95,0xcc,0x86,0xd0,0xb5,0xcc,0x86,0xd3,0x98,0xcc,0x88,0xd3,0x99,0xcc,0x88,0xd0,0x96,0xcc,0x88,0xd0,
2424
  0xb6,0xcc,0x88,0xd0,0x97,0xcc,0x88,0xd0,0xb7,0xcc,0x88,0xd0,0x98,0xcc,0x84,0xd0,0xb8,0xcc,0x84,0xd0,0x98,0xcc,0x88,0xd0,0xb8,0xcc,0x88,0xd0,0x9e,0xcc,0x88,0xd0,
2425
  0xbe,0xcc,0x88,0xd3,0xa8,0xcc,0x88,0xd3,0xa9,0xcc,0x88,0xd0,0xad,0xcc,0x88,0xd1,0x8d,0xcc,0x88,0xd0,0xa3,0xcc,0x84,0xd1,0x83,0xcc,0x84,0xd0,0xa3,0xcc,0x88,0xd1,
2426
  0x83,0xcc,0x88,0xd0,0xa3,0xcc,0x8b,0xd1,0x83,0xcc,0x8b,0xd0,0xa7,0xcc,0x88,0xd1,0x87,0xcc,0x88,0xd0,0xab,0xcc,0x88,0xd1,0x8b,0xcc,0x88,0xd5,0xa5,0xd6,0x82,0xd8,
2427
  0xa7,0xd9,0x93,0xd8,0xa7,0xd9,0x94,0xd9,0x88,0xd9,0x94,0xd8,0xa7,0xd9,0x95,0xd9,0x8a,0xd9,0x94,0xd8,0xa7,0xd9,0xb4,0xd9,0x88,0xd9,0xb4,0xdb,0x87,0xd9,0xb4,0xd9,
2428
  0x8a,0xd9,0xb4,0xdb,0x95,0xd9,0x94,0xdb,0x81,0xd9,0x94,0xdb,0x92,0xd9,0x94,0xe0,0xa4,0xa8,0xe0,0xa4,0xbc,0xe0,0xa4,0xb0,0xe0,0xa4,0xbc,0xe0,0xa4,0xb3,0xe0,0xa4,
2429
  0xbc,0xe0,0xa4,0x95,0xe0,0xa4,0xbc,0xe0,0xa4,0x96,0xe0,0xa4,0xbc,0xe0,0xa4,0x97,0xe0,0xa4,0xbc,0xe0,0xa4,0x9c,0xe0,0xa4,0xbc,0xe0,0xa4,0xa1,0xe0,0xa4,0xbc,0xe0,
2430
  0xa4,0xa2,0xe0,0xa4,0xbc,0xe0,0xa4,0xab,0xe0,0xa4,0xbc,0xe0,0xa4,0xaf,0xe0,0xa4,0xbc,0xe0,0xa7,0x87,0xe0,0xa6,0xbe,0xe0,0xa7,0x87,0xe0,0xa7,0x97,0xe0,0xa6,0xa1,
2431
  0xe0,0xa6,0xbc,0xe0,0xa6,0xa2,0xe0,0xa6,0xbc,0xe0,0xa6,0xaf,0xe0,0xa6,0xbc,0xe0,0xa8,0xb2,0xe0,0xa8,0xbc,0xe0,0xa8,0xb8,0xe0,0xa8,0xbc,0xe0,0xa8,0x96,0xe0,0xa8,
2432
  0xbc,0xe0,0xa8,0x97,0xe0,0xa8,0xbc,0xe0,0xa8,0x9c,0xe0,0xa8,0xbc,0xe0,0xa8,0xab,0xe0,0xa8,0xbc,0xe0,0xad,0x87,0xe0,0xad,0x96,0xe0,0xad,0x87,0xe0,0xac,0xbe,0xe0,
2433
  0xad,0x87,0xe0,0xad,0x97,0xe0,0xac,0xa1,0xe0,0xac,0xbc,0xe0,0xac,0xa2,0xe0,0xac,0xbc,0xe0,0xae,0x92,0xe0,0xaf,0x97,0xe0,0xaf,0x86,0xe0,0xae,0xbe,0xe0,0xaf,0x87,
2434
  0xe0,0xae,0xbe,0xe0,0xaf,0x86,0xe0,0xaf,0x97,0xe0,0xb1,0x86,0xe0,0xb1,0x96,0xe0,0xb2,0xbf,0xe0,0xb3,0x95,0xe0,0xb3,0x86,0xe0,0xb3,0x95,0xe0,0xb3,0x86,0xe0,0xb3,
2435
  0x96,0xe0,0xb3,0x86,0xe0,0xb3,0x82,0xe0,0xb3,0x8a,0xe0,0xb3,0x95,0xe0,0xb5,0x86,0xe0,0xb4,0xbe,0xe0,0xb5,0x87,0xe0,0xb4,0xbe,0xe0,0xb5,0x86,0xe0,0xb5,0x97,0xe0,
2436
  0xb7,0x99,0xe0,0xb7,0x8a,0xe0,0xb7,0x99,0xe0,0xb7,0x8f,0xe0,0xb7,0x9c,0xe0,0xb7,0x8a,0xe0,0xb7,0x99,0xe0,0xb7,0x9f,0xe0,0xb9,0x8d,0xe0,0xb8,0xb2,0xe0,0xbb,0x8d,
2437
  0xe0,0xba,0xb2,0xe0,0xba,0xab,0xe0,0xba,0x99,0xe0,0xba,0xab,0xe0,0xba,0xa1,0xe0,0xbc,0x8b,0xe0,0xbd,0x82,0xe0,0xbe,0xb7,0xe0,0xbd,0x8c,0xe0,0xbe,0xb7,0xe0,0xbd,
2438
  0x91,0xe0,0xbe,0xb7,0xe0,0xbd,0x96,0xe0,0xbe,0xb7,0xe0,0xbd,0x9b,0xe0,0xbe,0xb7,0xe0,0xbd,0x80,0xe0,0xbe,0xb5,0xe0,0xbd,0xb1,0xe0,0xbd,0xb2,0xe0,0xbd,0xb1,0xe0,
2439
  0xbd,0xb4,0xe0,0xbe,0xb2,0xe0,0xbe,0x80,0xe0,0xbe,0xb2,0xe0,0xbe,0x81,0xe0,0xbe,0xb3,0xe0,0xbe,0x80,0xe0,0xbe,0xb3,0xe0,0xbe,0x81,0xe0,0xbd,0xb1,0xe0,0xbe,0x80,
2440
  0xe0,0xbe,0x92,0xe0,0xbe,0xb7,0xe0,0xbe,0x9c,0xe0,0xbe,0xb7,0xe0,0xbe,0xa1,0xe0,0xbe,0xb7,0xe0,0xbe,0xa6,0xe0,0xbe,0xb7,0xe0,0xbe,0xab,0xe0,0xbe,0xb7,0xe0,0xbe,
2441
  0x90,0xe0,0xbe,0xb5,0xe1,0x80,0xa5,0xe1,0x80,0xae,0xe1,0x83,0x9c,0xe1,0xac,0x85,0xe1,0xac,0xb5,0xe1,0xac,0x87,0xe1,0xac,0xb5,0xe1,0xac,0x89,0xe1,0xac,0xb5,0xe1,
2442
  0xac,0x8b,0xe1,0xac,0xb5,0xe1,0xac,0x8d,0xe1,0xac,0xb5,0xe1,0xac,0x91,0xe1,0xac,0xb5,0xe1,0xac,0xba,0xe1,0xac,0xb5,0xe1,0xac,0xbc,0xe1,0xac,0xb5,0xe1,0xac,0xbe,
2443
  0xe1,0xac,0xb5,0xe1,0xac,0xbf,0xe1,0xac,0xb5,0xe1,0xad,0x82,0xe1,0xac,0xb5,0x41,0xc3,0x86,0x42,0x44,0x45,0xc6,0x8e,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
2444
  0xc8,0xa2,0x50,0x52,0x54,0x55,0x57,0x61,0xc9,0x90,0xc9,0x91,0xe1,0xb4,0x82,0x62,0x64,0x65,0xc9,0x99,0xc9,0x9b,0xc9,0x9c,0x67,0x6b,0x6d,0xc5,0x8b,0x6f,0xc9,0x94,
2445
  0xe1,0xb4,0x96,0xe1,0xb4,0x97,0x70,0x74,0x75,0xe1,0xb4,0x9d,0xc9,0xaf,0x76,0xe1,0xb4,0xa5,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xcf,0x86,0xcf,0x87,0x69,0x72,0x75,0x76,
2446
  0xce,0xb2,0xce,0xb3,0xcf,0x81,0xcf,0x86,0xcf,0x87,0xd0,0xbd,0xc9,0x92,0x63,0xc9,0x95,0xc3,0xb0,0xc9,0x9c,0x66,0xc9,0x9f,0xc9,0xa1,0xc9,0xa5,0xc9,0xa8,0xc9,0xa9,
2447
  0xc9,0xaa,0xe1,0xb5,0xbb,0xca,0x9d,0xc9,0xad,0xe1,0xb6,0x85,0xca,0x9f,0xc9,0xb1,0xc9,0xb0,0xc9,0xb2,0xc9,0xb3,0xc9,0xb4,0xc9,0xb5,0xc9,0xb8,0xca,0x82,0xca,0x83,
2448
  0xc6,0xab,0xca,0x89,0xca,0x8a,0xe1,0xb4,0x9c,0xca,0x8b,0xca,0x8c,0x7a,0xca,0x90,0xca,0x91,0xca,0x92,0xce,0xb8,0x41,0xcc,0xa5,0x61,0xcc,0xa5,0x42,0xcc,0x87,0x62,
2449
  0xcc,0x87,0x42,0xcc,0xa3,0x62,0xcc,0xa3,0x42,0xcc,0xb1,0x62,0xcc,0xb1,0xc3,0x87,0xcc,0x81,0xc3,0xa7,0xcc,0x81,0x44,0xcc,0x87,0x64,0xcc,0x87,0x44,0xcc,0xa3,0x64,
2450
  0xcc,0xa3,0x44,0xcc,0xb1,0x64,0xcc,0xb1,0x44,0xcc,0xa7,0x64,0xcc,0xa7,0x44,0xcc,0xad,0x64,0xcc,0xad,0xc4,0x92,0xcc,0x80,0xc4,0x93,0xcc,0x80,0xc4,0x92,0xcc,0x81,
2451
  0xc4,0x93,0xcc,0x81,0x45,0xcc,0xad,0x65,0xcc,0xad,0x45,0xcc,0xb0,0x65,0xcc,0xb0,0xc8,0xa8,0xcc,0x86,0xc8,0xa9,0xcc,0x86,0x46,0xcc,0x87,0x66,0xcc,0x87,0x47,0xcc,
2452
  0x84,0x67,0xcc,0x84,0x48,0xcc,0x87,0x68,0xcc,0x87,0x48,0xcc,0xa3,0x68,0xcc,0xa3,0x48,0xcc,0x88,0x68,0xcc,0x88,0x48,0xcc,0xa7,0x68,0xcc,0xa7,0x48,0xcc,0xae,0x68,
2453
  0xcc,0xae,0x49,0xcc,0xb0,0x69,0xcc,0xb0,0xc3,0x8f,0xcc,0x81,0xc3,0xaf,0xcc,0x81,0x4b,0xcc,0x81,0x6b,0xcc,0x81,0x4b,0xcc,0xa3,0x6b,0xcc,0xa3,0x4b,0xcc,0xb1,0x6b,
2454
  0xcc,0xb1,0x4c,0xcc,0xa3,0x6c,0xcc,0xa3,0xe1,0xb8,0xb6,0xcc,0x84,0xe1,0xb8,0xb7,0xcc,0x84,0x4c,0xcc,0xb1,0x6c,0xcc,0xb1,0x4c,0xcc,0xad,0x6c,0xcc,0xad,0x4d,0xcc,
2455
  0x81,0x6d,0xcc,0x81,0x4d,0xcc,0x87,0x6d,0xcc,0x87,0x4d,0xcc,0xa3,0x6d,0xcc,0xa3,0x4e,0xcc,0x87,0x6e,0xcc,0x87,0x4e,0xcc,0xa3,0x6e,0xcc,0xa3,0x4e,0xcc,0xb1,0x6e,
2456
  0xcc,0xb1,0x4e,0xcc,0xad,0x6e,0xcc,0xad,0xc3,0x95,0xcc,0x81,0xc3,0xb5,0xcc,0x81,0xc3,0x95,0xcc,0x88,0xc3,0xb5,0xcc,0x88,0xc5,0x8c,0xcc,0x80,0xc5,0x8d,0xcc,0x80,
2457
  0xc5,0x8c,0xcc,0x81,0xc5,0x8d,0xcc,0x81,0x50,0xcc,0x81,0x70,0xcc,0x81,0x50,0xcc,0x87,0x70,0xcc,0x87,0x52,0xcc,0x87,0x72,0xcc,0x87,0x52,0xcc,0xa3,0x72,0xcc,0xa3,
2458
  0xe1,0xb9,0x9a,0xcc,0x84,0xe1,0xb9,0x9b,0xcc,0x84,0x52,0xcc,0xb1,0x72,0xcc,0xb1,0x53,0xcc,0x87,0x73,0xcc,0x87,0x53,0xcc,0xa3,0x73,0xcc,0xa3,0xc5,0x9a,0xcc,0x87,
2459
  0xc5,0x9b,0xcc,0x87,0xc5,0xa0,0xcc,0x87,0xc5,0xa1,0xcc,0x87,0xe1,0xb9,0xa2,0xcc,0x87,0xe1,0xb9,0xa3,0xcc,0x87,0x54,0xcc,0x87,0x74,0xcc,0x87,0x54,0xcc,0xa3,0x74,
2460
  0xcc,0xa3,0x54,0xcc,0xb1,0x74,0xcc,0xb1,0x54,0xcc,0xad,0x74,0xcc,0xad,0x55,0xcc,0xa4,0x75,0xcc,0xa4,0x55,0xcc,0xb0,0x75,0xcc,0xb0,0x55,0xcc,0xad,0x75,0xcc,0xad,
2461
  0xc5,0xa8,0xcc,0x81,0xc5,0xa9,0xcc,0x81,0xc5,0xaa,0xcc,0x88,0xc5,0xab,0xcc,0x88,0x56,0xcc,0x83,0x76,0xcc,0x83,0x56,0xcc,0xa3,0x76,0xcc,0xa3,0x57,0xcc,0x80,0x77,
2462
  0xcc,0x80,0x57,0xcc,0x81,0x77,0xcc,0x81,0x57,0xcc,0x88,0x77,0xcc,0x88,0x57,0xcc,0x87,0x77,0xcc,0x87,0x57,0xcc,0xa3,0x77,0xcc,0xa3,0x58,0xcc,0x87,0x78,0xcc,0x87,
2463
  0x58,0xcc,0x88,0x78,0xcc,0x88,0x59,0xcc,0x87,0x79,0xcc,0x87,0x5a,0xcc,0x82,0x7a,0xcc,0x82,0x5a,0xcc,0xa3,0x7a,0xcc,0xa3,0x5a,0xcc,0xb1,0x7a,0xcc,0xb1,0x68,0xcc,
2464
  0xb1,0x74,0xcc,0x88,0x77,0xcc,0x8a,0x79,0xcc,0x8a,0x61,0xca,0xbe,0xc5,0xbf,0xcc,0x87,0x41,0xcc,0xa3,0x61,0xcc,0xa3,0x41,0xcc,0x89,0x61,0xcc,0x89,0xc3,0x82,0xcc,
2465
  0x81,0xc3,0xa2,0xcc,0x81,0xc3,0x82,0xcc,0x80,0xc3,0xa2,0xcc,0x80,0xc3,0x82,0xcc,0x89,0xc3,0xa2,0xcc,0x89,0xc3,0x82,0xcc,0x83,0xc3,0xa2,0xcc,0x83,0xe1,0xba,0xa0,
2466
  0xcc,0x82,0xe1,0xba,0xa1,0xcc,0x82,0xc4,0x82,0xcc,0x81,0xc4,0x83,0xcc,0x81,0xc4,0x82,0xcc,0x80,0xc4,0x83,0xcc,0x80,0xc4,0x82,0xcc,0x89,0xc4,0x83,0xcc,0x89,0xc4,
2467
  0x82,0xcc,0x83,0xc4,0x83,0xcc,0x83,0xe1,0xba,0xa0,0xcc,0x86,0xe1,0xba,0xa1,0xcc,0x86,0x45,0xcc,0xa3,0x65,0xcc,0xa3,0x45,0xcc,0x89,0x65,0xcc,0x89,0x45,0xcc,0x83,
2468
  0x65,0xcc,0x83,0xc3,0x8a,0xcc,0x81,0xc3,0xaa,0xcc,0x81,0xc3,0x8a,0xcc,0x80,0xc3,0xaa,0xcc,0x80,0xc3,0x8a,0xcc,0x89,0xc3,0xaa,0xcc,0x89,0xc3,0x8a,0xcc,0x83,0xc3,
2469
  0xaa,0xcc,0x83,0xe1,0xba,0xb8,0xcc,0x82,0xe1,0xba,0xb9,0xcc,0x82,0x49,0xcc,0x89,0x69,0xcc,0x89,0x49,0xcc,0xa3,0x69,0xcc,0xa3,0x4f,0xcc,0xa3,0x6f,0xcc,0xa3,0x4f,
2470
  0xcc,0x89,0x6f,0xcc,0x89,0xc3,0x94,0xcc,0x81,0xc3,0xb4,0xcc,0x81,0xc3,0x94,0xcc,0x80,0xc3,0xb4,0xcc,0x80,0xc3,0x94,0xcc,0x89,0xc3,0xb4,0xcc,0x89,0xc3,0x94,0xcc,
2471
  0x83,0xc3,0xb4,0xcc,0x83,0xe1,0xbb,0x8c,0xcc,0x82,0xe1,0xbb,0x8d,0xcc,0x82,0xc6,0xa0,0xcc,0x81,0xc6,0xa1,0xcc,0x81,0xc6,0xa0,0xcc,0x80,0xc6,0xa1,0xcc,0x80,0xc6,
2472
  0xa0,0xcc,0x89,0xc6,0xa1,0xcc,0x89,0xc6,0xa0,0xcc,0x83,0xc6,0xa1,0xcc,0x83,0xc6,0xa0,0xcc,0xa3,0xc6,0xa1,0xcc,0xa3,0x55,0xcc,0xa3,0x75,0xcc,0xa3,0x55,0xcc,0x89,
2473
  0x75,0xcc,0x89,0xc6,0xaf,0xcc,0x81,0xc6,0xb0,0xcc,0x81,0xc6,0xaf,0xcc,0x80,0xc6,0xb0,0xcc,0x80,0xc6,0xaf,0xcc,0x89,0xc6,0xb0,0xcc,0x89,0xc6,0xaf,0xcc,0x83,0xc6,
2474
  0xb0,0xcc,0x83,0xc6,0xaf,0xcc,0xa3,0xc6,0xb0,0xcc,0xa3,0x59,0xcc,0x80,0x79,0xcc,0x80,0x59,0xcc,0xa3,0x79,0xcc,0xa3,0x59,0xcc,0x89,0x79,0xcc,0x89,0x59,0xcc,0x83,
2475
  0x79,0xcc,0x83,0xce,0xb1,0xcc,0x93,0xce,0xb1,0xcc,0x94,0xe1,0xbc,0x80,0xcc,0x80,0xe1,0xbc,0x81,0xcc,0x80,0xe1,0xbc,0x80,0xcc,0x81,0xe1,0xbc,0x81,0xcc,0x81,0xe1,
2476
  0xbc,0x80,0xcd,0x82,0xe1,0xbc,0x81,0xcd,0x82,0xce,0x91,0xcc,0x93,0xce,0x91,0xcc,0x94,0xe1,0xbc,0x88,0xcc,0x80,0xe1,0xbc,0x89,0xcc,0x80,0xe1,0xbc,0x88,0xcc,0x81,
2477
  0xe1,0xbc,0x89,0xcc,0x81,0xe1,0xbc,0x88,0xcd,0x82,0xe1,0xbc,0x89,0xcd,0x82,0xce,0xb5,0xcc,0x93,0xce,0xb5,0xcc,0x94,0xe1,0xbc,0x90,0xcc,0x80,0xe1,0xbc,0x91,0xcc,
2478
  0x80,0xe1,0xbc,0x90,0xcc,0x81,0xe1,0xbc,0x91,0xcc,0x81,0xce,0x95,0xcc,0x93,0xce,0x95,0xcc,0x94,0xe1,0xbc,0x98,0xcc,0x80,0xe1,0xbc,0x99,0xcc,0x80,0xe1,0xbc,0x98,
2479
  0xcc,0x81,0xe1,0xbc,0x99,0xcc,0x81,0xce,0xb7,0xcc,0x93,0xce,0xb7,0xcc,0x94,0xe1,0xbc,0xa0,0xcc,0x80,0xe1,0xbc,0xa1,0xcc,0x80,0xe1,0xbc,0xa0,0xcc,0x81,0xe1,0xbc,
2480
  0xa1,0xcc,0x81,0xe1,0xbc,0xa0,0xcd,0x82,0xe1,0xbc,0xa1,0xcd,0x82,0xce,0x97,0xcc,0x93,0xce,0x97,0xcc,0x94,0xe1,0xbc,0xa8,0xcc,0x80,0xe1,0xbc,0xa9,0xcc,0x80,0xe1,
2481
  0xbc,0xa8,0xcc,0x81,0xe1,0xbc,0xa9,0xcc,0x81,0xe1,0xbc,0xa8,0xcd,0x82,0xe1,0xbc,0xa9,0xcd,0x82,0xce,0xb9,0xcc,0x93,0xce,0xb9,0xcc,0x94,0xe1,0xbc,0xb0,0xcc,0x80,
2482
  0xe1,0xbc,0xb1,0xcc,0x80,0xe1,0xbc,0xb0,0xcc,0x81,0xe1,0xbc,0xb1,0xcc,0x81,0xe1,0xbc,0xb0,0xcd,0x82,0xe1,0xbc,0xb1,0xcd,0x82,0xce,0x99,0xcc,0x93,0xce,0x99,0xcc,
2483
  0x94,0xe1,0xbc,0xb8,0xcc,0x80,0xe1,0xbc,0xb9,0xcc,0x80,0xe1,0xbc,0xb8,0xcc,0x81,0xe1,0xbc,0xb9,0xcc,0x81,0xe1,0xbc,0xb8,0xcd,0x82,0xe1,0xbc,0xb9,0xcd,0x82,0xce,
2484
  0xbf,0xcc,0x93,0xce,0xbf,0xcc,0x94,0xe1,0xbd,0x80,0xcc,0x80,0xe1,0xbd,0x81,0xcc,0x80,0xe1,0xbd,0x80,0xcc,0x81,0xe1,0xbd,0x81,0xcc,0x81,0xce,0x9f,0xcc,0x93,0xce,
2485
  0x9f,0xcc,0x94,0xe1,0xbd,0x88,0xcc,0x80,0xe1,0xbd,0x89,0xcc,0x80,0xe1,0xbd,0x88,0xcc,0x81,0xe1,0xbd,0x89,0xcc,0x81,0xcf,0x85,0xcc,0x93,0xcf,0x85,0xcc,0x94,0xe1,
2486
  0xbd,0x90,0xcc,0x80,0xe1,0xbd,0x91,0xcc,0x80,0xe1,0xbd,0x90,0xcc,0x81,0xe1,0xbd,0x91,0xcc,0x81,0xe1,0xbd,0x90,0xcd,0x82,0xe1,0xbd,0x91,0xcd,0x82,0xce,0xa5,0xcc,
2487
  0x94,0xe1,0xbd,0x99,0xcc,0x80,0xe1,0xbd,0x99,0xcc,0x81,0xe1,0xbd,0x99,0xcd,0x82,0xcf,0x89,0xcc,0x93,0xcf,0x89,0xcc,0x94,0xe1,0xbd,0xa0,0xcc,0x80,0xe1,0xbd,0xa1,
2488
  0xcc,0x80,0xe1,0xbd,0xa0,0xcc,0x81,0xe1,0xbd,0xa1,0xcc,0x81,0xe1,0xbd,0xa0,0xcd,0x82,0xe1,0xbd,0xa1,0xcd,0x82,0xce,0xa9,0xcc,0x93,0xce,0xa9,0xcc,0x94,0xe1,0xbd,
2489
  0xa8,0xcc,0x80,0xe1,0xbd,0xa9,0xcc,0x80,0xe1,0xbd,0xa8,0xcc,0x81,0xe1,0xbd,0xa9,0xcc,0x81,0xe1,0xbd,0xa8,0xcd,0x82,0xe1,0xbd,0xa9,0xcd,0x82,0xce,0xb1,0xcc,0x80,
2490
  0xce,0xac,0xce,0xb5,0xcc,0x80,0xce,0xad,0xce,0xb7,0xcc,0x80,0xce,0xae,0xce,0xb9,0xcc,0x80,0xce,0xaf,0xce,0xbf,0xcc,0x80,0xcf,0x8c,0xcf,0x85,0xcc,0x80,0xcf,0x8d,
2491
  0xcf,0x89,0xcc,0x80,0xcf,0x8e,0xe1,0xbc,0x80,0xcd,0x85,0xe1,0xbc,0x81,0xcd,0x85,0xe1,0xbc,0x82,0xcd,0x85,0xe1,0xbc,0x83,0xcd,0x85,0xe1,0xbc,0x84,0xcd,0x85,0xe1,
2492
  0xbc,0x85,0xcd,0x85,0xe1,0xbc,0x86,0xcd,0x85,0xe1,0xbc,0x87,0xcd,0x85,0xe1,0xbc,0x88,0xcd,0x85,0xe1,0xbc,0x89,0xcd,0x85,0xe1,0xbc,0x8a,0xcd,0x85,0xe1,0xbc,0x8b,
2493
  0xcd,0x85,0xe1,0xbc,0x8c,0xcd,0x85,0xe1,0xbc,0x8d,0xcd,0x85,0xe1,0xbc,0x8e,0xcd,0x85,0xe1,0xbc,0x8f,0xcd,0x85,0xe1,0xbc,0xa0,0xcd,0x85,0xe1,0xbc,0xa1,0xcd,0x85,
2494
  0xe1,0xbc,0xa2,0xcd,0x85,0xe1,0xbc,0xa3,0xcd,0x85,0xe1,0xbc,0xa4,0xcd,0x85,0xe1,0xbc,0xa5,0xcd,0x85,0xe1,0xbc,0xa6,0xcd,0x85,0xe1,0xbc,0xa7,0xcd,0x85,0xe1,0xbc,
2495
  0xa8,0xcd,0x85,0xe1,0xbc,0xa9,0xcd,0x85,0xe1,0xbc,0xaa,0xcd,0x85,0xe1,0xbc,0xab,0xcd,0x85,0xe1,0xbc,0xac,0xcd,0x85,0xe1,0xbc,0xad,0xcd,0x85,0xe1,0xbc,0xae,0xcd,
2496
  0x85,0xe1,0xbc,0xaf,0xcd,0x85,0xe1,0xbd,0xa0,0xcd,0x85,0xe1,0xbd,0xa1,0xcd,0x85,0xe1,0xbd,0xa2,0xcd,0x85,0xe1,0xbd,0xa3,0xcd,0x85,0xe1,0xbd,0xa4,0xcd,0x85,0xe1,
2497
  0xbd,0xa5,0xcd,0x85,0xe1,0xbd,0xa6,0xcd,0x85,0xe1,0xbd,0xa7,0xcd,0x85,0xe1,0xbd,0xa8,0xcd,0x85,0xe1,0xbd,0xa9,0xcd,0x85,0xe1,0xbd,0xaa,0xcd,0x85,0xe1,0xbd,0xab,
2498
  0xcd,0x85,0xe1,0xbd,0xac,0xcd,0x85,0xe1,0xbd,0xad,0xcd,0x85,0xe1,0xbd,0xae,0xcd,0x85,0xe1,0xbd,0xaf,0xcd,0x85,0xce,0xb1,0xcc,0x86,0xce,0xb1,0xcc,0x84,0xe1,0xbd,
2499
  0xb0,0xcd,0x85,0xce,0xb1,0xcd,0x85,0xce,0xac,0xcd,0x85,0xce,0xb1,0xcd,0x82,0xe1,0xbe,0xb6,0xcd,0x85,0xce,0x91,0xcc,0x86,0xce,0x91,0xcc,0x84,0xce,0x91,0xcc,0x80,
2500
  0xce,0x86,0xce,0x91,0xcd,0x85,0x20,0xcc,0x93,0xce,0xb9,0x20,0xcc,0x93,0x20,0xcd,0x82,0xc2,0xa8,0xcd,0x82,0xe1,0xbd,0xb4,0xcd,0x85,0xce,0xb7,0xcd,0x85,0xce,0xae,
2501
  0xcd,0x85,0xce,0xb7,0xcd,0x82,0xe1,0xbf,0x86,0xcd,0x85,0xce,0x95,0xcc,0x80,0xce,0x88,0xce,0x97,0xcc,0x80,0xce,0x89,0xce,0x97,0xcd,0x85,0xe1,0xbe,0xbf,0xcc,0x80,
2502
  0xe1,0xbe,0xbf,0xcc,0x81,0xe1,0xbe,0xbf,0xcd,0x82,0xce,0xb9,0xcc,0x86,0xce,0xb9,0xcc,0x84,0xcf,0x8a,0xcc,0x80,0xce,0x90,0xce,0xb9,0xcd,0x82,0xcf,0x8a,0xcd,0x82,
2503
  0xce,0x99,0xcc,0x86,0xce,0x99,0xcc,0x84,0xce,0x99,0xcc,0x80,0xce,0x8a,0xe1,0xbf,0xbe,0xcc,0x80,0xe1,0xbf,0xbe,0xcc,0x81,0xe1,0xbf,0xbe,0xcd,0x82,0xcf,0x85,0xcc,
2504
  0x86,0xcf,0x85,0xcc,0x84,0xcf,0x8b,0xcc,0x80,0xce,0xb0,0xcf,0x81,0xcc,0x93,0xcf,0x81,0xcc,0x94,0xcf,0x85,0xcd,0x82,0xcf,0x8b,0xcd,0x82,0xce,0xa5,0xcc,0x86,0xce,
2505
  0xa5,0xcc,0x84,0xce,0xa5,0xcc,0x80,0xce,0x8e,0xce,0xa1,0xcc,0x94,0xc2,0xa8,0xcc,0x80,0xce,0x85,0x60,0xe1,0xbd,0xbc,0xcd,0x85,0xcf,0x89,0xcd,0x85,0xcf,0x8e,0xcd,
2506
  0x85,0xcf,0x89,0xcd,0x82,0xe1,0xbf,0xb6,0xcd,0x85,0xce,0x9f,0xcc,0x80,0xce,0x8c,0xce,0xa9,0xcc,0x80,0xce,0x8f,0xce,0xa9,0xcd,0x85,0xc2,0xb4,0x20,0xcc,0x94,0xe2,
2507
  0x80,0x82,0xe2,0x80,0x83,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x80,0x90,0x20,0xcc,0xb3,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x20,0xe2,0x80,0xb2,0xe2,0x80,
2508
  0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0x21,0x21,0x20,0xcc,0x85,0x3f,0x3f,
2509
  0x3f,0x21,0x21,0x3f,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0x20,0x30,0x69,0x34,0x35,0x36,0x37,0x38,0x39,0x2b,0xe2,0x88,0x92,0x3d,0x28,0x29,
2510
  0x6e,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2b,0xe2,0x88,0x92,0x3d,0x28,0x29,0x61,0x65,0x6f,0x78,0xc9,0x99,0x68,0x6b,0x6c,0x6d,0x6e,0x70,0x73,0x74,
2511
  0x52,0x73,0x61,0x2f,0x63,0x61,0x2f,0x73,0x43,0xc2,0xb0,0x43,0x63,0x2f,0x6f,0x63,0x2f,0x75,0xc6,0x90,0xc2,0xb0,0x46,0x67,0x48,0x48,0x48,0x68,0xc4,0xa7,0x49,0x49,
2512
  0x4c,0x6c,0x4e,0x4e,0x6f,0x50,0x51,0x52,0x52,0x52,0x53,0x4d,0x54,0x45,0x4c,0x54,0x4d,0x5a,0xce,0xa9,0x5a,0x4b,0xc3,0x85,0x42,0x43,0x65,0x45,0x46,0x4d,0x6f,0xd7,
2513
  0x90,0xd7,0x91,0xd7,0x92,0xd7,0x93,0x69,0x46,0x41,0x58,0xcf,0x80,0xce,0xb3,0xce,0x93,0xce,0xa0,0xe2,0x88,0x91,0x44,0x64,0x65,0x69,0x6a,0x31,0xe2,0x81,0x84,0x37,
2514
  0x31,0xe2,0x81,0x84,0x39,0x31,0xe2,0x81,0x84,0x31,0x30,0x31,0xe2,0x81,0x84,0x33,0x32,0xe2,0x81,0x84,0x33,0x31,0xe2,0x81,0x84,0x35,0x32,0xe2,0x81,0x84,0x35,0x33,
2515
  0xe2,0x81,0x84,0x35,0x34,0xe2,0x81,0x84,0x35,0x31,0xe2,0x81,0x84,0x36,0x35,0xe2,0x81,0x84,0x36,0x31,0xe2,0x81,0x84,0x38,0x33,0xe2,0x81,0x84,0x38,0x35,0xe2,0x81,
2516
  0x84,0x38,0x37,0xe2,0x81,0x84,0x38,0x31,0xe2,0x81,0x84,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x56,0x56,0x56,0x49,0x56,0x49,0x49,0x56,0x49,0x49,0x49,0x49,0x58,0x58,
2517
  0x58,0x49,0x58,0x49,0x49,0x4c,0x43,0x44,0x4d,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x76,0x76,0x76,0x69,0x76,0x69,0x69,0x76,0x69,0x69,0x69,0x69,0x78,0x78,0x78,0x69,
2518
  0x78,0x69,0x69,0x6c,0x63,0x64,0x6d,0x30,0xe2,0x81,0x84,0x33,0xe2,0x86,0x90,0xcc,0xb8,0xe2,0x86,0x92,0xcc,0xb8,0xe2,0x86,0x94,0xcc,0xb8,0xe2,0x87,0x90,0xcc,0xb8,
2519
  0xe2,0x87,0x94,0xcc,0xb8,0xe2,0x87,0x92,0xcc,0xb8,0xe2,0x88,0x83,0xcc,0xb8,0xe2,0x88,0x88,0xcc,0xb8,0xe2,0x88,0x8b,0xcc,0xb8,0xe2,0x88,0xa3,0xcc,0xb8,0xe2,0x88,
2520
  0xa5,0xcc,0xb8,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xae,0xe2,0x88,0xae,0xe2,0x88,0xae,0xe2,0x88,0xae,0xe2,0x88,
2521
  0xae,0xe2,0x88,0xbc,0xcc,0xb8,0xe2,0x89,0x83,0xcc,0xb8,0xe2,0x89,0x85,0xcc,0xb8,0xe2,0x89,0x88,0xcc,0xb8,0x3d,0xcc,0xb8,0xe2,0x89,0xa1,0xcc,0xb8,0xe2,0x89,0x8d,
2522
  0xcc,0xb8,0x3c,0xcc,0xb8,0x3e,0xcc,0xb8,0xe2,0x89,0xa4,0xcc,0xb8,0xe2,0x89,0xa5,0xcc,0xb8,0xe2,0x89,0xb2,0xcc,0xb8,0xe2,0x89,0xb3,0xcc,0xb8,0xe2,0x89,0xb6,0xcc,
2523
  0xb8,0xe2,0x89,0xb7,0xcc,0xb8,0xe2,0x89,0xba,0xcc,0xb8,0xe2,0x89,0xbb,0xcc,0xb8,0xe2,0x8a,0x82,0xcc,0xb8,0xe2,0x8a,0x83,0xcc,0xb8,0xe2,0x8a,0x86,0xcc,0xb8,0xe2,
2524
  0x8a,0x87,0xcc,0xb8,0xe2,0x8a,0xa2,0xcc,0xb8,0xe2,0x8a,0xa8,0xcc,0xb8,0xe2,0x8a,0xa9,0xcc,0xb8,0xe2,0x8a,0xab,0xcc,0xb8,0xe2,0x89,0xbc,0xcc,0xb8,0xe2,0x89,0xbd,
2525
  0xcc,0xb8,0xe2,0x8a,0x91,0xcc,0xb8,0xe2,0x8a,0x92,0xcc,0xb8,0xe2,0x8a,0xb2,0xcc,0xb8,0xe2,0x8a,0xb3,0xcc,0xb8,0xe2,0x8a,0xb4,0xcc,0xb8,0xe2,0x8a,0xb5,0xcc,0xb8,
2526
  0xe3,0x80,0x88,0xe3,0x80,0x89,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x31,0x30,0x31,0x31,0x31,0x32,0x31,0x33,0x31,0x34,0x31,0x35,0x31,0x36,0x31,0x37,0x31,
2527
  0x38,0x31,0x39,0x32,0x30,0x28,0x31,0x29,0x28,0x32,0x29,0x28,0x33,0x29,0x28,0x34,0x29,0x28,0x35,0x29,0x28,0x36,0x29,0x28,0x37,0x29,0x28,0x38,0x29,0x28,0x39,0x29,
2528
  0x28,0x31,0x30,0x29,0x28,0x31,0x31,0x29,0x28,0x31,0x32,0x29,0x28,0x31,0x33,0x29,0x28,0x31,0x34,0x29,0x28,0x31,0x35,0x29,0x28,0x31,0x36,0x29,0x28,0x31,0x37,0x29,
2529
  0x28,0x31,0x38,0x29,0x28,0x31,0x39,0x29,0x28,0x32,0x30,0x29,0x31,0x2e,0x32,0x2e,0x33,0x2e,0x34,0x2e,0x35,0x2e,0x36,0x2e,0x37,0x2e,0x38,0x2e,0x39,0x2e,0x31,0x30,
2530
  0x2e,0x31,0x31,0x2e,0x31,0x32,0x2e,0x31,0x33,0x2e,0x31,0x34,0x2e,0x31,0x35,0x2e,0x31,0x36,0x2e,0x31,0x37,0x2e,0x31,0x38,0x2e,0x31,0x39,0x2e,0x32,0x30,0x2e,0x28,
2531
  0x61,0x29,0x28,0x62,0x29,0x28,0x63,0x29,0x28,0x64,0x29,0x28,0x65,0x29,0x28,0x66,0x29,0x28,0x67,0x29,0x28,0x68,0x29,0x28,0x69,0x29,0x28,0x6a,0x29,0x28,0x6b,0x29,
2532
  0x28,0x6c,0x29,0x28,0x6d,0x29,0x28,0x6e,0x29,0x28,0x6f,0x29,0x28,0x70,0x29,0x28,0x71,0x29,0x28,0x72,0x29,0x28,0x73,0x29,0x28,0x74,0x29,0x28,0x75,0x29,0x28,0x76,
2533
  0x29,0x28,0x77,0x29,0x28,0x78,0x29,0x28,0x79,0x29,0x28,0x7a,0x29,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,
2534
  0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,
2535
  0x7a,0x30,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0x3a,0x3a,0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,0xe2,0xab,0x9d,0xcc,0xb8,0x6a,0x56,0xe2,0xb5,0xa1,
2536
  0xe6,0xaf,0x8d,0xe9,0xbe,0x9f,0xe4,0xb8,0x80,0xe4,0xb8,0xa8,0xe4,0xb8,0xb6,0xe4,0xb8,0xbf,0xe4,0xb9,0x99,0xe4,0xba,0x85,0xe4,0xba,0x8c,0xe4,0xba,0xa0,0xe4,0xba,
2537
  0xba,0xe5,0x84,0xbf,0xe5,0x85,0xa5,0xe5,0x85,0xab,0xe5,0x86,0x82,0xe5,0x86,0x96,0xe5,0x86,0xab,0xe5,0x87,0xa0,0xe5,0x87,0xb5,0xe5,0x88,0x80,0xe5,0x8a,0x9b,0xe5,
2538
  0x8b,0xb9,0xe5,0x8c,0x95,0xe5,0x8c,0x9a,0xe5,0x8c,0xb8,0xe5,0x8d,0x81,0xe5,0x8d,0x9c,0xe5,0x8d,0xa9,0xe5,0x8e,0x82,0xe5,0x8e,0xb6,0xe5,0x8f,0x88,0xe5,0x8f,0xa3,
2539
  0xe5,0x9b,0x97,0xe5,0x9c,0x9f,0xe5,0xa3,0xab,0xe5,0xa4,0x82,0xe5,0xa4,0x8a,0xe5,0xa4,0x95,0xe5,0xa4,0xa7,0xe5,0xa5,0xb3,0xe5,0xad,0x90,0xe5,0xae,0x80,0xe5,0xaf,
2540
  0xb8,0xe5,0xb0,0x8f,0xe5,0xb0,0xa2,0xe5,0xb0,0xb8,0xe5,0xb1,0xae,0xe5,0xb1,0xb1,0xe5,0xb7,0x9b,0xe5,0xb7,0xa5,0xe5,0xb7,0xb1,0xe5,0xb7,0xbe,0xe5,0xb9,0xb2,0xe5,
2541
  0xb9,0xba,0xe5,0xb9,0xbf,0xe5,0xbb,0xb4,0xe5,0xbb,0xbe,0xe5,0xbc,0x8b,0xe5,0xbc,0x93,0xe5,0xbd,0x90,0xe5,0xbd,0xa1,0xe5,0xbd,0xb3,0xe5,0xbf,0x83,0xe6,0x88,0x88,
2542
  0xe6,0x88,0xb6,0xe6,0x89,0x8b,0xe6,0x94,0xaf,0xe6,0x94,0xb4,0xe6,0x96,0x87,0xe6,0x96,0x97,0xe6,0x96,0xa4,0xe6,0x96,0xb9,0xe6,0x97,0xa0,0xe6,0x97,0xa5,0xe6,0x9b,
2543
  0xb0,0xe6,0x9c,0x88,0xe6,0x9c,0xa8,0xe6,0xac,0xa0,0xe6,0xad,0xa2,0xe6,0xad,0xb9,0xe6,0xae,0xb3,0xe6,0xaf,0x8b,0xe6,0xaf,0x94,0xe6,0xaf,0x9b,0xe6,0xb0,0x8f,0xe6,
2544
  0xb0,0x94,0xe6,0xb0,0xb4,0xe7,0x81,0xab,0xe7,0x88,0xaa,0xe7,0x88,0xb6,0xe7,0x88,0xbb,0xe7,0x88,0xbf,0xe7,0x89,0x87,0xe7,0x89,0x99,0xe7,0x89,0x9b,0xe7,0x8a,0xac,
2545
  0xe7,0x8e,0x84,0xe7,0x8e,0x89,0xe7,0x93,0x9c,0xe7,0x93,0xa6,0xe7,0x94,0x98,0xe7,0x94,0x9f,0xe7,0x94,0xa8,0xe7,0x94,0xb0,0xe7,0x96,0x8b,0xe7,0x96,0x92,0xe7,0x99,
2546
  0xb6,0xe7,0x99,0xbd,0xe7,0x9a,0xae,0xe7,0x9a,0xbf,0xe7,0x9b,0xae,0xe7,0x9f,0x9b,0xe7,0x9f,0xa2,0xe7,0x9f,0xb3,0xe7,0xa4,0xba,0xe7,0xa6,0xb8,0xe7,0xa6,0xbe,0xe7,
2547
  0xa9,0xb4,0xe7,0xab,0x8b,0xe7,0xab,0xb9,0xe7,0xb1,0xb3,0xe7,0xb3,0xb8,0xe7,0xbc,0xb6,0xe7,0xbd,0x91,0xe7,0xbe,0x8a,0xe7,0xbe,0xbd,0xe8,0x80,0x81,0xe8,0x80,0x8c,
2548
  0xe8,0x80,0x92,0xe8,0x80,0xb3,0xe8,0x81,0xbf,0xe8,0x82,0x89,0xe8,0x87,0xa3,0xe8,0x87,0xaa,0xe8,0x87,0xb3,0xe8,0x87,0xbc,0xe8,0x88,0x8c,0xe8,0x88,0x9b,0xe8,0x88,
2549
  0x9f,0xe8,0x89,0xae,0xe8,0x89,0xb2,0xe8,0x89,0xb8,0xe8,0x99,0x8d,0xe8,0x99,0xab,0xe8,0xa1,0x80,0xe8,0xa1,0x8c,0xe8,0xa1,0xa3,0xe8,0xa5,0xbe,0xe8,0xa6,0x8b,0xe8,
2550
  0xa7,0x92,0xe8,0xa8,0x80,0xe8,0xb0,0xb7,0xe8,0xb1,0x86,0xe8,0xb1,0x95,0xe8,0xb1,0xb8,0xe8,0xb2,0x9d,0xe8,0xb5,0xa4,0xe8,0xb5,0xb0,0xe8,0xb6,0xb3,0xe8,0xba,0xab,
2551
  0xe8,0xbb,0x8a,0xe8,0xbe,0x9b,0xe8,0xbe,0xb0,0xe8,0xbe,0xb5,0xe9,0x82,0x91,0xe9,0x85,0x89,0xe9,0x87,0x86,0xe9,0x87,0x8c,0xe9,0x87,0x91,0xe9,0x95,0xb7,0xe9,0x96,
2552
  0x80,0xe9,0x98,0x9c,0xe9,0x9a,0xb6,0xe9,0x9a,0xb9,0xe9,0x9b,0xa8,0xe9,0x9d,0x91,0xe9,0x9d,0x9e,0xe9,0x9d,0xa2,0xe9,0x9d,0xa9,0xe9,0x9f,0x8b,0xe9,0x9f,0xad,0xe9,
2553
  0x9f,0xb3,0xe9,0xa0,0x81,0xe9,0xa2,0xa8,0xe9,0xa3,0x9b,0xe9,0xa3,0x9f,0xe9,0xa6,0x96,0xe9,0xa6,0x99,0xe9,0xa6,0xac,0xe9,0xaa,0xa8,0xe9,0xab,0x98,0xe9,0xab,0x9f,
2554
  0xe9,0xac,0xa5,0xe9,0xac,0xaf,0xe9,0xac,0xb2,0xe9,0xac,0xbc,0xe9,0xad,0x9a,0xe9,0xb3,0xa5,0xe9,0xb9,0xb5,0xe9,0xb9,0xbf,0xe9,0xba,0xa5,0xe9,0xba,0xbb,0xe9,0xbb,
2555
  0x83,0xe9,0xbb,0x8d,0xe9,0xbb,0x91,0xe9,0xbb,0xb9,0xe9,0xbb,0xbd,0xe9,0xbc,0x8e,0xe9,0xbc,0x93,0xe9,0xbc,0xa0,0xe9,0xbc,0xbb,0xe9,0xbd,0x8a,0xe9,0xbd,0x92,0xe9,
2556
  0xbe,0x8d,0xe9,0xbe,0x9c,0xe9,0xbe,0xa0,0x20,0xe3,0x80,0x92,0xe5,0x8d,0x81,0xe5,0x8d,0x84,0xe5,0x8d,0x85,0xe3,0x81,0x8b,0xe3,0x82,0x99,0xe3,0x81,0x8d,0xe3,0x82,
2557
  0x99,0xe3,0x81,0x8f,0xe3,0x82,0x99,0xe3,0x81,0x91,0xe3,0x82,0x99,0xe3,0x81,0x93,0xe3,0x82,0x99,0xe3,0x81,0x95,0xe3,0x82,0x99,0xe3,0x81,0x97,0xe3,0x82,0x99,0xe3,
2558
  0x81,0x99,0xe3,0x82,0x99,0xe3,0x81,0x9b,0xe3,0x82,0x99,0xe3,0x81,0x9d,0xe3,0x82,0x99,0xe3,0x81,0x9f,0xe3,0x82,0x99,0xe3,0x81,0xa1,0xe3,0x82,0x99,0xe3,0x81,0xa4,
2559
  0xe3,0x82,0x99,0xe3,0x81,0xa6,0xe3,0x82,0x99,0xe3,0x81,0xa8,0xe3,0x82,0x99,0xe3,0x81,0xaf,0xe3,0x82,0x99,0xe3,0x81,0xaf,0xe3,0x82,0x9a,0xe3,0x81,0xb2,0xe3,0x82,
2560
  0x99,0xe3,0x81,0xb2,0xe3,0x82,0x9a,0xe3,0x81,0xb5,0xe3,0x82,0x99,0xe3,0x81,0xb5,0xe3,0x82,0x9a,0xe3,0x81,0xb8,0xe3,0x82,0x99,0xe3,0x81,0xb8,0xe3,0x82,0x9a,0xe3,
2561
  0x81,0xbb,0xe3,0x82,0x99,0xe3,0x81,0xbb,0xe3,0x82,0x9a,0xe3,0x81,0x86,0xe3,0x82,0x99,0x20,0xe3,0x82,0x99,0x20,0xe3,0x82,0x9a,0xe3,0x82,0x9d,0xe3,0x82,0x99,0xe3,
2562
  0x82,0x88,0xe3,0x82,0x8a,0xe3,0x82,0xab,0xe3,0x82,0x99,0xe3,0x82,0xad,0xe3,0x82,0x99,0xe3,0x82,0xaf,0xe3,0x82,0x99,0xe3,0x82,0xb1,0xe3,0x82,0x99,0xe3,0x82,0xb3,
2563
  0xe3,0x82,0x99,0xe3,0x82,0xb5,0xe3,0x82,0x99,0xe3,0x82,0xb7,0xe3,0x82,0x99,0xe3,0x82,0xb9,0xe3,0x82,0x99,0xe3,0x82,0xbb,0xe3,0x82,0x99,0xe3,0x82,0xbd,0xe3,0x82,
2564
  0x99,0xe3,0x82,0xbf,0xe3,0x82,0x99,0xe3,0x83,0x81,0xe3,0x82,0x99,0xe3,0x83,0x84,0xe3,0x82,0x99,0xe3,0x83,0x86,0xe3,0x82,0x99,0xe3,0x83,0x88,0xe3,0x82,0x99,0xe3,
2565
  0x83,0x8f,0xe3,0x82,0x99,0xe3,0x83,0x8f,0xe3,0x82,0x9a,0xe3,0x83,0x92,0xe3,0x82,0x99,0xe3,0x83,0x92,0xe3,0x82,0x9a,0xe3,0x83,0x95,0xe3,0x82,0x99,0xe3,0x83,0x95,
2566
  0xe3,0x82,0x9a,0xe3,0x83,0x98,0xe3,0x82,0x99,0xe3,0x83,0x98,0xe3,0x82,0x9a,0xe3,0x83,0x9b,0xe3,0x82,0x99,0xe3,0x83,0x9b,0xe3,0x82,0x9a,0xe3,0x82,0xa6,0xe3,0x82,
2567
  0x99,0xe3,0x83,0xaf,0xe3,0x82,0x99,0xe3,0x83,0xb0,0xe3,0x82,0x99,0xe3,0x83,0xb1,0xe3,0x82,0x99,0xe3,0x83,0xb2,0xe3,0x82,0x99,0xe3,0x83,0xbd,0xe3,0x82,0x99,0xe3,
2568
  0x82,0xb3,0xe3,0x83,0x88,0xe1,0x84,0x80,0xe1,0x84,0x81,0xe1,0x86,0xaa,0xe1,0x84,0x82,0xe1,0x86,0xac,0xe1,0x86,0xad,0xe1,0x84,0x83,0xe1,0x84,0x84,0xe1,0x84,0x85,
2569
  0xe1,0x86,0xb0,0xe1,0x86,0xb1,0xe1,0x86,0xb2,0xe1,0x86,0xb3,0xe1,0x86,0xb4,0xe1,0x86,0xb5,0xe1,0x84,0x9a,0xe1,0x84,0x86,0xe1,0x84,0x87,0xe1,0x84,0x88,0xe1,0x84,
2570
  0xa1,0xe1,0x84,0x89,0xe1,0x84,0x8a,0xe1,0x84,0x8b,0xe1,0x84,0x8c,0xe1,0x84,0x8d,0xe1,0x84,0x8e,0xe1,0x84,0x8f,0xe1,0x84,0x90,0xe1,0x84,0x91,0xe1,0x84,0x92,0xe1,
2571
  0x85,0xa1,0xe1,0x85,0xa2,0xe1,0x85,0xa3,0xe1,0x85,0xa4,0xe1,0x85,0xa5,0xe1,0x85,0xa6,0xe1,0x85,0xa7,0xe1,0x85,0xa8,0xe1,0x85,0xa9,0xe1,0x85,0xaa,0xe1,0x85,0xab,
2572
  0xe1,0x85,0xac,0xe1,0x85,0xad,0xe1,0x85,0xae,0xe1,0x85,0xaf,0xe1,0x85,0xb0,0xe1,0x85,0xb1,0xe1,0x85,0xb2,0xe1,0x85,0xb3,0xe1,0x85,0xb4,0xe1,0x85,0xb5,0xe1,0x85,
2573
  0xa0,0xe1,0x84,0x94,0xe1,0x84,0x95,0xe1,0x87,0x87,0xe1,0x87,0x88,0xe1,0x87,0x8c,0xe1,0x87,0x8e,0xe1,0x87,0x93,0xe1,0x87,0x97,0xe1,0x87,0x99,0xe1,0x84,0x9c,0xe1,
2574
  0x87,0x9d,0xe1,0x87,0x9f,0xe1,0x84,0x9d,0xe1,0x84,0x9e,0xe1,0x84,0xa0,0xe1,0x84,0xa2,0xe1,0x84,0xa3,0xe1,0x84,0xa7,0xe1,0x84,0xa9,0xe1,0x84,0xab,0xe1,0x84,0xac,
2575
  0xe1,0x84,0xad,0xe1,0x84,0xae,0xe1,0x84,0xaf,0xe1,0x84,0xb2,0xe1,0x84,0xb6,0xe1,0x85,0x80,0xe1,0x85,0x87,0xe1,0x85,0x8c,0xe1,0x87,0xb1,0xe1,0x87,0xb2,0xe1,0x85,
2576
  0x97,0xe1,0x85,0x98,0xe1,0x85,0x99,0xe1,0x86,0x84,0xe1,0x86,0x85,0xe1,0x86,0x88,0xe1,0x86,0x91,0xe1,0x86,0x92,0xe1,0x86,0x94,0xe1,0x86,0x9e,0xe1,0x86,0xa1,0xe4,
2577
  0xb8,0x80,0xe4,0xba,0x8c,0xe4,0xb8,0x89,0xe5,0x9b,0x9b,0xe4,0xb8,0x8a,0xe4,0xb8,0xad,0xe4,0xb8,0x8b,0xe7,0x94,0xb2,0xe4,0xb9,0x99,0xe4,0xb8,0x99,0xe4,0xb8,0x81,
2578
  0xe5,0xa4,0xa9,0xe5,0x9c,0xb0,0xe4,0xba,0xba,0x28,0xe1,0x84,0x80,0x29,0x28,0xe1,0x84,0x82,0x29,0x28,0xe1,0x84,0x83,0x29,0x28,0xe1,0x84,0x85,0x29,0x28,0xe1,0x84,
2579
  0x86,0x29,0x28,0xe1,0x84,0x87,0x29,0x28,0xe1,0x84,0x89,0x29,0x28,0xe1,0x84,0x8b,0x29,0x28,0xe1,0x84,0x8c,0x29,0x28,0xe1,0x84,0x8e,0x29,0x28,0xe1,0x84,0x8f,0x29,
2580
  0x28,0xe1,0x84,0x90,0x29,0x28,0xe1,0x84,0x91,0x29,0x28,0xe1,0x84,0x92,0x29,0x28,0xe1,0x84,0x80,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x82,0xe1,0x85,0xa1,0x29,0x28,
2581
  0xe1,0x84,0x83,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x85,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x86,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x87,0xe1,0x85,0xa1,0x29,0x28,
2582
  0xe1,0x84,0x89,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x8b,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x8c,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x8e,0xe1,0x85,0xa1,0x29,0x28,
2583
  0xe1,0x84,0x8f,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x90,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x91,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x92,0xe1,0x85,0xa1,0x29,0x28,
2584
  0xe1,0x84,0x8c,0xe1,0x85,0xae,0x29,0x28,0xe1,0x84,0x8b,0xe1,0x85,0xa9,0xe1,0x84,0x8c,0xe1,0x85,0xa5,0xe1,0x86,0xab,0x29,0x28,0xe1,0x84,0x8b,0xe1,0x85,0xa9,0xe1,
2585
  0x84,0x92,0xe1,0x85,0xae,0x29,0x28,0xe4,0xb8,0x80,0x29,0x28,0xe4,0xba,0x8c,0x29,0x28,0xe4,0xb8,0x89,0x29,0x28,0xe5,0x9b,0x9b,0x29,0x28,0xe4,0xba,0x94,0x29,0x28,
2586
  0xe5,0x85,0xad,0x29,0x28,0xe4,0xb8,0x83,0x29,0x28,0xe5,0x85,0xab,0x29,0x28,0xe4,0xb9,0x9d,0x29,0x28,0xe5,0x8d,0x81,0x29,0x28,0xe6,0x9c,0x88,0x29,0x28,0xe7,0x81,
2587
  0xab,0x29,0x28,0xe6,0xb0,0xb4,0x29,0x28,0xe6,0x9c,0xa8,0x29,0x28,0xe9,0x87,0x91,0x29,0x28,0xe5,0x9c,0x9f,0x29,0x28,0xe6,0x97,0xa5,0x29,0x28,0xe6,0xa0,0xaa,0x29,
2588
  0x28,0xe6,0x9c,0x89,0x29,0x28,0xe7,0xa4,0xbe,0x29,0x28,0xe5,0x90,0x8d,0x29,0x28,0xe7,0x89,0xb9,0x29,0x28,0xe8,0xb2,0xa1,0x29,0x28,0xe7,0xa5,0x9d,0x29,0x28,0xe5,
2589
  0x8a,0xb4,0x29,0x28,0xe4,0xbb,0xa3,0x29,0x28,0xe5,0x91,0xbc,0x29,0x28,0xe5,0xad,0xa6,0x29,0x28,0xe7,0x9b,0xa3,0x29,0x28,0xe4,0xbc,0x81,0x29,0x28,0xe8,0xb3,0x87,
2590
  0x29,0x28,0xe5,0x8d,0x94,0x29,0x28,0xe7,0xa5,0xad,0x29,0x28,0xe4,0xbc,0x91,0x29,0x28,0xe8,0x87,0xaa,0x29,0x28,0xe8,0x87,0xb3,0x29,0xe5,0x95,0x8f,0xe5,0xb9,0xbc,
2591
  0xe6,0x96,0x87,0xe7,0xae,0x8f,0x50,0x54,0x45,0x32,0x31,0x32,0x32,0x32,0x33,0x32,0x34,0x32,0x35,0x32,0x36,0x32,0x37,0x32,0x38,0x32,0x39,0x33,0x30,0x33,0x31,0x33,
2592
  0x32,0x33,0x33,0x33,0x34,0x33,0x35,0xe1,0x84,0x80,0xe1,0x84,0x82,0xe1,0x84,0x83,0xe1,0x84,0x85,0xe1,0x84,0x86,0xe1,0x84,0x87,0xe1,0x84,0x89,0xe1,0x84,0x8b,0xe1,
2593
  0x84,0x8c,0xe1,0x84,0x8e,0xe1,0x84,0x8f,0xe1,0x84,0x90,0xe1,0x84,0x91,0xe1,0x84,0x92,0xe1,0x84,0x80,0xe1,0x85,0xa1,0xe1,0x84,0x82,0xe1,0x85,0xa1,0xe1,0x84,0x83,
2594
  0xe1,0x85,0xa1,0xe1,0x84,0x85,0xe1,0x85,0xa1,0xe1,0x84,0x86,0xe1,0x85,0xa1,0xe1,0x84,0x87,0xe1,0x85,0xa1,0xe1,0x84,0x89,0xe1,0x85,0xa1,0xe1,0x84,0x8b,0xe1,0x85,
2595
  0xa1,0xe1,0x84,0x8c,0xe1,0x85,0xa1,0xe1,0x84,0x8e,0xe1,0x85,0xa1,0xe1,0x84,0x8f,0xe1,0x85,0xa1,0xe1,0x84,0x90,0xe1,0x85,0xa1,0xe1,0x84,0x91,0xe1,0x85,0xa1,0xe1,
2596
  0x84,0x92,0xe1,0x85,0xa1,0xe1,0x84,0x8e,0xe1,0x85,0xa1,0xe1,0x86,0xb7,0xe1,0x84,0x80,0xe1,0x85,0xa9,0xe1,0x84,0x8c,0xe1,0x85,0xae,0xe1,0x84,0x8b,0xe1,0x85,0xb4,
2597
  0xe1,0x84,0x8b,0xe1,0x85,0xae,0xe4,0xb8,0x80,0xe4,0xba,0x8c,0xe4,0xb8,0x89,0xe5,0x9b,0x9b,0xe4,0xba,0x94,0xe5,0x85,0xad,0xe4,0xb8,0x83,0xe5,0x85,0xab,0xe4,0xb9,
2598
  0x9d,0xe5,0x8d,0x81,0xe6,0x9c,0x88,0xe7,0x81,0xab,0xe6,0xb0,0xb4,0xe6,0x9c,0xa8,0xe9,0x87,0x91,0xe5,0x9c,0x9f,0xe6,0x97,0xa5,0xe6,0xa0,0xaa,0xe6,0x9c,0x89,0xe7,
2599
  0xa4,0xbe,0xe5,0x90,0x8d,0xe7,0x89,0xb9,0xe8,0xb2,0xa1,0xe7,0xa5,0x9d,0xe5,0x8a,0xb4,0xe7,0xa7,0x98,0xe7,0x94,0xb7,0xe5,0xa5,0xb3,0xe9,0x81,0xa9,0xe5,0x84,0xaa,
2600
  0xe5,0x8d,0xb0,0xe6,0xb3,0xa8,0xe9,0xa0,0x85,0xe4,0xbc,0x91,0xe5,0x86,0x99,0xe6,0xad,0xa3,0xe4,0xb8,0x8a,0xe4,0xb8,0xad,0xe4,0xb8,0x8b,0xe5,0xb7,0xa6,0xe5,0x8f,
2601
  0xb3,0xe5,0x8c,0xbb,0xe5,0xae,0x97,0xe5,0xad,0xa6,0xe7,0x9b,0xa3,0xe4,0xbc,0x81,0xe8,0xb3,0x87,0xe5,0x8d,0x94,0xe5,0xa4,0x9c,0x33,0x36,0x33,0x37,0x33,0x38,0x33,
2602
  0x39,0x34,0x30,0x34,0x31,0x34,0x32,0x34,0x33,0x34,0x34,0x34,0x35,0x34,0x36,0x34,0x37,0x34,0x38,0x34,0x39,0x35,0x30,0x31,0xe6,0x9c,0x88,0x32,0xe6,0x9c,0x88,0x33,
2603
  0xe6,0x9c,0x88,0x34,0xe6,0x9c,0x88,0x35,0xe6,0x9c,0x88,0x36,0xe6,0x9c,0x88,0x37,0xe6,0x9c,0x88,0x38,0xe6,0x9c,0x88,0x39,0xe6,0x9c,0x88,0x31,0x30,0xe6,0x9c,0x88,
2604
  0x31,0x31,0xe6,0x9c,0x88,0x31,0x32,0xe6,0x9c,0x88,0x48,0x67,0x65,0x72,0x67,0x65,0x56,0x4c,0x54,0x44,0xe3,0x82,0xa2,0xe3,0x82,0xa4,0xe3,0x82,0xa6,0xe3,0x82,0xa8,
2605
  0xe3,0x82,0xaa,0xe3,0x82,0xab,0xe3,0x82,0xad,0xe3,0x82,0xaf,0xe3,0x82,0xb1,0xe3,0x82,0xb3,0xe3,0x82,0xb5,0xe3,0x82,0xb7,0xe3,0x82,0xb9,0xe3,0x82,0xbb,0xe3,0x82,
2606
  0xbd,0xe3,0x82,0xbf,0xe3,0x83,0x81,0xe3,0x83,0x84,0xe3,0x83,0x86,0xe3,0x83,0x88,0xe3,0x83,0x8a,0xe3,0x83,0x8b,0xe3,0x83,0x8c,0xe3,0x83,0x8d,0xe3,0x83,0x8e,0xe3,
2607
  0x83,0x8f,0xe3,0x83,0x92,0xe3,0x83,0x95,0xe3,0x83,0x98,0xe3,0x83,0x9b,0xe3,0x83,0x9e,0xe3,0x83,0x9f,0xe3,0x83,0xa0,0xe3,0x83,0xa1,0xe3,0x83,0xa2,0xe3,0x83,0xa4,
2608
  0xe3,0x83,0xa6,0xe3,0x83,0xa8,0xe3,0x83,0xa9,0xe3,0x83,0xaa,0xe3,0x83,0xab,0xe3,0x83,0xac,0xe3,0x83,0xad,0xe3,0x83,0xaf,0xe3,0x83,0xb0,0xe3,0x83,0xb1,0xe3,0x83,
2609
  0xb2,0xe4,0xbb,0xa4,0xe5,0x92,0x8c,0xe3,0x82,0xa2,0xe3,0x83,0x91,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x82,0xa2,0xe3,0x83,0xab,0xe3,0x83,0x95,0xe3,0x82,0xa1,0xe3,
2610
  0x82,0xa2,0xe3,0x83,0xb3,0xe3,0x83,0x9a,0xe3,0x82,0xa2,0xe3,0x82,0xa2,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x82,0xa4,0xe3,0x83,0x8b,0xe3,0x83,0xb3,0xe3,0x82,0xb0,
2611
  0xe3,0x82,0xa4,0xe3,0x83,0xb3,0xe3,0x83,0x81,0xe3,0x82,0xa6,0xe3,0x82,0xa9,0xe3,0x83,0xb3,0xe3,0x82,0xa8,0xe3,0x82,0xb9,0xe3,0x82,0xaf,0xe3,0x83,0xbc,0xe3,0x83,
2612
  0x89,0xe3,0x82,0xa8,0xe3,0x83,0xbc,0xe3,0x82,0xab,0xe3,0x83,0xbc,0xe3,0x82,0xaa,0xe3,0x83,0xb3,0xe3,0x82,0xb9,0xe3,0x82,0xaa,0xe3,0x83,0xbc,0xe3,0x83,0xa0,0xe3,
2613
  0x82,0xab,0xe3,0x82,0xa4,0xe3,0x83,0xaa,0xe3,0x82,0xab,0xe3,0x83,0xa9,0xe3,0x83,0x83,0xe3,0x83,0x88,0xe3,0x82,0xab,0xe3,0x83,0xad,0xe3,0x83,0xaa,0xe3,0x83,0xbc,
2614
  0xe3,0x82,0xac,0xe3,0x83,0xad,0xe3,0x83,0xb3,0xe3,0x82,0xac,0xe3,0x83,0xb3,0xe3,0x83,0x9e,0xe3,0x82,0xae,0xe3,0x82,0xac,0xe3,0x82,0xae,0xe3,0x83,0x8b,0xe3,0x83,
2615
  0xbc,0xe3,0x82,0xad,0xe3,0x83,0xa5,0xe3,0x83,0xaa,0xe3,0x83,0xbc,0xe3,0x82,0xae,0xe3,0x83,0xab,0xe3,0x83,0x80,0xe3,0x83,0xbc,0xe3,0x82,0xad,0xe3,0x83,0xad,0xe3,
2616
  0x82,0xad,0xe3,0x83,0xad,0xe3,0x82,0xb0,0xe3,0x83,0xa9,0xe3,0x83,0xa0,0xe3,0x82,0xad,0xe3,0x83,0xad,0xe3,0x83,0xa1,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x83,0xab,
2617
  0xe3,0x82,0xad,0xe3,0x83,0xad,0xe3,0x83,0xaf,0xe3,0x83,0x83,0xe3,0x83,0x88,0xe3,0x82,0xb0,0xe3,0x83,0xa9,0xe3,0x83,0xa0,0xe3,0x82,0xb0,0xe3,0x83,0xa9,0xe3,0x83,
2618
  0xa0,0xe3,0x83,0x88,0xe3,0x83,0xb3,0xe3,0x82,0xaf,0xe3,0x83,0xab,0xe3,0x82,0xbc,0xe3,0x82,0xa4,0xe3,0x83,0xad,0xe3,0x82,0xaf,0xe3,0x83,0xad,0xe3,0x83,0xbc,0xe3,
2619
  0x83,0x8d,0xe3,0x82,0xb1,0xe3,0x83,0xbc,0xe3,0x82,0xb9,0xe3,0x82,0xb3,0xe3,0x83,0xab,0xe3,0x83,0x8a,0xe3,0x82,0xb3,0xe3,0x83,0xbc,0xe3,0x83,0x9d,0xe3,0x82,0xb5,
2620
  0xe3,0x82,0xa4,0xe3,0x82,0xaf,0xe3,0x83,0xab,0xe3,0x82,0xb5,0xe3,0x83,0xb3,0xe3,0x83,0x81,0xe3,0x83,0xbc,0xe3,0x83,0xa0,0xe3,0x82,0xb7,0xe3,0x83,0xaa,0xe3,0x83,
2621
  0xb3,0xe3,0x82,0xb0,0xe3,0x82,0xbb,0xe3,0x83,0xb3,0xe3,0x83,0x81,0xe3,0x82,0xbb,0xe3,0x83,0xb3,0xe3,0x83,0x88,0xe3,0x83,0x80,0xe3,0x83,0xbc,0xe3,0x82,0xb9,0xe3,
2622
  0x83,0x87,0xe3,0x82,0xb7,0xe3,0x83,0x89,0xe3,0x83,0xab,0xe3,0x83,0x88,0xe3,0x83,0xb3,0xe3,0x83,0x8a,0xe3,0x83,0x8e,0xe3,0x83,0x8e,0xe3,0x83,0x83,0xe3,0x83,0x88,
2623
  0xe3,0x83,0x8f,0xe3,0x82,0xa4,0xe3,0x83,0x84,0xe3,0x83,0x91,0xe3,0x83,0xbc,0xe3,0x82,0xbb,0xe3,0x83,0xb3,0xe3,0x83,0x88,0xe3,0x83,0x91,0xe3,0x83,0xbc,0xe3,0x83,
2624
  0x84,0xe3,0x83,0x90,0xe3,0x83,0xbc,0xe3,0x83,0xac,0xe3,0x83,0xab,0xe3,0x83,0x94,0xe3,0x82,0xa2,0xe3,0x82,0xb9,0xe3,0x83,0x88,0xe3,0x83,0xab,0xe3,0x83,0x94,0xe3,
2625
  0x82,0xaf,0xe3,0x83,0xab,0xe3,0x83,0x94,0xe3,0x82,0xb3,0xe3,0x83,0x93,0xe3,0x83,0xab,0xe3,0x83,0x95,0xe3,0x82,0xa1,0xe3,0x83,0xa9,0xe3,0x83,0x83,0xe3,0x83,0x89,
2626
  0xe3,0x83,0x95,0xe3,0x82,0xa3,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x83,0x96,0xe3,0x83,0x83,0xe3,0x82,0xb7,0xe3,0x82,0xa7,0xe3,0x83,0xab,0xe3,0x83,0x95,0xe3,0x83,
2627
  0xa9,0xe3,0x83,0xb3,0xe3,0x83,0x98,0xe3,0x82,0xaf,0xe3,0x82,0xbf,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0x9a,0xe3,0x82,0xbd,0xe3,0x83,0x9a,0xe3,0x83,0x8b,0xe3,
2628
  0x83,0x92,0xe3,0x83,0x98,0xe3,0x83,0xab,0xe3,0x83,0x84,0xe3,0x83,0x9a,0xe3,0x83,0xb3,0xe3,0x82,0xb9,0xe3,0x83,0x9a,0xe3,0x83,0xbc,0xe3,0x82,0xb8,0xe3,0x83,0x99,
2629
  0xe3,0x83,0xbc,0xe3,0x82,0xbf,0xe3,0x83,0x9d,0xe3,0x82,0xa4,0xe3,0x83,0xb3,0xe3,0x83,0x88,0xe3,0x83,0x9c,0xe3,0x83,0xab,0xe3,0x83,0x88,0xe3,0x83,0x9b,0xe3,0x83,
2630
  0xb3,0xe3,0x83,0x9d,0xe3,0x83,0xb3,0xe3,0x83,0x89,0xe3,0x83,0x9b,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0x9b,0xe3,0x83,0xbc,0xe3,0x83,0xb3,0xe3,0x83,0x9e,0xe3,
2631
  0x82,0xa4,0xe3,0x82,0xaf,0xe3,0x83,0xad,0xe3,0x83,0x9e,0xe3,0x82,0xa4,0xe3,0x83,0xab,0xe3,0x83,0x9e,0xe3,0x83,0x83,0xe3,0x83,0x8f,0xe3,0x83,0x9e,0xe3,0x83,0xab,
2632
  0xe3,0x82,0xaf,0xe3,0x83,0x9e,0xe3,0x83,0xb3,0xe3,0x82,0xb7,0xe3,0x83,0xa7,0xe3,0x83,0xb3,0xe3,0x83,0x9f,0xe3,0x82,0xaf,0xe3,0x83,0xad,0xe3,0x83,0xb3,0xe3,0x83,
2633
  0x9f,0xe3,0x83,0xaa,0xe3,0x83,0x9f,0xe3,0x83,0xaa,0xe3,0x83,0x90,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0xa1,0xe3,0x82,0xac,0xe3,0x83,0xa1,0xe3,0x82,0xac,0xe3,
2634
  0x83,0x88,0xe3,0x83,0xb3,0xe3,0x83,0xa1,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x83,0xab,0xe3,0x83,0xa4,0xe3,0x83,0xbc,0xe3,0x83,0x89,0xe3,0x83,0xa4,0xe3,0x83,0xbc,
2635
  0xe3,0x83,0xab,0xe3,0x83,0xa6,0xe3,0x82,0xa2,0xe3,0x83,0xb3,0xe3,0x83,0xaa,0xe3,0x83,0x83,0xe3,0x83,0x88,0xe3,0x83,0xab,0xe3,0x83,0xaa,0xe3,0x83,0xa9,0xe3,0x83,
2636
  0xab,0xe3,0x83,0x94,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0xbc,0xe3,0x83,0x96,0xe3,0x83,0xab,0xe3,0x83,0xac,0xe3,0x83,0xa0,0xe3,0x83,0xac,0xe3,0x83,0xb3,0xe3,
2637
  0x83,0x88,0xe3,0x82,0xb2,0xe3,0x83,0xb3,0xe3,0x83,0xaf,0xe3,0x83,0x83,0xe3,0x83,0x88,0x30,0xe7,0x82,0xb9,0x31,0xe7,0x82,0xb9,0x32,0xe7,0x82,0xb9,0x33,0xe7,0x82,
2638
  0xb9,0x34,0xe7,0x82,0xb9,0x35,0xe7,0x82,0xb9,0x36,0xe7,0x82,0xb9,0x37,0xe7,0x82,0xb9,0x38,0xe7,0x82,0xb9,0x39,0xe7,0x82,0xb9,0x31,0x30,0xe7,0x82,0xb9,0x31,0x31,
2639
  0xe7,0x82,0xb9,0x31,0x32,0xe7,0x82,0xb9,0x31,0x33,0xe7,0x82,0xb9,0x31,0x34,0xe7,0x82,0xb9,0x31,0x35,0xe7,0x82,0xb9,0x31,0x36,0xe7,0x82,0xb9,0x31,0x37,0xe7,0x82,
2640
  0xb9,0x31,0x38,0xe7,0x82,0xb9,0x31,0x39,0xe7,0x82,0xb9,0x32,0x30,0xe7,0x82,0xb9,0x32,0x31,0xe7,0x82,0xb9,0x32,0x32,0xe7,0x82,0xb9,0x32,0x33,0xe7,0x82,0xb9,0x32,
2641
  0x34,0xe7,0x82,0xb9,0x68,0x50,0x61,0x64,0x61,0x41,0x55,0x62,0x61,0x72,0x6f,0x56,0x70,0x63,0x64,0x6d,0x64,0x6d,0xc2,0xb2,0x64,0x6d,0xc2,0xb3,0x49,0x55,0xe5,0xb9,
2642
  0xb3,0xe6,0x88,0x90,0xe6,0x98,0xad,0xe5,0x92,0x8c,0xe5,0xa4,0xa7,0xe6,0xad,0xa3,0xe6,0x98,0x8e,0xe6,0xb2,0xbb,0xe6,0xa0,0xaa,0xe5,0xbc,0x8f,0xe4,0xbc,0x9a,0xe7,
2643
  0xa4,0xbe,0x70,0x41,0x6e,0x41,0xce,0xbc,0x41,0x6d,0x41,0x6b,0x41,0x4b,0x42,0x4d,0x42,0x47,0x42,0x63,0x61,0x6c,0x6b,0x63,0x61,0x6c,0x70,0x46,0x6e,0x46,0xce,0xbc,
2644
  0x46,0xce,0xbc,0x67,0x6d,0x67,0x6b,0x67,0x48,0x7a,0x6b,0x48,0x7a,0x4d,0x48,0x7a,0x47,0x48,0x7a,0x54,0x48,0x7a,0xce,0xbc,0xe2,0x84,0x93,0x6d,0xe2,0x84,0x93,0x64,
2645
  0xe2,0x84,0x93,0x6b,0xe2,0x84,0x93,0x66,0x6d,0x6e,0x6d,0xce,0xbc,0x6d,0x6d,0x6d,0x63,0x6d,0x6b,0x6d,0x6d,0x6d,0xc2,0xb2,0x63,0x6d,0xc2,0xb2,0x6d,0xc2,0xb2,0x6b,
2646
  0x6d,0xc2,0xb2,0x6d,0x6d,0xc2,0xb3,0x63,0x6d,0xc2,0xb3,0x6d,0xc2,0xb3,0x6b,0x6d,0xc2,0xb3,0x6d,0xe2,0x88,0x95,0x73,0x6d,0xe2,0x88,0x95,0x73,0xc2,0xb2,0x50,0x61,
2647
  0x6b,0x50,0x61,0x4d,0x50,0x61,0x47,0x50,0x61,0x72,0x61,0x64,0x72,0x61,0x64,0xe2,0x88,0x95,0x73,0x72,0x61,0x64,0xe2,0x88,0x95,0x73,0xc2,0xb2,0x70,0x73,0x6e,0x73,
2648
  0xce,0xbc,0x73,0x6d,0x73,0x70,0x56,0x6e,0x56,0xce,0xbc,0x56,0x6d,0x56,0x6b,0x56,0x4d,0x56,0x70,0x57,0x6e,0x57,0xce,0xbc,0x57,0x6d,0x57,0x6b,0x57,0x4d,0x57,0x6b,
2649
  0xce,0xa9,0x4d,0xce,0xa9,0x61,0x2e,0x6d,0x2e,0x42,0x71,0x63,0x63,0x63,0x64,0x43,0xe2,0x88,0x95,0x6b,0x67,0x43,0x6f,0x2e,0x64,0x42,0x47,0x79,0x68,0x61,0x48,0x50,
2650
  0x69,0x6e,0x4b,0x4b,0x4b,0x4d,0x6b,0x74,0x6c,0x6d,0x6c,0x6e,0x6c,0x6f,0x67,0x6c,0x78,0x6d,0x62,0x6d,0x69,0x6c,0x6d,0x6f,0x6c,0x50,0x48,0x70,0x2e,0x6d,0x2e,0x50,
2651
  0x50,0x4d,0x50,0x52,0x73,0x72,0x53,0x76,0x57,0x62,0x56,0xe2,0x88,0x95,0x6d,0x41,0xe2,0x88,0x95,0x6d,0x31,0xe6,0x97,0xa5,0x32,0xe6,0x97,0xa5,0x33,0xe6,0x97,0xa5,
2652
  0x34,0xe6,0x97,0xa5,0x35,0xe6,0x97,0xa5,0x36,0xe6,0x97,0xa5,0x37,0xe6,0x97,0xa5,0x38,0xe6,0x97,0xa5,0x39,0xe6,0x97,0xa5,0x31,0x30,0xe6,0x97,0xa5,0x31,0x31,0xe6,
2653
  0x97,0xa5,0x31,0x32,0xe6,0x97,0xa5,0x31,0x33,0xe6,0x97,0xa5,0x31,0x34,0xe6,0x97,0xa5,0x31,0x35,0xe6,0x97,0xa5,0x31,0x36,0xe6,0x97,0xa5,0x31,0x37,0xe6,0x97,0xa5,
2654
  0x31,0x38,0xe6,0x97,0xa5,0x31,0x39,0xe6,0x97,0xa5,0x32,0x30,0xe6,0x97,0xa5,0x32,0x31,0xe6,0x97,0xa5,0x32,0x32,0xe6,0x97,0xa5,0x32,0x33,0xe6,0x97,0xa5,0x32,0x34,
2655
  0xe6,0x97,0xa5,0x32,0x35,0xe6,0x97,0xa5,0x32,0x36,0xe6,0x97,0xa5,0x32,0x37,0xe6,0x97,0xa5,0x32,0x38,0xe6,0x97,0xa5,0x32,0x39,0xe6,0x97,0xa5,0x33,0x30,0xe6,0x97,
2656
  0xa5,0x33,0x31,0xe6,0x97,0xa5,0x67,0x61,0x6c,0xd1,0x8a,0xd1,0x8c,0xea,0x9d,0xaf,0x53,0x43,0x46,0x51,0xc4,0xa6,0xc5,0x93,0xea,0x9c,0xa7,0xea,0xac,0xb7,0xc9,0xab,
2657
  0xea,0xad,0x92,0xca,0x8d,0xe8,0xb1,0x88,0xe6,0x9b,0xb4,0xe8,0xbb,0x8a,0xe8,0xb3,0x88,0xe6,0xbb,0x91,0xe4,0xb8,0xb2,0xe5,0x8f,0xa5,0xe9,0xbe,0x9c,0xe9,0xbe,0x9c,
2658
  0xe5,0xa5,0x91,0xe9,0x87,0x91,0xe5,0x96,0x87,0xe5,0xa5,0x88,0xe6,0x87,0xb6,0xe7,0x99,0xa9,0xe7,0xbe,0x85,0xe8,0x98,0xbf,0xe8,0x9e,0xba,0xe8,0xa3,0xb8,0xe9,0x82,
2659
  0x8f,0xe6,0xa8,0x82,0xe6,0xb4,0x9b,0xe7,0x83,0x99,0xe7,0x8f,0x9e,0xe8,0x90,0xbd,0xe9,0x85,0xaa,0xe9,0xa7,0xb1,0xe4,0xba,0x82,0xe5,0x8d,0xb5,0xe6,0xac,0x84,0xe7,
2660
  0x88,0x9b,0xe8,0x98,0xad,0xe9,0xb8,0x9e,0xe5,0xb5,0x90,0xe6,0xbf,0xab,0xe8,0x97,0x8d,0xe8,0xa5,0xa4,0xe6,0x8b,0x89,0xe8,0x87,0x98,0xe8,0xa0,0x9f,0xe5,0xbb,0x8a,
2661
  0xe6,0x9c,0x97,0xe6,0xb5,0xaa,0xe7,0x8b,0xbc,0xe9,0x83,0x8e,0xe4,0xbe,0x86,0xe5,0x86,0xb7,0xe5,0x8b,0x9e,0xe6,0x93,0x84,0xe6,0xab,0x93,0xe7,0x88,0x90,0xe7,0x9b,
2662
  0xa7,0xe8,0x80,0x81,0xe8,0x98,0x86,0xe8,0x99,0x9c,0xe8,0xb7,0xaf,0xe9,0x9c,0xb2,0xe9,0xad,0xaf,0xe9,0xb7,0xba,0xe7,0xa2,0x8c,0xe7,0xa5,0xbf,0xe7,0xb6,0xa0,0xe8,
2663
  0x8f,0x89,0xe9,0x8c,0x84,0xe9,0xb9,0xbf,0xe8,0xab,0x96,0xe5,0xa3,0x9f,0xe5,0xbc,0x84,0xe7,0xb1,0xa0,0xe8,0x81,0xbe,0xe7,0x89,0xa2,0xe7,0xa3,0x8a,0xe8,0xb3,0x82,
2664
  0xe9,0x9b,0xb7,0xe5,0xa3,0x98,0xe5,0xb1,0xa2,0xe6,0xa8,0x93,0xe6,0xb7,0x9a,0xe6,0xbc,0x8f,0xe7,0xb4,0xaf,0xe7,0xb8,0xb7,0xe9,0x99,0x8b,0xe5,0x8b,0x92,0xe8,0x82,
2665
  0x8b,0xe5,0x87,0x9c,0xe5,0x87,0x8c,0xe7,0xa8,0x9c,0xe7,0xb6,0xbe,0xe8,0x8f,0xb1,0xe9,0x99,0xb5,0xe8,0xae,0x80,0xe6,0x8b,0x8f,0xe6,0xa8,0x82,0xe8,0xab,0xbe,0xe4,
2666
  0xb8,0xb9,0xe5,0xaf,0xa7,0xe6,0x80,0x92,0xe7,0x8e,0x87,0xe7,0x95,0xb0,0xe5,0x8c,0x97,0xe7,0xa3,0xbb,0xe4,0xbe,0xbf,0xe5,0xbe,0xa9,0xe4,0xb8,0x8d,0xe6,0xb3,0x8c,
2667
  0xe6,0x95,0xb8,0xe7,0xb4,0xa2,0xe5,0x8f,0x83,0xe5,0xa1,0x9e,0xe7,0x9c,0x81,0xe8,0x91,0x89,0xe8,0xaa,0xaa,0xe6,0xae,0xba,0xe8,0xbe,0xb0,0xe6,0xb2,0x88,0xe6,0x8b,
2668
  0xbe,0xe8,0x8b,0xa5,0xe6,0x8e,0xa0,0xe7,0x95,0xa5,0xe4,0xba,0xae,0xe5,0x85,0xa9,0xe5,0x87,0x89,0xe6,0xa2,0x81,0xe7,0xb3,0xa7,0xe8,0x89,0xaf,0xe8,0xab,0x92,0xe9,
2669
  0x87,0x8f,0xe5,0x8b,0xb5,0xe5,0x91,0x82,0xe5,0xa5,0xb3,0xe5,0xbb,0xac,0xe6,0x97,0x85,0xe6,0xbf,0xbe,0xe7,0xa4,0xaa,0xe9,0x96,0xad,0xe9,0xa9,0xaa,0xe9,0xba,0x97,
2670
  0xe9,0xbb,0x8e,0xe5,0x8a,0x9b,0xe6,0x9b,0x86,0xe6,0xad,0xb7,0xe8,0xbd,0xa2,0xe5,0xb9,0xb4,0xe6,0x86,0x90,0xe6,0x88,0x80,0xe6,0x92,0x9a,0xe6,0xbc,0xa3,0xe7,0x85,
2671
  0x89,0xe7,0x92,0x89,0xe7,0xa7,0x8a,0xe7,0xb7,0xb4,0xe8,0x81,0xaf,0xe8,0xbc,0xa6,0xe8,0x93,0xae,0xe9,0x80,0xa3,0xe9,0x8d,0x8a,0xe5,0x88,0x97,0xe5,0x8a,0xa3,0xe5,
2672
  0x92,0xbd,0xe7,0x83,0x88,0xe8,0xa3,0x82,0xe8,0xaa,0xaa,0xe5,0xbb,0x89,0xe5,0xbf,0xb5,0xe6,0x8d,0xbb,0xe6,0xae,0xae,0xe7,0xb0,0xbe,0xe7,0x8d,0xb5,0xe4,0xbb,0xa4,
2673
  0xe5,0x9b,0xb9,0xe5,0xaf,0xa7,0xe5,0xb6,0xba,0xe6,0x80,0x9c,0xe7,0x8e,0xb2,0xe7,0x91,0xa9,0xe7,0xbe,0x9a,0xe8,0x81,0x86,0xe9,0x88,0xb4,0xe9,0x9b,0xb6,0xe9,0x9d,
2674
  0x88,0xe9,0xa0,0x98,0xe4,0xbe,0x8b,0xe7,0xa6,0xae,0xe9,0x86,0xb4,0xe9,0x9a,0xb8,0xe6,0x83,0xa1,0xe4,0xba,0x86,0xe5,0x83,0x9a,0xe5,0xaf,0xae,0xe5,0xb0,0xbf,0xe6,
2675
  0x96,0x99,0xe6,0xa8,0x82,0xe7,0x87,0x8e,0xe7,0x99,0x82,0xe8,0x93,0xbc,0xe9,0x81,0xbc,0xe9,0xbe,0x8d,0xe6,0x9a,0x88,0xe9,0x98,0xae,0xe5,0x8a,0x89,0xe6,0x9d,0xbb,
2676
  0xe6,0x9f,0xb3,0xe6,0xb5,0x81,0xe6,0xba,0x9c,0xe7,0x90,0x89,0xe7,0x95,0x99,0xe7,0xa1,0xab,0xe7,0xb4,0x90,0xe9,0xa1,0x9e,0xe5,0x85,0xad,0xe6,0x88,0xae,0xe9,0x99,
2677
  0xb8,0xe5,0x80,0xab,0xe5,0xb4,0x99,0xe6,0xb7,0xaa,0xe8,0xbc,0xaa,0xe5,0xbe,0x8b,0xe6,0x85,0x84,0xe6,0xa0,0x97,0xe7,0x8e,0x87,0xe9,0x9a,0x86,0xe5,0x88,0xa9,0xe5,
2678
  0x90,0x8f,0xe5,0xb1,0xa5,0xe6,0x98,0x93,0xe6,0x9d,0x8e,0xe6,0xa2,0xa8,0xe6,0xb3,0xa5,0xe7,0x90,0x86,0xe7,0x97,0xa2,0xe7,0xbd,0xb9,0xe8,0xa3,0x8f,0xe8,0xa3,0xa1,
2679
  0xe9,0x87,0x8c,0xe9,0x9b,0xa2,0xe5,0x8c,0xbf,0xe6,0xba,0xba,0xe5,0x90,0x9d,0xe7,0x87,0x90,0xe7,0x92,0x98,0xe8,0x97,0xba,0xe9,0x9a,0xa3,0xe9,0xb1,0x97,0xe9,0xba,
2680
  0x9f,0xe6,0x9e,0x97,0xe6,0xb7,0x8b,0xe8,0x87,0xa8,0xe7,0xab,0x8b,0xe7,0xac,0xa0,0xe7,0xb2,0x92,0xe7,0x8b,0x80,0xe7,0x82,0x99,0xe8,0xad,0x98,0xe4,0xbb,0x80,0xe8,
2681
  0x8c,0xb6,0xe5,0x88,0xba,0xe5,0x88,0x87,0xe5,0xba,0xa6,0xe6,0x8b,0x93,0xe7,0xb3,0x96,0xe5,0xae,0x85,0xe6,0xb4,0x9e,0xe6,0x9a,0xb4,0xe8,0xbc,0xbb,0xe8,0xa1,0x8c,
2682
  0xe9,0x99,0x8d,0xe8,0xa6,0x8b,0xe5,0xbb,0x93,0xe5,0x85,0x80,0xe5,0x97,0x80,0xe5,0xa1,0x9a,0xe6,0x99,0xb4,0xe5,0x87,0x9e,0xe7,0x8c,0xaa,0xe7,0x9b,0x8a,0xe7,0xa4,
2683
  0xbc,0xe7,0xa5,0x9e,0xe7,0xa5,0xa5,0xe7,0xa6,0x8f,0xe9,0x9d,0x96,0xe7,0xb2,0xbe,0xe7,0xbe,0xbd,0xe8,0x98,0x92,0xe8,0xab,0xb8,0xe9,0x80,0xb8,0xe9,0x83,0xbd,0xe9,
2684
  0xa3,0xaf,0xe9,0xa3,0xbc,0xe9,0xa4,0xa8,0xe9,0xb6,0xb4,0xe9,0x83,0x9e,0xe9,0x9a,0xb7,0xe4,0xbe,0xae,0xe5,0x83,0xa7,0xe5,0x85,0x8d,0xe5,0x8b,0x89,0xe5,0x8b,0xa4,
2685
  0xe5,0x8d,0x91,0xe5,0x96,0x9d,0xe5,0x98,0x86,0xe5,0x99,0xa8,0xe5,0xa1,0x80,0xe5,0xa2,0xa8,0xe5,0xb1,0xa4,0xe5,0xb1,0xae,0xe6,0x82,0x94,0xe6,0x85,0xa8,0xe6,0x86,
2686
  0x8e,0xe6,0x87,0xb2,0xe6,0x95,0x8f,0xe6,0x97,0xa2,0xe6,0x9a,0x91,0xe6,0xa2,0x85,0xe6,0xb5,0xb7,0xe6,0xb8,0x9a,0xe6,0xbc,0xa2,0xe7,0x85,0xae,0xe7,0x88,0xab,0xe7,
2687
  0x90,0xa2,0xe7,0xa2,0x91,0xe7,0xa4,0xbe,0xe7,0xa5,0x89,0xe7,0xa5,0x88,0xe7,0xa5,0x90,0xe7,0xa5,0x96,0xe7,0xa5,0x9d,0xe7,0xa6,0x8d,0xe7,0xa6,0x8e,0xe7,0xa9,0x80,
2688
  0xe7,0xaa,0x81,0xe7,0xaf,0x80,0xe7,0xb7,0xb4,0xe7,0xb8,0x89,0xe7,0xb9,0x81,0xe7,0xbd,0xb2,0xe8,0x80,0x85,0xe8,0x87,0xad,0xe8,0x89,0xb9,0xe8,0x89,0xb9,0xe8,0x91,
2689
  0x97,0xe8,0xa4,0x90,0xe8,0xa6,0x96,0xe8,0xac,0x81,0xe8,0xac,0xb9,0xe8,0xb3,0x93,0xe8,0xb4,0x88,0xe8,0xbe,0xb6,0xe9,0x80,0xb8,0xe9,0x9b,0xa3,0xe9,0x9f,0xbf,0xe9,
2690
  0xa0,0xbb,0xe6,0x81,0xb5,0xf0,0xa4,0x8b,0xae,0xe8,0x88,0x98,0xe4,0xb8,0xa6,0xe5,0x86,0xb5,0xe5,0x85,0xa8,0xe4,0xbe,0x80,0xe5,0x85,0x85,0xe5,0x86,0x80,0xe5,0x8b,
2691
  0x87,0xe5,0x8b,0xba,0xe5,0x96,0x9d,0xe5,0x95,0x95,0xe5,0x96,0x99,0xe5,0x97,0xa2,0xe5,0xa1,0x9a,0xe5,0xa2,0xb3,0xe5,0xa5,0x84,0xe5,0xa5,0x94,0xe5,0xa9,0xa2,0xe5,
2692
  0xac,0xa8,0xe5,0xbb,0x92,0xe5,0xbb,0x99,0xe5,0xbd,0xa9,0xe5,0xbe,0xad,0xe6,0x83,0x98,0xe6,0x85,0x8e,0xe6,0x84,0x88,0xe6,0x86,0x8e,0xe6,0x85,0xa0,0xe6,0x87,0xb2,
2693
  0xe6,0x88,0xb4,0xe6,0x8f,0x84,0xe6,0x90,0x9c,0xe6,0x91,0x92,0xe6,0x95,0x96,0xe6,0x99,0xb4,0xe6,0x9c,0x97,0xe6,0x9c,0x9b,0xe6,0x9d,0x96,0xe6,0xad,0xb9,0xe6,0xae,
2694
  0xba,0xe6,0xb5,0x81,0xe6,0xbb,0x9b,0xe6,0xbb,0x8b,0xe6,0xbc,0xa2,0xe7,0x80,0x9e,0xe7,0x85,0xae,0xe7,0x9e,0xa7,0xe7,0x88,0xb5,0xe7,0x8a,0xaf,0xe7,0x8c,0xaa,0xe7,
2695
  0x91,0xb1,0xe7,0x94,0x86,0xe7,0x94,0xbb,0xe7,0x98,0x9d,0xe7,0x98,0x9f,0xe7,0x9b,0x8a,0xe7,0x9b,0x9b,0xe7,0x9b,0xb4,0xe7,0x9d,0x8a,0xe7,0x9d,0x80,0xe7,0xa3,0x8c,
2696
  0xe7,0xaa,0xb1,0xe7,0xaf,0x80,0xe7,0xb1,0xbb,0xe7,0xb5,0x9b,0xe7,0xb7,0xb4,0xe7,0xbc,0xbe,0xe8,0x80,0x85,0xe8,0x8d,0x92,0xe8,0x8f,0xaf,0xe8,0x9d,0xb9,0xe8,0xa5,
2697
  0x81,0xe8,0xa6,0x86,0xe8,0xa6,0x96,0xe8,0xaa,0xbf,0xe8,0xab,0xb8,0xe8,0xab,0x8b,0xe8,0xac,0x81,0xe8,0xab,0xbe,0xe8,0xab,0xad,0xe8,0xac,0xb9,0xe8,0xae,0x8a,0xe8,
2698
  0xb4,0x88,0xe8,0xbc,0xb8,0xe9,0x81,0xb2,0xe9,0x86,0x99,0xe9,0x89,0xb6,0xe9,0x99,0xbc,0xe9,0x9b,0xa3,0xe9,0x9d,0x96,0xe9,0x9f,0x9b,0xe9,0x9f,0xbf,0xe9,0xa0,0x8b,
2699
  0xe9,0xa0,0xbb,0xe9,0xac,0x92,0xe9,0xbe,0x9c,0xf0,0xa2,0xa1,0x8a,0xf0,0xa2,0xa1,0x84,0xf0,0xa3,0x8f,0x95,0xe3,0xae,0x9d,0xe4,0x80,0x98,0xe4,0x80,0xb9,0xf0,0xa5,
2700
  0x89,0x89,0xf0,0xa5,0xb3,0x90,0xf0,0xa7,0xbb,0x93,0xe9,0xbd,0x83,0xe9,0xbe,0x8e,0x66,0x66,0x66,0x69,0x66,0x6c,0x66,0x66,0x69,0x66,0x66,0x6c,0xc5,0xbf,0x74,0x73,
2701
  0x74,0xd5,0xb4,0xd5,0xb6,0xd5,0xb4,0xd5,0xa5,0xd5,0xb4,0xd5,0xab,0xd5,0xbe,0xd5,0xb6,0xd5,0xb4,0xd5,0xad,0xd7,0x99,0xd6,0xb4,0xd7,0xb2,0xd6,0xb7,0xd7,0xa2,0xd7,
2702
  0x90,0xd7,0x93,0xd7,0x94,0xd7,0x9b,0xd7,0x9c,0xd7,0x9d,0xd7,0xa8,0xd7,0xaa,0x2b,0xd7,0xa9,0xd7,0x81,0xd7,0xa9,0xd7,0x82,0xef,0xad,0x89,0xd7,0x81,0xef,0xad,0x89,
2703
  0xd7,0x82,0xd7,0x90,0xd6,0xb7,0xd7,0x90,0xd6,0xb8,0xd7,0x90,0xd6,0xbc,0xd7,0x91,0xd6,0xbc,0xd7,0x92,0xd6,0xbc,0xd7,0x93,0xd6,0xbc,0xd7,0x94,0xd6,0xbc,0xd7,0x95,
2704
  0xd6,0xbc,0xd7,0x96,0xd6,0xbc,0xd7,0x98,0xd6,0xbc,0xd7,0x99,0xd6,0xbc,0xd7,0x9a,0xd6,0xbc,0xd7,0x9b,0xd6,0xbc,0xd7,0x9c,0xd6,0xbc,0xd7,0x9e,0xd6,0xbc,0xd7,0xa0,
2705
  0xd6,0xbc,0xd7,0xa1,0xd6,0xbc,0xd7,0xa3,0xd6,0xbc,0xd7,0xa4,0xd6,0xbc,0xd7,0xa6,0xd6,0xbc,0xd7,0xa7,0xd6,0xbc,0xd7,0xa8,0xd6,0xbc,0xd7,0xa9,0xd6,0xbc,0xd7,0xaa,
2706
  0xd6,0xbc,0xd7,0x95,0xd6,0xb9,0xd7,0x91,0xd6,0xbf,0xd7,0x9b,0xd6,0xbf,0xd7,0xa4,0xd6,0xbf,0xd7,0x90,0xd7,0x9c,0xd9,0xb1,0xd9,0xb1,0xd9,0xbb,0xd9,0xbb,0xd9,0xbb,
2707
  0xd9,0xbb,0xd9,0xbe,0xd9,0xbe,0xd9,0xbe,0xd9,0xbe,0xda,0x80,0xda,0x80,0xda,0x80,0xda,0x80,0xd9,0xba,0xd9,0xba,0xd9,0xba,0xd9,0xba,0xd9,0xbf,0xd9,0xbf,0xd9,0xbf,
2708
  0xd9,0xbf,0xd9,0xb9,0xd9,0xb9,0xd9,0xb9,0xd9,0xb9,0xda,0xa4,0xda,0xa4,0xda,0xa4,0xda,0xa4,0xda,0xa6,0xda,0xa6,0xda,0xa6,0xda,0xa6,0xda,0x84,0xda,0x84,0xda,0x84,
2709
  0xda,0x84,0xda,0x83,0xda,0x83,0xda,0x83,0xda,0x83,0xda,0x86,0xda,0x86,0xda,0x86,0xda,0x86,0xda,0x87,0xda,0x87,0xda,0x87,0xda,0x87,0xda,0x8d,0xda,0x8d,0xda,0x8c,
2710
  0xda,0x8c,0xda,0x8e,0xda,0x8e,0xda,0x88,0xda,0x88,0xda,0x98,0xda,0x98,0xda,0x91,0xda,0x91,0xda,0xa9,0xda,0xa9,0xda,0xa9,0xda,0xa9,0xda,0xaf,0xda,0xaf,0xda,0xaf,
2711
  0xda,0xaf,0xda,0xb3,0xda,0xb3,0xda,0xb3,0xda,0xb3,0xda,0xb1,0xda,0xb1,0xda,0xb1,0xda,0xb1,0xda,0xba,0xda,0xba,0xda,0xbb,0xda,0xbb,0xda,0xbb,0xda,0xbb,0xdb,0x80,
2712
  0xdb,0x80,0xdb,0x81,0xdb,0x81,0xdb,0x81,0xdb,0x81,0xda,0xbe,0xda,0xbe,0xda,0xbe,0xda,0xbe,0xdb,0x92,0xdb,0x92,0xdb,0x93,0xdb,0x93,0xda,0xad,0xda,0xad,0xda,0xad,
2713
  0xda,0xad,0xdb,0x87,0xdb,0x87,0xdb,0x86,0xdb,0x86,0xdb,0x88,0xdb,0x88,0xd9,0xb7,0xdb,0x8b,0xdb,0x8b,0xdb,0x85,0xdb,0x85,0xdb,0x89,0xdb,0x89,0xdb,0x90,0xdb,0x90,
2714
  0xdb,0x90,0xdb,0x90,0xd9,0x89,0xd9,0x89,0xd8,0xa6,0xd8,0xa7,0xd8,0xa6,0xd8,0xa7,0xd8,0xa6,0xdb,0x95,0xd8,0xa6,0xdb,0x95,0xd8,0xa6,0xd9,0x88,0xd8,0xa6,0xd9,0x88,
2715
  0xd8,0xa6,0xdb,0x87,0xd8,0xa6,0xdb,0x87,0xd8,0xa6,0xdb,0x86,0xd8,0xa6,0xdb,0x86,0xd8,0xa6,0xdb,0x88,0xd8,0xa6,0xdb,0x88,0xd8,0xa6,0xdb,0x90,0xd8,0xa6,0xdb,0x90,
2716
  0xd8,0xa6,0xdb,0x90,0xd8,0xa6,0xd9,0x89,0xd8,0xa6,0xd9,0x89,0xd8,0xa6,0xd9,0x89,0xdb,0x8c,0xdb,0x8c,0xdb,0x8c,0xdb,0x8c,0xd8,0xa6,0xd8,0xac,0xd8,0xa6,0xd8,0xad,
2717
  0xd8,0xa6,0xd9,0x85,0xd8,0xa6,0xd9,0x89,0xd8,0xa6,0xd9,0x8a,0xd8,0xa8,0xd8,0xac,0xd8,0xa8,0xd8,0xad,0xd8,0xa8,0xd8,0xae,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,0xd9,0x89,
2718
  0xd8,0xa8,0xd9,0x8a,0xd8,0xaa,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd8,0xaa,0xd8,0xae,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x89,0xd8,0xaa,0xd9,0x8a,0xd8,0xab,0xd8,0xac,
2719
  0xd8,0xab,0xd9,0x85,0xd8,0xab,0xd9,0x89,0xd8,0xab,0xd9,0x8a,0xd8,0xac,0xd8,0xad,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd8,0xac,
2720
  0xd8,0xae,0xd8,0xad,0xd8,0xae,0xd9,0x85,0xd8,0xb3,0xd8,0xac,0xd8,0xb3,0xd8,0xad,0xd8,0xb3,0xd8,0xae,0xd8,0xb3,0xd9,0x85,0xd8,0xb5,0xd8,0xad,0xd8,0xb5,0xd9,0x85,
2721
  0xd8,0xb6,0xd8,0xac,0xd8,0xb6,0xd8,0xad,0xd8,0xb6,0xd8,0xae,0xd8,0xb6,0xd9,0x85,0xd8,0xb7,0xd8,0xad,0xd8,0xb7,0xd9,0x85,0xd8,0xb8,0xd9,0x85,0xd8,0xb9,0xd8,0xac,
2722
  0xd8,0xb9,0xd9,0x85,0xd8,0xba,0xd8,0xac,0xd8,0xba,0xd9,0x85,0xd9,0x81,0xd8,0xac,0xd9,0x81,0xd8,0xad,0xd9,0x81,0xd8,0xae,0xd9,0x81,0xd9,0x85,0xd9,0x81,0xd9,0x89,
2723
  0xd9,0x81,0xd9,0x8a,0xd9,0x82,0xd8,0xad,0xd9,0x82,0xd9,0x85,0xd9,0x82,0xd9,0x89,0xd9,0x82,0xd9,0x8a,0xd9,0x83,0xd8,0xa7,0xd9,0x83,0xd8,0xac,0xd9,0x83,0xd8,0xad,
2724
  0xd9,0x83,0xd8,0xae,0xd9,0x83,0xd9,0x84,0xd9,0x83,0xd9,0x85,0xd9,0x83,0xd9,0x89,0xd9,0x83,0xd9,0x8a,0xd9,0x84,0xd8,0xac,0xd9,0x84,0xd8,0xad,0xd9,0x84,0xd8,0xae,
2725
  0xd9,0x84,0xd9,0x85,0xd9,0x84,0xd9,0x89,0xd9,0x84,0xd9,0x8a,0xd9,0x85,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd9,0x85,0xd9,0x85,0xd9,0x85,0xd9,0x89,
2726
  0xd9,0x85,0xd9,0x8a,0xd9,0x86,0xd8,0xac,0xd9,0x86,0xd8,0xad,0xd9,0x86,0xd8,0xae,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x89,0xd9,0x86,0xd9,0x8a,0xd9,0x87,0xd8,0xac,
2727
  0xd9,0x87,0xd9,0x85,0xd9,0x87,0xd9,0x89,0xd9,0x87,0xd9,0x8a,0xd9,0x8a,0xd8,0xac,0xd9,0x8a,0xd8,0xad,0xd9,0x8a,0xd8,0xae,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x89,
2728
  0xd9,0x8a,0xd9,0x8a,0xd8,0xb0,0xd9,0xb0,0xd8,0xb1,0xd9,0xb0,0xd9,0x89,0xd9,0xb0,0x20,0xd9,0x8c,0xd9,0x91,0x20,0xd9,0x8d,0xd9,0x91,0x20,0xd9,0x8e,0xd9,0x91,0x20,
2729
  0xd9,0x8f,0xd9,0x91,0x20,0xd9,0x90,0xd9,0x91,0x20,0xd9,0x91,0xd9,0xb0,0xd8,0xa6,0xd8,0xb1,0xd8,0xa6,0xd8,0xb2,0xd8,0xa6,0xd9,0x85,0xd8,0xa6,0xd9,0x86,0xd8,0xa6,
2730
  0xd9,0x89,0xd8,0xa6,0xd9,0x8a,0xd8,0xa8,0xd8,0xb1,0xd8,0xa8,0xd8,0xb2,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,0xd9,0x86,0xd8,0xa8,0xd9,0x89,0xd8,0xa8,0xd9,0x8a,0xd8,0xaa,
2731
  0xd8,0xb1,0xd8,0xaa,0xd8,0xb2,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x86,0xd8,0xaa,0xd9,0x89,0xd8,0xaa,0xd9,0x8a,0xd8,0xab,0xd8,0xb1,0xd8,0xab,0xd8,0xb2,0xd8,0xab,
2732
  0xd9,0x85,0xd8,0xab,0xd9,0x86,0xd8,0xab,0xd9,0x89,0xd8,0xab,0xd9,0x8a,0xd9,0x81,0xd9,0x89,0xd9,0x81,0xd9,0x8a,0xd9,0x82,0xd9,0x89,0xd9,0x82,0xd9,0x8a,0xd9,0x83,
2733
  0xd8,0xa7,0xd9,0x83,0xd9,0x84,0xd9,0x83,0xd9,0x85,0xd9,0x83,0xd9,0x89,0xd9,0x83,0xd9,0x8a,0xd9,0x84,0xd9,0x85,0xd9,0x84,0xd9,0x89,0xd9,0x84,0xd9,0x8a,0xd9,0x85,
2734
  0xd8,0xa7,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd8,0xb1,0xd9,0x86,0xd8,0xb2,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x86,0xd9,0x86,0xd9,0x89,0xd9,0x86,0xd9,0x8a,0xd9,0x89,
2735
  0xd9,0xb0,0xd9,0x8a,0xd8,0xb1,0xd9,0x8a,0xd8,0xb2,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x86,0xd9,0x8a,0xd9,0x89,0xd9,0x8a,0xd9,0x8a,0xd8,0xa6,0xd8,0xac,0xd8,0xa6,
2736
  0xd8,0xad,0xd8,0xa6,0xd8,0xae,0xd8,0xa6,0xd9,0x85,0xd8,0xa6,0xd9,0x87,0xd8,0xa8,0xd8,0xac,0xd8,0xa8,0xd8,0xad,0xd8,0xa8,0xd8,0xae,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,
2737
  0xd9,0x87,0xd8,0xaa,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd8,0xaa,0xd8,0xae,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x87,0xd8,0xab,0xd9,0x85,0xd8,0xac,0xd8,0xad,0xd8,0xac,
2738
  0xd9,0x85,0xd8,0xad,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd8,0xac,0xd8,0xae,0xd9,0x85,0xd8,0xb3,0xd8,0xac,0xd8,0xb3,0xd8,0xad,0xd8,0xb3,0xd8,0xae,0xd8,0xb3,
2739
  0xd9,0x85,0xd8,0xb5,0xd8,0xad,0xd8,0xb5,0xd8,0xae,0xd8,0xb5,0xd9,0x85,0xd8,0xb6,0xd8,0xac,0xd8,0xb6,0xd8,0xad,0xd8,0xb6,0xd8,0xae,0xd8,0xb6,0xd9,0x85,0xd8,0xb7,
2740
  0xd8,0xad,0xd8,0xb8,0xd9,0x85,0xd8,0xb9,0xd8,0xac,0xd8,0xb9,0xd9,0x85,0xd8,0xba,0xd8,0xac,0xd8,0xba,0xd9,0x85,0xd9,0x81,0xd8,0xac,0xd9,0x81,0xd8,0xad,0xd9,0x81,
2741
  0xd8,0xae,0xd9,0x81,0xd9,0x85,0xd9,0x82,0xd8,0xad,0xd9,0x82,0xd9,0x85,0xd9,0x83,0xd8,0xac,0xd9,0x83,0xd8,0xad,0xd9,0x83,0xd8,0xae,0xd9,0x83,0xd9,0x84,0xd9,0x83,
2742
  0xd9,0x85,0xd9,0x84,0xd8,0xac,0xd9,0x84,0xd8,0xad,0xd9,0x84,0xd8,0xae,0xd9,0x84,0xd9,0x85,0xd9,0x84,0xd9,0x87,0xd9,0x85,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd9,0x85,
2743
  0xd8,0xae,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd8,0xac,0xd9,0x86,0xd8,0xad,0xd9,0x86,0xd8,0xae,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x87,0xd9,0x87,0xd8,0xac,0xd9,0x87,
2744
  0xd9,0x85,0xd9,0x87,0xd9,0xb0,0xd9,0x8a,0xd8,0xac,0xd9,0x8a,0xd8,0xad,0xd9,0x8a,0xd8,0xae,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x87,0xd8,0xa6,0xd9,0x85,0xd8,0xa6,
2745
  0xd9,0x87,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,0xd9,0x87,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x87,0xd8,0xab,0xd9,0x85,0xd8,0xab,0xd9,0x87,0xd8,0xb3,0xd9,0x85,0xd8,0xb3,
2746
  0xd9,0x87,0xd8,0xb4,0xd9,0x85,0xd8,0xb4,0xd9,0x87,0xd9,0x83,0xd9,0x84,0xd9,0x83,0xd9,0x85,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x87,0xd9,0x8a,
2747
  0xd9,0x85,0xd9,0x8a,0xd9,0x87,0xd9,0x80,0xd9,0x8e,0xd9,0x91,0xd9,0x80,0xd9,0x8f,0xd9,0x91,0xd9,0x80,0xd9,0x90,0xd9,0x91,0xd8,0xb7,0xd9,0x89,0xd8,0xb7,0xd9,0x8a,
2748
  0xd8,0xb9,0xd9,0x89,0xd8,0xb9,0xd9,0x8a,0xd8,0xba,0xd9,0x89,0xd8,0xba,0xd9,0x8a,0xd8,0xb3,0xd9,0x89,0xd8,0xb3,0xd9,0x8a,0xd8,0xb4,0xd9,0x89,0xd8,0xb4,0xd9,0x8a,
2749
  0xd8,0xad,0xd9,0x89,0xd8,0xad,0xd9,0x8a,0xd8,0xac,0xd9,0x89,0xd8,0xac,0xd9,0x8a,0xd8,0xae,0xd9,0x89,0xd8,0xae,0xd9,0x8a,0xd8,0xb5,0xd9,0x89,0xd8,0xb5,0xd9,0x8a,
2750
  0xd8,0xb6,0xd9,0x89,0xd8,0xb6,0xd9,0x8a,0xd8,0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,0xd8,0xb4,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd8,0xb4,0xd8,0xb1,0xd8,0xb3,0xd8,0xb1,
2751
  0xd8,0xb5,0xd8,0xb1,0xd8,0xb6,0xd8,0xb1,0xd8,0xb7,0xd9,0x89,0xd8,0xb7,0xd9,0x8a,0xd8,0xb9,0xd9,0x89,0xd8,0xb9,0xd9,0x8a,0xd8,0xba,0xd9,0x89,0xd8,0xba,0xd9,0x8a,
2752
  0xd8,0xb3,0xd9,0x89,0xd8,0xb3,0xd9,0x8a,0xd8,0xb4,0xd9,0x89,0xd8,0xb4,0xd9,0x8a,0xd8,0xad,0xd9,0x89,0xd8,0xad,0xd9,0x8a,0xd8,0xac,0xd9,0x89,0xd8,0xac,0xd9,0x8a,
2753
  0xd8,0xae,0xd9,0x89,0xd8,0xae,0xd9,0x8a,0xd8,0xb5,0xd9,0x89,0xd8,0xb5,0xd9,0x8a,0xd8,0xb6,0xd9,0x89,0xd8,0xb6,0xd9,0x8a,0xd8,0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,
2754
  0xd8,0xb4,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd8,0xb4,0xd8,0xb1,0xd8,0xb3,0xd8,0xb1,0xd8,0xb5,0xd8,0xb1,0xd8,0xb6,0xd8,0xb1,0xd8,0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,
2755
  0xd8,0xb4,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd8,0xb3,0xd9,0x87,0xd8,0xb4,0xd9,0x87,0xd8,0xb7,0xd9,0x85,0xd8,0xb3,0xd8,0xac,0xd8,0xb3,0xd8,0xad,0xd8,0xb3,0xd8,0xae,
2756
  0xd8,0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,0xd8,0xb4,0xd8,0xae,0xd8,0xb7,0xd9,0x85,0xd8,0xb8,0xd9,0x85,0xd8,0xa7,0xd9,0x8b,0xd8,0xa7,0xd9,0x8b,0xd8,0xaa,0xd8,0xac,
2757
  0xd9,0x85,0xd8,0xaa,0xd8,0xad,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd9,0x85,0xd8,0xaa,0xd8,0xae,0xd9,0x85,0xd8,0xaa,0xd9,0x85,0xd8,0xac,
2758
  0xd8,0xaa,0xd9,0x85,0xd8,0xad,0xd8,0xaa,0xd9,0x85,0xd8,0xae,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd8,0xad,0xd9,0x85,0xd9,0x8a,0xd8,0xad,
2759
  0xd9,0x85,0xd9,0x89,0xd8,0xb3,0xd8,0xad,0xd8,0xac,0xd8,0xb3,0xd8,0xac,0xd8,0xad,0xd8,0xb3,0xd8,0xac,0xd9,0x89,0xd8,0xb3,0xd9,0x85,0xd8,0xad,0xd8,0xb3,0xd9,0x85,
2760
  0xd8,0xad,0xd8,0xb3,0xd9,0x85,0xd8,0xac,0xd8,0xb3,0xd9,0x85,0xd9,0x85,0xd8,0xb3,0xd9,0x85,0xd9,0x85,0xd8,0xb5,0xd8,0xad,0xd8,0xad,0xd8,0xb5,0xd8,0xad,0xd8,0xad,
2761
  0xd8,0xb5,0xd9,0x85,0xd9,0x85,0xd8,0xb4,0xd8,0xad,0xd9,0x85,0xd8,0xb4,0xd8,0xad,0xd9,0x85,0xd8,0xb4,0xd8,0xac,0xd9,0x8a,0xd8,0xb4,0xd9,0x85,0xd8,0xae,0xd8,0xb4,
2762
  0xd9,0x85,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd9,0x85,0xd8,0xb4,0xd9,0x85,0xd9,0x85,0xd8,0xb6,0xd8,0xad,0xd9,0x89,0xd8,0xb6,0xd8,0xae,0xd9,0x85,0xd8,0xb6,0xd8,0xae,
2763
  0xd9,0x85,0xd8,0xb7,0xd9,0x85,0xd8,0xad,0xd8,0xb7,0xd9,0x85,0xd8,0xad,0xd8,0xb7,0xd9,0x85,0xd9,0x85,0xd8,0xb7,0xd9,0x85,0xd9,0x8a,0xd8,0xb9,0xd8,0xac,0xd9,0x85,
2764
  0xd8,0xb9,0xd9,0x85,0xd9,0x85,0xd8,0xb9,0xd9,0x85,0xd9,0x85,0xd8,0xb9,0xd9,0x85,0xd9,0x89,0xd8,0xba,0xd9,0x85,0xd9,0x85,0xd8,0xba,0xd9,0x85,0xd9,0x8a,0xd8,0xba,
2765
  0xd9,0x85,0xd9,0x89,0xd9,0x81,0xd8,0xae,0xd9,0x85,0xd9,0x81,0xd8,0xae,0xd9,0x85,0xd9,0x82,0xd9,0x85,0xd8,0xad,0xd9,0x82,0xd9,0x85,0xd9,0x85,0xd9,0x84,0xd8,0xad,
2766
  0xd9,0x85,0xd9,0x84,0xd8,0xad,0xd9,0x8a,0xd9,0x84,0xd8,0xad,0xd9,0x89,0xd9,0x84,0xd8,0xac,0xd8,0xac,0xd9,0x84,0xd8,0xac,0xd8,0xac,0xd9,0x84,0xd8,0xae,0xd9,0x85,
2767
  0xd9,0x84,0xd8,0xae,0xd9,0x85,0xd9,0x84,0xd9,0x85,0xd8,0xad,0xd9,0x84,0xd9,0x85,0xd8,0xad,0xd9,0x85,0xd8,0xad,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd9,0x85,0xd9,0x85,
2768
  0xd8,0xad,0xd9,0x8a,0xd9,0x85,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xac,0xd9,0x85,0xd9,0x85,0xd8,0xae,0xd8,0xac,0xd9,0x85,0xd8,0xae,0xd9,0x85,0xd9,0x85,0xd8,0xac,
2769
  0xd8,0xae,0xd9,0x87,0xd9,0x85,0xd8,0xac,0xd9,0x87,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd8,0xad,0xd9,0x85,0xd9,0x86,0xd8,0xad,0xd9,0x89,0xd9,0x86,0xd8,0xac,0xd9,0x85,
2770
  0xd9,0x86,0xd8,0xac,0xd9,0x85,0xd9,0x86,0xd8,0xac,0xd9,0x89,0xd9,0x86,0xd9,0x85,0xd9,0x8a,0xd9,0x86,0xd9,0x85,0xd9,0x89,0xd9,0x8a,0xd9,0x85,0xd9,0x85,0xd9,0x8a,
2771
  0xd9,0x85,0xd9,0x85,0xd8,0xa8,0xd8,0xae,0xd9,0x8a,0xd8,0xaa,0xd8,0xac,0xd9,0x8a,0xd8,0xaa,0xd8,0xac,0xd9,0x89,0xd8,0xaa,0xd8,0xae,0xd9,0x8a,0xd8,0xaa,0xd8,0xae,
2772
  0xd9,0x89,0xd8,0xaa,0xd9,0x85,0xd9,0x8a,0xd8,0xaa,0xd9,0x85,0xd9,0x89,0xd8,0xac,0xd9,0x85,0xd9,0x8a,0xd8,0xac,0xd8,0xad,0xd9,0x89,0xd8,0xac,0xd9,0x85,0xd9,0x89,
2773
  0xd8,0xb3,0xd8,0xae,0xd9,0x89,0xd8,0xb5,0xd8,0xad,0xd9,0x8a,0xd8,0xb4,0xd8,0xad,0xd9,0x8a,0xd8,0xb6,0xd8,0xad,0xd9,0x8a,0xd9,0x84,0xd8,0xac,0xd9,0x8a,0xd9,0x84,
2774
  0xd9,0x85,0xd9,0x8a,0xd9,0x8a,0xd8,0xad,0xd9,0x8a,0xd9,0x8a,0xd8,0xac,0xd9,0x8a,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x85,0xd9,0x85,0xd9,0x8a,0xd9,0x82,0xd9,0x85,
2775
  0xd9,0x8a,0xd9,0x86,0xd8,0xad,0xd9,0x8a,0xd9,0x82,0xd9,0x85,0xd8,0xad,0xd9,0x84,0xd8,0xad,0xd9,0x85,0xd8,0xb9,0xd9,0x85,0xd9,0x8a,0xd9,0x83,0xd9,0x85,0xd9,0x8a,
2776
  0xd9,0x86,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd9,0x8a,0xd9,0x84,0xd8,0xac,0xd9,0x85,0xd9,0x83,0xd9,0x85,0xd9,0x85,0xd9,0x84,0xd8,0xac,0xd9,0x85,0xd9,0x86,
2777
  0xd8,0xac,0xd8,0xad,0xd8,0xac,0xd8,0xad,0xd9,0x8a,0xd8,0xad,0xd8,0xac,0xd9,0x8a,0xd9,0x85,0xd8,0xac,0xd9,0x8a,0xd9,0x81,0xd9,0x85,0xd9,0x8a,0xd8,0xa8,0xd8,0xad,
2778
  0xd9,0x8a,0xd9,0x83,0xd9,0x85,0xd9,0x85,0xd8,0xb9,0xd8,0xac,0xd9,0x85,0xd8,0xb5,0xd9,0x85,0xd9,0x85,0xd8,0xb3,0xd8,0xae,0xd9,0x8a,0xd9,0x86,0xd8,0xac,0xd9,0x8a,
2779
  0xd8,0xb5,0xd9,0x84,0xdb,0x92,0xd9,0x82,0xd9,0x84,0xdb,0x92,0xd8,0xa7,0xd9,0x84,0xd9,0x84,0xd9,0x87,0xd8,0xa7,0xd9,0x83,0xd8,0xa8,0xd8,0xb1,0xd9,0x85,0xd8,0xad,
2780
  0xd9,0x85,0xd8,0xaf,0xd8,0xb5,0xd9,0x84,0xd8,0xb9,0xd9,0x85,0xd8,0xb1,0xd8,0xb3,0xd9,0x88,0xd9,0x84,0xd8,0xb9,0xd9,0x84,0xd9,0x8a,0xd9,0x87,0xd9,0x88,0xd8,0xb3,
2781
  0xd9,0x84,0xd9,0x85,0xd8,0xb5,0xd9,0x84,0xd9,0x89,0xd8,0xb5,0xd9,0x84,0xd9,0x89,0x20,0xd8,0xa7,0xd9,0x84,0xd9,0x84,0xd9,0x87,0x20,0xd8,0xb9,0xd9,0x84,0xd9,0x8a,
2782
  0xd9,0x87,0x20,0xd9,0x88,0xd8,0xb3,0xd9,0x84,0xd9,0x85,0xd8,0xac,0xd9,0x84,0x20,0xd8,0xac,0xd9,0x84,0xd8,0xa7,0xd9,0x84,0xd9,0x87,0xd8,0xb1,0xdb,0x8c,0xd8,0xa7,
2783
  0xd9,0x84,0x2c,0xe3,0x80,0x81,0xe3,0x80,0x82,0x3a,0x3b,0x21,0x3f,0xe3,0x80,0x96,0xe3,0x80,0x97,0xe2,0x80,0xa6,0xe2,0x80,0xa5,0xe2,0x80,0x94,0xe2,0x80,0x93,0x5f,
2784
  0x5f,0x28,0x29,0x7b,0x7d,0xe3,0x80,0x94,0xe3,0x80,0x95,0xe3,0x80,0x90,0xe3,0x80,0x91,0xe3,0x80,0x8a,0xe3,0x80,0x8b,0xe3,0x80,0x88,0xe3,0x80,0x89,0xe3,0x80,0x8c,
2785
  0xe3,0x80,0x8d,0xe3,0x80,0x8e,0xe3,0x80,0x8f,0x5b,0x5d,0xe2,0x80,0xbe,0xe2,0x80,0xbe,0xe2,0x80,0xbe,0xe2,0x80,0xbe,0x5f,0x5f,0x5f,0x2c,0xe3,0x80,0x81,0x2e,0x3b,
2786
  0x3a,0x3f,0x21,0xe2,0x80,0x94,0x28,0x29,0x7b,0x7d,0xe3,0x80,0x94,0xe3,0x80,0x95,0x23,0x26,0x2a,0x2b,0x2d,0x3c,0x3e,0x3d,0x5c,0x24,0x25,0x40,0x20,0xd9,0x8b,0xd9,
2787
  0x80,0xd9,0x8b,0x20,0xd9,0x8c,0x20,0xd9,0x8d,0x20,0xd9,0x8e,0xd9,0x80,0xd9,0x8e,0x20,0xd9,0x8f,0xd9,0x80,0xd9,0x8f,0x20,0xd9,0x90,0xd9,0x80,0xd9,0x90,0x20,0xd9,
2788
  0x91,0xd9,0x80,0xd9,0x91,0x20,0xd9,0x92,0xd9,0x80,0xd9,0x92,0xd8,0xa1,0xd8,0xa2,0xd8,0xa2,0xd8,0xa3,0xd8,0xa3,0xd8,0xa4,0xd8,0xa4,0xd8,0xa5,0xd8,0xa5,0xd8,0xa6,
2789
  0xd8,0xa6,0xd8,0xa6,0xd8,0xa6,0xd8,0xa7,0xd8,0xa7,0xd8,0xa8,0xd8,0xa8,0xd8,0xa8,0xd8,0xa8,0xd8,0xa9,0xd8,0xa9,0xd8,0xaa,0xd8,0xaa,0xd8,0xaa,0xd8,0xaa,0xd8,0xab,
2790
  0xd8,0xab,0xd8,0xab,0xd8,0xab,0xd8,0xac,0xd8,0xac,0xd8,0xac,0xd8,0xac,0xd8,0xad,0xd8,0xad,0xd8,0xad,0xd8,0xad,0xd8,0xae,0xd8,0xae,0xd8,0xae,0xd8,0xae,0xd8,0xaf,
2791
  0xd8,0xaf,0xd8,0xb0,0xd8,0xb0,0xd8,0xb1,0xd8,0xb1,0xd8,0xb2,0xd8,0xb2,0xd8,0xb3,0xd8,0xb3,0xd8,0xb3,0xd8,0xb3,0xd8,0xb4,0xd8,0xb4,0xd8,0xb4,0xd8,0xb4,0xd8,0xb5,
2792
  0xd8,0xb5,0xd8,0xb5,0xd8,0xb5,0xd8,0xb6,0xd8,0xb6,0xd8,0xb6,0xd8,0xb6,0xd8,0xb7,0xd8,0xb7,0xd8,0xb7,0xd8,0xb7,0xd8,0xb8,0xd8,0xb8,0xd8,0xb8,0xd8,0xb8,0xd8,0xb9,
2793
  0xd8,0xb9,0xd8,0xb9,0xd8,0xb9,0xd8,0xba,0xd8,0xba,0xd8,0xba,0xd8,0xba,0xd9,0x81,0xd9,0x81,0xd9,0x81,0xd9,0x81,0xd9,0x82,0xd9,0x82,0xd9,0x82,0xd9,0x82,0xd9,0x83,
2794
  0xd9,0x83,0xd9,0x83,0xd9,0x83,0xd9,0x84,0xd9,0x84,0xd9,0x84,0xd9,0x84,0xd9,0x85,0xd9,0x85,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd9,0x86,0xd9,0x86,0xd9,0x86,0xd9,0x87,
2795
  0xd9,0x87,0xd9,0x87,0xd9,0x87,0xd9,0x88,0xd9,0x88,0xd9,0x89,0xd9,0x89,0xd9,0x8a,0xd9,0x8a,0xd9,0x8a,0xd9,0x8a,0xd9,0x84,0xd8,0xa2,0xd9,0x84,0xd8,0xa2,0xd9,0x84,
2796
  0xd8,0xa3,0xd9,0x84,0xd8,0xa3,0xd9,0x84,0xd8,0xa5,0xd9,0x84,0xd8,0xa5,0xd9,0x84,0xd8,0xa7,0xd9,0x84,0xd8,0xa7,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,
2797
  0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,
2798
  0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,
2799
  0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0xe2,0xa6,0x85,0xe2,0xa6,0x86,0xe3,0x80,0x82,0xe3,0x80,0x8c,
2800
  0xe3,0x80,0x8d,0xe3,0x80,0x81,0xe3,0x83,0xbb,0xe3,0x83,0xb2,0xe3,0x82,0xa1,0xe3,0x82,0xa3,0xe3,0x82,0xa5,0xe3,0x82,0xa7,0xe3,0x82,0xa9,0xe3,0x83,0xa3,0xe3,0x83,
2801
  0xa5,0xe3,0x83,0xa7,0xe3,0x83,0x83,0xe3,0x83,0xbc,0xe3,0x82,0xa2,0xe3,0x82,0xa4,0xe3,0x82,0xa6,0xe3,0x82,0xa8,0xe3,0x82,0xaa,0xe3,0x82,0xab,0xe3,0x82,0xad,0xe3,
2802
  0x82,0xaf,0xe3,0x82,0xb1,0xe3,0x82,0xb3,0xe3,0x82,0xb5,0xe3,0x82,0xb7,0xe3,0x82,0xb9,0xe3,0x82,0xbb,0xe3,0x82,0xbd,0xe3,0x82,0xbf,0xe3,0x83,0x81,0xe3,0x83,0x84,
2803
  0xe3,0x83,0x86,0xe3,0x83,0x88,0xe3,0x83,0x8a,0xe3,0x83,0x8b,0xe3,0x83,0x8c,0xe3,0x83,0x8d,0xe3,0x83,0x8e,0xe3,0x83,0x8f,0xe3,0x83,0x92,0xe3,0x83,0x95,0xe3,0x83,
2804
  0x98,0xe3,0x83,0x9b,0xe3,0x83,0x9e,0xe3,0x83,0x9f,0xe3,0x83,0xa0,0xe3,0x83,0xa1,0xe3,0x83,0xa2,0xe3,0x83,0xa4,0xe3,0x83,0xa6,0xe3,0x83,0xa8,0xe3,0x83,0xa9,0xe3,
2805
  0x83,0xaa,0xe3,0x83,0xab,0xe3,0x83,0xac,0xe3,0x83,0xad,0xe3,0x83,0xaf,0xe3,0x83,0xb3,0xe3,0x82,0x99,0xe3,0x82,0x9a,0xe3,0x85,0xa4,0xe3,0x84,0xb1,0xe3,0x84,0xb2,
2806
  0xe3,0x84,0xb3,0xe3,0x84,0xb4,0xe3,0x84,0xb5,0xe3,0x84,0xb6,0xe3,0x84,0xb7,0xe3,0x84,0xb8,0xe3,0x84,0xb9,0xe3,0x84,0xba,0xe3,0x84,0xbb,0xe3,0x84,0xbc,0xe3,0x84,
2807
  0xbd,0xe3,0x84,0xbe,0xe3,0x84,0xbf,0xe3,0x85,0x80,0xe3,0x85,0x81,0xe3,0x85,0x82,0xe3,0x85,0x83,0xe3,0x85,0x84,0xe3,0x85,0x85,0xe3,0x85,0x86,0xe3,0x85,0x87,0xe3,
2808
  0x85,0x88,0xe3,0x85,0x89,0xe3,0x85,0x8a,0xe3,0x85,0x8b,0xe3,0x85,0x8c,0xe3,0x85,0x8d,0xe3,0x85,0x8e,0xe3,0x85,0x8f,0xe3,0x85,0x90,0xe3,0x85,0x91,0xe3,0x85,0x92,
2809
  0xe3,0x85,0x93,0xe3,0x85,0x94,0xe3,0x85,0x95,0xe3,0x85,0x96,0xe3,0x85,0x97,0xe3,0x85,0x98,0xe3,0x85,0x99,0xe3,0x85,0x9a,0xe3,0x85,0x9b,0xe3,0x85,0x9c,0xe3,0x85,
2810
  0x9d,0xe3,0x85,0x9e,0xe3,0x85,0x9f,0xe3,0x85,0xa0,0xe3,0x85,0xa1,0xe3,0x85,0xa2,0xe3,0x85,0xa3,0xc2,0xa2,0xc2,0xa3,0xc2,0xac,0xc2,0xaf,0xc2,0xa6,0xc2,0xa5,0xe2,
2811
  0x82,0xa9,0xe2,0x94,0x82,0xe2,0x86,0x90,0xe2,0x86,0x91,0xe2,0x86,0x92,0xe2,0x86,0x93,0xe2,0x96,0xa0,0xe2,0x97,0x8b,
2812
};
2813
56.0M
#define mxDecompositionCount0 7780
2814
static const txU2 gxDecompositionIndex0[mxDecompositionCount0] ICACHE_XS6RO_ATTR = {
2815
  0x00A0,0x8000,0x00A8,0x8001,0x00AA,0x8004,0x00AF,0x8005,0x00B2,0x8008,0x00B3,0x8009,0x00B4,0x800A,0x00B5,0x800D,0x00B8,0x800F,0x00B9,0x8012,0x00BA,0x8013,0x00BC,0x8014,0x00BD,0x8019,0x00BE,0x801E,0x00C0,0x0023,0x00C1,0x0026,
2816
  0x00C2,0x0029,0x00C3,0x002C,0x00C4,0x002F,0x00C5,0x0032,0x00C7,0x0035,0x00C8,0x0038,0x00C9,0x003B,0x00CA,0x003E,0x00CB,0x0041,0x00CC,0x0044,0x00CD,0x0047,0x00CE,0x004A,0x00CF,0x004D,0x00D1,0x0050,0x00D2,0x0053,0x00D3,0x0056,
2817
  0x00D4,0x0059,0x00D5,0x005C,0x00D6,0x005F,0x00D9,0x0062,0x00DA,0x0065,0x00DB,0x0068,0x00DC,0x006B,0x00DD,0x006E,0x00E0,0x0071,0x00E1,0x0074,0x00E2,0x0077,0x00E3,0x007A,0x00E4,0x007D,0x00E5,0x0080,0x00E7,0x0083,0x00E8,0x0086,
2818
  0x00E9,0x0089,0x00EA,0x008C,0x00EB,0x008F,0x00EC,0x0092,0x00ED,0x0095,0x00EE,0x0098,0x00EF,0x009B,0x00F1,0x009E,0x00F2,0x00A1,0x00F3,0x00A4,0x00F4,0x00A7,0x00F5,0x00AA,0x00F6,0x00AD,0x00F9,0x00B0,0x00FA,0x00B3,0x00FB,0x00B6,
2819
  0x00FC,0x00B9,0x00FD,0x00BC,0x00FF,0x00BF,0x0100,0x00C2,0x0101,0x00C5,0x0102,0x00C8,0x0103,0x00CB,0x0104,0x00CE,0x0105,0x00D1,0x0106,0x00D4,0x0107,0x00D7,0x0108,0x00DA,0x0109,0x00DD,0x010A,0x00E0,0x010B,0x00E3,0x010C,0x00E6,
2820
  0x010D,0x00E9,0x010E,0x00EC,0x010F,0x00EF,0x0112,0x00F2,0x0113,0x00F5,0x0114,0x00F8,0x0115,0x00FB,0x0116,0x00FE,0x0117,0x0101,0x0118,0x0104,0x0119,0x0107,0x011A,0x010A,0x011B,0x010D,0x011C,0x0110,0x011D,0x0113,0x011E,0x0116,
2821
  0x011F,0x0119,0x0120,0x011C,0x0121,0x011F,0x0122,0x0122,0x0123,0x0125,0x0124,0x0128,0x0125,0x012B,0x0128,0x012E,0x0129,0x0131,0x012A,0x0134,0x012B,0x0137,0x012C,0x013A,0x012D,0x013D,0x012E,0x0140,0x012F,0x0143,0x0130,0x0146,
2822
  0x0132,0x8149,0x0133,0x814B,0x0134,0x014D,0x0135,0x0150,0x0136,0x0153,0x0137,0x0156,0x0139,0x0159,0x013A,0x015C,0x013B,0x015F,0x013C,0x0162,0x013D,0x0165,0x013E,0x0168,0x013F,0x816B,0x0140,0x816E,0x0143,0x0171,0x0144,0x0174,
2823
  0x0145,0x0177,0x0146,0x017A,0x0147,0x017D,0x0148,0x0180,0x0149,0x8183,0x014C,0x0186,0x014D,0x0189,0x014E,0x018C,0x014F,0x018F,0x0150,0x0192,0x0151,0x0195,0x0154,0x0198,0x0155,0x019B,0x0156,0x019E,0x0157,0x01A1,0x0158,0x01A4,
2824
  0x0159,0x01A7,0x015A,0x01AA,0x015B,0x01AD,0x015C,0x01B0,0x015D,0x01B3,0x015E,0x01B6,0x015F,0x01B9,0x0160,0x01BC,0x0161,0x01BF,0x0162,0x01C2,0x0163,0x01C5,0x0164,0x01C8,0x0165,0x01CB,0x0168,0x01CE,0x0169,0x01D1,0x016A,0x01D4,
2825
  0x016B,0x01D7,0x016C,0x01DA,0x016D,0x01DD,0x016E,0x01E0,0x016F,0x01E3,0x0170,0x01E6,0x0171,0x01E9,0x0172,0x01EC,0x0173,0x01EF,0x0174,0x01F2,0x0175,0x01F5,0x0176,0x01F8,0x0177,0x01FB,0x0178,0x01FE,0x0179,0x0201,0x017A,0x0204,
2826
  0x017B,0x0207,0x017C,0x020A,0x017D,0x020D,0x017E,0x0210,0x017F,0x8213,0x01A0,0x0214,0x01A1,0x0217,0x01AF,0x021A,0x01B0,0x021D,0x01C4,0x8220,0x01C5,0x8223,0x01C6,0x8226,0x01C7,0x8229,0x01C8,0x822B,0x01C9,0x822D,0x01CA,0x822F,
2827
  0x01CB,0x8231,0x01CC,0x8233,0x01CD,0x0235,0x01CE,0x0238,0x01CF,0x023B,0x01D0,0x023E,0x01D1,0x0241,0x01D2,0x0244,0x01D3,0x0247,0x01D4,0x024A,0x01D5,0x024D,0x01D6,0x0251,0x01D7,0x0255,0x01D8,0x0259,0x01D9,0x025D,0x01DA,0x0261,
2828
  0x01DB,0x0265,0x01DC,0x0269,0x01DE,0x026D,0x01DF,0x0271,0x01E0,0x0275,0x01E1,0x0279,0x01E2,0x027D,0x01E3,0x0281,0x01E6,0x0285,0x01E7,0x0288,0x01E8,0x028B,0x01E9,0x028E,0x01EA,0x0291,0x01EB,0x0294,0x01EC,0x0297,0x01ED,0x029B,
2829
  0x01EE,0x029F,0x01EF,0x02A3,0x01F0,0x02A7,0x01F1,0x82AA,0x01F2,0x82AC,0x01F3,0x82AE,0x01F4,0x02B0,0x01F5,0x02B3,0x01F8,0x02B6,0x01F9,0x02B9,0x01FA,0x02BC,0x01FB,0x02C0,0x01FC,0x02C4,0x01FD,0x02C8,0x01FE,0x02CC,0x01FF,0x02D0,
2830
  0x0200,0x02D4,0x0201,0x02D7,0x0202,0x02DA,0x0203,0x02DD,0x0204,0x02E0,0x0205,0x02E3,0x0206,0x02E6,0x0207,0x02E9,0x0208,0x02EC,0x0209,0x02EF,0x020A,0x02F2,0x020B,0x02F5,0x020C,0x02F8,0x020D,0x02FB,0x020E,0x02FE,0x020F,0x0301,
2831
  0x0210,0x0304,0x0211,0x0307,0x0212,0x030A,0x0213,0x030D,0x0214,0x0310,0x0215,0x0313,0x0216,0x0316,0x0217,0x0319,0x0218,0x031C,0x0219,0x031F,0x021A,0x0322,0x021B,0x0325,0x021E,0x0328,0x021F,0x032B,0x0226,0x032E,0x0227,0x0331,
2832
  0x0228,0x0334,0x0229,0x0337,0x022A,0x033A,0x022B,0x033E,0x022C,0x0342,0x022D,0x0346,0x022E,0x034A,0x022F,0x034D,0x0230,0x0350,0x0231,0x0354,0x0232,0x0358,0x0233,0x035B,0x02B0,0x835E,0x02B1,0x835F,0x02B2,0x8361,0x02B3,0x8362,
2833
  0x02B4,0x8363,0x02B5,0x8365,0x02B6,0x8367,0x02B7,0x8369,0x02B8,0x836A,0x02D8,0x836B,0x02D9,0x836E,0x02DA,0x8371,0x02DB,0x8374,0x02DC,0x8377,0x02DD,0x837A,0x02E0,0x837D,0x02E1,0x837F,0x02E2,0x8380,0x02E3,0x8381,0x02E4,0x8382,
2834
  0x0340,0x0384,0x0341,0x0386,0x0343,0x0388,0x0344,0x038A,0x0374,0x038E,0x037A,0x8390,0x037E,0x0393,0x0384,0x8394,0x0385,0x0397,0x0386,0x039B,0x0387,0x039F,0x0388,0x03A1,0x0389,0x03A5,0x038A,0x03A9,0x038C,0x03AD,0x038E,0x03B1,
2835
  0x038F,0x03B5,0x0390,0x03B9,0x03AA,0x03BD,0x03AB,0x03C1,0x03AC,0x03C5,0x03AD,0x03C9,0x03AE,0x03CD,0x03AF,0x03D1,0x03B0,0x03D5,0x03CA,0x03D9,0x03CB,0x03DD,0x03CC,0x03E1,0x03CD,0x03E5,0x03CE,0x03E9,0x03D0,0x83ED,0x03D1,0x83EF,
2836
  0x03D2,0x83F1,0x03D3,0x03F3,0x03D4,0x03F7,0x03D5,0x83FB,0x03D6,0x83FD,0x03F0,0x83FF,0x03F1,0x8401,0x03F2,0x8403,0x03F4,0x8405,0x03F5,0x8407,0x03F9,0x8409,0x0400,0x040B,0x0401,0x040F,0x0403,0x0413,0x0407,0x0417,0x040C,0x041B,
2837
  0x040D,0x041F,0x040E,0x0423,0x0419,0x0427,0x0439,0x042B,0x0450,0x042F,0x0451,0x0433,0x0453,0x0437,0x0457,0x043B,0x045C,0x043F,0x045D,0x0443,0x045E,0x0447,0x0476,0x044B,0x0477,0x044F,0x04C1,0x0453,0x04C2,0x0457,0x04D0,0x045B,
2838
  0x04D1,0x045F,0x04D2,0x0463,0x04D3,0x0467,0x04D6,0x046B,0x04D7,0x046F,0x04DA,0x0473,0x04DB,0x0477,0x04DC,0x047B,0x04DD,0x047F,0x04DE,0x0483,0x04DF,0x0487,0x04E2,0x048B,0x04E3,0x048F,0x04E4,0x0493,0x04E5,0x0497,0x04E6,0x049B,
2839
  0x04E7,0x049F,0x04EA,0x04A3,0x04EB,0x04A7,0x04EC,0x04AB,0x04ED,0x04AF,0x04EE,0x04B3,0x04EF,0x04B7,0x04F0,0x04BB,0x04F1,0x04BF,0x04F2,0x04C3,0x04F3,0x04C7,0x04F4,0x04CB,0x04F5,0x04CF,0x04F8,0x04D3,0x04F9,0x04D7,0x0587,0x84DB,
2840
  0x0622,0x04DF,0x0623,0x04E3,0x0624,0x04E7,0x0625,0x04EB,0x0626,0x04EF,0x0675,0x84F3,0x0676,0x84F7,0x0677,0x84FB,0x0678,0x84FF,0x06C0,0x0503,0x06C2,0x0507,0x06D3,0x050B,0x0929,0x050F,0x0931,0x0515,0x0934,0x051B,0x0958,0x0521,
2841
  0x0959,0x0527,0x095A,0x052D,0x095B,0x0533,0x095C,0x0539,0x095D,0x053F,0x095E,0x0545,0x095F,0x054B,0x09CB,0x0551,0x09CC,0x0557,0x09DC,0x055D,0x09DD,0x0563,0x09DF,0x0569,0x0A33,0x056F,0x0A36,0x0575,0x0A59,0x057B,0x0A5A,0x0581,
2842
  0x0A5B,0x0587,0x0A5E,0x058D,0x0B48,0x0593,0x0B4B,0x0599,0x0B4C,0x059F,0x0B5C,0x05A5,0x0B5D,0x05AB,0x0B94,0x05B1,0x0BCA,0x05B7,0x0BCB,0x05BD,0x0BCC,0x05C3,0x0C48,0x05C9,0x0CC0,0x05CF,0x0CC7,0x05D5,0x0CC8,0x05DB,0x0CCA,0x05E1,
2843
  0x0CCB,0x05E7,0x0D4A,0x05ED,0x0D4B,0x05F3,0x0D4C,0x05F9,0x0DDA,0x05FF,0x0DDC,0x0605,0x0DDD,0x060B,0x0DDE,0x0611,0x0E33,0x8617,0x0EB3,0x861D,0x0EDC,0x8623,0x0EDD,0x8629,0x0F0C,0x862F,0x0F43,0x0632,0x0F4D,0x0638,0x0F52,0x063E,
2844
  0x0F57,0x0644,0x0F5C,0x064A,0x0F69,0x0650,0x0F73,0x0656,0x0F75,0x065C,0x0F76,0x0662,0x0F77,0x8668,0x0F78,0x066E,0x0F79,0x8674,0x0F81,0x067A,0x0F93,0x0680,0x0F9D,0x0686,0x0FA2,0x068C,0x0FA7,0x0692,0x0FAC,0x0698,0x0FB9,0x069E,
2845
  0x1026,0x06A4,0x10FC,0x86AA,0x1B06,0x06AD,0x1B08,0x06B3,0x1B0A,0x06B9,0x1B0C,0x06BF,0x1B0E,0x06C5,0x1B12,0x06CB,0x1B3B,0x06D1,0x1B3D,0x06D7,0x1B40,0x06DD,0x1B41,0x06E3,0x1B43,0x06E9,0x1D2C,0x86EF,0x1D2D,0x86F0,0x1D2E,0x86F2,
2846
  0x1D30,0x86F3,0x1D31,0x86F4,0x1D32,0x86F5,0x1D33,0x86F7,0x1D34,0x86F8,0x1D35,0x86F9,0x1D36,0x86FA,0x1D37,0x86FB,0x1D38,0x86FC,0x1D39,0x86FD,0x1D3A,0x86FE,0x1D3C,0x86FF,0x1D3D,0x8700,0x1D3E,0x8702,0x1D3F,0x8703,0x1D40,0x8704,
2847
  0x1D41,0x8705,0x1D42,0x8706,0x1D43,0x8707,0x1D44,0x8708,0x1D45,0x870A,0x1D46,0x870C,0x1D47,0x870F,0x1D48,0x8710,0x1D49,0x8711,0x1D4A,0x8712,0x1D4B,0x8714,0x1D4C,0x8716,0x1D4D,0x8718,0x1D4F,0x8719,0x1D50,0x871A,0x1D51,0x871B,
2848
  0x1D52,0x871D,0x1D53,0x871E,0x1D54,0x8720,0x1D55,0x8723,0x1D56,0x8726,0x1D57,0x8727,0x1D58,0x8728,0x1D59,0x8729,0x1D5A,0x872C,0x1D5B,0x872E,0x1D5C,0x872F,0x1D5D,0x8732,0x1D5E,0x8734,0x1D5F,0x8736,0x1D60,0x8738,0x1D61,0x873A,
2849
  0x1D62,0x873C,0x1D63,0x873D,0x1D64,0x873E,0x1D65,0x873F,0x1D66,0x8740,0x1D67,0x8742,0x1D68,0x8744,0x1D69,0x8746,0x1D6A,0x8748,0x1D78,0x874A,0x1D9B,0x874C,0x1D9C,0x874E,0x1D9D,0x874F,0x1D9E,0x8751,0x1D9F,0x8753,0x1DA0,0x8755,
2850
  0x1DA1,0x8756,0x1DA2,0x8758,0x1DA3,0x875A,0x1DA4,0x875C,0x1DA5,0x875E,0x1DA6,0x8760,0x1DA7,0x8762,0x1DA8,0x8765,0x1DA9,0x8767,0x1DAA,0x8769,0x1DAB,0x876C,0x1DAC,0x876E,0x1DAD,0x8770,0x1DAE,0x8772,0x1DAF,0x8774,0x1DB0,0x8776,
2851
  0x1DB1,0x8778,0x1DB2,0x877A,0x1DB3,0x877C,0x1DB4,0x877E,0x1DB5,0x8780,0x1DB6,0x8782,0x1DB7,0x8784,0x1DB8,0x8786,0x1DB9,0x8789,0x1DBA,0x878B,0x1DBB,0x878D,0x1DBC,0x878E,0x1DBD,0x8790,0x1DBE,0x8792,0x1DBF,0x8794,0x1E00,0x0796,
2852
  0x1E01,0x0799,0x1E02,0x079C,0x1E03,0x079F,0x1E04,0x07A2,0x1E05,0x07A5,0x1E06,0x07A8,0x1E07,0x07AB,0x1E08,0x07AE,0x1E09,0x07B2,0x1E0A,0x07B6,0x1E0B,0x07B9,0x1E0C,0x07BC,0x1E0D,0x07BF,0x1E0E,0x07C2,0x1E0F,0x07C5,0x1E10,0x07C8,
2853
  0x1E11,0x07CB,0x1E12,0x07CE,0x1E13,0x07D1,0x1E14,0x07D4,0x1E15,0x07D8,0x1E16,0x07DC,0x1E17,0x07E0,0x1E18,0x07E4,0x1E19,0x07E7,0x1E1A,0x07EA,0x1E1B,0x07ED,0x1E1C,0x07F0,0x1E1D,0x07F4,0x1E1E,0x07F8,0x1E1F,0x07FB,0x1E20,0x07FE,
2854
  0x1E21,0x0801,0x1E22,0x0804,0x1E23,0x0807,0x1E24,0x080A,0x1E25,0x080D,0x1E26,0x0810,0x1E27,0x0813,0x1E28,0x0816,0x1E29,0x0819,0x1E2A,0x081C,0x1E2B,0x081F,0x1E2C,0x0822,0x1E2D,0x0825,0x1E2E,0x0828,0x1E2F,0x082C,0x1E30,0x0830,
2855
  0x1E31,0x0833,0x1E32,0x0836,0x1E33,0x0839,0x1E34,0x083C,0x1E35,0x083F,0x1E36,0x0842,0x1E37,0x0845,0x1E38,0x0848,0x1E39,0x084D,0x1E3A,0x0852,0x1E3B,0x0855,0x1E3C,0x0858,0x1E3D,0x085B,0x1E3E,0x085E,0x1E3F,0x0861,0x1E40,0x0864,
2856
  0x1E41,0x0867,0x1E42,0x086A,0x1E43,0x086D,0x1E44,0x0870,0x1E45,0x0873,0x1E46,0x0876,0x1E47,0x0879,0x1E48,0x087C,0x1E49,0x087F,0x1E4A,0x0882,0x1E4B,0x0885,0x1E4C,0x0888,0x1E4D,0x088C,0x1E4E,0x0890,0x1E4F,0x0894,0x1E50,0x0898,
2857
  0x1E51,0x089C,0x1E52,0x08A0,0x1E53,0x08A4,0x1E54,0x08A8,0x1E55,0x08AB,0x1E56,0x08AE,0x1E57,0x08B1,0x1E58,0x08B4,0x1E59,0x08B7,0x1E5A,0x08BA,0x1E5B,0x08BD,0x1E5C,0x08C0,0x1E5D,0x08C5,0x1E5E,0x08CA,0x1E5F,0x08CD,0x1E60,0x08D0,
2858
  0x1E61,0x08D3,0x1E62,0x08D6,0x1E63,0x08D9,0x1E64,0x08DC,0x1E65,0x08E0,0x1E66,0x08E4,0x1E67,0x08E8,0x1E68,0x08EC,0x1E69,0x08F1,0x1E6A,0x08F6,0x1E6B,0x08F9,0x1E6C,0x08FC,0x1E6D,0x08FF,0x1E6E,0x0902,0x1E6F,0x0905,0x1E70,0x0908,
2859
  0x1E71,0x090B,0x1E72,0x090E,0x1E73,0x0911,0x1E74,0x0914,0x1E75,0x0917,0x1E76,0x091A,0x1E77,0x091D,0x1E78,0x0920,0x1E79,0x0924,0x1E7A,0x0928,0x1E7B,0x092C,0x1E7C,0x0930,0x1E7D,0x0933,0x1E7E,0x0936,0x1E7F,0x0939,0x1E80,0x093C,
2860
  0x1E81,0x093F,0x1E82,0x0942,0x1E83,0x0945,0x1E84,0x0948,0x1E85,0x094B,0x1E86,0x094E,0x1E87,0x0951,0x1E88,0x0954,0x1E89,0x0957,0x1E8A,0x095A,0x1E8B,0x095D,0x1E8C,0x0960,0x1E8D,0x0963,0x1E8E,0x0966,0x1E8F,0x0969,0x1E90,0x096C,
2861
  0x1E91,0x096F,0x1E92,0x0972,0x1E93,0x0975,0x1E94,0x0978,0x1E95,0x097B,0x1E96,0x097E,0x1E97,0x0981,0x1E98,0x0984,0x1E99,0x0987,0x1E9A,0x898A,0x1E9B,0x098D,0x1EA0,0x0991,0x1EA1,0x0994,0x1EA2,0x0997,0x1EA3,0x099A,0x1EA4,0x099D,
2862
  0x1EA5,0x09A1,0x1EA6,0x09A5,0x1EA7,0x09A9,0x1EA8,0x09AD,0x1EA9,0x09B1,0x1EAA,0x09B5,0x1EAB,0x09B9,0x1EAC,0x09BD,0x1EAD,0x09C2,0x1EAE,0x09C7,0x1EAF,0x09CB,0x1EB0,0x09CF,0x1EB1,0x09D3,0x1EB2,0x09D7,0x1EB3,0x09DB,0x1EB4,0x09DF,
2863
  0x1EB5,0x09E3,0x1EB6,0x09E7,0x1EB7,0x09EC,0x1EB8,0x09F1,0x1EB9,0x09F4,0x1EBA,0x09F7,0x1EBB,0x09FA,0x1EBC,0x09FD,0x1EBD,0x0A00,0x1EBE,0x0A03,0x1EBF,0x0A07,0x1EC0,0x0A0B,0x1EC1,0x0A0F,0x1EC2,0x0A13,0x1EC3,0x0A17,0x1EC4,0x0A1B,
2864
  0x1EC5,0x0A1F,0x1EC6,0x0A23,0x1EC7,0x0A28,0x1EC8,0x0A2D,0x1EC9,0x0A30,0x1ECA,0x0A33,0x1ECB,0x0A36,0x1ECC,0x0A39,0x1ECD,0x0A3C,0x1ECE,0x0A3F,0x1ECF,0x0A42,0x1ED0,0x0A45,0x1ED1,0x0A49,0x1ED2,0x0A4D,0x1ED3,0x0A51,0x1ED4,0x0A55,
2865
  0x1ED5,0x0A59,0x1ED6,0x0A5D,0x1ED7,0x0A61,0x1ED8,0x0A65,0x1ED9,0x0A6A,0x1EDA,0x0A6F,0x1EDB,0x0A73,0x1EDC,0x0A77,0x1EDD,0x0A7B,0x1EDE,0x0A7F,0x1EDF,0x0A83,0x1EE0,0x0A87,0x1EE1,0x0A8B,0x1EE2,0x0A8F,0x1EE3,0x0A93,0x1EE4,0x0A97,
2866
  0x1EE5,0x0A9A,0x1EE6,0x0A9D,0x1EE7,0x0AA0,0x1EE8,0x0AA3,0x1EE9,0x0AA7,0x1EEA,0x0AAB,0x1EEB,0x0AAF,0x1EEC,0x0AB3,0x1EED,0x0AB7,0x1EEE,0x0ABB,0x1EEF,0x0ABF,0x1EF0,0x0AC3,0x1EF1,0x0AC7,0x1EF2,0x0ACB,0x1EF3,0x0ACE,0x1EF4,0x0AD1,
2867
  0x1EF5,0x0AD4,0x1EF6,0x0AD7,0x1EF7,0x0ADA,0x1EF8,0x0ADD,0x1EF9,0x0AE0,0x1F00,0x0AE3,0x1F01,0x0AE7,0x1F02,0x0AEB,0x1F03,0x0AF0,0x1F04,0x0AF5,0x1F05,0x0AFA,0x1F06,0x0AFF,0x1F07,0x0B04,0x1F08,0x0B09,0x1F09,0x0B0D,0x1F0A,0x0B11,
2868
  0x1F0B,0x0B16,0x1F0C,0x0B1B,0x1F0D,0x0B20,0x1F0E,0x0B25,0x1F0F,0x0B2A,0x1F10,0x0B2F,0x1F11,0x0B33,0x1F12,0x0B37,0x1F13,0x0B3C,0x1F14,0x0B41,0x1F15,0x0B46,0x1F18,0x0B4B,0x1F19,0x0B4F,0x1F1A,0x0B53,0x1F1B,0x0B58,0x1F1C,0x0B5D,
2869
  0x1F1D,0x0B62,0x1F20,0x0B67,0x1F21,0x0B6B,0x1F22,0x0B6F,0x1F23,0x0B74,0x1F24,0x0B79,0x1F25,0x0B7E,0x1F26,0x0B83,0x1F27,0x0B88,0x1F28,0x0B8D,0x1F29,0x0B91,0x1F2A,0x0B95,0x1F2B,0x0B9A,0x1F2C,0x0B9F,0x1F2D,0x0BA4,0x1F2E,0x0BA9,
2870
  0x1F2F,0x0BAE,0x1F30,0x0BB3,0x1F31,0x0BB7,0x1F32,0x0BBB,0x1F33,0x0BC0,0x1F34,0x0BC5,0x1F35,0x0BCA,0x1F36,0x0BCF,0x1F37,0x0BD4,0x1F38,0x0BD9,0x1F39,0x0BDD,0x1F3A,0x0BE1,0x1F3B,0x0BE6,0x1F3C,0x0BEB,0x1F3D,0x0BF0,0x1F3E,0x0BF5,
2871
  0x1F3F,0x0BFA,0x1F40,0x0BFF,0x1F41,0x0C03,0x1F42,0x0C07,0x1F43,0x0C0C,0x1F44,0x0C11,0x1F45,0x0C16,0x1F48,0x0C1B,0x1F49,0x0C1F,0x1F4A,0x0C23,0x1F4B,0x0C28,0x1F4C,0x0C2D,0x1F4D,0x0C32,0x1F50,0x0C37,0x1F51,0x0C3B,0x1F52,0x0C3F,
2872
  0x1F53,0x0C44,0x1F54,0x0C49,0x1F55,0x0C4E,0x1F56,0x0C53,0x1F57,0x0C58,0x1F59,0x0C5D,0x1F5B,0x0C61,0x1F5D,0x0C66,0x1F5F,0x0C6B,0x1F60,0x0C70,0x1F61,0x0C74,0x1F62,0x0C78,0x1F63,0x0C7D,0x1F64,0x0C82,0x1F65,0x0C87,0x1F66,0x0C8C,
2873
  0x1F67,0x0C91,0x1F68,0x0C96,0x1F69,0x0C9A,0x1F6A,0x0C9E,0x1F6B,0x0CA3,0x1F6C,0x0CA8,0x1F6D,0x0CAD,0x1F6E,0x0CB2,0x1F6F,0x0CB7,0x1F70,0x0CBC,0x1F71,0x0CC0,0x1F72,0x0CC2,0x1F73,0x0CC6,0x1F74,0x0CC8,0x1F75,0x0CCC,0x1F76,0x0CCE,
2874
  0x1F77,0x0CD2,0x1F78,0x0CD4,0x1F79,0x0CD8,0x1F7A,0x0CDA,0x1F7B,0x0CDE,0x1F7C,0x0CE0,0x1F7D,0x0CE4,0x1F80,0x0CE6,0x1F81,0x0CEB,0x1F82,0x0CF0,0x1F83,0x0CF5,0x1F84,0x0CFA,0x1F85,0x0CFF,0x1F86,0x0D04,0x1F87,0x0D09,0x1F88,0x0D0E,
2875
  0x1F89,0x0D13,0x1F8A,0x0D18,0x1F8B,0x0D1D,0x1F8C,0x0D22,0x1F8D,0x0D27,0x1F8E,0x0D2C,0x1F8F,0x0D31,0x1F90,0x0D36,0x1F91,0x0D3B,0x1F92,0x0D40,0x1F93,0x0D45,0x1F94,0x0D4A,0x1F95,0x0D4F,0x1F96,0x0D54,0x1F97,0x0D59,0x1F98,0x0D5E,
2876
  0x1F99,0x0D63,0x1F9A,0x0D68,0x1F9B,0x0D6D,0x1F9C,0x0D72,0x1F9D,0x0D77,0x1F9E,0x0D7C,0x1F9F,0x0D81,0x1FA0,0x0D86,0x1FA1,0x0D8B,0x1FA2,0x0D90,0x1FA3,0x0D95,0x1FA4,0x0D9A,0x1FA5,0x0D9F,0x1FA6,0x0DA4,0x1FA7,0x0DA9,0x1FA8,0x0DAE,
2877
  0x1FA9,0x0DB3,0x1FAA,0x0DB8,0x1FAB,0x0DBD,0x1FAC,0x0DC2,0x1FAD,0x0DC7,0x1FAE,0x0DCC,0x1FAF,0x0DD1,0x1FB0,0x0DD6,0x1FB1,0x0DDA,0x1FB2,0x0DDE,0x1FB3,0x0DE3,0x1FB4,0x0DE7,0x1FB6,0x0DEB,0x1FB7,0x0DEF,0x1FB8,0x0DF4,0x1FB9,0x0DF8,
2878
  0x1FBA,0x0DFC,0x1FBB,0x0E00,0x1FBC,0x0E02,0x1FBD,0x8E06,0x1FBE,0x0E09,0x1FBF,0x8E0B,0x1FC0,0x8E0E,0x1FC1,0x0E11,0x1FC2,0x0E15,0x1FC3,0x0E1A,0x1FC4,0x0E1E,0x1FC6,0x0E22,0x1FC7,0x0E26,0x1FC8,0x0E2B,0x1FC9,0x0E2F,0x1FCA,0x0E31,
2879
  0x1FCB,0x0E35,0x1FCC,0x0E37,0x1FCD,0x0E3B,0x1FCE,0x0E40,0x1FCF,0x0E45,0x1FD0,0x0E4A,0x1FD1,0x0E4E,0x1FD2,0x0E52,0x1FD3,0x0E56,0x1FD6,0x0E58,0x1FD7,0x0E5C,0x1FD8,0x0E60,0x1FD9,0x0E64,0x1FDA,0x0E68,0x1FDB,0x0E6C,0x1FDD,0x0E6E,
2880
  0x1FDE,0x0E73,0x1FDF,0x0E78,0x1FE0,0x0E7D,0x1FE1,0x0E81,0x1FE2,0x0E85,0x1FE3,0x0E89,0x1FE4,0x0E8B,0x1FE5,0x0E8F,0x1FE6,0x0E93,0x1FE7,0x0E97,0x1FE8,0x0E9B,0x1FE9,0x0E9F,0x1FEA,0x0EA3,0x1FEB,0x0EA7,0x1FEC,0x0EA9,0x1FED,0x0EAD,
2881
  0x1FEE,0x0EB1,0x1FEF,0x0EB3,0x1FF2,0x0EB4,0x1FF3,0x0EB9,0x1FF4,0x0EBD,0x1FF6,0x0EC1,0x1FF7,0x0EC5,0x1FF8,0x0ECA,0x1FF9,0x0ECE,0x1FFA,0x0ED0,0x1FFB,0x0ED4,0x1FFC,0x0ED6,0x1FFD,0x0EDA,0x1FFE,0x8EDC,0x2000,0x0EDF,0x2001,0x0EE2,
2882
  0x2002,0x8EE5,0x2003,0x8EE6,0x2004,0x8EE7,0x2005,0x8EE8,0x2006,0x8EE9,0x2007,0x8EEA,0x2008,0x8EEB,0x2009,0x8EEC,0x200A,0x8EED,0x2011,0x8EEE,0x2017,0x8EF1,0x2024,0x8EF4,0x2025,0x8EF5,0x2026,0x8EF7,0x202F,0x8EFA,0x2033,0x8EFB,
2883
  0x2034,0x8F01,0x2036,0x8F0A,0x2037,0x8F10,0x203C,0x8F19,0x203E,0x8F1B,0x2047,0x8F1E,0x2048,0x8F20,0x2049,0x8F22,0x2057,0x8F24,0x205F,0x8F30,0x2070,0x8F31,0x2071,0x8F32,0x2074,0x8F33,0x2075,0x8F34,0x2076,0x8F35,0x2077,0x8F36,
2884
  0x2078,0x8F37,0x2079,0x8F38,0x207A,0x8F39,0x207B,0x8F3A,0x207C,0x8F3D,0x207D,0x8F3E,0x207E,0x8F3F,0x207F,0x8F40,0x2080,0x8F41,0x2081,0x8F42,0x2082,0x8F43,0x2083,0x8F44,0x2084,0x8F45,0x2085,0x8F46,0x2086,0x8F47,0x2087,0x8F48,
2885
  0x2088,0x8F49,0x2089,0x8F4A,0x208A,0x8F4B,0x208B,0x8F4C,0x208C,0x8F4F,0x208D,0x8F50,0x208E,0x8F51,0x2090,0x8F52,0x2091,0x8F53,0x2092,0x8F54,0x2093,0x8F55,0x2094,0x8F56,0x2095,0x8F58,0x2096,0x8F59,0x2097,0x8F5A,0x2098,0x8F5B,
2886
  0x2099,0x8F5C,0x209A,0x8F5D,0x209B,0x8F5E,0x209C,0x8F5F,0x20A8,0x8F60,0x2100,0x8F62,0x2101,0x8F65,0x2102,0x8F68,0x2103,0x8F69,0x2105,0x8F6C,0x2106,0x8F6F,0x2107,0x8F72,0x2109,0x8F74,0x210A,0x8F77,0x210B,0x8F78,0x210C,0x8F79,
2887
  0x210D,0x8F7A,0x210E,0x8F7B,0x210F,0x8F7C,0x2110,0x8F7E,0x2111,0x8F7F,0x2112,0x8F80,0x2113,0x8F81,0x2115,0x8F82,0x2116,0x8F83,0x2119,0x8F85,0x211A,0x8F86,0x211B,0x8F87,0x211C,0x8F88,0x211D,0x8F89,0x2120,0x8F8A,0x2121,0x8F8C,
2888
  0x2122,0x8F8F,0x2124,0x8F91,0x2126,0x0F92,0x2128,0x8F94,0x212A,0x0F95,0x212B,0x0F96,0x212C,0x8F98,0x212D,0x8F99,0x212F,0x8F9A,0x2130,0x8F9B,0x2131,0x8F9C,0x2133,0x8F9D,0x2134,0x8F9E,0x2135,0x8F9F,0x2136,0x8FA1,0x2137,0x8FA3,
2889
  0x2138,0x8FA5,0x2139,0x8FA7,0x213B,0x8FA8,0x213C,0x8FAB,0x213D,0x8FAD,0x213E,0x8FAF,0x213F,0x8FB1,0x2140,0x8FB3,0x2145,0x8FB6,0x2146,0x8FB7,0x2147,0x8FB8,0x2148,0x8FB9,0x2149,0x8FBA,0x2150,0x8FBB,0x2151,0x8FC0,0x2152,0x8FC5,
2890
  0x2153,0x8FCB,0x2154,0x8FD0,0x2155,0x8FD5,0x2156,0x8FDA,0x2157,0x8FDF,0x2158,0x8FE4,0x2159,0x8FE9,0x215A,0x8FEE,0x215B,0x8FF3,0x215C,0x8FF8,0x215D,0x8FFD,0x215E,0x9002,0x215F,0x9007,0x2160,0x900B,0x2161,0x900C,0x2162,0x900E,
2891
  0x2163,0x9011,0x2164,0x9013,0x2165,0x9014,0x2166,0x9016,0x2167,0x9019,0x2168,0x901D,0x2169,0x901F,0x216A,0x9020,0x216B,0x9022,0x216C,0x9025,0x216D,0x9026,0x216E,0x9027,0x216F,0x9028,0x2170,0x9029,0x2171,0x902A,0x2172,0x902C,
2892
  0x2173,0x902F,0x2174,0x9031,0x2175,0x9032,0x2176,0x9034,0x2177,0x9037,0x2178,0x903B,0x2179,0x903D,0x217A,0x903E,0x217B,0x9040,0x217C,0x9043,0x217D,0x9044,0x217E,0x9045,0x217F,0x9046,0x2189,0x9047,0x219A,0x104C,0x219B,0x1051,
2893
  0x21AE,0x1056,0x21CD,0x105B,0x21CE,0x1060,0x21CF,0x1065,0x2204,0x106A,0x2209,0x106F,0x220C,0x1074,0x2224,0x1079,0x2226,0x107E,0x222C,0x9083,0x222D,0x9089,0x222F,0x9092,0x2230,0x9098,0x2241,0x10A1,0x2244,0x10A6,0x2247,0x10AB,
2894
  0x2249,0x10B0,0x2260,0x10B5,0x2262,0x10B8,0x226D,0x10BD,0x226E,0x10C2,0x226F,0x10C5,0x2270,0x10C8,0x2271,0x10CD,0x2274,0x10D2,0x2275,0x10D7,0x2278,0x10DC,0x2279,0x10E1,0x2280,0x10E6,0x2281,0x10EB,0x2284,0x10F0,0x2285,0x10F5,
2895
  0x2288,0x10FA,0x2289,0x10FF,0x22AC,0x1104,0x22AD,0x1109,0x22AE,0x110E,0x22AF,0x1113,0x22E0,0x1118,0x22E1,0x111D,0x22E2,0x1122,0x22E3,0x1127,0x22EA,0x112C,0x22EB,0x1131,0x22EC,0x1136,0x22ED,0x113B,0x2329,0x1140,0x232A,0x1143,
2896
  0x2460,0x9146,0x2461,0x9147,0x2462,0x9148,0x2463,0x9149,0x2464,0x914A,0x2465,0x914B,0x2466,0x914C,0x2467,0x914D,0x2468,0x914E,0x2469,0x914F,0x246A,0x9151,0x246B,0x9153,0x246C,0x9155,0x246D,0x9157,0x246E,0x9159,0x246F,0x915B,
2897
  0x2470,0x915D,0x2471,0x915F,0x2472,0x9161,0x2473,0x9163,0x2474,0x9165,0x2475,0x9168,0x2476,0x916B,0x2477,0x916E,0x2478,0x9171,0x2479,0x9174,0x247A,0x9177,0x247B,0x917A,0x247C,0x917D,0x247D,0x9180,0x247E,0x9184,0x247F,0x9188,
2898
  0x2480,0x918C,0x2481,0x9190,0x2482,0x9194,0x2483,0x9198,0x2484,0x919C,0x2485,0x91A0,0x2486,0x91A4,0x2487,0x91A8,0x2488,0x91AC,0x2489,0x91AE,0x248A,0x91B0,0x248B,0x91B2,0x248C,0x91B4,0x248D,0x91B6,0x248E,0x91B8,0x248F,0x91BA,
2899
  0x2490,0x91BC,0x2491,0x91BE,0x2492,0x91C1,0x2493,0x91C4,0x2494,0x91C7,0x2495,0x91CA,0x2496,0x91CD,0x2497,0x91D0,0x2498,0x91D3,0x2499,0x91D6,0x249A,0x91D9,0x249B,0x91DC,0x249C,0x91DF,0x249D,0x91E2,0x249E,0x91E5,0x249F,0x91E8,
2900
  0x24A0,0x91EB,0x24A1,0x91EE,0x24A2,0x91F1,0x24A3,0x91F4,0x24A4,0x91F7,0x24A5,0x91FA,0x24A6,0x91FD,0x24A7,0x9200,0x24A8,0x9203,0x24A9,0x9206,0x24AA,0x9209,0x24AB,0x920C,0x24AC,0x920F,0x24AD,0x9212,0x24AE,0x9215,0x24AF,0x9218,
2901
  0x24B0,0x921B,0x24B1,0x921E,0x24B2,0x9221,0x24B3,0x9224,0x24B4,0x9227,0x24B5,0x922A,0x24B6,0x922D,0x24B7,0x922E,0x24B8,0x922F,0x24B9,0x9230,0x24BA,0x9231,0x24BB,0x9232,0x24BC,0x9233,0x24BD,0x9234,0x24BE,0x9235,0x24BF,0x9236,
2902
  0x24C0,0x9237,0x24C1,0x9238,0x24C2,0x9239,0x24C3,0x923A,0x24C4,0x923B,0x24C5,0x923C,0x24C6,0x923D,0x24C7,0x923E,0x24C8,0x923F,0x24C9,0x9240,0x24CA,0x9241,0x24CB,0x9242,0x24CC,0x9243,0x24CD,0x9244,0x24CE,0x9245,0x24CF,0x9246,
2903
  0x24D0,0x9247,0x24D1,0x9248,0x24D2,0x9249,0x24D3,0x924A,0x24D4,0x924B,0x24D5,0x924C,0x24D6,0x924D,0x24D7,0x924E,0x24D8,0x924F,0x24D9,0x9250,0x24DA,0x9251,0x24DB,0x9252,0x24DC,0x9253,0x24DD,0x9254,0x24DE,0x9255,0x24DF,0x9256,
2904
  0x24E0,0x9257,0x24E1,0x9258,0x24E2,0x9259,0x24E3,0x925A,0x24E4,0x925B,0x24E5,0x925C,0x24E6,0x925D,0x24E7,0x925E,0x24E8,0x925F,0x24E9,0x9260,0x24EA,0x9261,0x2A0C,0x9262,0x2A74,0x926E,0x2A75,0x9271,0x2A76,0x9273,0x2ADC,0x1276,
2905
  0x2C7C,0x927B,0x2C7D,0x927C,0x2D6F,0x927D,0x2E9F,0x9280,0x2EF3,0x9283,0x2F00,0x9286,0x2F01,0x9289,0x2F02,0x928C,0x2F03,0x928F,0x2F04,0x9292,0x2F05,0x9295,0x2F06,0x9298,0x2F07,0x929B,0x2F08,0x929E,0x2F09,0x92A1,0x2F0A,0x92A4,
2906
  0x2F0B,0x92A7,0x2F0C,0x92AA,0x2F0D,0x92AD,0x2F0E,0x92B0,0x2F0F,0x92B3,0x2F10,0x92B6,0x2F11,0x92B9,0x2F12,0x92BC,0x2F13,0x92BF,0x2F14,0x92C2,0x2F15,0x92C5,0x2F16,0x92C8,0x2F17,0x92CB,0x2F18,0x92CE,0x2F19,0x92D1,0x2F1A,0x92D4,
2907
  0x2F1B,0x92D7,0x2F1C,0x92DA,0x2F1D,0x92DD,0x2F1E,0x92E0,0x2F1F,0x92E3,0x2F20,0x92E6,0x2F21,0x92E9,0x2F22,0x92EC,0x2F23,0x92EF,0x2F24,0x92F2,0x2F25,0x92F5,0x2F26,0x92F8,0x2F27,0x92FB,0x2F28,0x92FE,0x2F29,0x9301,0x2F2A,0x9304,
2908
  0x2F2B,0x9307,0x2F2C,0x930A,0x2F2D,0x930D,0x2F2E,0x9310,0x2F2F,0x9313,0x2F30,0x9316,0x2F31,0x9319,0x2F32,0x931C,0x2F33,0x931F,0x2F34,0x9322,0x2F35,0x9325,0x2F36,0x9328,0x2F37,0x932B,0x2F38,0x932E,0x2F39,0x9331,0x2F3A,0x9334,
2909
  0x2F3B,0x9337,0x2F3C,0x933A,0x2F3D,0x933D,0x2F3E,0x9340,0x2F3F,0x9343,0x2F40,0x9346,0x2F41,0x9349,0x2F42,0x934C,0x2F43,0x934F,0x2F44,0x9352,0x2F45,0x9355,0x2F46,0x9358,0x2F47,0x935B,0x2F48,0x935E,0x2F49,0x9361,0x2F4A,0x9364,
2910
  0x2F4B,0x9367,0x2F4C,0x936A,0x2F4D,0x936D,0x2F4E,0x9370,0x2F4F,0x9373,0x2F50,0x9376,0x2F51,0x9379,0x2F52,0x937C,0x2F53,0x937F,0x2F54,0x9382,0x2F55,0x9385,0x2F56,0x9388,0x2F57,0x938B,0x2F58,0x938E,0x2F59,0x9391,0x2F5A,0x9394,
2911
  0x2F5B,0x9397,0x2F5C,0x939A,0x2F5D,0x939D,0x2F5E,0x93A0,0x2F5F,0x93A3,0x2F60,0x93A6,0x2F61,0x93A9,0x2F62,0x93AC,0x2F63,0x93AF,0x2F64,0x93B2,0x2F65,0x93B5,0x2F66,0x93B8,0x2F67,0x93BB,0x2F68,0x93BE,0x2F69,0x93C1,0x2F6A,0x93C4,
2912
  0x2F6B,0x93C7,0x2F6C,0x93CA,0x2F6D,0x93CD,0x2F6E,0x93D0,0x2F6F,0x93D3,0x2F70,0x93D6,0x2F71,0x93D9,0x2F72,0x93DC,0x2F73,0x93DF,0x2F74,0x93E2,0x2F75,0x93E5,0x2F76,0x93E8,0x2F77,0x93EB,0x2F78,0x93EE,0x2F79,0x93F1,0x2F7A,0x93F4,
2913
  0x2F7B,0x93F7,0x2F7C,0x93FA,0x2F7D,0x93FD,0x2F7E,0x9400,0x2F7F,0x9403,0x2F80,0x9406,0x2F81,0x9409,0x2F82,0x940C,0x2F83,0x940F,0x2F84,0x9412,0x2F85,0x9415,0x2F86,0x9418,0x2F87,0x941B,0x2F88,0x941E,0x2F89,0x9421,0x2F8A,0x9424,
2914
  0x2F8B,0x9427,0x2F8C,0x942A,0x2F8D,0x942D,0x2F8E,0x9430,0x2F8F,0x9433,0x2F90,0x9436,0x2F91,0x9439,0x2F92,0x943C,0x2F93,0x943F,0x2F94,0x9442,0x2F95,0x9445,0x2F96,0x9448,0x2F97,0x944B,0x2F98,0x944E,0x2F99,0x9451,0x2F9A,0x9454,
2915
  0x2F9B,0x9457,0x2F9C,0x945A,0x2F9D,0x945D,0x2F9E,0x9460,0x2F9F,0x9463,0x2FA0,0x9466,0x2FA1,0x9469,0x2FA2,0x946C,0x2FA3,0x946F,0x2FA4,0x9472,0x2FA5,0x9475,0x2FA6,0x9478,0x2FA7,0x947B,0x2FA8,0x947E,0x2FA9,0x9481,0x2FAA,0x9484,
2916
  0x2FAB,0x9487,0x2FAC,0x948A,0x2FAD,0x948D,0x2FAE,0x9490,0x2FAF,0x9493,0x2FB0,0x9496,0x2FB1,0x9499,0x2FB2,0x949C,0x2FB3,0x949F,0x2FB4,0x94A2,0x2FB5,0x94A5,0x2FB6,0x94A8,0x2FB7,0x94AB,0x2FB8,0x94AE,0x2FB9,0x94B1,0x2FBA,0x94B4,
2917
  0x2FBB,0x94B7,0x2FBC,0x94BA,0x2FBD,0x94BD,0x2FBE,0x94C0,0x2FBF,0x94C3,0x2FC0,0x94C6,0x2FC1,0x94C9,0x2FC2,0x94CC,0x2FC3,0x94CF,0x2FC4,0x94D2,0x2FC5,0x94D5,0x2FC6,0x94D8,0x2FC7,0x94DB,0x2FC8,0x94DE,0x2FC9,0x94E1,0x2FCA,0x94E4,
2918
  0x2FCB,0x94E7,0x2FCC,0x94EA,0x2FCD,0x94ED,0x2FCE,0x94F0,0x2FCF,0x94F3,0x2FD0,0x94F6,0x2FD1,0x94F9,0x2FD2,0x94FC,0x2FD3,0x94FF,0x2FD4,0x9502,0x2FD5,0x9505,0x3000,0x9508,0x3036,0x9509,0x3038,0x950C,0x3039,0x950F,0x303A,0x9512,
2919
  0x304C,0x1515,0x304E,0x151B,0x3050,0x1521,0x3052,0x1527,0x3054,0x152D,0x3056,0x1533,0x3058,0x1539,0x305A,0x153F,0x305C,0x1545,0x305E,0x154B,0x3060,0x1551,0x3062,0x1557,0x3065,0x155D,0x3067,0x1563,0x3069,0x1569,0x3070,0x156F,
2920
  0x3071,0x1575,0x3073,0x157B,0x3074,0x1581,0x3076,0x1587,0x3077,0x158D,0x3079,0x1593,0x307A,0x1599,0x307C,0x159F,0x307D,0x15A5,0x3094,0x15AB,0x309B,0x95B1,0x309C,0x95B5,0x309E,0x15B9,0x309F,0x95BF,0x30AC,0x15C5,0x30AE,0x15CB,
2921
  0x30B0,0x15D1,0x30B2,0x15D7,0x30B4,0x15DD,0x30B6,0x15E3,0x30B8,0x15E9,0x30BA,0x15EF,0x30BC,0x15F5,0x30BE,0x15FB,0x30C0,0x1601,0x30C2,0x1607,0x30C5,0x160D,0x30C7,0x1613,0x30C9,0x1619,0x30D0,0x161F,0x30D1,0x1625,0x30D3,0x162B,
2922
  0x30D4,0x1631,0x30D6,0x1637,0x30D7,0x163D,0x30D9,0x1643,0x30DA,0x1649,0x30DC,0x164F,0x30DD,0x1655,0x30F4,0x165B,0x30F7,0x1661,0x30F8,0x1667,0x30F9,0x166D,0x30FA,0x1673,0x30FE,0x1679,0x30FF,0x967F,0x3131,0x9685,0x3132,0x9688,
2923
  0x3133,0x968B,0x3134,0x968E,0x3135,0x9691,0x3136,0x9694,0x3137,0x9697,0x3138,0x969A,0x3139,0x969D,0x313A,0x96A0,0x313B,0x96A3,0x313C,0x96A6,0x313D,0x96A9,0x313E,0x96AC,0x313F,0x96AF,0x3140,0x96B2,0x3141,0x96B5,0x3142,0x96B8,
2924
  0x3143,0x96BB,0x3144,0x96BE,0x3145,0x96C1,0x3146,0x96C4,0x3147,0x96C7,0x3148,0x96CA,0x3149,0x96CD,0x314A,0x96D0,0x314B,0x96D3,0x314C,0x96D6,0x314D,0x96D9,0x314E,0x96DC,0x314F,0x96DF,0x3150,0x96E2,0x3151,0x96E5,0x3152,0x96E8,
2925
  0x3153,0x96EB,0x3154,0x96EE,0x3155,0x96F1,0x3156,0x96F4,0x3157,0x96F7,0x3158,0x96FA,0x3159,0x96FD,0x315A,0x9700,0x315B,0x9703,0x315C,0x9706,0x315D,0x9709,0x315E,0x970C,0x315F,0x970F,0x3160,0x9712,0x3161,0x9715,0x3162,0x9718,
2926
  0x3163,0x971B,0x3164,0x971E,0x3165,0x9721,0x3166,0x9724,0x3167,0x9727,0x3168,0x972A,0x3169,0x972D,0x316A,0x9730,0x316B,0x9733,0x316C,0x9736,0x316D,0x9739,0x316E,0x973C,0x316F,0x973F,0x3170,0x9742,0x3171,0x9745,0x3172,0x9748,
2927
  0x3173,0x974B,0x3174,0x974E,0x3175,0x9751,0x3176,0x9754,0x3177,0x9757,0x3178,0x975A,0x3179,0x975D,0x317A,0x9760,0x317B,0x9763,0x317C,0x9766,0x317D,0x9769,0x317E,0x976C,0x317F,0x976F,0x3180,0x9772,0x3181,0x9775,0x3182,0x9778,
2928
  0x3183,0x977B,0x3184,0x977E,0x3185,0x9781,0x3186,0x9784,0x3187,0x9787,0x3188,0x978A,0x3189,0x978D,0x318A,0x9790,0x318B,0x9793,0x318C,0x9796,0x318D,0x9799,0x318E,0x979C,0x3192,0x979F,0x3193,0x97A2,0x3194,0x97A5,0x3195,0x97A8,
2929
  0x3196,0x97AB,0x3197,0x97AE,0x3198,0x97B1,0x3199,0x97B4,0x319A,0x97B7,0x319B,0x97BA,0x319C,0x97BD,0x319D,0x97C0,0x319E,0x97C3,0x319F,0x97C6,0x3200,0x97C9,0x3201,0x97CE,0x3202,0x97D3,0x3203,0x97D8,0x3204,0x97DD,0x3205,0x97E2,
2930
  0x3206,0x97E7,0x3207,0x97EC,0x3208,0x97F1,0x3209,0x97F6,0x320A,0x97FB,0x320B,0x9800,0x320C,0x9805,0x320D,0x980A,0x320E,0x980F,0x320F,0x9817,0x3210,0x981F,0x3211,0x9827,0x3212,0x982F,0x3213,0x9837,0x3214,0x983F,0x3215,0x9847,
2931
  0x3216,0x984F,0x3217,0x9857,0x3218,0x985F,0x3219,0x9867,0x321A,0x986F,0x321B,0x9877,0x321C,0x987F,0x321D,0x9887,0x321E,0x9898,0x3220,0x98A6,0x3221,0x98AB,0x3222,0x98B0,0x3223,0x98B5,0x3224,0x98BA,0x3225,0x98BF,0x3226,0x98C4,
2932
  0x3227,0x98C9,0x3228,0x98CE,0x3229,0x98D3,0x322A,0x98D8,0x322B,0x98DD,0x322C,0x98E2,0x322D,0x98E7,0x322E,0x98EC,0x322F,0x98F1,0x3230,0x98F6,0x3231,0x98FB,0x3232,0x9900,0x3233,0x9905,0x3234,0x990A,0x3235,0x990F,0x3236,0x9914,
2933
  0x3237,0x9919,0x3238,0x991E,0x3239,0x9923,0x323A,0x9928,0x323B,0x992D,0x323C,0x9932,0x323D,0x9937,0x323E,0x993C,0x323F,0x9941,0x3240,0x9946,0x3241,0x994B,0x3242,0x9950,0x3243,0x9955,0x3244,0x995A,0x3245,0x995D,0x3246,0x9960,
2934
  0x3247,0x9963,0x3250,0x9966,0x3251,0x9969,0x3252,0x996B,0x3253,0x996D,0x3254,0x996F,0x3255,0x9971,0x3256,0x9973,0x3257,0x9975,0x3258,0x9977,0x3259,0x9979,0x325A,0x997B,0x325B,0x997D,0x325C,0x997F,0x325D,0x9981,0x325E,0x9983,
2935
  0x325F,0x9985,0x3260,0x9987,0x3261,0x998A,0x3262,0x998D,0x3263,0x9990,0x3264,0x9993,0x3265,0x9996,0x3266,0x9999,0x3267,0x999C,0x3268,0x999F,0x3269,0x99A2,0x326A,0x99A5,0x326B,0x99A8,0x326C,0x99AB,0x326D,0x99AE,0x326E,0x99B1,
2936
  0x326F,0x99B7,0x3270,0x99BD,0x3271,0x99C3,0x3272,0x99C9,0x3273,0x99CF,0x3274,0x99D5,0x3275,0x99DB,0x3276,0x99E1,0x3277,0x99E7,0x3278,0x99ED,0x3279,0x99F3,0x327A,0x99F9,0x327B,0x99FF,0x327C,0x9A05,0x327D,0x9A14,0x327E,0x9A20,
2937
  0x3280,0x9A26,0x3281,0x9A29,0x3282,0x9A2C,0x3283,0x9A2F,0x3284,0x9A32,0x3285,0x9A35,0x3286,0x9A38,0x3287,0x9A3B,0x3288,0x9A3E,0x3289,0x9A41,0x328A,0x9A44,0x328B,0x9A47,0x328C,0x9A4A,0x328D,0x9A4D,0x328E,0x9A50,0x328F,0x9A53,
2938
  0x3290,0x9A56,0x3291,0x9A59,0x3292,0x9A5C,0x3293,0x9A5F,0x3294,0x9A62,0x3295,0x9A65,0x3296,0x9A68,0x3297,0x9A6B,0x3298,0x9A6E,0x3299,0x9A71,0x329A,0x9A74,0x329B,0x9A77,0x329C,0x9A7A,0x329D,0x9A7D,0x329E,0x9A80,0x329F,0x9A83,
2939
  0x32A0,0x9A86,0x32A1,0x9A89,0x32A2,0x9A8C,0x32A3,0x9A8F,0x32A4,0x9A92,0x32A5,0x9A95,0x32A6,0x9A98,0x32A7,0x9A9B,0x32A8,0x9A9E,0x32A9,0x9AA1,0x32AA,0x9AA4,0x32AB,0x9AA7,0x32AC,0x9AAA,0x32AD,0x9AAD,0x32AE,0x9AB0,0x32AF,0x9AB3,
2940
  0x32B0,0x9AB6,0x32B1,0x9AB9,0x32B2,0x9ABB,0x32B3,0x9ABD,0x32B4,0x9ABF,0x32B5,0x9AC1,0x32B6,0x9AC3,0x32B7,0x9AC5,0x32B8,0x9AC7,0x32B9,0x9AC9,0x32BA,0x9ACB,0x32BB,0x9ACD,0x32BC,0x9ACF,0x32BD,0x9AD1,0x32BE,0x9AD3,0x32BF,0x9AD5,
2941
  0x32C0,0x9AD7,0x32C1,0x9ADB,0x32C2,0x9ADF,0x32C3,0x9AE3,0x32C4,0x9AE7,0x32C5,0x9AEB,0x32C6,0x9AEF,0x32C7,0x9AF3,0x32C8,0x9AF7,0x32C9,0x9AFB,0x32CA,0x9B00,0x32CB,0x9B05,0x32CC,0x9B0A,0x32CD,0x9B0C,0x32CE,0x9B0F,0x32CF,0x9B11,
2942
  0x32D0,0x9B14,0x32D1,0x9B17,0x32D2,0x9B1A,0x32D3,0x9B1D,0x32D4,0x9B20,0x32D5,0x9B23,0x32D6,0x9B26,0x32D7,0x9B29,0x32D8,0x9B2C,0x32D9,0x9B2F,0x32DA,0x9B32,0x32DB,0x9B35,0x32DC,0x9B38,0x32DD,0x9B3B,0x32DE,0x9B3E,0x32DF,0x9B41,
2943
  0x32E0,0x9B44,0x32E1,0x9B47,0x32E2,0x9B4A,0x32E3,0x9B4D,0x32E4,0x9B50,0x32E5,0x9B53,0x32E6,0x9B56,0x32E7,0x9B59,0x32E8,0x9B5C,0x32E9,0x9B5F,0x32EA,0x9B62,0x32EB,0x9B65,0x32EC,0x9B68,0x32ED,0x9B6B,0x32EE,0x9B6E,0x32EF,0x9B71,
2944
  0x32F0,0x9B74,0x32F1,0x9B77,0x32F2,0x9B7A,0x32F3,0x9B7D,0x32F4,0x9B80,0x32F5,0x9B83,0x32F6,0x9B86,0x32F7,0x9B89,0x32F8,0x9B8C,0x32F9,0x9B8F,0x32FA,0x9B92,0x32FB,0x9B95,0x32FC,0x9B98,0x32FD,0x9B9B,0x32FE,0x9B9E,0x32FF,0x9BA1,
2945
  0x3300,0x9BA7,0x3301,0x9BB3,0x3302,0x9BBF,0x3303,0x9BCB,0x3304,0x9BD4,0x3305,0x9BE0,0x3306,0x9BE9,0x3307,0x9BF2,0x3308,0x9C01,0x3309,0x9C0D,0x330A,0x9C16,0x330B,0x9C1F,0x330C,0x9C28,0x330D,0x9C34,0x330E,0x9C40,0x330F,0x9C49,
2946
  0x3310,0x9C52,0x3311,0x9C58,0x3312,0x9C61,0x3313,0x9C6D,0x3314,0x9C79,0x3315,0x9C7F,0x3316,0x9C8E,0x3317,0x9CA0,0x3318,0x9CAF,0x3319,0x9CB8,0x331A,0x9CC7,0x331B,0x9CD6,0x331C,0x9CE2,0x331D,0x9CEB,0x331E,0x9CF4,0x331F,0x9CFD,
2947
  0x3320,0x9D09,0x3321,0x9D18,0x3322,0x9D24,0x3323,0x9D2D,0x3324,0x9D36,0x3325,0x9D3F,0x3326,0x9D45,0x3327,0x9D4B,0x3328,0x9D51,0x3329,0x9D57,0x332A,0x9D60,0x332B,0x9D69,0x332C,0x9D78,0x332D,0x9D81,0x332E,0x9D8D,0x332F,0x9D9C,
2948
  0x3330,0x9DA5,0x3331,0x9DAB,0x3332,0x9DB1,0x3333,0x9DC0,0x3334,0x9DCC,0x3335,0x9DDB,0x3336,0x9DE4,0x3337,0x9DF3,0x3338,0x9DF9,0x3339,0x9E02,0x333A,0x9E0B,0x333B,0x9E14,0x333C,0x9E1D,0x333D,0x9E26,0x333E,0x9E32,0x333F,0x9E3B,
2949
  0x3340,0x9E41,0x3341,0x9E4A,0x3342,0x9E53,0x3343,0x9E5C,0x3344,0x9E68,0x3345,0x9E71,0x3346,0x9E7A,0x3347,0x9E83,0x3348,0x9E92,0x3349,0x9E9E,0x334A,0x9EA4,0x334B,0x9EB3,0x334C,0x9EB9,0x334D,0x9EC5,0x334E,0x9ED1,0x334F,0x9EDA,
2950
  0x3350,0x9EE3,0x3351,0x9EEC,0x3352,0x9EF8,0x3353,0x9EFE,0x3354,0x9F07,0x3355,0x9F13,0x3356,0x9F19,0x3357,0x9F28,0x3358,0x9F31,0x3359,0x9F35,0x335A,0x9F39,0x335B,0x9F3D,0x335C,0x9F41,0x335D,0x9F45,0x335E,0x9F49,0x335F,0x9F4D,
2951
  0x3360,0x9F51,0x3361,0x9F55,0x3362,0x9F59,0x3363,0x9F5E,0x3364,0x9F63,0x3365,0x9F68,0x3366,0x9F6D,0x3367,0x9F72,0x3368,0x9F77,0x3369,0x9F7C,0x336A,0x9F81,0x336B,0x9F86,0x336C,0x9F8B,0x336D,0x9F90,0x336E,0x9F95,0x336F,0x9F9A,
2952
  0x3370,0x9F9F,0x3371,0x9FA4,0x3372,0x9FA7,0x3373,0x9FA9,0x3374,0x9FAB,0x3375,0x9FAE,0x3376,0x9FB0,0x3377,0x9FB2,0x3378,0x9FB4,0x3379,0x9FB8,0x337A,0x9FBC,0x337B,0x9FBE,0x337C,0x9FC4,0x337D,0x9FCA,0x337E,0x9FD0,0x337F,0x9FD6,
2953
  0x3380,0x9FE2,0x3381,0x9FE4,0x3382,0x9FE6,0x3383,0x9FE9,0x3384,0x9FEB,0x3385,0x9FED,0x3386,0x9FEF,0x3387,0x9FF1,0x3388,0x9FF3,0x3389,0x9FF6,0x338A,0x9FFA,0x338B,0x9FFC,0x338C,0x9FFE,0x338D,0xA001,0x338E,0xA004,0x338F,0xA006,
2954
  0x3390,0xA008,0x3391,0xA00A,0x3392,0xA00D,0x3393,0xA010,0x3394,0xA013,0x3395,0xA016,0x3396,0xA01B,0x3397,0xA01F,0x3398,0xA023,0x3399,0xA027,0x339A,0xA029,0x339B,0xA02B,0x339C,0xA02E,0x339D,0xA030,0x339E,0xA032,0x339F,0xA034,
2955
  0x33A0,0xA038,0x33A1,0xA03C,0x33A2,0xA03F,0x33A3,0xA043,0x33A4,0xA047,0x33A5,0xA04B,0x33A6,0xA04E,0x33A7,0xA052,0x33A8,0xA057,0x33A9,0xA05E,0x33AA,0xA060,0x33AB,0xA063,0x33AC,0xA066,0x33AD,0xA069,0x33AE,0xA06C,0x33AF,0xA073,
2956
  0x33B0,0xA07C,0x33B1,0xA07E,0x33B2,0xA080,0x33B3,0xA083,0x33B4,0xA085,0x33B5,0xA087,0x33B6,0xA089,0x33B7,0xA08C,0x33B8,0xA08E,0x33B9,0xA090,0x33BA,0xA092,0x33BB,0xA094,0x33BC,0xA096,0x33BD,0xA099,0x33BE,0xA09B,0x33BF,0xA09D,
2957
  0x33C0,0xA09F,0x33C1,0xA0A2,0x33C2,0xA0A5,0x33C3,0xA0A9,0x33C4,0xA0AB,0x33C5,0xA0AD,0x33C6,0xA0AF,0x33C7,0xA0B5,0x33C8,0xA0B8,0x33C9,0xA0BA,0x33CA,0xA0BC,0x33CB,0xA0BE,0x33CC,0xA0C0,0x33CD,0xA0C2,0x33CE,0xA0C4,0x33CF,0xA0C6,
2958
  0x33D0,0xA0C8,0x33D1,0xA0CA,0x33D2,0xA0CC,0x33D3,0xA0CF,0x33D4,0xA0D1,0x33D5,0xA0D3,0x33D6,0xA0D6,0x33D7,0xA0D9,0x33D8,0xA0DB,0x33D9,0xA0DF,0x33DA,0xA0E2,0x33DB,0xA0E4,0x33DC,0xA0E6,0x33DD,0xA0E8,0x33DE,0xA0EA,0x33DF,0xA0EF,
2959
  0x33E0,0xA0F4,0x33E1,0xA0F8,0x33E2,0xA0FC,0x33E3,0xA100,0x33E4,0xA104,0x33E5,0xA108,0x33E6,0xA10C,0x33E7,0xA110,0x33E8,0xA114,0x33E9,0xA118,0x33EA,0xA11D,0x33EB,0xA122,0x33EC,0xA127,0x33ED,0xA12C,0x33EE,0xA131,0x33EF,0xA136,
2960
  0x33F0,0xA13B,0x33F1,0xA140,0x33F2,0xA145,0x33F3,0xA14A,0x33F4,0xA14F,0x33F5,0xA154,0x33F6,0xA159,0x33F7,0xA15E,0x33F8,0xA163,0x33F9,0xA168,0x33FA,0xA16D,0x33FB,0xA172,0x33FC,0xA177,0x33FD,0xA17C,0x33FE,0xA181,0x33FF,0xA186,
2961
  0xA69C,0xA189,0xA69D,0xA18B,0xA770,0xA18D,0xA7F1,0xA190,0xA7F2,0xA191,0xA7F3,0xA192,0xA7F4,0xA193,0xA7F8,0xA194,0xA7F9,0xA196,0xAB5C,0xA198,0xAB5D,0xA19B,0xAB5E,0xA19E,0xAB5F,0xA1A0,0xAB69,0xA1A3,0xF900,0x21A5,0xF901,0x21A8,
2962
  0xF902,0x21AB,0xF903,0x21AE,0xF904,0x21B1,0xF905,0x21B4,0xF906,0x21B7,0xF907,0x21BA,0xF908,0x21BD,0xF909,0x21C0,0xF90A,0x21C3,0xF90B,0x21C6,0xF90C,0x21C9,0xF90D,0x21CC,0xF90E,0x21CF,0xF90F,0x21D2,0xF910,0x21D5,0xF911,0x21D8,
2963
  0xF912,0x21DB,0xF913,0x21DE,0xF914,0x21E1,0xF915,0x21E4,0xF916,0x21E7,0xF917,0x21EA,0xF918,0x21ED,0xF919,0x21F0,0xF91A,0x21F3,0xF91B,0x21F6,0xF91C,0x21F9,0xF91D,0x21FC,0xF91E,0x21FF,0xF91F,0x2202,0xF920,0x2205,0xF921,0x2208,
2964
  0xF922,0x220B,0xF923,0x220E,0xF924,0x2211,0xF925,0x2214,0xF926,0x2217,0xF927,0x221A,0xF928,0x221D,0xF929,0x2220,0xF92A,0x2223,0xF92B,0x2226,0xF92C,0x2229,0xF92D,0x222C,0xF92E,0x222F,0xF92F,0x2232,0xF930,0x2235,0xF931,0x2238,
2965
  0xF932,0x223B,0xF933,0x223E,0xF934,0x2241,0xF935,0x2244,0xF936,0x2247,0xF937,0x224A,0xF938,0x224D,0xF939,0x2250,0xF93A,0x2253,0xF93B,0x2256,0xF93C,0x2259,0xF93D,0x225C,0xF93E,0x225F,0xF93F,0x2262,0xF940,0x2265,0xF941,0x2268,
2966
  0xF942,0x226B,0xF943,0x226E,0xF944,0x2271,0xF945,0x2274,0xF946,0x2277,0xF947,0x227A,0xF948,0x227D,0xF949,0x2280,0xF94A,0x2283,0xF94B,0x2286,0xF94C,0x2289,0xF94D,0x228C,0xF94E,0x228F,0xF94F,0x2292,0xF950,0x2295,0xF951,0x2298,
2967
  0xF952,0x229B,0xF953,0x229E,0xF954,0x22A1,0xF955,0x22A4,0xF956,0x22A7,0xF957,0x22AA,0xF958,0x22AD,0xF959,0x22B0,0xF95A,0x22B3,0xF95B,0x22B6,0xF95C,0x22B9,0xF95D,0x22BC,0xF95E,0x22BF,0xF95F,0x22C2,0xF960,0x22C5,0xF961,0x22C8,
2968
  0xF962,0x22CB,0xF963,0x22CE,0xF964,0x22D1,0xF965,0x22D4,0xF966,0x22D7,0xF967,0x22DA,0xF968,0x22DD,0xF969,0x22E0,0xF96A,0x22E3,0xF96B,0x22E6,0xF96C,0x22E9,0xF96D,0x22EC,0xF96E,0x22EF,0xF96F,0x22F2,0xF970,0x22F5,0xF971,0x22F8,
2969
  0xF972,0x22FB,0xF973,0x22FE,0xF974,0x2301,0xF975,0x2304,0xF976,0x2307,0xF977,0x230A,0xF978,0x230D,0xF979,0x2310,0xF97A,0x2313,0xF97B,0x2316,0xF97C,0x2319,0xF97D,0x231C,0xF97E,0x231F,0xF97F,0x2322,0xF980,0x2325,0xF981,0x2328,
2970
  0xF982,0x232B,0xF983,0x232E,0xF984,0x2331,0xF985,0x2334,0xF986,0x2337,0xF987,0x233A,0xF988,0x233D,0xF989,0x2340,0xF98A,0x2343,0xF98B,0x2346,0xF98C,0x2349,0xF98D,0x234C,0xF98E,0x234F,0xF98F,0x2352,0xF990,0x2355,0xF991,0x2358,
2971
  0xF992,0x235B,0xF993,0x235E,0xF994,0x2361,0xF995,0x2364,0xF996,0x2367,0xF997,0x236A,0xF998,0x236D,0xF999,0x2370,0xF99A,0x2373,0xF99B,0x2376,0xF99C,0x2379,0xF99D,0x237C,0xF99E,0x237F,0xF99F,0x2382,0xF9A0,0x2385,0xF9A1,0x2388,
2972
  0xF9A2,0x238B,0xF9A3,0x238E,0xF9A4,0x2391,0xF9A5,0x2394,0xF9A6,0x2397,0xF9A7,0x239A,0xF9A8,0x239D,0xF9A9,0x23A0,0xF9AA,0x23A3,0xF9AB,0x23A6,0xF9AC,0x23A9,0xF9AD,0x23AC,0xF9AE,0x23AF,0xF9AF,0x23B2,0xF9B0,0x23B5,0xF9B1,0x23B8,
2973
  0xF9B2,0x23BB,0xF9B3,0x23BE,0xF9B4,0x23C1,0xF9B5,0x23C4,0xF9B6,0x23C7,0xF9B7,0x23CA,0xF9B8,0x23CD,0xF9B9,0x23D0,0xF9BA,0x23D3,0xF9BB,0x23D6,0xF9BC,0x23D9,0xF9BD,0x23DC,0xF9BE,0x23DF,0xF9BF,0x23E2,0xF9C0,0x23E5,0xF9C1,0x23E8,
2974
  0xF9C2,0x23EB,0xF9C3,0x23EE,0xF9C4,0x23F1,0xF9C5,0x23F4,0xF9C6,0x23F7,0xF9C7,0x23FA,0xF9C8,0x23FD,0xF9C9,0x2400,0xF9CA,0x2403,0xF9CB,0x2406,0xF9CC,0x2409,0xF9CD,0x240C,0xF9CE,0x240F,0xF9CF,0x2412,0xF9D0,0x2415,0xF9D1,0x2418,
2975
  0xF9D2,0x241B,0xF9D3,0x241E,0xF9D4,0x2421,0xF9D5,0x2424,0xF9D6,0x2427,0xF9D7,0x242A,0xF9D8,0x242D,0xF9D9,0x2430,0xF9DA,0x2433,0xF9DB,0x2436,0xF9DC,0x2439,0xF9DD,0x243C,0xF9DE,0x243F,0xF9DF,0x2442,0xF9E0,0x2445,0xF9E1,0x2448,
2976
  0xF9E2,0x244B,0xF9E3,0x244E,0xF9E4,0x2451,0xF9E5,0x2454,0xF9E6,0x2457,0xF9E7,0x245A,0xF9E8,0x245D,0xF9E9,0x2460,0xF9EA,0x2463,0xF9EB,0x2466,0xF9EC,0x2469,0xF9ED,0x246C,0xF9EE,0x246F,0xF9EF,0x2472,0xF9F0,0x2475,0xF9F1,0x2478,
2977
  0xF9F2,0x247B,0xF9F3,0x247E,0xF9F4,0x2481,0xF9F5,0x2484,0xF9F6,0x2487,0xF9F7,0x248A,0xF9F8,0x248D,0xF9F9,0x2490,0xF9FA,0x2493,0xF9FB,0x2496,0xF9FC,0x2499,0xF9FD,0x249C,0xF9FE,0x249F,0xF9FF,0x24A2,0xFA00,0x24A5,0xFA01,0x24A8,
2978
  0xFA02,0x24AB,0xFA03,0x24AE,0xFA04,0x24B1,0xFA05,0x24B4,0xFA06,0x24B7,0xFA07,0x24BA,0xFA08,0x24BD,0xFA09,0x24C0,0xFA0A,0x24C3,0xFA0B,0x24C6,0xFA0C,0x24C9,0xFA0D,0x24CC,0xFA10,0x24CF,0xFA12,0x24D2,0xFA15,0x24D5,0xFA16,0x24D8,
2979
  0xFA17,0x24DB,0xFA18,0x24DE,0xFA19,0x24E1,0xFA1A,0x24E4,0xFA1B,0x24E7,0xFA1C,0x24EA,0xFA1D,0x24ED,0xFA1E,0x24F0,0xFA20,0x24F3,0xFA22,0x24F6,0xFA25,0x24F9,0xFA26,0x24FC,0xFA2A,0x24FF,0xFA2B,0x2502,0xFA2C,0x2505,0xFA2D,0x2508,
2980
  0xFA2E,0x250B,0xFA2F,0x250E,0xFA30,0x2511,0xFA31,0x2514,0xFA32,0x2517,0xFA33,0x251A,0xFA34,0x251D,0xFA35,0x2520,0xFA36,0x2523,0xFA37,0x2526,0xFA38,0x2529,0xFA39,0x252C,0xFA3A,0x252F,0xFA3B,0x2532,0xFA3C,0x2535,0xFA3D,0x2538,
2981
  0xFA3E,0x253B,0xFA3F,0x253E,0xFA40,0x2541,0xFA41,0x2544,0xFA42,0x2547,0xFA43,0x254A,0xFA44,0x254D,0xFA45,0x2550,0xFA46,0x2553,0xFA47,0x2556,0xFA48,0x2559,0xFA49,0x255C,0xFA4A,0x255F,0xFA4B,0x2562,0xFA4C,0x2565,0xFA4D,0x2568,
2982
  0xFA4E,0x256B,0xFA4F,0x256E,0xFA50,0x2571,0xFA51,0x2574,0xFA52,0x2577,0xFA53,0x257A,0xFA54,0x257D,0xFA55,0x2580,0xFA56,0x2583,0xFA57,0x2586,0xFA58,0x2589,0xFA59,0x258C,0xFA5A,0x258F,0xFA5B,0x2592,0xFA5C,0x2595,0xFA5D,0x2598,
2983
  0xFA5E,0x259B,0xFA5F,0x259E,0xFA60,0x25A1,0xFA61,0x25A4,0xFA62,0x25A7,0xFA63,0x25AA,0xFA64,0x25AD,0xFA65,0x25B0,0xFA66,0x25B3,0xFA67,0x25B6,0xFA68,0x25B9,0xFA69,0x25BC,0xFA6A,0x25BF,0xFA6B,0x25C2,0xFA6C,0x25C5,0xFA6D,0x25C9,
2984
  0xFA70,0x25CC,0xFA71,0x25CF,0xFA72,0x25D2,0xFA73,0x25D5,0xFA74,0x25D8,0xFA75,0x25DB,0xFA76,0x25DE,0xFA77,0x25E1,0xFA78,0x25E4,0xFA79,0x25E7,0xFA7A,0x25EA,0xFA7B,0x25ED,0xFA7C,0x25F0,0xFA7D,0x25F3,0xFA7E,0x25F6,0xFA7F,0x25F9,
2985
  0xFA80,0x25FC,0xFA81,0x25FF,0xFA82,0x2602,0xFA83,0x2605,0xFA84,0x2608,0xFA85,0x260B,0xFA86,0x260E,0xFA87,0x2611,0xFA88,0x2614,0xFA89,0x2617,0xFA8A,0x261A,0xFA8B,0x261D,0xFA8C,0x2620,0xFA8D,0x2623,0xFA8E,0x2626,0xFA8F,0x2629,
2986
  0xFA90,0x262C,0xFA91,0x262F,0xFA92,0x2632,0xFA93,0x2635,0xFA94,0x2638,0xFA95,0x263B,0xFA96,0x263E,0xFA97,0x2641,0xFA98,0x2644,0xFA99,0x2647,0xFA9A,0x264A,0xFA9B,0x264D,0xFA9C,0x2650,0xFA9D,0x2653,0xFA9E,0x2656,0xFA9F,0x2659,
2987
  0xFAA0,0x265C,0xFAA1,0x265F,0xFAA2,0x2662,0xFAA3,0x2665,0xFAA4,0x2668,0xFAA5,0x266B,0xFAA6,0x266E,0xFAA7,0x2671,0xFAA8,0x2674,0xFAA9,0x2677,0xFAAA,0x267A,0xFAAB,0x267D,0xFAAC,0x2680,0xFAAD,0x2683,0xFAAE,0x2686,0xFAAF,0x2689,
2988
  0xFAB0,0x268C,0xFAB1,0x268F,0xFAB2,0x2692,0xFAB3,0x2695,0xFAB4,0x2698,0xFAB5,0x269B,0xFAB6,0x269E,0xFAB7,0x26A1,0xFAB8,0x26A4,0xFAB9,0x26A7,0xFABA,0x26AA,0xFABB,0x26AD,0xFABC,0x26B0,0xFABD,0x26B3,0xFABE,0x26B6,0xFABF,0x26B9,
2989
  0xFAC0,0x26BC,0xFAC1,0x26BF,0xFAC2,0x26C2,0xFAC3,0x26C5,0xFAC4,0x26C8,0xFAC5,0x26CB,0xFAC6,0x26CE,0xFAC7,0x26D1,0xFAC8,0x26D4,0xFAC9,0x26D7,0xFACA,0x26DA,0xFACB,0x26DD,0xFACC,0x26E0,0xFACD,0x26E3,0xFACE,0x26E6,0xFACF,0x26E9,
2990
  0xFAD0,0x26ED,0xFAD1,0x26F1,0xFAD2,0x26F5,0xFAD3,0x26F8,0xFAD4,0x26FB,0xFAD5,0x26FE,0xFAD6,0x2702,0xFAD7,0x2706,0xFAD8,0x270A,0xFAD9,0x270D,0xFB00,0xA710,0xFB01,0xA712,0xFB02,0xA714,0xFB03,0xA716,0xFB04,0xA719,0xFB05,0xA71C,
2991
  0xFB06,0xA71F,0xFB13,0xA721,0xFB14,0xA725,0xFB15,0xA729,0xFB16,0xA72D,0xFB17,0xA731,0xFB1D,0x2735,0xFB1F,0x2739,0xFB20,0xA73D,0xFB21,0xA73F,0xFB22,0xA741,0xFB23,0xA743,0xFB24,0xA745,0xFB25,0xA747,0xFB26,0xA749,0xFB27,0xA74B,
2992
  0xFB28,0xA74D,0xFB29,0xA74F,0xFB2A,0x2750,0xFB2B,0x2754,0xFB2C,0x2758,0xFB2D,0x275D,0xFB2E,0x2762,0xFB2F,0x2766,0xFB30,0x276A,0xFB31,0x276E,0xFB32,0x2772,0xFB33,0x2776,0xFB34,0x277A,0xFB35,0x277E,0xFB36,0x2782,0xFB38,0x2786,
2993
  0xFB39,0x278A,0xFB3A,0x278E,0xFB3B,0x2792,0xFB3C,0x2796,0xFB3E,0x279A,0xFB40,0x279E,0xFB41,0x27A2,0xFB43,0x27A6,0xFB44,0x27AA,0xFB46,0x27AE,0xFB47,0x27B2,0xFB48,0x27B6,0xFB49,0x27BA,0xFB4A,0x27BE,0xFB4B,0x27C2,0xFB4C,0x27C6,
2994
  0xFB4D,0x27CA,0xFB4E,0x27CE,0xFB4F,0xA7D2,0xFB50,0xA7D6,0xFB51,0xA7D8,0xFB52,0xA7DA,0xFB53,0xA7DC,0xFB54,0xA7DE,0xFB55,0xA7E0,0xFB56,0xA7E2,0xFB57,0xA7E4,0xFB58,0xA7E6,0xFB59,0xA7E8,0xFB5A,0xA7EA,0xFB5B,0xA7EC,0xFB5C,0xA7EE,
2995
  0xFB5D,0xA7F0,0xFB5E,0xA7F2,0xFB5F,0xA7F4,0xFB60,0xA7F6,0xFB61,0xA7F8,0xFB62,0xA7FA,0xFB63,0xA7FC,0xFB64,0xA7FE,0xFB65,0xA800,0xFB66,0xA802,0xFB67,0xA804,0xFB68,0xA806,0xFB69,0xA808,0xFB6A,0xA80A,0xFB6B,0xA80C,0xFB6C,0xA80E,
2996
  0xFB6D,0xA810,0xFB6E,0xA812,0xFB6F,0xA814,0xFB70,0xA816,0xFB71,0xA818,0xFB72,0xA81A,0xFB73,0xA81C,0xFB74,0xA81E,0xFB75,0xA820,0xFB76,0xA822,0xFB77,0xA824,0xFB78,0xA826,0xFB79,0xA828,0xFB7A,0xA82A,0xFB7B,0xA82C,0xFB7C,0xA82E,
2997
  0xFB7D,0xA830,0xFB7E,0xA832,0xFB7F,0xA834,0xFB80,0xA836,0xFB81,0xA838,0xFB82,0xA83A,0xFB83,0xA83C,0xFB84,0xA83E,0xFB85,0xA840,0xFB86,0xA842,0xFB87,0xA844,0xFB88,0xA846,0xFB89,0xA848,0xFB8A,0xA84A,0xFB8B,0xA84C,0xFB8C,0xA84E,
2998
  0xFB8D,0xA850,0xFB8E,0xA852,0xFB8F,0xA854,0xFB90,0xA856,0xFB91,0xA858,0xFB92,0xA85A,0xFB93,0xA85C,0xFB94,0xA85E,0xFB95,0xA860,0xFB96,0xA862,0xFB97,0xA864,0xFB98,0xA866,0xFB99,0xA868,0xFB9A,0xA86A,0xFB9B,0xA86C,0xFB9C,0xA86E,
2999
  0xFB9D,0xA870,0xFB9E,0xA872,0xFB9F,0xA874,0xFBA0,0xA876,0xFBA1,0xA878,0xFBA2,0xA87A,0xFBA3,0xA87C,0xFBA4,0xA87E,0xFBA5,0xA880,0xFBA6,0xA882,0xFBA7,0xA884,0xFBA8,0xA886,0xFBA9,0xA888,0xFBAA,0xA88A,0xFBAB,0xA88C,0xFBAC,0xA88E,
3000
  0xFBAD,0xA890,0xFBAE,0xA892,0xFBAF,0xA894,0xFBB0,0xA896,0xFBB1,0xA898,0xFBD3,0xA89A,0xFBD4,0xA89C,0xFBD5,0xA89E,0xFBD6,0xA8A0,0xFBD7,0xA8A2,0xFBD8,0xA8A4,0xFBD9,0xA8A6,0xFBDA,0xA8A8,0xFBDB,0xA8AA,0xFBDC,0xA8AC,0xFBDD,0xA8AE,
3001
  0xFBDE,0xA8B0,0xFBDF,0xA8B2,0xFBE0,0xA8B4,0xFBE1,0xA8B6,0xFBE2,0xA8B8,0xFBE3,0xA8BA,0xFBE4,0xA8BC,0xFBE5,0xA8BE,0xFBE6,0xA8C0,0xFBE7,0xA8C2,0xFBE8,0xA8C4,0xFBE9,0xA8C6,0xFBEA,0xA8C8,0xFBEB,0xA8CC,0xFBEC,0xA8D0,0xFBED,0xA8D4,
3002
  0xFBEE,0xA8D8,0xFBEF,0xA8DC,0xFBF0,0xA8E0,0xFBF1,0xA8E4,0xFBF2,0xA8E8,0xFBF3,0xA8EC,0xFBF4,0xA8F0,0xFBF5,0xA8F4,0xFBF6,0xA8F8,0xFBF7,0xA8FC,0xFBF8,0xA900,0xFBF9,0xA904,0xFBFA,0xA908,0xFBFB,0xA90C,0xFBFC,0xA910,0xFBFD,0xA912,
3003
  0xFBFE,0xA914,0xFBFF,0xA916,0xFC00,0xA918,0xFC01,0xA91C,0xFC02,0xA920,0xFC03,0xA924,0xFC04,0xA928,0xFC05,0xA92C,0xFC06,0xA930,0xFC07,0xA934,0xFC08,0xA938,0xFC09,0xA93C,0xFC0A,0xA940,0xFC0B,0xA944,0xFC0C,0xA948,0xFC0D,0xA94C,
3004
  0xFC0E,0xA950,0xFC0F,0xA954,0xFC10,0xA958,0xFC11,0xA95C,0xFC12,0xA960,0xFC13,0xA964,0xFC14,0xA968,0xFC15,0xA96C,0xFC16,0xA970,0xFC17,0xA974,0xFC18,0xA978,0xFC19,0xA97C,0xFC1A,0xA980,0xFC1B,0xA984,0xFC1C,0xA988,0xFC1D,0xA98C,
3005
  0xFC1E,0xA990,0xFC1F,0xA994,0xFC20,0xA998,0xFC21,0xA99C,0xFC22,0xA9A0,0xFC23,0xA9A4,0xFC24,0xA9A8,0xFC25,0xA9AC,0xFC26,0xA9B0,0xFC27,0xA9B4,0xFC28,0xA9B8,0xFC29,0xA9BC,0xFC2A,0xA9C0,0xFC2B,0xA9C4,0xFC2C,0xA9C8,0xFC2D,0xA9CC,
3006
  0xFC2E,0xA9D0,0xFC2F,0xA9D4,0xFC30,0xA9D8,0xFC31,0xA9DC,0xFC32,0xA9E0,0xFC33,0xA9E4,0xFC34,0xA9E8,0xFC35,0xA9EC,0xFC36,0xA9F0,0xFC37,0xA9F4,0xFC38,0xA9F8,0xFC39,0xA9FC,0xFC3A,0xAA00,0xFC3B,0xAA04,0xFC3C,0xAA08,0xFC3D,0xAA0C,
3007
  0xFC3E,0xAA10,0xFC3F,0xAA14,0xFC40,0xAA18,0xFC41,0xAA1C,0xFC42,0xAA20,0xFC43,0xAA24,0xFC44,0xAA28,0xFC45,0xAA2C,0xFC46,0xAA30,0xFC47,0xAA34,0xFC48,0xAA38,0xFC49,0xAA3C,0xFC4A,0xAA40,0xFC4B,0xAA44,0xFC4C,0xAA48,0xFC4D,0xAA4C,
3008
  0xFC4E,0xAA50,0xFC4F,0xAA54,0xFC50,0xAA58,0xFC51,0xAA5C,0xFC52,0xAA60,0xFC53,0xAA64,0xFC54,0xAA68,0xFC55,0xAA6C,0xFC56,0xAA70,0xFC57,0xAA74,0xFC58,0xAA78,0xFC59,0xAA7C,0xFC5A,0xAA80,0xFC5B,0xAA84,0xFC5C,0xAA88,0xFC5D,0xAA8C,
3009
  0xFC5E,0xAA90,0xFC5F,0xAA95,0xFC60,0xAA9A,0xFC61,0xAA9F,0xFC62,0xAAA4,0xFC63,0xAAA9,0xFC64,0xAAAE,0xFC65,0xAAB2,0xFC66,0xAAB6,0xFC67,0xAABA,0xFC68,0xAABE,0xFC69,0xAAC2,0xFC6A,0xAAC6,0xFC6B,0xAACA,0xFC6C,0xAACE,0xFC6D,0xAAD2,
3010
  0xFC6E,0xAAD6,0xFC6F,0xAADA,0xFC70,0xAADE,0xFC71,0xAAE2,0xFC72,0xAAE6,0xFC73,0xAAEA,0xFC74,0xAAEE,0xFC75,0xAAF2,0xFC76,0xAAF6,0xFC77,0xAAFA,0xFC78,0xAAFE,0xFC79,0xAB02,0xFC7A,0xAB06,0xFC7B,0xAB0A,0xFC7C,0xAB0E,0xFC7D,0xAB12,
3011
  0xFC7E,0xAB16,0xFC7F,0xAB1A,0xFC80,0xAB1E,0xFC81,0xAB22,0xFC82,0xAB26,0xFC83,0xAB2A,0xFC84,0xAB2E,0xFC85,0xAB32,0xFC86,0xAB36,0xFC87,0xAB3A,0xFC88,0xAB3E,0xFC89,0xAB42,0xFC8A,0xAB46,0xFC8B,0xAB4A,0xFC8C,0xAB4E,0xFC8D,0xAB52,
3012
  0xFC8E,0xAB56,0xFC8F,0xAB5A,0xFC90,0xAB5E,0xFC91,0xAB62,0xFC92,0xAB66,0xFC93,0xAB6A,0xFC94,0xAB6E,0xFC95,0xAB72,0xFC96,0xAB76,0xFC97,0xAB7A,0xFC98,0xAB7E,0xFC99,0xAB82,0xFC9A,0xAB86,0xFC9B,0xAB8A,0xFC9C,0xAB8E,0xFC9D,0xAB92,
3013
  0xFC9E,0xAB96,0xFC9F,0xAB9A,0xFCA0,0xAB9E,0xFCA1,0xABA2,0xFCA2,0xABA6,0xFCA3,0xABAA,0xFCA4,0xABAE,0xFCA5,0xABB2,0xFCA6,0xABB6,0xFCA7,0xABBA,0xFCA8,0xABBE,0xFCA9,0xABC2,0xFCAA,0xABC6,0xFCAB,0xABCA,0xFCAC,0xABCE,0xFCAD,0xABD2,
3014
  0xFCAE,0xABD6,0xFCAF,0xABDA,0xFCB0,0xABDE,0xFCB1,0xABE2,0xFCB2,0xABE6,0xFCB3,0xABEA,0xFCB4,0xABEE,0xFCB5,0xABF2,0xFCB6,0xABF6,0xFCB7,0xABFA,0xFCB8,0xABFE,0xFCB9,0xAC02,0xFCBA,0xAC06,0xFCBB,0xAC0A,0xFCBC,0xAC0E,0xFCBD,0xAC12,
3015
  0xFCBE,0xAC16,0xFCBF,0xAC1A,0xFCC0,0xAC1E,0xFCC1,0xAC22,0xFCC2,0xAC26,0xFCC3,0xAC2A,0xFCC4,0xAC2E,0xFCC5,0xAC32,0xFCC6,0xAC36,0xFCC7,0xAC3A,0xFCC8,0xAC3E,0xFCC9,0xAC42,0xFCCA,0xAC46,0xFCCB,0xAC4A,0xFCCC,0xAC4E,0xFCCD,0xAC52,
3016
  0xFCCE,0xAC56,0xFCCF,0xAC5A,0xFCD0,0xAC5E,0xFCD1,0xAC62,0xFCD2,0xAC66,0xFCD3,0xAC6A,0xFCD4,0xAC6E,0xFCD5,0xAC72,0xFCD6,0xAC76,0xFCD7,0xAC7A,0xFCD8,0xAC7E,0xFCD9,0xAC82,0xFCDA,0xAC86,0xFCDB,0xAC8A,0xFCDC,0xAC8E,0xFCDD,0xAC92,
3017
  0xFCDE,0xAC96,0xFCDF,0xAC9A,0xFCE0,0xAC9E,0xFCE1,0xACA2,0xFCE2,0xACA6,0xFCE3,0xACAA,0xFCE4,0xACAE,0xFCE5,0xACB2,0xFCE6,0xACB6,0xFCE7,0xACBA,0xFCE8,0xACBE,0xFCE9,0xACC2,0xFCEA,0xACC6,0xFCEB,0xACCA,0xFCEC,0xACCE,0xFCED,0xACD2,
3018
  0xFCEE,0xACD6,0xFCEF,0xACDA,0xFCF0,0xACDE,0xFCF1,0xACE2,0xFCF2,0xACE6,0xFCF3,0xACEC,0xFCF4,0xACF2,0xFCF5,0xACF8,0xFCF6,0xACFC,0xFCF7,0xAD00,0xFCF8,0xAD04,0xFCF9,0xAD08,0xFCFA,0xAD0C,0xFCFB,0xAD10,0xFCFC,0xAD14,0xFCFD,0xAD18,
3019
  0xFCFE,0xAD1C,0xFCFF,0xAD20,0xFD00,0xAD24,0xFD01,0xAD28,0xFD02,0xAD2C,0xFD03,0xAD30,0xFD04,0xAD34,0xFD05,0xAD38,0xFD06,0xAD3C,0xFD07,0xAD40,0xFD08,0xAD44,0xFD09,0xAD48,0xFD0A,0xAD4C,0xFD0B,0xAD50,0xFD0C,0xAD54,0xFD0D,0xAD58,
3020
  0xFD0E,0xAD5C,0xFD0F,0xAD60,0xFD10,0xAD64,0xFD11,0xAD68,0xFD12,0xAD6C,0xFD13,0xAD70,0xFD14,0xAD74,0xFD15,0xAD78,0xFD16,0xAD7C,0xFD17,0xAD80,0xFD18,0xAD84,0xFD19,0xAD88,0xFD1A,0xAD8C,0xFD1B,0xAD90,0xFD1C,0xAD94,0xFD1D,0xAD98,
3021
  0xFD1E,0xAD9C,0xFD1F,0xADA0,0xFD20,0xADA4,0xFD21,0xADA8,0xFD22,0xADAC,0xFD23,0xADB0,0xFD24,0xADB4,0xFD25,0xADB8,0xFD26,0xADBC,0xFD27,0xADC0,0xFD28,0xADC4,0xFD29,0xADC8,0xFD2A,0xADCC,0xFD2B,0xADD0,0xFD2C,0xADD4,0xFD2D,0xADD8,
3022
  0xFD2E,0xADDC,0xFD2F,0xADE0,0xFD30,0xADE4,0xFD31,0xADE8,0xFD32,0xADEC,0xFD33,0xADF0,0xFD34,0xADF4,0xFD35,0xADF8,0xFD36,0xADFC,0xFD37,0xAE00,0xFD38,0xAE04,0xFD39,0xAE08,0xFD3A,0xAE0C,0xFD3B,0xAE10,0xFD3C,0xAE14,0xFD3D,0xAE18,
3023
  0xFD50,0xAE1C,0xFD51,0xAE22,0xFD52,0xAE28,0xFD53,0xAE2E,0xFD54,0xAE34,0xFD55,0xAE3A,0xFD56,0xAE40,0xFD57,0xAE46,0xFD58,0xAE4C,0xFD59,0xAE52,0xFD5A,0xAE58,0xFD5B,0xAE5E,0xFD5C,0xAE64,0xFD5D,0xAE6A,0xFD5E,0xAE70,0xFD5F,0xAE76,
3024
  0xFD60,0xAE7C,0xFD61,0xAE82,0xFD62,0xAE88,0xFD63,0xAE8E,0xFD64,0xAE94,0xFD65,0xAE9A,0xFD66,0xAEA0,0xFD67,0xAEA6,0xFD68,0xAEAC,0xFD69,0xAEB2,0xFD6A,0xAEB8,0xFD6B,0xAEBE,0xFD6C,0xAEC4,0xFD6D,0xAECA,0xFD6E,0xAED0,0xFD6F,0xAED6,
3025
  0xFD70,0xAEDC,0xFD71,0xAEE2,0xFD72,0xAEE8,0xFD73,0xAEEE,0xFD74,0xAEF4,0xFD75,0xAEFA,0xFD76,0xAF00,0xFD77,0xAF06,0xFD78,0xAF0C,0xFD79,0xAF12,0xFD7A,0xAF18,0xFD7B,0xAF1E,0xFD7C,0xAF24,0xFD7D,0xAF2A,0xFD7E,0xAF30,0xFD7F,0xAF36,
3026
  0xFD80,0xAF3C,0xFD81,0xAF42,0xFD82,0xAF48,0xFD83,0xAF4E,0xFD84,0xAF54,0xFD85,0xAF5A,0xFD86,0xAF60,0xFD87,0xAF66,0xFD88,0xAF6C,0xFD89,0xAF72,0xFD8A,0xAF78,0xFD8B,0xAF7E,0xFD8C,0xAF84,0xFD8D,0xAF8A,0xFD8E,0xAF90,0xFD8F,0xAF96,
3027
  0xFD92,0xAF9C,0xFD93,0xAFA2,0xFD94,0xAFA8,0xFD95,0xAFAE,0xFD96,0xAFB4,0xFD97,0xAFBA,0xFD98,0xAFC0,0xFD99,0xAFC6,0xFD9A,0xAFCC,0xFD9B,0xAFD2,0xFD9C,0xAFD8,0xFD9D,0xAFDE,0xFD9E,0xAFE4,0xFD9F,0xAFEA,0xFDA0,0xAFF0,0xFDA1,0xAFF6,
3028
  0xFDA2,0xAFFC,0xFDA3,0xB002,0xFDA4,0xB008,0xFDA5,0xB00E,0xFDA6,0xB014,0xFDA7,0xB01A,0xFDA8,0xB020,0xFDA9,0xB026,0xFDAA,0xB02C,0xFDAB,0xB032,0xFDAC,0xB038,0xFDAD,0xB03E,0xFDAE,0xB044,0xFDAF,0xB04A,0xFDB0,0xB050,0xFDB1,0xB056,
3029
  0xFDB2,0xB05C,0xFDB3,0xB062,0xFDB4,0xB068,0xFDB5,0xB06E,0xFDB6,0xB074,0xFDB7,0xB07A,0xFDB8,0xB080,0xFDB9,0xB086,0xFDBA,0xB08C,0xFDBB,0xB092,0xFDBC,0xB098,0xFDBD,0xB09E,0xFDBE,0xB0A4,0xFDBF,0xB0AA,0xFDC0,0xB0B0,0xFDC1,0xB0B6,
3030
  0xFDC2,0xB0BC,0xFDC3,0xB0C2,0xFDC4,0xB0C8,0xFDC5,0xB0CE,0xFDC6,0xB0D4,0xFDC7,0xB0DA,0xFDF0,0xB0E0,0xFDF1,0xB0E6,0xFDF2,0xB0EC,0xFDF3,0xB0F4,0xFDF4,0xB0FC,0xFDF5,0xB104,0xFDF6,0xB10C,0xFDF7,0xB114,0xFDF8,0xB11C,0xFDF9,0xB124,
3031
  0xFDFA,0xB12A,0xFDFB,0xB14B,0xFDFC,0xB15A,0xFE10,0xB162,0xFE11,0xB163,0xFE12,0xB166,0xFE13,0xB169,0xFE14,0xB16A,0xFE15,0xB16B,0xFE16,0xB16C,0xFE17,0xB16D,0xFE18,0xB170,0xFE19,0xB173,0xFE30,0xB176,0xFE31,0xB179,0xFE32,0xB17C,
3032
  0xFE33,0xB17F,0xFE34,0xB180,0xFE35,0xB181,0xFE36,0xB182,0xFE37,0xB183,0xFE38,0xB184,0xFE39,0xB185,0xFE3A,0xB188,0xFE3B,0xB18B,0xFE3C,0xB18E,0xFE3D,0xB191,0xFE3E,0xB194,0xFE3F,0xB197,0xFE40,0xB19A,0xFE41,0xB19D,0xFE42,0xB1A0,
3033
  0xFE43,0xB1A3,0xFE44,0xB1A6,0xFE47,0xB1A9,0xFE48,0xB1AA,0xFE49,0xB1AB,0xFE4A,0xB1AE,0xFE4B,0xB1B1,0xFE4C,0xB1B4,0xFE4D,0xB1B7,0xFE4E,0xB1B8,0xFE4F,0xB1B9,0xFE50,0xB1BA,0xFE51,0xB1BB,0xFE52,0xB1BE,0xFE54,0xB1BF,0xFE55,0xB1C0,
3034
  0xFE56,0xB1C1,0xFE57,0xB1C2,0xFE58,0xB1C3,0xFE59,0xB1C6,0xFE5A,0xB1C7,0xFE5B,0xB1C8,0xFE5C,0xB1C9,0xFE5D,0xB1CA,0xFE5E,0xB1CD,0xFE5F,0xB1D0,0xFE60,0xB1D1,0xFE61,0xB1D2,0xFE62,0xB1D3,0xFE63,0xB1D4,0xFE64,0xB1D5,0xFE65,0xB1D6,
3035
  0xFE66,0xB1D7,0xFE68,0xB1D8,0xFE69,0xB1D9,0xFE6A,0xB1DA,0xFE6B,0xB1DB,0xFE70,0xB1DC,0xFE71,0xB1DF,0xFE72,0xB1E3,0xFE74,0xB1E6,0xFE76,0xB1E9,0xFE77,0xB1EC,0xFE78,0xB1F0,0xFE79,0xB1F3,0xFE7A,0xB1F7,0xFE7B,0xB1FA,0xFE7C,0xB1FE,
3036
  0xFE7D,0xB201,0xFE7E,0xB205,0xFE7F,0xB208,0xFE80,0xB20C,0xFE81,0xB20E,0xFE82,0xB210,0xFE83,0xB212,0xFE84,0xB214,0xFE85,0xB216,0xFE86,0xB218,0xFE87,0xB21A,0xFE88,0xB21C,0xFE89,0xB21E,0xFE8A,0xB220,0xFE8B,0xB222,0xFE8C,0xB224,
3037
  0xFE8D,0xB226,0xFE8E,0xB228,0xFE8F,0xB22A,0xFE90,0xB22C,0xFE91,0xB22E,0xFE92,0xB230,0xFE93,0xB232,0xFE94,0xB234,0xFE95,0xB236,0xFE96,0xB238,0xFE97,0xB23A,0xFE98,0xB23C,0xFE99,0xB23E,0xFE9A,0xB240,0xFE9B,0xB242,0xFE9C,0xB244,
3038
  0xFE9D,0xB246,0xFE9E,0xB248,0xFE9F,0xB24A,0xFEA0,0xB24C,0xFEA1,0xB24E,0xFEA2,0xB250,0xFEA3,0xB252,0xFEA4,0xB254,0xFEA5,0xB256,0xFEA6,0xB258,0xFEA7,0xB25A,0xFEA8,0xB25C,0xFEA9,0xB25E,0xFEAA,0xB260,0xFEAB,0xB262,0xFEAC,0xB264,
3039
  0xFEAD,0xB266,0xFEAE,0xB268,0xFEAF,0xB26A,0xFEB0,0xB26C,0xFEB1,0xB26E,0xFEB2,0xB270,0xFEB3,0xB272,0xFEB4,0xB274,0xFEB5,0xB276,0xFEB6,0xB278,0xFEB7,0xB27A,0xFEB8,0xB27C,0xFEB9,0xB27E,0xFEBA,0xB280,0xFEBB,0xB282,0xFEBC,0xB284,
3040
  0xFEBD,0xB286,0xFEBE,0xB288,0xFEBF,0xB28A,0xFEC0,0xB28C,0xFEC1,0xB28E,0xFEC2,0xB290,0xFEC3,0xB292,0xFEC4,0xB294,0xFEC5,0xB296,0xFEC6,0xB298,0xFEC7,0xB29A,0xFEC8,0xB29C,0xFEC9,0xB29E,0xFECA,0xB2A0,0xFECB,0xB2A2,0xFECC,0xB2A4,
3041
  0xFECD,0xB2A6,0xFECE,0xB2A8,0xFECF,0xB2AA,0xFED0,0xB2AC,0xFED1,0xB2AE,0xFED2,0xB2B0,0xFED3,0xB2B2,0xFED4,0xB2B4,0xFED5,0xB2B6,0xFED6,0xB2B8,0xFED7,0xB2BA,0xFED8,0xB2BC,0xFED9,0xB2BE,0xFEDA,0xB2C0,0xFEDB,0xB2C2,0xFEDC,0xB2C4,
3042
  0xFEDD,0xB2C6,0xFEDE,0xB2C8,0xFEDF,0xB2CA,0xFEE0,0xB2CC,0xFEE1,0xB2CE,0xFEE2,0xB2D0,0xFEE3,0xB2D2,0xFEE4,0xB2D4,0xFEE5,0xB2D6,0xFEE6,0xB2D8,0xFEE7,0xB2DA,0xFEE8,0xB2DC,0xFEE9,0xB2DE,0xFEEA,0xB2E0,0xFEEB,0xB2E2,0xFEEC,0xB2E4,
3043
  0xFEED,0xB2E6,0xFEEE,0xB2E8,0xFEEF,0xB2EA,0xFEF0,0xB2EC,0xFEF1,0xB2EE,0xFEF2,0xB2F0,0xFEF3,0xB2F2,0xFEF4,0xB2F4,0xFEF5,0xB2F6,0xFEF6,0xB2FA,0xFEF7,0xB2FE,0xFEF8,0xB302,0xFEF9,0xB306,0xFEFA,0xB30A,0xFEFB,0xB30E,0xFEFC,0xB312,
3044
  0xFF01,0xB316,0xFF02,0xB317,0xFF03,0xB318,0xFF04,0xB319,0xFF05,0xB31A,0xFF06,0xB31B,0xFF07,0xB31C,0xFF08,0xB31D,0xFF09,0xB31E,0xFF0A,0xB31F,0xFF0B,0xB320,0xFF0C,0xB321,0xFF0D,0xB322,0xFF0E,0xB323,0xFF0F,0xB324,0xFF10,0xB325,
3045
  0xFF11,0xB326,0xFF12,0xB327,0xFF13,0xB328,0xFF14,0xB329,0xFF15,0xB32A,0xFF16,0xB32B,0xFF17,0xB32C,0xFF18,0xB32D,0xFF19,0xB32E,0xFF1A,0xB32F,0xFF1B,0xB330,0xFF1C,0xB331,0xFF1D,0xB332,0xFF1E,0xB333,0xFF1F,0xB334,0xFF20,0xB335,
3046
  0xFF21,0xB336,0xFF22,0xB337,0xFF23,0xB338,0xFF24,0xB339,0xFF25,0xB33A,0xFF26,0xB33B,0xFF27,0xB33C,0xFF28,0xB33D,0xFF29,0xB33E,0xFF2A,0xB33F,0xFF2B,0xB340,0xFF2C,0xB341,0xFF2D,0xB342,0xFF2E,0xB343,0xFF2F,0xB344,0xFF30,0xB345,
3047
  0xFF31,0xB346,0xFF32,0xB347,0xFF33,0xB348,0xFF34,0xB349,0xFF35,0xB34A,0xFF36,0xB34B,0xFF37,0xB34C,0xFF38,0xB34D,0xFF39,0xB34E,0xFF3A,0xB34F,0xFF3B,0xB350,0xFF3C,0xB351,0xFF3D,0xB352,0xFF3E,0xB353,0xFF3F,0xB354,0xFF40,0xB355,
3048
  0xFF41,0xB356,0xFF42,0xB357,0xFF43,0xB358,0xFF44,0xB359,0xFF45,0xB35A,0xFF46,0xB35B,0xFF47,0xB35C,0xFF48,0xB35D,0xFF49,0xB35E,0xFF4A,0xB35F,0xFF4B,0xB360,0xFF4C,0xB361,0xFF4D,0xB362,0xFF4E,0xB363,0xFF4F,0xB364,0xFF50,0xB365,
3049
  0xFF51,0xB366,0xFF52,0xB367,0xFF53,0xB368,0xFF54,0xB369,0xFF55,0xB36A,0xFF56,0xB36B,0xFF57,0xB36C,0xFF58,0xB36D,0xFF59,0xB36E,0xFF5A,0xB36F,0xFF5B,0xB370,0xFF5C,0xB371,0xFF5D,0xB372,0xFF5E,0xB373,0xFF5F,0xB374,0xFF60,0xB377,
3050
  0xFF61,0xB37A,0xFF62,0xB37D,0xFF63,0xB380,0xFF64,0xB383,0xFF65,0xB386,0xFF66,0xB389,0xFF67,0xB38C,0xFF68,0xB38F,0xFF69,0xB392,0xFF6A,0xB395,0xFF6B,0xB398,0xFF6C,0xB39B,0xFF6D,0xB39E,0xFF6E,0xB3A1,0xFF6F,0xB3A4,0xFF70,0xB3A7,
3051
  0xFF71,0xB3AA,0xFF72,0xB3AD,0xFF73,0xB3B0,0xFF74,0xB3B3,0xFF75,0xB3B6,0xFF76,0xB3B9,0xFF77,0xB3BC,0xFF78,0xB3BF,0xFF79,0xB3C2,0xFF7A,0xB3C5,0xFF7B,0xB3C8,0xFF7C,0xB3CB,0xFF7D,0xB3CE,0xFF7E,0xB3D1,0xFF7F,0xB3D4,0xFF80,0xB3D7,
3052
  0xFF81,0xB3DA,0xFF82,0xB3DD,0xFF83,0xB3E0,0xFF84,0xB3E3,0xFF85,0xB3E6,0xFF86,0xB3E9,0xFF87,0xB3EC,0xFF88,0xB3EF,0xFF89,0xB3F2,0xFF8A,0xB3F5,0xFF8B,0xB3F8,0xFF8C,0xB3FB,0xFF8D,0xB3FE,0xFF8E,0xB401,0xFF8F,0xB404,0xFF90,0xB407,
3053
  0xFF91,0xB40A,0xFF92,0xB40D,0xFF93,0xB410,0xFF94,0xB413,0xFF95,0xB416,0xFF96,0xB419,0xFF97,0xB41C,0xFF98,0xB41F,0xFF99,0xB422,0xFF9A,0xB425,0xFF9B,0xB428,0xFF9C,0xB42B,0xFF9D,0xB42E,0xFF9E,0xB431,0xFF9F,0xB434,0xFFA0,0xB437,
3054
  0xFFA1,0xB43A,0xFFA2,0xB43D,0xFFA3,0xB440,0xFFA4,0xB443,0xFFA5,0xB446,0xFFA6,0xB449,0xFFA7,0xB44C,0xFFA8,0xB44F,0xFFA9,0xB452,0xFFAA,0xB455,0xFFAB,0xB458,0xFFAC,0xB45B,0xFFAD,0xB45E,0xFFAE,0xB461,0xFFAF,0xB464,0xFFB0,0xB467,
3055
  0xFFB1,0xB46A,0xFFB2,0xB46D,0xFFB3,0xB470,0xFFB4,0xB473,0xFFB5,0xB476,0xFFB6,0xB479,0xFFB7,0xB47C,0xFFB8,0xB47F,0xFFB9,0xB482,0xFFBA,0xB485,0xFFBB,0xB488,0xFFBC,0xB48B,0xFFBD,0xB48E,0xFFBE,0xB491,0xFFC2,0xB494,0xFFC3,0xB497,
3056
  0xFFC4,0xB49A,0xFFC5,0xB49D,0xFFC6,0xB4A0,0xFFC7,0xB4A3,0xFFCA,0xB4A6,0xFFCB,0xB4A9,0xFFCC,0xB4AC,0xFFCD,0xB4AF,0xFFCE,0xB4B2,0xFFCF,0xB4B5,0xFFD2,0xB4B8,0xFFD3,0xB4BB,0xFFD4,0xB4BE,0xFFD5,0xB4C1,0xFFD6,0xB4C4,0xFFD7,0xB4C7,
3057
  0xFFDA,0xB4CA,0xFFDB,0xB4CD,0xFFDC,0xB4D0,0xFFE0,0xB4D3,0xFFE1,0xB4D5,0xFFE2,0xB4D7,0xFFE3,0xB4D9,0xFFE4,0xB4DB,0xFFE5,0xB4DD,0xFFE6,0xB4DF,0xFFE8,0xB4E2,0xFFE9,0xB4E5,0xFFEA,0xB4E8,0xFFEB,0xB4EB,0xFFEC,0xB4EE,0xFFED,0xB4F1,
3058
  0xFFEE,0xB4F4,0xFFFF,0x34F7,
3059
};
3060
#define mxDecompositionSize1 2640
3061
const txU1 gxDecompositionData1[mxDecompositionSize1] ICACHE_XS6RO_ATTR = {
3062
  0xf0,0x90,0x97,0x92,0xcc,0x87,0xf0,0x90,0x97,0x9a,0xcc,0x87,0xcb,0x90,0xcb,0x91,0xc3,0xa6,0xca,0x99,0xc9,0x93,0xca,0xa3,0xea,0xad,0xa6,0xca,0xa5,0xca,0xa4,0xc9,
3063
  0x96,0xc9,0x97,0xe1,0xb6,0x91,0xc9,0x98,0xc9,0x9e,0xca,0xa9,0xc9,0xa4,0xc9,0xa2,0xc9,0xa0,0xca,0x9b,0xc4,0xa7,0xca,0x9c,0xc9,0xa7,0xca,0x84,0xca,0xaa,0xca,0xab,
3064
  0xc9,0xac,0xf0,0x9d,0xbc,0x84,0xea,0x9e,0x8e,0xc9,0xae,0xf0,0x9d,0xbc,0x85,0xca,0x8e,0xf0,0x9d,0xbc,0x86,0xc3,0xb8,0xc9,0xb6,0xc9,0xb7,0x71,0xc9,0xba,0xf0,0x9d,
3065
  0xbc,0x88,0xc9,0xbd,0xc9,0xbe,0xca,0x80,0xca,0xa8,0xca,0xa6,0xea,0xad,0xa7,0xca,0xa7,0xca,0x88,0xe2,0xb1,0xb1,0xca,0x8f,0xca,0xa1,0xca,0xa2,0xca,0x98,0xc7,0x80,
3066
  0xc7,0x81,0xc7,0x82,0xf0,0x9d,0xbc,0x8a,0xf0,0x9d,0xbc,0x9e,0xf0,0x91,0x82,0x99,0xf0,0x91,0x82,0xba,0xf0,0x91,0x82,0x9b,0xf0,0x91,0x82,0xba,0xf0,0x91,0x82,0xa5,
3067
  0xf0,0x91,0x82,0xba,0xf0,0x91,0x84,0xb1,0xf0,0x91,0x84,0xa7,0xf0,0x91,0x84,0xb2,0xf0,0x91,0x84,0xa7,0xf0,0x91,0x8d,0x87,0xf0,0x91,0x8c,0xbe,0xf0,0x91,0x8d,0x87,
3068
  0xf0,0x91,0x8d,0x97,0xf0,0x91,0x8e,0x82,0xf0,0x91,0x8f,0x89,0xf0,0x91,0x8e,0x84,0xf0,0x91,0x8e,0xbb,0xf0,0x91,0x8e,0x8b,0xf0,0x91,0x8f,0x82,0xf0,0x91,0x8e,0x90,
3069
  0xf0,0x91,0x8f,0x89,0xf0,0x91,0x8f,0x82,0xf0,0x91,0x8f,0x82,0xf0,0x91,0x8f,0x82,0xf0,0x91,0x8e,0xb8,0xf0,0x91,0x8f,0x82,0xf0,0x91,0x8f,0x89,0xf0,0x91,0x92,0xb9,
3070
  0xf0,0x91,0x92,0xba,0xf0,0x91,0x92,0xb9,0xf0,0x91,0x92,0xb0,0xf0,0x91,0x92,0xb9,0xf0,0x91,0x92,0xbd,0xf0,0x91,0x96,0xb8,0xf0,0x91,0x96,0xaf,0xf0,0x91,0x96,0xb9,
3071
  0xf0,0x91,0x96,0xaf,0xf0,0x91,0xa4,0xb5,0xf0,0x91,0xa4,0xb0,0xf0,0x96,0x84,0x9e,0xf0,0x96,0x84,0x9e,0xf0,0x96,0x84,0x9e,0xf0,0x96,0x84,0xa9,0xf0,0x96,0x84,0x9e,
3072
  0xf0,0x96,0x84,0x9f,0xf0,0x96,0x84,0xa9,0xf0,0x96,0x84,0x9f,0xf0,0x96,0x84,0x9e,0xf0,0x96,0x84,0xa0,0xf0,0x96,0x84,0xa1,0xf0,0x96,0x84,0x9f,0xf0,0x96,0x84,0xa2,
3073
  0xf0,0x96,0x84,0x9f,0xf0,0x96,0x84,0xa1,0xf0,0x96,0x84,0xa0,0xf0,0x96,0xb5,0xa7,0xf0,0x96,0xb5,0xa7,0xf0,0x96,0xb5,0xa3,0xf0,0x96,0xb5,0xa7,0xf0,0x96,0xb5,0xa9,
3074
  0xf0,0x96,0xb5,0xa7,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x30,0x31,
3075
  0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0xf0,0x9d,0x85,0x97,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x85,0x98,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xae,
3076
  0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xaf,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xb0,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xb1,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xb2,
3077
  0xf0,0x9d,0x86,0xb9,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x86,0xba,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x86,0xbb,0xf0,0x9d,0x85,0xae,0xf0,0x9d,0x86,0xbc,0xf0,0x9d,0x85,0xae,
3078
  0xf0,0x9d,0x86,0xbb,0xf0,0x9d,0x85,0xaf,0xf0,0x9d,0x86,0xbc,0xf0,0x9d,0x85,0xaf,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,
3079
  0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,
3080
  0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,
3081
  0x63,0x64,0x65,0x66,0x67,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,
3082
  0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
3083
  0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x43,0x44,0x47,0x4a,0x4b,0x4e,0x4f,0x50,0x51,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,
3084
  0x64,0x66,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,
3085
  0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,
3086
  0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x44,0x45,0x46,0x47,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x61,0x62,0x63,
3087
  0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x44,0x45,0x46,0x47,0x49,0x4a,0x4b,
3088
  0x4c,0x4d,0x4f,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,
3089
  0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,
3090
  0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,
3091
  0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,
3092
  0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,
3093
  0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,
3094
  0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,
3095
  0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,
3096
  0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,
3097
  0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,
3098
  0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0xc4,0xb1,0xc8,0xb7,
3099
  0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,
3100
  0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,
3101
  0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,
3102
  0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,
3103
  0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,
3104
  0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,
3105
  0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,
3106
  0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,
3107
  0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,
3108
  0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,
3109
  0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,
3110
  0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,
3111
  0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,
3112
  0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,
3113
  0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,
3114
  0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,
3115
  0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,
3116
  0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,
3117
  0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xcf,0x9c,0xcf,0x9d,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,
3118
  0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,0x34,0x35,
3119
  0x36,0x37,0x38,0x39,0xd0,0xb0,0xd0,0xb1,0xd0,0xb2,0xd0,0xb3,0xd0,0xb4,0xd0,0xb5,0xd0,0xb6,0xd0,0xb7,0xd0,0xb8,0xd0,0xba,0xd0,0xbb,0xd0,0xbc,0xd0,0xbe,0xd0,0xbf,
3120
  0xd1,0x80,0xd1,0x81,0xd1,0x82,0xd1,0x83,0xd1,0x84,0xd1,0x85,0xd1,0x86,0xd1,0x87,0xd1,0x88,0xd1,0x8b,0xd1,0x8d,0xd1,0x8e,0xea,0x9a,0x89,0xd3,0x99,0xd1,0x96,0xd1,
3121
  0x98,0xd3,0xa9,0xd2,0xaf,0xd3,0x8f,0xd0,0xb0,0xd0,0xb1,0xd0,0xb2,0xd0,0xb3,0xd0,0xb4,0xd0,0xb5,0xd0,0xb6,0xd0,0xb7,0xd0,0xb8,0xd0,0xba,0xd0,0xbb,0xd0,0xbe,0xd0,
3122
  0xbf,0xd1,0x81,0xd1,0x83,0xd1,0x84,0xd1,0x85,0xd1,0x86,0xd1,0x87,0xd1,0x88,0xd1,0x8a,0xd1,0x8b,0xd2,0x91,0xd1,0x96,0xd1,0x95,0xd1,0x9f,0xd2,0xab,0xea,0x99,0x91,
3123
  0xd2,0xb1,0xd8,0xa7,0xd8,0xa8,0xd8,0xac,0xd8,0xaf,0xd9,0x88,0xd8,0xb2,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x83,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,
3124
  0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb1,0xd8,0xb4,0xd8,0xaa,0xd8,0xab,0xd8,0xae,0xd8,0xb0,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0xd9,0xae,0xda,0xba,0xda,0xa1,0xd9,0xaf,
3125
  0xd8,0xa8,0xd8,0xac,0xd9,0x87,0xd8,0xad,0xd9,0x8a,0xd9,0x83,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb4,0xd8,0xaa,
3126
  0xd8,0xab,0xd8,0xae,0xd8,0xb6,0xd8,0xba,0xd8,0xac,0xd8,0xad,0xd9,0x8a,0xd9,0x84,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd8,0xb5,0xd9,0x82,0xd8,0xb4,0xd8,0xae,0xd8,0xb6,
3127
  0xd8,0xba,0xda,0xba,0xd9,0xaf,0xd8,0xa8,0xd8,0xac,0xd9,0x87,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x83,0xd9,0x85,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd9,0x81,0xd8,0xb5,
3128
  0xd9,0x82,0xd8,0xb4,0xd8,0xaa,0xd8,0xab,0xd8,0xae,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0xd9,0xae,0xda,0xa1,0xd8,0xa7,0xd8,0xa8,0xd8,0xac,0xd8,0xaf,0xd9,0x87,0xd9,0x88,
3129
  0xd8,0xb2,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb1,0xd8,0xb4,0xd8,0xaa,0xd8,0xab,
3130
  0xd8,0xae,0xd8,0xb0,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0xd8,0xa8,0xd8,0xac,0xd8,0xaf,0xd9,0x88,0xd8,0xb2,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x84,0xd9,0x85,0xd9,0x86,
3131
  0xd8,0xb3,0xd8,0xb9,0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb1,0xd8,0xb4,0xd8,0xaa,0xd8,0xab,0xd8,0xae,0xd8,0xb0,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0x30,0x2e,0x30,0x2c,
3132
  0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x38,0x2c,0x39,0x2c,0x28,0x41,0x29,0x28,0x42,0x29,0x28,0x43,0x29,0x28,0x44,0x29,0x28,0x45,
3133
  0x29,0x28,0x46,0x29,0x28,0x47,0x29,0x28,0x48,0x29,0x28,0x49,0x29,0x28,0x4a,0x29,0x28,0x4b,0x29,0x28,0x4c,0x29,0x28,0x4d,0x29,0x28,0x4e,0x29,0x28,0x4f,0x29,0x28,
3134
  0x50,0x29,0x28,0x51,0x29,0x28,0x52,0x29,0x28,0x53,0x29,0x28,0x54,0x29,0x28,0x55,0x29,0x28,0x56,0x29,0x28,0x57,0x29,0x28,0x58,0x29,0x28,0x59,0x29,0x28,0x5a,0x29,
3135
  0xe3,0x80,0x94,0x53,0xe3,0x80,0x95,0x43,0x52,0x43,0x44,0x57,0x5a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,
3136
  0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x48,0x56,0x4d,0x56,0x53,0x44,0x53,0x53,0x50,0x50,0x56,0x57,0x43,0x4d,0x43,0x4d,0x44,0x4d,0x52,0x44,0x4a,0xe3,0x81,0xbb,0xe3,
3137
  0x81,0x8b,0xe3,0x82,0xb3,0xe3,0x82,0xb3,0xe3,0x82,0xb5,0xe6,0x89,0x8b,0xe5,0xad,0x97,0xe5,0x8f,0x8c,0xe3,0x83,0x87,0xe4,0xba,0x8c,0xe5,0xa4,0x9a,0xe8,0xa7,0xa3,
3138
  0xe5,0xa4,0xa9,0xe4,0xba,0xa4,0xe6,0x98,0xa0,0xe7,0x84,0xa1,0xe6,0x96,0x99,0xe5,0x89,0x8d,0xe5,0xbe,0x8c,0xe5,0x86,0x8d,0xe6,0x96,0xb0,0xe5,0x88,0x9d,0xe7,0xb5,
3139
  0x82,0xe7,0x94,0x9f,0xe8,0xb2,0xa9,0xe5,0xa3,0xb0,0xe5,0x90,0xb9,0xe6,0xbc,0x94,0xe6,0x8a,0x95,0xe6,0x8d,0x95,0xe4,0xb8,0x80,0xe4,0xb8,0x89,0xe9,0x81,0x8a,0xe5,
3140
  0xb7,0xa6,0xe4,0xb8,0xad,0xe5,0x8f,0xb3,0xe6,0x8c,0x87,0xe8,0xb5,0xb0,0xe6,0x89,0x93,0xe7,0xa6,0x81,0xe7,0xa9,0xba,0xe5,0x90,0x88,0xe6,0xba,0x80,0xe6,0x9c,0x89,
3141
  0xe6,0x9c,0x88,0xe7,0x94,0xb3,0xe5,0x89,0xb2,0xe5,0x96,0xb6,0xe9,0x85,0x8d,0xe3,0x80,0x94,0xe6,0x9c,0xac,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe4,0xb8,0x89,0xe3,0x80,
3142
  0x95,0xe3,0x80,0x94,0xe4,0xba,0x8c,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe5,0xae,0x89,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe7,0x82,0xb9,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe6,
3143
  0x89,0x93,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe7,0x9b,0x97,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe5,0x8b,0x9d,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe6,0x95,0x97,0xe3,0x80,0x95,
3144
  0xe5,0xbe,0x97,0xe5,0x8f,0xaf,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,
3145
};
3146
513
#define mxDecompositionCount1 2968
3147
static const txU2 gxDecompositionIndex1[mxDecompositionCount1] ICACHE_XS6RO_ATTR = {
3148
  0x05C9,0x0000,0x05E4,0x0006,0x0781,0x800C,0x0782,0x800E,0x0783,0x8010,0x0784,0x8012,0x0785,0x8014,0x0787,0x8016,0x0788,0x8018,0x0789,0x801B,0x078A,0x801D,0x078B,0x801F,0x078C,0x8021,0x078D,0x8023,0x078E,0x8026,0x078F,0x8028,
3149
  0x0790,0x802A,0x0791,0x802C,0x0792,0x802E,0x0793,0x8030,0x0794,0x8032,0x0795,0x8034,0x0796,0x8036,0x0797,0x8038,0x0798,0x803A,0x0799,0x803C,0x079A,0x803E,0x079B,0x8040,0x079C,0x8042,0x079D,0x8046,0x079E,0x8049,0x079F,0x804B,
3150
  0x07A0,0x804F,0x07A1,0x8051,0x07A2,0x8055,0x07A3,0x8057,0x07A4,0x8059,0x07A5,0x805B,0x07A6,0x805C,0x07A7,0x805E,0x07A8,0x8062,0x07A9,0x8064,0x07AA,0x8066,0x07AB,0x8068,0x07AC,0x806A,0x07AD,0x806C,0x07AE,0x806F,0x07AF,0x8071,
3151
  0x07B0,0x8073,0x07B2,0x8076,0x07B3,0x8078,0x07B4,0x807A,0x07B5,0x807C,0x07B6,0x807E,0x07B7,0x8080,0x07B8,0x8082,0x07B9,0x8084,0x07BA,0x8088,0x109A,0x008C,0x109C,0x0094,0x10AB,0x009C,0x112E,0x00A4,0x112F,0x00AC,0x134B,0x00B4,
3152
  0x134C,0x00BC,0x1383,0x00C4,0x1385,0x00CC,0x138E,0x00D4,0x1391,0x00DC,0x13C5,0x00E4,0x13C7,0x00EC,0x13C8,0x00F4,0x14BB,0x00FC,0x14BC,0x0104,0x14BE,0x010C,0x15BA,0x0114,0x15BB,0x011C,0x1938,0x0124,0x6121,0x012C,0x6122,0x0134,
3153
  0x6123,0x013C,0x6124,0x0144,0x6125,0x014C,0x6126,0x0154,0x6127,0x015C,0x6128,0x0164,0x6D68,0x016C,0x6D69,0x0174,0x6D6A,0x017C,0xCCD6,0x8184,0xCCD7,0x8185,0xCCD8,0x8186,0xCCD9,0x8187,0xCCDA,0x8188,0xCCDB,0x8189,0xCCDC,0x818A,
3154
  0xCCDD,0x818B,0xCCDE,0x818C,0xCCDF,0x818D,0xCCE0,0x818E,0xCCE1,0x818F,0xCCE2,0x8190,0xCCE3,0x8191,0xCCE4,0x8192,0xCCE5,0x8193,0xCCE6,0x8194,0xCCE7,0x8195,0xCCE8,0x8196,0xCCE9,0x8197,0xCCEA,0x8198,0xCCEB,0x8199,0xCCEC,0x819A,
3155
  0xCCED,0x819B,0xCCEE,0x819C,0xCCEF,0x819D,0xCCF0,0x819E,0xCCF1,0x819F,0xCCF2,0x81A0,0xCCF3,0x81A1,0xCCF4,0x81A2,0xCCF5,0x81A3,0xCCF6,0x81A4,0xCCF7,0x81A5,0xCCF8,0x81A6,0xCCF9,0x81A7,0xD15E,0x01A8,0xD15F,0x01B0,0xD160,0x01B8,
3156
  0xD161,0x01C0,0xD162,0x01C8,0xD163,0x01D0,0xD164,0x01D8,0xD1BB,0x01E0,0xD1BC,0x01E8,0xD1BD,0x01F0,0xD1BE,0x01F8,0xD1BF,0x0200,0xD1C0,0x0208,0xD400,0x8210,0xD401,0x8211,0xD402,0x8212,0xD403,0x8213,0xD404,0x8214,0xD405,0x8215,
3157
  0xD406,0x8216,0xD407,0x8217,0xD408,0x8218,0xD409,0x8219,0xD40A,0x821A,0xD40B,0x821B,0xD40C,0x821C,0xD40D,0x821D,0xD40E,0x821E,0xD40F,0x821F,0xD410,0x8220,0xD411,0x8221,0xD412,0x8222,0xD413,0x8223,0xD414,0x8224,0xD415,0x8225,
3158
  0xD416,0x8226,0xD417,0x8227,0xD418,0x8228,0xD419,0x8229,0xD41A,0x822A,0xD41B,0x822B,0xD41C,0x822C,0xD41D,0x822D,0xD41E,0x822E,0xD41F,0x822F,0xD420,0x8230,0xD421,0x8231,0xD422,0x8232,0xD423,0x8233,0xD424,0x8234,0xD425,0x8235,
3159
  0xD426,0x8236,0xD427,0x8237,0xD428,0x8238,0xD429,0x8239,0xD42A,0x823A,0xD42B,0x823B,0xD42C,0x823C,0xD42D,0x823D,0xD42E,0x823E,0xD42F,0x823F,0xD430,0x8240,0xD431,0x8241,0xD432,0x8242,0xD433,0x8243,0xD434,0x8244,0xD435,0x8245,
3160
  0xD436,0x8246,0xD437,0x8247,0xD438,0x8248,0xD439,0x8249,0xD43A,0x824A,0xD43B,0x824B,0xD43C,0x824C,0xD43D,0x824D,0xD43E,0x824E,0xD43F,0x824F,0xD440,0x8250,0xD441,0x8251,0xD442,0x8252,0xD443,0x8253,0xD444,0x8254,0xD445,0x8255,
3161
  0xD446,0x8256,0xD447,0x8257,0xD448,0x8258,0xD449,0x8259,0xD44A,0x825A,0xD44B,0x825B,0xD44C,0x825C,0xD44D,0x825D,0xD44E,0x825E,0xD44F,0x825F,0xD450,0x8260,0xD451,0x8261,0xD452,0x8262,0xD453,0x8263,0xD454,0x8264,0xD456,0x8265,
3162
  0xD457,0x8266,0xD458,0x8267,0xD459,0x8268,0xD45A,0x8269,0xD45B,0x826A,0xD45C,0x826B,0xD45D,0x826C,0xD45E,0x826D,0xD45F,0x826E,0xD460,0x826F,0xD461,0x8270,0xD462,0x8271,0xD463,0x8272,0xD464,0x8273,0xD465,0x8274,0xD466,0x8275,
3163
  0xD467,0x8276,0xD468,0x8277,0xD469,0x8278,0xD46A,0x8279,0xD46B,0x827A,0xD46C,0x827B,0xD46D,0x827C,0xD46E,0x827D,0xD46F,0x827E,0xD470,0x827F,0xD471,0x8280,0xD472,0x8281,0xD473,0x8282,0xD474,0x8283,0xD475,0x8284,0xD476,0x8285,
3164
  0xD477,0x8286,0xD478,0x8287,0xD479,0x8288,0xD47A,0x8289,0xD47B,0x828A,0xD47C,0x828B,0xD47D,0x828C,0xD47E,0x828D,0xD47F,0x828E,0xD480,0x828F,0xD481,0x8290,0xD482,0x8291,0xD483,0x8292,0xD484,0x8293,0xD485,0x8294,0xD486,0x8295,
3165
  0xD487,0x8296,0xD488,0x8297,0xD489,0x8298,0xD48A,0x8299,0xD48B,0x829A,0xD48C,0x829B,0xD48D,0x829C,0xD48E,0x829D,0xD48F,0x829E,0xD490,0x829F,0xD491,0x82A0,0xD492,0x82A1,0xD493,0x82A2,0xD494,0x82A3,0xD495,0x82A4,0xD496,0x82A5,
3166
  0xD497,0x82A6,0xD498,0x82A7,0xD499,0x82A8,0xD49A,0x82A9,0xD49B,0x82AA,0xD49C,0x82AB,0xD49E,0x82AC,0xD49F,0x82AD,0xD4A2,0x82AE,0xD4A5,0x82AF,0xD4A6,0x82B0,0xD4A9,0x82B1,0xD4AA,0x82B2,0xD4AB,0x82B3,0xD4AC,0x82B4,0xD4AE,0x82B5,
3167
  0xD4AF,0x82B6,0xD4B0,0x82B7,0xD4B1,0x82B8,0xD4B2,0x82B9,0xD4B3,0x82BA,0xD4B4,0x82BB,0xD4B5,0x82BC,0xD4B6,0x82BD,0xD4B7,0x82BE,0xD4B8,0x82BF,0xD4B9,0x82C0,0xD4BB,0x82C1,0xD4BD,0x82C2,0xD4BE,0x82C3,0xD4BF,0x82C4,0xD4C0,0x82C5,
3168
  0xD4C1,0x82C6,0xD4C2,0x82C7,0xD4C3,0x82C8,0xD4C5,0x82C9,0xD4C6,0x82CA,0xD4C7,0x82CB,0xD4C8,0x82CC,0xD4C9,0x82CD,0xD4CA,0x82CE,0xD4CB,0x82CF,0xD4CC,0x82D0,0xD4CD,0x82D1,0xD4CE,0x82D2,0xD4CF,0x82D3,0xD4D0,0x82D4,0xD4D1,0x82D5,
3169
  0xD4D2,0x82D6,0xD4D3,0x82D7,0xD4D4,0x82D8,0xD4D5,0x82D9,0xD4D6,0x82DA,0xD4D7,0x82DB,0xD4D8,0x82DC,0xD4D9,0x82DD,0xD4DA,0x82DE,0xD4DB,0x82DF,0xD4DC,0x82E0,0xD4DD,0x82E1,0xD4DE,0x82E2,0xD4DF,0x82E3,0xD4E0,0x82E4,0xD4E1,0x82E5,
3170
  0xD4E2,0x82E6,0xD4E3,0x82E7,0xD4E4,0x82E8,0xD4E5,0x82E9,0xD4E6,0x82EA,0xD4E7,0x82EB,0xD4E8,0x82EC,0xD4E9,0x82ED,0xD4EA,0x82EE,0xD4EB,0x82EF,0xD4EC,0x82F0,0xD4ED,0x82F1,0xD4EE,0x82F2,0xD4EF,0x82F3,0xD4F0,0x82F4,0xD4F1,0x82F5,
3171
  0xD4F2,0x82F6,0xD4F3,0x82F7,0xD4F4,0x82F8,0xD4F5,0x82F9,0xD4F6,0x82FA,0xD4F7,0x82FB,0xD4F8,0x82FC,0xD4F9,0x82FD,0xD4FA,0x82FE,0xD4FB,0x82FF,0xD4FC,0x8300,0xD4FD,0x8301,0xD4FE,0x8302,0xD4FF,0x8303,0xD500,0x8304,0xD501,0x8305,
3172
  0xD502,0x8306,0xD503,0x8307,0xD504,0x8308,0xD505,0x8309,0xD507,0x830A,0xD508,0x830B,0xD509,0x830C,0xD50A,0x830D,0xD50D,0x830E,0xD50E,0x830F,0xD50F,0x8310,0xD510,0x8311,0xD511,0x8312,0xD512,0x8313,0xD513,0x8314,0xD514,0x8315,
3173
  0xD516,0x8316,0xD517,0x8317,0xD518,0x8318,0xD519,0x8319,0xD51A,0x831A,0xD51B,0x831B,0xD51C,0x831C,0xD51E,0x831D,0xD51F,0x831E,0xD520,0x831F,0xD521,0x8320,0xD522,0x8321,0xD523,0x8322,0xD524,0x8323,0xD525,0x8324,0xD526,0x8325,
3174
  0xD527,0x8326,0xD528,0x8327,0xD529,0x8328,0xD52A,0x8329,0xD52B,0x832A,0xD52C,0x832B,0xD52D,0x832C,0xD52E,0x832D,0xD52F,0x832E,0xD530,0x832F,0xD531,0x8330,0xD532,0x8331,0xD533,0x8332,0xD534,0x8333,0xD535,0x8334,0xD536,0x8335,
3175
  0xD537,0x8336,0xD538,0x8337,0xD539,0x8338,0xD53B,0x8339,0xD53C,0x833A,0xD53D,0x833B,0xD53E,0x833C,0xD540,0x833D,0xD541,0x833E,0xD542,0x833F,0xD543,0x8340,0xD544,0x8341,0xD546,0x8342,0xD54A,0x8343,0xD54B,0x8344,0xD54C,0x8345,
3176
  0xD54D,0x8346,0xD54E,0x8347,0xD54F,0x8348,0xD550,0x8349,0xD552,0x834A,0xD553,0x834B,0xD554,0x834C,0xD555,0x834D,0xD556,0x834E,0xD557,0x834F,0xD558,0x8350,0xD559,0x8351,0xD55A,0x8352,0xD55B,0x8353,0xD55C,0x8354,0xD55D,0x8355,
3177
  0xD55E,0x8356,0xD55F,0x8357,0xD560,0x8358,0xD561,0x8359,0xD562,0x835A,0xD563,0x835B,0xD564,0x835C,0xD565,0x835D,0xD566,0x835E,0xD567,0x835F,0xD568,0x8360,0xD569,0x8361,0xD56A,0x8362,0xD56B,0x8363,0xD56C,0x8364,0xD56D,0x8365,
3178
  0xD56E,0x8366,0xD56F,0x8367,0xD570,0x8368,0xD571,0x8369,0xD572,0x836A,0xD573,0x836B,0xD574,0x836C,0xD575,0x836D,0xD576,0x836E,0xD577,0x836F,0xD578,0x8370,0xD579,0x8371,0xD57A,0x8372,0xD57B,0x8373,0xD57C,0x8374,0xD57D,0x8375,
3179
  0xD57E,0x8376,0xD57F,0x8377,0xD580,0x8378,0xD581,0x8379,0xD582,0x837A,0xD583,0x837B,0xD584,0x837C,0xD585,0x837D,0xD586,0x837E,0xD587,0x837F,0xD588,0x8380,0xD589,0x8381,0xD58A,0x8382,0xD58B,0x8383,0xD58C,0x8384,0xD58D,0x8385,
3180
  0xD58E,0x8386,0xD58F,0x8387,0xD590,0x8388,0xD591,0x8389,0xD592,0x838A,0xD593,0x838B,0xD594,0x838C,0xD595,0x838D,0xD596,0x838E,0xD597,0x838F,0xD598,0x8390,0xD599,0x8391,0xD59A,0x8392,0xD59B,0x8393,0xD59C,0x8394,0xD59D,0x8395,
3181
  0xD59E,0x8396,0xD59F,0x8397,0xD5A0,0x8398,0xD5A1,0x8399,0xD5A2,0x839A,0xD5A3,0x839B,0xD5A4,0x839C,0xD5A5,0x839D,0xD5A6,0x839E,0xD5A7,0x839F,0xD5A8,0x83A0,0xD5A9,0x83A1,0xD5AA,0x83A2,0xD5AB,0x83A3,0xD5AC,0x83A4,0xD5AD,0x83A5,
3182
  0xD5AE,0x83A6,0xD5AF,0x83A7,0xD5B0,0x83A8,0xD5B1,0x83A9,0xD5B2,0x83AA,0xD5B3,0x83AB,0xD5B4,0x83AC,0xD5B5,0x83AD,0xD5B6,0x83AE,0xD5B7,0x83AF,0xD5B8,0x83B0,0xD5B9,0x83B1,0xD5BA,0x83B2,0xD5BB,0x83B3,0xD5BC,0x83B4,0xD5BD,0x83B5,
3183
  0xD5BE,0x83B6,0xD5BF,0x83B7,0xD5C0,0x83B8,0xD5C1,0x83B9,0xD5C2,0x83BA,0xD5C3,0x83BB,0xD5C4,0x83BC,0xD5C5,0x83BD,0xD5C6,0x83BE,0xD5C7,0x83BF,0xD5C8,0x83C0,0xD5C9,0x83C1,0xD5CA,0x83C2,0xD5CB,0x83C3,0xD5CC,0x83C4,0xD5CD,0x83C5,
3184
  0xD5CE,0x83C6,0xD5CF,0x83C7,0xD5D0,0x83C8,0xD5D1,0x83C9,0xD5D2,0x83CA,0xD5D3,0x83CB,0xD5D4,0x83CC,0xD5D5,0x83CD,0xD5D6,0x83CE,0xD5D7,0x83CF,0xD5D8,0x83D0,0xD5D9,0x83D1,0xD5DA,0x83D2,0xD5DB,0x83D3,0xD5DC,0x83D4,0xD5DD,0x83D5,
3185
  0xD5DE,0x83D6,0xD5DF,0x83D7,0xD5E0,0x83D8,0xD5E1,0x83D9,0xD5E2,0x83DA,0xD5E3,0x83DB,0xD5E4,0x83DC,0xD5E5,0x83DD,0xD5E6,0x83DE,0xD5E7,0x83DF,0xD5E8,0x83E0,0xD5E9,0x83E1,0xD5EA,0x83E2,0xD5EB,0x83E3,0xD5EC,0x83E4,0xD5ED,0x83E5,
3186
  0xD5EE,0x83E6,0xD5EF,0x83E7,0xD5F0,0x83E8,0xD5F1,0x83E9,0xD5F2,0x83EA,0xD5F3,0x83EB,0xD5F4,0x83EC,0xD5F5,0x83ED,0xD5F6,0x83EE,0xD5F7,0x83EF,0xD5F8,0x83F0,0xD5F9,0x83F1,0xD5FA,0x83F2,0xD5FB,0x83F3,0xD5FC,0x83F4,0xD5FD,0x83F5,
3187
  0xD5FE,0x83F6,0xD5FF,0x83F7,0xD600,0x83F8,0xD601,0x83F9,0xD602,0x83FA,0xD603,0x83FB,0xD604,0x83FC,0xD605,0x83FD,0xD606,0x83FE,0xD607,0x83FF,0xD608,0x8400,0xD609,0x8401,0xD60A,0x8402,0xD60B,0x8403,0xD60C,0x8404,0xD60D,0x8405,
3188
  0xD60E,0x8406,0xD60F,0x8407,0xD610,0x8408,0xD611,0x8409,0xD612,0x840A,0xD613,0x840B,0xD614,0x840C,0xD615,0x840D,0xD616,0x840E,0xD617,0x840F,0xD618,0x8410,0xD619,0x8411,0xD61A,0x8412,0xD61B,0x8413,0xD61C,0x8414,0xD61D,0x8415,
3189
  0xD61E,0x8416,0xD61F,0x8417,0xD620,0x8418,0xD621,0x8419,0xD622,0x841A,0xD623,0x841B,0xD624,0x841C,0xD625,0x841D,0xD626,0x841E,0xD627,0x841F,0xD628,0x8420,0xD629,0x8421,0xD62A,0x8422,0xD62B,0x8423,0xD62C,0x8424,0xD62D,0x8425,
3190
  0xD62E,0x8426,0xD62F,0x8427,0xD630,0x8428,0xD631,0x8429,0xD632,0x842A,0xD633,0x842B,0xD634,0x842C,0xD635,0x842D,0xD636,0x842E,0xD637,0x842F,0xD638,0x8430,0xD639,0x8431,0xD63A,0x8432,0xD63B,0x8433,0xD63C,0x8434,0xD63D,0x8435,
3191
  0xD63E,0x8436,0xD63F,0x8437,0xD640,0x8438,0xD641,0x8439,0xD642,0x843A,0xD643,0x843B,0xD644,0x843C,0xD645,0x843D,0xD646,0x843E,0xD647,0x843F,0xD648,0x8440,0xD649,0x8441,0xD64A,0x8442,0xD64B,0x8443,0xD64C,0x8444,0xD64D,0x8445,
3192
  0xD64E,0x8446,0xD64F,0x8447,0xD650,0x8448,0xD651,0x8449,0xD652,0x844A,0xD653,0x844B,0xD654,0x844C,0xD655,0x844D,0xD656,0x844E,0xD657,0x844F,0xD658,0x8450,0xD659,0x8451,0xD65A,0x8452,0xD65B,0x8453,0xD65C,0x8454,0xD65D,0x8455,
3193
  0xD65E,0x8456,0xD65F,0x8457,0xD660,0x8458,0xD661,0x8459,0xD662,0x845A,0xD663,0x845B,0xD664,0x845C,0xD665,0x845D,0xD666,0x845E,0xD667,0x845F,0xD668,0x8460,0xD669,0x8461,0xD66A,0x8462,0xD66B,0x8463,0xD66C,0x8464,0xD66D,0x8465,
3194
  0xD66E,0x8466,0xD66F,0x8467,0xD670,0x8468,0xD671,0x8469,0xD672,0x846A,0xD673,0x846B,0xD674,0x846C,0xD675,0x846D,0xD676,0x846E,0xD677,0x846F,0xD678,0x8470,0xD679,0x8471,0xD67A,0x8472,0xD67B,0x8473,0xD67C,0x8474,0xD67D,0x8475,
3195
  0xD67E,0x8476,0xD67F,0x8477,0xD680,0x8478,0xD681,0x8479,0xD682,0x847A,0xD683,0x847B,0xD684,0x847C,0xD685,0x847D,0xD686,0x847E,0xD687,0x847F,0xD688,0x8480,0xD689,0x8481,0xD68A,0x8482,0xD68B,0x8483,0xD68C,0x8484,0xD68D,0x8485,
3196
  0xD68E,0x8486,0xD68F,0x8487,0xD690,0x8488,0xD691,0x8489,0xD692,0x848A,0xD693,0x848B,0xD694,0x848C,0xD695,0x848D,0xD696,0x848E,0xD697,0x848F,0xD698,0x8490,0xD699,0x8491,0xD69A,0x8492,0xD69B,0x8493,0xD69C,0x8494,0xD69D,0x8495,
3197
  0xD69E,0x8496,0xD69F,0x8497,0xD6A0,0x8498,0xD6A1,0x8499,0xD6A2,0x849A,0xD6A3,0x849B,0xD6A4,0x849C,0xD6A5,0x849E,0xD6A8,0x84A0,0xD6A9,0x84A2,0xD6AA,0x84A4,0xD6AB,0x84A6,0xD6AC,0x84A8,0xD6AD,0x84AA,0xD6AE,0x84AC,0xD6AF,0x84AE,
3198
  0xD6B0,0x84B0,0xD6B1,0x84B2,0xD6B2,0x84B4,0xD6B3,0x84B6,0xD6B4,0x84B8,0xD6B5,0x84BA,0xD6B6,0x84BC,0xD6B7,0x84BE,0xD6B8,0x84C0,0xD6B9,0x84C2,0xD6BA,0x84C4,0xD6BB,0x84C6,0xD6BC,0x84C8,0xD6BD,0x84CA,0xD6BE,0x84CC,0xD6BF,0x84CE,
3199
  0xD6C0,0x84D0,0xD6C1,0x84D2,0xD6C2,0x84D5,0xD6C3,0x84D7,0xD6C4,0x84D9,0xD6C5,0x84DB,0xD6C6,0x84DD,0xD6C7,0x84DF,0xD6C8,0x84E1,0xD6C9,0x84E3,0xD6CA,0x84E5,0xD6CB,0x84E7,0xD6CC,0x84E9,0xD6CD,0x84EB,0xD6CE,0x84ED,0xD6CF,0x84EF,
3200
  0xD6D0,0x84F1,0xD6D1,0x84F3,0xD6D2,0x84F5,0xD6D3,0x84F7,0xD6D4,0x84F9,0xD6D5,0x84FB,0xD6D6,0x84FD,0xD6D7,0x84FF,0xD6D8,0x8501,0xD6D9,0x8503,0xD6DA,0x8505,0xD6DB,0x8507,0xD6DC,0x850A,0xD6DD,0x850C,0xD6DE,0x850E,0xD6DF,0x8510,
3201
  0xD6E0,0x8512,0xD6E1,0x8514,0xD6E2,0x8516,0xD6E3,0x8518,0xD6E4,0x851A,0xD6E5,0x851C,0xD6E6,0x851E,0xD6E7,0x8520,0xD6E8,0x8522,0xD6E9,0x8524,0xD6EA,0x8526,0xD6EB,0x8528,0xD6EC,0x852A,0xD6ED,0x852C,0xD6EE,0x852E,0xD6EF,0x8530,
3202
  0xD6F0,0x8532,0xD6F1,0x8534,0xD6F2,0x8536,0xD6F3,0x8538,0xD6F4,0x853A,0xD6F5,0x853C,0xD6F6,0x853E,0xD6F7,0x8540,0xD6F8,0x8542,0xD6F9,0x8544,0xD6FA,0x8546,0xD6FB,0x8548,0xD6FC,0x854B,0xD6FD,0x854D,0xD6FE,0x854F,0xD6FF,0x8551,
3203
  0xD700,0x8553,0xD701,0x8555,0xD702,0x8557,0xD703,0x8559,0xD704,0x855B,0xD705,0x855D,0xD706,0x855F,0xD707,0x8561,0xD708,0x8563,0xD709,0x8565,0xD70A,0x8567,0xD70B,0x8569,0xD70C,0x856B,0xD70D,0x856D,0xD70E,0x856F,0xD70F,0x8571,
3204
  0xD710,0x8573,0xD711,0x8575,0xD712,0x8577,0xD713,0x8579,0xD714,0x857B,0xD715,0x857D,0xD716,0x8580,0xD717,0x8582,0xD718,0x8584,0xD719,0x8586,0xD71A,0x8588,0xD71B,0x858A,0xD71C,0x858C,0xD71D,0x858E,0xD71E,0x8590,0xD71F,0x8592,
3205
  0xD720,0x8594,0xD721,0x8596,0xD722,0x8598,0xD723,0x859A,0xD724,0x859C,0xD725,0x859E,0xD726,0x85A0,0xD727,0x85A2,0xD728,0x85A4,0xD729,0x85A6,0xD72A,0x85A8,0xD72B,0x85AA,0xD72C,0x85AC,0xD72D,0x85AE,0xD72E,0x85B0,0xD72F,0x85B2,
3206
  0xD730,0x85B4,0xD731,0x85B6,0xD732,0x85B8,0xD733,0x85BA,0xD734,0x85BC,0xD735,0x85BE,0xD736,0x85C1,0xD737,0x85C3,0xD738,0x85C5,0xD739,0x85C7,0xD73A,0x85C9,0xD73B,0x85CB,0xD73C,0x85CD,0xD73D,0x85CF,0xD73E,0x85D1,0xD73F,0x85D3,
3207
  0xD740,0x85D5,0xD741,0x85D7,0xD742,0x85D9,0xD743,0x85DB,0xD744,0x85DD,0xD745,0x85DF,0xD746,0x85E1,0xD747,0x85E3,0xD748,0x85E5,0xD749,0x85E7,0xD74A,0x85E9,0xD74B,0x85EB,0xD74C,0x85ED,0xD74D,0x85EF,0xD74E,0x85F1,0xD74F,0x85F3,
3208
  0xD750,0x85F6,0xD751,0x85F8,0xD752,0x85FA,0xD753,0x85FC,0xD754,0x85FE,0xD755,0x8600,0xD756,0x8602,0xD757,0x8604,0xD758,0x8606,0xD759,0x8608,0xD75A,0x860A,0xD75B,0x860C,0xD75C,0x860E,0xD75D,0x8610,0xD75E,0x8612,0xD75F,0x8614,
3209
  0xD760,0x8616,0xD761,0x8618,0xD762,0x861A,0xD763,0x861C,0xD764,0x861E,0xD765,0x8620,0xD766,0x8622,0xD767,0x8624,0xD768,0x8626,0xD769,0x8628,0xD76A,0x862A,0xD76B,0x862C,0xD76C,0x862E,0xD76D,0x8630,0xD76E,0x8632,0xD76F,0x8634,
3210
  0xD770,0x8637,0xD771,0x8639,0xD772,0x863B,0xD773,0x863D,0xD774,0x863F,0xD775,0x8641,0xD776,0x8643,0xD777,0x8645,0xD778,0x8647,0xD779,0x8649,0xD77A,0x864B,0xD77B,0x864D,0xD77C,0x864F,0xD77D,0x8651,0xD77E,0x8653,0xD77F,0x8655,
3211
  0xD780,0x8657,0xD781,0x8659,0xD782,0x865B,0xD783,0x865D,0xD784,0x865F,0xD785,0x8661,0xD786,0x8663,0xD787,0x8665,0xD788,0x8667,0xD789,0x8669,0xD78A,0x866C,0xD78B,0x866E,0xD78C,0x8670,0xD78D,0x8672,0xD78E,0x8674,0xD78F,0x8676,
3212
  0xD790,0x8678,0xD791,0x867A,0xD792,0x867C,0xD793,0x867E,0xD794,0x8680,0xD795,0x8682,0xD796,0x8684,0xD797,0x8686,0xD798,0x8688,0xD799,0x868A,0xD79A,0x868C,0xD79B,0x868E,0xD79C,0x8690,0xD79D,0x8692,0xD79E,0x8694,0xD79F,0x8696,
3213
  0xD7A0,0x8698,0xD7A1,0x869A,0xD7A2,0x869C,0xD7A3,0x869E,0xD7A4,0x86A0,0xD7A5,0x86A2,0xD7A6,0x86A4,0xD7A7,0x86A6,0xD7A8,0x86A8,0xD7A9,0x86AA,0xD7AA,0x86AD,0xD7AB,0x86AF,0xD7AC,0x86B1,0xD7AD,0x86B3,0xD7AE,0x86B5,0xD7AF,0x86B7,
3214
  0xD7B0,0x86B9,0xD7B1,0x86BB,0xD7B2,0x86BD,0xD7B3,0x86BF,0xD7B4,0x86C1,0xD7B5,0x86C3,0xD7B6,0x86C5,0xD7B7,0x86C7,0xD7B8,0x86C9,0xD7B9,0x86CB,0xD7BA,0x86CD,0xD7BB,0x86CF,0xD7BC,0x86D1,0xD7BD,0x86D3,0xD7BE,0x86D5,0xD7BF,0x86D7,
3215
  0xD7C0,0x86D9,0xD7C1,0x86DB,0xD7C2,0x86DD,0xD7C3,0x86DF,0xD7C4,0x86E2,0xD7C5,0x86E4,0xD7C6,0x86E6,0xD7C7,0x86E8,0xD7C8,0x86EA,0xD7C9,0x86EC,0xD7CA,0x86EE,0xD7CB,0x86F0,0xD7CE,0x86F2,0xD7CF,0x86F3,0xD7D0,0x86F4,0xD7D1,0x86F5,
3216
  0xD7D2,0x86F6,0xD7D3,0x86F7,0xD7D4,0x86F8,0xD7D5,0x86F9,0xD7D6,0x86FA,0xD7D7,0x86FB,0xD7D8,0x86FC,0xD7D9,0x86FD,0xD7DA,0x86FE,0xD7DB,0x86FF,0xD7DC,0x8700,0xD7DD,0x8701,0xD7DE,0x8702,0xD7DF,0x8703,0xD7E0,0x8704,0xD7E1,0x8705,
3217
  0xD7E2,0x8706,0xD7E3,0x8707,0xD7E4,0x8708,0xD7E5,0x8709,0xD7E6,0x870A,0xD7E7,0x870B,0xD7E8,0x870C,0xD7E9,0x870D,0xD7EA,0x870E,0xD7EB,0x870F,0xD7EC,0x8710,0xD7ED,0x8711,0xD7EE,0x8712,0xD7EF,0x8713,0xD7F0,0x8714,0xD7F1,0x8715,
3218
  0xD7F2,0x8716,0xD7F3,0x8717,0xD7F4,0x8718,0xD7F5,0x8719,0xD7F6,0x871A,0xD7F7,0x871B,0xD7F8,0x871C,0xD7F9,0x871D,0xD7FA,0x871E,0xD7FB,0x871F,0xD7FC,0x8720,0xD7FD,0x8721,0xD7FE,0x8722,0xD7FF,0x8723,0xE030,0x8724,0xE031,0x8726,
3219
  0xE032,0x8728,0xE033,0x872A,0xE034,0x872C,0xE035,0x872E,0xE036,0x8730,0xE037,0x8732,0xE038,0x8734,0xE039,0x8736,0xE03A,0x8738,0xE03B,0x873A,0xE03C,0x873C,0xE03D,0x873E,0xE03E,0x8740,0xE03F,0x8742,0xE040,0x8744,0xE041,0x8746,
3220
  0xE042,0x8748,0xE043,0x874A,0xE044,0x874C,0xE045,0x874E,0xE046,0x8750,0xE047,0x8752,0xE048,0x8754,0xE049,0x8756,0xE04A,0x8758,0xE04B,0x875B,0xE04C,0x875D,0xE04D,0x875F,0xE04E,0x8761,0xE04F,0x8763,0xE050,0x8765,0xE051,0x8767,
3221
  0xE052,0x8769,0xE053,0x876B,0xE054,0x876D,0xE055,0x876F,0xE056,0x8771,0xE057,0x8773,0xE058,0x8775,0xE059,0x8777,0xE05A,0x8779,0xE05B,0x877B,0xE05C,0x877D,0xE05D,0x877F,0xE05E,0x8781,0xE05F,0x8783,0xE060,0x8785,0xE061,0x8787,
3222
  0xE062,0x8789,0xE063,0x878B,0xE064,0x878D,0xE065,0x878F,0xE066,0x8791,0xE067,0x8793,0xE068,0x8795,0xE069,0x8797,0xE06A,0x8799,0xE06B,0x879B,0xE06C,0x879D,0xE06D,0x87A0,0xEE00,0x87A2,0xEE01,0x87A4,0xEE02,0x87A6,0xEE03,0x87A8,
3223
  0xEE05,0x87AA,0xEE06,0x87AC,0xEE07,0x87AE,0xEE08,0x87B0,0xEE09,0x87B2,0xEE0A,0x87B4,0xEE0B,0x87B6,0xEE0C,0x87B8,0xEE0D,0x87BA,0xEE0E,0x87BC,0xEE0F,0x87BE,0xEE10,0x87C0,0xEE11,0x87C2,0xEE12,0x87C4,0xEE13,0x87C6,0xEE14,0x87C8,
3224
  0xEE15,0x87CA,0xEE16,0x87CC,0xEE17,0x87CE,0xEE18,0x87D0,0xEE19,0x87D2,0xEE1A,0x87D4,0xEE1B,0x87D6,0xEE1C,0x87D8,0xEE1D,0x87DA,0xEE1E,0x87DC,0xEE1F,0x87DE,0xEE21,0x87E0,0xEE22,0x87E2,0xEE24,0x87E4,0xEE27,0x87E6,0xEE29,0x87E8,
3225
  0xEE2A,0x87EA,0xEE2B,0x87EC,0xEE2C,0x87EE,0xEE2D,0x87F0,0xEE2E,0x87F2,0xEE2F,0x87F4,0xEE30,0x87F6,0xEE31,0x87F8,0xEE32,0x87FA,0xEE34,0x87FC,0xEE35,0x87FE,0xEE36,0x8800,0xEE37,0x8802,0xEE39,0x8804,0xEE3B,0x8806,0xEE42,0x8808,
3226
  0xEE47,0x880A,0xEE49,0x880C,0xEE4B,0x880E,0xEE4D,0x8810,0xEE4E,0x8812,0xEE4F,0x8814,0xEE51,0x8816,0xEE52,0x8818,0xEE54,0x881A,0xEE57,0x881C,0xEE59,0x881E,0xEE5B,0x8820,0xEE5D,0x8822,0xEE5F,0x8824,0xEE61,0x8826,0xEE62,0x8828,
3227
  0xEE64,0x882A,0xEE67,0x882C,0xEE68,0x882E,0xEE69,0x8830,0xEE6A,0x8832,0xEE6C,0x8834,0xEE6D,0x8836,0xEE6E,0x8838,0xEE6F,0x883A,0xEE70,0x883C,0xEE71,0x883E,0xEE72,0x8840,0xEE74,0x8842,0xEE75,0x8844,0xEE76,0x8846,0xEE77,0x8848,
3228
  0xEE79,0x884A,0xEE7A,0x884C,0xEE7B,0x884E,0xEE7C,0x8850,0xEE7E,0x8852,0xEE80,0x8854,0xEE81,0x8856,0xEE82,0x8858,0xEE83,0x885A,0xEE84,0x885C,0xEE85,0x885E,0xEE86,0x8860,0xEE87,0x8862,0xEE88,0x8864,0xEE89,0x8866,0xEE8B,0x8868,
3229
  0xEE8C,0x886A,0xEE8D,0x886C,0xEE8E,0x886E,0xEE8F,0x8870,0xEE90,0x8872,0xEE91,0x8874,0xEE92,0x8876,0xEE93,0x8878,0xEE94,0x887A,0xEE95,0x887C,0xEE96,0x887E,0xEE97,0x8880,0xEE98,0x8882,0xEE99,0x8884,0xEE9A,0x8886,0xEE9B,0x8888,
3230
  0xEEA1,0x888A,0xEEA2,0x888C,0xEEA3,0x888E,0xEEA5,0x8890,0xEEA6,0x8892,0xEEA7,0x8894,0xEEA8,0x8896,0xEEA9,0x8898,0xEEAB,0x889A,0xEEAC,0x889C,0xEEAD,0x889E,0xEEAE,0x88A0,0xEEAF,0x88A2,0xEEB0,0x88A4,0xEEB1,0x88A6,0xEEB2,0x88A8,
3231
  0xEEB3,0x88AA,0xEEB4,0x88AC,0xEEB5,0x88AE,0xEEB6,0x88B0,0xEEB7,0x88B2,0xEEB8,0x88B4,0xEEB9,0x88B6,0xEEBA,0x88B8,0xEEBB,0x88BA,0xF100,0x88BC,0xF101,0x88BE,0xF102,0x88C0,0xF103,0x88C2,0xF104,0x88C4,0xF105,0x88C6,0xF106,0x88C8,
3232
  0xF107,0x88CA,0xF108,0x88CC,0xF109,0x88CE,0xF10A,0x88D0,0xF110,0x88D2,0xF111,0x88D5,0xF112,0x88D8,0xF113,0x88DB,0xF114,0x88DE,0xF115,0x88E1,0xF116,0x88E4,0xF117,0x88E7,0xF118,0x88EA,0xF119,0x88ED,0xF11A,0x88F0,0xF11B,0x88F3,
3233
  0xF11C,0x88F6,0xF11D,0x88F9,0xF11E,0x88FC,0xF11F,0x88FF,0xF120,0x8902,0xF121,0x8905,0xF122,0x8908,0xF123,0x890B,0xF124,0x890E,0xF125,0x8911,0xF126,0x8914,0xF127,0x8917,0xF128,0x891A,0xF129,0x891D,0xF12A,0x8920,0xF12B,0x8927,
3234
  0xF12C,0x8928,0xF12D,0x8929,0xF12E,0x892B,0xF130,0x892D,0xF131,0x892E,0xF132,0x892F,0xF133,0x8930,0xF134,0x8931,0xF135,0x8932,0xF136,0x8933,0xF137,0x8934,0xF138,0x8935,0xF139,0x8936,0xF13A,0x8937,0xF13B,0x8938,0xF13C,0x8939,
3235
  0xF13D,0x893A,0xF13E,0x893B,0xF13F,0x893C,0xF140,0x893D,0xF141,0x893E,0xF142,0x893F,0xF143,0x8940,0xF144,0x8941,0xF145,0x8942,0xF146,0x8943,0xF147,0x8944,0xF148,0x8945,0xF149,0x8946,0xF14A,0x8947,0xF14B,0x8949,0xF14C,0x894B,
3236
  0xF14D,0x894D,0xF14E,0x894F,0xF14F,0x8952,0xF16A,0x8954,0xF16B,0x8956,0xF16C,0x8958,0xF190,0x895A,0xF200,0x895C,0xF201,0x8962,0xF202,0x8968,0xF210,0x896B,0xF211,0x896E,0xF212,0x8971,0xF213,0x8974,0xF214,0x8977,0xF215,0x897A,
3237
  0xF216,0x897D,0xF217,0x8980,0xF218,0x8983,0xF219,0x8986,0xF21A,0x8989,0xF21B,0x898C,0xF21C,0x898F,0xF21D,0x8992,0xF21E,0x8995,0xF21F,0x8998,0xF220,0x899B,0xF221,0x899E,0xF222,0x89A1,0xF223,0x89A4,0xF224,0x89A7,0xF225,0x89AA,
3238
  0xF226,0x89AD,0xF227,0x89B0,0xF228,0x89B3,0xF229,0x89B6,0xF22A,0x89B9,0xF22B,0x89BC,0xF22C,0x89BF,0xF22D,0x89C2,0xF22E,0x89C5,0xF22F,0x89C8,0xF230,0x89CB,0xF231,0x89CE,0xF232,0x89D1,0xF233,0x89D4,0xF234,0x89D7,0xF235,0x89DA,
3239
  0xF236,0x89DD,0xF237,0x89E0,0xF238,0x89E3,0xF239,0x89E6,0xF23A,0x89E9,0xF23B,0x89EC,0xF240,0x89EF,0xF241,0x89F8,0xF242,0x8A01,0xF243,0x8A0A,0xF244,0x8A13,0xF245,0x8A1C,0xF246,0x8A25,0xF247,0x8A2E,0xF248,0x8A37,0xF250,0x8A40,
3240
  0xF251,0x8A43,0xFBF0,0x8A46,0xFBF1,0x8A47,0xFBF2,0x8A48,0xFBF3,0x8A49,0xFBF4,0x8A4A,0xFBF5,0x8A4B,0xFBF6,0x8A4C,0xFBF7,0x8A4D,0xFBF8,0x8A4E,0xFBF9,0x8A4F,0xFFFF,0x0A50,
3241
};
3242
#define mxDecompositionSize2 1731
3243
const txU1 gxDecompositionData2[mxDecompositionSize2] ICACHE_XS6RO_ATTR = {
3244
  0xe4,0xb8,0xbd,0xe4,0xb8,0xb8,0xe4,0xb9,0x81,0xf0,0xa0,0x84,0xa2,0xe4,0xbd,0xa0,0xe4,0xbe,0xae,0xe4,0xbe,0xbb,0xe5,0x80,0x82,0xe5,0x81,0xba,0xe5,0x82,0x99,0xe5,
3245
  0x83,0xa7,0xe5,0x83,0x8f,0xe3,0x92,0x9e,0xf0,0xa0,0x98,0xba,0xe5,0x85,0x8d,0xe5,0x85,0x94,0xe5,0x85,0xa4,0xe5,0x85,0xb7,0xf0,0xa0,0x94,0x9c,0xe3,0x92,0xb9,0xe5,
3246
  0x85,0xa7,0xe5,0x86,0x8d,0xf0,0xa0,0x95,0x8b,0xe5,0x86,0x97,0xe5,0x86,0xa4,0xe4,0xbb,0x8c,0xe5,0x86,0xac,0xe5,0x86,0xb5,0xf0,0xa9,0x87,0x9f,0xe5,0x87,0xb5,0xe5,
3247
  0x88,0x83,0xe3,0x93,0x9f,0xe5,0x88,0xbb,0xe5,0x89,0x86,0xe5,0x89,0xb2,0xe5,0x89,0xb7,0xe3,0x94,0x95,0xe5,0x8b,0x87,0xe5,0x8b,0x89,0xe5,0x8b,0xa4,0xe5,0x8b,0xba,
3248
  0xe5,0x8c,0x85,0xe5,0x8c,0x86,0xe5,0x8c,0x97,0xe5,0x8d,0x89,0xe5,0x8d,0x91,0xe5,0x8d,0x9a,0xe5,0x8d,0xb3,0xe5,0x8d,0xbd,0xe5,0x8d,0xbf,0xe5,0x8d,0xbf,0xe5,0x8d,
3249
  0xbf,0xf0,0xa0,0xa8,0xac,0xe7,0x81,0xb0,0xe5,0x8f,0x8a,0xe5,0x8f,0x9f,0xf0,0xa0,0xad,0xa3,0xe5,0x8f,0xab,0xe5,0x8f,0xb1,0xe5,0x90,0x86,0xe5,0x92,0x9e,0xe5,0x90,
3250
  0xb8,0xe5,0x91,0x88,0xe5,0x91,0xa8,0xe5,0x92,0xa2,0xe5,0x93,0xb6,0xe5,0x94,0x90,0xe5,0x95,0x93,0xe5,0x95,0xa3,0xe5,0x96,0x84,0xe5,0x96,0x84,0xe5,0x96,0x99,0xe5,
3251
  0x96,0xab,0xe5,0x96,0xb3,0xe5,0x97,0x82,0xe5,0x9c,0x96,0xe5,0x98,0x86,0xe5,0x9c,0x97,0xe5,0x99,0x91,0xe5,0x99,0xb4,0xe5,0x88,0x87,0xe5,0xa3,0xae,0xe5,0x9f,0x8e,
3252
  0xe5,0x9f,0xb4,0xe5,0xa0,0x8d,0xe5,0x9e,0x8b,0xe5,0xa0,0xb2,0xe5,0xa0,0xb1,0xe5,0xa2,0xac,0xf0,0xa1,0x93,0xa4,0xe5,0xa3,0xb2,0xe5,0xa3,0xb7,0xe5,0xa4,0x86,0xe5,
3253
  0xa4,0x9a,0xe5,0xa4,0xa2,0xe5,0xa5,0xa2,0xf0,0xa1,0x9a,0xa8,0xf0,0xa1,0x9b,0xaa,0xe5,0xa7,0xac,0xe5,0xa8,0x9b,0xe5,0xa8,0xa7,0xe5,0xa7,0x98,0xe5,0xa9,0xa6,0xe3,
3254
  0x9b,0xae,0xe3,0x9b,0xbc,0xe5,0xac,0x88,0xe5,0xac,0xbe,0xe5,0xac,0xbe,0xf0,0xa1,0xa7,0x88,0xe5,0xaf,0x83,0xe5,0xaf,0x98,0xe5,0xaf,0xa7,0xe5,0xaf,0xb3,0xf0,0xa1,
3255
  0xac,0x98,0xe5,0xaf,0xbf,0xe5,0xb0,0x86,0xe5,0xbd,0x93,0xe5,0xb0,0xa2,0xe3,0x9e,0x81,0xe5,0xb1,0xa0,0xe5,0xb1,0xae,0xe5,0xb3,0x80,0xe5,0xb2,0x8d,0xf0,0xa1,0xb7,
3256
  0xa4,0xe5,0xb5,0x83,0xf0,0xa1,0xb7,0xa6,0xe5,0xb5,0xae,0xe5,0xb5,0xab,0xe5,0xb5,0xbc,0xe5,0xb7,0xa1,0xe5,0xb7,0xa2,0xe3,0xa0,0xaf,0xe5,0xb7,0xbd,0xe5,0xb8,0xa8,
3257
  0xe5,0xb8,0xbd,0xe5,0xb9,0xa9,0xe3,0xa1,0xa2,0xf0,0xa2,0x86,0x83,0xe3,0xa1,0xbc,0xe5,0xba,0xb0,0xe5,0xba,0xb3,0xe5,0xba,0xb6,0xe5,0xbb,0x8a,0xf0,0xaa,0x8e,0x92,
3258
  0xe5,0xbb,0xbe,0xf0,0xa2,0x8c,0xb1,0xf0,0xa2,0x8c,0xb1,0xe8,0x88,0x81,0xe5,0xbc,0xa2,0xe5,0xbc,0xa2,0xe3,0xa3,0x87,0xf0,0xa3,0x8a,0xb8,0xf0,0xa6,0x87,0x9a,0xe5,
3259
  0xbd,0xa2,0xe5,0xbd,0xab,0xe3,0xa3,0xa3,0xe5,0xbe,0x9a,0xe5,0xbf,0x8d,0xe5,0xbf,0x97,0xe5,0xbf,0xb9,0xe6,0x82,0x81,0xe3,0xa4,0xba,0xe3,0xa4,0x9c,0xe6,0x82,0x94,
3260
  0xf0,0xa2,0x9b,0x94,0xe6,0x83,0x87,0xe6,0x85,0x88,0xe6,0x85,0x8c,0xe6,0x85,0x8e,0xe6,0x85,0x8c,0xe6,0x85,0xba,0xe6,0x86,0x8e,0xe6,0x86,0xb2,0xe6,0x86,0xa4,0xe6,
3261
  0x86,0xaf,0xe6,0x87,0x9e,0xe6,0x87,0xb2,0xe6,0x87,0xb6,0xe6,0x88,0x90,0xe6,0x88,0x9b,0xe6,0x89,0x9d,0xe6,0x8a,0xb1,0xe6,0x8b,0x94,0xe6,0x8d,0x90,0xf0,0xa2,0xac,
3262
  0x8c,0xe6,0x8c,0xbd,0xe6,0x8b,0xbc,0xe6,0x8d,0xa8,0xe6,0x8e,0x83,0xe6,0x8f,0xa4,0xf0,0xa2,0xaf,0xb1,0xe6,0x90,0xa2,0xe6,0x8f,0x85,0xe6,0x8e,0xa9,0xe3,0xa8,0xae,
3263
  0xe6,0x91,0xa9,0xe6,0x91,0xbe,0xe6,0x92,0x9d,0xe6,0x91,0xb7,0xe3,0xa9,0xac,0xe6,0x95,0x8f,0xe6,0x95,0xac,0xf0,0xa3,0x80,0x8a,0xe6,0x97,0xa3,0xe6,0x9b,0xb8,0xe6,
3264
  0x99,0x89,0xe3,0xac,0x99,0xe6,0x9a,0x91,0xe3,0xac,0x88,0xe3,0xab,0xa4,0xe5,0x86,0x92,0xe5,0x86,0x95,0xe6,0x9c,0x80,0xe6,0x9a,0x9c,0xe8,0x82,0xad,0xe4,0x8f,0x99,
3265
  0xe6,0x9c,0x97,0xe6,0x9c,0x9b,0xe6,0x9c,0xa1,0xe6,0x9d,0x9e,0xe6,0x9d,0x93,0xf0,0xa3,0x8f,0x83,0xe3,0xad,0x89,0xe6,0x9f,0xba,0xe6,0x9e,0x85,0xe6,0xa1,0x92,0xe6,
3266
  0xa2,0x85,0xf0,0xa3,0x91,0xad,0xe6,0xa2,0x8e,0xe6,0xa0,0x9f,0xe6,0xa4,0x94,0xe3,0xae,0x9d,0xe6,0xa5,0x82,0xe6,0xa6,0xa3,0xe6,0xa7,0xaa,0xe6,0xaa,0xa8,0xf0,0xa3,
3267
  0x9a,0xa3,0xe6,0xab,0x9b,0xe3,0xb0,0x98,0xe6,0xac,0xa1,0xf0,0xa3,0xa2,0xa7,0xe6,0xad,0x94,0xe3,0xb1,0x8e,0xe6,0xad,0xb2,0xe6,0xae,0x9f,0xe6,0xae,0xba,0xe6,0xae,
3268
  0xbb,0xf0,0xa3,0xaa,0x8d,0xf0,0xa1,0xb4,0x8b,0xf0,0xa3,0xab,0xba,0xe6,0xb1,0x8e,0xf0,0xa3,0xb2,0xbc,0xe6,0xb2,0xbf,0xe6,0xb3,0x8d,0xe6,0xb1,0xa7,0xe6,0xb4,0x96,
3269
  0xe6,0xb4,0xbe,0xe6,0xb5,0xb7,0xe6,0xb5,0x81,0xe6,0xb5,0xa9,0xe6,0xb5,0xb8,0xe6,0xb6,0x85,0xf0,0xa3,0xb4,0x9e,0xe6,0xb4,0xb4,0xe6,0xb8,0xaf,0xe6,0xb9,0xae,0xe3,
3270
  0xb4,0xb3,0xe6,0xbb,0x8b,0xe6,0xbb,0x87,0xf0,0xa3,0xbb,0x91,0xe6,0xb7,0xb9,0xe6,0xbd,0xae,0xf0,0xa3,0xbd,0x9e,0xf0,0xa3,0xbe,0x8e,0xe6,0xbf,0x86,0xe7,0x80,0xb9,
3271
  0xe7,0x80,0x9e,0xe7,0x80,0x9b,0xe3,0xb6,0x96,0xe7,0x81,0x8a,0xe7,0x81,0xbd,0xe7,0x81,0xb7,0xe7,0x82,0xad,0xf0,0xa0,0x94,0xa5,0xe7,0x85,0x85,0xf0,0xa4,0x89,0xa3,
3272
  0xe7,0x86,0x9c,0xf0,0xa4,0x8e,0xab,0xe7,0x88,0xa8,0xe7,0x88,0xb5,0xe7,0x89,0x90,0xf0,0xa4,0x98,0x88,0xe7,0x8a,0x80,0xe7,0x8a,0x95,0xf0,0xa4,0x9c,0xb5,0xf0,0xa4,
3273
  0xa0,0x94,0xe7,0x8d,0xba,0xe7,0x8e,0x8b,0xe3,0xba,0xac,0xe7,0x8e,0xa5,0xe3,0xba,0xb8,0xe3,0xba,0xb8,0xe7,0x91,0x87,0xe7,0x91,0x9c,0xe7,0x91,0xb1,0xe7,0x92,0x85,
3274
  0xe7,0x93,0x8a,0xe3,0xbc,0x9b,0xe7,0x94,0xa4,0xf0,0xa4,0xb0,0xb6,0xe7,0x94,0xbe,0xf0,0xa4,0xb2,0x92,0xe7,0x95,0xb0,0xf0,0xa2,0x86,0x9f,0xe7,0x98,0x90,0xf0,0xa4,
3275
  0xbe,0xa1,0xf0,0xa4,0xbe,0xb8,0xf0,0xa5,0x81,0x84,0xe3,0xbf,0xbc,0xe4,0x80,0x88,0xe7,0x9b,0xb4,0xf0,0xa5,0x83,0xb3,0xf0,0xa5,0x83,0xb2,0xf0,0xa5,0x84,0x99,0xf0,
3276
  0xa5,0x84,0xb3,0xe7,0x9c,0x9e,0xe7,0x9c,0x9f,0xe7,0x9c,0x9f,0xe7,0x9d,0x8a,0xe4,0x80,0xb9,0xe7,0x9e,0x8b,0xe4,0x81,0x86,0xe4,0x82,0x96,0xf0,0xa5,0x90,0x9d,0xe7,
3277
  0xa1,0x8e,0xe7,0xa2,0x8c,0xe7,0xa3,0x8c,0xe4,0x83,0xa3,0xf0,0xa5,0x98,0xa6,0xe7,0xa5,0x96,0xf0,0xa5,0x9a,0x9a,0xf0,0xa5,0x9b,0x85,0xe7,0xa6,0x8f,0xe7,0xa7,0xab,
3278
  0xe4,0x84,0xaf,0xe7,0xa9,0x80,0xe7,0xa9,0x8a,0xe7,0xa9,0x8f,0xf0,0xa5,0xa5,0xbc,0xf0,0xa5,0xaa,0xa7,0xf0,0xa5,0xaa,0xa7,0xe7,0xab,0xae,0xe4,0x88,0x82,0xf0,0xa5,
3279
  0xae,0xab,0xe7,0xaf,0x86,0xe7,0xaf,0x89,0xe4,0x88,0xa7,0xf0,0xa5,0xb2,0x80,0xe7,0xb3,0x92,0xe4,0x8a,0xa0,0xe7,0xb3,0xa8,0xe7,0xb3,0xa3,0xe7,0xb4,0x80,0xf0,0xa5,
3280
  0xbe,0x86,0xe7,0xb5,0xa3,0xe4,0x8c,0x81,0xe7,0xb7,0x87,0xe7,0xb8,0x82,0xe7,0xb9,0x85,0xe4,0x8c,0xb4,0xf0,0xa6,0x88,0xa8,0xf0,0xa6,0x89,0x87,0xe4,0x8d,0x99,0xf0,
3281
  0xa6,0x8b,0x99,0xe7,0xbd,0xba,0xf0,0xa6,0x8c,0xbe,0xe7,0xbe,0x95,0xe7,0xbf,0xba,0xe8,0x80,0x85,0xf0,0xa6,0x93,0x9a,0xf0,0xa6,0x94,0xa3,0xe8,0x81,0xa0,0xf0,0xa6,
3282
  0x96,0xa8,0xe8,0x81,0xb0,0xf0,0xa3,0x8d,0x9f,0xe4,0x8f,0x95,0xe8,0x82,0xb2,0xe8,0x84,0x83,0xe4,0x90,0x8b,0xe8,0x84,0xbe,0xe5,0xaa,0xb5,0xf0,0xa6,0x9e,0xa7,0xf0,
3283
  0xa6,0x9e,0xb5,0xf0,0xa3,0x8e,0x93,0xf0,0xa3,0x8e,0x9c,0xe8,0x88,0x81,0xe8,0x88,0x84,0xe8,0xbe,0x9e,0xe4,0x91,0xab,0xe8,0x8a,0x91,0xe8,0x8a,0x8b,0xe8,0x8a,0x9d,
3284
  0xe5,0x8a,0xb3,0xe8,0x8a,0xb1,0xe8,0x8a,0xb3,0xe8,0x8a,0xbd,0xe8,0x8b,0xa6,0xf0,0xa6,0xac,0xbc,0xe8,0x8b,0xa5,0xe8,0x8c,0x9d,0xe8,0x8d,0xa3,0xe8,0x8e,0xad,0xe8,
3285
  0x8c,0xa3,0xe8,0x8e,0xbd,0xe8,0x8f,0xa7,0xe8,0x91,0x97,0xe8,0x8d,0x93,0xe8,0x8f,0x8a,0xe8,0x8f,0x8c,0xe8,0x8f,0x9c,0xf0,0xa6,0xb0,0xb6,0xf0,0xa6,0xb5,0xab,0xf0,
3286
  0xa6,0xb3,0x95,0xe4,0x94,0xab,0xe8,0x93,0xb1,0xe8,0x93,0xb3,0xe8,0x94,0x96,0xf0,0xa7,0x8f,0x8a,0xe8,0x95,0xa4,0xf0,0xa6,0xbc,0xac,0xe4,0x95,0x9d,0xe4,0x95,0xa1,
3287
  0xf0,0xa6,0xbe,0xb1,0xf0,0xa7,0x83,0x92,0xe4,0x95,0xab,0xe8,0x99,0x90,0xe8,0x99,0x9c,0xe8,0x99,0xa7,0xe8,0x99,0xa9,0xe8,0x9a,0xa9,0xe8,0x9a,0x88,0xe8,0x9c,0x8e,
3288
  0xe8,0x9b,0xa2,0xe8,0x9d,0xb9,0xe8,0x9c,0xa8,0xe8,0x9d,0xab,0xe8,0x9e,0x86,0xe4,0x97,0x97,0xe8,0x9f,0xa1,0xe8,0xa0,0x81,0xe4,0x97,0xb9,0xe8,0xa1,0xa0,0xe8,0xa1,
3289
  0xa3,0xf0,0xa7,0x99,0xa7,0xe8,0xa3,0x97,0xe8,0xa3,0x9e,0xe4,0x98,0xb5,0xe8,0xa3,0xba,0xe3,0x92,0xbb,0xf0,0xa7,0xa2,0xae,0xf0,0xa7,0xa5,0xa6,0xe4,0x9a,0xbe,0xe4,
3290
  0x9b,0x87,0xe8,0xaa,0xa0,0xe8,0xab,0xad,0xe8,0xae,0x8a,0xe8,0xb1,0x95,0xf0,0xa7,0xb2,0xa8,0xe8,0xb2,0xab,0xe8,0xb3,0x81,0xe8,0xb4,0x9b,0xe8,0xb5,0xb7,0xf0,0xa7,
3291
  0xbc,0xaf,0xf0,0xa0,0xa0,0x84,0xe8,0xb7,0x8b,0xe8,0xb6,0xbc,0xe8,0xb7,0xb0,0xf0,0xa0,0xa3,0x9e,0xe8,0xbb,0x94,0xe8,0xbc,0xb8,0xf0,0xa8,0x97,0x92,0xf0,0xa8,0x97,
3292
  0xad,0xe9,0x82,0x94,0xe9,0x83,0xb1,0xe9,0x84,0x91,0xf0,0xa8,0x9c,0xae,0xe9,0x84,0x9b,0xe9,0x88,0xb8,0xe9,0x8b,0x97,0xe9,0x8b,0x98,0xe9,0x89,0xbc,0xe9,0x8f,0xb9,
3293
  0xe9,0x90,0x95,0xf0,0xa8,0xaf,0xba,0xe9,0x96,0x8b,0xe4,0xa6,0x95,0xe9,0x96,0xb7,0xf0,0xa8,0xb5,0xb7,0xe4,0xa7,0xa6,0xe9,0x9b,0x83,0xe5,0xb6,0xb2,0xe9,0x9c,0xa3,
3294
  0xf0,0xa9,0x85,0x85,0xf0,0xa9,0x88,0x9a,0xe4,0xa9,0xae,0xe4,0xa9,0xb6,0xe9,0x9f,0xa0,0xf0,0xa9,0x90,0x8a,0xe4,0xaa,0xb2,0xf0,0xa9,0x92,0x96,0xe9,0xa0,0x8b,0xe9,
3295
  0xa0,0x8b,0xe9,0xa0,0xa9,0xf0,0xa9,0x96,0xb6,0xe9,0xa3,0xa2,0xe4,0xac,0xb3,0xe9,0xa4,0xa9,0xe9,0xa6,0xa7,0xe9,0xa7,0x82,0xe9,0xa7,0xbe,0xe4,0xaf,0x8e,0xf0,0xa9,
3296
  0xac,0xb0,0xe9,0xac,0x92,0xe9,0xb1,0x80,0xe9,0xb3,0xbd,0xe4,0xb3,0x8e,0xe4,0xb3,0xad,0xe9,0xb5,0xa7,0xf0,0xaa,0x83,0x8e,0xe4,0xb3,0xb8,0xf0,0xaa,0x84,0x85,0xf0,
3297
  0xaa,0x88,0x8e,0xf0,0xaa,0x8a,0x91,0xe9,0xba,0xbb,0xe4,0xb5,0x96,0xe9,0xbb,0xb9,0xe9,0xbb,0xbe,0xe9,0xbc,0x85,0xe9,0xbc,0x8f,0xe9,0xbc,0x96,0xe9,0xbc,0xbb,0xf0,
3298
  0xaa,0x98,0x80,
3299
};
3300
89.6k
#define mxDecompositionCount2 1086
3301
static const txU2 gxDecompositionIndex2[mxDecompositionCount2] ICACHE_XS6RO_ATTR = {
3302
  0xF800,0x0000,0xF801,0x0003,0xF802,0x0006,0xF803,0x0009,0xF804,0x000D,0xF805,0x0010,0xF806,0x0013,0xF807,0x0016,0xF808,0x0019,0xF809,0x001C,0xF80A,0x001F,0xF80B,0x0022,0xF80C,0x0025,0xF80D,0x0028,0xF80E,0x002C,0xF80F,0x002F,
3303
  0xF810,0x0032,0xF811,0x0035,0xF812,0x0038,0xF813,0x003C,0xF814,0x003F,0xF815,0x0042,0xF816,0x0045,0xF817,0x0049,0xF818,0x004C,0xF819,0x004F,0xF81A,0x0052,0xF81B,0x0055,0xF81C,0x0058,0xF81D,0x005C,0xF81E,0x005F,0xF81F,0x0062,
3304
  0xF820,0x0065,0xF821,0x0068,0xF822,0x006B,0xF823,0x006E,0xF824,0x0071,0xF825,0x0074,0xF826,0x0077,0xF827,0x007A,0xF828,0x007D,0xF829,0x0080,0xF82A,0x0083,0xF82B,0x0086,0xF82C,0x0089,0xF82D,0x008C,0xF82E,0x008F,0xF82F,0x0092,
3305
  0xF830,0x0095,0xF831,0x0098,0xF832,0x009B,0xF833,0x009E,0xF834,0x00A1,0xF835,0x00A5,0xF836,0x00A8,0xF837,0x00AB,0xF838,0x00AE,0xF839,0x00B2,0xF83A,0x00B5,0xF83B,0x00B8,0xF83C,0x00BB,0xF83D,0x00BE,0xF83E,0x00C1,0xF83F,0x00C4,
3306
  0xF840,0x00C7,0xF841,0x00CA,0xF842,0x00CD,0xF843,0x00D0,0xF844,0x00D3,0xF845,0x00D6,0xF846,0x00D9,0xF847,0x00DC,0xF848,0x00DF,0xF849,0x00E2,0xF84A,0x00E5,0xF84B,0x00E8,0xF84C,0x00EB,0xF84D,0x00EE,0xF84E,0x00F1,0xF84F,0x00F4,
3307
  0xF850,0x00F7,0xF851,0x00FA,0xF852,0x00FD,0xF853,0x0100,0xF854,0x0103,0xF855,0x0106,0xF856,0x0109,0xF857,0x010C,0xF858,0x010F,0xF859,0x0112,0xF85A,0x0116,0xF85B,0x0119,0xF85C,0x011C,0xF85D,0x011F,0xF85E,0x0122,0xF85F,0x0125,
3308
  0xF860,0x0128,0xF861,0x012C,0xF862,0x0130,0xF863,0x0133,0xF864,0x0136,0xF865,0x0139,0xF866,0x013C,0xF867,0x013F,0xF868,0x0142,0xF869,0x0145,0xF86A,0x0148,0xF86B,0x014B,0xF86C,0x014E,0xF86D,0x0152,0xF86E,0x0155,0xF86F,0x0158,
3309
  0xF870,0x015B,0xF871,0x015E,0xF872,0x0162,0xF873,0x0165,0xF874,0x0168,0xF875,0x016B,0xF876,0x016E,0xF877,0x0171,0xF878,0x0174,0xF879,0x0177,0xF87A,0x017A,0xF87B,0x017D,0xF87C,0x0181,0xF87D,0x0184,0xF87E,0x0188,0xF87F,0x018B,
3310
  0xF880,0x018E,0xF881,0x0191,0xF882,0x0194,0xF883,0x0197,0xF884,0x019A,0xF885,0x019D,0xF886,0x01A0,0xF887,0x01A3,0xF888,0x01A6,0xF889,0x01A9,0xF88A,0x01AD,0xF88B,0x01B0,0xF88C,0x01B3,0xF88D,0x01B6,0xF88E,0x01B9,0xF88F,0x01BC,
3311
  0xF890,0x01C0,0xF891,0x01C3,0xF892,0x01C7,0xF893,0x01CB,0xF894,0x01CE,0xF895,0x01D1,0xF896,0x01D4,0xF897,0x01D7,0xF898,0x01DB,0xF899,0x01DF,0xF89A,0x01E2,0xF89B,0x01E5,0xF89C,0x01E8,0xF89D,0x01EB,0xF89E,0x01EE,0xF89F,0x01F1,
3312
  0xF8A0,0x01F4,0xF8A1,0x01F7,0xF8A2,0x01FA,0xF8A3,0x01FD,0xF8A4,0x0200,0xF8A5,0x0204,0xF8A6,0x0207,0xF8A7,0x020A,0xF8A8,0x020D,0xF8A9,0x0210,0xF8AA,0x0213,0xF8AB,0x0216,0xF8AC,0x0219,0xF8AD,0x021C,0xF8AE,0x021F,0xF8AF,0x0222,
3313
  0xF8B0,0x0225,0xF8B1,0x0228,0xF8B2,0x022B,0xF8B3,0x022E,0xF8B4,0x0231,0xF8B5,0x0234,0xF8B6,0x0237,0xF8B7,0x023A,0xF8B8,0x023D,0xF8B9,0x0241,0xF8BA,0x0244,0xF8BB,0x0247,0xF8BC,0x024A,0xF8BD,0x024D,0xF8BE,0x0250,0xF8BF,0x0254,
3314
  0xF8C0,0x0257,0xF8C1,0x025A,0xF8C2,0x025D,0xF8C3,0x0260,0xF8C4,0x0263,0xF8C5,0x0266,0xF8C6,0x0269,0xF8C7,0x026C,0xF8C8,0x026F,0xF8C9,0x0272,0xF8CA,0x0275,0xF8CB,0x0279,0xF8CC,0x027C,0xF8CD,0x027F,0xF8CE,0x0282,0xF8CF,0x0285,
3315
  0xF8D0,0x0288,0xF8D1,0x028B,0xF8D2,0x028E,0xF8D3,0x0291,0xF8D4,0x0294,0xF8D5,0x0297,0xF8D6,0x029A,0xF8D7,0x029D,0xF8D8,0x02A0,0xF8D9,0x02A3,0xF8DA,0x02A6,0xF8DB,0x02A9,0xF8DC,0x02AC,0xF8DD,0x02AF,0xF8DE,0x02B3,0xF8DF,0x02B6,
3316
  0xF8E0,0x02B9,0xF8E1,0x02BC,0xF8E2,0x02BF,0xF8E3,0x02C2,0xF8E4,0x02C6,0xF8E5,0x02C9,0xF8E6,0x02CC,0xF8E7,0x02CF,0xF8E8,0x02D2,0xF8E9,0x02D5,0xF8EA,0x02D8,0xF8EB,0x02DB,0xF8EC,0x02DE,0xF8ED,0x02E2,0xF8EE,0x02E5,0xF8EF,0x02E8,
3317
  0xF8F0,0x02EB,0xF8F1,0x02EF,0xF8F2,0x02F2,0xF8F3,0x02F5,0xF8F4,0x02F8,0xF8F5,0x02FB,0xF8F6,0x02FE,0xF8F7,0x0301,0xF8F8,0x0305,0xF8F9,0x0309,0xF8FA,0x030D,0xF8FB,0x0310,0xF8FC,0x0314,0xF8FD,0x0317,0xF8FE,0x031A,0xF8FF,0x031D,
3318
  0xF900,0x0320,0xF901,0x0323,0xF902,0x0326,0xF903,0x0329,0xF904,0x032C,0xF905,0x032F,0xF906,0x0332,0xF907,0x0336,0xF908,0x0339,0xF909,0x033C,0xF90A,0x033F,0xF90B,0x0342,0xF90C,0x0345,0xF90D,0x0348,0xF90E,0x034C,0xF90F,0x034F,
3319
  0xF910,0x0352,0xF911,0x0356,0xF912,0x035A,0xF913,0x035D,0xF914,0x0360,0xF915,0x0363,0xF916,0x0366,0xF917,0x0369,0xF918,0x036C,0xF919,0x036F,0xF91A,0x0372,0xF91B,0x0375,0xF91C,0x0379,0xF91D,0x037C,0xF91E,0x0380,0xF91F,0x0383,
3320
  0xF920,0x0387,0xF921,0x038A,0xF922,0x038D,0xF923,0x0390,0xF924,0x0394,0xF925,0x0397,0xF926,0x039A,0xF927,0x039E,0xF928,0x03A2,0xF929,0x03A5,0xF92A,0x03A8,0xF92B,0x03AB,0xF92C,0x03AE,0xF92D,0x03B1,0xF92E,0x03B4,0xF92F,0x03B7,
3321
  0xF930,0x03BA,0xF931,0x03BD,0xF932,0x03C0,0xF933,0x03C3,0xF934,0x03C6,0xF935,0x03C9,0xF936,0x03CD,0xF937,0x03D0,0xF938,0x03D4,0xF939,0x03D7,0xF93A,0x03DB,0xF93B,0x03DE,0xF93C,0x03E2,0xF93D,0x03E6,0xF93E,0x03EA,0xF93F,0x03ED,
3322
  0xF940,0x03F0,0xF941,0x03F3,0xF942,0x03F7,0xF943,0x03FB,0xF944,0x03FF,0xF945,0x0403,0xF946,0x0406,0xF947,0x0409,0xF948,0x040C,0xF949,0x040F,0xF94A,0x0412,0xF94B,0x0415,0xF94C,0x0418,0xF94D,0x041B,0xF94E,0x041F,0xF94F,0x0422,
3323
  0xF950,0x0425,0xF951,0x0428,0xF952,0x042B,0xF953,0x042F,0xF954,0x0432,0xF955,0x0436,0xF956,0x043A,0xF957,0x043D,0xF958,0x0440,0xF959,0x0443,0xF95A,0x0446,0xF95B,0x0449,0xF95C,0x044C,0xF95D,0x0450,0xF95E,0x0454,0xF95F,0x0458,
3324
  0xF960,0x045B,0xF961,0x045E,0xF962,0x0462,0xF963,0x0465,0xF964,0x0468,0xF965,0x046B,0xF966,0x046F,0xF967,0x0472,0xF968,0x0475,0xF969,0x0478,0xF96A,0x047B,0xF96B,0x047E,0xF96C,0x0482,0xF96D,0x0485,0xF96E,0x0488,0xF96F,0x048B,
3325
  0xF970,0x048E,0xF971,0x0491,0xF972,0x0494,0xF973,0x0498,0xF974,0x049C,0xF975,0x049F,0xF976,0x04A3,0xF977,0x04A6,0xF978,0x04AA,0xF979,0x04AD,0xF97A,0x04B0,0xF97B,0x04B3,0xF97C,0x04B7,0xF97D,0x04BB,0xF97E,0x04BE,0xF97F,0x04C2,
3326
  0xF980,0x04C5,0xF981,0x04C9,0xF982,0x04CC,0xF983,0x04CF,0xF984,0x04D2,0xF985,0x04D5,0xF986,0x04D8,0xF987,0x04DB,0xF988,0x04DF,0xF989,0x04E3,0xF98A,0x04E7,0xF98B,0x04EB,0xF98C,0x04EE,0xF98D,0x04F1,0xF98E,0x04F4,0xF98F,0x04F7,
3327
  0xF990,0x04FA,0xF991,0x04FD,0xF992,0x0500,0xF993,0x0503,0xF994,0x0506,0xF995,0x0509,0xF996,0x050C,0xF997,0x050F,0xF998,0x0513,0xF999,0x0516,0xF99A,0x0519,0xF99B,0x051C,0xF99C,0x051F,0xF99D,0x0522,0xF99E,0x0525,0xF99F,0x0528,
3328
  0xF9A0,0x052B,0xF9A1,0x052E,0xF9A2,0x0531,0xF9A3,0x0534,0xF9A4,0x0537,0xF9A5,0x053B,0xF9A6,0x053F,0xF9A7,0x0543,0xF9A8,0x0546,0xF9A9,0x0549,0xF9AA,0x054C,0xF9AB,0x054F,0xF9AC,0x0553,0xF9AD,0x0556,0xF9AE,0x055A,0xF9AF,0x055D,
3329
  0xF9B0,0x0560,0xF9B1,0x0564,0xF9B2,0x0568,0xF9B3,0x056B,0xF9B4,0x056E,0xF9B5,0x0571,0xF9B6,0x0574,0xF9B7,0x0577,0xF9B8,0x057A,0xF9B9,0x057D,0xF9BA,0x0580,0xF9BB,0x0583,0xF9BC,0x0586,0xF9BD,0x0589,0xF9BE,0x058C,0xF9BF,0x058F,
3330
  0xF9C0,0x0592,0xF9C1,0x0595,0xF9C2,0x0598,0xF9C3,0x059B,0xF9C4,0x059E,0xF9C5,0x05A1,0xF9C6,0x05A5,0xF9C7,0x05A8,0xF9C8,0x05AB,0xF9C9,0x05AE,0xF9CA,0x05B1,0xF9CB,0x05B4,0xF9CC,0x05B8,0xF9CD,0x05BC,0xF9CE,0x05BF,0xF9CF,0x05C2,
3331
  0xF9D0,0x05C5,0xF9D1,0x05C8,0xF9D2,0x05CB,0xF9D3,0x05CE,0xF9D4,0x05D2,0xF9D5,0x05D5,0xF9D6,0x05D8,0xF9D7,0x05DB,0xF9D8,0x05DE,0xF9D9,0x05E2,0xF9DA,0x05E6,0xF9DB,0x05E9,0xF9DC,0x05EC,0xF9DD,0x05EF,0xF9DE,0x05F3,0xF9DF,0x05F6,
3332
  0xF9E0,0x05F9,0xF9E1,0x05FD,0xF9E2,0x0601,0xF9E3,0x0604,0xF9E4,0x0607,0xF9E5,0x060A,0xF9E6,0x060E,0xF9E7,0x0611,0xF9E8,0x0614,0xF9E9,0x0617,0xF9EA,0x061A,0xF9EB,0x061D,0xF9EC,0x0620,0xF9ED,0x0623,0xF9EE,0x0627,0xF9EF,0x062A,
3333
  0xF9F0,0x062D,0xF9F1,0x0630,0xF9F2,0x0634,0xF9F3,0x0637,0xF9F4,0x063A,0xF9F5,0x063D,0xF9F6,0x0640,0xF9F7,0x0644,0xF9F8,0x0648,0xF9F9,0x064B,0xF9FA,0x064E,0xF9FB,0x0651,0xF9FC,0x0655,0xF9FD,0x0658,0xF9FE,0x065C,0xF9FF,0x065F,
3334
  0xFA00,0x0662,0xFA01,0x0665,0xFA02,0x0669,0xFA03,0x066C,0xFA04,0x066F,0xFA05,0x0672,0xFA06,0x0675,0xFA07,0x0678,0xFA08,0x067B,0xFA09,0x067E,0xFA0A,0x0682,0xFA0B,0x0685,0xFA0C,0x0688,0xFA0D,0x068B,0xFA0E,0x068E,0xFA0F,0x0691,
3335
  0xFA10,0x0694,0xFA11,0x0698,0xFA12,0x069B,0xFA13,0x069F,0xFA14,0x06A3,0xFA15,0x06A7,0xFA16,0x06AA,0xFA17,0x06AD,0xFA18,0x06B0,0xFA19,0x06B3,0xFA1A,0x06B6,0xFA1B,0x06B9,0xFA1C,0x06BC,0xFA1D,0x06BF,0xFFFF,0x06C3,
3336
};
3337
#define mxDecompositionBufferCount 18
3338
3339
60.5M
#define mxSourceBufferCount 32
3340
3341
74.9M
#define mxHangulSBase 0xAC00
3342
18.2M
#define mxHangulSCount 11172
3343
203k
#define mxHangulLBase 0x1100
3344
50.9k
#define mxHangulLCount 19
3345
73.4M
#define mxHangulVBase 0x1161
3346
18.2M
#define mxHangulVCount 21
3347
73.3M
#define mxHangulTBase 0x11A7
3348
18.4M
#define mxHangulTCount 28
3349
152k
#define mxHangulNCount 588
3350
3351
static int fxCompareCombination(const void *p1, const void *p2);
3352
static int fxCompareComposition(const void *p1, const void *p2);
3353
static txInteger fxGetCombinationOrder(txInteger character);
3354
static txInteger fxGetCompositionPairs(txInteger character, txU2** pairs, txInteger* pairCount);
3355
static txInteger fxGetCompositionStarterCode(txInteger character, txU2* pairs, txInteger pairCount);
3356
static txInteger fxGetDecompositionBuffer(txInteger character, txInteger* buffer, txFlag compatible);
3357
static void fxInsertDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger at, txInteger code);
3358
static void fxNormalizeComposition(txMachine* the, txNormalizeBuffer* buffer);
3359
static void fxNormalizeDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger* source, txInteger c, txFlag compatible);
3360
3361
int fxCompareCombination(const void *p1, const void *p2)
3362
501M
{
3363
501M
  txCombination* c1 = (txCombination*)p1;
3364
501M
  txCombination* c2 = (txCombination*)p2;
3365
501M
  if (c1->code + c1->count <= c2->code)
3366
348M
    return -1;
3367
153M
  if (c1->code >= c2->code + c2->count)
3368
151M
    return 1;
3369
1.25M
  return 0;
3370
153M
}
3371
3372
int fxCompareComposition(const void *p1, const void *p2)
3373
966M
{
3374
966M
  txU2 c1 = *((txU2*)p1);
3375
966M
  txU2 c2 = *((txU2*)p2);
3376
966M
  if (c1 < c2)
3377
669M
    return -1;
3378
297M
  if (c1 > c2)
3379
296M
    return 1;
3380
737k
  return 0;
3381
297M
}
3382
3383
txInteger fxGetCombinationOrder(txInteger character)
3384
57.9M
{
3385
57.9M
  txInteger count;
3386
57.9M
  txCombination *index, *it;
3387
57.9M
  txCombination combination;
3388
57.9M
  if (character < 0x10000) {
3389
57.8M
    count = mxCombinationCount0;
3390
57.8M
    index = (txCombination*)gxCombinationIndex0;
3391
57.8M
    combination.code = (txU2)character;
3392
57.8M
  }
3393
91.9k
  else {
3394
91.9k
    count = mxCombinationCount1;
3395
91.9k
    index = (txCombination*)gxCombinationIndex1;
3396
91.9k
    combination.code = (txU2)(character & 0xFFFF);
3397
91.9k
  }
3398
57.9M
  combination.count = 1;
3399
57.9M
  combination.order = 0;
3400
57.9M
  it = (txCombination*)c_bsearch(&combination, index, count, sizeof(txCombination), fxCompareCombination);
3401
57.9M
  if (it)
3402
1.25M
    return it->order;
3403
56.6M
  return 0;
3404
57.9M
}
3405
3406
txInteger fxGetCompositionPairs(txInteger character, txU2** pairs, txInteger* pairCount)
3407
54.6M
{
3408
54.6M
  txInteger count;
3409
54.6M
  txU2 *index, *data, code, *it;
3410
54.6M
  if (character < 0x10000) {
3411
54.6M
    count = mxCompositionCount0;
3412
54.6M
    index = (txU2*)gxCompositionIndex0;
3413
54.6M
    data = (txU2*)gxCompositionData0;
3414
54.6M
    code = (txU2)character;
3415
54.6M
  }
3416
90.1k
  else {
3417
90.1k
    count = mxCompositionCount1;
3418
90.1k
    index =(txU2*)gxCompositionIndex1;
3419
90.1k
    data = (txU2*)gxCompositionData1;
3420
90.1k
    code = (txU2)(character & 0xFFFF);
3421
90.1k
  }
3422
54.6M
  it = (txU2*)c_bsearch(&code, index, (count - 1) >> 1, sizeof(txU2) << 1, fxCompareComposition);
3423
54.6M
  if (it) {
3424
430k
    *pairs = data + (it[1] << 1);
3425
430k
    *pairCount = it[3] - it[1];
3426
430k
    return 1;
3427
430k
  }
3428
54.2M
  return 0;
3429
54.6M
}
3430
3431
txInteger fxGetCompositionStarterCode(txInteger character, txU2* pairs, txInteger pairCount)
3432
381k
{
3433
381k
  txU2 code, *it;
3434
381k
  txInteger plane;
3435
381k
  if (character < 0x10000) {
3436
379k
    code = (txU2)character;
3437
379k
    plane = 0;
3438
379k
  }
3439
1.71k
  else {
3440
1.71k
    code = (txU2)(character & 0xFFFF);
3441
1.71k
    plane = 0x10000;
3442
1.71k
  }
3443
381k
  it = (txU2*)c_bsearch(&code, pairs, pairCount, sizeof(txU2) << 1, fxCompareComposition);
3444
381k
  if (it)
3445
105k
    return ((txInteger)it[1]) | plane;
3446
276k
  return 0;
3447
381k
}
3448
3449
txInteger fxGetDecompositionBuffer(txInteger character, txInteger* buffer, txFlag compatible)
3450
56.1M
{
3451
56.1M
  txInteger count;
3452
56.1M
  txU2 *index, code, *it;
3453
56.1M
  txString data;
3454
56.1M
  if (character < 0x10000) {
3455
56.0M
    count = mxDecompositionCount0;
3456
56.0M
    index = (txU2*)gxDecompositionIndex0;
3457
56.0M
    data = (txString)gxDecompositionData0;
3458
56.0M
    code = (txU2)character;
3459
56.0M
  }
3460
90.1k
  else if (character < 0x20000) {
3461
513
    count = mxDecompositionCount1;
3462
513
    index = (txU2*)gxDecompositionIndex1;
3463
513
    data = (txString)gxDecompositionData1;
3464
513
    code = (txU2)(character & 0xFFFF);
3465
513
  }
3466
89.6k
  else {
3467
89.6k
    count = mxDecompositionCount2;
3468
89.6k
    index = (txU2*)gxDecompositionIndex2;
3469
89.6k
    data = (txString)gxDecompositionData2;
3470
89.6k
    code = (txU2)(character & 0xFFFF);
3471
89.6k
  }
3472
56.1M
  it = (txU2*)c_bsearch(&code, index, (count - 1) >> 1, sizeof(txU2) << 1, fxCompareComposition);
3473
56.1M
  if (it) {
3474
202k
    txInteger offset = it[1];
3475
202k
    txString p, q;
3476
202k
    txInteger* r;
3477
202k
    if (offset & 0x8000) {
3478
48.9k
      if (!compatible)
3479
48.9k
        return 0;
3480
61
      offset &= 0x7FFF;
3481
61
    }
3482
153k
    p = data + offset;
3483
153k
    q = p + ((it[3] & 0x7FFF) - offset);
3484
153k
    r = buffer;
3485
459k
    while (p < q)
3486
306k
      p = fxUTF8Decode(p, r++);
3487
153k
    return mxPtrDiff(r - buffer);
3488
202k
  }
3489
55.9M
  return 0;
3490
56.1M
}
3491
3492
void fxInsertDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger at, txInteger code)
3493
56.1M
{
3494
56.1M
  txInteger resultLength = fxGetArrayBufferLength(the, buffer->slot);
3495
56.1M
  if (buffer->count == resultLength >> 2) {
3496
2.97M
    fxSetArrayBufferLength(the, the->stack, resultLength + 64);
3497
2.97M
    buffer->address = fxToArrayBuffer(the, the->stack);
3498
2.97M
  }
3499
56.1M
  if (at < buffer->count)
3500
97.0k
    c_memmove(buffer->address + at + 1, buffer->address + at, (buffer->count - at) << 2);
3501
56.1M
  buffer->address[at] = code;
3502
56.1M
  buffer->count++;
3503
56.1M
}
3504
3505
void fxNormalizeComposition(txMachine* the, txNormalizeBuffer* buffer)
3506
1.13M
{
3507
1.13M
  txInteger fromIndex = 1;
3508
1.13M
  txInteger toIndex = 1;
3509
1.13M
  if (buffer->count < 2)
3510
1
    return;
3511
56.1M
  while (fromIndex < buffer->count) {
3512
55.0M
    txBoolean flag = 1;
3513
55.0M
    txInteger code = buffer->address[fromIndex];
3514
55.0M
    txU2* pairs;
3515
55.0M
    txInteger pairCount;
3516
55.0M
    txInteger pairFlag;
3517
55.0M
    if ((mxHangulVBase <= code) && (code < mxHangulVBase + mxHangulVCount))
3518
50.9k
      pairFlag = 3;
3519
54.9M
    else if ((mxHangulTBase <= code) && (code < mxHangulTBase + mxHangulTCount))
3520
303k
      pairFlag = 2;
3521
54.6M
    else
3522
54.6M
      pairFlag = fxGetCompositionPairs(code, &pairs, &pairCount);
3523
55.0M
    if (pairFlag) {
3524
784k
      txInteger order = fxGetCombinationOrder(code);
3525
784k
      txInteger starterIndex = toIndex - 1;
3526
832k
      while (starterIndex >= 0) {
3527
832k
        txInteger starterCode = buffer->address[starterIndex];
3528
832k
        txInteger starterOrder = fxGetCombinationOrder(starterCode);
3529
832k
        if (starterOrder == 0) {
3530
735k
          if (pairFlag == 3) {
3531
50.9k
            if ((mxHangulLBase <= starterCode) && (starterCode < mxHangulLBase + mxHangulLCount)) {
3532
50.9k
              starterCode -= mxHangulLBase;
3533
50.9k
              code -= mxHangulVBase;
3534
50.9k
              buffer->address[starterIndex] = mxHangulSBase + (starterCode * mxHangulNCount) + (code * mxHangulTCount);
3535
50.9k
              flag = 0;
3536
50.9k
            }
3537
50.9k
          }
3538
684k
          else if (pairFlag == 2) {
3539
303k
            if ((mxHangulSBase <= starterCode) && (starterCode < mxHangulSBase + mxHangulSCount) 
3540
50.4k
                && ((starterCode - mxHangulSBase) % mxHangulTCount == 0)) {
3541
50.4k
              buffer->address[starterIndex] = starterCode + code - mxHangulTBase;
3542
50.4k
              flag = 0;
3543
50.4k
            }
3544
303k
          }
3545
381k
          else {
3546
381k
            starterCode = fxGetCompositionStarterCode(starterCode, pairs, pairCount);
3547
381k
            if (starterCode) {
3548
105k
              buffer->address[starterIndex] = starterCode;
3549
105k
              flag = 0;
3550
105k
            }
3551
381k
          }
3552
735k
          break;
3553
735k
        }
3554
97.1k
        if (starterOrder >= order)
3555
48.6k
          break;
3556
48.5k
        starterIndex--;
3557
48.5k
      }
3558
784k
    }
3559
55.0M
    if (flag) {
3560
54.8M
      buffer->address[toIndex] = code;
3561
54.8M
      toIndex++;
3562
54.8M
    }
3563
55.0M
    fromIndex++;
3564
55.0M
  }
3565
1.13M
  buffer->count = toIndex;
3566
1.13M
}
3567
3568
void fxNormalizeDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger* source, txInteger c, txFlag compatible)
3569
2.42M
{
3570
2.42M
  txInteger i;
3571
58.6M
  for (i = 0; i < c; i++) {
3572
56.2M
    txInteger code = source[i];
3573
56.2M
    if ((mxHangulSBase <= code) && (code < mxHangulSBase + mxHangulSCount)) {
3574
50.9k
      txInteger sIndex = code - mxHangulSBase;
3575
50.9k
      txInteger lIndex = sIndex / mxHangulNCount;
3576
50.9k
      txInteger vIndex = (sIndex % mxHangulNCount) / mxHangulTCount;
3577
50.9k
      txInteger tIndex = sIndex % mxHangulTCount;
3578
50.9k
      fxInsertDecomposition(the, buffer, buffer->count, mxHangulLBase + lIndex);
3579
50.9k
      fxInsertDecomposition(the, buffer, buffer->count, mxHangulVBase + vIndex);
3580
50.9k
      if (tIndex > 0)
3581
50.4k
        fxInsertDecomposition(the, buffer, buffer->count, mxHangulTBase + tIndex);
3582
50.9k
      buffer->starterIndex = buffer->count;
3583
50.9k
    }
3584
56.1M
    else {
3585
56.1M
      txInteger decompositionBuffer[mxDecompositionBufferCount];
3586
56.1M
      txInteger decompositionCount = fxGetDecompositionBuffer(code, decompositionBuffer, compatible);
3587
56.1M
      if (decompositionCount == 0) {
3588
56.0M
        txInteger order = fxGetCombinationOrder(code);
3589
56.0M
        if (order == 0) {
3590
55.5M
          fxInsertDecomposition(the, buffer, buffer->count, code);
3591
55.5M
          buffer->starterIndex = buffer->count;
3592
55.5M
        }
3593
430k
        else {
3594
430k
          txInteger bufferIndex = buffer->count - 1;
3595
430k
          txInteger starterIndex = buffer->starterIndex - 1;
3596
625k
          while (bufferIndex > starterIndex) {
3597
292k
            txInteger starterCode = buffer->address[bufferIndex];
3598
292k
            txInteger starterOrder = fxGetCombinationOrder(starterCode);
3599
292k
            if (starterOrder <= order) {
3600
98.6k
              fxInsertDecomposition(the, buffer, bufferIndex + 1, code);
3601
98.6k
              break;
3602
98.6k
            }
3603
194k
            bufferIndex--;
3604
194k
          }
3605
430k
          if (bufferIndex == starterIndex)
3606
332k
            fxInsertDecomposition(the, buffer, bufferIndex + 1, code);
3607
430k
        }
3608
56.0M
      }
3609
153k
      else
3610
153k
        fxNormalizeDecomposition(the, buffer, decompositionBuffer, decompositionCount, compatible);
3611
56.1M
    }
3612
56.2M
  }
3613
2.42M
}
3614
3615
void fxNormalizeString(txMachine* the, txSlot* string, txFlag form)
3616
1.13M
{
3617
1.13M
  txNormalizeBuffer _buffer;
3618
1.13M
  txNormalizeBuffer* buffer = &_buffer;
3619
1.13M
  txInteger source[mxSourceBufferCount];
3620
1.13M
  txString p;
3621
3622
1.13M
  mxPushUndefined();
3623
1.13M
  buffer->slot = the->stack;
3624
1.13M
  buffer->address = fxArrayBuffer(the, the->stack, C_NULL, 64, 0x7FFFFFFF);
3625
1.13M
  buffer->count = 0;
3626
1.13M
  buffer->starterIndex = 0;
3627
3628
1.13M
  p = string->value.string;
3629
2.31M
  for (;;) {
3630
2.31M
    txInteger* sourceAddress = source;
3631
2.31M
    txInteger sourceIndex = 0;
3632
58.2M
    while (sourceIndex < mxSourceBufferCount) {
3633
57.0M
      p = mxStringByteDecode(p, sourceAddress);
3634
57.0M
      if (*sourceAddress == C_EOF)
3635
1.13M
        break;
3636
55.9M
      sourceAddress++;
3637
55.9M
      sourceIndex++;
3638
55.9M
    }
3639
2.31M
    if (sourceIndex) {
3640
2.27M
      txInteger offset = mxPtrDiff(p - string->value.string);
3641
2.27M
      fxNormalizeDecomposition(the, buffer, source, sourceIndex, form & 1);
3642
2.27M
      p = string->value.string + offset;
3643
2.27M
    }
3644
2.31M
    if (sourceIndex < mxSourceBufferCount)
3645
1.13M
      break;
3646
2.31M
  }
3647
1.13M
  if (form & 2)
3648
1.13M
    fxNormalizeComposition(the, buffer);
3649
1.13M
  if (buffer->count) {
3650
1.13M
    txInteger resultIndex;
3651
1.13M
    txInteger stringLength = 0;
3652
57.1M
    for (resultIndex = 0; resultIndex < buffer->count; resultIndex++)
3653
55.9M
      stringLength += mxStringByteLength(buffer->address[resultIndex]);
3654
1.13M
    stringLength++;
3655
1.13M
    p = string->value.string = fxNewChunk(the, stringLength);
3656
1.13M
    buffer->address = fxToArrayBuffer(the, the->stack);
3657
57.1M
    for (resultIndex = 0; resultIndex < buffer->count; resultIndex++)
3658
55.9M
      p = mxStringByteEncode(p, buffer->address[resultIndex]);
3659
1.13M
    *p = 0;
3660
1.13M
  }
3661
  
3662
1.13M
  mxPop();
3663
1.13M
}
3664
3665
#endif