2381075aa8
X-SVN-Rev: 3634
1078 lines
57 KiB
C++
1078 lines
57 KiB
C++
/*
|
|
*******************************************************************************
|
|
* Copyright © {1996-2001}, International Business Machines Corporation and others. All Rights Reserved.
|
|
*******************************************************************************
|
|
* File unorm.cpp
|
|
*
|
|
* Created by: Vladimir Weinstein 12052000
|
|
*
|
|
* Modification history :
|
|
*
|
|
* Date Name Description
|
|
* 02/01/01 synwee Added normalization quickcheck enum and method.
|
|
* 02/12/01 synwee Commented out quickcheck util api has been approved
|
|
* Added private method for doing FCD checks
|
|
*/
|
|
|
|
#include "unicode/unorm.h"
|
|
#include "unicode/normlzr.h"
|
|
#include "unicode/ustring.h"
|
|
#include "cpputils.h"
|
|
#include "ustr_imp.h"
|
|
|
|
/* added by synwee */
|
|
#include "unicode/uchar.h"
|
|
#include "unicode/utf16.h"
|
|
|
|
/* added by synwee for trie manipulation*/
|
|
#define STAGE_1_SHIFT_ 10
|
|
#define STAGE_2_SHIFT_ 4
|
|
#define STAGE_2_MASK_AFTER_SHIFT_ 0x3F
|
|
#define STAGE_3_MASK_ 0xF
|
|
|
|
/**
|
|
* Array of mask for determining normalization quick check values.
|
|
* Indexes follows the values in UNormalizationMode
|
|
*/
|
|
static uint8_t UQUICK_CHECK_MASK_[] = {0, 0, 0x11, 0x22, 0x44, 0x88};
|
|
/**
|
|
* Minimum value to determine if quickcheck value contains a MAYBE
|
|
*/
|
|
static uint8_t MIN_UNORM_MAYBE_ = 0x10;
|
|
|
|
|
|
U_CAPI int32_t
|
|
unorm_normalize(const UChar* source,
|
|
int32_t sourceLength,
|
|
UNormalizationMode mode,
|
|
int32_t option,
|
|
UChar* result,
|
|
int32_t resultLength,
|
|
UErrorCode* status)
|
|
{
|
|
if(U_FAILURE(*status)) return -1;
|
|
|
|
/* synwee : removed hard coded conversion */
|
|
Normalizer::EMode normMode = Normalizer::getNormalizerEMode(mode, *status);
|
|
if (U_FAILURE(*status))
|
|
return -1;
|
|
|
|
int32_t len = (sourceLength == -1 ? u_strlen(source) : sourceLength);
|
|
const UnicodeString src((UChar*)source, len, len);
|
|
UnicodeString dst(result, 0, resultLength);
|
|
/* synwee : note quickcheck is added in C ++ normalize method */
|
|
if ((option & UNORM_IGNORE_HANGUL) != 0)
|
|
option = Normalizer::IGNORE_HANGUL;
|
|
Normalizer::normalize(src, normMode, option, dst, *status);
|
|
int32_t actualLen;
|
|
T_fillOutputParams(&dst, result, resultLength, &actualLen, status);
|
|
return actualLen;
|
|
}
|
|
|
|
/**
|
|
* Array of normalization form corresponding to the index code point.
|
|
* Hence codepoint 0xABCD will have normalization form QUICK_CHECK_DATA[0xABCD].
|
|
* UQUICK_CHECK_DATA[0xABCD] is a byte containing 2 sets of 4 bits information
|
|
* representing UNORM_MAYBE and UNORM_YES.<br>
|
|
* bits 1 2 3 4 5678<br>
|
|
* NFKC NFC NFKD NFD MAYBES NFKC NFC NFKD NFD YES<br>
|
|
* ie if UQUICK_CHECK_DATA[0xABCD] = 10000001, this means that 0xABCD is in
|
|
* NFD form and maybe in NFKC form
|
|
*
|
|
* Generated data!! Change at your own risk.
|
|
* Situated here temporary.
|
|
*/
|
|
const uint32_t QUICKCHECK_STAGE_1_[] =
|
|
{
|
|
0x0, 0x40, 0x7c, 0xbc, 0xfc, 0x13c, 0x17c, 0x19c, 0x1dc, 0x21c,
|
|
0x25c, 0x274, 0x2b4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x319,
|
|
0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4,
|
|
0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x339,
|
|
0x2f4, 0x379, 0x386, 0x3c6, 0x3c6, 0x3c6, 0x3c6, 0x3c6, 0x3c6, 0x3c6,
|
|
0x3c6, 0x3c6, 0x3c6, 0x3cc, 0x40c, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4,
|
|
0x2f4, 0x2f4, 0x44c, 0x48a, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386, 0x386,
|
|
0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4,
|
|
0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4,
|
|
0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4,
|
|
0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4,
|
|
0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4,
|
|
0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4,
|
|
0x2f4, 0x2f4, 0x2f4, 0x386, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4,
|
|
0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4,
|
|
0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4,
|
|
0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4,
|
|
0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4,
|
|
0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4,
|
|
0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x2f4, 0x386
|
|
};
|
|
|
|
const uint32_t QUICKCHECK_STAGE_2_[] =
|
|
{
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x10, 0x1d, 0x2d, 0x3d, 0x2d, 0x4c, 0x5b, 0x6b, 0x65, 0x7a,
|
|
0x89, 0x69, 0x65, 0x95, 0x0, 0x0, 0xa5, 0xb4, 0xc0, 0xcd,
|
|
0x67, 0xdc, 0x5b, 0x5f, 0xec, 0xf8, 0xfc, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x10c, 0x11c, 0x0, 0x125, 0x12e, 0xfc, 0x13e, 0x14c,
|
|
0x159, 0x166, 0x176, 0xfc, 0x182, 0x18e, 0x19d, 0xb4, 0x1ad, 0xb4,
|
|
0x1bd, 0x1cd, 0x0, 0x1dd, 0x1ed, 0xab, 0x0, 0xab, 0x0, 0x1ed,
|
|
0x0, 0x1fc, 0x205, 0x0, 0x0, 0x0, 0x214, 0x224, 0x22c, 0x236,
|
|
0xfc, 0xfc, 0xfc, 0x245, 0x0, 0x24e, 0x245, 0x0, 0x257, 0x245,
|
|
0x267, 0x273, 0x180, 0x0, 0x27e, 0x180, 0x289, 0x28a, 0x298, 0x27e,
|
|
0x0, 0x2a5, 0x10c, 0x2b5, 0x0, 0x0, 0x0, 0x0, 0x2c5, 0xb1,
|
|
0x10c, 0x246, 0x2c8, 0x0, 0x2d7, 0x0, 0x27e, 0xfc, 0xfc, 0xfc,
|
|
0x0, 0x0, 0x0, 0x2e3, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0x2f2, 0x0, 0xab, 0x301, 0x10c, 0x30e, 0x0, 0x2e3, 0x31e, 0x32a,
|
|
0x2cd, 0x339, 0x348, 0x356, 0x327, 0x27e, 0x366, 0x32a, 0x2cd, 0x375,
|
|
0x383, 0x391, 0x106, 0x180, 0x3a0, 0x267, 0x2cd, 0x3ad, 0x3b9, 0x2e3,
|
|
0x3c6, 0xfc, 0x31e, 0x32a, 0x2cd, 0x3d5, 0x3e4, 0x3f2, 0x401, 0x2e3,
|
|
0x411, 0x420, 0x430, 0x43e, 0x44d, 0x45b, 0x105, 0x182, 0x46a, 0x476,
|
|
0x2cd, 0x482, 0x490, 0x49e, 0x401, 0xfc, 0x4ac, 0x476, 0x2cd, 0x482,
|
|
0x4bc, 0x4ca, 0x401, 0xfc, 0x4ac, 0x476, 0x2cd, 0x4da, 0x4e9, 0x45b,
|
|
0x401, 0xfc, 0x265, 0x4f9, 0x0, 0x507, 0x517, 0x527, 0xfc, 0x537,
|
|
0x245, 0x0, 0x0, 0x547, 0x0, 0x2d8, 0xfc, 0xfc, 0x555, 0x563,
|
|
0x573, 0x580, 0x590, 0x5a0, 0xfc, 0xfc, 0x4, 0x0, 0x0, 0x0,
|
|
0x5b0, 0x5bb, 0x5c8, 0x5d7, 0x5e6, 0x5b0, 0x5bb, 0x5f6, 0x248, 0xfc,
|
|
0xfc, 0xfc, 0x0, 0x0, 0x601, 0x610, 0x0, 0x27f, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0x0, 0x0, 0x17f, 0x0, 0x0, 0x620, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x630, 0x63f, 0x649, 0x0, 0x0, 0x656, 0x65e,
|
|
0x66b, 0x0, 0x0, 0x27f, 0x2cf, 0x0, 0x0, 0x0, 0x674, 0x674,
|
|
0x0, 0x0, 0x674, 0x0, 0x246, 0x67c, 0x67c, 0x2cf, 0x246, 0x0,
|
|
0x246, 0x67c, 0x0, 0x0, 0x2cf, 0x27e, 0x245, 0x2d7, 0xfc, 0xfc,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x180, 0x245, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x17e, 0x0, 0x2d7, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x2e3, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2d7, 0x27f, 0xfc,
|
|
0x246, 0x27f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x17d, 0x0, 0x0,
|
|
0x27f, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
|
|
0x5b, 0x5b, 0x5b, 0x68c, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0xf2,
|
|
0x5b, 0x69c, 0x5b, 0x5b, 0x69c, 0x6ac, 0x5b, 0x6bb, 0x5b, 0x5b,
|
|
0x5b, 0x6cb, 0x6da, 0x6ea, 0x6fa, 0x70a, 0x71a, 0x729, 0x735, 0x741,
|
|
0x750, 0xfc, 0x102, 0x760, 0x764, 0xfc, 0x8, 0xfc, 0xfc, 0x0,
|
|
0x181, 0xfc, 0x774, 0x780, 0x790, 0x79c, 0xfc, 0x761, 0x7ac, 0x7ac,
|
|
0x181, 0x7bc, 0x7c8, 0x0, 0x7d7, 0x0, 0x0, 0x181, 0x7e7, 0x0,
|
|
0x7f4, 0x803, 0x812, 0x0, 0x819, 0x827, 0x827, 0x0, 0x831, 0x0,
|
|
0x0, 0x0, 0x83d, 0x2e2, 0x0, 0x0, 0x84b, 0x0, 0x0, 0x0,
|
|
0x0, 0x2ca, 0x0, 0x27e, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0x0, 0x0, 0x17e, 0xfc, 0x27e, 0xfc, 0x7ac, 0x7ac, 0x7ac, 0x7ac,
|
|
0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x85b, 0xfc, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x17f, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x17d, 0x0, 0x86b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e2,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x87b, 0x0,
|
|
0x2ce, 0x0, 0x66f, 0x888, 0x88f, 0x106, 0x0, 0x89f, 0x0, 0x10b,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x0, 0x8a7,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x8b3, 0x7ac, 0x7ac, 0x7ac, 0x7ac,
|
|
0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x8c3,
|
|
0xfc, 0x2d8, 0x803, 0x0, 0x0, 0x8d3, 0x8e0, 0x8ec, 0x8f8, 0x908,
|
|
0x0, 0x916, 0x8e0, 0x8ec, 0x8f8, 0x908, 0x0, 0x926, 0x107, 0x0,
|
|
0x2d7, 0x763, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x764, 0x936, 0x0, 0x17d,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0x7ac, 0x939, 0x7ac, 0x7ac, 0x942, 0xfc,
|
|
0x7ac, 0x952, 0x7ac, 0x7ac, 0x7ac, 0x962, 0x93a, 0x7ac, 0x7ac, 0x764,
|
|
0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x972, 0x7ac, 0x7ac,
|
|
0x7ac, 0x7ac, 0x7ac, 0x938, 0x7ac, 0x764, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x17f, 0xfc, 0xfc, 0xfc, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x17f, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2d7, 0x0, 0x329,
|
|
0x279, 0x982, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x5b, 0x5b, 0x5b, 0x5b,
|
|
0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
|
|
0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
|
|
0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
|
|
0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
|
|
0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
|
|
0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
|
|
0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x992, 0x992, 0x992, 0x992,
|
|
0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992,
|
|
0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992,
|
|
0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992,
|
|
0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992,
|
|
0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992,
|
|
0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x992, 0x992, 0x992, 0x992,
|
|
0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992, 0x992,
|
|
0x992, 0x992, 0x994, 0x9a4, 0x9b2, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x93f, 0x9c0,
|
|
0x9d0, 0x9da, 0x9ea, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x9f9,
|
|
0xfc, 0x761, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac,
|
|
0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac,
|
|
0x7ac, 0x7ae, 0xfc, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x762, 0x7ac, 0x7ac,
|
|
0x93e, 0xfc, 0xfc, 0x93a, 0xfc, 0xfc, 0x181, 0x7ac, 0xa09, 0xa16,
|
|
0xa1f, 0xa2f, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0xa35,
|
|
0x763, 0x7ac, 0x7ac, 0x7ac, 0x7ac, 0x764, 0x763, 0x7ac, 0x7ac, 0x7ac,
|
|
0x7ac, 0x764, 0xa45, 0xa4d, 0xa5d, 0xa6c
|
|
};
|
|
|
|
const uint8_t QUICKCHECK_STAGE_3_[] =
|
|
{
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x5, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0x5, 0xf, 0x5, 0xf, 0xf, 0xf,
|
|
0xf, 0x5, 0x5, 0x5, 0x5, 0xf, 0xf, 0x5, 0x5, 0x5,
|
|
0xf, 0x5, 0x5, 0x5, 0xf, 0xc, 0xc, 0xc, 0xc, 0xc,
|
|
0xc, 0xf, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc,
|
|
0xc, 0xf, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xf, 0xf,
|
|
0xc, 0xc, 0xc, 0xc, 0xc, 0xf, 0xf, 0xc, 0xc, 0xc,
|
|
0xc, 0xc, 0xc, 0xf, 0xf, 0xc, 0xc, 0xc, 0xc, 0xc,
|
|
0xf, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc,
|
|
0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xf, 0xf, 0xc,
|
|
0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc,
|
|
0xc, 0xc, 0xc, 0xf, 0x5, 0x5, 0xc, 0xc, 0xc, 0xc,
|
|
0xf, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0x5, 0xf, 0xf,
|
|
0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0x5, 0xf, 0xf, 0xc,
|
|
0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc,
|
|
0xc, 0xc, 0xc, 0xc, 0x5, 0xc, 0xc, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xc, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x5, 0x5, 0x5, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0x5, 0xc, 0xc, 0xc, 0xc, 0xc,
|
|
0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xf, 0xc,
|
|
0xc, 0x5, 0x5, 0x5, 0xc, 0xc, 0xf, 0xf, 0xc, 0xc,
|
|
0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xf0, 0xf0, 0xf, 0xf,
|
|
0xf, 0xf, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc,
|
|
0xc, 0xc, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf0, 0xf0, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5,
|
|
0x5, 0x5, 0x5, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xc3, 0xc3,
|
|
0xc3, 0xc3, 0xc3, 0xf, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3,
|
|
0xc3, 0xf, 0xf, 0xc3, 0xf, 0xc3, 0xc3, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xc3, 0xf, 0xf, 0xf, 0xf, 0xc3, 0xc3,
|
|
0xc3, 0xc3, 0xc3, 0xc3, 0xf, 0xf, 0xf, 0xf, 0xc3, 0xc3,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xc3, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0x0, 0x0, 0xc3, 0x0, 0x0, 0xc3,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0x0, 0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0x5, 0xf0,
|
|
0xf0, 0xf0, 0x0, 0xf0, 0xf0, 0xf0, 0xf0, 0x5, 0x4, 0xc,
|
|
0x0, 0xc, 0xc, 0xc, 0xf0, 0xc, 0xf0, 0xc, 0xc, 0xf,
|
|
0xf, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xc,
|
|
0xc, 0xc, 0xc, 0xc, 0xc, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xc, 0xc, 0xc, 0xc, 0xc,
|
|
0xf0, 0x5, 0x5, 0x5, 0x4, 0x4, 0x5, 0x5, 0xf, 0xf0,
|
|
0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x5, 0x5, 0x5,
|
|
0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xc, 0xc, 0xf, 0xc, 0xf, 0xf, 0xf,
|
|
0xc, 0xf, 0xf, 0xf, 0xf, 0xc, 0xc, 0xc, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xc, 0xc, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf0, 0xf, 0xf, 0xf0, 0xf0, 0xf,
|
|
0xf, 0xf, 0xf, 0xc, 0xc, 0xf, 0xf, 0xf0, 0xf0, 0xf,
|
|
0xf, 0xf0, 0xf0, 0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xc, 0xc,
|
|
0xc, 0xc, 0xf, 0xf, 0xc, 0xc, 0xf, 0xf, 0xc, 0xc,
|
|
0xc, 0xc, 0xc, 0xc, 0xf, 0xf, 0xc, 0xc, 0xc, 0xc,
|
|
0xc, 0xc, 0xf0, 0xf0, 0xc, 0xc, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x5, 0xf0, 0xf, 0xf,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf0, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xc3, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf, 0xf0, 0xf0, 0xf0, 0xf, 0xc, 0xc, 0xc, 0xc,
|
|
0xc, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xc3, 0xc3, 0xc3, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0x5, 0x5,
|
|
0x5, 0x5, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xc,
|
|
0xf, 0xc, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf0, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xc, 0xf, 0xf, 0xc, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0,
|
|
0xf0, 0xc3, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xf,
|
|
0xf, 0xf, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf, 0xf0, 0xf0,
|
|
0xf0, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf, 0xf0, 0xc3,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf, 0xf, 0xf0,
|
|
0xf0, 0xc, 0xc, 0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xc3, 0xf0, 0xf0, 0xf0, 0xf0, 0x0, 0x0, 0xf0, 0x0,
|
|
0xf0, 0xf0, 0xf, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf0, 0xf, 0x0, 0xf0,
|
|
0xf, 0x0, 0xf0, 0xf, 0xf, 0xf0, 0xf0, 0xf, 0xf0, 0xf,
|
|
0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf0, 0xf0,
|
|
0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0x0, 0x0, 0x0, 0xf, 0xf0, 0x0, 0xf0, 0xf,
|
|
0xf, 0xf, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf0, 0xf, 0xf0, 0xf, 0xf, 0xf0, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0,
|
|
0xf, 0xf, 0xf, 0xf0, 0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf0, 0xf, 0xf, 0xf0, 0xf0, 0xf, 0xf, 0xf,
|
|
0xf, 0xf0, 0xf0, 0xf, 0xf, 0xc3, 0xf, 0xf, 0xf, 0xf,
|
|
0xf0, 0xf0, 0xf0, 0xf, 0xc, 0xf0, 0xf0, 0xc, 0xc, 0xf,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xc3, 0xc3, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0x0, 0x0, 0xf0, 0xf, 0xf, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf0, 0xf0, 0xf, 0xf, 0xf0, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf0, 0xf, 0xf,
|
|
0xc, 0xf, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf0, 0xf, 0xf0,
|
|
0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf0, 0xf0, 0xf0,
|
|
0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf0, 0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xc3, 0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf,
|
|
0xf0, 0xc, 0xc, 0xc, 0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xc3, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf, 0xf, 0xf, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf0, 0xf, 0xf, 0xc, 0xf0, 0xf, 0xf,
|
|
0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xc3, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf,
|
|
0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0,
|
|
0xf, 0xf, 0xc, 0xf, 0xc3, 0xf, 0xf, 0xf0, 0xf, 0xc,
|
|
0xc, 0xf0, 0xc, 0xc, 0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xc3, 0xc3, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xc3, 0xf, 0xf, 0xf,
|
|
0xf, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf0, 0xc, 0xc, 0xc,
|
|
0xf, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0,
|
|
0xf, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf0, 0xf0, 0xf0, 0xc3, 0xf0, 0xf0, 0xf0, 0xf0, 0xc3, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf, 0xc,
|
|
0xf, 0xc, 0xc, 0xc, 0xc3, 0xf0, 0xf0, 0xf, 0xf, 0xf,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf, 0xf, 0xf, 0x5, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf0, 0xf,
|
|
0xf0, 0xf0, 0xf, 0xf, 0xf0, 0xf, 0xf0, 0xf0, 0xf, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf, 0xf, 0xf, 0xf0,
|
|
0xf, 0xf0, 0xf, 0xf0, 0xf0, 0xf, 0xf, 0xf0, 0xf, 0xf,
|
|
0xf, 0x5, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf,
|
|
0xf, 0xf, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0,
|
|
0xf, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf0,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf0, 0xf0, 0x5, 0x5, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0x0,
|
|
0xf, 0xf, 0xf, 0xf, 0xf0, 0xf, 0xf, 0xf, 0xf, 0x0,
|
|
0xf, 0xf, 0xf, 0xf, 0x0, 0xf, 0xf, 0xf, 0xf, 0x0,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x0,
|
|
0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0x0, 0xf,
|
|
0x0, 0x0, 0x5, 0x0, 0x5, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0x0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0x0, 0xf, 0xf, 0xf, 0xf0,
|
|
0xf, 0xf, 0xf, 0xc, 0xf, 0xf0, 0xf, 0xf, 0xf0, 0xf,
|
|
0xf, 0xc3, 0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf, 0xf,
|
|
0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf,
|
|
0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3,
|
|
0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3,
|
|
0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0,
|
|
0xf, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xc, 0xc, 0xc, 0xc,
|
|
0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0x5, 0x4, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xf0, 0xf0,
|
|
0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xf0, 0xf0, 0xc, 0xc,
|
|
0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xf0, 0xc, 0xf0, 0xc,
|
|
0xf0, 0xc, 0xf0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc,
|
|
0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xf0, 0xf0, 0xc,
|
|
0xc, 0xc, 0xc, 0xc, 0xf0, 0xc, 0xc, 0xc, 0xc, 0xc,
|
|
0x0, 0xc, 0x5, 0x0, 0x5, 0x4, 0xc, 0xc, 0xc, 0xf0,
|
|
0xc, 0xc, 0xc, 0x0, 0xc, 0x0, 0xc, 0x4, 0x4, 0x4,
|
|
0xc, 0xc, 0xc, 0x0, 0xf0, 0xf0, 0xc, 0xc, 0xc, 0xc,
|
|
0xc, 0x0, 0xf0, 0x4, 0x4, 0x4, 0xc, 0xc, 0xc, 0x0,
|
|
0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0x0, 0xc, 0x4,
|
|
0x0, 0x0, 0xf0, 0xf0, 0xc, 0xc, 0xc, 0xf0, 0xc, 0xc,
|
|
0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0x5, 0xf0, 0x0, 0x0,
|
|
0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0x5, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0x5, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x5,
|
|
0x5, 0x5, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0x5, 0x5, 0xf, 0x5, 0x5, 0xf, 0xf, 0xf, 0xf, 0x5,
|
|
0xf, 0x5, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0,
|
|
0x5, 0x5, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf0, 0x5, 0xf0,
|
|
0xf0, 0xf0, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0xf0, 0x5, 0x5,
|
|
0x5, 0x5, 0xf, 0x5, 0x5, 0x5, 0xf, 0x5, 0x5, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0xf, 0x5, 0x5, 0xf, 0xf, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0xf, 0xf, 0x5, 0x5, 0x5, 0xf,
|
|
0x5, 0xf, 0x0, 0xf, 0x5, 0xf, 0x0, 0x0, 0x5, 0x5,
|
|
0xf, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0xf, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xc, 0xc, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xc, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xc, 0xc, 0xc, 0xf, 0xf, 0xf, 0xf, 0xc, 0xf, 0xf,
|
|
0xf, 0xf, 0xc, 0xf, 0xf, 0xc, 0xf, 0xf, 0xf, 0xf,
|
|
0xc, 0xf, 0xc, 0xf, 0xf, 0xf, 0xf, 0xf, 0x5, 0x5,
|
|
0xf, 0x5, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xc, 0xf, 0xf,
|
|
0xc, 0xf, 0xf, 0xc, 0xf, 0xc, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xc, 0xc, 0xc, 0xf,
|
|
0xf, 0xc, 0xc, 0xf, 0xf, 0xc, 0xc, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xc,
|
|
0xc, 0xc, 0xc, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xc,
|
|
0xc, 0xc, 0xc, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0x0, 0x0, 0xf, 0xf, 0xf, 0xf, 0xf, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf, 0xf, 0xf,
|
|
0xf, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf0, 0xf0,
|
|
0xf, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf0, 0xf, 0xf, 0xf, 0xf,
|
|
0x5, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xf, 0x5, 0xf, 0x5, 0x5, 0x5,
|
|
0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf, 0xf, 0xc, 0xf, 0xc, 0xf, 0xc, 0xf,
|
|
0xc, 0xf, 0xc, 0xf, 0xc, 0xf, 0xc, 0xf, 0xc, 0xf,
|
|
0xf, 0xc, 0xf, 0xc, 0xf, 0xc, 0xf, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xc, 0xc, 0xf, 0xc, 0xc, 0xf, 0xc, 0xc,
|
|
0xf, 0xc, 0xc, 0xf, 0xc, 0xc, 0xf, 0xf, 0xf, 0xf,
|
|
0xc, 0xf0, 0xf0, 0xf0, 0xf0, 0xc3, 0xc3, 0x5, 0x5, 0xf,
|
|
0xc, 0xf0, 0xf, 0xf, 0xf, 0xf, 0xc, 0xf, 0xf, 0xc,
|
|
0xc, 0xc, 0xc, 0xf, 0xf, 0xf, 0xc, 0xf0, 0xf, 0xf,
|
|
0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x5, 0x5, 0x5, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0xf0, 0xf0,
|
|
0xf0, 0xf, 0x5, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x5, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0x5, 0xf0, 0xf0, 0xf0, 0xf0, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0xf, 0xf0, 0xf, 0xf, 0xf, 0xf0,
|
|
0xf, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf, 0x0, 0xf,
|
|
0x0, 0xf, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0xf, 0x0, 0xf, 0xf, 0x0, 0x0, 0xf,
|
|
0xf, 0xf, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xf0, 0xf0, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xc,
|
|
0xf, 0x0, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5,
|
|
0x5, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0x0,
|
|
0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x5, 0x5, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0xf0, 0xf0, 0xf0, 0xf0, 0x5, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0x5, 0xf0, 0x5, 0x5, 0x5, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0xf0, 0x5,
|
|
0x5, 0x5, 0x5, 0xf0, 0xf0, 0xf0, 0xf0, 0x5, 0x5, 0x5,
|
|
0xf0, 0x5, 0xf0, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0xf0, 0xf0, 0xf, 0xf0,
|
|
0xf0, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0xf0, 0xf0, 0x5,
|
|
0x5, 0x5, 0x5, 0x5, 0x5, 0xf0, 0xf0, 0x5, 0x5, 0x5,
|
|
0xf0, 0xf0, 0xf0, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5,
|
|
0xf0, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf, 0xf, 0xf,
|
|
0xf, 0xf, 0xf0, 0xf0
|
|
};
|
|
|
|
/**
|
|
* Performing quick check on a string, to quickly determine if the string is
|
|
* in a particular normalization format.
|
|
* Three types of result can be returned UNORM_YES, UNORM_NO or
|
|
* UNORM_MAYBE. Result UNORM_YES indicates that the argument
|
|
* string is in the desired normalized format, UNORM_NO determines that
|
|
* argument string is not in the desired normalized format. A
|
|
* UNORM_MAYBE result indicates that a more thorough check is required,
|
|
* the user may have to put the string in its normalized form and compare the
|
|
* results.
|
|
* @param source string for determining if it is in a normalized format
|
|
* @param sourcelength length of source to test
|
|
* @param mode normalization format from the enum UNormalizationMode
|
|
* @param status A pointer to an UErrorCode to receive any errors
|
|
* @return UNORM_YES, UNORM_NO or UNORM_MAYBE
|
|
*/
|
|
U_CAPI UNormalizationCheckResult
|
|
unorm_quickCheck(const UChar* source,
|
|
int32_t sourcelength,
|
|
UNormalizationMode mode,
|
|
UErrorCode* status)
|
|
{
|
|
int count = 0;
|
|
uint8_t oldcombiningclass = 0;
|
|
uint8_t combiningclass;
|
|
uint8_t quickcheckvalue;
|
|
uint8_t mask = UQUICK_CHECK_MASK_[mode];
|
|
UChar32 codepoint;
|
|
UNormalizationCheckResult result = UNORM_YES;
|
|
UBool nullterminated = (sourcelength == -1);
|
|
|
|
if (U_FAILURE(*status))
|
|
return UNORM_MAYBE;
|
|
|
|
/* checking argument*/
|
|
if (mode >= UNORM_MODE_COUNT || mode < UNORM_NONE)
|
|
{
|
|
*status = U_ILLEGAL_ARGUMENT_ERROR;
|
|
return UNORM_MAYBE;
|
|
}
|
|
|
|
if(u_getCombiningClass(0x300) == 0) {
|
|
return UNORM_NO;
|
|
}
|
|
|
|
while (nullterminated || (count != sourcelength))
|
|
{
|
|
/*UTF16_NEXT_CHAR_SAFE(source, count, sourcelength, codepoint, TRUE);*/
|
|
UTF_NEXT_CHAR(source, count, sourcelength, codepoint);
|
|
|
|
if (nullterminated && (codepoint == 0))
|
|
break;
|
|
|
|
combiningclass = u_internalGetCombiningClass(codepoint);
|
|
|
|
/* not in canonical order */
|
|
if (oldcombiningclass > combiningclass && combiningclass != 0)
|
|
return UNORM_NO;
|
|
oldcombiningclass = combiningclass;
|
|
|
|
/* trie access */
|
|
quickcheckvalue = QUICKCHECK_STAGE_3_[
|
|
QUICKCHECK_STAGE_2_[QUICKCHECK_STAGE_1_[codepoint >> STAGE_1_SHIFT_] +
|
|
((codepoint >> STAGE_2_SHIFT_) & STAGE_2_MASK_AFTER_SHIFT_)] +
|
|
(codepoint & STAGE_3_MASK_)] & mask;
|
|
if (quickcheckvalue == 0)
|
|
return UNORM_NO;
|
|
if (quickcheckvalue >= MIN_UNORM_MAYBE_)
|
|
result = UNORM_MAYBE;
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
/* private data members ----------------------------------------------------- */
|
|
|
|
/**
|
|
* Trie data for FCD.
|
|
* Each index corresponds to each code point. Trie value is the combining class
|
|
* of the last character of the NFD of the codepoint.
|
|
* Generated data!! Change at your own risk.
|
|
* Situated here temporary.
|
|
*/
|
|
const uint32_t FCD_STAGE_1_[] =
|
|
{
|
|
0x0, 0x40, 0x75, 0xb2, 0xef, 0xf3, 0x131, 0x151, 0x191, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1fe, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x20e, 0x243, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0,
|
|
0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0, 0x1c0
|
|
};
|
|
|
|
const uint32_t FCD_STAGE_2_[] =
|
|
{
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x10, 0x20, 0x10, 0x2f, 0x3e, 0x4e, 0x5c, 0x6c,
|
|
0x7b, 0x89, 0x95, 0xa3, 0x0, 0x0, 0xb3, 0xc2, 0x3, 0xd2,
|
|
0xe0, 0xef, 0xf7, 0xff, 0x10f, 0x11b, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x12b,
|
|
0x13a, 0x146, 0x153, 0x0, 0x163, 0x0, 0x16e, 0x17d, 0x6, 0x17d,
|
|
0x183, 0x192, 0x0, 0x0, 0x1a2, 0x1b1, 0x0, 0x1b1, 0x0, 0x1a2,
|
|
0x0, 0x1bb, 0x1c8, 0x0, 0x0, 0x0, 0x17b, 0x1d8, 0x1e0, 0x1ea,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f9,
|
|
0x207, 0x217, 0x227, 0x0, 0x0, 0x0, 0x0, 0x0, 0x235, 0x0,
|
|
0x23c, 0x24c, 0x0, 0x25c, 0x0, 0x0, 0x0, 0x0, 0x26c, 0x279,
|
|
0x288, 0x0, 0x0, 0x297, 0x0, 0x2a7, 0x2b6, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x2c1, 0x2d0, 0x2dd, 0x2ec, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x2fc, 0x2dd, 0x309, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x319, 0x2dd, 0x326, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x2fc, 0x2dd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2fc, 0x2dd,
|
|
0x335, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2dd, 0x0, 0x0,
|
|
0x0, 0x0, 0x343, 0x351, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x2dd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2dd, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x358, 0x363, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x371, 0x37c, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x388, 0x392, 0x0, 0x0, 0x0, 0x0, 0x39e, 0x0, 0x3a9,
|
|
0x0, 0x0, 0x0, 0x3b8, 0x3c8, 0x0, 0x0, 0x0, 0x3d2, 0x0,
|
|
0x0, 0x0, 0x3db, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x3e9, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x3f0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x400,
|
|
0x410, 0x41c, 0x42a, 0x438, 0x444, 0x450, 0x45c, 0x46c, 0x47a, 0x48a,
|
|
0x46c, 0x490, 0xf7, 0x498, 0x4a8, 0xf7, 0x1e2, 0xf7, 0xf7, 0x1e2,
|
|
0x4b8, 0xf7, 0x4c7, 0x4d7, 0x4d7, 0x4d7, 0x4e7, 0x4f6, 0x503, 0x510,
|
|
0x51f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x52f, 0x53e, 0x0, 0x0, 0x0, 0x543,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x54f, 0x55b, 0x0, 0x56a,
|
|
0x0, 0x0, 0x0, 0x57a, 0x0, 0x587, 0x0, 0x596, 0x0, 0x59d,
|
|
0x5ab, 0x5ab, 0x0, 0x5b5, 0x0, 0x0, 0x0, 0x5c1, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x5cf, 0x0, 0x5df, 0x5eb, 0x5f7, 0x607, 0x0, 0x615,
|
|
0x5df, 0x5eb, 0x5f7, 0x607, 0x0, 0x624, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x633, 0x643, 0x653, 0x663, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x11b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0
|
|
};
|
|
const uint8_t FCD_STAGE_3_[] =
|
|
{
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe6, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0x0, 0xca, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0x0, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x0,
|
|
0x0, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x0, 0x0, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0x0, 0x0, 0xe6, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0x0, 0xe6, 0xe6, 0xe6, 0xe6, 0xca, 0xca, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x0, 0x0,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xca, 0xca, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xca, 0xca, 0xe6, 0xe6, 0x0, 0x0,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xca, 0xca, 0xe6, 0x0,
|
|
0x0, 0x0, 0xe6, 0xe6, 0xca, 0xca, 0x0, 0xe6, 0xe6, 0xca,
|
|
0xca, 0xe6, 0xe6, 0x0, 0x0, 0x0, 0xe6, 0xe6, 0xca, 0xca,
|
|
0xe6, 0xe6, 0x0, 0x0, 0x0, 0xe6, 0xe6, 0xe6, 0xe6, 0x0,
|
|
0x0, 0xe6, 0xe6, 0xca, 0xca, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0xca, 0xca, 0xe6, 0xe6, 0x0, 0x0, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xca, 0xca, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x0, 0xd8,
|
|
0xd8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0xd8, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0x0, 0xe6, 0xe6, 0xe6, 0xe6, 0x0, 0x0,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xca, 0xca, 0xe6, 0xe6, 0xe6, 0xe6,
|
|
0x0, 0x0, 0x0, 0xe6, 0xe6, 0x0, 0x0, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xdc, 0xdc, 0xdc, 0xdc, 0x0, 0x0, 0xe6,
|
|
0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe6, 0xe6, 0xca,
|
|
0xca, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe8, 0xdc, 0xdc, 0xdc, 0xdc, 0xe8,
|
|
0xd8, 0xdc, 0xdc, 0xdc, 0xdc, 0xca, 0xca, 0xdc, 0xdc, 0xdc,
|
|
0xdc, 0xca, 0xca, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc,
|
|
0x1, 0x1, 0x1, 0x1, 0x1, 0xdc, 0xdc, 0xdc, 0xdc, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xf0, 0xe6, 0xdc, 0xdc, 0xdc, 0xe6,
|
|
0xe6, 0xe6, 0xdc, 0xdc, 0x0, 0xea, 0xea, 0xe9, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0xe6, 0xe6, 0x0, 0xe6, 0xe6, 0xe6, 0x0, 0xe6, 0x0,
|
|
0xe6, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0x0, 0x0, 0x0, 0xe6, 0xe6, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe6, 0xe6,
|
|
0x0, 0xe6, 0x0, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0,
|
|
0xe6, 0xe6, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe6,
|
|
0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0xe6, 0xe6, 0xe6, 0xe6, 0x0, 0x0, 0xe6, 0xe6,
|
|
0x0, 0x0, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x0, 0x0,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x0, 0x0, 0xe6, 0xe6,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdc, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0xdc, 0xe6, 0xe6, 0xe6, 0xde, 0xdc, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0x0, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xe6, 0xe6, 0xdc,
|
|
0xe6, 0xe6, 0xde, 0xe4, 0xe6, 0xa, 0xb, 0xc, 0xd, 0xe,
|
|
0xf, 0x10, 0x11, 0x12, 0x13, 0x0, 0x14, 0x15, 0x16, 0x0,
|
|
0x17, 0x0, 0x18, 0x19, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe6, 0xe6, 0xe6,
|
|
0xdc, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21,
|
|
0x22, 0xe6, 0xe6, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x23, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0xe6, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe6, 0x0, 0x0, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x0, 0x0, 0xe6, 0xe6,
|
|
0xe6, 0xdc, 0xe6, 0x0, 0x0, 0xe6, 0xe6, 0x0, 0xdc, 0xe6,
|
|
0xe6, 0xdc, 0x0, 0x0, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe6,
|
|
0xdc, 0xe6, 0xe6, 0xdc, 0xe6, 0xe6, 0xdc, 0xdc, 0xdc, 0xe6,
|
|
0xdc, 0xdc, 0xe6, 0xdc, 0xe6, 0xe6, 0xdc, 0xe6, 0xdc, 0xe6,
|
|
0xdc, 0xe6, 0xdc, 0xe6, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x7, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0xe6,
|
|
0xdc, 0xe6, 0xe6, 0x0, 0x0, 0x0, 0x7, 0x7, 0x7, 0x7,
|
|
0x7, 0x7, 0x7, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7,
|
|
0x7, 0x0, 0x7, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x7,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x7, 0x7, 0x0, 0x0,
|
|
0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x7, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x5b, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x54, 0x5b, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0,
|
|
0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x67,
|
|
0x67, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x6b, 0x6b, 0x6b, 0x6b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x76, 0x76, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x7a, 0x7a, 0x7a, 0x7a, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0xdc, 0xdc, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0xdc, 0x0, 0xdc, 0x0, 0xd8, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x81, 0x82, 0x82, 0x84, 0x84, 0x82, 0x0,
|
|
0x82, 0x0, 0x82, 0x82, 0x82, 0x82, 0x0, 0x0, 0x82, 0x82,
|
|
0xe6, 0xe6, 0x9, 0x0, 0xe6, 0xe6, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x9, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe4, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0xdc, 0xdc, 0xe6, 0xe6, 0xdc, 0xdc,
|
|
0xdc, 0xdc, 0xe6, 0xe6, 0xe6, 0xe6, 0xdc, 0xdc, 0xdc, 0xdc,
|
|
0xca, 0xca, 0xdc, 0xdc, 0xe6, 0xe6, 0xe6, 0xe6, 0xdc, 0xdc,
|
|
0xdc, 0xdc, 0xe6, 0xe6, 0xe6, 0xe6, 0xdc, 0xdc, 0xe6, 0xe6,
|
|
0xca, 0xca, 0xdc, 0xdc, 0xdc, 0xdc, 0xe6, 0xe6, 0xdc, 0xdc,
|
|
0xdc, 0xdc, 0xdc, 0xdc, 0xe6, 0xe6, 0xdc, 0xdc, 0xdc, 0xdc,
|
|
0xe6, 0xe6, 0xdc, 0xdc, 0xe6, 0xe6, 0xdc, 0xdc, 0xdc, 0xdc,
|
|
0xdc, 0xdc, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xdc, 0xdc, 0xe6, 0xe6, 0xdc, 0xdc, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xdc, 0xdc, 0xdc, 0xdc,
|
|
0xdc, 0xdc, 0xdc, 0xdc, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
|
|
0xdc, 0xdc, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
|
|
0xdc, 0xdc, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xdc, 0xdc,
|
|
0xdc, 0xdc, 0xdc, 0xe6, 0xe6, 0xe6, 0x0, 0xe6, 0x0, 0x0,
|
|
0x0, 0x0, 0xdc, 0xdc, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xdc, 0xdc,
|
|
0xdc, 0xdc, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xdc, 0xdc, 0xe6, 0xe6, 0xdc, 0xdc, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x0, 0xe6, 0x0, 0xe6,
|
|
0x0, 0xe6, 0x0, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x0, 0x0, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe6, 0xe6, 0xf0, 0xf0, 0xf0,
|
|
0x0, 0xe6, 0xf0, 0xe6, 0xe6, 0xe6, 0xe6, 0xf0, 0x0, 0x0,
|
|
0x0, 0xe6, 0xf0, 0xf0, 0xf0, 0x0, 0xe6, 0xf0, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xf0, 0xe6, 0xe6, 0xe6, 0xe6, 0x0, 0x0, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x0, 0xe6, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
|
|
0xe6, 0x0, 0x0, 0xf0, 0xf0, 0xf0, 0x0, 0xe6, 0xf0, 0xe6,
|
|
0xe6, 0xe6, 0xe6, 0xf0, 0x0, 0x0, 0x0, 0xe6, 0xe6, 0x1,
|
|
0x1, 0xe6, 0xe6, 0xe6, 0xe6, 0x1, 0x1, 0x1, 0xe6, 0xe6,
|
|
0x0, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe6, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
|
|
0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
|
|
0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0,
|
|
0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1,
|
|
0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1,
|
|
0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xda, 0xe4, 0xe8,
|
|
0xde, 0xe0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8,
|
|
0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8,
|
|
0x0, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x8, 0x8, 0x0, 0x8, 0x8, 0x0, 0x8,
|
|
0x8, 0x0, 0x8, 0x8, 0x0, 0x8, 0x8, 0x0, 0x0, 0x0,
|
|
0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x8, 0x8, 0x0, 0x0,
|
|
0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x8,
|
|
0x8, 0x8, 0x8, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0xe, 0x1a, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|
0x0, 0x0, 0x0, 0x18, 0x19, 0x18, 0x19, 0x11, 0x12, 0x15,
|
|
0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x0, 0x15, 0x15, 0x15,
|
|
0x15, 0x15, 0x0, 0x15, 0x0, 0x15, 0x15, 0x0, 0x15, 0x15,
|
|
0x0, 0x15, 0x15, 0x15, 0x15, 0x15, 0x13, 0x17, 0x17, 0x17,
|
|
0x0
|
|
};
|
|
|
|
/* private methods ---------------------------------------------------------- */
|
|
|
|
/**
|
|
* Private method which performs a quick FCD check on a string, to quickly
|
|
* determine if a string is in a required FCD format.
|
|
* FCD is the set of strings such that for each character in the string,
|
|
* decomposition without any canonical reordering will produce a NFD.
|
|
* @param source string for determining if it is in a normalized format
|
|
* @param sourcelength length of source to test
|
|
* @paran mode normalization format from the enum UNormalizationMode
|
|
* @param status A pointer to an UErrorCode to receive any errors
|
|
* @return true if source is in FCD format, false otherwise
|
|
*/
|
|
U_CAPI UBool
|
|
checkFCD(const UChar* source, int32_t sourcelength, UErrorCode* status)
|
|
{
|
|
int32_t count = 0;
|
|
UChar32 codepoint;
|
|
uint8_t oldfcd = 0;
|
|
uint8_t fcd = 0;
|
|
UBool nullterminated = (sourcelength == -1);
|
|
|
|
if (U_FAILURE(*status))
|
|
return FALSE;
|
|
|
|
while (nullterminated || count != sourcelength)
|
|
{
|
|
UTF16_NEXT_CHAR_SAFE(source, count, sourcelength, codepoint, TRUE);
|
|
|
|
if (nullterminated && (codepoint == 0))
|
|
break;
|
|
|
|
/* trie access */
|
|
fcd = FCD_STAGE_3_[
|
|
FCD_STAGE_2_[FCD_STAGE_1_[codepoint >> STAGE_1_SHIFT_] +
|
|
((codepoint >> STAGE_2_SHIFT_) & STAGE_2_MASK_AFTER_SHIFT_)] +
|
|
(codepoint & STAGE_3_MASK_)];
|
|
|
|
if (fcd != 0 && oldfcd > fcd)
|
|
return FALSE;
|
|
|
|
oldfcd = fcd;
|
|
}
|
|
|
|
return TRUE;
|
|
}
|