From 54d4ecfe8443dc96578a6f7422841580c4c474cb Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Fri, 17 Nov 2017 11:17:07 -0600 Subject: [PATCH 01/32] Convert functions to use code points This is more accurate because`CodePoint` represents any unicode character, whereas `Char` only works with non-astral characters, due to its JavaScript representation. --- src/Data/Char/Unicode.purs | 123 +++++++------ test/Test/Data/Char/Unicode.purs | 292 ++++++++++++++++--------------- 2 files changed, 219 insertions(+), 196 deletions(-) diff --git a/src/Data/Char/Unicode.purs b/src/Data/Char/Unicode.purs index 4fd2368..a17da3f 100644 --- a/src/Data/Char/Unicode.purs +++ b/src/Data/Char/Unicode.purs @@ -3,7 +3,8 @@ module Data.Char.Unicode where import Prelude -import Data.Char (fromCharCode, toCharCode) +import Data.Char (toCharCode) +import Data.String.CodePoints (CodePoint, codePointToInt, codePointFromInt) import Data.Char.Unicode.Internal ( UnicodeCategory(..) , uTowtitle , uTowlower @@ -17,7 +18,15 @@ import Data.Char.Unicode.Internal ( UnicodeCategory(..) , uIswcntrl , uGencat ) -import Data.Maybe (Maybe(..)) +import Data.Maybe (Maybe(..), fromJust) +import Partial.Unsafe (unsafePartial) + +-- Helpers; should be safe considering this is the Unicode module +charPoint :: Char -> CodePoint +charPoint = unsafePartial fromJust <<< codePointFromInt <<< toCharCode + +modify :: (Int -> Int) -> (CodePoint -> CodePoint) +modify f c = unsafePartial fromJust (codePointFromInt (f (codePointToInt c))) -- | Unicode General Categories (column 2 of the UnicodeData table) in -- | the order they are listed in the Unicode standard (the Unicode @@ -292,93 +301,93 @@ instance boundedGeneralCategory :: Bounded GeneralCategory where -- | >>> generalCategory ' ' -- | Just Space -- | ``` -generalCategory :: Char -> Maybe GeneralCategory -generalCategory = map unicodeCatToGeneralCat <<< uGencat <<< toCharCode +generalCategory :: CodePoint -> Maybe GeneralCategory +generalCategory = map unicodeCatToGeneralCat <<< uGencat <<< codePointToInt -- | Selects the first 128 characters of the Unicode character set, -- | corresponding to the ASCII character set. -isAscii :: Char -> Boolean -isAscii c = c < '\x80' +isAscii :: CodePoint -> Boolean +isAscii c = c < charPoint '\x80' -- | Selects the first 256 characters of the Unicode character set, -- | corresponding to the ISO 8859-1 (Latin-1) character set. -isLatin1 :: Char -> Boolean -isLatin1 c = c <= '\xff' +isLatin1 :: CodePoint -> Boolean +isLatin1 c = c <= charPoint '\xff' -- | Selects ASCII lower-case letters, -- | i.e. characters satisfying both `isAscii` and `isLower`. -isAsciiLower :: Char -> Boolean -isAsciiLower c = c >= 'a' && c <= 'z' +isAsciiLower :: CodePoint -> Boolean +isAsciiLower c = c >= charPoint 'a' && c <= charPoint 'z' -- | Selects ASCII upper-case letters, -- | i.e. characters satisfying both `isAscii` and `isUpper`. -isAsciiUpper :: Char -> Boolean -isAsciiUpper c = c >= 'A' && c <= 'Z' +isAsciiUpper :: CodePoint -> Boolean +isAsciiUpper c = c >= charPoint 'A' && c <= charPoint 'Z' -- | Selects control characters, which are the non-printing characters of -- | the Latin-1 subset of Unicode. -isControl :: Char -> Boolean -isControl = uIswcntrl <<< toCharCode +isControl :: CodePoint -> Boolean +isControl = uIswcntrl <<< codePointToInt -- | Selects printable Unicode characters -- | (letters, numbers, marks, punctuation, symbols and spaces). -isPrint :: Char -> Boolean -isPrint = uIswprint <<< toCharCode +isPrint :: CodePoint -> Boolean +isPrint = uIswprint <<< codePointToInt -- | Returns `True` for any Unicode space character, and the control -- | characters `\t`, `\n`, `\r`, `\f`, `\v`. -- | -- | `isSpace` includes non-breaking space. -isSpace :: Char -> Boolean +isSpace :: CodePoint -> Boolean -- The magic 0x377 used in the code below isn't really that magical. As of -- 2014, all the codepoints at or below 0x377 have been assigned, so we -- shouldn't have to worry about any new spaces appearing below there. isSpace c = if uc <= 0x337 then uc == 32 || (uc >= 9 && uc <= 13) || uc == 0xa0 - else uIswspace $ toCharCode c + else uIswspace uc where uc :: Int - uc = toCharCode c + uc = codePointToInt c -- | Selects upper-case or title-case alphabetic Unicode characters (letters). -- | Title case is used by a small number of letter ligatures like the -- | single-character form of /Lj/. -isUpper :: Char -> Boolean -isUpper = uIswupper <<< toCharCode +isUpper :: CodePoint -> Boolean +isUpper = uIswupper <<< codePointToInt -- | Selects lower-case alphabetic Unicode characters (letters). -isLower :: Char -> Boolean -isLower = uIswlower <<< toCharCode +isLower :: CodePoint -> Boolean +isLower = uIswlower <<< codePointToInt -- | Selects alphabetic Unicode characters (lower-case, upper-case and -- | title-case letters, plus letters of caseless scripts and modifiers letters). -isAlpha :: Char -> Boolean -isAlpha = uIswalpha <<< toCharCode +isAlpha :: CodePoint -> Boolean +isAlpha = uIswalpha <<< codePointToInt -- | Selects alphabetic or numeric digit Unicode characters. -- | -- | Note that numeric digits outside the ASCII range are selected by this -- | function but not by `isDigit`. Such digits may be part of identifiers -- | but are not used by the printer and reader to represent numbers. -isAlphaNum :: Char -> Boolean -isAlphaNum = uIswalnum <<< toCharCode +isAlphaNum :: CodePoint -> Boolean +isAlphaNum = uIswalnum <<< codePointToInt -- | Selects ASCII digits, i.e. `0..9`. -isDigit :: Char -> Boolean -isDigit c = let diff = (toCharCode c - toCharCode '0') +isDigit :: CodePoint -> Boolean +isDigit c = let diff = (codePointToInt c - toCharCode '0') in diff <= 9 && diff >= 0 -- | Selects ASCII octal digits, i.e. `0..7`. -isOctDigit :: Char -> Boolean -isOctDigit c = let diff = (toCharCode c - toCharCode '0') +isOctDigit :: CodePoint -> Boolean +isOctDigit c = let diff = (codePointToInt c - toCharCode '0') in diff <= 7 && diff >= 0 -- | Selects ASCII hexadecimal digits, -- | i.e. `0..9, A..F, a..f`. -isHexDigit :: Char -> Boolean +isHexDigit :: CodePoint -> Boolean isHexDigit c = isDigit c - || (let diff = (toCharCode c - toCharCode 'A') in diff <= 5 && diff >= 0) - || (let diff = (toCharCode c - toCharCode 'a') in diff <= 5 && diff >= 0) + || (let diff = (codePointToInt c - toCharCode 'A') in diff <= 5 && diff >= 0) + || (let diff = (codePointToInt c - toCharCode 'a') in diff <= 5 && diff >= 0) -- | Selects Unicode punctuation characters, including various kinds -- | of connectors, brackets and quotes. @@ -417,7 +426,7 @@ isHexDigit c = isDigit c -- | >>> isPunctuation '—' -- | true -- | ``` -isPunctuation :: Char -> Boolean +isPunctuation :: CodePoint -> Boolean isPunctuation c = case generalCategory c of Just ConnectorPunctuation -> true @@ -467,7 +476,7 @@ isPunctuation c = -- | >>> isSymbol '-' -- | false -- | ``` -isSymbol :: Char -> Boolean +isSymbol :: CodePoint -> Boolean isSymbol c = case generalCategory c of Just MathSymbol -> true @@ -478,41 +487,43 @@ isSymbol c = -- | Convert a letter to the corresponding upper-case letter, if any. -- | Any other character is returned unchanged. -toUpper :: Char -> Char -toUpper = fromCharCode <<< uTowupper <<< toCharCode +toUpper :: CodePoint -> CodePoint +toUpper = modify uTowupper -- | Convert a letter to the corresponding lower-case letter, if any. -- | Any other character is returned unchanged. -toLower :: Char -> Char -toLower = fromCharCode <<< uTowlower <<< toCharCode +toLower :: CodePoint -> CodePoint +toLower = modify uTowlower -- | Convert a letter to the corresponding title-case or upper-case -- | letter, if any. (Title case differs from upper case only for a small -- | number of ligature letters.) -- | Any other character is returned unchanged. -toTitle :: Char -> Char -toTitle = fromCharCode <<< uTowtitle <<< toCharCode +toTitle :: CodePoint -> CodePoint +toTitle = modify uTowtitle --- | Convert a single digit `Char` to the corresponding `Just Int` if its argument +-- | Convert a single digit `CodePoint` to the corresponding `Just Int` if its argument -- | satisfies `isHexDigit`, if it is one of `0..9, A..F, a..f`. Anything else -- | converts to `Nothing` --- | +-- | +-- | Fixme: example should be updated to use CodePoints +-- | -- | ``` -- | >>> import Data.Traversable --- | +-- | -- | >>> traverse digitToInt ['0','1','2','3','4','5','6','7','8','9'] -- | (Just [0,1,2,3,4,5,6,7,8,9]) --- | +-- | -- | >>> traverse digitToInt ['a','b','c','d','e','f'] -- | (Just [10,11,12,13,14,15]) --- | +-- | -- | >>> traverse digitToInt ['A','B','C','D','E','F'] -- | (Just [10,11,12,13,14,15]) --- | +-- | -- | >>> digitToInt 'G' -- | Nothing -- | ``` -digitToInt :: Char -> Maybe Int +digitToInt :: CodePoint -> Maybe Int digitToInt c = result where result :: Maybe Int @@ -523,13 +534,13 @@ digitToInt c = result | otherwise = Nothing dec :: Int - dec = toCharCode c - toCharCode '0' + dec = codePointToInt c - toCharCode '0' hexLower :: Int - hexLower = toCharCode c - toCharCode 'a' + hexLower = codePointToInt c - toCharCode 'a' hexUpper :: Int - hexUpper = toCharCode c - toCharCode 'A' + hexUpper = codePointToInt c - toCharCode 'A' -- | Selects alphabetic Unicode characters (lower-case, upper-case and -- | title-case letters, plus letters of caseless scripts and @@ -578,7 +589,7 @@ digitToInt c = result -- | >>> letters == alphas -- | True -- | ``` -isLetter :: Char -> Boolean +isLetter :: CodePoint -> Boolean isLetter c = case generalCategory c of Just UppercaseLetter -> true @@ -628,7 +639,7 @@ isLetter c = -- | >>> isMark '✓' -- | false -- | ``` -isMark :: Char -> Boolean +isMark :: CodePoint -> Boolean isMark c = case generalCategory c of Just NonSpacingMark -> true @@ -677,7 +688,7 @@ isMark c = -- | >>> isNumber 'Ⅸ' -- | true -- | ``` -isNumber :: Char -> Boolean +isNumber :: CodePoint -> Boolean isNumber c = case generalCategory c of Just DecimalNumber -> true @@ -728,7 +739,7 @@ isNumber c = -- | >>> isSeparator '\160' -- | true -- | ``` -isSeparator :: Char -> Boolean +isSeparator :: CodePoint -> Boolean isSeparator c = case generalCategory c of Just Space -> true diff --git a/test/Test/Data/Char/Unicode.purs b/test/Test/Data/Char/Unicode.purs index a395274..22319ae 100644 --- a/test/Test/Data/Char/Unicode.purs +++ b/test/Test/Data/Char/Unicode.purs @@ -7,9 +7,11 @@ import Control.Monad.Eff.Class (liftEff) import Control.Monad.Eff.Console (CONSOLE()) import Control.Monad.Eff.Exception (EXCEPTION()) import Control.Monad.Eff.Random (RANDOM()) -import Data.Char (fromCharCode) -import Data.Maybe (Maybe(..)) +import Data.Char (toCharCode) +import Data.Maybe (Maybe(..), fromJust) import Data.NonEmpty ((:|)) +import Data.String.CodePoints (CodePoint, codePointFromInt) +import Partial.Unsafe (unsafePartial) import Test.QuickCheck (quickCheck) import Test.QuickCheck.Arbitrary (class Arbitrary) import Test.QuickCheck.Gen (Gen(), oneOf, chooseInt) @@ -40,8 +42,14 @@ import Data.Char.Unicode ( GeneralCategory(..) , isSymbol , isUpper ) +unsafeCodePoint :: Int -> CodePoint +unsafeCodePoint = unsafePartial fromJust <<< codePointFromInt + +charPoint :: Char -> CodePoint +charPoint = unsafePartial fromJust <<< codePointFromInt <<< toCharCode + dataCharUnicodeTests :: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit -dataCharUnicodeTests = describe "module Data.Char.Unicode" do +dataCharUnicodeTests = describe "module Data.CodePoint.Unicode" do generalCategoryDataTypeTests generalCategoryTests isAsciiTests @@ -89,93 +97,97 @@ generalCategoryDataTypeTests = describe "GeneralCategory instances" do generalCategoryTests :: forall eff . Spec eff Unit generalCategoryTests = describe "generalCategory" do - it "generalCategory 'a' == LowercaseLetter" $ - generalCategory 'a' `shouldEqual` Just LowercaseLetter - it "generalCategory 'A' == UppercaseLetter" $ - generalCategory 'A' `shouldEqual` Just UppercaseLetter - it "generalCategory '0' == DecimalNumber" $ - generalCategory '0' `shouldEqual` Just DecimalNumber - it "generalCategory '%' == OtherPunctuation" $ - generalCategory '%' `shouldEqual` Just OtherPunctuation - it "generalCategory '♥' == OtherSymbol" $ - generalCategory '♥' `shouldEqual` Just OtherSymbol - it "generalCategory '\\31' == Control" $ - generalCategory '\31' `shouldEqual` Just Control - it "generalCategory ' ' == Space" $ - generalCategory ' ' `shouldEqual` Just Space - it "generalCategory '本' == OtherLetter" $ - generalCategory '本' `shouldEqual` Just OtherLetter - -newtype AsciiChar = AsciiChar Char -instance arbitrayAsciiChar :: Arbitrary AsciiChar where - arbitrary = AsciiChar <<< fromCharCode <$> chooseInt 0 0x7F - -newtype NonAsciiChar = NonAsciiChar Char -instance arbitrayNonAsciiChar :: Arbitrary NonAsciiChar where - arbitrary = NonAsciiChar <<< fromCharCode <$> chooseInt 0x80 0xFFFF - -newtype Latin1Char = Latin1Char Char -instance arbitrayLatin1Char :: Arbitrary Latin1Char where - arbitrary = Latin1Char <<< fromCharCode <$> chooseInt 0x80 0xFF - -newtype NonLatin1Char = NonLatin1Char Char -instance arbitrayNonLatin1Char :: Arbitrary NonLatin1Char where - arbitrary = NonLatin1Char <<< fromCharCode <$> chooseInt 0x100 0xFFFF - -newtype AsciiLowerChar = AsciiLowerChar Char -instance arbitrayAsciiLowerChar :: Arbitrary AsciiLowerChar where - arbitrary = AsciiLowerChar <<< fromCharCode <$> chooseInt 0x61 0x7A - -newtype NonAsciiLowerChar = NonAsciiLowerChar Char -instance arbitrayNonAsciiLowerChar :: Arbitrary NonAsciiLowerChar where - arbitrary = NonAsciiLowerChar <<< fromCharCode <$> oneOf (g :| [g , chooseInt 0x7B 0xFFFF]) + it "generalCategory (charPoint 'a') == LowercaseLetter" $ + generalCategory (charPoint 'a') `shouldEqual` Just LowercaseLetter + it "generalCategory (charPoint 'A') == UppercaseLetter" $ + generalCategory (charPoint 'A') `shouldEqual` Just UppercaseLetter + it "generalCategory (charPoint '0') == DecimalNumber" $ + generalCategory (charPoint '0') `shouldEqual` Just DecimalNumber + it "generalCategory (charPoint '%') == OtherPunctuation" $ + generalCategory (charPoint '%') `shouldEqual` Just OtherPunctuation + it "generalCategory (charPoint '♥') == OtherSymbol" $ + generalCategory (charPoint '♥') `shouldEqual` Just OtherSymbol + it "generalCategory (charPoint '\\31') == Control" $ + generalCategory (charPoint '\31') `shouldEqual` Just Control + it "generalCategory (charPoint ' ') == Space" $ + generalCategory (charPoint ' ') `shouldEqual` Just Space + it "generalCategory (charPoint '本') == OtherLetter" $ + generalCategory (charPoint '本') `shouldEqual` Just OtherLetter + +newtype CP = CP CodePoint +instance arbitraryCP :: Arbitrary CP where + arbitrary = CP <<< unsafeCodePoint <$> chooseInt 0 0x10FFFF + +newtype AsciiChar = AsciiChar CodePoint +instance arbitraryAsciiChar :: Arbitrary AsciiChar where + arbitrary = AsciiChar <<< unsafeCodePoint <$> chooseInt 0 0x7F + +newtype NonAsciiChar = NonAsciiChar CodePoint +instance arbitraryNonAsciiChar :: Arbitrary NonAsciiChar where + arbitrary = NonAsciiChar <<< unsafeCodePoint <$> chooseInt 0x80 0xFFFF + +newtype Latin1Char = Latin1Char CodePoint +instance arbitraryLatin1Char :: Arbitrary Latin1Char where + arbitrary = Latin1Char <<< unsafeCodePoint <$> chooseInt 0x80 0xFF + +newtype NonLatin1Char = NonLatin1Char CodePoint +instance arbitraryNonLatin1Char :: Arbitrary NonLatin1Char where + arbitrary = NonLatin1Char <<< unsafeCodePoint <$> chooseInt 0x100 0xFFFF + +newtype AsciiLowerChar = AsciiLowerChar CodePoint +instance arbitraryAsciiLowerChar :: Arbitrary AsciiLowerChar where + arbitrary = AsciiLowerChar <<< unsafeCodePoint <$> chooseInt 0x61 0x7A + +newtype NonAsciiLowerChar = NonAsciiLowerChar CodePoint +instance arbitraryNonAsciiLowerChar :: Arbitrary NonAsciiLowerChar where + arbitrary = NonAsciiLowerChar <<< unsafeCodePoint <$> oneOf (g :| [g , chooseInt 0x7B 0xFFFF]) where g :: Gen Int g = chooseInt 0 0x60 -newtype AsciiUpperChar = AsciiUpperChar Char -instance arbitrayAsciiUpperChar :: Arbitrary AsciiUpperChar where - arbitrary = AsciiUpperChar <<< fromCharCode <$> chooseInt 0x41 0x5A +newtype AsciiUpperChar = AsciiUpperChar CodePoint +instance arbitraryAsciiUpperChar :: Arbitrary AsciiUpperChar where + arbitrary = AsciiUpperChar <<< unsafeCodePoint <$> chooseInt 0x41 0x5A -newtype NonAsciiUpperChar = NonAsciiUpperChar Char -instance arbitrayNonAsciiUpperChar :: Arbitrary NonAsciiUpperChar where - arbitrary = NonAsciiUpperChar <<< fromCharCode <$> oneOf (g :| [g , chooseInt 0x5B 0xFFFF]) +newtype NonAsciiUpperChar = NonAsciiUpperChar CodePoint +instance arbitraryNonAsciiUpperChar :: Arbitrary NonAsciiUpperChar where + arbitrary = NonAsciiUpperChar <<< unsafeCodePoint <$> oneOf (g :| [g , chooseInt 0x5B 0xFFFF]) where g :: Gen Int g = chooseInt 0 0x40 -newtype AsciiDigit = AsciiDigit Char -instance arbitrayAsciiDigit :: Arbitrary AsciiDigit where - arbitrary = AsciiDigit <<< fromCharCode <$> chooseInt 0x30 0x39 +newtype AsciiDigit = AsciiDigit CodePoint +instance arbitraryAsciiDigit :: Arbitrary AsciiDigit where + arbitrary = AsciiDigit <<< unsafeCodePoint <$> chooseInt 0x30 0x39 -newtype NonAsciiDigit = NonAsciiDigit Char -instance arbitrayNonAsciiDigit :: Arbitrary NonAsciiDigit where - arbitrary = NonAsciiDigit <<< fromCharCode <$> oneOf (g :| [g , chooseInt 0x3A 0xFFFF]) +newtype NonAsciiDigit = NonAsciiDigit CodePoint +instance arbitraryNonAsciiDigit :: Arbitrary NonAsciiDigit where + arbitrary = NonAsciiDigit <<< unsafeCodePoint <$> oneOf (g :| [g , chooseInt 0x3A 0xFFFF]) where g :: Gen Int g = chooseInt 0 0x2F -newtype AsciiOctDigit = AsciiOctDigit Char -instance arbitrayAsciiOctDigit :: Arbitrary AsciiOctDigit where - arbitrary = AsciiOctDigit <<< fromCharCode <$> chooseInt 0x30 0x37 +newtype AsciiOctDigit = AsciiOctDigit CodePoint +instance arbitraryAsciiOctDigit :: Arbitrary AsciiOctDigit where + arbitrary = AsciiOctDigit <<< unsafeCodePoint <$> chooseInt 0x30 0x37 -newtype NonAsciiOctDigit = NonAsciiOctDigit Char -instance arbitrayNonAsciiOctDigit :: Arbitrary NonAsciiOctDigit where - arbitrary = NonAsciiOctDigit <<< fromCharCode <$> oneOf (g :| [g , chooseInt 0x38 0xFFFF]) +newtype NonAsciiOctDigit = NonAsciiOctDigit CodePoint +instance arbitraryNonAsciiOctDigit :: Arbitrary NonAsciiOctDigit where + arbitrary = NonAsciiOctDigit <<< unsafeCodePoint <$> oneOf (g :| [g , chooseInt 0x38 0xFFFF]) where g :: Gen Int g = chooseInt 0 0x2F -newtype AsciiHexDigit = AsciiHexDigit Char -instance arbitrayAsciiHexDigit :: Arbitrary AsciiHexDigit where - arbitrary = AsciiHexDigit <<< fromCharCode <$> oneOf (g :| [g, chooseInt 0x41 0x46, chooseInt 0x61 0x66]) +newtype AsciiHexDigit = AsciiHexDigit CodePoint +instance arbitraryAsciiHexDigit :: Arbitrary AsciiHexDigit where + arbitrary = AsciiHexDigit <<< unsafeCodePoint <$> oneOf (g :| [g, chooseInt 0x41 0x46, chooseInt 0x61 0x66]) where g :: Gen Int g = chooseInt 0x30 0x37 -newtype NonAsciiHexDigit = NonAsciiHexDigit Char -instance arbitrayNonAsciiHexDigit :: Arbitrary NonAsciiHexDigit where - arbitrary = NonAsciiHexDigit <<< fromCharCode <$> oneOf (g :| [g, chooseInt 0x3A 0x40, chooseInt 0x4A 0x60, chooseInt 0x67 0xFFFF]) +newtype NonAsciiHexDigit = NonAsciiHexDigit CodePoint +instance arbitraryNonAsciiHexDigit :: Arbitrary NonAsciiHexDigit where + arbitrary = NonAsciiHexDigit <<< unsafeCodePoint <$> oneOf (g :| [g, chooseInt 0x3A 0x40, chooseInt 0x4A 0x60, chooseInt 0x67 0xFFFF]) where g :: Gen Int g = chooseInt 0 0x2F @@ -204,91 +216,91 @@ isAsciiUpperTests = describe "isAsciiUpper" do isControlTests :: forall eff . Spec eff Unit isControlTests = describe "isControl" do it "'\\04' is Control" $ - isControl '\04' `shouldEqual` true + isControl (charPoint '\04') `shouldEqual` true it "'a' is not Control" $ - isControl 'a' `shouldEqual` false + isControl (charPoint 'a') `shouldEqual` false isPrintTests :: forall eff . Spec eff Unit isPrintTests = describe "isPrint" do it "'\\04' is not Print" $ - isPrint '\04' `shouldEqual` false + isPrint (charPoint '\04') `shouldEqual` false it "'\\n' is not Print" $ - isPrint '\n' `shouldEqual` false + isPrint (charPoint '\n') `shouldEqual` false it "'a' is Print" $ - isPrint 'a' `shouldEqual` true + isPrint (charPoint 'a') `shouldEqual` true it "' ' is Print" $ - isPrint ' ' `shouldEqual` true + isPrint (charPoint ' ') `shouldEqual` true isSpaceTests :: forall eff . Spec eff Unit isSpaceTests = describe "isSpace" do it "' ' is Space" $ - isSpace ' ' `shouldEqual` true + isSpace (charPoint ' ') `shouldEqual` true it "' ' is Space" $ - isSpace ' ' `shouldEqual` true + isSpace (charPoint ' ') `shouldEqual` true it "'\\n' is Space" $ - isSpace '\n' `shouldEqual` true + isSpace (charPoint '\n') `shouldEqual` true it "'\\t' is Space" $ - isSpace '\t' `shouldEqual` true + isSpace (charPoint '\t') `shouldEqual` true it "'a' is not Space" $ - isSpace 'a' `shouldEqual` false + isSpace (charPoint 'a') `shouldEqual` false isUpperTests :: forall eff . Spec eff Unit isUpperTests = describe "isUpper" do it "'Z' is Upper" $ - isUpper 'Z' `shouldEqual` true + isUpper (charPoint 'Z') `shouldEqual` true it "'a' is not Upper" $ - isUpper 'a' `shouldEqual` false + isUpper (charPoint 'a') `shouldEqual` false it "' ' is not Upper" $ - isUpper ' ' `shouldEqual` false + isUpper (charPoint ' ') `shouldEqual` false it "'\\n' is not Upper" $ - isUpper '\n' `shouldEqual` false + isUpper (charPoint '\n') `shouldEqual` false it "'日' is not Upper" $ - isUpper '日' `shouldEqual` false + isUpper (charPoint '日') `shouldEqual` false isLowerTests :: forall eff . Spec eff Unit isLowerTests = describe "isLower" do it "'a' is Lower" $ - isLower 'a' `shouldEqual` true + isLower (charPoint 'a') `shouldEqual` true it "'Z' is not Lower" $ - isLower 'Z' `shouldEqual` false + isLower (charPoint 'Z') `shouldEqual` false it "' ' is not Lower" $ - isLower ' ' `shouldEqual` false + isLower (charPoint ' ') `shouldEqual` false it "'\\n' is not Lower" $ - isLower '\n' `shouldEqual` false + isLower (charPoint '\n') `shouldEqual` false it "'日' is not Lower" $ - isLower '日' `shouldEqual` false + isLower (charPoint '日') `shouldEqual` false isAlphaTests :: forall eff . Spec eff Unit isAlphaTests = describe "isAlpha" do it "'a' is Alpha" $ - isAlpha 'a' `shouldEqual` true + isAlpha (charPoint 'a') `shouldEqual` true it "'Z' is Alpha" $ - isAlpha 'Z' `shouldEqual` true + isAlpha (charPoint 'Z') `shouldEqual` true it "'日' is Alpha" $ - isAlpha '日' `shouldEqual` true + isAlpha (charPoint '日') `shouldEqual` true it "' ' is not Alpha" $ - isAlpha ' ' `shouldEqual` false + isAlpha (charPoint ' ') `shouldEqual` false it "'\\n' is not Alpha" $ - isAlpha '\n' `shouldEqual` false + isAlpha (charPoint '\n') `shouldEqual` false isAlphaNumTests :: forall eff . Spec eff Unit isAlphaNumTests = describe "isAlphaNum" do it "'a' is AlphaNum" $ - isAlphaNum 'a' `shouldEqual` true + isAlphaNum (charPoint 'a') `shouldEqual` true it "'Z' is AlphaNum" $ - isAlphaNum 'Z' `shouldEqual` true + isAlphaNum (charPoint 'Z') `shouldEqual` true it "'日' is AlphaNum" $ - isAlphaNum '日' `shouldEqual` true + isAlphaNum (charPoint '日') `shouldEqual` true it "'1' is AlphaNum" $ - isAlphaNum '1' `shouldEqual` true + isAlphaNum (charPoint '1') `shouldEqual` true it "'2' is AlphaNum" $ - isAlphaNum '2' `shouldEqual` true + isAlphaNum (charPoint '2') `shouldEqual` true it "'③' is AlphaNum" $ - isAlphaNum '③' `shouldEqual` true + isAlphaNum (charPoint '③') `shouldEqual` true it "' ' is not AlphaNum" $ - isAlphaNum ' ' `shouldEqual` false + isAlphaNum (charPoint ' ') `shouldEqual` false it "'\\n' is not AlphaNum" $ - isAlphaNum '\n' `shouldEqual` false + isAlphaNum (charPoint '\n') `shouldEqual` false isDigitTests :: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit isDigitTests = describe "isDigit" do @@ -308,36 +320,36 @@ isHexDigitTests = describe "isHexDigit" do isPunctuationTests :: forall eff . Spec eff Unit isPunctuationTests = describe "isPunctuation" do it "'a' is not Punctuation" $ - isPunctuation 'a' `shouldEqual` false + isPunctuation (charPoint 'a') `shouldEqual` false it "'7' is not Punctuation" $ - isPunctuation '7' `shouldEqual` false + isPunctuation (charPoint '7') `shouldEqual` false it "'♥' is not Punctuation" $ - isPunctuation '♥' `shouldEqual` false + isPunctuation (charPoint '♥') `shouldEqual` false it "'日' is not Punctuation" $ - isPunctuation '日' `shouldEqual` false + isPunctuation (charPoint '日') `shouldEqual` false it "'\"' is Punctuation" $ - isPunctuation '"' `shouldEqual` true + isPunctuation (charPoint '"') `shouldEqual` true it "'?' is Punctuation" $ - isPunctuation '?' `shouldEqual` true + isPunctuation (charPoint '?') `shouldEqual` true it "'—' is Punctuation" $ - isPunctuation '—' `shouldEqual` true + isPunctuation (charPoint '—') `shouldEqual` true isSymbolTests :: forall eff . Spec eff Unit isSymbolTests = describe "isSymbol" do it "'a' is not Symbol" $ - isSymbol 'a' `shouldEqual` false + isSymbol (charPoint 'a') `shouldEqual` false it "'6' is not Symbol" $ - isSymbol '6' `shouldEqual` false + isSymbol (charPoint '6') `shouldEqual` false it "'語' is not Symbol" $ - isSymbol '語' `shouldEqual` false + isSymbol (charPoint '語') `shouldEqual` false it "'-' is not Symbol" $ - isSymbol '-' `shouldEqual` false + isSymbol (charPoint '-') `shouldEqual` false it "'♥' is Symbol" $ - isSymbol '♥' `shouldEqual` true + isSymbol (charPoint '♥') `shouldEqual` true it "'=' is Symbol" $ - isSymbol '=' `shouldEqual` true + isSymbol (charPoint '=') `shouldEqual` true it "'+' is Symbol" $ - isSymbol '+' `shouldEqual` true + isSymbol (charPoint '+') `shouldEqual` true -- TODO: These. toUpperTests :: forall eff . Spec eff Unit @@ -350,68 +362,68 @@ toTitleTests = pure unit digitToIntTests :: forall eff . Spec eff Unit digitToIntTests = describe "digitToInt" do it "'0'..'9' get mapped correctly" $ - map digitToInt ['0','1','2','3','4','5','6','7','8','9'] `shouldEqual` + map (digitToInt <<< charPoint) ['0','1','2','3','4','5','6','7','8','9'] `shouldEqual` [Just 0, Just 1, Just 2, Just 3, Just 4, Just 5, Just 6, Just 7, Just 8, Just 9] it "'a'..'f' get mapped correctly" $ - map digitToInt ['a','b','c','d','e','f'] `shouldEqual` + map (digitToInt <<< charPoint) ['a','b','c','d','e','f'] `shouldEqual` [Just 10, Just 11, Just 12, Just 13, Just 14, Just 15] it "'A'..'F' get mapped correctly" $ - map digitToInt ['A','B','C','D','E','F'] `shouldEqual` + map (digitToInt <<< charPoint) ['A','B','C','D','E','F'] `shouldEqual` [Just 10, Just 11, Just 12, Just 13, Just 14, Just 15] it "'G' is not a digit" $ - digitToInt 'G' `shouldEqual` Nothing + digitToInt (charPoint 'G') `shouldEqual` Nothing it "'♥' is not a digit" $ - digitToInt '♥' `shouldEqual` Nothing + digitToInt (charPoint '♥') `shouldEqual` Nothing it "'国' is not a digit" $ - digitToInt '国' `shouldEqual` Nothing + digitToInt (charPoint '国') `shouldEqual` Nothing isLetterTests:: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit isLetterTests = describe "isLetter" do - it "isLetter == isAlpha" $ liftEff $ quickCheck \char -> isLetter char == isAlpha char + it "isLetter == isAlpha" $ liftEff $ quickCheck \(CP char) -> isLetter char == isAlpha char isMarkTests :: forall eff . Spec eff Unit isMarkTests = describe "isMark" do -- TODO: Add a positive test here. it "'a' is not Mark" $ - isMark 'a' `shouldEqual` false + isMark (charPoint 'a') `shouldEqual` false it "'0' is not Mark" $ - isMark '0' `shouldEqual` false + isMark (charPoint '0') `shouldEqual` false it "'語' is not Mark" $ - isMark '語' `shouldEqual` false + isMark (charPoint '語') `shouldEqual` false it "'♥' is not Mark" $ - isMark '♥' `shouldEqual` false + isMark (charPoint '♥') `shouldEqual` false isNumberTests :: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit isNumberTests = describe "isNumber" do it "'a' is not Number" $ - isNumber 'a' `shouldEqual` false + isNumber (charPoint 'a') `shouldEqual` false it "'%' is not Number" $ - isNumber '%' `shouldEqual` false + isNumber (charPoint '%') `shouldEqual` false it "'語' is not Number" $ - isNumber '語' `shouldEqual` false + isNumber (charPoint '語') `shouldEqual` false it "'♥' is not Number" $ - isNumber '♥' `shouldEqual` false + isNumber (charPoint '♥') `shouldEqual` false it "'3' is Number" $ - isNumber '3' `shouldEqual` true + isNumber (charPoint '3') `shouldEqual` true it "'Ⅸ' is Number" $ - isNumber 'Ⅸ' `shouldEqual` true + isNumber (charPoint 'Ⅸ') `shouldEqual` true it "'3' is Number" $ - isNumber '3' `shouldEqual` true + isNumber (charPoint '3') `shouldEqual` true it "'⑳' is Number" $ - isNumber '⑳' `shouldEqual` true + isNumber (charPoint '⑳') `shouldEqual` true it "0..9 are Number" $ liftEff $ quickCheck \(AsciiDigit char) -> isNumber char isSeparatorTests :: forall eff . Spec eff Unit isSeparatorTests = describe "isSeparator" do it "'a' is not Separator" $ - isSeparator 'a' `shouldEqual` false + isSeparator (charPoint 'a') `shouldEqual` false it "'9' is not Separator" $ - isSeparator '9' `shouldEqual` false + isSeparator (charPoint '9') `shouldEqual` false it "'\\n' is not Separator" $ - isSeparator '\n' `shouldEqual` false + isSeparator (charPoint '\n') `shouldEqual` false it "'\\t' is not Separator" $ - isSeparator '\t' `shouldEqual` false + isSeparator (charPoint '\t') `shouldEqual` false it "' ' is Separator" $ - isSeparator ' ' `shouldEqual` true + isSeparator (charPoint ' ') `shouldEqual` true it "'\\160' is Separator" $ - isSeparator '\160' `shouldEqual` true + isSeparator (charPoint '\160') `shouldEqual` true From 8bf5762cfa676e6b731874827c80675419283162 Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Mon, 25 Dec 2017 23:43:24 -0600 Subject: [PATCH 02/32] Change namespace to Data.CodePoint.Unicode --- .gitignore | 2 + README.md | 2 +- src/Data/{Char => CodePoint}/Unicode.purs | 29 ++++++----- .../{Char => CodePoint}/Unicode/Internal.purs | 3 +- .../Data/{Char => CodePoint}/Unicode.purs | 49 +++++++++---------- test/Test/Main.purs | 2 +- ubconfc | 2 +- 7 files changed, 44 insertions(+), 45 deletions(-) rename src/Data/{Char => CodePoint}/Unicode.purs (97%) rename src/Data/{Char => CodePoint}/Unicode/Internal.purs (99%) rename test/Test/Data/{Char => CodePoint}/Unicode.purs (94%) diff --git a/.gitignore b/.gitignore index 72f0fa6..0bcc22e 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ # Release builds of the purescript compiler appear to be compiled with # profiling enabled. This causes psc and friends to create these *.tix files. *.tix + +UnicodeData\.txt diff --git a/README.md b/README.md index 4e72d76..16fb916 100644 --- a/README.md +++ b/README.md @@ -23,5 +23,5 @@ can be generated with the following command: ```sh $ wget 'http://www.unicode.org/Public/6.0.0/ucd/UnicodeData.txt' -$ ./ubconfc < UnicodeData.txt > src/Data/Char/Unicode/Internal.purs +$ ./ubconfc < UnicodeData.txt > src/Data/CodePoint/Unicode/Internal.purs ``` diff --git a/src/Data/Char/Unicode.purs b/src/Data/CodePoint/Unicode.purs similarity index 97% rename from src/Data/Char/Unicode.purs rename to src/Data/CodePoint/Unicode.purs index a17da3f..7e9c73a 100644 --- a/src/Data/Char/Unicode.purs +++ b/src/Data/CodePoint/Unicode.purs @@ -1,23 +1,22 @@ - -module Data.Char.Unicode where +module Data.CodePoint.Unicode where import Prelude import Data.Char (toCharCode) import Data.String.CodePoints (CodePoint, codePointToInt, codePointFromInt) -import Data.Char.Unicode.Internal ( UnicodeCategory(..) - , uTowtitle - , uTowlower - , uTowupper - , uIswalnum - , uIswalpha - , uIswlower - , uIswupper - , uIswspace - , uIswprint - , uIswcntrl - , uGencat - ) +import Data.CodePoint.Unicode.Internal ( UnicodeCategory(..) + , uTowtitle + , uTowlower + , uTowupper + , uIswalnum + , uIswalpha + , uIswlower + , uIswupper + , uIswspace + , uIswprint + , uIswcntrl + , uGencat + ) import Data.Maybe (Maybe(..), fromJust) import Partial.Unsafe (unsafePartial) diff --git a/src/Data/Char/Unicode/Internal.purs b/src/Data/CodePoint/Unicode/Internal.purs similarity index 99% rename from src/Data/Char/Unicode/Internal.purs rename to src/Data/CodePoint/Unicode/Internal.purs index ef80f14..d144469 100644 --- a/src/Data/Char/Unicode/Internal.purs +++ b/src/Data/CodePoint/Unicode/Internal.purs @@ -4,7 +4,7 @@ ----------------------------------------------------------- -module Data.Char.Unicode.Internal where +module Data.CodePoint.Unicode.Internal where import Prelude @@ -4864,4 +4864,3 @@ uGencat :: Int -> Maybe UnicodeCategory uGencat char = let conversionRule = getRule allchars char numBlocks in map (\(ConversionRule rule) -> rule.unicodeCat) conversionRule - diff --git a/test/Test/Data/Char/Unicode.purs b/test/Test/Data/CodePoint/Unicode.purs similarity index 94% rename from test/Test/Data/Char/Unicode.purs rename to test/Test/Data/CodePoint/Unicode.purs index 22319ae..2ae3e57 100644 --- a/test/Test/Data/Char/Unicode.purs +++ b/test/Test/Data/CodePoint/Unicode.purs @@ -1,5 +1,4 @@ - -module Test.Data.Char.Unicode (dataCharUnicodeTests) where +module Test.Data.CodePoint.Unicode (dataCharUnicodeTests) where import Prelude @@ -18,29 +17,29 @@ import Test.QuickCheck.Gen (Gen(), oneOf, chooseInt) import Test.Spec (Spec, describe, it) import Test.Spec.Assertions (shouldEqual) -import Data.Char.Unicode ( GeneralCategory(..) - , digitToInt - , generalCategory - , isAlpha - , isAlphaNum - , isAscii - , isAsciiLower - , isAsciiUpper - , isControl - , isDigit - , isHexDigit - , isLatin1 - , isLetter - , isLower - , isMark - , isNumber - , isOctDigit - , isPrint - , isPunctuation - , isSeparator - , isSpace - , isSymbol - , isUpper ) +import Data.CodePoint.Unicode ( GeneralCategory(..) + , digitToInt + , generalCategory + , isAlpha + , isAlphaNum + , isAscii + , isAsciiLower + , isAsciiUpper + , isControl + , isDigit + , isHexDigit + , isLatin1 + , isLetter + , isLower + , isMark + , isNumber + , isOctDigit + , isPrint + , isPunctuation + , isSeparator + , isSpace + , isSymbol + , isUpper ) unsafeCodePoint :: Int -> CodePoint unsafeCodePoint = unsafePartial fromJust <<< codePointFromInt diff --git a/test/Test/Main.purs b/test/Test/Main.purs index 4e7a9ce..a351a4c 100644 --- a/test/Test/Main.purs +++ b/test/Test/Main.purs @@ -8,7 +8,7 @@ import Control.Monad.Eff.Exception (EXCEPTION) import Control.Monad.Eff.Random (RANDOM) import Control.Monad.Eff.Timer (TIMER) import Node.Process (PROCESS) -import Test.Data.Char.Unicode (dataCharUnicodeTests) +import Test.Data.CodePoint.Unicode (dataCharUnicodeTests) import Test.Spec.Reporter.Console (consoleReporter) import Test.Spec.Runner (run) diff --git a/ubconfc b/ubconfc index 42a94b0..f88f0b5 100755 --- a/ubconfc +++ b/ubconfc @@ -28,7 +28,7 @@ echo cat < Date: Mon, 25 Dec 2017 23:53:40 -0600 Subject: [PATCH 03/32] Update docs too --- README.md | 4 +- .../Data/{Char => CodePoint}/Unicode.md | 68 +- .../{Char => CodePoint}/Unicode/Internal.md | 786 +++++++++--------- 3 files changed, 436 insertions(+), 422 deletions(-) rename generated-docs/Data/{Char => CodePoint}/Unicode.md (89%) rename generated-docs/Data/{Char => CodePoint}/Unicode/Internal.md (98%) diff --git a/README.md b/README.md index 16fb916..38899c2 100644 --- a/README.md +++ b/README.md @@ -14,11 +14,11 @@ $ bower install purescript-unicode ## Module documentation -- [Data.Char.Unicode](docs/Data/Char/Unicode.md) +- [Data.CodePoint.Unicode](docs/Data/Char/Unicode.md) ## Generate Internal module -The [Data.Char.Unicode.Internal](src/Data/Char/Unicode/Internal.purs) module +The [Data.CodePoint.Unicode.Internal](src/Data/Char/Unicode/Internal.purs) module can be generated with the following command: ```sh diff --git a/generated-docs/Data/Char/Unicode.md b/generated-docs/Data/CodePoint/Unicode.md similarity index 89% rename from generated-docs/Data/Char/Unicode.md rename to generated-docs/Data/CodePoint/Unicode.md index 994ac7a..fbd3053 100644 --- a/generated-docs/Data/Char/Unicode.md +++ b/generated-docs/Data/CodePoint/Unicode.md @@ -1,4 +1,16 @@ -## Module Data.Char.Unicode +## Module Data.CodePoint.Unicode + +#### `charPoint` + +``` purescript +charPoint :: Char -> CodePoint +``` + +#### `modify` + +``` purescript +modify :: (Int -> Int) -> (CodePoint -> CodePoint) +``` #### `GeneralCategory` @@ -117,7 +129,7 @@ unicodeCatToGeneralCat :: UnicodeCategory -> GeneralCategory #### `generalCategory` ``` purescript -generalCategory :: Char -> Maybe GeneralCategory +generalCategory :: CodePoint -> Maybe GeneralCategory ``` The Unicode general category of the character. @@ -146,7 +158,7 @@ Just Space #### `isAscii` ``` purescript -isAscii :: Char -> Boolean +isAscii :: CodePoint -> Boolean ``` Selects the first 128 characters of the Unicode character set, @@ -155,7 +167,7 @@ corresponding to the ASCII character set. #### `isLatin1` ``` purescript -isLatin1 :: Char -> Boolean +isLatin1 :: CodePoint -> Boolean ``` Selects the first 256 characters of the Unicode character set, @@ -164,7 +176,7 @@ corresponding to the ISO 8859-1 (Latin-1) character set. #### `isAsciiLower` ``` purescript -isAsciiLower :: Char -> Boolean +isAsciiLower :: CodePoint -> Boolean ``` Selects ASCII lower-case letters, @@ -173,7 +185,7 @@ i.e. characters satisfying both `isAscii` and `isLower`. #### `isAsciiUpper` ``` purescript -isAsciiUpper :: Char -> Boolean +isAsciiUpper :: CodePoint -> Boolean ``` Selects ASCII upper-case letters, @@ -182,7 +194,7 @@ i.e. characters satisfying both `isAscii` and `isUpper`. #### `isControl` ``` purescript -isControl :: Char -> Boolean +isControl :: CodePoint -> Boolean ``` Selects control characters, which are the non-printing characters of @@ -191,7 +203,7 @@ the Latin-1 subset of Unicode. #### `isPrint` ``` purescript -isPrint :: Char -> Boolean +isPrint :: CodePoint -> Boolean ``` Selects printable Unicode characters @@ -200,7 +212,7 @@ Selects printable Unicode characters #### `isSpace` ``` purescript -isSpace :: Char -> Boolean +isSpace :: CodePoint -> Boolean ``` Returns `True` for any Unicode space character, and the control @@ -211,7 +223,7 @@ characters `\t`, `\n`, `\r`, `\f`, `\v`. #### `isUpper` ``` purescript -isUpper :: Char -> Boolean +isUpper :: CodePoint -> Boolean ``` Selects upper-case or title-case alphabetic Unicode characters (letters). @@ -221,7 +233,7 @@ single-character form of /Lj/. #### `isLower` ``` purescript -isLower :: Char -> Boolean +isLower :: CodePoint -> Boolean ``` Selects lower-case alphabetic Unicode characters (letters). @@ -229,7 +241,7 @@ Selects lower-case alphabetic Unicode characters (letters). #### `isAlpha` ``` purescript -isAlpha :: Char -> Boolean +isAlpha :: CodePoint -> Boolean ``` Selects alphabetic Unicode characters (lower-case, upper-case and @@ -238,7 +250,7 @@ title-case letters, plus letters of caseless scripts and modifiers letters). #### `isAlphaNum` ``` purescript -isAlphaNum :: Char -> Boolean +isAlphaNum :: CodePoint -> Boolean ``` Selects alphabetic or numeric digit Unicode characters. @@ -250,7 +262,7 @@ but are not used by the printer and reader to represent numbers. #### `isDigit` ``` purescript -isDigit :: Char -> Boolean +isDigit :: CodePoint -> Boolean ``` Selects ASCII digits, i.e. `0..9`. @@ -258,7 +270,7 @@ Selects ASCII digits, i.e. `0..9`. #### `isOctDigit` ``` purescript -isOctDigit :: Char -> Boolean +isOctDigit :: CodePoint -> Boolean ``` Selects ASCII octal digits, i.e. `0..7`. @@ -266,7 +278,7 @@ Selects ASCII octal digits, i.e. `0..7`. #### `isHexDigit` ``` purescript -isHexDigit :: Char -> Boolean +isHexDigit :: CodePoint -> Boolean ``` Selects ASCII hexadecimal digits, @@ -275,7 +287,7 @@ i.e. `0..9, A..F, a..f`. #### `isPunctuation` ``` purescript -isPunctuation :: Char -> Boolean +isPunctuation :: CodePoint -> Boolean ``` Selects Unicode punctuation characters, including various kinds @@ -319,7 +331,7 @@ true #### `isSymbol` ``` purescript -isSymbol :: Char -> Boolean +isSymbol :: CodePoint -> Boolean ``` Selects Unicode symbol characters, including mathematical and @@ -364,7 +376,7 @@ false #### `toUpper` ``` purescript -toUpper :: Char -> Char +toUpper :: CodePoint -> CodePoint ``` Convert a letter to the corresponding upper-case letter, if any. @@ -373,7 +385,7 @@ Any other character is returned unchanged. #### `toLower` ``` purescript -toLower :: Char -> Char +toLower :: CodePoint -> CodePoint ``` Convert a letter to the corresponding lower-case letter, if any. @@ -382,7 +394,7 @@ Any other character is returned unchanged. #### `toTitle` ``` purescript -toTitle :: Char -> Char +toTitle :: CodePoint -> CodePoint ``` Convert a letter to the corresponding title-case or upper-case @@ -393,13 +405,15 @@ Any other character is returned unchanged. #### `digitToInt` ``` purescript -digitToInt :: Char -> Maybe Int +digitToInt :: CodePoint -> Maybe Int ``` -Convert a single digit `Char` to the corresponding `Just Int` if its argument +Convert a single digit `CodePoint` to the corresponding `Just Int` if its argument satisfies `isHexDigit`, if it is one of `0..9, A..F, a..f`. Anything else converts to `Nothing` +Fixme: example should be updated to use CodePoints + ``` >>> import Data.Traversable @@ -419,7 +433,7 @@ Nothing #### `isLetter` ``` purescript -isLetter :: Char -> Boolean +isLetter :: CodePoint -> Boolean ``` Selects alphabetic Unicode characters (lower-case, upper-case and @@ -473,7 +487,7 @@ True #### `isMark` ``` purescript -isMark :: Char -> Boolean +isMark :: CodePoint -> Boolean ``` Selects Unicode mark characters, for example accents and the @@ -520,7 +534,7 @@ false #### `isNumber` ``` purescript -isNumber :: Char -> Boolean +isNumber :: CodePoint -> Boolean ``` Selects Unicode numeric characters, including digits from various @@ -568,7 +582,7 @@ true #### `isSeparator` ``` purescript -isSeparator :: Char -> Boolean +isSeparator :: CodePoint -> Boolean ``` Selects Unicode space and separator characters. diff --git a/generated-docs/Data/Char/Unicode/Internal.md b/generated-docs/Data/CodePoint/Unicode/Internal.md similarity index 98% rename from generated-docs/Data/Char/Unicode/Internal.md rename to generated-docs/Data/CodePoint/Unicode/Internal.md index 7646eaf..12ceb25 100644 --- a/generated-docs/Data/Char/Unicode/Internal.md +++ b/generated-docs/Data/CodePoint/Unicode/Internal.md @@ -1,4 +1,4 @@ -## Module Data.Char.Unicode.Internal +## Module Data.CodePoint.Unicode.Internal #### `UnicodeCategory` @@ -65,46 +65,46 @@ newtype CharBlock Show CharBlock ``` -#### `gencatZP` +#### `gencatPF` ``` purescript -gencatZP :: Int +gencatPF :: Int ``` -#### `gencatMC` +#### `gencatSM` ``` purescript -gencatMC :: Int +gencatSM :: Int ``` -#### `gencatNO` +#### `gencatSO` ``` purescript -gencatNO :: Int +gencatSO :: Int ``` -#### `gencatSK` +#### `gencatPI` ``` purescript -gencatSK :: Int +gencatPI :: Int ``` -#### `gencatCO` +#### `gencatMC` ``` purescript -gencatCO :: Int +gencatMC :: Int ``` -#### `gencatME` +#### `gencatCO` ``` purescript -gencatME :: Int +gencatCO :: Int ``` -#### `gencatND` +#### `gencatME` ``` purescript -gencatND :: Int +gencatME :: Int ``` #### `gencatPO` @@ -113,130 +113,130 @@ gencatND :: Int gencatPO :: Int ``` -#### `gencatLT` +#### `gencatCS` ``` purescript -gencatLT :: Int +gencatCS :: Int ``` -#### `gencatPC` +#### `gencatPS` ``` purescript -gencatPC :: Int +gencatPS :: Int ``` -#### `gencatSM` +#### `gencatMN` ``` purescript -gencatSM :: Int +gencatMN :: Int ``` -#### `gencatZS` +#### `gencatZL` ``` purescript -gencatZS :: Int +gencatZL :: Int ``` -#### `gencatCC` +#### `gencatZP` ``` purescript -gencatCC :: Int +gencatZP :: Int ``` -#### `gencatLU` +#### `gencatZS` ``` purescript -gencatLU :: Int +gencatZS :: Int ``` -#### `gencatPD` +#### `gencatLL` ``` purescript -gencatPD :: Int +gencatLL :: Int ``` -#### `gencatSO` +#### `gencatLM` ``` purescript -gencatSO :: Int +gencatLM :: Int ``` -#### `gencatPE` +#### `gencatLO` ``` purescript -gencatPE :: Int +gencatLO :: Int ``` -#### `gencatCS` +#### `gencatND` ``` purescript -gencatCS :: Int +gencatND :: Int ``` -#### `gencatPF` +#### `gencatLT` ``` purescript -gencatPF :: Int +gencatLT :: Int ``` -#### `gencatCF` +#### `gencatSC` ``` purescript -gencatCF :: Int +gencatSC :: Int ``` -#### `gencatPS` +#### `gencatLU` ``` purescript -gencatPS :: Int +gencatLU :: Int ``` -#### `gencatSC` +#### `gencatNL` ``` purescript -gencatSC :: Int +gencatNL :: Int ``` -#### `gencatLL` +#### `gencatCC` ``` purescript -gencatLL :: Int +gencatCC :: Int ``` -#### `gencatZL` +#### `gencatNO` ``` purescript -gencatZL :: Int +gencatNO :: Int ``` -#### `gencatLM` +#### `gencatCF` ``` purescript -gencatLM :: Int +gencatCF :: Int ``` -#### `gencatPI` +#### `gencatPC` ``` purescript -gencatPI :: Int +gencatPC :: Int ``` -#### `gencatNL` +#### `gencatSK` ``` purescript -gencatNL :: Int +gencatSK :: Int ``` -#### `gencatMN` +#### `gencatPD` ``` purescript -gencatMN :: Int +gencatPD :: Int ``` -#### `gencatLO` +#### `gencatPE` ``` purescript -gencatLO :: Int +gencatPE :: Int ``` #### `maxUniChar` @@ -275,148 +275,148 @@ numLat1Blocks :: Int numRules :: Int ``` -#### `rule123` +#### `rule165` ``` purescript -rule123 :: ConversionRule +rule165 :: ConversionRule ``` -#### `rule107` +#### `rule63` ``` purescript -rule107 :: ConversionRule +rule63 :: ConversionRule ``` -#### `rule98` +#### `rule126` ``` purescript -rule98 :: ConversionRule +rule126 :: ConversionRule ``` -#### `rule116` +#### `rule162` ``` purescript -rule116 :: ConversionRule +rule162 :: ConversionRule ``` -#### `rule135` +#### `rule71` ``` purescript -rule135 :: ConversionRule +rule71 :: ConversionRule ``` -#### `rule99` +#### `rule21` ``` purescript -rule99 :: ConversionRule +rule21 :: ConversionRule ``` -#### `rule114` +#### `rule128` ``` purescript -rule114 :: ConversionRule +rule128 :: ConversionRule ``` -#### `rule7` +#### `rule44` ``` purescript -rule7 :: ConversionRule +rule44 :: ConversionRule ``` -#### `rule5` +#### `rule161` ``` purescript -rule5 :: ConversionRule +rule161 :: ConversionRule ``` -#### `rule81` +#### `rule105` ``` purescript -rule81 :: ConversionRule +rule105 :: ConversionRule ``` -#### `rule66` +#### `rule101` ``` purescript -rule66 :: ConversionRule +rule101 :: ConversionRule ``` -#### `rule33` +#### `rule43` ``` purescript -rule33 :: ConversionRule +rule43 :: ConversionRule ``` -#### `rule16` +#### `rule77` ``` purescript -rule16 :: ConversionRule +rule77 :: ConversionRule ``` -#### `rule153` +#### `rule143` ``` purescript -rule153 :: ConversionRule +rule143 :: ConversionRule ``` -#### `rule108` +#### `rule39` ``` purescript -rule108 :: ConversionRule +rule39 :: ConversionRule ``` -#### `rule147` +#### `rule41` ``` purescript -rule147 :: ConversionRule +rule41 :: ConversionRule ``` -#### `rule164` +#### `rule72` ``` purescript -rule164 :: ConversionRule +rule72 :: ConversionRule ``` -#### `rule112` +#### `rule28` ``` purescript -rule112 :: ConversionRule +rule28 :: ConversionRule ``` -#### `rule94` +#### `rule31` ``` purescript -rule94 :: ConversionRule +rule31 :: ConversionRule ``` -#### `rule74` +#### `rule36` ``` purescript -rule74 :: ConversionRule +rule36 :: ConversionRule ``` -#### `rule2` +#### `rule102` ``` purescript -rule2 :: ConversionRule +rule102 :: ConversionRule ``` -#### `rule137` +#### `rule80` ``` purescript -rule137 :: ConversionRule +rule80 :: ConversionRule ``` -#### `rule43` +#### `rule5` ``` purescript -rule43 :: ConversionRule +rule5 :: ConversionRule ``` -#### `rule40` +#### `rule113` ``` purescript -rule40 :: ConversionRule +rule113 :: ConversionRule ``` #### `rule142` @@ -425,160 +425,154 @@ rule40 :: ConversionRule rule142 :: ConversionRule ``` -#### `rule70` +#### `rule145` ``` purescript -rule70 :: ConversionRule +rule145 :: ConversionRule ``` -#### `rule14` +#### `rule104` ``` purescript -rule14 :: ConversionRule +rule104 :: ConversionRule ``` -#### `rule144` +#### `rule61` ``` purescript -rule144 :: ConversionRule +rule61 :: ConversionRule ``` -#### `rule60` +#### `rule93` ``` purescript -rule60 :: ConversionRule +rule93 :: ConversionRule ``` -#### `rule8` +#### `rule62` ``` purescript -rule8 :: ConversionRule +rule62 :: ConversionRule ``` -#### `rule26` +#### `rule103` ``` purescript -rule26 :: ConversionRule +rule103 :: ConversionRule ``` -#### `rule111` +#### `rule60` ``` purescript -rule111 :: ConversionRule +rule60 :: ConversionRule ``` -#### `rule57` +#### `rule96` ``` purescript -rule57 :: ConversionRule +rule96 :: ConversionRule ``` -#### `rule47` +#### `rule51` ``` purescript -rule47 :: ConversionRule +rule51 :: ConversionRule ``` -#### `rule156` +#### `rule87` ``` purescript -rule156 :: ConversionRule +rule87 :: ConversionRule ``` -#### `rule76` +#### `rule86` ``` purescript -rule76 :: ConversionRule +rule86 :: ConversionRule ``` -#### `rule54` +#### `rule123` ``` purescript -rule54 :: ConversionRule +rule123 :: ConversionRule ``` -#### `rule151` - -``` purescript -rule151 :: ConversionRule -``` - -#### `rule102` +#### `rule164` ``` purescript -rule102 :: ConversionRule +rule164 :: ConversionRule ``` -#### `rule23` +#### `rule166` ``` purescript -rule23 :: ConversionRule +rule166 :: ConversionRule ``` -#### `rule139` +#### `rule27` ``` purescript -rule139 :: ConversionRule +rule27 :: ConversionRule ``` -#### `rule134` +#### `rule158` ``` purescript -rule134 :: ConversionRule +rule158 :: ConversionRule ``` -#### `rule48` +#### `rule157` ``` purescript -rule48 :: ConversionRule +rule157 :: ConversionRule ``` -#### `rule19` +#### `rule9` ``` purescript -rule19 :: ConversionRule +rule9 :: ConversionRule ``` -#### `rule92` +#### `rule159` ``` purescript -rule92 :: ConversionRule +rule159 :: ConversionRule ``` -#### `rule115` +#### `rule138` ``` purescript -rule115 :: ConversionRule +rule138 :: ConversionRule ``` -#### `rule84` +#### `rule4` ``` purescript -rule84 :: ConversionRule +rule4 :: ConversionRule ``` -#### `rule41` +#### `rule133` ``` purescript -rule41 :: ConversionRule +rule133 :: ConversionRule ``` -#### `rule51` +#### `rule155` ``` purescript -rule51 :: ConversionRule +rule155 :: ConversionRule ``` -#### `rule31` +#### `rule132` ``` purescript -rule31 :: ConversionRule +rule132 :: ConversionRule ``` -#### `rule90` +#### `rule153` ``` purescript -rule90 :: ConversionRule +rule153 :: ConversionRule ``` #### `rule24` @@ -587,328 +581,322 @@ rule90 :: ConversionRule rule24 :: ConversionRule ``` -#### `rule83` - -``` purescript -rule83 :: ConversionRule -``` - -#### `rule21` +#### `rule26` ``` purescript -rule21 :: ConversionRule +rule26 :: ConversionRule ``` -#### `rule82` +#### `rule16` ``` purescript -rule82 :: ConversionRule +rule16 :: ConversionRule ``` -#### `rule130` +#### `rule74` ``` purescript -rule130 :: ConversionRule +rule74 :: ConversionRule ``` -#### `rule62` +#### `rule122` ``` purescript -rule62 :: ConversionRule +rule122 :: ConversionRule ``` -#### `rule150` +#### `rule25` ``` purescript -rule150 :: ConversionRule +rule25 :: ConversionRule ``` -#### `rule117` +#### `rule127` ``` purescript -rule117 :: ConversionRule +rule127 :: ConversionRule ``` -#### `rule143` +#### `rule40` ``` purescript -rule143 :: ConversionRule +rule40 :: ConversionRule ``` -#### `rule56` +#### `rule30` ``` purescript -rule56 :: ConversionRule +rule30 :: ConversionRule ``` -#### `rule100` +#### `rule29` ``` purescript -rule100 :: ConversionRule +rule29 :: ConversionRule ``` -#### `rule79` +#### `rule69` ``` purescript -rule79 :: ConversionRule +rule69 :: ConversionRule ``` -#### `rule20` +#### `rule3` ``` purescript -rule20 :: ConversionRule +rule3 :: ConversionRule ``` -#### `rule44` +#### `rule135` ``` purescript -rule44 :: ConversionRule +rule135 :: ConversionRule ``` -#### `rule17` +#### `rule23` ``` purescript -rule17 :: ConversionRule +rule23 :: ConversionRule ``` -#### `rule109` +#### `rule32` ``` purescript -rule109 :: ConversionRule +rule32 :: ConversionRule ``` -#### `rule159` +#### `rule33` ``` purescript -rule159 :: ConversionRule +rule33 :: ConversionRule ``` -#### `rule105` +#### `rule50` ``` purescript -rule105 :: ConversionRule +rule50 :: ConversionRule ``` -#### `rule126` +#### `rule154` ``` purescript -rule126 :: ConversionRule +rule154 :: ConversionRule ``` -#### `rule71` +#### `rule58` ``` purescript -rule71 :: ConversionRule +rule58 :: ConversionRule ``` -#### `rule36` +#### `rule67` ``` purescript -rule36 :: ConversionRule +rule67 :: ConversionRule ``` -#### `rule155` +#### `rule76` ``` purescript -rule155 :: ConversionRule +rule76 :: ConversionRule ``` -#### `rule75` +#### `rule119` ``` purescript -rule75 :: ConversionRule +rule119 :: ConversionRule ``` -#### `rule157` +#### `rule57` ``` purescript -rule157 :: ConversionRule +rule57 :: ConversionRule ``` -#### `rule131` +#### `rule97` ``` purescript -rule131 :: ConversionRule +rule97 :: ConversionRule ``` -#### `rule22` +#### `rule108` ``` purescript -rule22 :: ConversionRule +rule108 :: ConversionRule ``` -#### `rule132` +#### `rule100` ``` purescript -rule132 :: ConversionRule +rule100 :: ConversionRule ``` -#### `rule96` +#### `rule70` ``` purescript -rule96 :: ConversionRule +rule70 :: ConversionRule ``` -#### `rule163` +#### `rule141` ``` purescript -rule163 :: ConversionRule +rule141 :: ConversionRule ``` -#### `rule97` +#### `rule139` ``` purescript -rule97 :: ConversionRule +rule139 :: ConversionRule ``` -#### `rule30` +#### `rule45` ``` purescript -rule30 :: ConversionRule +rule45 :: ConversionRule ``` -#### `rule118` +#### `rule91` ``` purescript -rule118 :: ConversionRule +rule91 :: ConversionRule ``` -#### `rule45` +#### `rule121` ``` purescript -rule45 :: ConversionRule +rule121 :: ConversionRule ``` -#### `rule18` +#### `rule117` ``` purescript -rule18 :: ConversionRule +rule117 :: ConversionRule ``` -#### `rule68` +#### `rule12` ``` purescript -rule68 :: ConversionRule +rule12 :: ConversionRule ``` -#### `rule78` +#### `rule85` ``` purescript -rule78 :: ConversionRule +rule85 :: ConversionRule ``` -#### `rule27` +#### `rule163` ``` purescript -rule27 :: ConversionRule +rule163 :: ConversionRule ``` -#### `rule53` +#### `rule17` ``` purescript -rule53 :: ConversionRule +rule17 :: ConversionRule ``` -#### `rule15` +#### `rule134` ``` purescript -rule15 :: ConversionRule +rule134 :: ConversionRule ``` -#### `rule154` +#### `rule147` ``` purescript -rule154 :: ConversionRule +rule147 :: ConversionRule ``` -#### `rule140` +#### `rule64` ``` purescript -rule140 :: ConversionRule +rule64 :: ConversionRule ``` -#### `rule127` +#### `rule2` ``` purescript -rule127 :: ConversionRule +rule2 :: ConversionRule ``` -#### `rule10` +#### `rule84` ``` purescript -rule10 :: ConversionRule +rule84 :: ConversionRule ``` -#### `rule160` +#### `rule38` ``` purescript -rule160 :: ConversionRule +rule38 :: ConversionRule ``` -#### `rule88` +#### `rule42` ``` purescript -rule88 :: ConversionRule +rule42 :: ConversionRule ``` -#### `rule32` +#### `rule53` ``` purescript -rule32 :: ConversionRule +rule53 :: ConversionRule ``` -#### `rule85` +#### `rule83` ``` purescript -rule85 :: ConversionRule +rule83 :: ConversionRule ``` -#### `rule46` +#### `rule98` ``` purescript -rule46 :: ConversionRule +rule98 :: ConversionRule ``` -#### `rule91` +#### `rule136` ``` purescript -rule91 :: ConversionRule +rule136 :: ConversionRule ``` -#### `rule4` +#### `rule120` ``` purescript -rule4 :: ConversionRule +rule120 :: ConversionRule ``` -#### `rule39` +#### `rule20` ``` purescript -rule39 :: ConversionRule +rule20 :: ConversionRule ``` -#### `rule38` +#### `rule115` ``` purescript -rule38 :: ConversionRule +rule115 :: ConversionRule ``` -#### `rule86` +#### `rule109` ``` purescript -rule86 :: ConversionRule +rule109 :: ConversionRule ``` -#### `rule67` +#### `rule13` ``` purescript -rule67 :: ConversionRule +rule13 :: ConversionRule ``` -#### `rule52` +#### `rule19` ``` purescript -rule52 :: ConversionRule +rule19 :: ConversionRule ``` #### `rule125` @@ -917,136 +905,136 @@ rule52 :: ConversionRule rule125 :: ConversionRule ``` -#### `rule34` +#### `rule49` ``` purescript -rule34 :: ConversionRule +rule49 :: ConversionRule ``` -#### `rule35` +#### `rule79` ``` purescript -rule35 :: ConversionRule +rule79 :: ConversionRule ``` -#### `rule80` +#### `rule14` ``` purescript -rule80 :: ConversionRule +rule14 :: ConversionRule ``` -#### `rule3` +#### `rule148` ``` purescript -rule3 :: ConversionRule +rule148 :: ConversionRule ``` -#### `rule104` +#### `rule66` ``` purescript -rule104 :: ConversionRule +rule66 :: ConversionRule ``` -#### `rule58` +#### `rule99` ``` purescript -rule58 :: ConversionRule +rule99 :: ConversionRule ``` -#### `rule146` +#### `rule140` ``` purescript -rule146 :: ConversionRule +rule140 :: ConversionRule ``` -#### `rule124` +#### `rule116` ``` purescript -rule124 :: ConversionRule +rule116 :: ConversionRule ``` -#### `rule25` +#### `rule8` ``` purescript -rule25 :: ConversionRule +rule8 :: ConversionRule ``` -#### `rule28` +#### `rule94` ``` purescript -rule28 :: ConversionRule +rule94 :: ConversionRule ``` -#### `rule122` +#### `rule114` ``` purescript -rule122 :: ConversionRule +rule114 :: ConversionRule ``` -#### `rule158` +#### `rule6` ``` purescript -rule158 :: ConversionRule +rule6 :: ConversionRule ``` -#### `rule106` +#### `rule7` ``` purescript -rule106 :: ConversionRule +rule7 :: ConversionRule ``` -#### `rule95` +#### `rule55` ``` purescript -rule95 :: ConversionRule +rule55 :: ConversionRule ``` -#### `rule69` +#### `rule54` ``` purescript -rule69 :: ConversionRule +rule54 :: ConversionRule ``` -#### `rule72` +#### `rule124` ``` purescript -rule72 :: ConversionRule +rule124 :: ConversionRule ``` -#### `rule129` +#### `rule65` ``` purescript -rule129 :: ConversionRule +rule65 :: ConversionRule ``` -#### `rule162` +#### `rule78` ``` purescript -rule162 :: ConversionRule +rule78 :: ConversionRule ``` -#### `rule149` +#### `rule56` ``` purescript -rule149 :: ConversionRule +rule56 :: ConversionRule ``` -#### `rule113` +#### `rule137` ``` purescript -rule113 :: ConversionRule +rule137 :: ConversionRule ``` -#### `rule145` +#### `rule131` ``` purescript -rule145 :: ConversionRule +rule131 :: ConversionRule ``` -#### `rule59` +#### `rule130` ``` purescript -rule59 :: ConversionRule +rule130 :: ConversionRule ``` #### `rule110` @@ -1055,226 +1043,238 @@ rule59 :: ConversionRule rule110 :: ConversionRule ``` -#### `rule73` +#### `rule48` ``` purescript -rule73 :: ConversionRule +rule48 :: ConversionRule ``` -#### `rule63` +#### `rule52` ``` purescript -rule63 :: ConversionRule +rule52 :: ConversionRule ``` -#### `rule138` +#### `rule156` ``` purescript -rule138 :: ConversionRule +rule156 :: ConversionRule ``` -#### `rule0` +#### `rule75` ``` purescript -rule0 :: ConversionRule +rule75 :: ConversionRule ``` -#### `rule42` +#### `rule11` ``` purescript -rule42 :: ConversionRule +rule11 :: ConversionRule ``` -#### `rule93` +#### `rule129` ``` purescript -rule93 :: ConversionRule +rule129 :: ConversionRule ``` -#### `rule50` +#### `rule37` ``` purescript -rule50 :: ConversionRule +rule37 :: ConversionRule ``` -#### `rule6` +#### `rule18` ``` purescript -rule6 :: ConversionRule +rule18 :: ConversionRule ``` -#### `rule128` +#### `rule152` ``` purescript -rule128 :: ConversionRule +rule152 :: ConversionRule ``` -#### `rule37` +#### `rule35` ``` purescript -rule37 :: ConversionRule +rule35 :: ConversionRule ``` -#### `rule133` +#### `rule46` ``` purescript -rule133 :: ConversionRule +rule46 :: ConversionRule ``` -#### `rule55` +#### `rule82` ``` purescript -rule55 :: ConversionRule +rule82 :: ConversionRule ``` -#### `rule9` +#### `rule10` ``` purescript -rule9 :: ConversionRule +rule10 :: ConversionRule ``` -#### `rule152` +#### `rule34` ``` purescript -rule152 :: ConversionRule +rule34 :: ConversionRule ``` -#### `rule136` +#### `rule150` ``` purescript -rule136 :: ConversionRule +rule150 :: ConversionRule ``` -#### `rule120` +#### `rule107` ``` purescript -rule120 :: ConversionRule +rule107 :: ConversionRule ``` -#### `rule103` +#### `rule47` ``` purescript -rule103 :: ConversionRule +rule47 :: ConversionRule ``` -#### `rule49` +#### `rule160` ``` purescript -rule49 :: ConversionRule +rule160 :: ConversionRule ``` -#### `rule148` +#### `rule73` ``` purescript -rule148 :: ConversionRule +rule73 :: ConversionRule ``` -#### `rule65` +#### `rule59` ``` purescript -rule65 :: ConversionRule +rule59 :: ConversionRule ``` -#### `rule141` +#### `rule106` ``` purescript -rule141 :: ConversionRule +rule106 :: ConversionRule ``` -#### `rule64` +#### `rule151` ``` purescript -rule64 :: ConversionRule +rule151 :: ConversionRule ``` -#### `rule11` +#### `rule15` ``` purescript -rule11 :: ConversionRule +rule15 :: ConversionRule ``` -#### `rule101` +#### `rule112` ``` purescript -rule101 :: ConversionRule +rule112 :: ConversionRule ``` -#### `rule12` +#### `rule90` ``` purescript -rule12 :: ConversionRule +rule90 :: ConversionRule ``` -#### `rule77` +#### `rule146` ``` purescript -rule77 :: ConversionRule +rule146 :: ConversionRule ``` -#### `rule119` +#### `rule89` ``` purescript -rule119 :: ConversionRule +rule89 :: ConversionRule ``` -#### `rule87` +#### `rule81` ``` purescript -rule87 :: ConversionRule +rule81 :: ConversionRule ``` -#### `rule1` +#### `rule88` ``` purescript -rule1 :: ConversionRule +rule88 :: ConversionRule ``` -#### `rule29` +#### `rule149` ``` purescript -rule29 :: ConversionRule +rule149 :: ConversionRule ``` -#### `rule121` +#### `rule111` ``` purescript -rule121 :: ConversionRule +rule111 :: ConversionRule ``` -#### `rule13` +#### `rule144` ``` purescript -rule13 :: ConversionRule +rule144 :: ConversionRule ``` -#### `rule161` +#### `rule92` ``` purescript -rule161 :: ConversionRule +rule92 :: ConversionRule ``` -#### `rule89` +#### `rule118` ``` purescript -rule89 :: ConversionRule +rule118 :: ConversionRule ``` -#### `rule165` +#### `rule22` ``` purescript -rule165 :: ConversionRule +rule22 :: ConversionRule ``` -#### `rule166` +#### `rule68` ``` purescript -rule166 :: ConversionRule +rule68 :: ConversionRule ``` -#### `rule61` +#### `rule95` ``` purescript -rule61 :: ConversionRule +rule95 :: ConversionRule +``` + +#### `rule0` + +``` purescript +rule0 :: ConversionRule +``` + +#### `rule1` + +``` purescript +rule1 :: ConversionRule ``` #### `allchars` @@ -1304,7 +1304,7 @@ nullrule :: ConversionRule #### `blkCmp` ``` purescript -blkCmp :: CharBlock -> CharBlock -> Int +blkCmp :: CharBlock -> CharBlock -> Ordering ``` #### `getRule` @@ -1316,7 +1316,7 @@ getRule :: Array CharBlock -> Int -> Int -> Maybe ConversionRule #### `bsearch` ``` purescript -bsearch :: forall a. a -> Array a -> Int -> (a -> a -> Int) -> Maybe a +bsearch :: forall a. a -> Array a -> Int -> (a -> a -> Ordering) -> Maybe a ``` #### `checkAttr` From 2926f07884c2d254da6c55db3333fa9bfe975655 Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Fri, 25 May 2018 07:58:21 -0500 Subject: [PATCH 04/32] Update for 0.12 --- bower.json | 14 +- src/Data/CodePoint/Unicode.purs | 134 ++++++++-------- test/Test/Data/CodePoint/Unicode.purs | 216 +++++++++++++------------- 3 files changed, 179 insertions(+), 185 deletions(-) diff --git a/bower.json b/bower.json index 7aa2e84..da62d6b 100644 --- a/bower.json +++ b/bower.json @@ -19,14 +19,14 @@ "package.json" ], "dependencies": { - "purescript-maybe": "#compiler/0.12", - "purescript-foldable-traversable": "#compiler/0.12", - "purescript-strings": "#compiler/0.12" + "purescript-maybe": "^4.0.0", + "purescript-foldable-traversable": "^4.0.0", + "purescript-strings": "^4.0.0" }, "devDependencies": { - "purescript-console": "^3.0.0", - "purescript-spec": "^0.13.0", - "purescript-random": "^3.0.0", - "purescript-quickcheck": "^4.0.0" + "purescript-console": "^4.1.0", + "purescript-spec": "^2.0.0", + "purescript-random": "^4.0.0", + "purescript-quickcheck": "^5.0.0" } } diff --git a/src/Data/CodePoint/Unicode.purs b/src/Data/CodePoint/Unicode.purs index 7e9c73a..5d3abb8 100644 --- a/src/Data/CodePoint/Unicode.purs +++ b/src/Data/CodePoint/Unicode.purs @@ -3,7 +3,8 @@ module Data.CodePoint.Unicode where import Prelude import Data.Char (toCharCode) -import Data.String.CodePoints (CodePoint, codePointToInt, codePointFromInt) +import Data.String.CodePoints (CodePoint, codePointFromChar) +import Data.Enum (toEnum, fromEnum) import Data.CodePoint.Unicode.Internal ( UnicodeCategory(..) , uTowtitle , uTowlower @@ -17,15 +18,10 @@ import Data.CodePoint.Unicode.Internal ( UnicodeCategory(..) , uIswcntrl , uGencat ) -import Data.Maybe (Maybe(..), fromJust) -import Partial.Unsafe (unsafePartial) - --- Helpers; should be safe considering this is the Unicode module -charPoint :: Char -> CodePoint -charPoint = unsafePartial fromJust <<< codePointFromInt <<< toCharCode +import Data.Maybe (Maybe(..), fromMaybe) modify :: (Int -> Int) -> (CodePoint -> CodePoint) -modify f c = unsafePartial fromJust (codePointFromInt (f (codePointToInt c))) +modify f = fromMaybe <*> (toEnum <<< f <<< fromEnum) -- | Unicode General Categories (column 2 of the UnicodeData table) in -- | the order they are listed in the Unicode standard (the Unicode @@ -285,53 +281,53 @@ instance boundedGeneralCategory :: Bounded GeneralCategory where -- | Basic usage: -- | -- | ``` --- | >>> generalCategory 'a' +-- | >>> generalCategory (codePointFromChar 'a') -- | Just LowercaseLetter --- | >>> generalCategory 'A' +-- | >>> generalCategory (codePointFromChar 'A') -- | Just UppercaseLetter --- | >>> generalCategory '0' +-- | >>> generalCategory (codePointFromChar '0') -- | Just DecimalNumber --- | >>> generalCategory '%' +-- | >>> generalCategory (codePointFromChar '%') -- | Just OtherPunctuation --- | >>> generalCategory '♥' +-- | >>> generalCategory (codePointFromChar '♥') -- | Just OtherSymbol --- | >>> generalCategory '\31' +-- | >>> generalCategory (codePointFromChar '\31') -- | Just Control --- | >>> generalCategory ' ' +-- | >>> generalCategory (codePointFromChar ' ') -- | Just Space -- | ``` generalCategory :: CodePoint -> Maybe GeneralCategory -generalCategory = map unicodeCatToGeneralCat <<< uGencat <<< codePointToInt +generalCategory = map unicodeCatToGeneralCat <<< uGencat <<< fromEnum -- | Selects the first 128 characters of the Unicode character set, -- | corresponding to the ASCII character set. isAscii :: CodePoint -> Boolean -isAscii c = c < charPoint '\x80' +isAscii c = c < codePointFromChar '\x80' -- | Selects the first 256 characters of the Unicode character set, -- | corresponding to the ISO 8859-1 (Latin-1) character set. isLatin1 :: CodePoint -> Boolean -isLatin1 c = c <= charPoint '\xff' +isLatin1 c = c <= codePointFromChar '\xff' -- | Selects ASCII lower-case letters, -- | i.e. characters satisfying both `isAscii` and `isLower`. isAsciiLower :: CodePoint -> Boolean -isAsciiLower c = c >= charPoint 'a' && c <= charPoint 'z' +isAsciiLower c = c >= codePointFromChar 'a' && c <= codePointFromChar 'z' -- | Selects ASCII upper-case letters, -- | i.e. characters satisfying both `isAscii` and `isUpper`. isAsciiUpper :: CodePoint -> Boolean -isAsciiUpper c = c >= charPoint 'A' && c <= charPoint 'Z' +isAsciiUpper c = c >= codePointFromChar 'A' && c <= codePointFromChar 'Z' -- | Selects control characters, which are the non-printing characters of -- | the Latin-1 subset of Unicode. isControl :: CodePoint -> Boolean -isControl = uIswcntrl <<< codePointToInt +isControl = uIswcntrl <<< fromEnum -- | Selects printable Unicode characters -- | (letters, numbers, marks, punctuation, symbols and spaces). isPrint :: CodePoint -> Boolean -isPrint = uIswprint <<< codePointToInt +isPrint = uIswprint <<< fromEnum -- | Returns `True` for any Unicode space character, and the control -- | characters `\t`, `\n`, `\r`, `\f`, `\v`. @@ -346,22 +342,22 @@ isSpace c = if uc <= 0x337 else uIswspace uc where uc :: Int - uc = codePointToInt c + uc = fromEnum c -- | Selects upper-case or title-case alphabetic Unicode characters (letters). -- | Title case is used by a small number of letter ligatures like the -- | single-character form of /Lj/. isUpper :: CodePoint -> Boolean -isUpper = uIswupper <<< codePointToInt +isUpper = uIswupper <<< fromEnum -- | Selects lower-case alphabetic Unicode characters (letters). isLower :: CodePoint -> Boolean -isLower = uIswlower <<< codePointToInt +isLower = uIswlower <<< fromEnum -- | Selects alphabetic Unicode characters (lower-case, upper-case and -- | title-case letters, plus letters of caseless scripts and modifiers letters). isAlpha :: CodePoint -> Boolean -isAlpha = uIswalpha <<< codePointToInt +isAlpha = uIswalpha <<< fromEnum -- | Selects alphabetic or numeric digit Unicode characters. -- | @@ -369,24 +365,24 @@ isAlpha = uIswalpha <<< codePointToInt -- | function but not by `isDigit`. Such digits may be part of identifiers -- | but are not used by the printer and reader to represent numbers. isAlphaNum :: CodePoint -> Boolean -isAlphaNum = uIswalnum <<< codePointToInt +isAlphaNum = uIswalnum <<< fromEnum -- | Selects ASCII digits, i.e. `0..9`. isDigit :: CodePoint -> Boolean -isDigit c = let diff = (codePointToInt c - toCharCode '0') +isDigit c = let diff = (fromEnum c - toCharCode '0') in diff <= 9 && diff >= 0 -- | Selects ASCII octal digits, i.e. `0..7`. isOctDigit :: CodePoint -> Boolean -isOctDigit c = let diff = (codePointToInt c - toCharCode '0') +isOctDigit c = let diff = (fromEnum c - toCharCode '0') in diff <= 7 && diff >= 0 -- | Selects ASCII hexadecimal digits, -- | i.e. `0..9, A..F, a..f`. isHexDigit :: CodePoint -> Boolean isHexDigit c = isDigit c - || (let diff = (codePointToInt c - toCharCode 'A') in diff <= 5 && diff >= 0) - || (let diff = (codePointToInt c - toCharCode 'a') in diff <= 5 && diff >= 0) + || (let diff = (fromEnum c - toCharCode 'A') in diff <= 5 && diff >= 0) + || (let diff = (fromEnum c - toCharCode 'a') in diff <= 5 && diff >= 0) -- | Selects Unicode punctuation characters, including various kinds -- | of connectors, brackets and quotes. @@ -412,17 +408,17 @@ isHexDigit c = isDigit c -- | Basic usage: -- | -- | ``` --- | >>> isPunctuation 'a' +-- | >>> isPunctuation (codePointFromChar 'a') -- | false --- | >>> isPunctuation '7' +-- | >>> isPunctuation (codePointFromChar '7') -- | false --- | >>> isPunctuation '♥' +-- | >>> isPunctuation (codePointFromChar '♥') -- | false --- | >>> isPunctuation '"' +-- | >>> isPunctuation (codePointFromChar '"') -- | true --- | >>> isPunctuation '?' +-- | >>> isPunctuation (codePointFromChar '?') -- | true --- | >>> isPunctuation '—' +-- | >>> isPunctuation (codePointFromChar '—') -- | true -- | ``` isPunctuation :: CodePoint -> Boolean @@ -458,11 +454,11 @@ isPunctuation c = -- | Basic usage: -- | -- | ``` --- | >>> isSymbol 'a' +-- | >>> isSymbol (codePointFromChar 'a') -- | false --- | >>> isSymbol '6' +-- | >>> isSymbol (codePointFromChar '6') -- | false --- | >>> isSymbol '=' +-- | >>> isSymbol (codePointFromChar '=') -- | true -- | ``` -- | @@ -470,9 +466,9 @@ isPunctuation c = -- | counter-intuitive depending on one's background: -- | -- | ``` --- | >>> isSymbol '+' +-- | >>> isSymbol (codePointFromChar '+') -- | true --- | >>> isSymbol '-' +-- | >>> isSymbol (codePointFromChar '-') -- | false -- | ``` isSymbol :: CodePoint -> Boolean @@ -510,16 +506,16 @@ toTitle = modify uTowtitle -- | ``` -- | >>> import Data.Traversable -- | --- | >>> traverse digitToInt ['0','1','2','3','4','5','6','7','8','9'] +-- | >>> traverse (digitToInt <<< codePointFromChar) ['0','1','2','3','4','5','6','7','8','9'] -- | (Just [0,1,2,3,4,5,6,7,8,9]) -- | --- | >>> traverse digitToInt ['a','b','c','d','e','f'] +-- | >>> traverse (digitToInt <<< codePointFromChar) ['a','b','c','d','e','f'] -- | (Just [10,11,12,13,14,15]) -- | --- | >>> traverse digitToInt ['A','B','C','D','E','F'] +-- | >>> traverse (digitToInt <<< codePointFromChar) ['A','B','C','D','E','F'] -- | (Just [10,11,12,13,14,15]) -- | --- | >>> digitToInt 'G' +-- | >>> digitToInt (codePointFromChar 'G') -- | Nothing -- | ``` digitToInt :: CodePoint -> Maybe Int @@ -533,13 +529,13 @@ digitToInt c = result | otherwise = Nothing dec :: Int - dec = codePointToInt c - toCharCode '0' + dec = fromEnum c - toCharCode '0' hexLower :: Int - hexLower = codePointToInt c - toCharCode 'a' + hexLower = fromEnum c - toCharCode 'a' hexUpper :: Int - hexUpper = codePointToInt c - toCharCode 'A' + hexUpper = fromEnum c - toCharCode 'A' -- | Selects alphabetic Unicode characters (lower-case, upper-case and -- | title-case letters, plus letters of caseless scripts and @@ -565,17 +561,17 @@ digitToInt c = result -- | Basic usage: -- | -- | ``` --- | >>> isLetter 'a' +-- | >>> isLetter (codePointFromChar 'a') -- | True --- | >>> isLetter 'A' +-- | >>> isLetter (codePointFromChar 'A') -- | True --- | >>> isLetter '0' +-- | >>> isLetter (codePointFromChar '0') -- | False --- | >>> isLetter '%' +-- | >>> isLetter (codePointFromChar '%') -- | False --- | >>> isLetter '♥' +-- | >>> isLetter (codePointFromChar '♥') -- | False --- | >>> isLetter '\31' +-- | >>> isLetter (codePointFromChar '\31') -- | False -- | ``` -- | @@ -618,9 +614,9 @@ isLetter c = -- | Basic usage: -- | -- | ``` --- | >>> isMark 'a' +-- | >>> isMark (codePointFromChar 'a') -- | false --- | >>> isMark '0' +-- | >>> isMark (codePointFromChar '0') -- | false -- | ``` -- | @@ -635,7 +631,7 @@ isLetter c = -- | Puns are not necessarily supported: -- | -- | ``` --- | >>> isMark '✓' +-- | >>> isMark (codePointFromChar '✓') -- | false -- | ``` isMark :: CodePoint -> Boolean @@ -666,25 +662,25 @@ isMark c = -- | Basic usage: -- | -- | ``` --- | >>> isNumber 'a' +-- | >>> isNumber (codePointFromChar 'a') -- | false --- | >>> isNumber '%' +-- | >>> isNumber (codePointFromChar '%') -- | false --- | >>> isNumber '3' +-- | >>> isNumber (codePointFromChar '3') -- | true -- | ``` -- | -- | ASCII @\'0\'@ through @\'9\'@ are all numbers: -- | -- | ``` --- | >>> and $ map isNumber ['0'..'9'] +-- | >>> and $ map (isNumber <<< codePointFromChar) ['0'..'9'] -- | true -- | ``` -- | -- | Unicode Roman numerals are \"numbers\" as well: -- | -- | ``` --- | >>> isNumber 'Ⅸ' +-- | >>> isNumber (codePointFromChar 'Ⅸ') -- | true -- | ``` isNumber :: CodePoint -> Boolean @@ -714,11 +710,11 @@ isNumber c = -- | Basic usage: -- | -- | ``` --- | >>> isSeparator 'a' +-- | >>> isSeparator (codePointFromChar 'a') -- | false --- | >>> isSeparator '6' +-- | >>> isSeparator (codePointFromChar '6') -- | false --- | >>> isSeparator ' ' +-- | >>> isSeparator (codePointFromChar ' ') -- | true -- | ``` -- | @@ -726,16 +722,16 @@ isNumber c = -- | separators. -- | -- | ``` --- | >>> isSeparator '\n' +-- | >>> isSeparator (codePointFromChar '\n') -- | false --- | >>> isSeparator '\t' +-- | >>> isSeparator (codePointFromChar '\t') -- | false -- | ``` -- | -- | But some more exotic characters are (like HTML's @ @): -- | -- | ``` --- | >>> isSeparator '\160' +-- | >>> isSeparator (codePointFromChar '\160') -- | true -- | ``` isSeparator :: CodePoint -> Boolean diff --git a/test/Test/Data/CodePoint/Unicode.purs b/test/Test/Data/CodePoint/Unicode.purs index 2ae3e57..04b5046 100644 --- a/test/Test/Data/CodePoint/Unicode.purs +++ b/test/Test/Data/CodePoint/Unicode.purs @@ -7,9 +7,10 @@ import Control.Monad.Eff.Console (CONSOLE()) import Control.Monad.Eff.Exception (EXCEPTION()) import Control.Monad.Eff.Random (RANDOM()) import Data.Char (toCharCode) +import Data.Enum (toEnumWithDefaults, fromEnum) import Data.Maybe (Maybe(..), fromJust) import Data.NonEmpty ((:|)) -import Data.String.CodePoints (CodePoint, codePointFromInt) +import Data.String.CodePoints (CodePoint, codePointFromChar) import Partial.Unsafe (unsafePartial) import Test.QuickCheck (quickCheck) import Test.QuickCheck.Arbitrary (class Arbitrary) @@ -41,11 +42,8 @@ import Data.CodePoint.Unicode ( GeneralCategory(..) , isSymbol , isUpper ) -unsafeCodePoint :: Int -> CodePoint -unsafeCodePoint = unsafePartial fromJust <<< codePointFromInt - -charPoint :: Char -> CodePoint -charPoint = unsafePartial fromJust <<< codePointFromInt <<< toCharCode +codePointFromInt :: Int -> CodePoint +codePointFromInt = toEnumWithDefaults bottom top dataCharUnicodeTests :: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit dataCharUnicodeTests = describe "module Data.CodePoint.Unicode" do @@ -96,97 +94,97 @@ generalCategoryDataTypeTests = describe "GeneralCategory instances" do generalCategoryTests :: forall eff . Spec eff Unit generalCategoryTests = describe "generalCategory" do - it "generalCategory (charPoint 'a') == LowercaseLetter" $ - generalCategory (charPoint 'a') `shouldEqual` Just LowercaseLetter - it "generalCategory (charPoint 'A') == UppercaseLetter" $ - generalCategory (charPoint 'A') `shouldEqual` Just UppercaseLetter - it "generalCategory (charPoint '0') == DecimalNumber" $ - generalCategory (charPoint '0') `shouldEqual` Just DecimalNumber - it "generalCategory (charPoint '%') == OtherPunctuation" $ - generalCategory (charPoint '%') `shouldEqual` Just OtherPunctuation - it "generalCategory (charPoint '♥') == OtherSymbol" $ - generalCategory (charPoint '♥') `shouldEqual` Just OtherSymbol - it "generalCategory (charPoint '\\31') == Control" $ - generalCategory (charPoint '\31') `shouldEqual` Just Control - it "generalCategory (charPoint ' ') == Space" $ - generalCategory (charPoint ' ') `shouldEqual` Just Space - it "generalCategory (charPoint '本') == OtherLetter" $ - generalCategory (charPoint '本') `shouldEqual` Just OtherLetter + it "generalCategory (codePointFromChar 'a') == LowercaseLetter" $ + generalCategory (codePointFromChar 'a') `shouldEqual` Just LowercaseLetter + it "generalCategory (codePointFromChar 'A') == UppercaseLetter" $ + generalCategory (codePointFromChar 'A') `shouldEqual` Just UppercaseLetter + it "generalCategory (codePointFromChar '0') == DecimalNumber" $ + generalCategory (codePointFromChar '0') `shouldEqual` Just DecimalNumber + it "generalCategory (codePointFromChar '%') == OtherPunctuation" $ + generalCategory (codePointFromChar '%') `shouldEqual` Just OtherPunctuation + it "generalCategory (codePointFromChar '♥') == OtherSymbol" $ + generalCategory (codePointFromChar '♥') `shouldEqual` Just OtherSymbol + it "generalCategory (codePointFromChar '\\31') == Control" $ + generalCategory (codePointFromChar '\31') `shouldEqual` Just Control + it "generalCategory (codePointFromChar ' ') == Space" $ + generalCategory (codePointFromChar ' ') `shouldEqual` Just Space + it "generalCategory (codePointFromChar '本') == OtherLetter" $ + generalCategory (codePointFromChar '本') `shouldEqual` Just OtherLetter newtype CP = CP CodePoint instance arbitraryCP :: Arbitrary CP where - arbitrary = CP <<< unsafeCodePoint <$> chooseInt 0 0x10FFFF + arbitrary = CP <<< codePointFromInt <$> chooseInt 0 0x10FFFF newtype AsciiChar = AsciiChar CodePoint instance arbitraryAsciiChar :: Arbitrary AsciiChar where - arbitrary = AsciiChar <<< unsafeCodePoint <$> chooseInt 0 0x7F + arbitrary = AsciiChar <<< codePointFromInt <$> chooseInt 0 0x7F newtype NonAsciiChar = NonAsciiChar CodePoint instance arbitraryNonAsciiChar :: Arbitrary NonAsciiChar where - arbitrary = NonAsciiChar <<< unsafeCodePoint <$> chooseInt 0x80 0xFFFF + arbitrary = NonAsciiChar <<< codePointFromInt <$> chooseInt 0x80 0xFFFF newtype Latin1Char = Latin1Char CodePoint instance arbitraryLatin1Char :: Arbitrary Latin1Char where - arbitrary = Latin1Char <<< unsafeCodePoint <$> chooseInt 0x80 0xFF + arbitrary = Latin1Char <<< codePointFromInt <$> chooseInt 0x80 0xFF newtype NonLatin1Char = NonLatin1Char CodePoint instance arbitraryNonLatin1Char :: Arbitrary NonLatin1Char where - arbitrary = NonLatin1Char <<< unsafeCodePoint <$> chooseInt 0x100 0xFFFF + arbitrary = NonLatin1Char <<< codePointFromInt <$> chooseInt 0x100 0xFFFF newtype AsciiLowerChar = AsciiLowerChar CodePoint instance arbitraryAsciiLowerChar :: Arbitrary AsciiLowerChar where - arbitrary = AsciiLowerChar <<< unsafeCodePoint <$> chooseInt 0x61 0x7A + arbitrary = AsciiLowerChar <<< codePointFromInt <$> chooseInt 0x61 0x7A newtype NonAsciiLowerChar = NonAsciiLowerChar CodePoint instance arbitraryNonAsciiLowerChar :: Arbitrary NonAsciiLowerChar where - arbitrary = NonAsciiLowerChar <<< unsafeCodePoint <$> oneOf (g :| [g , chooseInt 0x7B 0xFFFF]) + arbitrary = NonAsciiLowerChar <<< codePointFromInt <$> oneOf (g :| [g , chooseInt 0x7B 0xFFFF]) where g :: Gen Int g = chooseInt 0 0x60 newtype AsciiUpperChar = AsciiUpperChar CodePoint instance arbitraryAsciiUpperChar :: Arbitrary AsciiUpperChar where - arbitrary = AsciiUpperChar <<< unsafeCodePoint <$> chooseInt 0x41 0x5A + arbitrary = AsciiUpperChar <<< codePointFromInt <$> chooseInt 0x41 0x5A newtype NonAsciiUpperChar = NonAsciiUpperChar CodePoint instance arbitraryNonAsciiUpperChar :: Arbitrary NonAsciiUpperChar where - arbitrary = NonAsciiUpperChar <<< unsafeCodePoint <$> oneOf (g :| [g , chooseInt 0x5B 0xFFFF]) + arbitrary = NonAsciiUpperChar <<< codePointFromInt <$> oneOf (g :| [g , chooseInt 0x5B 0xFFFF]) where g :: Gen Int g = chooseInt 0 0x40 newtype AsciiDigit = AsciiDigit CodePoint instance arbitraryAsciiDigit :: Arbitrary AsciiDigit where - arbitrary = AsciiDigit <<< unsafeCodePoint <$> chooseInt 0x30 0x39 + arbitrary = AsciiDigit <<< codePointFromInt <$> chooseInt 0x30 0x39 newtype NonAsciiDigit = NonAsciiDigit CodePoint instance arbitraryNonAsciiDigit :: Arbitrary NonAsciiDigit where - arbitrary = NonAsciiDigit <<< unsafeCodePoint <$> oneOf (g :| [g , chooseInt 0x3A 0xFFFF]) + arbitrary = NonAsciiDigit <<< codePointFromInt <$> oneOf (g :| [g , chooseInt 0x3A 0xFFFF]) where g :: Gen Int g = chooseInt 0 0x2F newtype AsciiOctDigit = AsciiOctDigit CodePoint instance arbitraryAsciiOctDigit :: Arbitrary AsciiOctDigit where - arbitrary = AsciiOctDigit <<< unsafeCodePoint <$> chooseInt 0x30 0x37 + arbitrary = AsciiOctDigit <<< codePointFromInt <$> chooseInt 0x30 0x37 newtype NonAsciiOctDigit = NonAsciiOctDigit CodePoint instance arbitraryNonAsciiOctDigit :: Arbitrary NonAsciiOctDigit where - arbitrary = NonAsciiOctDigit <<< unsafeCodePoint <$> oneOf (g :| [g , chooseInt 0x38 0xFFFF]) + arbitrary = NonAsciiOctDigit <<< codePointFromInt <$> oneOf (g :| [g , chooseInt 0x38 0xFFFF]) where g :: Gen Int g = chooseInt 0 0x2F newtype AsciiHexDigit = AsciiHexDigit CodePoint instance arbitraryAsciiHexDigit :: Arbitrary AsciiHexDigit where - arbitrary = AsciiHexDigit <<< unsafeCodePoint <$> oneOf (g :| [g, chooseInt 0x41 0x46, chooseInt 0x61 0x66]) + arbitrary = AsciiHexDigit <<< codePointFromInt <$> oneOf (g :| [g, chooseInt 0x41 0x46, chooseInt 0x61 0x66]) where g :: Gen Int g = chooseInt 0x30 0x37 newtype NonAsciiHexDigit = NonAsciiHexDigit CodePoint instance arbitraryNonAsciiHexDigit :: Arbitrary NonAsciiHexDigit where - arbitrary = NonAsciiHexDigit <<< unsafeCodePoint <$> oneOf (g :| [g, chooseInt 0x3A 0x40, chooseInt 0x4A 0x60, chooseInt 0x67 0xFFFF]) + arbitrary = NonAsciiHexDigit <<< codePointFromInt <$> oneOf (g :| [g, chooseInt 0x3A 0x40, chooseInt 0x4A 0x60, chooseInt 0x67 0xFFFF]) where g :: Gen Int g = chooseInt 0 0x2F @@ -215,91 +213,91 @@ isAsciiUpperTests = describe "isAsciiUpper" do isControlTests :: forall eff . Spec eff Unit isControlTests = describe "isControl" do it "'\\04' is Control" $ - isControl (charPoint '\04') `shouldEqual` true + isControl (codePointFromChar '\04') `shouldEqual` true it "'a' is not Control" $ - isControl (charPoint 'a') `shouldEqual` false + isControl (codePointFromChar 'a') `shouldEqual` false isPrintTests :: forall eff . Spec eff Unit isPrintTests = describe "isPrint" do it "'\\04' is not Print" $ - isPrint (charPoint '\04') `shouldEqual` false + isPrint (codePointFromChar '\04') `shouldEqual` false it "'\\n' is not Print" $ - isPrint (charPoint '\n') `shouldEqual` false + isPrint (codePointFromChar '\n') `shouldEqual` false it "'a' is Print" $ - isPrint (charPoint 'a') `shouldEqual` true + isPrint (codePointFromChar 'a') `shouldEqual` true it "' ' is Print" $ - isPrint (charPoint ' ') `shouldEqual` true + isPrint (codePointFromChar ' ') `shouldEqual` true isSpaceTests :: forall eff . Spec eff Unit isSpaceTests = describe "isSpace" do it "' ' is Space" $ - isSpace (charPoint ' ') `shouldEqual` true + isSpace (codePointFromChar ' ') `shouldEqual` true it "' ' is Space" $ - isSpace (charPoint ' ') `shouldEqual` true + isSpace (codePointFromChar ' ') `shouldEqual` true it "'\\n' is Space" $ - isSpace (charPoint '\n') `shouldEqual` true + isSpace (codePointFromChar '\n') `shouldEqual` true it "'\\t' is Space" $ - isSpace (charPoint '\t') `shouldEqual` true + isSpace (codePointFromChar '\t') `shouldEqual` true it "'a' is not Space" $ - isSpace (charPoint 'a') `shouldEqual` false + isSpace (codePointFromChar 'a') `shouldEqual` false isUpperTests :: forall eff . Spec eff Unit isUpperTests = describe "isUpper" do it "'Z' is Upper" $ - isUpper (charPoint 'Z') `shouldEqual` true + isUpper (codePointFromChar 'Z') `shouldEqual` true it "'a' is not Upper" $ - isUpper (charPoint 'a') `shouldEqual` false + isUpper (codePointFromChar 'a') `shouldEqual` false it "' ' is not Upper" $ - isUpper (charPoint ' ') `shouldEqual` false + isUpper (codePointFromChar ' ') `shouldEqual` false it "'\\n' is not Upper" $ - isUpper (charPoint '\n') `shouldEqual` false + isUpper (codePointFromChar '\n') `shouldEqual` false it "'日' is not Upper" $ - isUpper (charPoint '日') `shouldEqual` false + isUpper (codePointFromChar '日') `shouldEqual` false isLowerTests :: forall eff . Spec eff Unit isLowerTests = describe "isLower" do it "'a' is Lower" $ - isLower (charPoint 'a') `shouldEqual` true + isLower (codePointFromChar 'a') `shouldEqual` true it "'Z' is not Lower" $ - isLower (charPoint 'Z') `shouldEqual` false + isLower (codePointFromChar 'Z') `shouldEqual` false it "' ' is not Lower" $ - isLower (charPoint ' ') `shouldEqual` false + isLower (codePointFromChar ' ') `shouldEqual` false it "'\\n' is not Lower" $ - isLower (charPoint '\n') `shouldEqual` false + isLower (codePointFromChar '\n') `shouldEqual` false it "'日' is not Lower" $ - isLower (charPoint '日') `shouldEqual` false + isLower (codePointFromChar '日') `shouldEqual` false isAlphaTests :: forall eff . Spec eff Unit isAlphaTests = describe "isAlpha" do it "'a' is Alpha" $ - isAlpha (charPoint 'a') `shouldEqual` true + isAlpha (codePointFromChar 'a') `shouldEqual` true it "'Z' is Alpha" $ - isAlpha (charPoint 'Z') `shouldEqual` true + isAlpha (codePointFromChar 'Z') `shouldEqual` true it "'日' is Alpha" $ - isAlpha (charPoint '日') `shouldEqual` true + isAlpha (codePointFromChar '日') `shouldEqual` true it "' ' is not Alpha" $ - isAlpha (charPoint ' ') `shouldEqual` false + isAlpha (codePointFromChar ' ') `shouldEqual` false it "'\\n' is not Alpha" $ - isAlpha (charPoint '\n') `shouldEqual` false + isAlpha (codePointFromChar '\n') `shouldEqual` false isAlphaNumTests :: forall eff . Spec eff Unit isAlphaNumTests = describe "isAlphaNum" do it "'a' is AlphaNum" $ - isAlphaNum (charPoint 'a') `shouldEqual` true + isAlphaNum (codePointFromChar 'a') `shouldEqual` true it "'Z' is AlphaNum" $ - isAlphaNum (charPoint 'Z') `shouldEqual` true + isAlphaNum (codePointFromChar 'Z') `shouldEqual` true it "'日' is AlphaNum" $ - isAlphaNum (charPoint '日') `shouldEqual` true + isAlphaNum (codePointFromChar '日') `shouldEqual` true it "'1' is AlphaNum" $ - isAlphaNum (charPoint '1') `shouldEqual` true + isAlphaNum (codePointFromChar '1') `shouldEqual` true it "'2' is AlphaNum" $ - isAlphaNum (charPoint '2') `shouldEqual` true + isAlphaNum (codePointFromChar '2') `shouldEqual` true it "'③' is AlphaNum" $ - isAlphaNum (charPoint '③') `shouldEqual` true + isAlphaNum (codePointFromChar '③') `shouldEqual` true it "' ' is not AlphaNum" $ - isAlphaNum (charPoint ' ') `shouldEqual` false + isAlphaNum (codePointFromChar ' ') `shouldEqual` false it "'\\n' is not AlphaNum" $ - isAlphaNum (charPoint '\n') `shouldEqual` false + isAlphaNum (codePointFromChar '\n') `shouldEqual` false isDigitTests :: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit isDigitTests = describe "isDigit" do @@ -319,36 +317,36 @@ isHexDigitTests = describe "isHexDigit" do isPunctuationTests :: forall eff . Spec eff Unit isPunctuationTests = describe "isPunctuation" do it "'a' is not Punctuation" $ - isPunctuation (charPoint 'a') `shouldEqual` false + isPunctuation (codePointFromChar 'a') `shouldEqual` false it "'7' is not Punctuation" $ - isPunctuation (charPoint '7') `shouldEqual` false + isPunctuation (codePointFromChar '7') `shouldEqual` false it "'♥' is not Punctuation" $ - isPunctuation (charPoint '♥') `shouldEqual` false + isPunctuation (codePointFromChar '♥') `shouldEqual` false it "'日' is not Punctuation" $ - isPunctuation (charPoint '日') `shouldEqual` false + isPunctuation (codePointFromChar '日') `shouldEqual` false it "'\"' is Punctuation" $ - isPunctuation (charPoint '"') `shouldEqual` true + isPunctuation (codePointFromChar '"') `shouldEqual` true it "'?' is Punctuation" $ - isPunctuation (charPoint '?') `shouldEqual` true + isPunctuation (codePointFromChar '?') `shouldEqual` true it "'—' is Punctuation" $ - isPunctuation (charPoint '—') `shouldEqual` true + isPunctuation (codePointFromChar '—') `shouldEqual` true isSymbolTests :: forall eff . Spec eff Unit isSymbolTests = describe "isSymbol" do it "'a' is not Symbol" $ - isSymbol (charPoint 'a') `shouldEqual` false + isSymbol (codePointFromChar 'a') `shouldEqual` false it "'6' is not Symbol" $ - isSymbol (charPoint '6') `shouldEqual` false + isSymbol (codePointFromChar '6') `shouldEqual` false it "'語' is not Symbol" $ - isSymbol (charPoint '語') `shouldEqual` false + isSymbol (codePointFromChar '語') `shouldEqual` false it "'-' is not Symbol" $ - isSymbol (charPoint '-') `shouldEqual` false + isSymbol (codePointFromChar '-') `shouldEqual` false it "'♥' is Symbol" $ - isSymbol (charPoint '♥') `shouldEqual` true + isSymbol (codePointFromChar '♥') `shouldEqual` true it "'=' is Symbol" $ - isSymbol (charPoint '=') `shouldEqual` true + isSymbol (codePointFromChar '=') `shouldEqual` true it "'+' is Symbol" $ - isSymbol (charPoint '+') `shouldEqual` true + isSymbol (codePointFromChar '+') `shouldEqual` true -- TODO: These. toUpperTests :: forall eff . Spec eff Unit @@ -361,20 +359,20 @@ toTitleTests = pure unit digitToIntTests :: forall eff . Spec eff Unit digitToIntTests = describe "digitToInt" do it "'0'..'9' get mapped correctly" $ - map (digitToInt <<< charPoint) ['0','1','2','3','4','5','6','7','8','9'] `shouldEqual` + map (digitToInt <<< codePointFromChar) ['0','1','2','3','4','5','6','7','8','9'] `shouldEqual` [Just 0, Just 1, Just 2, Just 3, Just 4, Just 5, Just 6, Just 7, Just 8, Just 9] it "'a'..'f' get mapped correctly" $ - map (digitToInt <<< charPoint) ['a','b','c','d','e','f'] `shouldEqual` + map (digitToInt <<< codePointFromChar) ['a','b','c','d','e','f'] `shouldEqual` [Just 10, Just 11, Just 12, Just 13, Just 14, Just 15] it "'A'..'F' get mapped correctly" $ - map (digitToInt <<< charPoint) ['A','B','C','D','E','F'] `shouldEqual` + map (digitToInt <<< codePointFromChar) ['A','B','C','D','E','F'] `shouldEqual` [Just 10, Just 11, Just 12, Just 13, Just 14, Just 15] it "'G' is not a digit" $ - digitToInt (charPoint 'G') `shouldEqual` Nothing + digitToInt (codePointFromChar 'G') `shouldEqual` Nothing it "'♥' is not a digit" $ - digitToInt (charPoint '♥') `shouldEqual` Nothing + digitToInt (codePointFromChar '♥') `shouldEqual` Nothing it "'国' is not a digit" $ - digitToInt (charPoint '国') `shouldEqual` Nothing + digitToInt (codePointFromChar '国') `shouldEqual` Nothing isLetterTests:: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit isLetterTests = describe "isLetter" do @@ -384,45 +382,45 @@ isMarkTests :: forall eff . Spec eff Unit isMarkTests = describe "isMark" do -- TODO: Add a positive test here. it "'a' is not Mark" $ - isMark (charPoint 'a') `shouldEqual` false + isMark (codePointFromChar 'a') `shouldEqual` false it "'0' is not Mark" $ - isMark (charPoint '0') `shouldEqual` false + isMark (codePointFromChar '0') `shouldEqual` false it "'語' is not Mark" $ - isMark (charPoint '語') `shouldEqual` false + isMark (codePointFromChar '語') `shouldEqual` false it "'♥' is not Mark" $ - isMark (charPoint '♥') `shouldEqual` false + isMark (codePointFromChar '♥') `shouldEqual` false isNumberTests :: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit isNumberTests = describe "isNumber" do it "'a' is not Number" $ - isNumber (charPoint 'a') `shouldEqual` false + isNumber (codePointFromChar 'a') `shouldEqual` false it "'%' is not Number" $ - isNumber (charPoint '%') `shouldEqual` false + isNumber (codePointFromChar '%') `shouldEqual` false it "'語' is not Number" $ - isNumber (charPoint '語') `shouldEqual` false + isNumber (codePointFromChar '語') `shouldEqual` false it "'♥' is not Number" $ - isNumber (charPoint '♥') `shouldEqual` false + isNumber (codePointFromChar '♥') `shouldEqual` false it "'3' is Number" $ - isNumber (charPoint '3') `shouldEqual` true + isNumber (codePointFromChar '3') `shouldEqual` true it "'Ⅸ' is Number" $ - isNumber (charPoint 'Ⅸ') `shouldEqual` true + isNumber (codePointFromChar 'Ⅸ') `shouldEqual` true it "'3' is Number" $ - isNumber (charPoint '3') `shouldEqual` true + isNumber (codePointFromChar '3') `shouldEqual` true it "'⑳' is Number" $ - isNumber (charPoint '⑳') `shouldEqual` true + isNumber (codePointFromChar '⑳') `shouldEqual` true it "0..9 are Number" $ liftEff $ quickCheck \(AsciiDigit char) -> isNumber char isSeparatorTests :: forall eff . Spec eff Unit isSeparatorTests = describe "isSeparator" do it "'a' is not Separator" $ - isSeparator (charPoint 'a') `shouldEqual` false + isSeparator (codePointFromChar 'a') `shouldEqual` false it "'9' is not Separator" $ - isSeparator (charPoint '9') `shouldEqual` false + isSeparator (codePointFromChar '9') `shouldEqual` false it "'\\n' is not Separator" $ - isSeparator (charPoint '\n') `shouldEqual` false + isSeparator (codePointFromChar '\n') `shouldEqual` false it "'\\t' is not Separator" $ - isSeparator (charPoint '\t') `shouldEqual` false + isSeparator (codePointFromChar '\t') `shouldEqual` false it "' ' is Separator" $ - isSeparator (charPoint ' ') `shouldEqual` true + isSeparator (codePointFromChar ' ') `shouldEqual` true it "'\\160' is Separator" $ - isSeparator (charPoint '\160') `shouldEqual` true + isSeparator (codePointFromChar '\160') `shouldEqual` true From fbfddea1eb25dfc20c442046aaf7a314bb342613 Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Fri, 25 May 2018 08:34:45 -0500 Subject: [PATCH 05/32] Update tests They work with local modifications ... --- test/Test/Data/CodePoint/Unicode.purs | 93 +++++++++++++-------------- test/Test/Main.purs | 10 +-- 2 files changed, 47 insertions(+), 56 deletions(-) diff --git a/test/Test/Data/CodePoint/Unicode.purs b/test/Test/Data/CodePoint/Unicode.purs index 04b5046..e774533 100644 --- a/test/Test/Data/CodePoint/Unicode.purs +++ b/test/Test/Data/CodePoint/Unicode.purs @@ -2,10 +2,7 @@ module Test.Data.CodePoint.Unicode (dataCharUnicodeTests) where import Prelude -import Control.Monad.Eff.Class (liftEff) -import Control.Monad.Eff.Console (CONSOLE()) -import Control.Monad.Eff.Exception (EXCEPTION()) -import Control.Monad.Eff.Random (RANDOM()) +import Effect.Class (liftEffect) import Data.Char (toCharCode) import Data.Enum (toEnumWithDefaults, fromEnum) import Data.Maybe (Maybe(..), fromJust) @@ -45,7 +42,7 @@ import Data.CodePoint.Unicode ( GeneralCategory(..) codePointFromInt :: Int -> CodePoint codePointFromInt = toEnumWithDefaults bottom top -dataCharUnicodeTests :: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit +dataCharUnicodeTests :: Spec Unit dataCharUnicodeTests = describe "module Data.CodePoint.Unicode" do generalCategoryDataTypeTests generalCategoryTests @@ -73,7 +70,7 @@ dataCharUnicodeTests = describe "module Data.CodePoint.Unicode" do isNumberTests isSeparatorTests -generalCategoryDataTypeTests :: forall eff . Spec eff Unit +generalCategoryDataTypeTests :: Spec Unit generalCategoryDataTypeTests = describe "GeneralCategory instances" do describe "Eq instance" do it "UppercaseLetter == UppercaseLetter" $ @@ -92,7 +89,7 @@ generalCategoryDataTypeTests = describe "GeneralCategory instances" do it "top == NotAssigned" $ top `shouldEqual` NotAssigned -generalCategoryTests :: forall eff . Spec eff Unit +generalCategoryTests :: Spec Unit generalCategoryTests = describe "generalCategory" do it "generalCategory (codePointFromChar 'a') == LowercaseLetter" $ generalCategory (codePointFromChar 'a') `shouldEqual` Just LowercaseLetter @@ -189,35 +186,35 @@ instance arbitraryNonAsciiHexDigit :: Arbitrary NonAsciiHexDigit where g :: Gen Int g = chooseInt 0 0x2F -isAsciiTests :: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit +isAsciiTests :: Spec Unit isAsciiTests = describe "isAscii" do - it "ascii chars are ascii" $ liftEff $ quickCheck \(AsciiChar char) -> isAscii char - it "non ascii chars are not ascii" $ liftEff $ quickCheck \(NonAsciiChar char) -> not $ isAscii char + it "ascii chars are ascii" $ liftEffect $ quickCheck \(AsciiChar char) -> isAscii char + it "non ascii chars are not ascii" $ liftEffect $ quickCheck \(NonAsciiChar char) -> not $ isAscii char -isLatin1Tests :: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit +isLatin1Tests :: Spec Unit isLatin1Tests = describe "isLatin1" do - it "ascii chars are latin1" $ liftEff $ quickCheck \(AsciiChar char) -> isLatin1 char - it "latin1 chars are latin1" $ liftEff $ quickCheck \(Latin1Char char) -> isLatin1 char - it "non latin1 chars are not latin1" $ liftEff $ quickCheck \(NonLatin1Char char) -> not $ isLatin1 char + it "ascii chars are latin1" $ liftEffect $ quickCheck \(AsciiChar char) -> isLatin1 char + it "latin1 chars are latin1" $ liftEffect $ quickCheck \(Latin1Char char) -> isLatin1 char + it "non latin1 chars are not latin1" $ liftEffect $ quickCheck \(NonLatin1Char char) -> not $ isLatin1 char -isAsciiLowerTests :: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit +isAsciiLowerTests :: Spec Unit isAsciiLowerTests = describe "isAsciiLower" do - it "lower ascii chars are lower ascii" $ liftEff $ quickCheck \(AsciiLowerChar char) -> isAsciiLower char - it "non lower ascii chars are not lower ascii" $ liftEff $ quickCheck \(NonAsciiLowerChar char) -> not $ isAsciiLower char + it "lower ascii chars are lower ascii" $ liftEffect $ quickCheck \(AsciiLowerChar char) -> isAsciiLower char + it "non lower ascii chars are not lower ascii" $ liftEffect $ quickCheck \(NonAsciiLowerChar char) -> not $ isAsciiLower char -isAsciiUpperTests :: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit +isAsciiUpperTests :: Spec Unit isAsciiUpperTests = describe "isAsciiUpper" do - it "upper ascii chars are upper ascii" $ liftEff $ quickCheck \(AsciiUpperChar char) -> isAsciiUpper char - it "non upper ascii chars are not upper ascii" $ liftEff $ quickCheck \(NonAsciiUpperChar char) -> not $ isAsciiUpper char + it "upper ascii chars are upper ascii" $ liftEffect $ quickCheck \(AsciiUpperChar char) -> isAsciiUpper char + it "non upper ascii chars are not upper ascii" $ liftEffect $ quickCheck \(NonAsciiUpperChar char) -> not $ isAsciiUpper char -isControlTests :: forall eff . Spec eff Unit +isControlTests :: Spec Unit isControlTests = describe "isControl" do it "'\\04' is Control" $ isControl (codePointFromChar '\04') `shouldEqual` true it "'a' is not Control" $ isControl (codePointFromChar 'a') `shouldEqual` false -isPrintTests :: forall eff . Spec eff Unit +isPrintTests :: Spec Unit isPrintTests = describe "isPrint" do it "'\\04' is not Print" $ isPrint (codePointFromChar '\04') `shouldEqual` false @@ -228,7 +225,7 @@ isPrintTests = describe "isPrint" do it "' ' is Print" $ isPrint (codePointFromChar ' ') `shouldEqual` true -isSpaceTests :: forall eff . Spec eff Unit +isSpaceTests :: Spec Unit isSpaceTests = describe "isSpace" do it "' ' is Space" $ isSpace (codePointFromChar ' ') `shouldEqual` true @@ -241,7 +238,7 @@ isSpaceTests = describe "isSpace" do it "'a' is not Space" $ isSpace (codePointFromChar 'a') `shouldEqual` false -isUpperTests :: forall eff . Spec eff Unit +isUpperTests :: Spec Unit isUpperTests = describe "isUpper" do it "'Z' is Upper" $ isUpper (codePointFromChar 'Z') `shouldEqual` true @@ -254,7 +251,7 @@ isUpperTests = describe "isUpper" do it "'日' is not Upper" $ isUpper (codePointFromChar '日') `shouldEqual` false -isLowerTests :: forall eff . Spec eff Unit +isLowerTests :: Spec Unit isLowerTests = describe "isLower" do it "'a' is Lower" $ isLower (codePointFromChar 'a') `shouldEqual` true @@ -267,7 +264,7 @@ isLowerTests = describe "isLower" do it "'日' is not Lower" $ isLower (codePointFromChar '日') `shouldEqual` false -isAlphaTests :: forall eff . Spec eff Unit +isAlphaTests :: Spec Unit isAlphaTests = describe "isAlpha" do it "'a' is Alpha" $ isAlpha (codePointFromChar 'a') `shouldEqual` true @@ -280,7 +277,7 @@ isAlphaTests = describe "isAlpha" do it "'\\n' is not Alpha" $ isAlpha (codePointFromChar '\n') `shouldEqual` false -isAlphaNumTests :: forall eff . Spec eff Unit +isAlphaNumTests :: Spec Unit isAlphaNumTests = describe "isAlphaNum" do it "'a' is AlphaNum" $ isAlphaNum (codePointFromChar 'a') `shouldEqual` true @@ -299,22 +296,22 @@ isAlphaNumTests = describe "isAlphaNum" do it "'\\n' is not AlphaNum" $ isAlphaNum (codePointFromChar '\n') `shouldEqual` false -isDigitTests :: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit +isDigitTests :: Spec Unit isDigitTests = describe "isDigit" do - it "digits are digits" $ liftEff $ quickCheck \(AsciiDigit char) -> isDigit char - it "non digits are not digits" $ liftEff $ quickCheck \(NonAsciiDigit char) -> not $ isDigit char + it "digits are digits" $ liftEffect $ quickCheck \(AsciiDigit char) -> isDigit char + it "non digits are not digits" $ liftEffect $ quickCheck \(NonAsciiDigit char) -> not $ isDigit char -isOctDigitTests :: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit +isOctDigitTests :: Spec Unit isOctDigitTests = describe "isOctDigit" do - it "oct digits are oct digits" $ liftEff $ quickCheck \(AsciiOctDigit char) -> isOctDigit char - it "non oct digits are not oct digits" $ liftEff $ quickCheck \(NonAsciiOctDigit char) -> not $ isOctDigit char + it "oct digits are oct digits" $ liftEffect $ quickCheck \(AsciiOctDigit char) -> isOctDigit char + it "non oct digits are not oct digits" $ liftEffect $ quickCheck \(NonAsciiOctDigit char) -> not $ isOctDigit char -isHexDigitTests :: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit +isHexDigitTests :: Spec Unit isHexDigitTests = describe "isHexDigit" do - it "hex digits are hex digits" $ liftEff $ quickCheck \(AsciiHexDigit char) -> isHexDigit char - it "non hex digits are not hex digits" $ liftEff $ quickCheck \(NonAsciiHexDigit char) -> not $ isHexDigit char + it "hex digits are hex digits" $ liftEffect $ quickCheck \(AsciiHexDigit char) -> isHexDigit char + it "non hex digits are not hex digits" $ liftEffect $ quickCheck \(NonAsciiHexDigit char) -> not $ isHexDigit char -isPunctuationTests :: forall eff . Spec eff Unit +isPunctuationTests :: Spec Unit isPunctuationTests = describe "isPunctuation" do it "'a' is not Punctuation" $ isPunctuation (codePointFromChar 'a') `shouldEqual` false @@ -331,7 +328,7 @@ isPunctuationTests = describe "isPunctuation" do it "'—' is Punctuation" $ isPunctuation (codePointFromChar '—') `shouldEqual` true -isSymbolTests :: forall eff . Spec eff Unit +isSymbolTests :: Spec Unit isSymbolTests = describe "isSymbol" do it "'a' is not Symbol" $ isSymbol (codePointFromChar 'a') `shouldEqual` false @@ -349,14 +346,14 @@ isSymbolTests = describe "isSymbol" do isSymbol (codePointFromChar '+') `shouldEqual` true -- TODO: These. -toUpperTests :: forall eff . Spec eff Unit +toUpperTests :: Spec Unit toUpperTests = pure unit -toLowerTests :: forall eff . Spec eff Unit +toLowerTests :: Spec Unit toLowerTests = pure unit -toTitleTests :: forall eff . Spec eff Unit +toTitleTests :: Spec Unit toTitleTests = pure unit -digitToIntTests :: forall eff . Spec eff Unit +digitToIntTests :: Spec Unit digitToIntTests = describe "digitToInt" do it "'0'..'9' get mapped correctly" $ map (digitToInt <<< codePointFromChar) ['0','1','2','3','4','5','6','7','8','9'] `shouldEqual` @@ -374,11 +371,11 @@ digitToIntTests = describe "digitToInt" do it "'国' is not a digit" $ digitToInt (codePointFromChar '国') `shouldEqual` Nothing -isLetterTests:: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit +isLetterTests:: Spec Unit isLetterTests = describe "isLetter" do - it "isLetter == isAlpha" $ liftEff $ quickCheck \(CP char) -> isLetter char == isAlpha char + it "isLetter == isAlpha" $ liftEffect $ quickCheck \(CP char) -> isLetter char == isAlpha char -isMarkTests :: forall eff . Spec eff Unit +isMarkTests :: Spec Unit isMarkTests = describe "isMark" do -- TODO: Add a positive test here. it "'a' is not Mark" $ @@ -390,7 +387,7 @@ isMarkTests = describe "isMark" do it "'♥' is not Mark" $ isMark (codePointFromChar '♥') `shouldEqual` false -isNumberTests :: forall eff . Spec (console :: CONSOLE, random :: RANDOM, exception :: EXCEPTION | eff) Unit +isNumberTests :: Spec Unit isNumberTests = describe "isNumber" do it "'a' is not Number" $ isNumber (codePointFromChar 'a') `shouldEqual` false @@ -408,9 +405,9 @@ isNumberTests = describe "isNumber" do isNumber (codePointFromChar '3') `shouldEqual` true it "'⑳' is Number" $ isNumber (codePointFromChar '⑳') `shouldEqual` true - it "0..9 are Number" $ liftEff $ quickCheck \(AsciiDigit char) -> isNumber char + it "0..9 are Number" $ liftEffect $ quickCheck \(AsciiDigit char) -> isNumber char -isSeparatorTests :: forall eff . Spec eff Unit +isSeparatorTests :: Spec Unit isSeparatorTests = describe "isSeparator" do it "'a' is not Separator" $ isSeparator (codePointFromChar 'a') `shouldEqual` false diff --git a/test/Test/Main.purs b/test/Test/Main.purs index a351a4c..dd23420 100644 --- a/test/Test/Main.purs +++ b/test/Test/Main.purs @@ -1,17 +1,11 @@ module Test.Main where import Prelude -import Control.Monad.Aff.AVar (AVAR) -import Control.Monad.Eff (Eff) -import Control.Monad.Eff.Console (CONSOLE) -import Control.Monad.Eff.Exception (EXCEPTION) -import Control.Monad.Eff.Random (RANDOM) -import Control.Monad.Eff.Timer (TIMER) -import Node.Process (PROCESS) +import Effect (Effect) import Test.Data.CodePoint.Unicode (dataCharUnicodeTests) import Test.Spec.Reporter.Console (consoleReporter) import Test.Spec.Runner (run) -main :: forall e . Eff (avar :: AVAR, console :: CONSOLE, exception :: EXCEPTION, process :: PROCESS, random :: RANDOM, timer :: TIMER | e) Unit +main :: Effect Unit main = run [consoleReporter] $ dataCharUnicodeTests From 2535356cec66acda587a407341ab794c747cf6a6 Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Fri, 25 May 2018 10:12:35 -0500 Subject: [PATCH 06/32] Clean up docs again, fix out of bounds error --- src/Data/CodePoint/Unicode.purs | 24 ++++++++++++------------ src/Data/CodePoint/Unicode/Internal.purs | 2 +- ubconfc | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/Data/CodePoint/Unicode.purs b/src/Data/CodePoint/Unicode.purs index 5d3abb8..6f74611 100644 --- a/src/Data/CodePoint/Unicode.purs +++ b/src/Data/CodePoint/Unicode.purs @@ -4,7 +4,7 @@ import Prelude import Data.Char (toCharCode) import Data.String.CodePoints (CodePoint, codePointFromChar) -import Data.Enum (toEnum, fromEnum) +import Data.Enum (enumFromTo, toEnum, fromEnum) import Data.CodePoint.Unicode.Internal ( UnicodeCategory(..) , uTowtitle , uTowlower @@ -49,7 +49,7 @@ modify f = fromMaybe <*> (toEnum <<< f <<< fromEnum) -- | -- | ``` -- | >>> NonSpacingMark <= MathSymbol --- | True +-- | true -- | ``` -- | -- | `Enum` instance (TODO: this is not implemented yet): @@ -562,25 +562,25 @@ digitToInt c = result -- | -- | ``` -- | >>> isLetter (codePointFromChar 'a') --- | True +-- | true -- | >>> isLetter (codePointFromChar 'A') --- | True +-- | true -- | >>> isLetter (codePointFromChar '0') --- | False +-- | false -- | >>> isLetter (codePointFromChar '%') --- | False +-- | false -- | >>> isLetter (codePointFromChar '♥') --- | False +-- | false -- | >>> isLetter (codePointFromChar '\31') --- | False +-- | false -- | ``` -- | -- | Ensure that 'isLetter' and 'isAlpha' are equivalent. -- | -- | ``` --- | >>> let chars = [(chr 0)..] --- | >>> let letters = map isLetter chars --- | >>> let alphas = map isAlpha chars +-- | >>> chars = enumFromTo bottom top +-- | >>> letters = map isLetter chars +-- | >>> alphas = map isAlpha chars -- | >>> letters == alphas -- | True -- | ``` @@ -624,7 +624,7 @@ isLetter c = -- | another character before they become printable: -- | -- | ``` --- | >>> map isMark "ò" +-- | >>> map isMark (toCodePointArray "ò") -- | [false,true] -- | ``` -- | diff --git a/src/Data/CodePoint/Unicode/Internal.purs b/src/Data/CodePoint/Unicode/Internal.purs index d144469..09dd284 100644 --- a/src/Data/CodePoint/Unicode/Internal.purs +++ b/src/Data/CodePoint/Unicode/Internal.purs @@ -4780,7 +4780,7 @@ getRule blocks unichar size = bsearch :: forall a . a -> Array a -> Int -> (a -> a -> Ordering) -> Maybe a bsearch a array size compare = go 0 size where - go i k | i > k = Nothing + go i k | i > k || i >= Array.length array = Nothing | otherwise = let j = floor (toNumber (i + k) / 2.0) b = unsafePartial (Array.unsafeIndex array j) in case compare a b of diff --git a/ubconfc b/ubconfc index f88f0b5..1f292af 100755 --- a/ubconfc +++ b/ubconfc @@ -352,7 +352,7 @@ getRule blocks unichar size = bsearch :: forall a . a -> Array a -> Int -> (a -> a -> Ordering) -> Maybe a bsearch a array size compare = go 0 size where - go i k | i > k = Nothing + go i k | i > k || i >= Array.length array = Nothing | otherwise = let j = floor (toNumber (i + k) / 2.0) b = unsafePartial (Array.unsafeIndex array j) in case compare a b of From 5a47d12fe7210122e9d37890f813da5575e846b2 Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Fri, 25 May 2018 10:18:55 -0500 Subject: [PATCH 07/32] Update to Unicode 10.0.0 --- src/Data/CodePoint/Unicode/Internal.purs | 7723 ++++++++++++---------- 1 file changed, 4174 insertions(+), 3549 deletions(-) diff --git a/src/Data/CodePoint/Unicode/Internal.purs b/src/Data/CodePoint/Unicode/Internal.purs index 09dd284..7e43525 100644 --- a/src/Data/CodePoint/Unicode/Internal.purs +++ b/src/Data/CodePoint/Unicode/Internal.purs @@ -1,6 +1,6 @@ ----------------------------------------------------------- -- This is an automatically generated file: do not edit --- Generated by ubconfc at Fri Nov 10 20:05:16 PST 2017 +-- Generated by ubconfc at Fri May 25 10:18:07 CDT 2018 ----------------------------------------------------------- @@ -108,7 +108,7 @@ instance showCharBlock :: Show CharBlock where gencatPF :: Int -gencatPF = 131072 +gencatPF = 262144 gencatSM :: Int gencatSM = 64 @@ -117,7 +117,7 @@ gencatSO :: Int gencatSO = 8192 gencatPI :: Int -gencatPI = 16384 +gencatPI = 32768 gencatMC :: Int gencatMC = 8388608 @@ -156,7 +156,7 @@ gencatLM :: Int gencatLM = 1048576 gencatLO :: Int -gencatLO = 262144 +gencatLO = 16384 gencatND :: Int gencatND = 256 @@ -177,10 +177,10 @@ gencatCC :: Int gencatCC = 1 gencatNO :: Int -gencatNO = 65536 +gencatNO = 131072 gencatCF :: Int -gencatCF = 32768 +gencatCF = 65536 gencatPC :: Int gencatPC = 2048 @@ -198,223 +198,265 @@ maxUniChar :: Int maxUniChar = 1114109 numBlocks :: Int -numBlocks = 2783 +numBlocks = 3244 numConvBlocks :: Int -numConvBlocks = 1230 +numConvBlocks = 1304 numSpaceBlocks :: Int -numSpaceBlocks = 8 +numSpaceBlocks = 7 numLat1Blocks :: Int numLat1Blocks = 63 numRules :: Int -numRules = 167 +numRules = 197 -rule165 :: ConversionRule -rule165 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 40, titledist: 0 } +rule193 :: ConversionRule +rule193 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 40, titledist: 0 } + +rule183 :: ConversionRule +rule183 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42315, titledist: 0 } rule63 :: ConversionRule rule63 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10782, lowdist: 0, titledist: 10782 } -rule126 :: ConversionRule -rule126 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 128, lowdist: 0, titledist: 128 } +rule144 :: ConversionRule +rule144 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 128, lowdist: 0, titledist: 128 } -rule162 :: ConversionRule -rule162 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42280, titledist: 0 } +rule180 :: ConversionRule +rule180 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42280, titledist: 0 } -rule71 :: ConversionRule -rule71 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -209, lowdist: 0, titledist: -209 } +rule74 :: ConversionRule +rule74 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -209, lowdist: 0, titledist: -209 } -rule21 :: ConversionRule -rule21 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 1, titledist: 0 } +rule22 :: ConversionRule +rule22 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 1, titledist: 0 } -rule128 :: ConversionRule -rule128 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 126, lowdist: 0, titledist: 126 } +rule187 :: ConversionRule +rule187 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42261, titledist: 0 } -rule44 :: ConversionRule -rule44 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 219, titledist: 0 } +rule146 :: ConversionRule +rule146 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 126, lowdist: 0, titledist: 126 } -rule161 :: ConversionRule -rule161 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -35332, titledist: 0 } +rule45 :: ConversionRule +rule45 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 219, titledist: 0 } -rule105 :: ConversionRule -rule105 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -60, titledist: 0 } +rule179 :: ConversionRule +rule179 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -35332, titledist: 0 } -rule101 :: ConversionRule -rule101 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -8, lowdist: 0, titledist: -8 } +rule114 :: ConversionRule +rule114 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -60, titledist: 0 } -rule43 :: ConversionRule -rule43 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 217, titledist: 0 } +rule109 :: ConversionRule +rule109 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -8, lowdist: 0, titledist: -8 } -rule77 :: ConversionRule -rule77 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10727, lowdist: 0, titledist: 10727 } +rule44 :: ConversionRule +rule44 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 217, titledist: 0 } -rule143 :: ConversionRule -rule143 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -8262, titledist: 0 } +rule81 :: ConversionRule +rule81 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10727, lowdist: 0, titledist: 10727 } -rule39 :: ConversionRule -rule39 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 213, titledist: 0 } +rule161 :: ConversionRule +rule161 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -8262, titledist: 0 } -rule41 :: ConversionRule -rule41 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 214, titledist: 0 } +rule40 :: ConversionRule +rule40 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 213, titledist: 0 } -rule72 :: ConversionRule -rule72 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -211, lowdist: 0, titledist: -211 } +rule42 :: ConversionRule +rule42 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 214, titledist: 0 } -rule28 :: ConversionRule -rule28 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 210, titledist: 0 } +rule75 :: ConversionRule +rule75 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -211, lowdist: 0, titledist: -211 } -rule31 :: ConversionRule -rule31 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 79, titledist: 0 } +rule29 :: ConversionRule +rule29 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 210, titledist: 0 } -rule36 :: ConversionRule -rule36 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 211, titledist: 0 } +rule32 :: ConversionRule +rule32 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 79, titledist: 0 } -rule102 :: ConversionRule -rule102 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -86, lowdist: 0, titledist: -86 } +rule37 :: ConversionRule +rule37 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 211, titledist: 0 } -rule80 :: ConversionRule -rule80 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -217, lowdist: 0, titledist: -217 } +rule110 :: ConversionRule +rule110 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -86, lowdist: 0, titledist: -86 } + +rule85 :: ConversionRule +rule85 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -217, lowdist: 0, titledist: -217 } rule5 :: ConversionRule rule5 = ConversionRule { category: gencatPE, unicodeCat: NUMCAT_PE, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule113 :: ConversionRule -rule113 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -48, lowdist: 0, titledist: -48 } +rule122 :: ConversionRule +rule122 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -48, lowdist: 0, titledist: -48 } -rule142 :: ConversionRule -rule142 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -8383, titledist: 0 } +rule73 :: ConversionRule +rule73 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42308, lowdist: 0, titledist: 42308 } -rule145 :: ConversionRule -rule145 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -28, lowdist: 0, titledist: -28 } +rule160 :: ConversionRule +rule160 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -8383, titledist: 0 } -rule104 :: ConversionRule -rule104 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 7, lowdist: 0, titledist: 7 } +rule163 :: ConversionRule +rule163 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -28, lowdist: 0, titledist: -28 } + +rule128 :: ConversionRule +rule128 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6253, lowdist: 0, titledist: -6253 } + +rule112 :: ConversionRule +rule112 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 7, lowdist: 0, titledist: 7 } + +rule101 :: ConversionRule +rule101 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -64, lowdist: 0, titledist: -64 } rule61 :: ConversionRule rule61 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10783, lowdist: 0, titledist: 10783 } -rule93 :: ConversionRule -rule93 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -64, lowdist: 0, titledist: -64 } +rule88 :: ConversionRule +rule88 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42261, lowdist: 0, titledist: 42261 } rule62 :: ConversionRule rule62 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10780, lowdist: 0, titledist: 10780 } -rule103 :: ConversionRule -rule103 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -80, lowdist: 0, titledist: -80 } +rule111 :: ConversionRule +rule111 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -80, lowdist: 0, titledist: -80 } + +rule104 :: ConversionRule +rule104 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -62, lowdist: 0, titledist: -62 } rule60 :: ConversionRule rule60 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 71, titledist: 0 } -rule96 :: ConversionRule -rule96 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -62, lowdist: 0, titledist: -62 } - rule51 :: ConversionRule rule51 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -97, titledist: 0 } -rule87 :: ConversionRule -rule87 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 37, titledist: 0 } +rule95 :: ConversionRule +rule95 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 37, titledist: 0 } -rule86 :: ConversionRule -rule86 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 38, titledist: 0 } +rule94 :: ConversionRule +rule94 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 38, titledist: 0 } -rule123 :: ConversionRule -rule123 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 74, lowdist: 0, titledist: 74 } +rule141 :: ConversionRule +rule141 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 74, lowdist: 0, titledist: 74 } -rule164 :: ConversionRule -rule164 = ConversionRule { category: gencatCO, unicodeCat: NUMCAT_CO, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule131 :: ConversionRule +rule131 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6243, lowdist: 0, titledist: -6243 } -rule166 :: ConversionRule -rule166 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -40, lowdist: 0, titledist: -40 } +rule195 :: ConversionRule +rule195 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 34, titledist: 0 } -rule27 :: ConversionRule -rule27 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 195, lowdist: 0, titledist: 195 } +rule192 :: ConversionRule +rule192 = ConversionRule { category: gencatCO, unicodeCat: NUMCAT_CO, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule158 :: ConversionRule -rule158 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10782, titledist: 0 } +rule194 :: ConversionRule +rule194 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -40, lowdist: 0, titledist: -40 } -rule157 :: ConversionRule -rule157 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10783, titledist: 0 } +rule28 :: ConversionRule +rule28 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 195, lowdist: 0, titledist: 195 } + +rule83 :: ConversionRule +rule83 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42282, lowdist: 0, titledist: 42282 } + +rule176 :: ConversionRule +rule176 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10782, titledist: 0 } + +rule175 :: ConversionRule +rule175 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10783, titledist: 0 } + +rule188 :: ConversionRule +rule188 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 928, titledist: 0 } rule9 :: ConversionRule rule9 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 32, titledist: 0 } -rule159 :: ConversionRule -rule159 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10815, titledist: 0 } +rule177 :: ConversionRule +rule177 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10815, titledist: 0 } -rule138 :: ConversionRule -rule138 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -126, titledist: 0 } +rule156 :: ConversionRule +rule156 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -126, titledist: 0 } rule4 :: ConversionRule rule4 = ConversionRule { category: gencatPS, unicodeCat: NUMCAT_PS, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule133 :: ConversionRule -rule133 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -7205, lowdist: 0, titledist: -7205 } +rule151 :: ConversionRule +rule151 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -7205, lowdist: 0, titledist: -7205 } -rule155 :: ConversionRule -rule155 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10780, titledist: 0 } +rule69 :: ConversionRule +rule69 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42319, lowdist: 0, titledist: 42319 } -rule132 :: ConversionRule -rule132 = ConversionRule { category: gencatLT, unicodeCat: NUMCAT_LT, possible: 1, updist: 0, lowdist: -9, titledist: 0 } +rule173 :: ConversionRule +rule173 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10780, titledist: 0 } -rule153 :: ConversionRule -rule153 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -10795, lowdist: 0, titledist: -10795 } +rule150 :: ConversionRule +rule150 = ConversionRule { category: gencatLT, unicodeCat: NUMCAT_LT, possible: 1, updist: 0, lowdist: -9, titledist: 0 } -rule24 :: ConversionRule -rule24 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -232, lowdist: 0, titledist: -232 } +rule171 :: ConversionRule +rule171 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -10795, lowdist: 0, titledist: -10795 } -rule26 :: ConversionRule -rule26 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -300, lowdist: 0, titledist: -300 } +rule25 :: ConversionRule +rule25 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -232, lowdist: 0, titledist: -232 } + +rule27 :: ConversionRule +rule27 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -300, lowdist: 0, titledist: -300 } + +rule125 :: ConversionRule +rule125 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 38864, titledist: 0 } rule16 :: ConversionRule rule16 = ConversionRule { category: gencatCF, unicodeCat: NUMCAT_CF, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule74 :: ConversionRule -rule74 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10749, lowdist: 0, titledist: 10749 } +rule78 :: ConversionRule +rule78 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10749, lowdist: 0, titledist: 10749 } -rule122 :: ConversionRule -rule122 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -8, titledist: 0 } +rule140 :: ConversionRule +rule140 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -8, titledist: 0 } -rule25 :: ConversionRule -rule25 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -121, titledist: 0 } +rule26 :: ConversionRule +rule26 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -121, titledist: 0 } -rule127 :: ConversionRule -rule127 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 112, lowdist: 0, titledist: 112 } +rule145 :: ConversionRule +rule145 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 112, lowdist: 0, titledist: 112 } -rule40 :: ConversionRule -rule40 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 130, lowdist: 0, titledist: 130 } +rule41 :: ConversionRule +rule41 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 130, lowdist: 0, titledist: 130 } -rule30 :: ConversionRule -rule30 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 205, titledist: 0 } +rule89 :: ConversionRule +rule89 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42258, lowdist: 0, titledist: 42258 } -rule29 :: ConversionRule -rule29 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 206, titledist: 0 } +rule31 :: ConversionRule +rule31 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 205, titledist: 0 } -rule69 :: ConversionRule -rule69 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -207, lowdist: 0, titledist: -207 } +rule190 :: ConversionRule +rule190 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -38864, lowdist: 0, titledist: -38864 } + +rule127 :: ConversionRule +rule127 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6254, lowdist: 0, titledist: -6254 } + +rule30 :: ConversionRule +rule30 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 206, titledist: 0 } + +rule71 :: ConversionRule +rule71 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -207, lowdist: 0, titledist: -207 } rule3 :: ConversionRule rule3 = ConversionRule { category: gencatSC, unicodeCat: NUMCAT_SC, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule135 :: ConversionRule -rule135 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -100, titledist: 0 } - -rule23 :: ConversionRule -rule23 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -199, titledist: 0 } +rule153 :: ConversionRule +rule153 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -100, titledist: 0 } -rule32 :: ConversionRule -rule32 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 202, titledist: 0 } +rule24 :: ConversionRule +rule24 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -199, titledist: 0 } rule33 :: ConversionRule -rule33 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 203, titledist: 0 } +rule33 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 202, titledist: 0 } + +rule34 :: ConversionRule +rule34 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 203, titledist: 0 } rule50 :: ConversionRule rule50 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -79, lowdist: 0, titledist: -79 } -rule154 :: ConversionRule -rule154 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -10792, lowdist: 0, titledist: -10792 } +rule172 :: ConversionRule +rule172 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -10792, lowdist: 0, titledist: -10792 } rule58 :: ConversionRule rule58 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -195, titledist: 0 } @@ -422,62 +464,74 @@ rule58 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1 rule67 :: ConversionRule rule67 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -202, lowdist: 0, titledist: -202 } -rule76 :: ConversionRule -rule76 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -214, lowdist: 0, titledist: -214 } +rule80 :: ConversionRule +rule80 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -214, lowdist: 0, titledist: -214 } -rule119 :: ConversionRule -rule119 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -59, lowdist: 0, titledist: -59 } +rule137 :: ConversionRule +rule137 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -59, lowdist: 0, titledist: -59 } + +rule129 :: ConversionRule +rule129 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6244, lowdist: 0, titledist: -6244 } rule57 :: ConversionRule rule57 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10815, lowdist: 0, titledist: 10815 } -rule97 :: ConversionRule -rule97 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -57, lowdist: 0, titledist: -57 } +rule105 :: ConversionRule +rule105 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -57, lowdist: 0, titledist: -57 } + +rule93 :: ConversionRule +rule93 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 116, titledist: 0 } + +rule117 :: ConversionRule +rule117 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 80, titledist: 0 } rule108 :: ConversionRule -rule108 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 80, titledist: 0 } +rule108 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -54, lowdist: 0, titledist: -54 } -rule100 :: ConversionRule -rule100 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -54, lowdist: 0, titledist: -54 } +rule72 :: ConversionRule +rule72 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42280, lowdist: 0, titledist: 42280 } -rule70 :: ConversionRule -rule70 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42280, lowdist: 0, titledist: 42280 } +rule159 :: ConversionRule +rule159 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -7517, titledist: 0 } -rule141 :: ConversionRule -rule141 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -7517, titledist: 0 } +rule157 :: ConversionRule +rule157 = ConversionRule { category: gencatZL, unicodeCat: NUMCAT_ZL, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule139 :: ConversionRule -rule139 = ConversionRule { category: gencatZL, unicodeCat: NUMCAT_ZL, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule14 :: ConversionRule +rule14 = ConversionRule { category: gencatLO, unicodeCat: NUMCAT_LO, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule45 :: ConversionRule -rule45 = ConversionRule { category: gencatLO, unicodeCat: NUMCAT_LO, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule99 :: ConversionRule +rule99 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -37, lowdist: 0, titledist: -37 } -rule91 :: ConversionRule -rule91 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -37, lowdist: 0, titledist: -37 } +rule196 :: ConversionRule +rule196 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -34, lowdist: 0, titledist: -34 } -rule121 :: ConversionRule -rule121 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 8, lowdist: 0, titledist: 8 } +rule182 :: ConversionRule +rule182 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42319, titledist: 0 } -rule117 :: ConversionRule -rule117 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 35332, lowdist: 0, titledist: 35332 } +rule139 :: ConversionRule +rule139 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 8, lowdist: 0, titledist: 8 } + +rule135 :: ConversionRule +rule135 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 35332, lowdist: 0, titledist: 35332 } rule12 :: ConversionRule rule12 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -32, lowdist: 0, titledist: -32 } -rule85 :: ConversionRule -rule85 = ConversionRule { category: gencatMN, unicodeCat: NUMCAT_MN, possible: 1, updist: 84, lowdist: 0, titledist: 84 } +rule92 :: ConversionRule +rule92 = ConversionRule { category: gencatMN, unicodeCat: NUMCAT_MN, possible: 1, updist: 84, lowdist: 0, titledist: 84 } -rule163 :: ConversionRule -rule163 = ConversionRule { category: gencatCS, unicodeCat: NUMCAT_CS, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule191 :: ConversionRule +rule191 = ConversionRule { category: gencatCS, unicodeCat: NUMCAT_CS, possible: 0, updist: 0, lowdist: 0, titledist: 0 } rule17 :: ConversionRule rule17 = ConversionRule { category: gencatNO, unicodeCat: NUMCAT_NO, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule134 :: ConversionRule -rule134 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -86, titledist: 0 } +rule152 :: ConversionRule +rule152 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -86, titledist: 0 } -rule147 :: ConversionRule -rule147 = ConversionRule { category: gencatNL, unicodeCat: NUMCAT_NL, possible: 1, updist: -16, lowdist: 0, titledist: -16 } +rule165 :: ConversionRule +rule165 = ConversionRule { category: gencatNL, unicodeCat: NUMCAT_NL, possible: 1, updist: -16, lowdist: 0, titledist: -16 } rule64 :: ConversionRule rule64 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -210, lowdist: 0, titledist: -210 } @@ -485,38 +539,41 @@ rule64 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1 rule2 :: ConversionRule rule2 = ConversionRule { category: gencatPO, unicodeCat: NUMCAT_PO, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule84 :: ConversionRule -rule84 = ConversionRule { category: gencatMN, unicodeCat: NUMCAT_MN, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule91 :: ConversionRule +rule91 = ConversionRule { category: gencatMN, unicodeCat: NUMCAT_MN, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule38 :: ConversionRule -rule38 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 163, lowdist: 0, titledist: 163 } +rule39 :: ConversionRule +rule39 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 163, lowdist: 0, titledist: 163 } -rule42 :: ConversionRule -rule42 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 218, titledist: 0 } +rule106 :: ConversionRule +rule106 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 0, updist: 0, lowdist: 0, titledist: 0 } + +rule43 :: ConversionRule +rule43 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 218, titledist: 0 } rule53 :: ConversionRule rule53 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -130, titledist: 0 } -rule83 :: ConversionRule -rule83 = ConversionRule { category: gencatLM, unicodeCat: NUMCAT_LM, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule90 :: ConversionRule +rule90 = ConversionRule { category: gencatLM, unicodeCat: NUMCAT_LM, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule98 :: ConversionRule -rule98 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule154 :: ConversionRule +rule154 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -112, titledist: 0 } -rule136 :: ConversionRule -rule136 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -112, titledist: 0 } +rule130 :: ConversionRule +rule130 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6242, lowdist: 0, titledist: -6242 } -rule120 :: ConversionRule -rule120 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -7615, titledist: 0 } +rule138 :: ConversionRule +rule138 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -7615, titledist: 0 } -rule20 :: ConversionRule -rule20 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 121, lowdist: 0, titledist: 121 } +rule21 :: ConversionRule +rule21 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 121, lowdist: 0, titledist: 121 } -rule115 :: ConversionRule -rule115 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 7264, titledist: 0 } +rule124 :: ConversionRule +rule124 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 7264, titledist: 0 } -rule109 :: ConversionRule -rule109 = ConversionRule { category: gencatME, unicodeCat: NUMCAT_ME, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule118 :: ConversionRule +rule118 = ConversionRule { category: gencatME, unicodeCat: NUMCAT_ME, possible: 0, updist: 0, lowdist: 0, titledist: 0 } rule13 :: ConversionRule rule13 = ConversionRule { category: gencatSO, unicodeCat: NUMCAT_SO, possible: 0, updist: 0, lowdist: 0, titledist: 0 } @@ -524,41 +581,50 @@ rule13 = ConversionRule { category: gencatSO, unicodeCat: NUMCAT_SO, possible: 0 rule19 :: ConversionRule rule19 = ConversionRule { category: gencatPF, unicodeCat: NUMCAT_PF, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule125 :: ConversionRule -rule125 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 100, lowdist: 0, titledist: 100 } +rule143 :: ConversionRule +rule143 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 100, lowdist: 0, titledist: 100 } rule49 :: ConversionRule rule49 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -2, lowdist: 0, titledist: -1 } -rule79 :: ConversionRule -rule79 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -69, lowdist: 0, titledist: -69 } +rule84 :: ConversionRule +rule84 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -69, lowdist: 0, titledist: -69 } -rule14 :: ConversionRule -rule14 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule20 :: ConversionRule +rule20 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule148 :: ConversionRule -rule148 = ConversionRule { category: gencatSO, unicodeCat: NUMCAT_SO, possible: 1, updist: 0, lowdist: 26, titledist: 0 } +rule133 :: ConversionRule +rule133 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6181, lowdist: 0, titledist: -6181 } + +rule70 :: ConversionRule +rule70 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42315, lowdist: 0, titledist: 42315 } + +rule166 :: ConversionRule +rule166 = ConversionRule { category: gencatSO, unicodeCat: NUMCAT_SO, possible: 1, updist: 0, lowdist: 26, titledist: 0 } + +rule107 :: ConversionRule +rule107 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -47, lowdist: 0, titledist: -47 } rule66 :: ConversionRule rule66 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -205, lowdist: 0, titledist: -205 } -rule99 :: ConversionRule -rule99 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -47, lowdist: 0, titledist: -47 } - -rule140 :: ConversionRule -rule140 = ConversionRule { category: gencatZP, unicodeCat: NUMCAT_ZP, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule158 :: ConversionRule +rule158 = ConversionRule { category: gencatZP, unicodeCat: NUMCAT_ZP, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule116 :: ConversionRule -rule116 = ConversionRule { category: gencatNL, unicodeCat: NUMCAT_NL, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule126 :: ConversionRule +rule126 = ConversionRule { category: gencatNL, unicodeCat: NUMCAT_NL, possible: 0, updist: 0, lowdist: 0, titledist: 0 } rule8 :: ConversionRule rule8 = ConversionRule { category: gencatND, unicodeCat: NUMCAT_ND, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule94 :: ConversionRule -rule94 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -63, lowdist: 0, titledist: -63 } +rule102 :: ConversionRule +rule102 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -63, lowdist: 0, titledist: -63 } -rule114 :: ConversionRule -rule114 = ConversionRule { category: gencatMC, unicodeCat: NUMCAT_MC, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule77 :: ConversionRule +rule77 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42305, lowdist: 0, titledist: 42305 } + +rule123 :: ConversionRule +rule123 = ConversionRule { category: gencatMC, unicodeCat: NUMCAT_MC, possible: 0, updist: 0, lowdist: 0, titledist: 0 } rule6 :: ConversionRule rule6 = ConversionRule { category: gencatSM, unicodeCat: NUMCAT_SM, possible: 0, updist: 0, lowdist: 0, titledist: 0 } @@ -572,29 +638,41 @@ rule55 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1 rule54 :: ConversionRule rule54 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 10795, titledist: 0 } -rule124 :: ConversionRule -rule124 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 86, lowdist: 0, titledist: 86 } +rule181 :: ConversionRule +rule181 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42308, titledist: 0 } + +rule142 :: ConversionRule +rule142 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 86, lowdist: 0, titledist: 86 } + +rule132 :: ConversionRule +rule132 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6236, lowdist: 0, titledist: -6236 } rule65 :: ConversionRule rule65 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -206, lowdist: 0, titledist: -206 } -rule78 :: ConversionRule -rule78 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -218, lowdist: 0, titledist: -218 } +rule82 :: ConversionRule +rule82 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -218, lowdist: 0, titledist: -218 } rule56 :: ConversionRule rule56 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 10792, titledist: 0 } -rule137 :: ConversionRule -rule137 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -128, titledist: 0 } +rule185 :: ConversionRule +rule185 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42258, titledist: 0 } -rule131 :: ConversionRule -rule131 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -74, titledist: 0 } +rule155 :: ConversionRule +rule155 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -128, titledist: 0 } -rule130 :: ConversionRule -rule130 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 9, lowdist: 0, titledist: 9 } +rule149 :: ConversionRule +rule149 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -74, titledist: 0 } -rule110 :: ConversionRule -rule110 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 15, titledist: 0 } +rule148 :: ConversionRule +rule148 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 9, lowdist: 0, titledist: 9 } + +rule119 :: ConversionRule +rule119 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 15, titledist: 0 } + +rule184 :: ConversionRule +rule184 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42305, titledist: 0 } rule48 :: ConversionRule rule48 = ConversionRule { category: gencatLT, unicodeCat: NUMCAT_LT, possible: 1, updist: -1, lowdist: 1, titledist: 0 } @@ -602,110 +680,122 @@ rule48 = ConversionRule { category: gencatLT, unicodeCat: NUMCAT_LT, possible: 1 rule52 :: ConversionRule rule52 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -56, titledist: 0 } -rule156 :: ConversionRule -rule156 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10749, titledist: 0 } +rule189 :: ConversionRule +rule189 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -928, lowdist: 0, titledist: -928 } -rule75 :: ConversionRule -rule75 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -213, lowdist: 0, titledist: -213 } +rule174 :: ConversionRule +rule174 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10749, titledist: 0 } + +rule79 :: ConversionRule +rule79 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -213, lowdist: 0, titledist: -213 } rule11 :: ConversionRule rule11 = ConversionRule { category: gencatPC, unicodeCat: NUMCAT_PC, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule129 :: ConversionRule -rule129 = ConversionRule { category: gencatLT, unicodeCat: NUMCAT_LT, possible: 1, updist: 0, lowdist: -8, titledist: 0 } +rule147 :: ConversionRule +rule147 = ConversionRule { category: gencatLT, unicodeCat: NUMCAT_LT, possible: 1, updist: 0, lowdist: -8, titledist: 0 } -rule37 :: ConversionRule -rule37 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 209, titledist: 0 } +rule38 :: ConversionRule +rule38 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 209, titledist: 0 } rule18 :: ConversionRule rule18 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 743, lowdist: 0, titledist: 743 } -rule152 :: ConversionRule -rule152 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10727, titledist: 0 } +rule170 :: ConversionRule +rule170 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10727, titledist: 0 } -rule35 :: ConversionRule -rule35 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 97, lowdist: 0, titledist: 97 } +rule36 :: ConversionRule +rule36 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 97, lowdist: 0, titledist: 97 } rule46 :: ConversionRule rule46 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 56, lowdist: 0, titledist: 56 } -rule82 :: ConversionRule -rule82 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -219, lowdist: 0, titledist: -219 } +rule87 :: ConversionRule +rule87 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -219, lowdist: 0, titledist: -219 } rule10 :: ConversionRule rule10 = ConversionRule { category: gencatSK, unicodeCat: NUMCAT_SK, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule34 :: ConversionRule -rule34 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 207, titledist: 0 } +rule35 :: ConversionRule +rule35 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 207, titledist: 0 } -rule150 :: ConversionRule -rule150 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10743, titledist: 0 } +rule168 :: ConversionRule +rule168 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10743, titledist: 0 } -rule107 :: ConversionRule -rule107 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -7, titledist: 0 } +rule116 :: ConversionRule +rule116 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -7, titledist: 0 } rule47 :: ConversionRule rule47 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 2, titledist: 1 } -rule160 :: ConversionRule -rule160 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -7264, lowdist: 0, titledist: -7264 } +rule178 :: ConversionRule +rule178 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -7264, lowdist: 0, titledist: -7264 } -rule73 :: ConversionRule -rule73 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10743, lowdist: 0, titledist: 10743 } +rule76 :: ConversionRule +rule76 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10743, lowdist: 0, titledist: 10743 } + +rule134 :: ConversionRule +rule134 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 35266, lowdist: 0, titledist: 35266 } rule59 :: ConversionRule rule59 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 69, titledist: 0 } -rule106 :: ConversionRule -rule106 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -96, lowdist: 0, titledist: -96 } +rule115 :: ConversionRule +rule115 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -96, lowdist: 0, titledist: -96 } -rule151 :: ConversionRule -rule151 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -3814, titledist: 0 } +rule169 :: ConversionRule +rule169 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -3814, titledist: 0 } rule15 :: ConversionRule rule15 = ConversionRule { category: gencatPI, unicodeCat: NUMCAT_PI, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule112 :: ConversionRule -rule112 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 48, titledist: 0 } +rule121 :: ConversionRule +rule121 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 48, titledist: 0 } -rule90 :: ConversionRule -rule90 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -38, lowdist: 0, titledist: -38 } +rule98 :: ConversionRule +rule98 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -38, lowdist: 0, titledist: -38 } -rule146 :: ConversionRule -rule146 = ConversionRule { category: gencatNL, unicodeCat: NUMCAT_NL, possible: 1, updist: 0, lowdist: 16, titledist: 0 } +rule164 :: ConversionRule +rule164 = ConversionRule { category: gencatNL, unicodeCat: NUMCAT_NL, possible: 1, updist: 0, lowdist: 16, titledist: 0 } -rule89 :: ConversionRule -rule89 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 63, titledist: 0 } +rule97 :: ConversionRule +rule97 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 63, titledist: 0 } -rule81 :: ConversionRule -rule81 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -71, lowdist: 0, titledist: -71 } +rule86 :: ConversionRule +rule86 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -71, lowdist: 0, titledist: -71 } -rule88 :: ConversionRule -rule88 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 64, titledist: 0 } +rule96 :: ConversionRule +rule96 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 64, titledist: 0 } -rule149 :: ConversionRule -rule149 = ConversionRule { category: gencatSO, unicodeCat: NUMCAT_SO, possible: 1, updist: -26, lowdist: 0, titledist: -26 } +rule113 :: ConversionRule +rule113 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -116, lowdist: 0, titledist: -116 } -rule111 :: ConversionRule -rule111 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -15, lowdist: 0, titledist: -15 } +rule167 :: ConversionRule +rule167 = ConversionRule { category: gencatSO, unicodeCat: NUMCAT_SO, possible: 1, updist: -26, lowdist: 0, titledist: -26 } -rule144 :: ConversionRule -rule144 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 28, titledist: 0 } +rule120 :: ConversionRule +rule120 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -15, lowdist: 0, titledist: -15 } -rule92 :: ConversionRule -rule92 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -31, lowdist: 0, titledist: -31 } +rule162 :: ConversionRule +rule162 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 28, titledist: 0 } -rule118 :: ConversionRule -rule118 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 3814, lowdist: 0, titledist: 3814 } +rule100 :: ConversionRule +rule100 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -31, lowdist: 0, titledist: -31 } -rule22 :: ConversionRule -rule22 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -1, lowdist: 0, titledist: -1 } +rule136 :: ConversionRule +rule136 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 3814, lowdist: 0, titledist: 3814 } + +rule103 :: ConversionRule +rule103 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 8, titledist: 0 } + +rule23 :: ConversionRule +rule23 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -1, lowdist: 0, titledist: -1 } rule68 :: ConversionRule rule68 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -203, lowdist: 0, titledist: -203 } -rule95 :: ConversionRule -rule95 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 8, titledist: 0 } +rule186 :: ConversionRule +rule186 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42282, titledist: 0 } rule0 :: ConversionRule rule0 = ConversionRule { category: gencatCC, unicodeCat: NUMCAT_CC, possible: 0, updist: 0, lowdist: 0, titledist: 0 } @@ -746,7 +836,8 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 160, length: 1, convRule: rule1 } , CharBlock { start: 161, length: 1, convRule: rule2 } , CharBlock { start: 162, length: 4, convRule: rule3 } - , CharBlock { start: 166, length: 2, convRule: rule13 } + , CharBlock { start: 166, length: 1, convRule: rule13 } + , CharBlock { start: 167, length: 1, convRule: rule2 } , CharBlock { start: 168, length: 1, convRule: rule10 } , CharBlock { start: 169, length: 1, convRule: rule13 } , CharBlock { start: 170, length: 1, convRule: rule14 } @@ -760,8 +851,7 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 178, length: 2, convRule: rule17 } , CharBlock { start: 180, length: 1, convRule: rule10 } , CharBlock { start: 181, length: 1, convRule: rule18 } - , CharBlock { start: 182, length: 1, convRule: rule13 } - , CharBlock { start: 183, length: 1, convRule: rule2 } + , CharBlock { start: 182, length: 2, convRule: rule2 } , CharBlock { start: 184, length: 1, convRule: rule10 } , CharBlock { start: 185, length: 1, convRule: rule17 } , CharBlock { start: 186, length: 1, convRule: rule14 } @@ -771,201 +861,201 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 192, length: 23, convRule: rule9 } , CharBlock { start: 215, length: 1, convRule: rule6 } , CharBlock { start: 216, length: 7, convRule: rule9 } - , CharBlock { start: 223, length: 1, convRule: rule14 } + , CharBlock { start: 223, length: 1, convRule: rule20 } , CharBlock { start: 224, length: 23, convRule: rule12 } , CharBlock { start: 247, length: 1, convRule: rule6 } , CharBlock { start: 248, length: 7, convRule: rule12 } - , CharBlock { start: 255, length: 1, convRule: rule20 } - , CharBlock { start: 256, length: 1, convRule: rule21 } - , CharBlock { start: 257, length: 1, convRule: rule22 } - , CharBlock { start: 258, length: 1, convRule: rule21 } - , CharBlock { start: 259, length: 1, convRule: rule22 } - , CharBlock { start: 260, length: 1, convRule: rule21 } - , CharBlock { start: 261, length: 1, convRule: rule22 } - , CharBlock { start: 262, length: 1, convRule: rule21 } - , CharBlock { start: 263, length: 1, convRule: rule22 } - , CharBlock { start: 264, length: 1, convRule: rule21 } - , CharBlock { start: 265, length: 1, convRule: rule22 } - , CharBlock { start: 266, length: 1, convRule: rule21 } - , CharBlock { start: 267, length: 1, convRule: rule22 } - , CharBlock { start: 268, length: 1, convRule: rule21 } - , CharBlock { start: 269, length: 1, convRule: rule22 } - , CharBlock { start: 270, length: 1, convRule: rule21 } - , CharBlock { start: 271, length: 1, convRule: rule22 } - , CharBlock { start: 272, length: 1, convRule: rule21 } - , CharBlock { start: 273, length: 1, convRule: rule22 } - , CharBlock { start: 274, length: 1, convRule: rule21 } - , CharBlock { start: 275, length: 1, convRule: rule22 } - , CharBlock { start: 276, length: 1, convRule: rule21 } - , CharBlock { start: 277, length: 1, convRule: rule22 } - , CharBlock { start: 278, length: 1, convRule: rule21 } - , CharBlock { start: 279, length: 1, convRule: rule22 } - , CharBlock { start: 280, length: 1, convRule: rule21 } - , CharBlock { start: 281, length: 1, convRule: rule22 } - , CharBlock { start: 282, length: 1, convRule: rule21 } - , CharBlock { start: 283, length: 1, convRule: rule22 } - , CharBlock { start: 284, length: 1, convRule: rule21 } - , CharBlock { start: 285, length: 1, convRule: rule22 } - , CharBlock { start: 286, length: 1, convRule: rule21 } - , CharBlock { start: 287, length: 1, convRule: rule22 } - , CharBlock { start: 288, length: 1, convRule: rule21 } - , CharBlock { start: 289, length: 1, convRule: rule22 } - , CharBlock { start: 290, length: 1, convRule: rule21 } - , CharBlock { start: 291, length: 1, convRule: rule22 } - , CharBlock { start: 292, length: 1, convRule: rule21 } - , CharBlock { start: 293, length: 1, convRule: rule22 } - , CharBlock { start: 294, length: 1, convRule: rule21 } - , CharBlock { start: 295, length: 1, convRule: rule22 } - , CharBlock { start: 296, length: 1, convRule: rule21 } - , CharBlock { start: 297, length: 1, convRule: rule22 } - , CharBlock { start: 298, length: 1, convRule: rule21 } - , CharBlock { start: 299, length: 1, convRule: rule22 } - , CharBlock { start: 300, length: 1, convRule: rule21 } - , CharBlock { start: 301, length: 1, convRule: rule22 } - , CharBlock { start: 302, length: 1, convRule: rule21 } - , CharBlock { start: 303, length: 1, convRule: rule22 } - , CharBlock { start: 304, length: 1, convRule: rule23 } - , CharBlock { start: 305, length: 1, convRule: rule24 } - , CharBlock { start: 306, length: 1, convRule: rule21 } - , CharBlock { start: 307, length: 1, convRule: rule22 } - , CharBlock { start: 308, length: 1, convRule: rule21 } - , CharBlock { start: 309, length: 1, convRule: rule22 } - , CharBlock { start: 310, length: 1, convRule: rule21 } - , CharBlock { start: 311, length: 1, convRule: rule22 } - , CharBlock { start: 312, length: 1, convRule: rule14 } - , CharBlock { start: 313, length: 1, convRule: rule21 } - , CharBlock { start: 314, length: 1, convRule: rule22 } - , CharBlock { start: 315, length: 1, convRule: rule21 } - , CharBlock { start: 316, length: 1, convRule: rule22 } - , CharBlock { start: 317, length: 1, convRule: rule21 } - , CharBlock { start: 318, length: 1, convRule: rule22 } - , CharBlock { start: 319, length: 1, convRule: rule21 } - , CharBlock { start: 320, length: 1, convRule: rule22 } - , CharBlock { start: 321, length: 1, convRule: rule21 } - , CharBlock { start: 322, length: 1, convRule: rule22 } - , CharBlock { start: 323, length: 1, convRule: rule21 } - , CharBlock { start: 324, length: 1, convRule: rule22 } - , CharBlock { start: 325, length: 1, convRule: rule21 } - , CharBlock { start: 326, length: 1, convRule: rule22 } - , CharBlock { start: 327, length: 1, convRule: rule21 } - , CharBlock { start: 328, length: 1, convRule: rule22 } - , CharBlock { start: 329, length: 1, convRule: rule14 } - , CharBlock { start: 330, length: 1, convRule: rule21 } - , CharBlock { start: 331, length: 1, convRule: rule22 } - , CharBlock { start: 332, length: 1, convRule: rule21 } - , CharBlock { start: 333, length: 1, convRule: rule22 } - , CharBlock { start: 334, length: 1, convRule: rule21 } - , CharBlock { start: 335, length: 1, convRule: rule22 } - , CharBlock { start: 336, length: 1, convRule: rule21 } - , CharBlock { start: 337, length: 1, convRule: rule22 } - , CharBlock { start: 338, length: 1, convRule: rule21 } - , CharBlock { start: 339, length: 1, convRule: rule22 } - , CharBlock { start: 340, length: 1, convRule: rule21 } - , CharBlock { start: 341, length: 1, convRule: rule22 } - , CharBlock { start: 342, length: 1, convRule: rule21 } - , CharBlock { start: 343, length: 1, convRule: rule22 } - , CharBlock { start: 344, length: 1, convRule: rule21 } - , CharBlock { start: 345, length: 1, convRule: rule22 } - , CharBlock { start: 346, length: 1, convRule: rule21 } - , CharBlock { start: 347, length: 1, convRule: rule22 } - , CharBlock { start: 348, length: 1, convRule: rule21 } - , CharBlock { start: 349, length: 1, convRule: rule22 } - , CharBlock { start: 350, length: 1, convRule: rule21 } - , CharBlock { start: 351, length: 1, convRule: rule22 } - , CharBlock { start: 352, length: 1, convRule: rule21 } - , CharBlock { start: 353, length: 1, convRule: rule22 } - , CharBlock { start: 354, length: 1, convRule: rule21 } - , CharBlock { start: 355, length: 1, convRule: rule22 } - , CharBlock { start: 356, length: 1, convRule: rule21 } - , CharBlock { start: 357, length: 1, convRule: rule22 } - , CharBlock { start: 358, length: 1, convRule: rule21 } - , CharBlock { start: 359, length: 1, convRule: rule22 } - , CharBlock { start: 360, length: 1, convRule: rule21 } - , CharBlock { start: 361, length: 1, convRule: rule22 } - , CharBlock { start: 362, length: 1, convRule: rule21 } - , CharBlock { start: 363, length: 1, convRule: rule22 } - , CharBlock { start: 364, length: 1, convRule: rule21 } - , CharBlock { start: 365, length: 1, convRule: rule22 } - , CharBlock { start: 366, length: 1, convRule: rule21 } - , CharBlock { start: 367, length: 1, convRule: rule22 } - , CharBlock { start: 368, length: 1, convRule: rule21 } - , CharBlock { start: 369, length: 1, convRule: rule22 } - , CharBlock { start: 370, length: 1, convRule: rule21 } - , CharBlock { start: 371, length: 1, convRule: rule22 } - , CharBlock { start: 372, length: 1, convRule: rule21 } - , CharBlock { start: 373, length: 1, convRule: rule22 } - , CharBlock { start: 374, length: 1, convRule: rule21 } - , CharBlock { start: 375, length: 1, convRule: rule22 } - , CharBlock { start: 376, length: 1, convRule: rule25 } - , CharBlock { start: 377, length: 1, convRule: rule21 } - , CharBlock { start: 378, length: 1, convRule: rule22 } - , CharBlock { start: 379, length: 1, convRule: rule21 } - , CharBlock { start: 380, length: 1, convRule: rule22 } - , CharBlock { start: 381, length: 1, convRule: rule21 } - , CharBlock { start: 382, length: 1, convRule: rule22 } - , CharBlock { start: 383, length: 1, convRule: rule26 } - , CharBlock { start: 384, length: 1, convRule: rule27 } - , CharBlock { start: 385, length: 1, convRule: rule28 } - , CharBlock { start: 386, length: 1, convRule: rule21 } - , CharBlock { start: 387, length: 1, convRule: rule22 } - , CharBlock { start: 388, length: 1, convRule: rule21 } - , CharBlock { start: 389, length: 1, convRule: rule22 } - , CharBlock { start: 390, length: 1, convRule: rule29 } - , CharBlock { start: 391, length: 1, convRule: rule21 } - , CharBlock { start: 392, length: 1, convRule: rule22 } - , CharBlock { start: 393, length: 2, convRule: rule30 } - , CharBlock { start: 395, length: 1, convRule: rule21 } - , CharBlock { start: 396, length: 1, convRule: rule22 } - , CharBlock { start: 397, length: 1, convRule: rule14 } - , CharBlock { start: 398, length: 1, convRule: rule31 } - , CharBlock { start: 399, length: 1, convRule: rule32 } - , CharBlock { start: 400, length: 1, convRule: rule33 } - , CharBlock { start: 401, length: 1, convRule: rule21 } - , CharBlock { start: 402, length: 1, convRule: rule22 } - , CharBlock { start: 403, length: 1, convRule: rule30 } - , CharBlock { start: 404, length: 1, convRule: rule34 } - , CharBlock { start: 405, length: 1, convRule: rule35 } - , CharBlock { start: 406, length: 1, convRule: rule36 } - , CharBlock { start: 407, length: 1, convRule: rule37 } - , CharBlock { start: 408, length: 1, convRule: rule21 } - , CharBlock { start: 409, length: 1, convRule: rule22 } - , CharBlock { start: 410, length: 1, convRule: rule38 } - , CharBlock { start: 411, length: 1, convRule: rule14 } - , CharBlock { start: 412, length: 1, convRule: rule36 } - , CharBlock { start: 413, length: 1, convRule: rule39 } - , CharBlock { start: 414, length: 1, convRule: rule40 } - , CharBlock { start: 415, length: 1, convRule: rule41 } - , CharBlock { start: 416, length: 1, convRule: rule21 } - , CharBlock { start: 417, length: 1, convRule: rule22 } - , CharBlock { start: 418, length: 1, convRule: rule21 } - , CharBlock { start: 419, length: 1, convRule: rule22 } - , CharBlock { start: 420, length: 1, convRule: rule21 } - , CharBlock { start: 421, length: 1, convRule: rule22 } - , CharBlock { start: 422, length: 1, convRule: rule42 } - , CharBlock { start: 423, length: 1, convRule: rule21 } - , CharBlock { start: 424, length: 1, convRule: rule22 } - , CharBlock { start: 425, length: 1, convRule: rule42 } - , CharBlock { start: 426, length: 2, convRule: rule14 } - , CharBlock { start: 428, length: 1, convRule: rule21 } - , CharBlock { start: 429, length: 1, convRule: rule22 } - , CharBlock { start: 430, length: 1, convRule: rule42 } - , CharBlock { start: 431, length: 1, convRule: rule21 } - , CharBlock { start: 432, length: 1, convRule: rule22 } - , CharBlock { start: 433, length: 2, convRule: rule43 } - , CharBlock { start: 435, length: 1, convRule: rule21 } - , CharBlock { start: 436, length: 1, convRule: rule22 } - , CharBlock { start: 437, length: 1, convRule: rule21 } - , CharBlock { start: 438, length: 1, convRule: rule22 } - , CharBlock { start: 439, length: 1, convRule: rule44 } - , CharBlock { start: 440, length: 1, convRule: rule21 } - , CharBlock { start: 441, length: 1, convRule: rule22 } - , CharBlock { start: 442, length: 1, convRule: rule14 } - , CharBlock { start: 443, length: 1, convRule: rule45 } - , CharBlock { start: 444, length: 1, convRule: rule21 } - , CharBlock { start: 445, length: 1, convRule: rule22 } - , CharBlock { start: 446, length: 1, convRule: rule14 } + , CharBlock { start: 255, length: 1, convRule: rule21 } + , CharBlock { start: 256, length: 1, convRule: rule22 } + , CharBlock { start: 257, length: 1, convRule: rule23 } + , CharBlock { start: 258, length: 1, convRule: rule22 } + , CharBlock { start: 259, length: 1, convRule: rule23 } + , CharBlock { start: 260, length: 1, convRule: rule22 } + , CharBlock { start: 261, length: 1, convRule: rule23 } + , CharBlock { start: 262, length: 1, convRule: rule22 } + , CharBlock { start: 263, length: 1, convRule: rule23 } + , CharBlock { start: 264, length: 1, convRule: rule22 } + , CharBlock { start: 265, length: 1, convRule: rule23 } + , CharBlock { start: 266, length: 1, convRule: rule22 } + , CharBlock { start: 267, length: 1, convRule: rule23 } + , CharBlock { start: 268, length: 1, convRule: rule22 } + , CharBlock { start: 269, length: 1, convRule: rule23 } + , CharBlock { start: 270, length: 1, convRule: rule22 } + , CharBlock { start: 271, length: 1, convRule: rule23 } + , CharBlock { start: 272, length: 1, convRule: rule22 } + , CharBlock { start: 273, length: 1, convRule: rule23 } + , CharBlock { start: 274, length: 1, convRule: rule22 } + , CharBlock { start: 275, length: 1, convRule: rule23 } + , CharBlock { start: 276, length: 1, convRule: rule22 } + , CharBlock { start: 277, length: 1, convRule: rule23 } + , CharBlock { start: 278, length: 1, convRule: rule22 } + , CharBlock { start: 279, length: 1, convRule: rule23 } + , CharBlock { start: 280, length: 1, convRule: rule22 } + , CharBlock { start: 281, length: 1, convRule: rule23 } + , CharBlock { start: 282, length: 1, convRule: rule22 } + , CharBlock { start: 283, length: 1, convRule: rule23 } + , CharBlock { start: 284, length: 1, convRule: rule22 } + , CharBlock { start: 285, length: 1, convRule: rule23 } + , CharBlock { start: 286, length: 1, convRule: rule22 } + , CharBlock { start: 287, length: 1, convRule: rule23 } + , CharBlock { start: 288, length: 1, convRule: rule22 } + , CharBlock { start: 289, length: 1, convRule: rule23 } + , CharBlock { start: 290, length: 1, convRule: rule22 } + , CharBlock { start: 291, length: 1, convRule: rule23 } + , CharBlock { start: 292, length: 1, convRule: rule22 } + , CharBlock { start: 293, length: 1, convRule: rule23 } + , CharBlock { start: 294, length: 1, convRule: rule22 } + , CharBlock { start: 295, length: 1, convRule: rule23 } + , CharBlock { start: 296, length: 1, convRule: rule22 } + , CharBlock { start: 297, length: 1, convRule: rule23 } + , CharBlock { start: 298, length: 1, convRule: rule22 } + , CharBlock { start: 299, length: 1, convRule: rule23 } + , CharBlock { start: 300, length: 1, convRule: rule22 } + , CharBlock { start: 301, length: 1, convRule: rule23 } + , CharBlock { start: 302, length: 1, convRule: rule22 } + , CharBlock { start: 303, length: 1, convRule: rule23 } + , CharBlock { start: 304, length: 1, convRule: rule24 } + , CharBlock { start: 305, length: 1, convRule: rule25 } + , CharBlock { start: 306, length: 1, convRule: rule22 } + , CharBlock { start: 307, length: 1, convRule: rule23 } + , CharBlock { start: 308, length: 1, convRule: rule22 } + , CharBlock { start: 309, length: 1, convRule: rule23 } + , CharBlock { start: 310, length: 1, convRule: rule22 } + , CharBlock { start: 311, length: 1, convRule: rule23 } + , CharBlock { start: 312, length: 1, convRule: rule20 } + , CharBlock { start: 313, length: 1, convRule: rule22 } + , CharBlock { start: 314, length: 1, convRule: rule23 } + , CharBlock { start: 315, length: 1, convRule: rule22 } + , CharBlock { start: 316, length: 1, convRule: rule23 } + , CharBlock { start: 317, length: 1, convRule: rule22 } + , CharBlock { start: 318, length: 1, convRule: rule23 } + , CharBlock { start: 319, length: 1, convRule: rule22 } + , CharBlock { start: 320, length: 1, convRule: rule23 } + , CharBlock { start: 321, length: 1, convRule: rule22 } + , CharBlock { start: 322, length: 1, convRule: rule23 } + , CharBlock { start: 323, length: 1, convRule: rule22 } + , CharBlock { start: 324, length: 1, convRule: rule23 } + , CharBlock { start: 325, length: 1, convRule: rule22 } + , CharBlock { start: 326, length: 1, convRule: rule23 } + , CharBlock { start: 327, length: 1, convRule: rule22 } + , CharBlock { start: 328, length: 1, convRule: rule23 } + , CharBlock { start: 329, length: 1, convRule: rule20 } + , CharBlock { start: 330, length: 1, convRule: rule22 } + , CharBlock { start: 331, length: 1, convRule: rule23 } + , CharBlock { start: 332, length: 1, convRule: rule22 } + , CharBlock { start: 333, length: 1, convRule: rule23 } + , CharBlock { start: 334, length: 1, convRule: rule22 } + , CharBlock { start: 335, length: 1, convRule: rule23 } + , CharBlock { start: 336, length: 1, convRule: rule22 } + , CharBlock { start: 337, length: 1, convRule: rule23 } + , CharBlock { start: 338, length: 1, convRule: rule22 } + , CharBlock { start: 339, length: 1, convRule: rule23 } + , CharBlock { start: 340, length: 1, convRule: rule22 } + , CharBlock { start: 341, length: 1, convRule: rule23 } + , CharBlock { start: 342, length: 1, convRule: rule22 } + , CharBlock { start: 343, length: 1, convRule: rule23 } + , CharBlock { start: 344, length: 1, convRule: rule22 } + , CharBlock { start: 345, length: 1, convRule: rule23 } + , CharBlock { start: 346, length: 1, convRule: rule22 } + , CharBlock { start: 347, length: 1, convRule: rule23 } + , CharBlock { start: 348, length: 1, convRule: rule22 } + , CharBlock { start: 349, length: 1, convRule: rule23 } + , CharBlock { start: 350, length: 1, convRule: rule22 } + , CharBlock { start: 351, length: 1, convRule: rule23 } + , CharBlock { start: 352, length: 1, convRule: rule22 } + , CharBlock { start: 353, length: 1, convRule: rule23 } + , CharBlock { start: 354, length: 1, convRule: rule22 } + , CharBlock { start: 355, length: 1, convRule: rule23 } + , CharBlock { start: 356, length: 1, convRule: rule22 } + , CharBlock { start: 357, length: 1, convRule: rule23 } + , CharBlock { start: 358, length: 1, convRule: rule22 } + , CharBlock { start: 359, length: 1, convRule: rule23 } + , CharBlock { start: 360, length: 1, convRule: rule22 } + , CharBlock { start: 361, length: 1, convRule: rule23 } + , CharBlock { start: 362, length: 1, convRule: rule22 } + , CharBlock { start: 363, length: 1, convRule: rule23 } + , CharBlock { start: 364, length: 1, convRule: rule22 } + , CharBlock { start: 365, length: 1, convRule: rule23 } + , CharBlock { start: 366, length: 1, convRule: rule22 } + , CharBlock { start: 367, length: 1, convRule: rule23 } + , CharBlock { start: 368, length: 1, convRule: rule22 } + , CharBlock { start: 369, length: 1, convRule: rule23 } + , CharBlock { start: 370, length: 1, convRule: rule22 } + , CharBlock { start: 371, length: 1, convRule: rule23 } + , CharBlock { start: 372, length: 1, convRule: rule22 } + , CharBlock { start: 373, length: 1, convRule: rule23 } + , CharBlock { start: 374, length: 1, convRule: rule22 } + , CharBlock { start: 375, length: 1, convRule: rule23 } + , CharBlock { start: 376, length: 1, convRule: rule26 } + , CharBlock { start: 377, length: 1, convRule: rule22 } + , CharBlock { start: 378, length: 1, convRule: rule23 } + , CharBlock { start: 379, length: 1, convRule: rule22 } + , CharBlock { start: 380, length: 1, convRule: rule23 } + , CharBlock { start: 381, length: 1, convRule: rule22 } + , CharBlock { start: 382, length: 1, convRule: rule23 } + , CharBlock { start: 383, length: 1, convRule: rule27 } + , CharBlock { start: 384, length: 1, convRule: rule28 } + , CharBlock { start: 385, length: 1, convRule: rule29 } + , CharBlock { start: 386, length: 1, convRule: rule22 } + , CharBlock { start: 387, length: 1, convRule: rule23 } + , CharBlock { start: 388, length: 1, convRule: rule22 } + , CharBlock { start: 389, length: 1, convRule: rule23 } + , CharBlock { start: 390, length: 1, convRule: rule30 } + , CharBlock { start: 391, length: 1, convRule: rule22 } + , CharBlock { start: 392, length: 1, convRule: rule23 } + , CharBlock { start: 393, length: 2, convRule: rule31 } + , CharBlock { start: 395, length: 1, convRule: rule22 } + , CharBlock { start: 396, length: 1, convRule: rule23 } + , CharBlock { start: 397, length: 1, convRule: rule20 } + , CharBlock { start: 398, length: 1, convRule: rule32 } + , CharBlock { start: 399, length: 1, convRule: rule33 } + , CharBlock { start: 400, length: 1, convRule: rule34 } + , CharBlock { start: 401, length: 1, convRule: rule22 } + , CharBlock { start: 402, length: 1, convRule: rule23 } + , CharBlock { start: 403, length: 1, convRule: rule31 } + , CharBlock { start: 404, length: 1, convRule: rule35 } + , CharBlock { start: 405, length: 1, convRule: rule36 } + , CharBlock { start: 406, length: 1, convRule: rule37 } + , CharBlock { start: 407, length: 1, convRule: rule38 } + , CharBlock { start: 408, length: 1, convRule: rule22 } + , CharBlock { start: 409, length: 1, convRule: rule23 } + , CharBlock { start: 410, length: 1, convRule: rule39 } + , CharBlock { start: 411, length: 1, convRule: rule20 } + , CharBlock { start: 412, length: 1, convRule: rule37 } + , CharBlock { start: 413, length: 1, convRule: rule40 } + , CharBlock { start: 414, length: 1, convRule: rule41 } + , CharBlock { start: 415, length: 1, convRule: rule42 } + , CharBlock { start: 416, length: 1, convRule: rule22 } + , CharBlock { start: 417, length: 1, convRule: rule23 } + , CharBlock { start: 418, length: 1, convRule: rule22 } + , CharBlock { start: 419, length: 1, convRule: rule23 } + , CharBlock { start: 420, length: 1, convRule: rule22 } + , CharBlock { start: 421, length: 1, convRule: rule23 } + , CharBlock { start: 422, length: 1, convRule: rule43 } + , CharBlock { start: 423, length: 1, convRule: rule22 } + , CharBlock { start: 424, length: 1, convRule: rule23 } + , CharBlock { start: 425, length: 1, convRule: rule43 } + , CharBlock { start: 426, length: 2, convRule: rule20 } + , CharBlock { start: 428, length: 1, convRule: rule22 } + , CharBlock { start: 429, length: 1, convRule: rule23 } + , CharBlock { start: 430, length: 1, convRule: rule43 } + , CharBlock { start: 431, length: 1, convRule: rule22 } + , CharBlock { start: 432, length: 1, convRule: rule23 } + , CharBlock { start: 433, length: 2, convRule: rule44 } + , CharBlock { start: 435, length: 1, convRule: rule22 } + , CharBlock { start: 436, length: 1, convRule: rule23 } + , CharBlock { start: 437, length: 1, convRule: rule22 } + , CharBlock { start: 438, length: 1, convRule: rule23 } + , CharBlock { start: 439, length: 1, convRule: rule45 } + , CharBlock { start: 440, length: 1, convRule: rule22 } + , CharBlock { start: 441, length: 1, convRule: rule23 } + , CharBlock { start: 442, length: 1, convRule: rule20 } + , CharBlock { start: 443, length: 1, convRule: rule14 } + , CharBlock { start: 444, length: 1, convRule: rule22 } + , CharBlock { start: 445, length: 1, convRule: rule23 } + , CharBlock { start: 446, length: 1, convRule: rule20 } , CharBlock { start: 447, length: 1, convRule: rule46 } - , CharBlock { start: 448, length: 4, convRule: rule45 } + , CharBlock { start: 448, length: 4, convRule: rule14 } , CharBlock { start: 452, length: 1, convRule: rule47 } , CharBlock { start: 453, length: 1, convRule: rule48 } , CharBlock { start: 454, length: 1, convRule: rule49 } @@ -975,1371 +1065,1431 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 458, length: 1, convRule: rule47 } , CharBlock { start: 459, length: 1, convRule: rule48 } , CharBlock { start: 460, length: 1, convRule: rule49 } - , CharBlock { start: 461, length: 1, convRule: rule21 } - , CharBlock { start: 462, length: 1, convRule: rule22 } - , CharBlock { start: 463, length: 1, convRule: rule21 } - , CharBlock { start: 464, length: 1, convRule: rule22 } - , CharBlock { start: 465, length: 1, convRule: rule21 } - , CharBlock { start: 466, length: 1, convRule: rule22 } - , CharBlock { start: 467, length: 1, convRule: rule21 } - , CharBlock { start: 468, length: 1, convRule: rule22 } - , CharBlock { start: 469, length: 1, convRule: rule21 } - , CharBlock { start: 470, length: 1, convRule: rule22 } - , CharBlock { start: 471, length: 1, convRule: rule21 } - , CharBlock { start: 472, length: 1, convRule: rule22 } - , CharBlock { start: 473, length: 1, convRule: rule21 } - , CharBlock { start: 474, length: 1, convRule: rule22 } - , CharBlock { start: 475, length: 1, convRule: rule21 } - , CharBlock { start: 476, length: 1, convRule: rule22 } + , CharBlock { start: 461, length: 1, convRule: rule22 } + , CharBlock { start: 462, length: 1, convRule: rule23 } + , CharBlock { start: 463, length: 1, convRule: rule22 } + , CharBlock { start: 464, length: 1, convRule: rule23 } + , CharBlock { start: 465, length: 1, convRule: rule22 } + , CharBlock { start: 466, length: 1, convRule: rule23 } + , CharBlock { start: 467, length: 1, convRule: rule22 } + , CharBlock { start: 468, length: 1, convRule: rule23 } + , CharBlock { start: 469, length: 1, convRule: rule22 } + , CharBlock { start: 470, length: 1, convRule: rule23 } + , CharBlock { start: 471, length: 1, convRule: rule22 } + , CharBlock { start: 472, length: 1, convRule: rule23 } + , CharBlock { start: 473, length: 1, convRule: rule22 } + , CharBlock { start: 474, length: 1, convRule: rule23 } + , CharBlock { start: 475, length: 1, convRule: rule22 } + , CharBlock { start: 476, length: 1, convRule: rule23 } , CharBlock { start: 477, length: 1, convRule: rule50 } - , CharBlock { start: 478, length: 1, convRule: rule21 } - , CharBlock { start: 479, length: 1, convRule: rule22 } - , CharBlock { start: 480, length: 1, convRule: rule21 } - , CharBlock { start: 481, length: 1, convRule: rule22 } - , CharBlock { start: 482, length: 1, convRule: rule21 } - , CharBlock { start: 483, length: 1, convRule: rule22 } - , CharBlock { start: 484, length: 1, convRule: rule21 } - , CharBlock { start: 485, length: 1, convRule: rule22 } - , CharBlock { start: 486, length: 1, convRule: rule21 } - , CharBlock { start: 487, length: 1, convRule: rule22 } - , CharBlock { start: 488, length: 1, convRule: rule21 } - , CharBlock { start: 489, length: 1, convRule: rule22 } - , CharBlock { start: 490, length: 1, convRule: rule21 } - , CharBlock { start: 491, length: 1, convRule: rule22 } - , CharBlock { start: 492, length: 1, convRule: rule21 } - , CharBlock { start: 493, length: 1, convRule: rule22 } - , CharBlock { start: 494, length: 1, convRule: rule21 } - , CharBlock { start: 495, length: 1, convRule: rule22 } - , CharBlock { start: 496, length: 1, convRule: rule14 } + , CharBlock { start: 478, length: 1, convRule: rule22 } + , CharBlock { start: 479, length: 1, convRule: rule23 } + , CharBlock { start: 480, length: 1, convRule: rule22 } + , CharBlock { start: 481, length: 1, convRule: rule23 } + , CharBlock { start: 482, length: 1, convRule: rule22 } + , CharBlock { start: 483, length: 1, convRule: rule23 } + , CharBlock { start: 484, length: 1, convRule: rule22 } + , CharBlock { start: 485, length: 1, convRule: rule23 } + , CharBlock { start: 486, length: 1, convRule: rule22 } + , CharBlock { start: 487, length: 1, convRule: rule23 } + , CharBlock { start: 488, length: 1, convRule: rule22 } + , CharBlock { start: 489, length: 1, convRule: rule23 } + , CharBlock { start: 490, length: 1, convRule: rule22 } + , CharBlock { start: 491, length: 1, convRule: rule23 } + , CharBlock { start: 492, length: 1, convRule: rule22 } + , CharBlock { start: 493, length: 1, convRule: rule23 } + , CharBlock { start: 494, length: 1, convRule: rule22 } + , CharBlock { start: 495, length: 1, convRule: rule23 } + , CharBlock { start: 496, length: 1, convRule: rule20 } , CharBlock { start: 497, length: 1, convRule: rule47 } , CharBlock { start: 498, length: 1, convRule: rule48 } , CharBlock { start: 499, length: 1, convRule: rule49 } - , CharBlock { start: 500, length: 1, convRule: rule21 } - , CharBlock { start: 501, length: 1, convRule: rule22 } + , CharBlock { start: 500, length: 1, convRule: rule22 } + , CharBlock { start: 501, length: 1, convRule: rule23 } , CharBlock { start: 502, length: 1, convRule: rule51 } , CharBlock { start: 503, length: 1, convRule: rule52 } - , CharBlock { start: 504, length: 1, convRule: rule21 } - , CharBlock { start: 505, length: 1, convRule: rule22 } - , CharBlock { start: 506, length: 1, convRule: rule21 } - , CharBlock { start: 507, length: 1, convRule: rule22 } - , CharBlock { start: 508, length: 1, convRule: rule21 } - , CharBlock { start: 509, length: 1, convRule: rule22 } - , CharBlock { start: 510, length: 1, convRule: rule21 } - , CharBlock { start: 511, length: 1, convRule: rule22 } - , CharBlock { start: 512, length: 1, convRule: rule21 } - , CharBlock { start: 513, length: 1, convRule: rule22 } - , CharBlock { start: 514, length: 1, convRule: rule21 } - , CharBlock { start: 515, length: 1, convRule: rule22 } - , CharBlock { start: 516, length: 1, convRule: rule21 } - , CharBlock { start: 517, length: 1, convRule: rule22 } - , CharBlock { start: 518, length: 1, convRule: rule21 } - , CharBlock { start: 519, length: 1, convRule: rule22 } - , CharBlock { start: 520, length: 1, convRule: rule21 } - , CharBlock { start: 521, length: 1, convRule: rule22 } - , CharBlock { start: 522, length: 1, convRule: rule21 } - , CharBlock { start: 523, length: 1, convRule: rule22 } - , CharBlock { start: 524, length: 1, convRule: rule21 } - , CharBlock { start: 525, length: 1, convRule: rule22 } - , CharBlock { start: 526, length: 1, convRule: rule21 } - , CharBlock { start: 527, length: 1, convRule: rule22 } - , CharBlock { start: 528, length: 1, convRule: rule21 } - , CharBlock { start: 529, length: 1, convRule: rule22 } - , CharBlock { start: 530, length: 1, convRule: rule21 } - , CharBlock { start: 531, length: 1, convRule: rule22 } - , CharBlock { start: 532, length: 1, convRule: rule21 } - , CharBlock { start: 533, length: 1, convRule: rule22 } - , CharBlock { start: 534, length: 1, convRule: rule21 } - , CharBlock { start: 535, length: 1, convRule: rule22 } - , CharBlock { start: 536, length: 1, convRule: rule21 } - , CharBlock { start: 537, length: 1, convRule: rule22 } - , CharBlock { start: 538, length: 1, convRule: rule21 } - , CharBlock { start: 539, length: 1, convRule: rule22 } - , CharBlock { start: 540, length: 1, convRule: rule21 } - , CharBlock { start: 541, length: 1, convRule: rule22 } - , CharBlock { start: 542, length: 1, convRule: rule21 } - , CharBlock { start: 543, length: 1, convRule: rule22 } + , CharBlock { start: 504, length: 1, convRule: rule22 } + , CharBlock { start: 505, length: 1, convRule: rule23 } + , CharBlock { start: 506, length: 1, convRule: rule22 } + , CharBlock { start: 507, length: 1, convRule: rule23 } + , CharBlock { start: 508, length: 1, convRule: rule22 } + , CharBlock { start: 509, length: 1, convRule: rule23 } + , CharBlock { start: 510, length: 1, convRule: rule22 } + , CharBlock { start: 511, length: 1, convRule: rule23 } + , CharBlock { start: 512, length: 1, convRule: rule22 } + , CharBlock { start: 513, length: 1, convRule: rule23 } + , CharBlock { start: 514, length: 1, convRule: rule22 } + , CharBlock { start: 515, length: 1, convRule: rule23 } + , CharBlock { start: 516, length: 1, convRule: rule22 } + , CharBlock { start: 517, length: 1, convRule: rule23 } + , CharBlock { start: 518, length: 1, convRule: rule22 } + , CharBlock { start: 519, length: 1, convRule: rule23 } + , CharBlock { start: 520, length: 1, convRule: rule22 } + , CharBlock { start: 521, length: 1, convRule: rule23 } + , CharBlock { start: 522, length: 1, convRule: rule22 } + , CharBlock { start: 523, length: 1, convRule: rule23 } + , CharBlock { start: 524, length: 1, convRule: rule22 } + , CharBlock { start: 525, length: 1, convRule: rule23 } + , CharBlock { start: 526, length: 1, convRule: rule22 } + , CharBlock { start: 527, length: 1, convRule: rule23 } + , CharBlock { start: 528, length: 1, convRule: rule22 } + , CharBlock { start: 529, length: 1, convRule: rule23 } + , CharBlock { start: 530, length: 1, convRule: rule22 } + , CharBlock { start: 531, length: 1, convRule: rule23 } + , CharBlock { start: 532, length: 1, convRule: rule22 } + , CharBlock { start: 533, length: 1, convRule: rule23 } + , CharBlock { start: 534, length: 1, convRule: rule22 } + , CharBlock { start: 535, length: 1, convRule: rule23 } + , CharBlock { start: 536, length: 1, convRule: rule22 } + , CharBlock { start: 537, length: 1, convRule: rule23 } + , CharBlock { start: 538, length: 1, convRule: rule22 } + , CharBlock { start: 539, length: 1, convRule: rule23 } + , CharBlock { start: 540, length: 1, convRule: rule22 } + , CharBlock { start: 541, length: 1, convRule: rule23 } + , CharBlock { start: 542, length: 1, convRule: rule22 } + , CharBlock { start: 543, length: 1, convRule: rule23 } , CharBlock { start: 544, length: 1, convRule: rule53 } - , CharBlock { start: 545, length: 1, convRule: rule14 } - , CharBlock { start: 546, length: 1, convRule: rule21 } - , CharBlock { start: 547, length: 1, convRule: rule22 } - , CharBlock { start: 548, length: 1, convRule: rule21 } - , CharBlock { start: 549, length: 1, convRule: rule22 } - , CharBlock { start: 550, length: 1, convRule: rule21 } - , CharBlock { start: 551, length: 1, convRule: rule22 } - , CharBlock { start: 552, length: 1, convRule: rule21 } - , CharBlock { start: 553, length: 1, convRule: rule22 } - , CharBlock { start: 554, length: 1, convRule: rule21 } - , CharBlock { start: 555, length: 1, convRule: rule22 } - , CharBlock { start: 556, length: 1, convRule: rule21 } - , CharBlock { start: 557, length: 1, convRule: rule22 } - , CharBlock { start: 558, length: 1, convRule: rule21 } - , CharBlock { start: 559, length: 1, convRule: rule22 } - , CharBlock { start: 560, length: 1, convRule: rule21 } - , CharBlock { start: 561, length: 1, convRule: rule22 } - , CharBlock { start: 562, length: 1, convRule: rule21 } - , CharBlock { start: 563, length: 1, convRule: rule22 } - , CharBlock { start: 564, length: 6, convRule: rule14 } + , CharBlock { start: 545, length: 1, convRule: rule20 } + , CharBlock { start: 546, length: 1, convRule: rule22 } + , CharBlock { start: 547, length: 1, convRule: rule23 } + , CharBlock { start: 548, length: 1, convRule: rule22 } + , CharBlock { start: 549, length: 1, convRule: rule23 } + , CharBlock { start: 550, length: 1, convRule: rule22 } + , CharBlock { start: 551, length: 1, convRule: rule23 } + , CharBlock { start: 552, length: 1, convRule: rule22 } + , CharBlock { start: 553, length: 1, convRule: rule23 } + , CharBlock { start: 554, length: 1, convRule: rule22 } + , CharBlock { start: 555, length: 1, convRule: rule23 } + , CharBlock { start: 556, length: 1, convRule: rule22 } + , CharBlock { start: 557, length: 1, convRule: rule23 } + , CharBlock { start: 558, length: 1, convRule: rule22 } + , CharBlock { start: 559, length: 1, convRule: rule23 } + , CharBlock { start: 560, length: 1, convRule: rule22 } + , CharBlock { start: 561, length: 1, convRule: rule23 } + , CharBlock { start: 562, length: 1, convRule: rule22 } + , CharBlock { start: 563, length: 1, convRule: rule23 } + , CharBlock { start: 564, length: 6, convRule: rule20 } , CharBlock { start: 570, length: 1, convRule: rule54 } - , CharBlock { start: 571, length: 1, convRule: rule21 } - , CharBlock { start: 572, length: 1, convRule: rule22 } + , CharBlock { start: 571, length: 1, convRule: rule22 } + , CharBlock { start: 572, length: 1, convRule: rule23 } , CharBlock { start: 573, length: 1, convRule: rule55 } , CharBlock { start: 574, length: 1, convRule: rule56 } , CharBlock { start: 575, length: 2, convRule: rule57 } - , CharBlock { start: 577, length: 1, convRule: rule21 } - , CharBlock { start: 578, length: 1, convRule: rule22 } + , CharBlock { start: 577, length: 1, convRule: rule22 } + , CharBlock { start: 578, length: 1, convRule: rule23 } , CharBlock { start: 579, length: 1, convRule: rule58 } , CharBlock { start: 580, length: 1, convRule: rule59 } , CharBlock { start: 581, length: 1, convRule: rule60 } - , CharBlock { start: 582, length: 1, convRule: rule21 } - , CharBlock { start: 583, length: 1, convRule: rule22 } - , CharBlock { start: 584, length: 1, convRule: rule21 } - , CharBlock { start: 585, length: 1, convRule: rule22 } - , CharBlock { start: 586, length: 1, convRule: rule21 } - , CharBlock { start: 587, length: 1, convRule: rule22 } - , CharBlock { start: 588, length: 1, convRule: rule21 } - , CharBlock { start: 589, length: 1, convRule: rule22 } - , CharBlock { start: 590, length: 1, convRule: rule21 } - , CharBlock { start: 591, length: 1, convRule: rule22 } + , CharBlock { start: 582, length: 1, convRule: rule22 } + , CharBlock { start: 583, length: 1, convRule: rule23 } + , CharBlock { start: 584, length: 1, convRule: rule22 } + , CharBlock { start: 585, length: 1, convRule: rule23 } + , CharBlock { start: 586, length: 1, convRule: rule22 } + , CharBlock { start: 587, length: 1, convRule: rule23 } + , CharBlock { start: 588, length: 1, convRule: rule22 } + , CharBlock { start: 589, length: 1, convRule: rule23 } + , CharBlock { start: 590, length: 1, convRule: rule22 } + , CharBlock { start: 591, length: 1, convRule: rule23 } , CharBlock { start: 592, length: 1, convRule: rule61 } , CharBlock { start: 593, length: 1, convRule: rule62 } , CharBlock { start: 594, length: 1, convRule: rule63 } , CharBlock { start: 595, length: 1, convRule: rule64 } , CharBlock { start: 596, length: 1, convRule: rule65 } - , CharBlock { start: 597, length: 1, convRule: rule14 } + , CharBlock { start: 597, length: 1, convRule: rule20 } , CharBlock { start: 598, length: 2, convRule: rule66 } - , CharBlock { start: 600, length: 1, convRule: rule14 } + , CharBlock { start: 600, length: 1, convRule: rule20 } , CharBlock { start: 601, length: 1, convRule: rule67 } - , CharBlock { start: 602, length: 1, convRule: rule14 } + , CharBlock { start: 602, length: 1, convRule: rule20 } , CharBlock { start: 603, length: 1, convRule: rule68 } - , CharBlock { start: 604, length: 4, convRule: rule14 } + , CharBlock { start: 604, length: 1, convRule: rule69 } + , CharBlock { start: 605, length: 3, convRule: rule20 } , CharBlock { start: 608, length: 1, convRule: rule66 } - , CharBlock { start: 609, length: 2, convRule: rule14 } - , CharBlock { start: 611, length: 1, convRule: rule69 } - , CharBlock { start: 612, length: 1, convRule: rule14 } - , CharBlock { start: 613, length: 1, convRule: rule70 } - , CharBlock { start: 614, length: 2, convRule: rule14 } - , CharBlock { start: 616, length: 1, convRule: rule71 } - , CharBlock { start: 617, length: 1, convRule: rule72 } - , CharBlock { start: 618, length: 1, convRule: rule14 } - , CharBlock { start: 619, length: 1, convRule: rule73 } - , CharBlock { start: 620, length: 3, convRule: rule14 } - , CharBlock { start: 623, length: 1, convRule: rule72 } - , CharBlock { start: 624, length: 1, convRule: rule14 } - , CharBlock { start: 625, length: 1, convRule: rule74 } - , CharBlock { start: 626, length: 1, convRule: rule75 } - , CharBlock { start: 627, length: 2, convRule: rule14 } - , CharBlock { start: 629, length: 1, convRule: rule76 } - , CharBlock { start: 630, length: 7, convRule: rule14 } - , CharBlock { start: 637, length: 1, convRule: rule77 } - , CharBlock { start: 638, length: 2, convRule: rule14 } - , CharBlock { start: 640, length: 1, convRule: rule78 } - , CharBlock { start: 641, length: 2, convRule: rule14 } - , CharBlock { start: 643, length: 1, convRule: rule78 } - , CharBlock { start: 644, length: 4, convRule: rule14 } - , CharBlock { start: 648, length: 1, convRule: rule78 } - , CharBlock { start: 649, length: 1, convRule: rule79 } - , CharBlock { start: 650, length: 2, convRule: rule80 } - , CharBlock { start: 652, length: 1, convRule: rule81 } - , CharBlock { start: 653, length: 5, convRule: rule14 } - , CharBlock { start: 658, length: 1, convRule: rule82 } - , CharBlock { start: 659, length: 1, convRule: rule14 } - , CharBlock { start: 660, length: 1, convRule: rule45 } - , CharBlock { start: 661, length: 27, convRule: rule14 } - , CharBlock { start: 688, length: 18, convRule: rule83 } + , CharBlock { start: 609, length: 1, convRule: rule70 } + , CharBlock { start: 610, length: 1, convRule: rule20 } + , CharBlock { start: 611, length: 1, convRule: rule71 } + , CharBlock { start: 612, length: 1, convRule: rule20 } + , CharBlock { start: 613, length: 1, convRule: rule72 } + , CharBlock { start: 614, length: 1, convRule: rule73 } + , CharBlock { start: 615, length: 1, convRule: rule20 } + , CharBlock { start: 616, length: 1, convRule: rule74 } + , CharBlock { start: 617, length: 1, convRule: rule75 } + , CharBlock { start: 618, length: 1, convRule: rule73 } + , CharBlock { start: 619, length: 1, convRule: rule76 } + , CharBlock { start: 620, length: 1, convRule: rule77 } + , CharBlock { start: 621, length: 2, convRule: rule20 } + , CharBlock { start: 623, length: 1, convRule: rule75 } + , CharBlock { start: 624, length: 1, convRule: rule20 } + , CharBlock { start: 625, length: 1, convRule: rule78 } + , CharBlock { start: 626, length: 1, convRule: rule79 } + , CharBlock { start: 627, length: 2, convRule: rule20 } + , CharBlock { start: 629, length: 1, convRule: rule80 } + , CharBlock { start: 630, length: 7, convRule: rule20 } + , CharBlock { start: 637, length: 1, convRule: rule81 } + , CharBlock { start: 638, length: 2, convRule: rule20 } + , CharBlock { start: 640, length: 1, convRule: rule82 } + , CharBlock { start: 641, length: 2, convRule: rule20 } + , CharBlock { start: 643, length: 1, convRule: rule82 } + , CharBlock { start: 644, length: 3, convRule: rule20 } + , CharBlock { start: 647, length: 1, convRule: rule83 } + , CharBlock { start: 648, length: 1, convRule: rule82 } + , CharBlock { start: 649, length: 1, convRule: rule84 } + , CharBlock { start: 650, length: 2, convRule: rule85 } + , CharBlock { start: 652, length: 1, convRule: rule86 } + , CharBlock { start: 653, length: 5, convRule: rule20 } + , CharBlock { start: 658, length: 1, convRule: rule87 } + , CharBlock { start: 659, length: 1, convRule: rule20 } + , CharBlock { start: 660, length: 1, convRule: rule14 } + , CharBlock { start: 661, length: 8, convRule: rule20 } + , CharBlock { start: 669, length: 1, convRule: rule88 } + , CharBlock { start: 670, length: 1, convRule: rule89 } + , CharBlock { start: 671, length: 17, convRule: rule20 } + , CharBlock { start: 688, length: 18, convRule: rule90 } , CharBlock { start: 706, length: 4, convRule: rule10 } - , CharBlock { start: 710, length: 12, convRule: rule83 } + , CharBlock { start: 710, length: 12, convRule: rule90 } , CharBlock { start: 722, length: 14, convRule: rule10 } - , CharBlock { start: 736, length: 5, convRule: rule83 } + , CharBlock { start: 736, length: 5, convRule: rule90 } , CharBlock { start: 741, length: 7, convRule: rule10 } - , CharBlock { start: 748, length: 1, convRule: rule83 } + , CharBlock { start: 748, length: 1, convRule: rule90 } , CharBlock { start: 749, length: 1, convRule: rule10 } - , CharBlock { start: 750, length: 1, convRule: rule83 } + , CharBlock { start: 750, length: 1, convRule: rule90 } , CharBlock { start: 751, length: 17, convRule: rule10 } - , CharBlock { start: 768, length: 69, convRule: rule84 } - , CharBlock { start: 837, length: 1, convRule: rule85 } - , CharBlock { start: 838, length: 42, convRule: rule84 } - , CharBlock { start: 880, length: 1, convRule: rule21 } - , CharBlock { start: 881, length: 1, convRule: rule22 } - , CharBlock { start: 882, length: 1, convRule: rule21 } - , CharBlock { start: 883, length: 1, convRule: rule22 } - , CharBlock { start: 884, length: 1, convRule: rule83 } + , CharBlock { start: 768, length: 69, convRule: rule91 } + , CharBlock { start: 837, length: 1, convRule: rule92 } + , CharBlock { start: 838, length: 42, convRule: rule91 } + , CharBlock { start: 880, length: 1, convRule: rule22 } + , CharBlock { start: 881, length: 1, convRule: rule23 } + , CharBlock { start: 882, length: 1, convRule: rule22 } + , CharBlock { start: 883, length: 1, convRule: rule23 } + , CharBlock { start: 884, length: 1, convRule: rule90 } , CharBlock { start: 885, length: 1, convRule: rule10 } - , CharBlock { start: 886, length: 1, convRule: rule21 } - , CharBlock { start: 887, length: 1, convRule: rule22 } - , CharBlock { start: 890, length: 1, convRule: rule83 } - , CharBlock { start: 891, length: 3, convRule: rule40 } + , CharBlock { start: 886, length: 1, convRule: rule22 } + , CharBlock { start: 887, length: 1, convRule: rule23 } + , CharBlock { start: 890, length: 1, convRule: rule90 } + , CharBlock { start: 891, length: 3, convRule: rule41 } , CharBlock { start: 894, length: 1, convRule: rule2 } + , CharBlock { start: 895, length: 1, convRule: rule93 } , CharBlock { start: 900, length: 2, convRule: rule10 } - , CharBlock { start: 902, length: 1, convRule: rule86 } + , CharBlock { start: 902, length: 1, convRule: rule94 } , CharBlock { start: 903, length: 1, convRule: rule2 } - , CharBlock { start: 904, length: 3, convRule: rule87 } - , CharBlock { start: 908, length: 1, convRule: rule88 } - , CharBlock { start: 910, length: 2, convRule: rule89 } - , CharBlock { start: 912, length: 1, convRule: rule14 } + , CharBlock { start: 904, length: 3, convRule: rule95 } + , CharBlock { start: 908, length: 1, convRule: rule96 } + , CharBlock { start: 910, length: 2, convRule: rule97 } + , CharBlock { start: 912, length: 1, convRule: rule20 } , CharBlock { start: 913, length: 17, convRule: rule9 } , CharBlock { start: 931, length: 9, convRule: rule9 } - , CharBlock { start: 940, length: 1, convRule: rule90 } - , CharBlock { start: 941, length: 3, convRule: rule91 } - , CharBlock { start: 944, length: 1, convRule: rule14 } + , CharBlock { start: 940, length: 1, convRule: rule98 } + , CharBlock { start: 941, length: 3, convRule: rule99 } + , CharBlock { start: 944, length: 1, convRule: rule20 } , CharBlock { start: 945, length: 17, convRule: rule12 } - , CharBlock { start: 962, length: 1, convRule: rule92 } + , CharBlock { start: 962, length: 1, convRule: rule100 } , CharBlock { start: 963, length: 9, convRule: rule12 } - , CharBlock { start: 972, length: 1, convRule: rule93 } - , CharBlock { start: 973, length: 2, convRule: rule94 } - , CharBlock { start: 975, length: 1, convRule: rule95 } - , CharBlock { start: 976, length: 1, convRule: rule96 } - , CharBlock { start: 977, length: 1, convRule: rule97 } - , CharBlock { start: 978, length: 3, convRule: rule98 } - , CharBlock { start: 981, length: 1, convRule: rule99 } - , CharBlock { start: 982, length: 1, convRule: rule100 } - , CharBlock { start: 983, length: 1, convRule: rule101 } - , CharBlock { start: 984, length: 1, convRule: rule21 } - , CharBlock { start: 985, length: 1, convRule: rule22 } - , CharBlock { start: 986, length: 1, convRule: rule21 } - , CharBlock { start: 987, length: 1, convRule: rule22 } - , CharBlock { start: 988, length: 1, convRule: rule21 } - , CharBlock { start: 989, length: 1, convRule: rule22 } - , CharBlock { start: 990, length: 1, convRule: rule21 } - , CharBlock { start: 991, length: 1, convRule: rule22 } - , CharBlock { start: 992, length: 1, convRule: rule21 } - , CharBlock { start: 993, length: 1, convRule: rule22 } - , CharBlock { start: 994, length: 1, convRule: rule21 } - , CharBlock { start: 995, length: 1, convRule: rule22 } - , CharBlock { start: 996, length: 1, convRule: rule21 } - , CharBlock { start: 997, length: 1, convRule: rule22 } - , CharBlock { start: 998, length: 1, convRule: rule21 } - , CharBlock { start: 999, length: 1, convRule: rule22 } - , CharBlock { start: 1000, length: 1, convRule: rule21 } - , CharBlock { start: 1001, length: 1, convRule: rule22 } - , CharBlock { start: 1002, length: 1, convRule: rule21 } - , CharBlock { start: 1003, length: 1, convRule: rule22 } - , CharBlock { start: 1004, length: 1, convRule: rule21 } - , CharBlock { start: 1005, length: 1, convRule: rule22 } - , CharBlock { start: 1006, length: 1, convRule: rule21 } - , CharBlock { start: 1007, length: 1, convRule: rule22 } - , CharBlock { start: 1008, length: 1, convRule: rule102 } - , CharBlock { start: 1009, length: 1, convRule: rule103 } - , CharBlock { start: 1010, length: 1, convRule: rule104 } - , CharBlock { start: 1011, length: 1, convRule: rule14 } - , CharBlock { start: 1012, length: 1, convRule: rule105 } - , CharBlock { start: 1013, length: 1, convRule: rule106 } + , CharBlock { start: 972, length: 1, convRule: rule101 } + , CharBlock { start: 973, length: 2, convRule: rule102 } + , CharBlock { start: 975, length: 1, convRule: rule103 } + , CharBlock { start: 976, length: 1, convRule: rule104 } + , CharBlock { start: 977, length: 1, convRule: rule105 } + , CharBlock { start: 978, length: 3, convRule: rule106 } + , CharBlock { start: 981, length: 1, convRule: rule107 } + , CharBlock { start: 982, length: 1, convRule: rule108 } + , CharBlock { start: 983, length: 1, convRule: rule109 } + , CharBlock { start: 984, length: 1, convRule: rule22 } + , CharBlock { start: 985, length: 1, convRule: rule23 } + , CharBlock { start: 986, length: 1, convRule: rule22 } + , CharBlock { start: 987, length: 1, convRule: rule23 } + , CharBlock { start: 988, length: 1, convRule: rule22 } + , CharBlock { start: 989, length: 1, convRule: rule23 } + , CharBlock { start: 990, length: 1, convRule: rule22 } + , CharBlock { start: 991, length: 1, convRule: rule23 } + , CharBlock { start: 992, length: 1, convRule: rule22 } + , CharBlock { start: 993, length: 1, convRule: rule23 } + , CharBlock { start: 994, length: 1, convRule: rule22 } + , CharBlock { start: 995, length: 1, convRule: rule23 } + , CharBlock { start: 996, length: 1, convRule: rule22 } + , CharBlock { start: 997, length: 1, convRule: rule23 } + , CharBlock { start: 998, length: 1, convRule: rule22 } + , CharBlock { start: 999, length: 1, convRule: rule23 } + , CharBlock { start: 1000, length: 1, convRule: rule22 } + , CharBlock { start: 1001, length: 1, convRule: rule23 } + , CharBlock { start: 1002, length: 1, convRule: rule22 } + , CharBlock { start: 1003, length: 1, convRule: rule23 } + , CharBlock { start: 1004, length: 1, convRule: rule22 } + , CharBlock { start: 1005, length: 1, convRule: rule23 } + , CharBlock { start: 1006, length: 1, convRule: rule22 } + , CharBlock { start: 1007, length: 1, convRule: rule23 } + , CharBlock { start: 1008, length: 1, convRule: rule110 } + , CharBlock { start: 1009, length: 1, convRule: rule111 } + , CharBlock { start: 1010, length: 1, convRule: rule112 } + , CharBlock { start: 1011, length: 1, convRule: rule113 } + , CharBlock { start: 1012, length: 1, convRule: rule114 } + , CharBlock { start: 1013, length: 1, convRule: rule115 } , CharBlock { start: 1014, length: 1, convRule: rule6 } - , CharBlock { start: 1015, length: 1, convRule: rule21 } - , CharBlock { start: 1016, length: 1, convRule: rule22 } - , CharBlock { start: 1017, length: 1, convRule: rule107 } - , CharBlock { start: 1018, length: 1, convRule: rule21 } - , CharBlock { start: 1019, length: 1, convRule: rule22 } - , CharBlock { start: 1020, length: 1, convRule: rule14 } + , CharBlock { start: 1015, length: 1, convRule: rule22 } + , CharBlock { start: 1016, length: 1, convRule: rule23 } + , CharBlock { start: 1017, length: 1, convRule: rule116 } + , CharBlock { start: 1018, length: 1, convRule: rule22 } + , CharBlock { start: 1019, length: 1, convRule: rule23 } + , CharBlock { start: 1020, length: 1, convRule: rule20 } , CharBlock { start: 1021, length: 3, convRule: rule53 } - , CharBlock { start: 1024, length: 16, convRule: rule108 } + , CharBlock { start: 1024, length: 16, convRule: rule117 } , CharBlock { start: 1040, length: 32, convRule: rule9 } , CharBlock { start: 1072, length: 32, convRule: rule12 } - , CharBlock { start: 1104, length: 16, convRule: rule103 } - , CharBlock { start: 1120, length: 1, convRule: rule21 } - , CharBlock { start: 1121, length: 1, convRule: rule22 } - , CharBlock { start: 1122, length: 1, convRule: rule21 } - , CharBlock { start: 1123, length: 1, convRule: rule22 } - , CharBlock { start: 1124, length: 1, convRule: rule21 } - , CharBlock { start: 1125, length: 1, convRule: rule22 } - , CharBlock { start: 1126, length: 1, convRule: rule21 } - , CharBlock { start: 1127, length: 1, convRule: rule22 } - , CharBlock { start: 1128, length: 1, convRule: rule21 } - , CharBlock { start: 1129, length: 1, convRule: rule22 } - , CharBlock { start: 1130, length: 1, convRule: rule21 } - , CharBlock { start: 1131, length: 1, convRule: rule22 } - , CharBlock { start: 1132, length: 1, convRule: rule21 } - , CharBlock { start: 1133, length: 1, convRule: rule22 } - , CharBlock { start: 1134, length: 1, convRule: rule21 } - , CharBlock { start: 1135, length: 1, convRule: rule22 } - , CharBlock { start: 1136, length: 1, convRule: rule21 } - , CharBlock { start: 1137, length: 1, convRule: rule22 } - , CharBlock { start: 1138, length: 1, convRule: rule21 } - , CharBlock { start: 1139, length: 1, convRule: rule22 } - , CharBlock { start: 1140, length: 1, convRule: rule21 } - , CharBlock { start: 1141, length: 1, convRule: rule22 } - , CharBlock { start: 1142, length: 1, convRule: rule21 } - , CharBlock { start: 1143, length: 1, convRule: rule22 } - , CharBlock { start: 1144, length: 1, convRule: rule21 } - , CharBlock { start: 1145, length: 1, convRule: rule22 } - , CharBlock { start: 1146, length: 1, convRule: rule21 } - , CharBlock { start: 1147, length: 1, convRule: rule22 } - , CharBlock { start: 1148, length: 1, convRule: rule21 } - , CharBlock { start: 1149, length: 1, convRule: rule22 } - , CharBlock { start: 1150, length: 1, convRule: rule21 } - , CharBlock { start: 1151, length: 1, convRule: rule22 } - , CharBlock { start: 1152, length: 1, convRule: rule21 } - , CharBlock { start: 1153, length: 1, convRule: rule22 } + , CharBlock { start: 1104, length: 16, convRule: rule111 } + , CharBlock { start: 1120, length: 1, convRule: rule22 } + , CharBlock { start: 1121, length: 1, convRule: rule23 } + , CharBlock { start: 1122, length: 1, convRule: rule22 } + , CharBlock { start: 1123, length: 1, convRule: rule23 } + , CharBlock { start: 1124, length: 1, convRule: rule22 } + , CharBlock { start: 1125, length: 1, convRule: rule23 } + , CharBlock { start: 1126, length: 1, convRule: rule22 } + , CharBlock { start: 1127, length: 1, convRule: rule23 } + , CharBlock { start: 1128, length: 1, convRule: rule22 } + , CharBlock { start: 1129, length: 1, convRule: rule23 } + , CharBlock { start: 1130, length: 1, convRule: rule22 } + , CharBlock { start: 1131, length: 1, convRule: rule23 } + , CharBlock { start: 1132, length: 1, convRule: rule22 } + , CharBlock { start: 1133, length: 1, convRule: rule23 } + , CharBlock { start: 1134, length: 1, convRule: rule22 } + , CharBlock { start: 1135, length: 1, convRule: rule23 } + , CharBlock { start: 1136, length: 1, convRule: rule22 } + , CharBlock { start: 1137, length: 1, convRule: rule23 } + , CharBlock { start: 1138, length: 1, convRule: rule22 } + , CharBlock { start: 1139, length: 1, convRule: rule23 } + , CharBlock { start: 1140, length: 1, convRule: rule22 } + , CharBlock { start: 1141, length: 1, convRule: rule23 } + , CharBlock { start: 1142, length: 1, convRule: rule22 } + , CharBlock { start: 1143, length: 1, convRule: rule23 } + , CharBlock { start: 1144, length: 1, convRule: rule22 } + , CharBlock { start: 1145, length: 1, convRule: rule23 } + , CharBlock { start: 1146, length: 1, convRule: rule22 } + , CharBlock { start: 1147, length: 1, convRule: rule23 } + , CharBlock { start: 1148, length: 1, convRule: rule22 } + , CharBlock { start: 1149, length: 1, convRule: rule23 } + , CharBlock { start: 1150, length: 1, convRule: rule22 } + , CharBlock { start: 1151, length: 1, convRule: rule23 } + , CharBlock { start: 1152, length: 1, convRule: rule22 } + , CharBlock { start: 1153, length: 1, convRule: rule23 } , CharBlock { start: 1154, length: 1, convRule: rule13 } - , CharBlock { start: 1155, length: 5, convRule: rule84 } - , CharBlock { start: 1160, length: 2, convRule: rule109 } - , CharBlock { start: 1162, length: 1, convRule: rule21 } - , CharBlock { start: 1163, length: 1, convRule: rule22 } - , CharBlock { start: 1164, length: 1, convRule: rule21 } - , CharBlock { start: 1165, length: 1, convRule: rule22 } - , CharBlock { start: 1166, length: 1, convRule: rule21 } - , CharBlock { start: 1167, length: 1, convRule: rule22 } - , CharBlock { start: 1168, length: 1, convRule: rule21 } - , CharBlock { start: 1169, length: 1, convRule: rule22 } - , CharBlock { start: 1170, length: 1, convRule: rule21 } - , CharBlock { start: 1171, length: 1, convRule: rule22 } - , CharBlock { start: 1172, length: 1, convRule: rule21 } - , CharBlock { start: 1173, length: 1, convRule: rule22 } - , CharBlock { start: 1174, length: 1, convRule: rule21 } - , CharBlock { start: 1175, length: 1, convRule: rule22 } - , CharBlock { start: 1176, length: 1, convRule: rule21 } - , CharBlock { start: 1177, length: 1, convRule: rule22 } - , CharBlock { start: 1178, length: 1, convRule: rule21 } - , CharBlock { start: 1179, length: 1, convRule: rule22 } - , CharBlock { start: 1180, length: 1, convRule: rule21 } - , CharBlock { start: 1181, length: 1, convRule: rule22 } - , CharBlock { start: 1182, length: 1, convRule: rule21 } - , CharBlock { start: 1183, length: 1, convRule: rule22 } - , CharBlock { start: 1184, length: 1, convRule: rule21 } - , CharBlock { start: 1185, length: 1, convRule: rule22 } - , CharBlock { start: 1186, length: 1, convRule: rule21 } - , CharBlock { start: 1187, length: 1, convRule: rule22 } - , CharBlock { start: 1188, length: 1, convRule: rule21 } - , CharBlock { start: 1189, length: 1, convRule: rule22 } - , CharBlock { start: 1190, length: 1, convRule: rule21 } - , CharBlock { start: 1191, length: 1, convRule: rule22 } - , CharBlock { start: 1192, length: 1, convRule: rule21 } - , CharBlock { start: 1193, length: 1, convRule: rule22 } - , CharBlock { start: 1194, length: 1, convRule: rule21 } - , CharBlock { start: 1195, length: 1, convRule: rule22 } - , CharBlock { start: 1196, length: 1, convRule: rule21 } - , CharBlock { start: 1197, length: 1, convRule: rule22 } - , CharBlock { start: 1198, length: 1, convRule: rule21 } - , CharBlock { start: 1199, length: 1, convRule: rule22 } - , CharBlock { start: 1200, length: 1, convRule: rule21 } - , CharBlock { start: 1201, length: 1, convRule: rule22 } - , CharBlock { start: 1202, length: 1, convRule: rule21 } - , CharBlock { start: 1203, length: 1, convRule: rule22 } - , CharBlock { start: 1204, length: 1, convRule: rule21 } - , CharBlock { start: 1205, length: 1, convRule: rule22 } - , CharBlock { start: 1206, length: 1, convRule: rule21 } - , CharBlock { start: 1207, length: 1, convRule: rule22 } - , CharBlock { start: 1208, length: 1, convRule: rule21 } - , CharBlock { start: 1209, length: 1, convRule: rule22 } - , CharBlock { start: 1210, length: 1, convRule: rule21 } - , CharBlock { start: 1211, length: 1, convRule: rule22 } - , CharBlock { start: 1212, length: 1, convRule: rule21 } - , CharBlock { start: 1213, length: 1, convRule: rule22 } - , CharBlock { start: 1214, length: 1, convRule: rule21 } - , CharBlock { start: 1215, length: 1, convRule: rule22 } - , CharBlock { start: 1216, length: 1, convRule: rule110 } - , CharBlock { start: 1217, length: 1, convRule: rule21 } - , CharBlock { start: 1218, length: 1, convRule: rule22 } - , CharBlock { start: 1219, length: 1, convRule: rule21 } - , CharBlock { start: 1220, length: 1, convRule: rule22 } - , CharBlock { start: 1221, length: 1, convRule: rule21 } - , CharBlock { start: 1222, length: 1, convRule: rule22 } - , CharBlock { start: 1223, length: 1, convRule: rule21 } - , CharBlock { start: 1224, length: 1, convRule: rule22 } - , CharBlock { start: 1225, length: 1, convRule: rule21 } - , CharBlock { start: 1226, length: 1, convRule: rule22 } - , CharBlock { start: 1227, length: 1, convRule: rule21 } - , CharBlock { start: 1228, length: 1, convRule: rule22 } - , CharBlock { start: 1229, length: 1, convRule: rule21 } - , CharBlock { start: 1230, length: 1, convRule: rule22 } - , CharBlock { start: 1231, length: 1, convRule: rule111 } - , CharBlock { start: 1232, length: 1, convRule: rule21 } - , CharBlock { start: 1233, length: 1, convRule: rule22 } - , CharBlock { start: 1234, length: 1, convRule: rule21 } - , CharBlock { start: 1235, length: 1, convRule: rule22 } - , CharBlock { start: 1236, length: 1, convRule: rule21 } - , CharBlock { start: 1237, length: 1, convRule: rule22 } - , CharBlock { start: 1238, length: 1, convRule: rule21 } - , CharBlock { start: 1239, length: 1, convRule: rule22 } - , CharBlock { start: 1240, length: 1, convRule: rule21 } - , CharBlock { start: 1241, length: 1, convRule: rule22 } - , CharBlock { start: 1242, length: 1, convRule: rule21 } - , CharBlock { start: 1243, length: 1, convRule: rule22 } - , CharBlock { start: 1244, length: 1, convRule: rule21 } - , CharBlock { start: 1245, length: 1, convRule: rule22 } - , CharBlock { start: 1246, length: 1, convRule: rule21 } - , CharBlock { start: 1247, length: 1, convRule: rule22 } - , CharBlock { start: 1248, length: 1, convRule: rule21 } - , CharBlock { start: 1249, length: 1, convRule: rule22 } - , CharBlock { start: 1250, length: 1, convRule: rule21 } - , CharBlock { start: 1251, length: 1, convRule: rule22 } - , CharBlock { start: 1252, length: 1, convRule: rule21 } - , CharBlock { start: 1253, length: 1, convRule: rule22 } - , CharBlock { start: 1254, length: 1, convRule: rule21 } - , CharBlock { start: 1255, length: 1, convRule: rule22 } - , CharBlock { start: 1256, length: 1, convRule: rule21 } - , CharBlock { start: 1257, length: 1, convRule: rule22 } - , CharBlock { start: 1258, length: 1, convRule: rule21 } - , CharBlock { start: 1259, length: 1, convRule: rule22 } - , CharBlock { start: 1260, length: 1, convRule: rule21 } - , CharBlock { start: 1261, length: 1, convRule: rule22 } - , CharBlock { start: 1262, length: 1, convRule: rule21 } - , CharBlock { start: 1263, length: 1, convRule: rule22 } - , CharBlock { start: 1264, length: 1, convRule: rule21 } - , CharBlock { start: 1265, length: 1, convRule: rule22 } - , CharBlock { start: 1266, length: 1, convRule: rule21 } - , CharBlock { start: 1267, length: 1, convRule: rule22 } - , CharBlock { start: 1268, length: 1, convRule: rule21 } - , CharBlock { start: 1269, length: 1, convRule: rule22 } - , CharBlock { start: 1270, length: 1, convRule: rule21 } - , CharBlock { start: 1271, length: 1, convRule: rule22 } - , CharBlock { start: 1272, length: 1, convRule: rule21 } - , CharBlock { start: 1273, length: 1, convRule: rule22 } - , CharBlock { start: 1274, length: 1, convRule: rule21 } - , CharBlock { start: 1275, length: 1, convRule: rule22 } - , CharBlock { start: 1276, length: 1, convRule: rule21 } - , CharBlock { start: 1277, length: 1, convRule: rule22 } - , CharBlock { start: 1278, length: 1, convRule: rule21 } - , CharBlock { start: 1279, length: 1, convRule: rule22 } - , CharBlock { start: 1280, length: 1, convRule: rule21 } - , CharBlock { start: 1281, length: 1, convRule: rule22 } - , CharBlock { start: 1282, length: 1, convRule: rule21 } - , CharBlock { start: 1283, length: 1, convRule: rule22 } - , CharBlock { start: 1284, length: 1, convRule: rule21 } - , CharBlock { start: 1285, length: 1, convRule: rule22 } - , CharBlock { start: 1286, length: 1, convRule: rule21 } - , CharBlock { start: 1287, length: 1, convRule: rule22 } - , CharBlock { start: 1288, length: 1, convRule: rule21 } - , CharBlock { start: 1289, length: 1, convRule: rule22 } - , CharBlock { start: 1290, length: 1, convRule: rule21 } - , CharBlock { start: 1291, length: 1, convRule: rule22 } - , CharBlock { start: 1292, length: 1, convRule: rule21 } - , CharBlock { start: 1293, length: 1, convRule: rule22 } - , CharBlock { start: 1294, length: 1, convRule: rule21 } - , CharBlock { start: 1295, length: 1, convRule: rule22 } - , CharBlock { start: 1296, length: 1, convRule: rule21 } - , CharBlock { start: 1297, length: 1, convRule: rule22 } - , CharBlock { start: 1298, length: 1, convRule: rule21 } - , CharBlock { start: 1299, length: 1, convRule: rule22 } - , CharBlock { start: 1300, length: 1, convRule: rule21 } - , CharBlock { start: 1301, length: 1, convRule: rule22 } - , CharBlock { start: 1302, length: 1, convRule: rule21 } - , CharBlock { start: 1303, length: 1, convRule: rule22 } - , CharBlock { start: 1304, length: 1, convRule: rule21 } - , CharBlock { start: 1305, length: 1, convRule: rule22 } - , CharBlock { start: 1306, length: 1, convRule: rule21 } - , CharBlock { start: 1307, length: 1, convRule: rule22 } - , CharBlock { start: 1308, length: 1, convRule: rule21 } - , CharBlock { start: 1309, length: 1, convRule: rule22 } - , CharBlock { start: 1310, length: 1, convRule: rule21 } - , CharBlock { start: 1311, length: 1, convRule: rule22 } - , CharBlock { start: 1312, length: 1, convRule: rule21 } - , CharBlock { start: 1313, length: 1, convRule: rule22 } - , CharBlock { start: 1314, length: 1, convRule: rule21 } - , CharBlock { start: 1315, length: 1, convRule: rule22 } - , CharBlock { start: 1316, length: 1, convRule: rule21 } - , CharBlock { start: 1317, length: 1, convRule: rule22 } - , CharBlock { start: 1318, length: 1, convRule: rule21 } - , CharBlock { start: 1319, length: 1, convRule: rule22 } - , CharBlock { start: 1329, length: 38, convRule: rule112 } - , CharBlock { start: 1369, length: 1, convRule: rule83 } + , CharBlock { start: 1155, length: 5, convRule: rule91 } + , CharBlock { start: 1160, length: 2, convRule: rule118 } + , CharBlock { start: 1162, length: 1, convRule: rule22 } + , CharBlock { start: 1163, length: 1, convRule: rule23 } + , CharBlock { start: 1164, length: 1, convRule: rule22 } + , CharBlock { start: 1165, length: 1, convRule: rule23 } + , CharBlock { start: 1166, length: 1, convRule: rule22 } + , CharBlock { start: 1167, length: 1, convRule: rule23 } + , CharBlock { start: 1168, length: 1, convRule: rule22 } + , CharBlock { start: 1169, length: 1, convRule: rule23 } + , CharBlock { start: 1170, length: 1, convRule: rule22 } + , CharBlock { start: 1171, length: 1, convRule: rule23 } + , CharBlock { start: 1172, length: 1, convRule: rule22 } + , CharBlock { start: 1173, length: 1, convRule: rule23 } + , CharBlock { start: 1174, length: 1, convRule: rule22 } + , CharBlock { start: 1175, length: 1, convRule: rule23 } + , CharBlock { start: 1176, length: 1, convRule: rule22 } + , CharBlock { start: 1177, length: 1, convRule: rule23 } + , CharBlock { start: 1178, length: 1, convRule: rule22 } + , CharBlock { start: 1179, length: 1, convRule: rule23 } + , CharBlock { start: 1180, length: 1, convRule: rule22 } + , CharBlock { start: 1181, length: 1, convRule: rule23 } + , CharBlock { start: 1182, length: 1, convRule: rule22 } + , CharBlock { start: 1183, length: 1, convRule: rule23 } + , CharBlock { start: 1184, length: 1, convRule: rule22 } + , CharBlock { start: 1185, length: 1, convRule: rule23 } + , CharBlock { start: 1186, length: 1, convRule: rule22 } + , CharBlock { start: 1187, length: 1, convRule: rule23 } + , CharBlock { start: 1188, length: 1, convRule: rule22 } + , CharBlock { start: 1189, length: 1, convRule: rule23 } + , CharBlock { start: 1190, length: 1, convRule: rule22 } + , CharBlock { start: 1191, length: 1, convRule: rule23 } + , CharBlock { start: 1192, length: 1, convRule: rule22 } + , CharBlock { start: 1193, length: 1, convRule: rule23 } + , CharBlock { start: 1194, length: 1, convRule: rule22 } + , CharBlock { start: 1195, length: 1, convRule: rule23 } + , CharBlock { start: 1196, length: 1, convRule: rule22 } + , CharBlock { start: 1197, length: 1, convRule: rule23 } + , CharBlock { start: 1198, length: 1, convRule: rule22 } + , CharBlock { start: 1199, length: 1, convRule: rule23 } + , CharBlock { start: 1200, length: 1, convRule: rule22 } + , CharBlock { start: 1201, length: 1, convRule: rule23 } + , CharBlock { start: 1202, length: 1, convRule: rule22 } + , CharBlock { start: 1203, length: 1, convRule: rule23 } + , CharBlock { start: 1204, length: 1, convRule: rule22 } + , CharBlock { start: 1205, length: 1, convRule: rule23 } + , CharBlock { start: 1206, length: 1, convRule: rule22 } + , CharBlock { start: 1207, length: 1, convRule: rule23 } + , CharBlock { start: 1208, length: 1, convRule: rule22 } + , CharBlock { start: 1209, length: 1, convRule: rule23 } + , CharBlock { start: 1210, length: 1, convRule: rule22 } + , CharBlock { start: 1211, length: 1, convRule: rule23 } + , CharBlock { start: 1212, length: 1, convRule: rule22 } + , CharBlock { start: 1213, length: 1, convRule: rule23 } + , CharBlock { start: 1214, length: 1, convRule: rule22 } + , CharBlock { start: 1215, length: 1, convRule: rule23 } + , CharBlock { start: 1216, length: 1, convRule: rule119 } + , CharBlock { start: 1217, length: 1, convRule: rule22 } + , CharBlock { start: 1218, length: 1, convRule: rule23 } + , CharBlock { start: 1219, length: 1, convRule: rule22 } + , CharBlock { start: 1220, length: 1, convRule: rule23 } + , CharBlock { start: 1221, length: 1, convRule: rule22 } + , CharBlock { start: 1222, length: 1, convRule: rule23 } + , CharBlock { start: 1223, length: 1, convRule: rule22 } + , CharBlock { start: 1224, length: 1, convRule: rule23 } + , CharBlock { start: 1225, length: 1, convRule: rule22 } + , CharBlock { start: 1226, length: 1, convRule: rule23 } + , CharBlock { start: 1227, length: 1, convRule: rule22 } + , CharBlock { start: 1228, length: 1, convRule: rule23 } + , CharBlock { start: 1229, length: 1, convRule: rule22 } + , CharBlock { start: 1230, length: 1, convRule: rule23 } + , CharBlock { start: 1231, length: 1, convRule: rule120 } + , CharBlock { start: 1232, length: 1, convRule: rule22 } + , CharBlock { start: 1233, length: 1, convRule: rule23 } + , CharBlock { start: 1234, length: 1, convRule: rule22 } + , CharBlock { start: 1235, length: 1, convRule: rule23 } + , CharBlock { start: 1236, length: 1, convRule: rule22 } + , CharBlock { start: 1237, length: 1, convRule: rule23 } + , CharBlock { start: 1238, length: 1, convRule: rule22 } + , CharBlock { start: 1239, length: 1, convRule: rule23 } + , CharBlock { start: 1240, length: 1, convRule: rule22 } + , CharBlock { start: 1241, length: 1, convRule: rule23 } + , CharBlock { start: 1242, length: 1, convRule: rule22 } + , CharBlock { start: 1243, length: 1, convRule: rule23 } + , CharBlock { start: 1244, length: 1, convRule: rule22 } + , CharBlock { start: 1245, length: 1, convRule: rule23 } + , CharBlock { start: 1246, length: 1, convRule: rule22 } + , CharBlock { start: 1247, length: 1, convRule: rule23 } + , CharBlock { start: 1248, length: 1, convRule: rule22 } + , CharBlock { start: 1249, length: 1, convRule: rule23 } + , CharBlock { start: 1250, length: 1, convRule: rule22 } + , CharBlock { start: 1251, length: 1, convRule: rule23 } + , CharBlock { start: 1252, length: 1, convRule: rule22 } + , CharBlock { start: 1253, length: 1, convRule: rule23 } + , CharBlock { start: 1254, length: 1, convRule: rule22 } + , CharBlock { start: 1255, length: 1, convRule: rule23 } + , CharBlock { start: 1256, length: 1, convRule: rule22 } + , CharBlock { start: 1257, length: 1, convRule: rule23 } + , CharBlock { start: 1258, length: 1, convRule: rule22 } + , CharBlock { start: 1259, length: 1, convRule: rule23 } + , CharBlock { start: 1260, length: 1, convRule: rule22 } + , CharBlock { start: 1261, length: 1, convRule: rule23 } + , CharBlock { start: 1262, length: 1, convRule: rule22 } + , CharBlock { start: 1263, length: 1, convRule: rule23 } + , CharBlock { start: 1264, length: 1, convRule: rule22 } + , CharBlock { start: 1265, length: 1, convRule: rule23 } + , CharBlock { start: 1266, length: 1, convRule: rule22 } + , CharBlock { start: 1267, length: 1, convRule: rule23 } + , CharBlock { start: 1268, length: 1, convRule: rule22 } + , CharBlock { start: 1269, length: 1, convRule: rule23 } + , CharBlock { start: 1270, length: 1, convRule: rule22 } + , CharBlock { start: 1271, length: 1, convRule: rule23 } + , CharBlock { start: 1272, length: 1, convRule: rule22 } + , CharBlock { start: 1273, length: 1, convRule: rule23 } + , CharBlock { start: 1274, length: 1, convRule: rule22 } + , CharBlock { start: 1275, length: 1, convRule: rule23 } + , CharBlock { start: 1276, length: 1, convRule: rule22 } + , CharBlock { start: 1277, length: 1, convRule: rule23 } + , CharBlock { start: 1278, length: 1, convRule: rule22 } + , CharBlock { start: 1279, length: 1, convRule: rule23 } + , CharBlock { start: 1280, length: 1, convRule: rule22 } + , CharBlock { start: 1281, length: 1, convRule: rule23 } + , CharBlock { start: 1282, length: 1, convRule: rule22 } + , CharBlock { start: 1283, length: 1, convRule: rule23 } + , CharBlock { start: 1284, length: 1, convRule: rule22 } + , CharBlock { start: 1285, length: 1, convRule: rule23 } + , CharBlock { start: 1286, length: 1, convRule: rule22 } + , CharBlock { start: 1287, length: 1, convRule: rule23 } + , CharBlock { start: 1288, length: 1, convRule: rule22 } + , CharBlock { start: 1289, length: 1, convRule: rule23 } + , CharBlock { start: 1290, length: 1, convRule: rule22 } + , CharBlock { start: 1291, length: 1, convRule: rule23 } + , CharBlock { start: 1292, length: 1, convRule: rule22 } + , CharBlock { start: 1293, length: 1, convRule: rule23 } + , CharBlock { start: 1294, length: 1, convRule: rule22 } + , CharBlock { start: 1295, length: 1, convRule: rule23 } + , CharBlock { start: 1296, length: 1, convRule: rule22 } + , CharBlock { start: 1297, length: 1, convRule: rule23 } + , CharBlock { start: 1298, length: 1, convRule: rule22 } + , CharBlock { start: 1299, length: 1, convRule: rule23 } + , CharBlock { start: 1300, length: 1, convRule: rule22 } + , CharBlock { start: 1301, length: 1, convRule: rule23 } + , CharBlock { start: 1302, length: 1, convRule: rule22 } + , CharBlock { start: 1303, length: 1, convRule: rule23 } + , CharBlock { start: 1304, length: 1, convRule: rule22 } + , CharBlock { start: 1305, length: 1, convRule: rule23 } + , CharBlock { start: 1306, length: 1, convRule: rule22 } + , CharBlock { start: 1307, length: 1, convRule: rule23 } + , CharBlock { start: 1308, length: 1, convRule: rule22 } + , CharBlock { start: 1309, length: 1, convRule: rule23 } + , CharBlock { start: 1310, length: 1, convRule: rule22 } + , CharBlock { start: 1311, length: 1, convRule: rule23 } + , CharBlock { start: 1312, length: 1, convRule: rule22 } + , CharBlock { start: 1313, length: 1, convRule: rule23 } + , CharBlock { start: 1314, length: 1, convRule: rule22 } + , CharBlock { start: 1315, length: 1, convRule: rule23 } + , CharBlock { start: 1316, length: 1, convRule: rule22 } + , CharBlock { start: 1317, length: 1, convRule: rule23 } + , CharBlock { start: 1318, length: 1, convRule: rule22 } + , CharBlock { start: 1319, length: 1, convRule: rule23 } + , CharBlock { start: 1320, length: 1, convRule: rule22 } + , CharBlock { start: 1321, length: 1, convRule: rule23 } + , CharBlock { start: 1322, length: 1, convRule: rule22 } + , CharBlock { start: 1323, length: 1, convRule: rule23 } + , CharBlock { start: 1324, length: 1, convRule: rule22 } + , CharBlock { start: 1325, length: 1, convRule: rule23 } + , CharBlock { start: 1326, length: 1, convRule: rule22 } + , CharBlock { start: 1327, length: 1, convRule: rule23 } + , CharBlock { start: 1329, length: 38, convRule: rule121 } + , CharBlock { start: 1369, length: 1, convRule: rule90 } , CharBlock { start: 1370, length: 6, convRule: rule2 } - , CharBlock { start: 1377, length: 38, convRule: rule113 } - , CharBlock { start: 1415, length: 1, convRule: rule14 } + , CharBlock { start: 1377, length: 38, convRule: rule122 } + , CharBlock { start: 1415, length: 1, convRule: rule20 } , CharBlock { start: 1417, length: 1, convRule: rule2 } , CharBlock { start: 1418, length: 1, convRule: rule7 } - , CharBlock { start: 1425, length: 45, convRule: rule84 } + , CharBlock { start: 1421, length: 2, convRule: rule13 } + , CharBlock { start: 1423, length: 1, convRule: rule3 } + , CharBlock { start: 1425, length: 45, convRule: rule91 } , CharBlock { start: 1470, length: 1, convRule: rule7 } - , CharBlock { start: 1471, length: 1, convRule: rule84 } + , CharBlock { start: 1471, length: 1, convRule: rule91 } , CharBlock { start: 1472, length: 1, convRule: rule2 } - , CharBlock { start: 1473, length: 2, convRule: rule84 } + , CharBlock { start: 1473, length: 2, convRule: rule91 } , CharBlock { start: 1475, length: 1, convRule: rule2 } - , CharBlock { start: 1476, length: 2, convRule: rule84 } + , CharBlock { start: 1476, length: 2, convRule: rule91 } , CharBlock { start: 1478, length: 1, convRule: rule2 } - , CharBlock { start: 1479, length: 1, convRule: rule84 } - , CharBlock { start: 1488, length: 27, convRule: rule45 } - , CharBlock { start: 1520, length: 3, convRule: rule45 } + , CharBlock { start: 1479, length: 1, convRule: rule91 } + , CharBlock { start: 1488, length: 27, convRule: rule14 } + , CharBlock { start: 1520, length: 3, convRule: rule14 } , CharBlock { start: 1523, length: 2, convRule: rule2 } - , CharBlock { start: 1536, length: 4, convRule: rule16 } + , CharBlock { start: 1536, length: 6, convRule: rule16 } , CharBlock { start: 1542, length: 3, convRule: rule6 } , CharBlock { start: 1545, length: 2, convRule: rule2 } , CharBlock { start: 1547, length: 1, convRule: rule3 } , CharBlock { start: 1548, length: 2, convRule: rule2 } , CharBlock { start: 1550, length: 2, convRule: rule13 } - , CharBlock { start: 1552, length: 11, convRule: rule84 } + , CharBlock { start: 1552, length: 11, convRule: rule91 } , CharBlock { start: 1563, length: 1, convRule: rule2 } + , CharBlock { start: 1564, length: 1, convRule: rule16 } , CharBlock { start: 1566, length: 2, convRule: rule2 } - , CharBlock { start: 1568, length: 32, convRule: rule45 } - , CharBlock { start: 1600, length: 1, convRule: rule83 } - , CharBlock { start: 1601, length: 10, convRule: rule45 } - , CharBlock { start: 1611, length: 21, convRule: rule84 } + , CharBlock { start: 1568, length: 32, convRule: rule14 } + , CharBlock { start: 1600, length: 1, convRule: rule90 } + , CharBlock { start: 1601, length: 10, convRule: rule14 } + , CharBlock { start: 1611, length: 21, convRule: rule91 } , CharBlock { start: 1632, length: 10, convRule: rule8 } , CharBlock { start: 1642, length: 4, convRule: rule2 } - , CharBlock { start: 1646, length: 2, convRule: rule45 } - , CharBlock { start: 1648, length: 1, convRule: rule84 } - , CharBlock { start: 1649, length: 99, convRule: rule45 } + , CharBlock { start: 1646, length: 2, convRule: rule14 } + , CharBlock { start: 1648, length: 1, convRule: rule91 } + , CharBlock { start: 1649, length: 99, convRule: rule14 } , CharBlock { start: 1748, length: 1, convRule: rule2 } - , CharBlock { start: 1749, length: 1, convRule: rule45 } - , CharBlock { start: 1750, length: 7, convRule: rule84 } + , CharBlock { start: 1749, length: 1, convRule: rule14 } + , CharBlock { start: 1750, length: 7, convRule: rule91 } , CharBlock { start: 1757, length: 1, convRule: rule16 } , CharBlock { start: 1758, length: 1, convRule: rule13 } - , CharBlock { start: 1759, length: 6, convRule: rule84 } - , CharBlock { start: 1765, length: 2, convRule: rule83 } - , CharBlock { start: 1767, length: 2, convRule: rule84 } + , CharBlock { start: 1759, length: 6, convRule: rule91 } + , CharBlock { start: 1765, length: 2, convRule: rule90 } + , CharBlock { start: 1767, length: 2, convRule: rule91 } , CharBlock { start: 1769, length: 1, convRule: rule13 } - , CharBlock { start: 1770, length: 4, convRule: rule84 } - , CharBlock { start: 1774, length: 2, convRule: rule45 } + , CharBlock { start: 1770, length: 4, convRule: rule91 } + , CharBlock { start: 1774, length: 2, convRule: rule14 } , CharBlock { start: 1776, length: 10, convRule: rule8 } - , CharBlock { start: 1786, length: 3, convRule: rule45 } + , CharBlock { start: 1786, length: 3, convRule: rule14 } , CharBlock { start: 1789, length: 2, convRule: rule13 } - , CharBlock { start: 1791, length: 1, convRule: rule45 } + , CharBlock { start: 1791, length: 1, convRule: rule14 } , CharBlock { start: 1792, length: 14, convRule: rule2 } , CharBlock { start: 1807, length: 1, convRule: rule16 } - , CharBlock { start: 1808, length: 1, convRule: rule45 } - , CharBlock { start: 1809, length: 1, convRule: rule84 } - , CharBlock { start: 1810, length: 30, convRule: rule45 } - , CharBlock { start: 1840, length: 27, convRule: rule84 } - , CharBlock { start: 1869, length: 89, convRule: rule45 } - , CharBlock { start: 1958, length: 11, convRule: rule84 } - , CharBlock { start: 1969, length: 1, convRule: rule45 } + , CharBlock { start: 1808, length: 1, convRule: rule14 } + , CharBlock { start: 1809, length: 1, convRule: rule91 } + , CharBlock { start: 1810, length: 30, convRule: rule14 } + , CharBlock { start: 1840, length: 27, convRule: rule91 } + , CharBlock { start: 1869, length: 89, convRule: rule14 } + , CharBlock { start: 1958, length: 11, convRule: rule91 } + , CharBlock { start: 1969, length: 1, convRule: rule14 } , CharBlock { start: 1984, length: 10, convRule: rule8 } - , CharBlock { start: 1994, length: 33, convRule: rule45 } - , CharBlock { start: 2027, length: 9, convRule: rule84 } - , CharBlock { start: 2036, length: 2, convRule: rule83 } + , CharBlock { start: 1994, length: 33, convRule: rule14 } + , CharBlock { start: 2027, length: 9, convRule: rule91 } + , CharBlock { start: 2036, length: 2, convRule: rule90 } , CharBlock { start: 2038, length: 1, convRule: rule13 } , CharBlock { start: 2039, length: 3, convRule: rule2 } - , CharBlock { start: 2042, length: 1, convRule: rule83 } - , CharBlock { start: 2048, length: 22, convRule: rule45 } - , CharBlock { start: 2070, length: 4, convRule: rule84 } - , CharBlock { start: 2074, length: 1, convRule: rule83 } - , CharBlock { start: 2075, length: 9, convRule: rule84 } - , CharBlock { start: 2084, length: 1, convRule: rule83 } - , CharBlock { start: 2085, length: 3, convRule: rule84 } - , CharBlock { start: 2088, length: 1, convRule: rule83 } - , CharBlock { start: 2089, length: 5, convRule: rule84 } + , CharBlock { start: 2042, length: 1, convRule: rule90 } + , CharBlock { start: 2048, length: 22, convRule: rule14 } + , CharBlock { start: 2070, length: 4, convRule: rule91 } + , CharBlock { start: 2074, length: 1, convRule: rule90 } + , CharBlock { start: 2075, length: 9, convRule: rule91 } + , CharBlock { start: 2084, length: 1, convRule: rule90 } + , CharBlock { start: 2085, length: 3, convRule: rule91 } + , CharBlock { start: 2088, length: 1, convRule: rule90 } + , CharBlock { start: 2089, length: 5, convRule: rule91 } , CharBlock { start: 2096, length: 15, convRule: rule2 } - , CharBlock { start: 2112, length: 25, convRule: rule45 } - , CharBlock { start: 2137, length: 3, convRule: rule84 } + , CharBlock { start: 2112, length: 25, convRule: rule14 } + , CharBlock { start: 2137, length: 3, convRule: rule91 } , CharBlock { start: 2142, length: 1, convRule: rule2 } - , CharBlock { start: 2304, length: 3, convRule: rule84 } - , CharBlock { start: 2307, length: 1, convRule: rule114 } - , CharBlock { start: 2308, length: 54, convRule: rule45 } - , CharBlock { start: 2362, length: 1, convRule: rule84 } - , CharBlock { start: 2363, length: 1, convRule: rule114 } - , CharBlock { start: 2364, length: 1, convRule: rule84 } - , CharBlock { start: 2365, length: 1, convRule: rule45 } - , CharBlock { start: 2366, length: 3, convRule: rule114 } - , CharBlock { start: 2369, length: 8, convRule: rule84 } - , CharBlock { start: 2377, length: 4, convRule: rule114 } - , CharBlock { start: 2381, length: 1, convRule: rule84 } - , CharBlock { start: 2382, length: 2, convRule: rule114 } - , CharBlock { start: 2384, length: 1, convRule: rule45 } - , CharBlock { start: 2385, length: 7, convRule: rule84 } - , CharBlock { start: 2392, length: 10, convRule: rule45 } - , CharBlock { start: 2402, length: 2, convRule: rule84 } + , CharBlock { start: 2144, length: 11, convRule: rule14 } + , CharBlock { start: 2208, length: 21, convRule: rule14 } + , CharBlock { start: 2230, length: 8, convRule: rule14 } + , CharBlock { start: 2260, length: 14, convRule: rule91 } + , CharBlock { start: 2274, length: 1, convRule: rule16 } + , CharBlock { start: 2275, length: 32, convRule: rule91 } + , CharBlock { start: 2307, length: 1, convRule: rule123 } + , CharBlock { start: 2308, length: 54, convRule: rule14 } + , CharBlock { start: 2362, length: 1, convRule: rule91 } + , CharBlock { start: 2363, length: 1, convRule: rule123 } + , CharBlock { start: 2364, length: 1, convRule: rule91 } + , CharBlock { start: 2365, length: 1, convRule: rule14 } + , CharBlock { start: 2366, length: 3, convRule: rule123 } + , CharBlock { start: 2369, length: 8, convRule: rule91 } + , CharBlock { start: 2377, length: 4, convRule: rule123 } + , CharBlock { start: 2381, length: 1, convRule: rule91 } + , CharBlock { start: 2382, length: 2, convRule: rule123 } + , CharBlock { start: 2384, length: 1, convRule: rule14 } + , CharBlock { start: 2385, length: 7, convRule: rule91 } + , CharBlock { start: 2392, length: 10, convRule: rule14 } + , CharBlock { start: 2402, length: 2, convRule: rule91 } , CharBlock { start: 2404, length: 2, convRule: rule2 } , CharBlock { start: 2406, length: 10, convRule: rule8 } , CharBlock { start: 2416, length: 1, convRule: rule2 } - , CharBlock { start: 2417, length: 1, convRule: rule83 } - , CharBlock { start: 2418, length: 6, convRule: rule45 } - , CharBlock { start: 2425, length: 7, convRule: rule45 } - , CharBlock { start: 2433, length: 1, convRule: rule84 } - , CharBlock { start: 2434, length: 2, convRule: rule114 } - , CharBlock { start: 2437, length: 8, convRule: rule45 } - , CharBlock { start: 2447, length: 2, convRule: rule45 } - , CharBlock { start: 2451, length: 22, convRule: rule45 } - , CharBlock { start: 2474, length: 7, convRule: rule45 } - , CharBlock { start: 2482, length: 1, convRule: rule45 } - , CharBlock { start: 2486, length: 4, convRule: rule45 } - , CharBlock { start: 2492, length: 1, convRule: rule84 } - , CharBlock { start: 2493, length: 1, convRule: rule45 } - , CharBlock { start: 2494, length: 3, convRule: rule114 } - , CharBlock { start: 2497, length: 4, convRule: rule84 } - , CharBlock { start: 2503, length: 2, convRule: rule114 } - , CharBlock { start: 2507, length: 2, convRule: rule114 } - , CharBlock { start: 2509, length: 1, convRule: rule84 } - , CharBlock { start: 2510, length: 1, convRule: rule45 } - , CharBlock { start: 2519, length: 1, convRule: rule114 } - , CharBlock { start: 2524, length: 2, convRule: rule45 } - , CharBlock { start: 2527, length: 3, convRule: rule45 } - , CharBlock { start: 2530, length: 2, convRule: rule84 } + , CharBlock { start: 2417, length: 1, convRule: rule90 } + , CharBlock { start: 2418, length: 15, convRule: rule14 } + , CharBlock { start: 2433, length: 1, convRule: rule91 } + , CharBlock { start: 2434, length: 2, convRule: rule123 } + , CharBlock { start: 2437, length: 8, convRule: rule14 } + , CharBlock { start: 2447, length: 2, convRule: rule14 } + , CharBlock { start: 2451, length: 22, convRule: rule14 } + , CharBlock { start: 2474, length: 7, convRule: rule14 } + , CharBlock { start: 2482, length: 1, convRule: rule14 } + , CharBlock { start: 2486, length: 4, convRule: rule14 } + , CharBlock { start: 2492, length: 1, convRule: rule91 } + , CharBlock { start: 2493, length: 1, convRule: rule14 } + , CharBlock { start: 2494, length: 3, convRule: rule123 } + , CharBlock { start: 2497, length: 4, convRule: rule91 } + , CharBlock { start: 2503, length: 2, convRule: rule123 } + , CharBlock { start: 2507, length: 2, convRule: rule123 } + , CharBlock { start: 2509, length: 1, convRule: rule91 } + , CharBlock { start: 2510, length: 1, convRule: rule14 } + , CharBlock { start: 2519, length: 1, convRule: rule123 } + , CharBlock { start: 2524, length: 2, convRule: rule14 } + , CharBlock { start: 2527, length: 3, convRule: rule14 } + , CharBlock { start: 2530, length: 2, convRule: rule91 } , CharBlock { start: 2534, length: 10, convRule: rule8 } - , CharBlock { start: 2544, length: 2, convRule: rule45 } + , CharBlock { start: 2544, length: 2, convRule: rule14 } , CharBlock { start: 2546, length: 2, convRule: rule3 } , CharBlock { start: 2548, length: 6, convRule: rule17 } , CharBlock { start: 2554, length: 1, convRule: rule13 } , CharBlock { start: 2555, length: 1, convRule: rule3 } - , CharBlock { start: 2561, length: 2, convRule: rule84 } - , CharBlock { start: 2563, length: 1, convRule: rule114 } - , CharBlock { start: 2565, length: 6, convRule: rule45 } - , CharBlock { start: 2575, length: 2, convRule: rule45 } - , CharBlock { start: 2579, length: 22, convRule: rule45 } - , CharBlock { start: 2602, length: 7, convRule: rule45 } - , CharBlock { start: 2610, length: 2, convRule: rule45 } - , CharBlock { start: 2613, length: 2, convRule: rule45 } - , CharBlock { start: 2616, length: 2, convRule: rule45 } - , CharBlock { start: 2620, length: 1, convRule: rule84 } - , CharBlock { start: 2622, length: 3, convRule: rule114 } - , CharBlock { start: 2625, length: 2, convRule: rule84 } - , CharBlock { start: 2631, length: 2, convRule: rule84 } - , CharBlock { start: 2635, length: 3, convRule: rule84 } - , CharBlock { start: 2641, length: 1, convRule: rule84 } - , CharBlock { start: 2649, length: 4, convRule: rule45 } - , CharBlock { start: 2654, length: 1, convRule: rule45 } + , CharBlock { start: 2556, length: 1, convRule: rule14 } + , CharBlock { start: 2557, length: 1, convRule: rule2 } + , CharBlock { start: 2561, length: 2, convRule: rule91 } + , CharBlock { start: 2563, length: 1, convRule: rule123 } + , CharBlock { start: 2565, length: 6, convRule: rule14 } + , CharBlock { start: 2575, length: 2, convRule: rule14 } + , CharBlock { start: 2579, length: 22, convRule: rule14 } + , CharBlock { start: 2602, length: 7, convRule: rule14 } + , CharBlock { start: 2610, length: 2, convRule: rule14 } + , CharBlock { start: 2613, length: 2, convRule: rule14 } + , CharBlock { start: 2616, length: 2, convRule: rule14 } + , CharBlock { start: 2620, length: 1, convRule: rule91 } + , CharBlock { start: 2622, length: 3, convRule: rule123 } + , CharBlock { start: 2625, length: 2, convRule: rule91 } + , CharBlock { start: 2631, length: 2, convRule: rule91 } + , CharBlock { start: 2635, length: 3, convRule: rule91 } + , CharBlock { start: 2641, length: 1, convRule: rule91 } + , CharBlock { start: 2649, length: 4, convRule: rule14 } + , CharBlock { start: 2654, length: 1, convRule: rule14 } , CharBlock { start: 2662, length: 10, convRule: rule8 } - , CharBlock { start: 2672, length: 2, convRule: rule84 } - , CharBlock { start: 2674, length: 3, convRule: rule45 } - , CharBlock { start: 2677, length: 1, convRule: rule84 } - , CharBlock { start: 2689, length: 2, convRule: rule84 } - , CharBlock { start: 2691, length: 1, convRule: rule114 } - , CharBlock { start: 2693, length: 9, convRule: rule45 } - , CharBlock { start: 2703, length: 3, convRule: rule45 } - , CharBlock { start: 2707, length: 22, convRule: rule45 } - , CharBlock { start: 2730, length: 7, convRule: rule45 } - , CharBlock { start: 2738, length: 2, convRule: rule45 } - , CharBlock { start: 2741, length: 5, convRule: rule45 } - , CharBlock { start: 2748, length: 1, convRule: rule84 } - , CharBlock { start: 2749, length: 1, convRule: rule45 } - , CharBlock { start: 2750, length: 3, convRule: rule114 } - , CharBlock { start: 2753, length: 5, convRule: rule84 } - , CharBlock { start: 2759, length: 2, convRule: rule84 } - , CharBlock { start: 2761, length: 1, convRule: rule114 } - , CharBlock { start: 2763, length: 2, convRule: rule114 } - , CharBlock { start: 2765, length: 1, convRule: rule84 } - , CharBlock { start: 2768, length: 1, convRule: rule45 } - , CharBlock { start: 2784, length: 2, convRule: rule45 } - , CharBlock { start: 2786, length: 2, convRule: rule84 } + , CharBlock { start: 2672, length: 2, convRule: rule91 } + , CharBlock { start: 2674, length: 3, convRule: rule14 } + , CharBlock { start: 2677, length: 1, convRule: rule91 } + , CharBlock { start: 2689, length: 2, convRule: rule91 } + , CharBlock { start: 2691, length: 1, convRule: rule123 } + , CharBlock { start: 2693, length: 9, convRule: rule14 } + , CharBlock { start: 2703, length: 3, convRule: rule14 } + , CharBlock { start: 2707, length: 22, convRule: rule14 } + , CharBlock { start: 2730, length: 7, convRule: rule14 } + , CharBlock { start: 2738, length: 2, convRule: rule14 } + , CharBlock { start: 2741, length: 5, convRule: rule14 } + , CharBlock { start: 2748, length: 1, convRule: rule91 } + , CharBlock { start: 2749, length: 1, convRule: rule14 } + , CharBlock { start: 2750, length: 3, convRule: rule123 } + , CharBlock { start: 2753, length: 5, convRule: rule91 } + , CharBlock { start: 2759, length: 2, convRule: rule91 } + , CharBlock { start: 2761, length: 1, convRule: rule123 } + , CharBlock { start: 2763, length: 2, convRule: rule123 } + , CharBlock { start: 2765, length: 1, convRule: rule91 } + , CharBlock { start: 2768, length: 1, convRule: rule14 } + , CharBlock { start: 2784, length: 2, convRule: rule14 } + , CharBlock { start: 2786, length: 2, convRule: rule91 } , CharBlock { start: 2790, length: 10, convRule: rule8 } + , CharBlock { start: 2800, length: 1, convRule: rule2 } , CharBlock { start: 2801, length: 1, convRule: rule3 } - , CharBlock { start: 2817, length: 1, convRule: rule84 } - , CharBlock { start: 2818, length: 2, convRule: rule114 } - , CharBlock { start: 2821, length: 8, convRule: rule45 } - , CharBlock { start: 2831, length: 2, convRule: rule45 } - , CharBlock { start: 2835, length: 22, convRule: rule45 } - , CharBlock { start: 2858, length: 7, convRule: rule45 } - , CharBlock { start: 2866, length: 2, convRule: rule45 } - , CharBlock { start: 2869, length: 5, convRule: rule45 } - , CharBlock { start: 2876, length: 1, convRule: rule84 } - , CharBlock { start: 2877, length: 1, convRule: rule45 } - , CharBlock { start: 2878, length: 1, convRule: rule114 } - , CharBlock { start: 2879, length: 1, convRule: rule84 } - , CharBlock { start: 2880, length: 1, convRule: rule114 } - , CharBlock { start: 2881, length: 4, convRule: rule84 } - , CharBlock { start: 2887, length: 2, convRule: rule114 } - , CharBlock { start: 2891, length: 2, convRule: rule114 } - , CharBlock { start: 2893, length: 1, convRule: rule84 } - , CharBlock { start: 2902, length: 1, convRule: rule84 } - , CharBlock { start: 2903, length: 1, convRule: rule114 } - , CharBlock { start: 2908, length: 2, convRule: rule45 } - , CharBlock { start: 2911, length: 3, convRule: rule45 } - , CharBlock { start: 2914, length: 2, convRule: rule84 } + , CharBlock { start: 2809, length: 1, convRule: rule14 } + , CharBlock { start: 2810, length: 6, convRule: rule91 } + , CharBlock { start: 2817, length: 1, convRule: rule91 } + , CharBlock { start: 2818, length: 2, convRule: rule123 } + , CharBlock { start: 2821, length: 8, convRule: rule14 } + , CharBlock { start: 2831, length: 2, convRule: rule14 } + , CharBlock { start: 2835, length: 22, convRule: rule14 } + , CharBlock { start: 2858, length: 7, convRule: rule14 } + , CharBlock { start: 2866, length: 2, convRule: rule14 } + , CharBlock { start: 2869, length: 5, convRule: rule14 } + , CharBlock { start: 2876, length: 1, convRule: rule91 } + , CharBlock { start: 2877, length: 1, convRule: rule14 } + , CharBlock { start: 2878, length: 1, convRule: rule123 } + , CharBlock { start: 2879, length: 1, convRule: rule91 } + , CharBlock { start: 2880, length: 1, convRule: rule123 } + , CharBlock { start: 2881, length: 4, convRule: rule91 } + , CharBlock { start: 2887, length: 2, convRule: rule123 } + , CharBlock { start: 2891, length: 2, convRule: rule123 } + , CharBlock { start: 2893, length: 1, convRule: rule91 } + , CharBlock { start: 2902, length: 1, convRule: rule91 } + , CharBlock { start: 2903, length: 1, convRule: rule123 } + , CharBlock { start: 2908, length: 2, convRule: rule14 } + , CharBlock { start: 2911, length: 3, convRule: rule14 } + , CharBlock { start: 2914, length: 2, convRule: rule91 } , CharBlock { start: 2918, length: 10, convRule: rule8 } , CharBlock { start: 2928, length: 1, convRule: rule13 } - , CharBlock { start: 2929, length: 1, convRule: rule45 } + , CharBlock { start: 2929, length: 1, convRule: rule14 } , CharBlock { start: 2930, length: 6, convRule: rule17 } - , CharBlock { start: 2946, length: 1, convRule: rule84 } - , CharBlock { start: 2947, length: 1, convRule: rule45 } - , CharBlock { start: 2949, length: 6, convRule: rule45 } - , CharBlock { start: 2958, length: 3, convRule: rule45 } - , CharBlock { start: 2962, length: 4, convRule: rule45 } - , CharBlock { start: 2969, length: 2, convRule: rule45 } - , CharBlock { start: 2972, length: 1, convRule: rule45 } - , CharBlock { start: 2974, length: 2, convRule: rule45 } - , CharBlock { start: 2979, length: 2, convRule: rule45 } - , CharBlock { start: 2984, length: 3, convRule: rule45 } - , CharBlock { start: 2990, length: 12, convRule: rule45 } - , CharBlock { start: 3006, length: 2, convRule: rule114 } - , CharBlock { start: 3008, length: 1, convRule: rule84 } - , CharBlock { start: 3009, length: 2, convRule: rule114 } - , CharBlock { start: 3014, length: 3, convRule: rule114 } - , CharBlock { start: 3018, length: 3, convRule: rule114 } - , CharBlock { start: 3021, length: 1, convRule: rule84 } - , CharBlock { start: 3024, length: 1, convRule: rule45 } - , CharBlock { start: 3031, length: 1, convRule: rule114 } + , CharBlock { start: 2946, length: 1, convRule: rule91 } + , CharBlock { start: 2947, length: 1, convRule: rule14 } + , CharBlock { start: 2949, length: 6, convRule: rule14 } + , CharBlock { start: 2958, length: 3, convRule: rule14 } + , CharBlock { start: 2962, length: 4, convRule: rule14 } + , CharBlock { start: 2969, length: 2, convRule: rule14 } + , CharBlock { start: 2972, length: 1, convRule: rule14 } + , CharBlock { start: 2974, length: 2, convRule: rule14 } + , CharBlock { start: 2979, length: 2, convRule: rule14 } + , CharBlock { start: 2984, length: 3, convRule: rule14 } + , CharBlock { start: 2990, length: 12, convRule: rule14 } + , CharBlock { start: 3006, length: 2, convRule: rule123 } + , CharBlock { start: 3008, length: 1, convRule: rule91 } + , CharBlock { start: 3009, length: 2, convRule: rule123 } + , CharBlock { start: 3014, length: 3, convRule: rule123 } + , CharBlock { start: 3018, length: 3, convRule: rule123 } + , CharBlock { start: 3021, length: 1, convRule: rule91 } + , CharBlock { start: 3024, length: 1, convRule: rule14 } + , CharBlock { start: 3031, length: 1, convRule: rule123 } , CharBlock { start: 3046, length: 10, convRule: rule8 } , CharBlock { start: 3056, length: 3, convRule: rule17 } , CharBlock { start: 3059, length: 6, convRule: rule13 } , CharBlock { start: 3065, length: 1, convRule: rule3 } , CharBlock { start: 3066, length: 1, convRule: rule13 } - , CharBlock { start: 3073, length: 3, convRule: rule114 } - , CharBlock { start: 3077, length: 8, convRule: rule45 } - , CharBlock { start: 3086, length: 3, convRule: rule45 } - , CharBlock { start: 3090, length: 23, convRule: rule45 } - , CharBlock { start: 3114, length: 10, convRule: rule45 } - , CharBlock { start: 3125, length: 5, convRule: rule45 } - , CharBlock { start: 3133, length: 1, convRule: rule45 } - , CharBlock { start: 3134, length: 3, convRule: rule84 } - , CharBlock { start: 3137, length: 4, convRule: rule114 } - , CharBlock { start: 3142, length: 3, convRule: rule84 } - , CharBlock { start: 3146, length: 4, convRule: rule84 } - , CharBlock { start: 3157, length: 2, convRule: rule84 } - , CharBlock { start: 3160, length: 2, convRule: rule45 } - , CharBlock { start: 3168, length: 2, convRule: rule45 } - , CharBlock { start: 3170, length: 2, convRule: rule84 } + , CharBlock { start: 3072, length: 1, convRule: rule91 } + , CharBlock { start: 3073, length: 3, convRule: rule123 } + , CharBlock { start: 3077, length: 8, convRule: rule14 } + , CharBlock { start: 3086, length: 3, convRule: rule14 } + , CharBlock { start: 3090, length: 23, convRule: rule14 } + , CharBlock { start: 3114, length: 16, convRule: rule14 } + , CharBlock { start: 3133, length: 1, convRule: rule14 } + , CharBlock { start: 3134, length: 3, convRule: rule91 } + , CharBlock { start: 3137, length: 4, convRule: rule123 } + , CharBlock { start: 3142, length: 3, convRule: rule91 } + , CharBlock { start: 3146, length: 4, convRule: rule91 } + , CharBlock { start: 3157, length: 2, convRule: rule91 } + , CharBlock { start: 3160, length: 3, convRule: rule14 } + , CharBlock { start: 3168, length: 2, convRule: rule14 } + , CharBlock { start: 3170, length: 2, convRule: rule91 } , CharBlock { start: 3174, length: 10, convRule: rule8 } , CharBlock { start: 3192, length: 7, convRule: rule17 } , CharBlock { start: 3199, length: 1, convRule: rule13 } - , CharBlock { start: 3202, length: 2, convRule: rule114 } - , CharBlock { start: 3205, length: 8, convRule: rule45 } - , CharBlock { start: 3214, length: 3, convRule: rule45 } - , CharBlock { start: 3218, length: 23, convRule: rule45 } - , CharBlock { start: 3242, length: 10, convRule: rule45 } - , CharBlock { start: 3253, length: 5, convRule: rule45 } - , CharBlock { start: 3260, length: 1, convRule: rule84 } - , CharBlock { start: 3261, length: 1, convRule: rule45 } - , CharBlock { start: 3262, length: 1, convRule: rule114 } - , CharBlock { start: 3263, length: 1, convRule: rule84 } - , CharBlock { start: 3264, length: 5, convRule: rule114 } - , CharBlock { start: 3270, length: 1, convRule: rule84 } - , CharBlock { start: 3271, length: 2, convRule: rule114 } - , CharBlock { start: 3274, length: 2, convRule: rule114 } - , CharBlock { start: 3276, length: 2, convRule: rule84 } - , CharBlock { start: 3285, length: 2, convRule: rule114 } - , CharBlock { start: 3294, length: 1, convRule: rule45 } - , CharBlock { start: 3296, length: 2, convRule: rule45 } - , CharBlock { start: 3298, length: 2, convRule: rule84 } + , CharBlock { start: 3200, length: 1, convRule: rule14 } + , CharBlock { start: 3201, length: 1, convRule: rule91 } + , CharBlock { start: 3202, length: 2, convRule: rule123 } + , CharBlock { start: 3205, length: 8, convRule: rule14 } + , CharBlock { start: 3214, length: 3, convRule: rule14 } + , CharBlock { start: 3218, length: 23, convRule: rule14 } + , CharBlock { start: 3242, length: 10, convRule: rule14 } + , CharBlock { start: 3253, length: 5, convRule: rule14 } + , CharBlock { start: 3260, length: 1, convRule: rule91 } + , CharBlock { start: 3261, length: 1, convRule: rule14 } + , CharBlock { start: 3262, length: 1, convRule: rule123 } + , CharBlock { start: 3263, length: 1, convRule: rule91 } + , CharBlock { start: 3264, length: 5, convRule: rule123 } + , CharBlock { start: 3270, length: 1, convRule: rule91 } + , CharBlock { start: 3271, length: 2, convRule: rule123 } + , CharBlock { start: 3274, length: 2, convRule: rule123 } + , CharBlock { start: 3276, length: 2, convRule: rule91 } + , CharBlock { start: 3285, length: 2, convRule: rule123 } + , CharBlock { start: 3294, length: 1, convRule: rule14 } + , CharBlock { start: 3296, length: 2, convRule: rule14 } + , CharBlock { start: 3298, length: 2, convRule: rule91 } , CharBlock { start: 3302, length: 10, convRule: rule8 } - , CharBlock { start: 3313, length: 2, convRule: rule45 } - , CharBlock { start: 3330, length: 2, convRule: rule114 } - , CharBlock { start: 3333, length: 8, convRule: rule45 } - , CharBlock { start: 3342, length: 3, convRule: rule45 } - , CharBlock { start: 3346, length: 41, convRule: rule45 } - , CharBlock { start: 3389, length: 1, convRule: rule45 } - , CharBlock { start: 3390, length: 3, convRule: rule114 } - , CharBlock { start: 3393, length: 4, convRule: rule84 } - , CharBlock { start: 3398, length: 3, convRule: rule114 } - , CharBlock { start: 3402, length: 3, convRule: rule114 } - , CharBlock { start: 3405, length: 1, convRule: rule84 } - , CharBlock { start: 3406, length: 1, convRule: rule45 } - , CharBlock { start: 3415, length: 1, convRule: rule114 } - , CharBlock { start: 3424, length: 2, convRule: rule45 } - , CharBlock { start: 3426, length: 2, convRule: rule84 } + , CharBlock { start: 3313, length: 2, convRule: rule14 } + , CharBlock { start: 3328, length: 2, convRule: rule91 } + , CharBlock { start: 3330, length: 2, convRule: rule123 } + , CharBlock { start: 3333, length: 8, convRule: rule14 } + , CharBlock { start: 3342, length: 3, convRule: rule14 } + , CharBlock { start: 3346, length: 41, convRule: rule14 } + , CharBlock { start: 3387, length: 2, convRule: rule91 } + , CharBlock { start: 3389, length: 1, convRule: rule14 } + , CharBlock { start: 3390, length: 3, convRule: rule123 } + , CharBlock { start: 3393, length: 4, convRule: rule91 } + , CharBlock { start: 3398, length: 3, convRule: rule123 } + , CharBlock { start: 3402, length: 3, convRule: rule123 } + , CharBlock { start: 3405, length: 1, convRule: rule91 } + , CharBlock { start: 3406, length: 1, convRule: rule14 } + , CharBlock { start: 3407, length: 1, convRule: rule13 } + , CharBlock { start: 3412, length: 3, convRule: rule14 } + , CharBlock { start: 3415, length: 1, convRule: rule123 } + , CharBlock { start: 3416, length: 7, convRule: rule17 } + , CharBlock { start: 3423, length: 3, convRule: rule14 } + , CharBlock { start: 3426, length: 2, convRule: rule91 } , CharBlock { start: 3430, length: 10, convRule: rule8 } - , CharBlock { start: 3440, length: 6, convRule: rule17 } + , CharBlock { start: 3440, length: 9, convRule: rule17 } , CharBlock { start: 3449, length: 1, convRule: rule13 } - , CharBlock { start: 3450, length: 6, convRule: rule45 } - , CharBlock { start: 3458, length: 2, convRule: rule114 } - , CharBlock { start: 3461, length: 18, convRule: rule45 } - , CharBlock { start: 3482, length: 24, convRule: rule45 } - , CharBlock { start: 3507, length: 9, convRule: rule45 } - , CharBlock { start: 3517, length: 1, convRule: rule45 } - , CharBlock { start: 3520, length: 7, convRule: rule45 } - , CharBlock { start: 3530, length: 1, convRule: rule84 } - , CharBlock { start: 3535, length: 3, convRule: rule114 } - , CharBlock { start: 3538, length: 3, convRule: rule84 } - , CharBlock { start: 3542, length: 1, convRule: rule84 } - , CharBlock { start: 3544, length: 8, convRule: rule114 } - , CharBlock { start: 3570, length: 2, convRule: rule114 } + , CharBlock { start: 3450, length: 6, convRule: rule14 } + , CharBlock { start: 3458, length: 2, convRule: rule123 } + , CharBlock { start: 3461, length: 18, convRule: rule14 } + , CharBlock { start: 3482, length: 24, convRule: rule14 } + , CharBlock { start: 3507, length: 9, convRule: rule14 } + , CharBlock { start: 3517, length: 1, convRule: rule14 } + , CharBlock { start: 3520, length: 7, convRule: rule14 } + , CharBlock { start: 3530, length: 1, convRule: rule91 } + , CharBlock { start: 3535, length: 3, convRule: rule123 } + , CharBlock { start: 3538, length: 3, convRule: rule91 } + , CharBlock { start: 3542, length: 1, convRule: rule91 } + , CharBlock { start: 3544, length: 8, convRule: rule123 } + , CharBlock { start: 3558, length: 10, convRule: rule8 } + , CharBlock { start: 3570, length: 2, convRule: rule123 } , CharBlock { start: 3572, length: 1, convRule: rule2 } - , CharBlock { start: 3585, length: 48, convRule: rule45 } - , CharBlock { start: 3633, length: 1, convRule: rule84 } - , CharBlock { start: 3634, length: 2, convRule: rule45 } - , CharBlock { start: 3636, length: 7, convRule: rule84 } + , CharBlock { start: 3585, length: 48, convRule: rule14 } + , CharBlock { start: 3633, length: 1, convRule: rule91 } + , CharBlock { start: 3634, length: 2, convRule: rule14 } + , CharBlock { start: 3636, length: 7, convRule: rule91 } , CharBlock { start: 3647, length: 1, convRule: rule3 } - , CharBlock { start: 3648, length: 6, convRule: rule45 } - , CharBlock { start: 3654, length: 1, convRule: rule83 } - , CharBlock { start: 3655, length: 8, convRule: rule84 } + , CharBlock { start: 3648, length: 6, convRule: rule14 } + , CharBlock { start: 3654, length: 1, convRule: rule90 } + , CharBlock { start: 3655, length: 8, convRule: rule91 } , CharBlock { start: 3663, length: 1, convRule: rule2 } , CharBlock { start: 3664, length: 10, convRule: rule8 } , CharBlock { start: 3674, length: 2, convRule: rule2 } - , CharBlock { start: 3713, length: 2, convRule: rule45 } - , CharBlock { start: 3716, length: 1, convRule: rule45 } - , CharBlock { start: 3719, length: 2, convRule: rule45 } - , CharBlock { start: 3722, length: 1, convRule: rule45 } - , CharBlock { start: 3725, length: 1, convRule: rule45 } - , CharBlock { start: 3732, length: 4, convRule: rule45 } - , CharBlock { start: 3737, length: 7, convRule: rule45 } - , CharBlock { start: 3745, length: 3, convRule: rule45 } - , CharBlock { start: 3749, length: 1, convRule: rule45 } - , CharBlock { start: 3751, length: 1, convRule: rule45 } - , CharBlock { start: 3754, length: 2, convRule: rule45 } - , CharBlock { start: 3757, length: 4, convRule: rule45 } - , CharBlock { start: 3761, length: 1, convRule: rule84 } - , CharBlock { start: 3762, length: 2, convRule: rule45 } - , CharBlock { start: 3764, length: 6, convRule: rule84 } - , CharBlock { start: 3771, length: 2, convRule: rule84 } - , CharBlock { start: 3773, length: 1, convRule: rule45 } - , CharBlock { start: 3776, length: 5, convRule: rule45 } - , CharBlock { start: 3782, length: 1, convRule: rule83 } - , CharBlock { start: 3784, length: 6, convRule: rule84 } + , CharBlock { start: 3713, length: 2, convRule: rule14 } + , CharBlock { start: 3716, length: 1, convRule: rule14 } + , CharBlock { start: 3719, length: 2, convRule: rule14 } + , CharBlock { start: 3722, length: 1, convRule: rule14 } + , CharBlock { start: 3725, length: 1, convRule: rule14 } + , CharBlock { start: 3732, length: 4, convRule: rule14 } + , CharBlock { start: 3737, length: 7, convRule: rule14 } + , CharBlock { start: 3745, length: 3, convRule: rule14 } + , CharBlock { start: 3749, length: 1, convRule: rule14 } + , CharBlock { start: 3751, length: 1, convRule: rule14 } + , CharBlock { start: 3754, length: 2, convRule: rule14 } + , CharBlock { start: 3757, length: 4, convRule: rule14 } + , CharBlock { start: 3761, length: 1, convRule: rule91 } + , CharBlock { start: 3762, length: 2, convRule: rule14 } + , CharBlock { start: 3764, length: 6, convRule: rule91 } + , CharBlock { start: 3771, length: 2, convRule: rule91 } + , CharBlock { start: 3773, length: 1, convRule: rule14 } + , CharBlock { start: 3776, length: 5, convRule: rule14 } + , CharBlock { start: 3782, length: 1, convRule: rule90 } + , CharBlock { start: 3784, length: 6, convRule: rule91 } , CharBlock { start: 3792, length: 10, convRule: rule8 } - , CharBlock { start: 3804, length: 2, convRule: rule45 } - , CharBlock { start: 3840, length: 1, convRule: rule45 } + , CharBlock { start: 3804, length: 4, convRule: rule14 } + , CharBlock { start: 3840, length: 1, convRule: rule14 } , CharBlock { start: 3841, length: 3, convRule: rule13 } , CharBlock { start: 3844, length: 15, convRule: rule2 } - , CharBlock { start: 3859, length: 5, convRule: rule13 } - , CharBlock { start: 3864, length: 2, convRule: rule84 } + , CharBlock { start: 3859, length: 1, convRule: rule13 } + , CharBlock { start: 3860, length: 1, convRule: rule2 } + , CharBlock { start: 3861, length: 3, convRule: rule13 } + , CharBlock { start: 3864, length: 2, convRule: rule91 } , CharBlock { start: 3866, length: 6, convRule: rule13 } , CharBlock { start: 3872, length: 10, convRule: rule8 } , CharBlock { start: 3882, length: 10, convRule: rule17 } , CharBlock { start: 3892, length: 1, convRule: rule13 } - , CharBlock { start: 3893, length: 1, convRule: rule84 } + , CharBlock { start: 3893, length: 1, convRule: rule91 } , CharBlock { start: 3894, length: 1, convRule: rule13 } - , CharBlock { start: 3895, length: 1, convRule: rule84 } + , CharBlock { start: 3895, length: 1, convRule: rule91 } , CharBlock { start: 3896, length: 1, convRule: rule13 } - , CharBlock { start: 3897, length: 1, convRule: rule84 } + , CharBlock { start: 3897, length: 1, convRule: rule91 } , CharBlock { start: 3898, length: 1, convRule: rule4 } , CharBlock { start: 3899, length: 1, convRule: rule5 } , CharBlock { start: 3900, length: 1, convRule: rule4 } , CharBlock { start: 3901, length: 1, convRule: rule5 } - , CharBlock { start: 3902, length: 2, convRule: rule114 } - , CharBlock { start: 3904, length: 8, convRule: rule45 } - , CharBlock { start: 3913, length: 36, convRule: rule45 } - , CharBlock { start: 3953, length: 14, convRule: rule84 } - , CharBlock { start: 3967, length: 1, convRule: rule114 } - , CharBlock { start: 3968, length: 5, convRule: rule84 } + , CharBlock { start: 3902, length: 2, convRule: rule123 } + , CharBlock { start: 3904, length: 8, convRule: rule14 } + , CharBlock { start: 3913, length: 36, convRule: rule14 } + , CharBlock { start: 3953, length: 14, convRule: rule91 } + , CharBlock { start: 3967, length: 1, convRule: rule123 } + , CharBlock { start: 3968, length: 5, convRule: rule91 } , CharBlock { start: 3973, length: 1, convRule: rule2 } - , CharBlock { start: 3974, length: 2, convRule: rule84 } - , CharBlock { start: 3976, length: 5, convRule: rule45 } - , CharBlock { start: 3981, length: 11, convRule: rule84 } - , CharBlock { start: 3993, length: 36, convRule: rule84 } + , CharBlock { start: 3974, length: 2, convRule: rule91 } + , CharBlock { start: 3976, length: 5, convRule: rule14 } + , CharBlock { start: 3981, length: 11, convRule: rule91 } + , CharBlock { start: 3993, length: 36, convRule: rule91 } , CharBlock { start: 4030, length: 8, convRule: rule13 } - , CharBlock { start: 4038, length: 1, convRule: rule84 } + , CharBlock { start: 4038, length: 1, convRule: rule91 } , CharBlock { start: 4039, length: 6, convRule: rule13 } , CharBlock { start: 4046, length: 2, convRule: rule13 } , CharBlock { start: 4048, length: 5, convRule: rule2 } , CharBlock { start: 4053, length: 4, convRule: rule13 } , CharBlock { start: 4057, length: 2, convRule: rule2 } - , CharBlock { start: 4096, length: 43, convRule: rule45 } - , CharBlock { start: 4139, length: 2, convRule: rule114 } - , CharBlock { start: 4141, length: 4, convRule: rule84 } - , CharBlock { start: 4145, length: 1, convRule: rule114 } - , CharBlock { start: 4146, length: 6, convRule: rule84 } - , CharBlock { start: 4152, length: 1, convRule: rule114 } - , CharBlock { start: 4153, length: 2, convRule: rule84 } - , CharBlock { start: 4155, length: 2, convRule: rule114 } - , CharBlock { start: 4157, length: 2, convRule: rule84 } - , CharBlock { start: 4159, length: 1, convRule: rule45 } + , CharBlock { start: 4096, length: 43, convRule: rule14 } + , CharBlock { start: 4139, length: 2, convRule: rule123 } + , CharBlock { start: 4141, length: 4, convRule: rule91 } + , CharBlock { start: 4145, length: 1, convRule: rule123 } + , CharBlock { start: 4146, length: 6, convRule: rule91 } + , CharBlock { start: 4152, length: 1, convRule: rule123 } + , CharBlock { start: 4153, length: 2, convRule: rule91 } + , CharBlock { start: 4155, length: 2, convRule: rule123 } + , CharBlock { start: 4157, length: 2, convRule: rule91 } + , CharBlock { start: 4159, length: 1, convRule: rule14 } , CharBlock { start: 4160, length: 10, convRule: rule8 } , CharBlock { start: 4170, length: 6, convRule: rule2 } - , CharBlock { start: 4176, length: 6, convRule: rule45 } - , CharBlock { start: 4182, length: 2, convRule: rule114 } - , CharBlock { start: 4184, length: 2, convRule: rule84 } - , CharBlock { start: 4186, length: 4, convRule: rule45 } - , CharBlock { start: 4190, length: 3, convRule: rule84 } - , CharBlock { start: 4193, length: 1, convRule: rule45 } - , CharBlock { start: 4194, length: 3, convRule: rule114 } - , CharBlock { start: 4197, length: 2, convRule: rule45 } - , CharBlock { start: 4199, length: 7, convRule: rule114 } - , CharBlock { start: 4206, length: 3, convRule: rule45 } - , CharBlock { start: 4209, length: 4, convRule: rule84 } - , CharBlock { start: 4213, length: 13, convRule: rule45 } - , CharBlock { start: 4226, length: 1, convRule: rule84 } - , CharBlock { start: 4227, length: 2, convRule: rule114 } - , CharBlock { start: 4229, length: 2, convRule: rule84 } - , CharBlock { start: 4231, length: 6, convRule: rule114 } - , CharBlock { start: 4237, length: 1, convRule: rule84 } - , CharBlock { start: 4238, length: 1, convRule: rule45 } - , CharBlock { start: 4239, length: 1, convRule: rule114 } + , CharBlock { start: 4176, length: 6, convRule: rule14 } + , CharBlock { start: 4182, length: 2, convRule: rule123 } + , CharBlock { start: 4184, length: 2, convRule: rule91 } + , CharBlock { start: 4186, length: 4, convRule: rule14 } + , CharBlock { start: 4190, length: 3, convRule: rule91 } + , CharBlock { start: 4193, length: 1, convRule: rule14 } + , CharBlock { start: 4194, length: 3, convRule: rule123 } + , CharBlock { start: 4197, length: 2, convRule: rule14 } + , CharBlock { start: 4199, length: 7, convRule: rule123 } + , CharBlock { start: 4206, length: 3, convRule: rule14 } + , CharBlock { start: 4209, length: 4, convRule: rule91 } + , CharBlock { start: 4213, length: 13, convRule: rule14 } + , CharBlock { start: 4226, length: 1, convRule: rule91 } + , CharBlock { start: 4227, length: 2, convRule: rule123 } + , CharBlock { start: 4229, length: 2, convRule: rule91 } + , CharBlock { start: 4231, length: 6, convRule: rule123 } + , CharBlock { start: 4237, length: 1, convRule: rule91 } + , CharBlock { start: 4238, length: 1, convRule: rule14 } + , CharBlock { start: 4239, length: 1, convRule: rule123 } , CharBlock { start: 4240, length: 10, convRule: rule8 } - , CharBlock { start: 4250, length: 3, convRule: rule114 } - , CharBlock { start: 4253, length: 1, convRule: rule84 } + , CharBlock { start: 4250, length: 3, convRule: rule123 } + , CharBlock { start: 4253, length: 1, convRule: rule91 } , CharBlock { start: 4254, length: 2, convRule: rule13 } - , CharBlock { start: 4256, length: 38, convRule: rule115 } - , CharBlock { start: 4304, length: 43, convRule: rule45 } + , CharBlock { start: 4256, length: 38, convRule: rule124 } + , CharBlock { start: 4295, length: 1, convRule: rule124 } + , CharBlock { start: 4301, length: 1, convRule: rule124 } + , CharBlock { start: 4304, length: 43, convRule: rule14 } , CharBlock { start: 4347, length: 1, convRule: rule2 } - , CharBlock { start: 4348, length: 1, convRule: rule83 } - , CharBlock { start: 4352, length: 329, convRule: rule45 } - , CharBlock { start: 4682, length: 4, convRule: rule45 } - , CharBlock { start: 4688, length: 7, convRule: rule45 } - , CharBlock { start: 4696, length: 1, convRule: rule45 } - , CharBlock { start: 4698, length: 4, convRule: rule45 } - , CharBlock { start: 4704, length: 41, convRule: rule45 } - , CharBlock { start: 4746, length: 4, convRule: rule45 } - , CharBlock { start: 4752, length: 33, convRule: rule45 } - , CharBlock { start: 4786, length: 4, convRule: rule45 } - , CharBlock { start: 4792, length: 7, convRule: rule45 } - , CharBlock { start: 4800, length: 1, convRule: rule45 } - , CharBlock { start: 4802, length: 4, convRule: rule45 } - , CharBlock { start: 4808, length: 15, convRule: rule45 } - , CharBlock { start: 4824, length: 57, convRule: rule45 } - , CharBlock { start: 4882, length: 4, convRule: rule45 } - , CharBlock { start: 4888, length: 67, convRule: rule45 } - , CharBlock { start: 4957, length: 3, convRule: rule84 } - , CharBlock { start: 4960, length: 1, convRule: rule13 } - , CharBlock { start: 4961, length: 8, convRule: rule2 } + , CharBlock { start: 4348, length: 1, convRule: rule90 } + , CharBlock { start: 4349, length: 332, convRule: rule14 } + , CharBlock { start: 4682, length: 4, convRule: rule14 } + , CharBlock { start: 4688, length: 7, convRule: rule14 } + , CharBlock { start: 4696, length: 1, convRule: rule14 } + , CharBlock { start: 4698, length: 4, convRule: rule14 } + , CharBlock { start: 4704, length: 41, convRule: rule14 } + , CharBlock { start: 4746, length: 4, convRule: rule14 } + , CharBlock { start: 4752, length: 33, convRule: rule14 } + , CharBlock { start: 4786, length: 4, convRule: rule14 } + , CharBlock { start: 4792, length: 7, convRule: rule14 } + , CharBlock { start: 4800, length: 1, convRule: rule14 } + , CharBlock { start: 4802, length: 4, convRule: rule14 } + , CharBlock { start: 4808, length: 15, convRule: rule14 } + , CharBlock { start: 4824, length: 57, convRule: rule14 } + , CharBlock { start: 4882, length: 4, convRule: rule14 } + , CharBlock { start: 4888, length: 67, convRule: rule14 } + , CharBlock { start: 4957, length: 3, convRule: rule91 } + , CharBlock { start: 4960, length: 9, convRule: rule2 } , CharBlock { start: 4969, length: 20, convRule: rule17 } - , CharBlock { start: 4992, length: 16, convRule: rule45 } + , CharBlock { start: 4992, length: 16, convRule: rule14 } , CharBlock { start: 5008, length: 10, convRule: rule13 } - , CharBlock { start: 5024, length: 85, convRule: rule45 } + , CharBlock { start: 5024, length: 80, convRule: rule125 } + , CharBlock { start: 5104, length: 6, convRule: rule103 } + , CharBlock { start: 5112, length: 6, convRule: rule109 } , CharBlock { start: 5120, length: 1, convRule: rule7 } - , CharBlock { start: 5121, length: 620, convRule: rule45 } + , CharBlock { start: 5121, length: 620, convRule: rule14 } , CharBlock { start: 5741, length: 2, convRule: rule2 } - , CharBlock { start: 5743, length: 17, convRule: rule45 } + , CharBlock { start: 5743, length: 17, convRule: rule14 } , CharBlock { start: 5760, length: 1, convRule: rule1 } - , CharBlock { start: 5761, length: 26, convRule: rule45 } + , CharBlock { start: 5761, length: 26, convRule: rule14 } , CharBlock { start: 5787, length: 1, convRule: rule4 } , CharBlock { start: 5788, length: 1, convRule: rule5 } - , CharBlock { start: 5792, length: 75, convRule: rule45 } + , CharBlock { start: 5792, length: 75, convRule: rule14 } , CharBlock { start: 5867, length: 3, convRule: rule2 } - , CharBlock { start: 5870, length: 3, convRule: rule116 } - , CharBlock { start: 5888, length: 13, convRule: rule45 } - , CharBlock { start: 5902, length: 4, convRule: rule45 } - , CharBlock { start: 5906, length: 3, convRule: rule84 } - , CharBlock { start: 5920, length: 18, convRule: rule45 } - , CharBlock { start: 5938, length: 3, convRule: rule84 } + , CharBlock { start: 5870, length: 3, convRule: rule126 } + , CharBlock { start: 5873, length: 8, convRule: rule14 } + , CharBlock { start: 5888, length: 13, convRule: rule14 } + , CharBlock { start: 5902, length: 4, convRule: rule14 } + , CharBlock { start: 5906, length: 3, convRule: rule91 } + , CharBlock { start: 5920, length: 18, convRule: rule14 } + , CharBlock { start: 5938, length: 3, convRule: rule91 } , CharBlock { start: 5941, length: 2, convRule: rule2 } - , CharBlock { start: 5952, length: 18, convRule: rule45 } - , CharBlock { start: 5970, length: 2, convRule: rule84 } - , CharBlock { start: 5984, length: 13, convRule: rule45 } - , CharBlock { start: 5998, length: 3, convRule: rule45 } - , CharBlock { start: 6002, length: 2, convRule: rule84 } - , CharBlock { start: 6016, length: 52, convRule: rule45 } - , CharBlock { start: 6068, length: 2, convRule: rule16 } - , CharBlock { start: 6070, length: 1, convRule: rule114 } - , CharBlock { start: 6071, length: 7, convRule: rule84 } - , CharBlock { start: 6078, length: 8, convRule: rule114 } - , CharBlock { start: 6086, length: 1, convRule: rule84 } - , CharBlock { start: 6087, length: 2, convRule: rule114 } - , CharBlock { start: 6089, length: 11, convRule: rule84 } + , CharBlock { start: 5952, length: 18, convRule: rule14 } + , CharBlock { start: 5970, length: 2, convRule: rule91 } + , CharBlock { start: 5984, length: 13, convRule: rule14 } + , CharBlock { start: 5998, length: 3, convRule: rule14 } + , CharBlock { start: 6002, length: 2, convRule: rule91 } + , CharBlock { start: 6016, length: 52, convRule: rule14 } + , CharBlock { start: 6068, length: 2, convRule: rule91 } + , CharBlock { start: 6070, length: 1, convRule: rule123 } + , CharBlock { start: 6071, length: 7, convRule: rule91 } + , CharBlock { start: 6078, length: 8, convRule: rule123 } + , CharBlock { start: 6086, length: 1, convRule: rule91 } + , CharBlock { start: 6087, length: 2, convRule: rule123 } + , CharBlock { start: 6089, length: 11, convRule: rule91 } , CharBlock { start: 6100, length: 3, convRule: rule2 } - , CharBlock { start: 6103, length: 1, convRule: rule83 } + , CharBlock { start: 6103, length: 1, convRule: rule90 } , CharBlock { start: 6104, length: 3, convRule: rule2 } , CharBlock { start: 6107, length: 1, convRule: rule3 } - , CharBlock { start: 6108, length: 1, convRule: rule45 } - , CharBlock { start: 6109, length: 1, convRule: rule84 } + , CharBlock { start: 6108, length: 1, convRule: rule14 } + , CharBlock { start: 6109, length: 1, convRule: rule91 } , CharBlock { start: 6112, length: 10, convRule: rule8 } , CharBlock { start: 6128, length: 10, convRule: rule17 } , CharBlock { start: 6144, length: 6, convRule: rule2 } , CharBlock { start: 6150, length: 1, convRule: rule7 } , CharBlock { start: 6151, length: 4, convRule: rule2 } - , CharBlock { start: 6155, length: 3, convRule: rule84 } - , CharBlock { start: 6158, length: 1, convRule: rule1 } + , CharBlock { start: 6155, length: 3, convRule: rule91 } + , CharBlock { start: 6158, length: 1, convRule: rule16 } , CharBlock { start: 6160, length: 10, convRule: rule8 } - , CharBlock { start: 6176, length: 35, convRule: rule45 } - , CharBlock { start: 6211, length: 1, convRule: rule83 } - , CharBlock { start: 6212, length: 52, convRule: rule45 } - , CharBlock { start: 6272, length: 41, convRule: rule45 } - , CharBlock { start: 6313, length: 1, convRule: rule84 } - , CharBlock { start: 6314, length: 1, convRule: rule45 } - , CharBlock { start: 6320, length: 70, convRule: rule45 } - , CharBlock { start: 6400, length: 29, convRule: rule45 } - , CharBlock { start: 6432, length: 3, convRule: rule84 } - , CharBlock { start: 6435, length: 4, convRule: rule114 } - , CharBlock { start: 6439, length: 2, convRule: rule84 } - , CharBlock { start: 6441, length: 3, convRule: rule114 } - , CharBlock { start: 6448, length: 2, convRule: rule114 } - , CharBlock { start: 6450, length: 1, convRule: rule84 } - , CharBlock { start: 6451, length: 6, convRule: rule114 } - , CharBlock { start: 6457, length: 3, convRule: rule84 } + , CharBlock { start: 6176, length: 35, convRule: rule14 } + , CharBlock { start: 6211, length: 1, convRule: rule90 } + , CharBlock { start: 6212, length: 52, convRule: rule14 } + , CharBlock { start: 6272, length: 5, convRule: rule14 } + , CharBlock { start: 6277, length: 2, convRule: rule91 } + , CharBlock { start: 6279, length: 34, convRule: rule14 } + , CharBlock { start: 6313, length: 1, convRule: rule91 } + , CharBlock { start: 6314, length: 1, convRule: rule14 } + , CharBlock { start: 6320, length: 70, convRule: rule14 } + , CharBlock { start: 6400, length: 31, convRule: rule14 } + , CharBlock { start: 6432, length: 3, convRule: rule91 } + , CharBlock { start: 6435, length: 4, convRule: rule123 } + , CharBlock { start: 6439, length: 2, convRule: rule91 } + , CharBlock { start: 6441, length: 3, convRule: rule123 } + , CharBlock { start: 6448, length: 2, convRule: rule123 } + , CharBlock { start: 6450, length: 1, convRule: rule91 } + , CharBlock { start: 6451, length: 6, convRule: rule123 } + , CharBlock { start: 6457, length: 3, convRule: rule91 } , CharBlock { start: 6464, length: 1, convRule: rule13 } , CharBlock { start: 6468, length: 2, convRule: rule2 } , CharBlock { start: 6470, length: 10, convRule: rule8 } - , CharBlock { start: 6480, length: 30, convRule: rule45 } - , CharBlock { start: 6512, length: 5, convRule: rule45 } - , CharBlock { start: 6528, length: 44, convRule: rule45 } - , CharBlock { start: 6576, length: 17, convRule: rule114 } - , CharBlock { start: 6593, length: 7, convRule: rule45 } - , CharBlock { start: 6600, length: 2, convRule: rule114 } + , CharBlock { start: 6480, length: 30, convRule: rule14 } + , CharBlock { start: 6512, length: 5, convRule: rule14 } + , CharBlock { start: 6528, length: 44, convRule: rule14 } + , CharBlock { start: 6576, length: 26, convRule: rule14 } , CharBlock { start: 6608, length: 10, convRule: rule8 } , CharBlock { start: 6618, length: 1, convRule: rule17 } , CharBlock { start: 6622, length: 34, convRule: rule13 } - , CharBlock { start: 6656, length: 23, convRule: rule45 } - , CharBlock { start: 6679, length: 2, convRule: rule84 } - , CharBlock { start: 6681, length: 3, convRule: rule114 } + , CharBlock { start: 6656, length: 23, convRule: rule14 } + , CharBlock { start: 6679, length: 2, convRule: rule91 } + , CharBlock { start: 6681, length: 2, convRule: rule123 } + , CharBlock { start: 6683, length: 1, convRule: rule91 } , CharBlock { start: 6686, length: 2, convRule: rule2 } - , CharBlock { start: 6688, length: 53, convRule: rule45 } - , CharBlock { start: 6741, length: 1, convRule: rule114 } - , CharBlock { start: 6742, length: 1, convRule: rule84 } - , CharBlock { start: 6743, length: 1, convRule: rule114 } - , CharBlock { start: 6744, length: 7, convRule: rule84 } - , CharBlock { start: 6752, length: 1, convRule: rule84 } - , CharBlock { start: 6753, length: 1, convRule: rule114 } - , CharBlock { start: 6754, length: 1, convRule: rule84 } - , CharBlock { start: 6755, length: 2, convRule: rule114 } - , CharBlock { start: 6757, length: 8, convRule: rule84 } - , CharBlock { start: 6765, length: 6, convRule: rule114 } - , CharBlock { start: 6771, length: 10, convRule: rule84 } - , CharBlock { start: 6783, length: 1, convRule: rule84 } + , CharBlock { start: 6688, length: 53, convRule: rule14 } + , CharBlock { start: 6741, length: 1, convRule: rule123 } + , CharBlock { start: 6742, length: 1, convRule: rule91 } + , CharBlock { start: 6743, length: 1, convRule: rule123 } + , CharBlock { start: 6744, length: 7, convRule: rule91 } + , CharBlock { start: 6752, length: 1, convRule: rule91 } + , CharBlock { start: 6753, length: 1, convRule: rule123 } + , CharBlock { start: 6754, length: 1, convRule: rule91 } + , CharBlock { start: 6755, length: 2, convRule: rule123 } + , CharBlock { start: 6757, length: 8, convRule: rule91 } + , CharBlock { start: 6765, length: 6, convRule: rule123 } + , CharBlock { start: 6771, length: 10, convRule: rule91 } + , CharBlock { start: 6783, length: 1, convRule: rule91 } , CharBlock { start: 6784, length: 10, convRule: rule8 } , CharBlock { start: 6800, length: 10, convRule: rule8 } , CharBlock { start: 6816, length: 7, convRule: rule2 } - , CharBlock { start: 6823, length: 1, convRule: rule83 } + , CharBlock { start: 6823, length: 1, convRule: rule90 } , CharBlock { start: 6824, length: 6, convRule: rule2 } - , CharBlock { start: 6912, length: 4, convRule: rule84 } - , CharBlock { start: 6916, length: 1, convRule: rule114 } - , CharBlock { start: 6917, length: 47, convRule: rule45 } - , CharBlock { start: 6964, length: 1, convRule: rule84 } - , CharBlock { start: 6965, length: 1, convRule: rule114 } - , CharBlock { start: 6966, length: 5, convRule: rule84 } - , CharBlock { start: 6971, length: 1, convRule: rule114 } - , CharBlock { start: 6972, length: 1, convRule: rule84 } - , CharBlock { start: 6973, length: 5, convRule: rule114 } - , CharBlock { start: 6978, length: 1, convRule: rule84 } - , CharBlock { start: 6979, length: 2, convRule: rule114 } - , CharBlock { start: 6981, length: 7, convRule: rule45 } + , CharBlock { start: 6832, length: 14, convRule: rule91 } + , CharBlock { start: 6846, length: 1, convRule: rule118 } + , CharBlock { start: 6912, length: 4, convRule: rule91 } + , CharBlock { start: 6916, length: 1, convRule: rule123 } + , CharBlock { start: 6917, length: 47, convRule: rule14 } + , CharBlock { start: 6964, length: 1, convRule: rule91 } + , CharBlock { start: 6965, length: 1, convRule: rule123 } + , CharBlock { start: 6966, length: 5, convRule: rule91 } + , CharBlock { start: 6971, length: 1, convRule: rule123 } + , CharBlock { start: 6972, length: 1, convRule: rule91 } + , CharBlock { start: 6973, length: 5, convRule: rule123 } + , CharBlock { start: 6978, length: 1, convRule: rule91 } + , CharBlock { start: 6979, length: 2, convRule: rule123 } + , CharBlock { start: 6981, length: 7, convRule: rule14 } , CharBlock { start: 6992, length: 10, convRule: rule8 } , CharBlock { start: 7002, length: 7, convRule: rule2 } , CharBlock { start: 7009, length: 10, convRule: rule13 } - , CharBlock { start: 7019, length: 9, convRule: rule84 } + , CharBlock { start: 7019, length: 9, convRule: rule91 } , CharBlock { start: 7028, length: 9, convRule: rule13 } - , CharBlock { start: 7040, length: 2, convRule: rule84 } - , CharBlock { start: 7042, length: 1, convRule: rule114 } - , CharBlock { start: 7043, length: 30, convRule: rule45 } - , CharBlock { start: 7073, length: 1, convRule: rule114 } - , CharBlock { start: 7074, length: 4, convRule: rule84 } - , CharBlock { start: 7078, length: 2, convRule: rule114 } - , CharBlock { start: 7080, length: 2, convRule: rule84 } - , CharBlock { start: 7082, length: 1, convRule: rule114 } - , CharBlock { start: 7086, length: 2, convRule: rule45 } + , CharBlock { start: 7040, length: 2, convRule: rule91 } + , CharBlock { start: 7042, length: 1, convRule: rule123 } + , CharBlock { start: 7043, length: 30, convRule: rule14 } + , CharBlock { start: 7073, length: 1, convRule: rule123 } + , CharBlock { start: 7074, length: 4, convRule: rule91 } + , CharBlock { start: 7078, length: 2, convRule: rule123 } + , CharBlock { start: 7080, length: 2, convRule: rule91 } + , CharBlock { start: 7082, length: 1, convRule: rule123 } + , CharBlock { start: 7083, length: 3, convRule: rule91 } + , CharBlock { start: 7086, length: 2, convRule: rule14 } , CharBlock { start: 7088, length: 10, convRule: rule8 } - , CharBlock { start: 7104, length: 38, convRule: rule45 } - , CharBlock { start: 7142, length: 1, convRule: rule84 } - , CharBlock { start: 7143, length: 1, convRule: rule114 } - , CharBlock { start: 7144, length: 2, convRule: rule84 } - , CharBlock { start: 7146, length: 3, convRule: rule114 } - , CharBlock { start: 7149, length: 1, convRule: rule84 } - , CharBlock { start: 7150, length: 1, convRule: rule114 } - , CharBlock { start: 7151, length: 3, convRule: rule84 } - , CharBlock { start: 7154, length: 2, convRule: rule114 } + , CharBlock { start: 7098, length: 44, convRule: rule14 } + , CharBlock { start: 7142, length: 1, convRule: rule91 } + , CharBlock { start: 7143, length: 1, convRule: rule123 } + , CharBlock { start: 7144, length: 2, convRule: rule91 } + , CharBlock { start: 7146, length: 3, convRule: rule123 } + , CharBlock { start: 7149, length: 1, convRule: rule91 } + , CharBlock { start: 7150, length: 1, convRule: rule123 } + , CharBlock { start: 7151, length: 3, convRule: rule91 } + , CharBlock { start: 7154, length: 2, convRule: rule123 } , CharBlock { start: 7164, length: 4, convRule: rule2 } - , CharBlock { start: 7168, length: 36, convRule: rule45 } - , CharBlock { start: 7204, length: 8, convRule: rule114 } - , CharBlock { start: 7212, length: 8, convRule: rule84 } - , CharBlock { start: 7220, length: 2, convRule: rule114 } - , CharBlock { start: 7222, length: 2, convRule: rule84 } + , CharBlock { start: 7168, length: 36, convRule: rule14 } + , CharBlock { start: 7204, length: 8, convRule: rule123 } + , CharBlock { start: 7212, length: 8, convRule: rule91 } + , CharBlock { start: 7220, length: 2, convRule: rule123 } + , CharBlock { start: 7222, length: 2, convRule: rule91 } , CharBlock { start: 7227, length: 5, convRule: rule2 } , CharBlock { start: 7232, length: 10, convRule: rule8 } - , CharBlock { start: 7245, length: 3, convRule: rule45 } + , CharBlock { start: 7245, length: 3, convRule: rule14 } , CharBlock { start: 7248, length: 10, convRule: rule8 } - , CharBlock { start: 7258, length: 30, convRule: rule45 } - , CharBlock { start: 7288, length: 6, convRule: rule83 } + , CharBlock { start: 7258, length: 30, convRule: rule14 } + , CharBlock { start: 7288, length: 6, convRule: rule90 } , CharBlock { start: 7294, length: 2, convRule: rule2 } - , CharBlock { start: 7376, length: 3, convRule: rule84 } + , CharBlock { start: 7296, length: 1, convRule: rule127 } + , CharBlock { start: 7297, length: 1, convRule: rule128 } + , CharBlock { start: 7298, length: 1, convRule: rule129 } + , CharBlock { start: 7299, length: 2, convRule: rule130 } + , CharBlock { start: 7301, length: 1, convRule: rule131 } + , CharBlock { start: 7302, length: 1, convRule: rule132 } + , CharBlock { start: 7303, length: 1, convRule: rule133 } + , CharBlock { start: 7304, length: 1, convRule: rule134 } + , CharBlock { start: 7360, length: 8, convRule: rule2 } + , CharBlock { start: 7376, length: 3, convRule: rule91 } , CharBlock { start: 7379, length: 1, convRule: rule2 } - , CharBlock { start: 7380, length: 13, convRule: rule84 } - , CharBlock { start: 7393, length: 1, convRule: rule114 } - , CharBlock { start: 7394, length: 7, convRule: rule84 } - , CharBlock { start: 7401, length: 4, convRule: rule45 } - , CharBlock { start: 7405, length: 1, convRule: rule84 } - , CharBlock { start: 7406, length: 4, convRule: rule45 } - , CharBlock { start: 7410, length: 1, convRule: rule114 } - , CharBlock { start: 7424, length: 44, convRule: rule14 } - , CharBlock { start: 7468, length: 54, convRule: rule83 } - , CharBlock { start: 7522, length: 22, convRule: rule14 } - , CharBlock { start: 7544, length: 1, convRule: rule83 } - , CharBlock { start: 7545, length: 1, convRule: rule117 } - , CharBlock { start: 7546, length: 3, convRule: rule14 } - , CharBlock { start: 7549, length: 1, convRule: rule118 } - , CharBlock { start: 7550, length: 29, convRule: rule14 } - , CharBlock { start: 7579, length: 37, convRule: rule83 } - , CharBlock { start: 7616, length: 39, convRule: rule84 } - , CharBlock { start: 7676, length: 4, convRule: rule84 } - , CharBlock { start: 7680, length: 1, convRule: rule21 } - , CharBlock { start: 7681, length: 1, convRule: rule22 } - , CharBlock { start: 7682, length: 1, convRule: rule21 } - , CharBlock { start: 7683, length: 1, convRule: rule22 } - , CharBlock { start: 7684, length: 1, convRule: rule21 } - , CharBlock { start: 7685, length: 1, convRule: rule22 } - , CharBlock { start: 7686, length: 1, convRule: rule21 } - , CharBlock { start: 7687, length: 1, convRule: rule22 } - , CharBlock { start: 7688, length: 1, convRule: rule21 } - , CharBlock { start: 7689, length: 1, convRule: rule22 } - , CharBlock { start: 7690, length: 1, convRule: rule21 } - , CharBlock { start: 7691, length: 1, convRule: rule22 } - , CharBlock { start: 7692, length: 1, convRule: rule21 } - , CharBlock { start: 7693, length: 1, convRule: rule22 } - , CharBlock { start: 7694, length: 1, convRule: rule21 } - , CharBlock { start: 7695, length: 1, convRule: rule22 } - , CharBlock { start: 7696, length: 1, convRule: rule21 } - , CharBlock { start: 7697, length: 1, convRule: rule22 } - , CharBlock { start: 7698, length: 1, convRule: rule21 } - , CharBlock { start: 7699, length: 1, convRule: rule22 } - , CharBlock { start: 7700, length: 1, convRule: rule21 } - , CharBlock { start: 7701, length: 1, convRule: rule22 } - , CharBlock { start: 7702, length: 1, convRule: rule21 } - , CharBlock { start: 7703, length: 1, convRule: rule22 } - , CharBlock { start: 7704, length: 1, convRule: rule21 } - , CharBlock { start: 7705, length: 1, convRule: rule22 } - , CharBlock { start: 7706, length: 1, convRule: rule21 } - , CharBlock { start: 7707, length: 1, convRule: rule22 } - , CharBlock { start: 7708, length: 1, convRule: rule21 } - , CharBlock { start: 7709, length: 1, convRule: rule22 } - , CharBlock { start: 7710, length: 1, convRule: rule21 } - , CharBlock { start: 7711, length: 1, convRule: rule22 } - , CharBlock { start: 7712, length: 1, convRule: rule21 } - , CharBlock { start: 7713, length: 1, convRule: rule22 } - , CharBlock { start: 7714, length: 1, convRule: rule21 } - , CharBlock { start: 7715, length: 1, convRule: rule22 } - , CharBlock { start: 7716, length: 1, convRule: rule21 } - , CharBlock { start: 7717, length: 1, convRule: rule22 } - , CharBlock { start: 7718, length: 1, convRule: rule21 } - , CharBlock { start: 7719, length: 1, convRule: rule22 } - , CharBlock { start: 7720, length: 1, convRule: rule21 } - , CharBlock { start: 7721, length: 1, convRule: rule22 } - , CharBlock { start: 7722, length: 1, convRule: rule21 } - , CharBlock { start: 7723, length: 1, convRule: rule22 } - , CharBlock { start: 7724, length: 1, convRule: rule21 } - , CharBlock { start: 7725, length: 1, convRule: rule22 } - , CharBlock { start: 7726, length: 1, convRule: rule21 } - , CharBlock { start: 7727, length: 1, convRule: rule22 } - , CharBlock { start: 7728, length: 1, convRule: rule21 } - , CharBlock { start: 7729, length: 1, convRule: rule22 } - , CharBlock { start: 7730, length: 1, convRule: rule21 } - , CharBlock { start: 7731, length: 1, convRule: rule22 } - , CharBlock { start: 7732, length: 1, convRule: rule21 } - , CharBlock { start: 7733, length: 1, convRule: rule22 } - , CharBlock { start: 7734, length: 1, convRule: rule21 } - , CharBlock { start: 7735, length: 1, convRule: rule22 } - , CharBlock { start: 7736, length: 1, convRule: rule21 } - , CharBlock { start: 7737, length: 1, convRule: rule22 } - , CharBlock { start: 7738, length: 1, convRule: rule21 } - , CharBlock { start: 7739, length: 1, convRule: rule22 } - , CharBlock { start: 7740, length: 1, convRule: rule21 } - , CharBlock { start: 7741, length: 1, convRule: rule22 } - , CharBlock { start: 7742, length: 1, convRule: rule21 } - , CharBlock { start: 7743, length: 1, convRule: rule22 } - , CharBlock { start: 7744, length: 1, convRule: rule21 } - , CharBlock { start: 7745, length: 1, convRule: rule22 } - , CharBlock { start: 7746, length: 1, convRule: rule21 } - , CharBlock { start: 7747, length: 1, convRule: rule22 } - , CharBlock { start: 7748, length: 1, convRule: rule21 } - , CharBlock { start: 7749, length: 1, convRule: rule22 } - , CharBlock { start: 7750, length: 1, convRule: rule21 } - , CharBlock { start: 7751, length: 1, convRule: rule22 } - , CharBlock { start: 7752, length: 1, convRule: rule21 } - , CharBlock { start: 7753, length: 1, convRule: rule22 } - , CharBlock { start: 7754, length: 1, convRule: rule21 } - , CharBlock { start: 7755, length: 1, convRule: rule22 } - , CharBlock { start: 7756, length: 1, convRule: rule21 } - , CharBlock { start: 7757, length: 1, convRule: rule22 } - , CharBlock { start: 7758, length: 1, convRule: rule21 } - , CharBlock { start: 7759, length: 1, convRule: rule22 } - , CharBlock { start: 7760, length: 1, convRule: rule21 } - , CharBlock { start: 7761, length: 1, convRule: rule22 } - , CharBlock { start: 7762, length: 1, convRule: rule21 } - , CharBlock { start: 7763, length: 1, convRule: rule22 } - , CharBlock { start: 7764, length: 1, convRule: rule21 } - , CharBlock { start: 7765, length: 1, convRule: rule22 } - , CharBlock { start: 7766, length: 1, convRule: rule21 } - , CharBlock { start: 7767, length: 1, convRule: rule22 } - , CharBlock { start: 7768, length: 1, convRule: rule21 } - , CharBlock { start: 7769, length: 1, convRule: rule22 } - , CharBlock { start: 7770, length: 1, convRule: rule21 } - , CharBlock { start: 7771, length: 1, convRule: rule22 } - , CharBlock { start: 7772, length: 1, convRule: rule21 } - , CharBlock { start: 7773, length: 1, convRule: rule22 } - , CharBlock { start: 7774, length: 1, convRule: rule21 } - , CharBlock { start: 7775, length: 1, convRule: rule22 } - , CharBlock { start: 7776, length: 1, convRule: rule21 } - , CharBlock { start: 7777, length: 1, convRule: rule22 } - , CharBlock { start: 7778, length: 1, convRule: rule21 } - , CharBlock { start: 7779, length: 1, convRule: rule22 } - , CharBlock { start: 7780, length: 1, convRule: rule21 } - , CharBlock { start: 7781, length: 1, convRule: rule22 } - , CharBlock { start: 7782, length: 1, convRule: rule21 } - , CharBlock { start: 7783, length: 1, convRule: rule22 } - , CharBlock { start: 7784, length: 1, convRule: rule21 } - , CharBlock { start: 7785, length: 1, convRule: rule22 } - , CharBlock { start: 7786, length: 1, convRule: rule21 } - , CharBlock { start: 7787, length: 1, convRule: rule22 } - , CharBlock { start: 7788, length: 1, convRule: rule21 } - , CharBlock { start: 7789, length: 1, convRule: rule22 } - , CharBlock { start: 7790, length: 1, convRule: rule21 } - , CharBlock { start: 7791, length: 1, convRule: rule22 } - , CharBlock { start: 7792, length: 1, convRule: rule21 } - , CharBlock { start: 7793, length: 1, convRule: rule22 } - , CharBlock { start: 7794, length: 1, convRule: rule21 } - , CharBlock { start: 7795, length: 1, convRule: rule22 } - , CharBlock { start: 7796, length: 1, convRule: rule21 } - , CharBlock { start: 7797, length: 1, convRule: rule22 } - , CharBlock { start: 7798, length: 1, convRule: rule21 } - , CharBlock { start: 7799, length: 1, convRule: rule22 } - , CharBlock { start: 7800, length: 1, convRule: rule21 } - , CharBlock { start: 7801, length: 1, convRule: rule22 } - , CharBlock { start: 7802, length: 1, convRule: rule21 } - , CharBlock { start: 7803, length: 1, convRule: rule22 } - , CharBlock { start: 7804, length: 1, convRule: rule21 } - , CharBlock { start: 7805, length: 1, convRule: rule22 } - , CharBlock { start: 7806, length: 1, convRule: rule21 } - , CharBlock { start: 7807, length: 1, convRule: rule22 } - , CharBlock { start: 7808, length: 1, convRule: rule21 } - , CharBlock { start: 7809, length: 1, convRule: rule22 } - , CharBlock { start: 7810, length: 1, convRule: rule21 } - , CharBlock { start: 7811, length: 1, convRule: rule22 } - , CharBlock { start: 7812, length: 1, convRule: rule21 } - , CharBlock { start: 7813, length: 1, convRule: rule22 } - , CharBlock { start: 7814, length: 1, convRule: rule21 } - , CharBlock { start: 7815, length: 1, convRule: rule22 } - , CharBlock { start: 7816, length: 1, convRule: rule21 } - , CharBlock { start: 7817, length: 1, convRule: rule22 } - , CharBlock { start: 7818, length: 1, convRule: rule21 } - , CharBlock { start: 7819, length: 1, convRule: rule22 } - , CharBlock { start: 7820, length: 1, convRule: rule21 } - , CharBlock { start: 7821, length: 1, convRule: rule22 } - , CharBlock { start: 7822, length: 1, convRule: rule21 } - , CharBlock { start: 7823, length: 1, convRule: rule22 } - , CharBlock { start: 7824, length: 1, convRule: rule21 } - , CharBlock { start: 7825, length: 1, convRule: rule22 } - , CharBlock { start: 7826, length: 1, convRule: rule21 } - , CharBlock { start: 7827, length: 1, convRule: rule22 } - , CharBlock { start: 7828, length: 1, convRule: rule21 } - , CharBlock { start: 7829, length: 1, convRule: rule22 } - , CharBlock { start: 7830, length: 5, convRule: rule14 } - , CharBlock { start: 7835, length: 1, convRule: rule119 } - , CharBlock { start: 7836, length: 2, convRule: rule14 } - , CharBlock { start: 7838, length: 1, convRule: rule120 } - , CharBlock { start: 7839, length: 1, convRule: rule14 } - , CharBlock { start: 7840, length: 1, convRule: rule21 } - , CharBlock { start: 7841, length: 1, convRule: rule22 } - , CharBlock { start: 7842, length: 1, convRule: rule21 } - , CharBlock { start: 7843, length: 1, convRule: rule22 } - , CharBlock { start: 7844, length: 1, convRule: rule21 } - , CharBlock { start: 7845, length: 1, convRule: rule22 } - , CharBlock { start: 7846, length: 1, convRule: rule21 } - , CharBlock { start: 7847, length: 1, convRule: rule22 } - , CharBlock { start: 7848, length: 1, convRule: rule21 } - , CharBlock { start: 7849, length: 1, convRule: rule22 } - , CharBlock { start: 7850, length: 1, convRule: rule21 } - , CharBlock { start: 7851, length: 1, convRule: rule22 } - , CharBlock { start: 7852, length: 1, convRule: rule21 } - , CharBlock { start: 7853, length: 1, convRule: rule22 } - , CharBlock { start: 7854, length: 1, convRule: rule21 } - , CharBlock { start: 7855, length: 1, convRule: rule22 } - , CharBlock { start: 7856, length: 1, convRule: rule21 } - , CharBlock { start: 7857, length: 1, convRule: rule22 } - , CharBlock { start: 7858, length: 1, convRule: rule21 } - , CharBlock { start: 7859, length: 1, convRule: rule22 } - , CharBlock { start: 7860, length: 1, convRule: rule21 } - , CharBlock { start: 7861, length: 1, convRule: rule22 } - , CharBlock { start: 7862, length: 1, convRule: rule21 } - , CharBlock { start: 7863, length: 1, convRule: rule22 } - , CharBlock { start: 7864, length: 1, convRule: rule21 } - , CharBlock { start: 7865, length: 1, convRule: rule22 } - , CharBlock { start: 7866, length: 1, convRule: rule21 } - , CharBlock { start: 7867, length: 1, convRule: rule22 } - , CharBlock { start: 7868, length: 1, convRule: rule21 } - , CharBlock { start: 7869, length: 1, convRule: rule22 } - , CharBlock { start: 7870, length: 1, convRule: rule21 } - , CharBlock { start: 7871, length: 1, convRule: rule22 } - , CharBlock { start: 7872, length: 1, convRule: rule21 } - , CharBlock { start: 7873, length: 1, convRule: rule22 } - , CharBlock { start: 7874, length: 1, convRule: rule21 } - , CharBlock { start: 7875, length: 1, convRule: rule22 } - , CharBlock { start: 7876, length: 1, convRule: rule21 } - , CharBlock { start: 7877, length: 1, convRule: rule22 } - , CharBlock { start: 7878, length: 1, convRule: rule21 } - , CharBlock { start: 7879, length: 1, convRule: rule22 } - , CharBlock { start: 7880, length: 1, convRule: rule21 } - , CharBlock { start: 7881, length: 1, convRule: rule22 } - , CharBlock { start: 7882, length: 1, convRule: rule21 } - , CharBlock { start: 7883, length: 1, convRule: rule22 } - , CharBlock { start: 7884, length: 1, convRule: rule21 } - , CharBlock { start: 7885, length: 1, convRule: rule22 } - , CharBlock { start: 7886, length: 1, convRule: rule21 } - , CharBlock { start: 7887, length: 1, convRule: rule22 } - , CharBlock { start: 7888, length: 1, convRule: rule21 } - , CharBlock { start: 7889, length: 1, convRule: rule22 } - , CharBlock { start: 7890, length: 1, convRule: rule21 } - , CharBlock { start: 7891, length: 1, convRule: rule22 } - , CharBlock { start: 7892, length: 1, convRule: rule21 } - , CharBlock { start: 7893, length: 1, convRule: rule22 } - , CharBlock { start: 7894, length: 1, convRule: rule21 } - , CharBlock { start: 7895, length: 1, convRule: rule22 } - , CharBlock { start: 7896, length: 1, convRule: rule21 } - , CharBlock { start: 7897, length: 1, convRule: rule22 } - , CharBlock { start: 7898, length: 1, convRule: rule21 } - , CharBlock { start: 7899, length: 1, convRule: rule22 } - , CharBlock { start: 7900, length: 1, convRule: rule21 } - , CharBlock { start: 7901, length: 1, convRule: rule22 } - , CharBlock { start: 7902, length: 1, convRule: rule21 } - , CharBlock { start: 7903, length: 1, convRule: rule22 } - , CharBlock { start: 7904, length: 1, convRule: rule21 } - , CharBlock { start: 7905, length: 1, convRule: rule22 } - , CharBlock { start: 7906, length: 1, convRule: rule21 } - , CharBlock { start: 7907, length: 1, convRule: rule22 } - , CharBlock { start: 7908, length: 1, convRule: rule21 } - , CharBlock { start: 7909, length: 1, convRule: rule22 } - , CharBlock { start: 7910, length: 1, convRule: rule21 } - , CharBlock { start: 7911, length: 1, convRule: rule22 } - , CharBlock { start: 7912, length: 1, convRule: rule21 } - , CharBlock { start: 7913, length: 1, convRule: rule22 } - , CharBlock { start: 7914, length: 1, convRule: rule21 } - , CharBlock { start: 7915, length: 1, convRule: rule22 } - , CharBlock { start: 7916, length: 1, convRule: rule21 } - , CharBlock { start: 7917, length: 1, convRule: rule22 } - , CharBlock { start: 7918, length: 1, convRule: rule21 } - , CharBlock { start: 7919, length: 1, convRule: rule22 } - , CharBlock { start: 7920, length: 1, convRule: rule21 } - , CharBlock { start: 7921, length: 1, convRule: rule22 } - , CharBlock { start: 7922, length: 1, convRule: rule21 } - , CharBlock { start: 7923, length: 1, convRule: rule22 } - , CharBlock { start: 7924, length: 1, convRule: rule21 } - , CharBlock { start: 7925, length: 1, convRule: rule22 } - , CharBlock { start: 7926, length: 1, convRule: rule21 } - , CharBlock { start: 7927, length: 1, convRule: rule22 } - , CharBlock { start: 7928, length: 1, convRule: rule21 } - , CharBlock { start: 7929, length: 1, convRule: rule22 } - , CharBlock { start: 7930, length: 1, convRule: rule21 } - , CharBlock { start: 7931, length: 1, convRule: rule22 } - , CharBlock { start: 7932, length: 1, convRule: rule21 } - , CharBlock { start: 7933, length: 1, convRule: rule22 } - , CharBlock { start: 7934, length: 1, convRule: rule21 } - , CharBlock { start: 7935, length: 1, convRule: rule22 } - , CharBlock { start: 7936, length: 8, convRule: rule121 } - , CharBlock { start: 7944, length: 8, convRule: rule122 } - , CharBlock { start: 7952, length: 6, convRule: rule121 } - , CharBlock { start: 7960, length: 6, convRule: rule122 } - , CharBlock { start: 7968, length: 8, convRule: rule121 } - , CharBlock { start: 7976, length: 8, convRule: rule122 } - , CharBlock { start: 7984, length: 8, convRule: rule121 } - , CharBlock { start: 7992, length: 8, convRule: rule122 } - , CharBlock { start: 8000, length: 6, convRule: rule121 } - , CharBlock { start: 8008, length: 6, convRule: rule122 } - , CharBlock { start: 8016, length: 1, convRule: rule14 } - , CharBlock { start: 8017, length: 1, convRule: rule121 } - , CharBlock { start: 8018, length: 1, convRule: rule14 } - , CharBlock { start: 8019, length: 1, convRule: rule121 } - , CharBlock { start: 8020, length: 1, convRule: rule14 } - , CharBlock { start: 8021, length: 1, convRule: rule121 } - , CharBlock { start: 8022, length: 1, convRule: rule14 } - , CharBlock { start: 8023, length: 1, convRule: rule121 } - , CharBlock { start: 8025, length: 1, convRule: rule122 } - , CharBlock { start: 8027, length: 1, convRule: rule122 } - , CharBlock { start: 8029, length: 1, convRule: rule122 } - , CharBlock { start: 8031, length: 1, convRule: rule122 } - , CharBlock { start: 8032, length: 8, convRule: rule121 } - , CharBlock { start: 8040, length: 8, convRule: rule122 } - , CharBlock { start: 8048, length: 2, convRule: rule123 } - , CharBlock { start: 8050, length: 4, convRule: rule124 } - , CharBlock { start: 8054, length: 2, convRule: rule125 } - , CharBlock { start: 8056, length: 2, convRule: rule126 } - , CharBlock { start: 8058, length: 2, convRule: rule127 } - , CharBlock { start: 8060, length: 2, convRule: rule128 } - , CharBlock { start: 8064, length: 8, convRule: rule121 } - , CharBlock { start: 8072, length: 8, convRule: rule129 } - , CharBlock { start: 8080, length: 8, convRule: rule121 } - , CharBlock { start: 8088, length: 8, convRule: rule129 } - , CharBlock { start: 8096, length: 8, convRule: rule121 } - , CharBlock { start: 8104, length: 8, convRule: rule129 } - , CharBlock { start: 8112, length: 2, convRule: rule121 } - , CharBlock { start: 8114, length: 1, convRule: rule14 } - , CharBlock { start: 8115, length: 1, convRule: rule130 } - , CharBlock { start: 8116, length: 1, convRule: rule14 } - , CharBlock { start: 8118, length: 2, convRule: rule14 } - , CharBlock { start: 8120, length: 2, convRule: rule122 } - , CharBlock { start: 8122, length: 2, convRule: rule131 } - , CharBlock { start: 8124, length: 1, convRule: rule132 } + , CharBlock { start: 7380, length: 13, convRule: rule91 } + , CharBlock { start: 7393, length: 1, convRule: rule123 } + , CharBlock { start: 7394, length: 7, convRule: rule91 } + , CharBlock { start: 7401, length: 4, convRule: rule14 } + , CharBlock { start: 7405, length: 1, convRule: rule91 } + , CharBlock { start: 7406, length: 4, convRule: rule14 } + , CharBlock { start: 7410, length: 2, convRule: rule123 } + , CharBlock { start: 7412, length: 1, convRule: rule91 } + , CharBlock { start: 7413, length: 2, convRule: rule14 } + , CharBlock { start: 7415, length: 1, convRule: rule123 } + , CharBlock { start: 7416, length: 2, convRule: rule91 } + , CharBlock { start: 7424, length: 44, convRule: rule20 } + , CharBlock { start: 7468, length: 63, convRule: rule90 } + , CharBlock { start: 7531, length: 13, convRule: rule20 } + , CharBlock { start: 7544, length: 1, convRule: rule90 } + , CharBlock { start: 7545, length: 1, convRule: rule135 } + , CharBlock { start: 7546, length: 3, convRule: rule20 } + , CharBlock { start: 7549, length: 1, convRule: rule136 } + , CharBlock { start: 7550, length: 29, convRule: rule20 } + , CharBlock { start: 7579, length: 37, convRule: rule90 } + , CharBlock { start: 7616, length: 58, convRule: rule91 } + , CharBlock { start: 7675, length: 5, convRule: rule91 } + , CharBlock { start: 7680, length: 1, convRule: rule22 } + , CharBlock { start: 7681, length: 1, convRule: rule23 } + , CharBlock { start: 7682, length: 1, convRule: rule22 } + , CharBlock { start: 7683, length: 1, convRule: rule23 } + , CharBlock { start: 7684, length: 1, convRule: rule22 } + , CharBlock { start: 7685, length: 1, convRule: rule23 } + , CharBlock { start: 7686, length: 1, convRule: rule22 } + , CharBlock { start: 7687, length: 1, convRule: rule23 } + , CharBlock { start: 7688, length: 1, convRule: rule22 } + , CharBlock { start: 7689, length: 1, convRule: rule23 } + , CharBlock { start: 7690, length: 1, convRule: rule22 } + , CharBlock { start: 7691, length: 1, convRule: rule23 } + , CharBlock { start: 7692, length: 1, convRule: rule22 } + , CharBlock { start: 7693, length: 1, convRule: rule23 } + , CharBlock { start: 7694, length: 1, convRule: rule22 } + , CharBlock { start: 7695, length: 1, convRule: rule23 } + , CharBlock { start: 7696, length: 1, convRule: rule22 } + , CharBlock { start: 7697, length: 1, convRule: rule23 } + , CharBlock { start: 7698, length: 1, convRule: rule22 } + , CharBlock { start: 7699, length: 1, convRule: rule23 } + , CharBlock { start: 7700, length: 1, convRule: rule22 } + , CharBlock { start: 7701, length: 1, convRule: rule23 } + , CharBlock { start: 7702, length: 1, convRule: rule22 } + , CharBlock { start: 7703, length: 1, convRule: rule23 } + , CharBlock { start: 7704, length: 1, convRule: rule22 } + , CharBlock { start: 7705, length: 1, convRule: rule23 } + , CharBlock { start: 7706, length: 1, convRule: rule22 } + , CharBlock { start: 7707, length: 1, convRule: rule23 } + , CharBlock { start: 7708, length: 1, convRule: rule22 } + , CharBlock { start: 7709, length: 1, convRule: rule23 } + , CharBlock { start: 7710, length: 1, convRule: rule22 } + , CharBlock { start: 7711, length: 1, convRule: rule23 } + , CharBlock { start: 7712, length: 1, convRule: rule22 } + , CharBlock { start: 7713, length: 1, convRule: rule23 } + , CharBlock { start: 7714, length: 1, convRule: rule22 } + , CharBlock { start: 7715, length: 1, convRule: rule23 } + , CharBlock { start: 7716, length: 1, convRule: rule22 } + , CharBlock { start: 7717, length: 1, convRule: rule23 } + , CharBlock { start: 7718, length: 1, convRule: rule22 } + , CharBlock { start: 7719, length: 1, convRule: rule23 } + , CharBlock { start: 7720, length: 1, convRule: rule22 } + , CharBlock { start: 7721, length: 1, convRule: rule23 } + , CharBlock { start: 7722, length: 1, convRule: rule22 } + , CharBlock { start: 7723, length: 1, convRule: rule23 } + , CharBlock { start: 7724, length: 1, convRule: rule22 } + , CharBlock { start: 7725, length: 1, convRule: rule23 } + , CharBlock { start: 7726, length: 1, convRule: rule22 } + , CharBlock { start: 7727, length: 1, convRule: rule23 } + , CharBlock { start: 7728, length: 1, convRule: rule22 } + , CharBlock { start: 7729, length: 1, convRule: rule23 } + , CharBlock { start: 7730, length: 1, convRule: rule22 } + , CharBlock { start: 7731, length: 1, convRule: rule23 } + , CharBlock { start: 7732, length: 1, convRule: rule22 } + , CharBlock { start: 7733, length: 1, convRule: rule23 } + , CharBlock { start: 7734, length: 1, convRule: rule22 } + , CharBlock { start: 7735, length: 1, convRule: rule23 } + , CharBlock { start: 7736, length: 1, convRule: rule22 } + , CharBlock { start: 7737, length: 1, convRule: rule23 } + , CharBlock { start: 7738, length: 1, convRule: rule22 } + , CharBlock { start: 7739, length: 1, convRule: rule23 } + , CharBlock { start: 7740, length: 1, convRule: rule22 } + , CharBlock { start: 7741, length: 1, convRule: rule23 } + , CharBlock { start: 7742, length: 1, convRule: rule22 } + , CharBlock { start: 7743, length: 1, convRule: rule23 } + , CharBlock { start: 7744, length: 1, convRule: rule22 } + , CharBlock { start: 7745, length: 1, convRule: rule23 } + , CharBlock { start: 7746, length: 1, convRule: rule22 } + , CharBlock { start: 7747, length: 1, convRule: rule23 } + , CharBlock { start: 7748, length: 1, convRule: rule22 } + , CharBlock { start: 7749, length: 1, convRule: rule23 } + , CharBlock { start: 7750, length: 1, convRule: rule22 } + , CharBlock { start: 7751, length: 1, convRule: rule23 } + , CharBlock { start: 7752, length: 1, convRule: rule22 } + , CharBlock { start: 7753, length: 1, convRule: rule23 } + , CharBlock { start: 7754, length: 1, convRule: rule22 } + , CharBlock { start: 7755, length: 1, convRule: rule23 } + , CharBlock { start: 7756, length: 1, convRule: rule22 } + , CharBlock { start: 7757, length: 1, convRule: rule23 } + , CharBlock { start: 7758, length: 1, convRule: rule22 } + , CharBlock { start: 7759, length: 1, convRule: rule23 } + , CharBlock { start: 7760, length: 1, convRule: rule22 } + , CharBlock { start: 7761, length: 1, convRule: rule23 } + , CharBlock { start: 7762, length: 1, convRule: rule22 } + , CharBlock { start: 7763, length: 1, convRule: rule23 } + , CharBlock { start: 7764, length: 1, convRule: rule22 } + , CharBlock { start: 7765, length: 1, convRule: rule23 } + , CharBlock { start: 7766, length: 1, convRule: rule22 } + , CharBlock { start: 7767, length: 1, convRule: rule23 } + , CharBlock { start: 7768, length: 1, convRule: rule22 } + , CharBlock { start: 7769, length: 1, convRule: rule23 } + , CharBlock { start: 7770, length: 1, convRule: rule22 } + , CharBlock { start: 7771, length: 1, convRule: rule23 } + , CharBlock { start: 7772, length: 1, convRule: rule22 } + , CharBlock { start: 7773, length: 1, convRule: rule23 } + , CharBlock { start: 7774, length: 1, convRule: rule22 } + , CharBlock { start: 7775, length: 1, convRule: rule23 } + , CharBlock { start: 7776, length: 1, convRule: rule22 } + , CharBlock { start: 7777, length: 1, convRule: rule23 } + , CharBlock { start: 7778, length: 1, convRule: rule22 } + , CharBlock { start: 7779, length: 1, convRule: rule23 } + , CharBlock { start: 7780, length: 1, convRule: rule22 } + , CharBlock { start: 7781, length: 1, convRule: rule23 } + , CharBlock { start: 7782, length: 1, convRule: rule22 } + , CharBlock { start: 7783, length: 1, convRule: rule23 } + , CharBlock { start: 7784, length: 1, convRule: rule22 } + , CharBlock { start: 7785, length: 1, convRule: rule23 } + , CharBlock { start: 7786, length: 1, convRule: rule22 } + , CharBlock { start: 7787, length: 1, convRule: rule23 } + , CharBlock { start: 7788, length: 1, convRule: rule22 } + , CharBlock { start: 7789, length: 1, convRule: rule23 } + , CharBlock { start: 7790, length: 1, convRule: rule22 } + , CharBlock { start: 7791, length: 1, convRule: rule23 } + , CharBlock { start: 7792, length: 1, convRule: rule22 } + , CharBlock { start: 7793, length: 1, convRule: rule23 } + , CharBlock { start: 7794, length: 1, convRule: rule22 } + , CharBlock { start: 7795, length: 1, convRule: rule23 } + , CharBlock { start: 7796, length: 1, convRule: rule22 } + , CharBlock { start: 7797, length: 1, convRule: rule23 } + , CharBlock { start: 7798, length: 1, convRule: rule22 } + , CharBlock { start: 7799, length: 1, convRule: rule23 } + , CharBlock { start: 7800, length: 1, convRule: rule22 } + , CharBlock { start: 7801, length: 1, convRule: rule23 } + , CharBlock { start: 7802, length: 1, convRule: rule22 } + , CharBlock { start: 7803, length: 1, convRule: rule23 } + , CharBlock { start: 7804, length: 1, convRule: rule22 } + , CharBlock { start: 7805, length: 1, convRule: rule23 } + , CharBlock { start: 7806, length: 1, convRule: rule22 } + , CharBlock { start: 7807, length: 1, convRule: rule23 } + , CharBlock { start: 7808, length: 1, convRule: rule22 } + , CharBlock { start: 7809, length: 1, convRule: rule23 } + , CharBlock { start: 7810, length: 1, convRule: rule22 } + , CharBlock { start: 7811, length: 1, convRule: rule23 } + , CharBlock { start: 7812, length: 1, convRule: rule22 } + , CharBlock { start: 7813, length: 1, convRule: rule23 } + , CharBlock { start: 7814, length: 1, convRule: rule22 } + , CharBlock { start: 7815, length: 1, convRule: rule23 } + , CharBlock { start: 7816, length: 1, convRule: rule22 } + , CharBlock { start: 7817, length: 1, convRule: rule23 } + , CharBlock { start: 7818, length: 1, convRule: rule22 } + , CharBlock { start: 7819, length: 1, convRule: rule23 } + , CharBlock { start: 7820, length: 1, convRule: rule22 } + , CharBlock { start: 7821, length: 1, convRule: rule23 } + , CharBlock { start: 7822, length: 1, convRule: rule22 } + , CharBlock { start: 7823, length: 1, convRule: rule23 } + , CharBlock { start: 7824, length: 1, convRule: rule22 } + , CharBlock { start: 7825, length: 1, convRule: rule23 } + , CharBlock { start: 7826, length: 1, convRule: rule22 } + , CharBlock { start: 7827, length: 1, convRule: rule23 } + , CharBlock { start: 7828, length: 1, convRule: rule22 } + , CharBlock { start: 7829, length: 1, convRule: rule23 } + , CharBlock { start: 7830, length: 5, convRule: rule20 } + , CharBlock { start: 7835, length: 1, convRule: rule137 } + , CharBlock { start: 7836, length: 2, convRule: rule20 } + , CharBlock { start: 7838, length: 1, convRule: rule138 } + , CharBlock { start: 7839, length: 1, convRule: rule20 } + , CharBlock { start: 7840, length: 1, convRule: rule22 } + , CharBlock { start: 7841, length: 1, convRule: rule23 } + , CharBlock { start: 7842, length: 1, convRule: rule22 } + , CharBlock { start: 7843, length: 1, convRule: rule23 } + , CharBlock { start: 7844, length: 1, convRule: rule22 } + , CharBlock { start: 7845, length: 1, convRule: rule23 } + , CharBlock { start: 7846, length: 1, convRule: rule22 } + , CharBlock { start: 7847, length: 1, convRule: rule23 } + , CharBlock { start: 7848, length: 1, convRule: rule22 } + , CharBlock { start: 7849, length: 1, convRule: rule23 } + , CharBlock { start: 7850, length: 1, convRule: rule22 } + , CharBlock { start: 7851, length: 1, convRule: rule23 } + , CharBlock { start: 7852, length: 1, convRule: rule22 } + , CharBlock { start: 7853, length: 1, convRule: rule23 } + , CharBlock { start: 7854, length: 1, convRule: rule22 } + , CharBlock { start: 7855, length: 1, convRule: rule23 } + , CharBlock { start: 7856, length: 1, convRule: rule22 } + , CharBlock { start: 7857, length: 1, convRule: rule23 } + , CharBlock { start: 7858, length: 1, convRule: rule22 } + , CharBlock { start: 7859, length: 1, convRule: rule23 } + , CharBlock { start: 7860, length: 1, convRule: rule22 } + , CharBlock { start: 7861, length: 1, convRule: rule23 } + , CharBlock { start: 7862, length: 1, convRule: rule22 } + , CharBlock { start: 7863, length: 1, convRule: rule23 } + , CharBlock { start: 7864, length: 1, convRule: rule22 } + , CharBlock { start: 7865, length: 1, convRule: rule23 } + , CharBlock { start: 7866, length: 1, convRule: rule22 } + , CharBlock { start: 7867, length: 1, convRule: rule23 } + , CharBlock { start: 7868, length: 1, convRule: rule22 } + , CharBlock { start: 7869, length: 1, convRule: rule23 } + , CharBlock { start: 7870, length: 1, convRule: rule22 } + , CharBlock { start: 7871, length: 1, convRule: rule23 } + , CharBlock { start: 7872, length: 1, convRule: rule22 } + , CharBlock { start: 7873, length: 1, convRule: rule23 } + , CharBlock { start: 7874, length: 1, convRule: rule22 } + , CharBlock { start: 7875, length: 1, convRule: rule23 } + , CharBlock { start: 7876, length: 1, convRule: rule22 } + , CharBlock { start: 7877, length: 1, convRule: rule23 } + , CharBlock { start: 7878, length: 1, convRule: rule22 } + , CharBlock { start: 7879, length: 1, convRule: rule23 } + , CharBlock { start: 7880, length: 1, convRule: rule22 } + , CharBlock { start: 7881, length: 1, convRule: rule23 } + , CharBlock { start: 7882, length: 1, convRule: rule22 } + , CharBlock { start: 7883, length: 1, convRule: rule23 } + , CharBlock { start: 7884, length: 1, convRule: rule22 } + , CharBlock { start: 7885, length: 1, convRule: rule23 } + , CharBlock { start: 7886, length: 1, convRule: rule22 } + , CharBlock { start: 7887, length: 1, convRule: rule23 } + , CharBlock { start: 7888, length: 1, convRule: rule22 } + , CharBlock { start: 7889, length: 1, convRule: rule23 } + , CharBlock { start: 7890, length: 1, convRule: rule22 } + , CharBlock { start: 7891, length: 1, convRule: rule23 } + , CharBlock { start: 7892, length: 1, convRule: rule22 } + , CharBlock { start: 7893, length: 1, convRule: rule23 } + , CharBlock { start: 7894, length: 1, convRule: rule22 } + , CharBlock { start: 7895, length: 1, convRule: rule23 } + , CharBlock { start: 7896, length: 1, convRule: rule22 } + , CharBlock { start: 7897, length: 1, convRule: rule23 } + , CharBlock { start: 7898, length: 1, convRule: rule22 } + , CharBlock { start: 7899, length: 1, convRule: rule23 } + , CharBlock { start: 7900, length: 1, convRule: rule22 } + , CharBlock { start: 7901, length: 1, convRule: rule23 } + , CharBlock { start: 7902, length: 1, convRule: rule22 } + , CharBlock { start: 7903, length: 1, convRule: rule23 } + , CharBlock { start: 7904, length: 1, convRule: rule22 } + , CharBlock { start: 7905, length: 1, convRule: rule23 } + , CharBlock { start: 7906, length: 1, convRule: rule22 } + , CharBlock { start: 7907, length: 1, convRule: rule23 } + , CharBlock { start: 7908, length: 1, convRule: rule22 } + , CharBlock { start: 7909, length: 1, convRule: rule23 } + , CharBlock { start: 7910, length: 1, convRule: rule22 } + , CharBlock { start: 7911, length: 1, convRule: rule23 } + , CharBlock { start: 7912, length: 1, convRule: rule22 } + , CharBlock { start: 7913, length: 1, convRule: rule23 } + , CharBlock { start: 7914, length: 1, convRule: rule22 } + , CharBlock { start: 7915, length: 1, convRule: rule23 } + , CharBlock { start: 7916, length: 1, convRule: rule22 } + , CharBlock { start: 7917, length: 1, convRule: rule23 } + , CharBlock { start: 7918, length: 1, convRule: rule22 } + , CharBlock { start: 7919, length: 1, convRule: rule23 } + , CharBlock { start: 7920, length: 1, convRule: rule22 } + , CharBlock { start: 7921, length: 1, convRule: rule23 } + , CharBlock { start: 7922, length: 1, convRule: rule22 } + , CharBlock { start: 7923, length: 1, convRule: rule23 } + , CharBlock { start: 7924, length: 1, convRule: rule22 } + , CharBlock { start: 7925, length: 1, convRule: rule23 } + , CharBlock { start: 7926, length: 1, convRule: rule22 } + , CharBlock { start: 7927, length: 1, convRule: rule23 } + , CharBlock { start: 7928, length: 1, convRule: rule22 } + , CharBlock { start: 7929, length: 1, convRule: rule23 } + , CharBlock { start: 7930, length: 1, convRule: rule22 } + , CharBlock { start: 7931, length: 1, convRule: rule23 } + , CharBlock { start: 7932, length: 1, convRule: rule22 } + , CharBlock { start: 7933, length: 1, convRule: rule23 } + , CharBlock { start: 7934, length: 1, convRule: rule22 } + , CharBlock { start: 7935, length: 1, convRule: rule23 } + , CharBlock { start: 7936, length: 8, convRule: rule139 } + , CharBlock { start: 7944, length: 8, convRule: rule140 } + , CharBlock { start: 7952, length: 6, convRule: rule139 } + , CharBlock { start: 7960, length: 6, convRule: rule140 } + , CharBlock { start: 7968, length: 8, convRule: rule139 } + , CharBlock { start: 7976, length: 8, convRule: rule140 } + , CharBlock { start: 7984, length: 8, convRule: rule139 } + , CharBlock { start: 7992, length: 8, convRule: rule140 } + , CharBlock { start: 8000, length: 6, convRule: rule139 } + , CharBlock { start: 8008, length: 6, convRule: rule140 } + , CharBlock { start: 8016, length: 1, convRule: rule20 } + , CharBlock { start: 8017, length: 1, convRule: rule139 } + , CharBlock { start: 8018, length: 1, convRule: rule20 } + , CharBlock { start: 8019, length: 1, convRule: rule139 } + , CharBlock { start: 8020, length: 1, convRule: rule20 } + , CharBlock { start: 8021, length: 1, convRule: rule139 } + , CharBlock { start: 8022, length: 1, convRule: rule20 } + , CharBlock { start: 8023, length: 1, convRule: rule139 } + , CharBlock { start: 8025, length: 1, convRule: rule140 } + , CharBlock { start: 8027, length: 1, convRule: rule140 } + , CharBlock { start: 8029, length: 1, convRule: rule140 } + , CharBlock { start: 8031, length: 1, convRule: rule140 } + , CharBlock { start: 8032, length: 8, convRule: rule139 } + , CharBlock { start: 8040, length: 8, convRule: rule140 } + , CharBlock { start: 8048, length: 2, convRule: rule141 } + , CharBlock { start: 8050, length: 4, convRule: rule142 } + , CharBlock { start: 8054, length: 2, convRule: rule143 } + , CharBlock { start: 8056, length: 2, convRule: rule144 } + , CharBlock { start: 8058, length: 2, convRule: rule145 } + , CharBlock { start: 8060, length: 2, convRule: rule146 } + , CharBlock { start: 8064, length: 8, convRule: rule139 } + , CharBlock { start: 8072, length: 8, convRule: rule147 } + , CharBlock { start: 8080, length: 8, convRule: rule139 } + , CharBlock { start: 8088, length: 8, convRule: rule147 } + , CharBlock { start: 8096, length: 8, convRule: rule139 } + , CharBlock { start: 8104, length: 8, convRule: rule147 } + , CharBlock { start: 8112, length: 2, convRule: rule139 } + , CharBlock { start: 8114, length: 1, convRule: rule20 } + , CharBlock { start: 8115, length: 1, convRule: rule148 } + , CharBlock { start: 8116, length: 1, convRule: rule20 } + , CharBlock { start: 8118, length: 2, convRule: rule20 } + , CharBlock { start: 8120, length: 2, convRule: rule140 } + , CharBlock { start: 8122, length: 2, convRule: rule149 } + , CharBlock { start: 8124, length: 1, convRule: rule150 } , CharBlock { start: 8125, length: 1, convRule: rule10 } - , CharBlock { start: 8126, length: 1, convRule: rule133 } + , CharBlock { start: 8126, length: 1, convRule: rule151 } , CharBlock { start: 8127, length: 3, convRule: rule10 } - , CharBlock { start: 8130, length: 1, convRule: rule14 } - , CharBlock { start: 8131, length: 1, convRule: rule130 } - , CharBlock { start: 8132, length: 1, convRule: rule14 } - , CharBlock { start: 8134, length: 2, convRule: rule14 } - , CharBlock { start: 8136, length: 4, convRule: rule134 } - , CharBlock { start: 8140, length: 1, convRule: rule132 } + , CharBlock { start: 8130, length: 1, convRule: rule20 } + , CharBlock { start: 8131, length: 1, convRule: rule148 } + , CharBlock { start: 8132, length: 1, convRule: rule20 } + , CharBlock { start: 8134, length: 2, convRule: rule20 } + , CharBlock { start: 8136, length: 4, convRule: rule152 } + , CharBlock { start: 8140, length: 1, convRule: rule150 } , CharBlock { start: 8141, length: 3, convRule: rule10 } - , CharBlock { start: 8144, length: 2, convRule: rule121 } - , CharBlock { start: 8146, length: 2, convRule: rule14 } - , CharBlock { start: 8150, length: 2, convRule: rule14 } - , CharBlock { start: 8152, length: 2, convRule: rule122 } - , CharBlock { start: 8154, length: 2, convRule: rule135 } + , CharBlock { start: 8144, length: 2, convRule: rule139 } + , CharBlock { start: 8146, length: 2, convRule: rule20 } + , CharBlock { start: 8150, length: 2, convRule: rule20 } + , CharBlock { start: 8152, length: 2, convRule: rule140 } + , CharBlock { start: 8154, length: 2, convRule: rule153 } , CharBlock { start: 8157, length: 3, convRule: rule10 } - , CharBlock { start: 8160, length: 2, convRule: rule121 } - , CharBlock { start: 8162, length: 3, convRule: rule14 } - , CharBlock { start: 8165, length: 1, convRule: rule104 } - , CharBlock { start: 8166, length: 2, convRule: rule14 } - , CharBlock { start: 8168, length: 2, convRule: rule122 } - , CharBlock { start: 8170, length: 2, convRule: rule136 } - , CharBlock { start: 8172, length: 1, convRule: rule107 } + , CharBlock { start: 8160, length: 2, convRule: rule139 } + , CharBlock { start: 8162, length: 3, convRule: rule20 } + , CharBlock { start: 8165, length: 1, convRule: rule112 } + , CharBlock { start: 8166, length: 2, convRule: rule20 } + , CharBlock { start: 8168, length: 2, convRule: rule140 } + , CharBlock { start: 8170, length: 2, convRule: rule154 } + , CharBlock { start: 8172, length: 1, convRule: rule116 } , CharBlock { start: 8173, length: 3, convRule: rule10 } - , CharBlock { start: 8178, length: 1, convRule: rule14 } - , CharBlock { start: 8179, length: 1, convRule: rule130 } - , CharBlock { start: 8180, length: 1, convRule: rule14 } - , CharBlock { start: 8182, length: 2, convRule: rule14 } - , CharBlock { start: 8184, length: 2, convRule: rule137 } - , CharBlock { start: 8186, length: 2, convRule: rule138 } - , CharBlock { start: 8188, length: 1, convRule: rule132 } + , CharBlock { start: 8178, length: 1, convRule: rule20 } + , CharBlock { start: 8179, length: 1, convRule: rule148 } + , CharBlock { start: 8180, length: 1, convRule: rule20 } + , CharBlock { start: 8182, length: 2, convRule: rule20 } + , CharBlock { start: 8184, length: 2, convRule: rule155 } + , CharBlock { start: 8186, length: 2, convRule: rule156 } + , CharBlock { start: 8188, length: 1, convRule: rule150 } , CharBlock { start: 8189, length: 2, convRule: rule10 } , CharBlock { start: 8192, length: 11, convRule: rule1 } , CharBlock { start: 8203, length: 5, convRule: rule16 } @@ -2353,8 +2503,8 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 8222, length: 1, convRule: rule4 } , CharBlock { start: 8223, length: 1, convRule: rule15 } , CharBlock { start: 8224, length: 8, convRule: rule2 } - , CharBlock { start: 8232, length: 1, convRule: rule139 } - , CharBlock { start: 8233, length: 1, convRule: rule140 } + , CharBlock { start: 8232, length: 1, convRule: rule157 } + , CharBlock { start: 8233, length: 1, convRule: rule158 } , CharBlock { start: 8234, length: 5, convRule: rule16 } , CharBlock { start: 8239, length: 1, convRule: rule1 } , CharBlock { start: 8240, length: 9, convRule: rule2 } @@ -2373,77 +2523,78 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 8277, length: 10, convRule: rule2 } , CharBlock { start: 8287, length: 1, convRule: rule1 } , CharBlock { start: 8288, length: 5, convRule: rule16 } - , CharBlock { start: 8298, length: 6, convRule: rule16 } + , CharBlock { start: 8294, length: 10, convRule: rule16 } , CharBlock { start: 8304, length: 1, convRule: rule17 } - , CharBlock { start: 8305, length: 1, convRule: rule83 } + , CharBlock { start: 8305, length: 1, convRule: rule90 } , CharBlock { start: 8308, length: 6, convRule: rule17 } , CharBlock { start: 8314, length: 3, convRule: rule6 } , CharBlock { start: 8317, length: 1, convRule: rule4 } , CharBlock { start: 8318, length: 1, convRule: rule5 } - , CharBlock { start: 8319, length: 1, convRule: rule83 } + , CharBlock { start: 8319, length: 1, convRule: rule90 } , CharBlock { start: 8320, length: 10, convRule: rule17 } , CharBlock { start: 8330, length: 3, convRule: rule6 } , CharBlock { start: 8333, length: 1, convRule: rule4 } , CharBlock { start: 8334, length: 1, convRule: rule5 } - , CharBlock { start: 8336, length: 13, convRule: rule83 } - , CharBlock { start: 8352, length: 26, convRule: rule3 } - , CharBlock { start: 8400, length: 13, convRule: rule84 } - , CharBlock { start: 8413, length: 4, convRule: rule109 } - , CharBlock { start: 8417, length: 1, convRule: rule84 } - , CharBlock { start: 8418, length: 3, convRule: rule109 } - , CharBlock { start: 8421, length: 12, convRule: rule84 } + , CharBlock { start: 8336, length: 13, convRule: rule90 } + , CharBlock { start: 8352, length: 32, convRule: rule3 } + , CharBlock { start: 8400, length: 13, convRule: rule91 } + , CharBlock { start: 8413, length: 4, convRule: rule118 } + , CharBlock { start: 8417, length: 1, convRule: rule91 } + , CharBlock { start: 8418, length: 3, convRule: rule118 } + , CharBlock { start: 8421, length: 12, convRule: rule91 } , CharBlock { start: 8448, length: 2, convRule: rule13 } - , CharBlock { start: 8450, length: 1, convRule: rule98 } + , CharBlock { start: 8450, length: 1, convRule: rule106 } , CharBlock { start: 8451, length: 4, convRule: rule13 } - , CharBlock { start: 8455, length: 1, convRule: rule98 } + , CharBlock { start: 8455, length: 1, convRule: rule106 } , CharBlock { start: 8456, length: 2, convRule: rule13 } - , CharBlock { start: 8458, length: 1, convRule: rule14 } - , CharBlock { start: 8459, length: 3, convRule: rule98 } - , CharBlock { start: 8462, length: 2, convRule: rule14 } - , CharBlock { start: 8464, length: 3, convRule: rule98 } - , CharBlock { start: 8467, length: 1, convRule: rule14 } + , CharBlock { start: 8458, length: 1, convRule: rule20 } + , CharBlock { start: 8459, length: 3, convRule: rule106 } + , CharBlock { start: 8462, length: 2, convRule: rule20 } + , CharBlock { start: 8464, length: 3, convRule: rule106 } + , CharBlock { start: 8467, length: 1, convRule: rule20 } , CharBlock { start: 8468, length: 1, convRule: rule13 } - , CharBlock { start: 8469, length: 1, convRule: rule98 } + , CharBlock { start: 8469, length: 1, convRule: rule106 } , CharBlock { start: 8470, length: 2, convRule: rule13 } , CharBlock { start: 8472, length: 1, convRule: rule6 } - , CharBlock { start: 8473, length: 5, convRule: rule98 } + , CharBlock { start: 8473, length: 5, convRule: rule106 } , CharBlock { start: 8478, length: 6, convRule: rule13 } - , CharBlock { start: 8484, length: 1, convRule: rule98 } + , CharBlock { start: 8484, length: 1, convRule: rule106 } , CharBlock { start: 8485, length: 1, convRule: rule13 } - , CharBlock { start: 8486, length: 1, convRule: rule141 } + , CharBlock { start: 8486, length: 1, convRule: rule159 } , CharBlock { start: 8487, length: 1, convRule: rule13 } - , CharBlock { start: 8488, length: 1, convRule: rule98 } + , CharBlock { start: 8488, length: 1, convRule: rule106 } , CharBlock { start: 8489, length: 1, convRule: rule13 } - , CharBlock { start: 8490, length: 1, convRule: rule142 } - , CharBlock { start: 8491, length: 1, convRule: rule143 } - , CharBlock { start: 8492, length: 2, convRule: rule98 } + , CharBlock { start: 8490, length: 1, convRule: rule160 } + , CharBlock { start: 8491, length: 1, convRule: rule161 } + , CharBlock { start: 8492, length: 2, convRule: rule106 } , CharBlock { start: 8494, length: 1, convRule: rule13 } - , CharBlock { start: 8495, length: 1, convRule: rule14 } - , CharBlock { start: 8496, length: 2, convRule: rule98 } - , CharBlock { start: 8498, length: 1, convRule: rule144 } - , CharBlock { start: 8499, length: 1, convRule: rule98 } - , CharBlock { start: 8500, length: 1, convRule: rule14 } - , CharBlock { start: 8501, length: 4, convRule: rule45 } - , CharBlock { start: 8505, length: 1, convRule: rule14 } + , CharBlock { start: 8495, length: 1, convRule: rule20 } + , CharBlock { start: 8496, length: 2, convRule: rule106 } + , CharBlock { start: 8498, length: 1, convRule: rule162 } + , CharBlock { start: 8499, length: 1, convRule: rule106 } + , CharBlock { start: 8500, length: 1, convRule: rule20 } + , CharBlock { start: 8501, length: 4, convRule: rule14 } + , CharBlock { start: 8505, length: 1, convRule: rule20 } , CharBlock { start: 8506, length: 2, convRule: rule13 } - , CharBlock { start: 8508, length: 2, convRule: rule14 } - , CharBlock { start: 8510, length: 2, convRule: rule98 } + , CharBlock { start: 8508, length: 2, convRule: rule20 } + , CharBlock { start: 8510, length: 2, convRule: rule106 } , CharBlock { start: 8512, length: 5, convRule: rule6 } - , CharBlock { start: 8517, length: 1, convRule: rule98 } - , CharBlock { start: 8518, length: 4, convRule: rule14 } + , CharBlock { start: 8517, length: 1, convRule: rule106 } + , CharBlock { start: 8518, length: 4, convRule: rule20 } , CharBlock { start: 8522, length: 1, convRule: rule13 } , CharBlock { start: 8523, length: 1, convRule: rule6 } , CharBlock { start: 8524, length: 2, convRule: rule13 } - , CharBlock { start: 8526, length: 1, convRule: rule145 } + , CharBlock { start: 8526, length: 1, convRule: rule163 } , CharBlock { start: 8527, length: 1, convRule: rule13 } , CharBlock { start: 8528, length: 16, convRule: rule17 } - , CharBlock { start: 8544, length: 16, convRule: rule146 } - , CharBlock { start: 8560, length: 16, convRule: rule147 } - , CharBlock { start: 8576, length: 3, convRule: rule116 } - , CharBlock { start: 8579, length: 1, convRule: rule21 } - , CharBlock { start: 8580, length: 1, convRule: rule22 } - , CharBlock { start: 8581, length: 4, convRule: rule116 } + , CharBlock { start: 8544, length: 16, convRule: rule164 } + , CharBlock { start: 8560, length: 16, convRule: rule165 } + , CharBlock { start: 8576, length: 3, convRule: rule126 } + , CharBlock { start: 8579, length: 1, convRule: rule22 } + , CharBlock { start: 8580, length: 1, convRule: rule23 } + , CharBlock { start: 8581, length: 4, convRule: rule126 } , CharBlock { start: 8585, length: 1, convRule: rule17 } + , CharBlock { start: 8586, length: 2, convRule: rule13 } , CharBlock { start: 8592, length: 5, convRule: rule6 } , CharBlock { start: 8597, length: 5, convRule: rule13 } , CharBlock { start: 8602, length: 2, convRule: rule6 } @@ -2464,7 +2615,10 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 8661, length: 31, convRule: rule13 } , CharBlock { start: 8692, length: 268, convRule: rule6 } , CharBlock { start: 8960, length: 8, convRule: rule13 } - , CharBlock { start: 8968, length: 4, convRule: rule6 } + , CharBlock { start: 8968, length: 1, convRule: rule4 } + , CharBlock { start: 8969, length: 1, convRule: rule5 } + , CharBlock { start: 8970, length: 1, convRule: rule4 } + , CharBlock { start: 8971, length: 1, convRule: rule5 } , CharBlock { start: 8972, length: 20, convRule: rule13 } , CharBlock { start: 8992, length: 2, convRule: rule6 } , CharBlock { start: 8994, length: 7, convRule: rule13 } @@ -2476,13 +2630,12 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 9115, length: 25, convRule: rule6 } , CharBlock { start: 9140, length: 40, convRule: rule13 } , CharBlock { start: 9180, length: 6, convRule: rule6 } - , CharBlock { start: 9186, length: 18, convRule: rule13 } - , CharBlock { start: 9216, length: 39, convRule: rule13 } + , CharBlock { start: 9186, length: 69, convRule: rule13 } , CharBlock { start: 9280, length: 11, convRule: rule13 } , CharBlock { start: 9312, length: 60, convRule: rule17 } , CharBlock { start: 9372, length: 26, convRule: rule13 } - , CharBlock { start: 9398, length: 26, convRule: rule148 } - , CharBlock { start: 9424, length: 26, convRule: rule149 } + , CharBlock { start: 9398, length: 26, convRule: rule166 } + , CharBlock { start: 9424, length: 26, convRule: rule167 } , CharBlock { start: 9450, length: 22, convRule: rule17 } , CharBlock { start: 9472, length: 183, convRule: rule13 } , CharBlock { start: 9655, length: 1, convRule: rule6 } @@ -2492,8 +2645,7 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 9720, length: 8, convRule: rule6 } , CharBlock { start: 9728, length: 111, convRule: rule13 } , CharBlock { start: 9839, length: 1, convRule: rule6 } - , CharBlock { start: 9840, length: 144, convRule: rule13 } - , CharBlock { start: 9985, length: 103, convRule: rule13 } + , CharBlock { start: 9840, length: 248, convRule: rule13 } , CharBlock { start: 10088, length: 1, convRule: rule4 } , CharBlock { start: 10089, length: 1, convRule: rule5 } , CharBlock { start: 10090, length: 1, convRule: rule4 } @@ -2513,9 +2665,7 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 10176, length: 5, convRule: rule6 } , CharBlock { start: 10181, length: 1, convRule: rule4 } , CharBlock { start: 10182, length: 1, convRule: rule5 } - , CharBlock { start: 10183, length: 4, convRule: rule6 } - , CharBlock { start: 10188, length: 1, convRule: rule6 } - , CharBlock { start: 10190, length: 24, convRule: rule6 } + , CharBlock { start: 10183, length: 31, convRule: rule6 } , CharBlock { start: 10214, length: 1, convRule: rule4 } , CharBlock { start: 10215, length: 1, convRule: rule5 } , CharBlock { start: 10216, length: 1, convRule: rule4 } @@ -2564,160 +2714,169 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 11056, length: 21, convRule: rule6 } , CharBlock { start: 11077, length: 2, convRule: rule13 } , CharBlock { start: 11079, length: 6, convRule: rule6 } - , CharBlock { start: 11088, length: 10, convRule: rule13 } - , CharBlock { start: 11264, length: 47, convRule: rule112 } - , CharBlock { start: 11312, length: 47, convRule: rule113 } - , CharBlock { start: 11360, length: 1, convRule: rule21 } - , CharBlock { start: 11361, length: 1, convRule: rule22 } - , CharBlock { start: 11362, length: 1, convRule: rule150 } - , CharBlock { start: 11363, length: 1, convRule: rule151 } - , CharBlock { start: 11364, length: 1, convRule: rule152 } - , CharBlock { start: 11365, length: 1, convRule: rule153 } - , CharBlock { start: 11366, length: 1, convRule: rule154 } - , CharBlock { start: 11367, length: 1, convRule: rule21 } - , CharBlock { start: 11368, length: 1, convRule: rule22 } - , CharBlock { start: 11369, length: 1, convRule: rule21 } - , CharBlock { start: 11370, length: 1, convRule: rule22 } - , CharBlock { start: 11371, length: 1, convRule: rule21 } - , CharBlock { start: 11372, length: 1, convRule: rule22 } - , CharBlock { start: 11373, length: 1, convRule: rule155 } - , CharBlock { start: 11374, length: 1, convRule: rule156 } - , CharBlock { start: 11375, length: 1, convRule: rule157 } - , CharBlock { start: 11376, length: 1, convRule: rule158 } - , CharBlock { start: 11377, length: 1, convRule: rule14 } - , CharBlock { start: 11378, length: 1, convRule: rule21 } - , CharBlock { start: 11379, length: 1, convRule: rule22 } - , CharBlock { start: 11380, length: 1, convRule: rule14 } - , CharBlock { start: 11381, length: 1, convRule: rule21 } - , CharBlock { start: 11382, length: 1, convRule: rule22 } - , CharBlock { start: 11383, length: 6, convRule: rule14 } - , CharBlock { start: 11389, length: 1, convRule: rule83 } - , CharBlock { start: 11390, length: 2, convRule: rule159 } - , CharBlock { start: 11392, length: 1, convRule: rule21 } - , CharBlock { start: 11393, length: 1, convRule: rule22 } - , CharBlock { start: 11394, length: 1, convRule: rule21 } - , CharBlock { start: 11395, length: 1, convRule: rule22 } - , CharBlock { start: 11396, length: 1, convRule: rule21 } - , CharBlock { start: 11397, length: 1, convRule: rule22 } - , CharBlock { start: 11398, length: 1, convRule: rule21 } - , CharBlock { start: 11399, length: 1, convRule: rule22 } - , CharBlock { start: 11400, length: 1, convRule: rule21 } - , CharBlock { start: 11401, length: 1, convRule: rule22 } - , CharBlock { start: 11402, length: 1, convRule: rule21 } - , CharBlock { start: 11403, length: 1, convRule: rule22 } - , CharBlock { start: 11404, length: 1, convRule: rule21 } - , CharBlock { start: 11405, length: 1, convRule: rule22 } - , CharBlock { start: 11406, length: 1, convRule: rule21 } - , CharBlock { start: 11407, length: 1, convRule: rule22 } - , CharBlock { start: 11408, length: 1, convRule: rule21 } - , CharBlock { start: 11409, length: 1, convRule: rule22 } - , CharBlock { start: 11410, length: 1, convRule: rule21 } - , CharBlock { start: 11411, length: 1, convRule: rule22 } - , CharBlock { start: 11412, length: 1, convRule: rule21 } - , CharBlock { start: 11413, length: 1, convRule: rule22 } - , CharBlock { start: 11414, length: 1, convRule: rule21 } - , CharBlock { start: 11415, length: 1, convRule: rule22 } - , CharBlock { start: 11416, length: 1, convRule: rule21 } - , CharBlock { start: 11417, length: 1, convRule: rule22 } - , CharBlock { start: 11418, length: 1, convRule: rule21 } - , CharBlock { start: 11419, length: 1, convRule: rule22 } - , CharBlock { start: 11420, length: 1, convRule: rule21 } - , CharBlock { start: 11421, length: 1, convRule: rule22 } - , CharBlock { start: 11422, length: 1, convRule: rule21 } - , CharBlock { start: 11423, length: 1, convRule: rule22 } - , CharBlock { start: 11424, length: 1, convRule: rule21 } - , CharBlock { start: 11425, length: 1, convRule: rule22 } - , CharBlock { start: 11426, length: 1, convRule: rule21 } - , CharBlock { start: 11427, length: 1, convRule: rule22 } - , CharBlock { start: 11428, length: 1, convRule: rule21 } - , CharBlock { start: 11429, length: 1, convRule: rule22 } - , CharBlock { start: 11430, length: 1, convRule: rule21 } - , CharBlock { start: 11431, length: 1, convRule: rule22 } - , CharBlock { start: 11432, length: 1, convRule: rule21 } - , CharBlock { start: 11433, length: 1, convRule: rule22 } - , CharBlock { start: 11434, length: 1, convRule: rule21 } - , CharBlock { start: 11435, length: 1, convRule: rule22 } - , CharBlock { start: 11436, length: 1, convRule: rule21 } - , CharBlock { start: 11437, length: 1, convRule: rule22 } - , CharBlock { start: 11438, length: 1, convRule: rule21 } - , CharBlock { start: 11439, length: 1, convRule: rule22 } - , CharBlock { start: 11440, length: 1, convRule: rule21 } - , CharBlock { start: 11441, length: 1, convRule: rule22 } - , CharBlock { start: 11442, length: 1, convRule: rule21 } - , CharBlock { start: 11443, length: 1, convRule: rule22 } - , CharBlock { start: 11444, length: 1, convRule: rule21 } - , CharBlock { start: 11445, length: 1, convRule: rule22 } - , CharBlock { start: 11446, length: 1, convRule: rule21 } - , CharBlock { start: 11447, length: 1, convRule: rule22 } - , CharBlock { start: 11448, length: 1, convRule: rule21 } - , CharBlock { start: 11449, length: 1, convRule: rule22 } - , CharBlock { start: 11450, length: 1, convRule: rule21 } - , CharBlock { start: 11451, length: 1, convRule: rule22 } - , CharBlock { start: 11452, length: 1, convRule: rule21 } - , CharBlock { start: 11453, length: 1, convRule: rule22 } - , CharBlock { start: 11454, length: 1, convRule: rule21 } - , CharBlock { start: 11455, length: 1, convRule: rule22 } - , CharBlock { start: 11456, length: 1, convRule: rule21 } - , CharBlock { start: 11457, length: 1, convRule: rule22 } - , CharBlock { start: 11458, length: 1, convRule: rule21 } - , CharBlock { start: 11459, length: 1, convRule: rule22 } - , CharBlock { start: 11460, length: 1, convRule: rule21 } - , CharBlock { start: 11461, length: 1, convRule: rule22 } - , CharBlock { start: 11462, length: 1, convRule: rule21 } - , CharBlock { start: 11463, length: 1, convRule: rule22 } - , CharBlock { start: 11464, length: 1, convRule: rule21 } - , CharBlock { start: 11465, length: 1, convRule: rule22 } - , CharBlock { start: 11466, length: 1, convRule: rule21 } - , CharBlock { start: 11467, length: 1, convRule: rule22 } - , CharBlock { start: 11468, length: 1, convRule: rule21 } - , CharBlock { start: 11469, length: 1, convRule: rule22 } - , CharBlock { start: 11470, length: 1, convRule: rule21 } - , CharBlock { start: 11471, length: 1, convRule: rule22 } - , CharBlock { start: 11472, length: 1, convRule: rule21 } - , CharBlock { start: 11473, length: 1, convRule: rule22 } - , CharBlock { start: 11474, length: 1, convRule: rule21 } - , CharBlock { start: 11475, length: 1, convRule: rule22 } - , CharBlock { start: 11476, length: 1, convRule: rule21 } - , CharBlock { start: 11477, length: 1, convRule: rule22 } - , CharBlock { start: 11478, length: 1, convRule: rule21 } - , CharBlock { start: 11479, length: 1, convRule: rule22 } - , CharBlock { start: 11480, length: 1, convRule: rule21 } - , CharBlock { start: 11481, length: 1, convRule: rule22 } - , CharBlock { start: 11482, length: 1, convRule: rule21 } - , CharBlock { start: 11483, length: 1, convRule: rule22 } - , CharBlock { start: 11484, length: 1, convRule: rule21 } - , CharBlock { start: 11485, length: 1, convRule: rule22 } - , CharBlock { start: 11486, length: 1, convRule: rule21 } - , CharBlock { start: 11487, length: 1, convRule: rule22 } - , CharBlock { start: 11488, length: 1, convRule: rule21 } - , CharBlock { start: 11489, length: 1, convRule: rule22 } - , CharBlock { start: 11490, length: 1, convRule: rule21 } - , CharBlock { start: 11491, length: 1, convRule: rule22 } - , CharBlock { start: 11492, length: 1, convRule: rule14 } + , CharBlock { start: 11085, length: 39, convRule: rule13 } + , CharBlock { start: 11126, length: 32, convRule: rule13 } + , CharBlock { start: 11160, length: 34, convRule: rule13 } + , CharBlock { start: 11197, length: 12, convRule: rule13 } + , CharBlock { start: 11210, length: 9, convRule: rule13 } + , CharBlock { start: 11244, length: 4, convRule: rule13 } + , CharBlock { start: 11264, length: 47, convRule: rule121 } + , CharBlock { start: 11312, length: 47, convRule: rule122 } + , CharBlock { start: 11360, length: 1, convRule: rule22 } + , CharBlock { start: 11361, length: 1, convRule: rule23 } + , CharBlock { start: 11362, length: 1, convRule: rule168 } + , CharBlock { start: 11363, length: 1, convRule: rule169 } + , CharBlock { start: 11364, length: 1, convRule: rule170 } + , CharBlock { start: 11365, length: 1, convRule: rule171 } + , CharBlock { start: 11366, length: 1, convRule: rule172 } + , CharBlock { start: 11367, length: 1, convRule: rule22 } + , CharBlock { start: 11368, length: 1, convRule: rule23 } + , CharBlock { start: 11369, length: 1, convRule: rule22 } + , CharBlock { start: 11370, length: 1, convRule: rule23 } + , CharBlock { start: 11371, length: 1, convRule: rule22 } + , CharBlock { start: 11372, length: 1, convRule: rule23 } + , CharBlock { start: 11373, length: 1, convRule: rule173 } + , CharBlock { start: 11374, length: 1, convRule: rule174 } + , CharBlock { start: 11375, length: 1, convRule: rule175 } + , CharBlock { start: 11376, length: 1, convRule: rule176 } + , CharBlock { start: 11377, length: 1, convRule: rule20 } + , CharBlock { start: 11378, length: 1, convRule: rule22 } + , CharBlock { start: 11379, length: 1, convRule: rule23 } + , CharBlock { start: 11380, length: 1, convRule: rule20 } + , CharBlock { start: 11381, length: 1, convRule: rule22 } + , CharBlock { start: 11382, length: 1, convRule: rule23 } + , CharBlock { start: 11383, length: 5, convRule: rule20 } + , CharBlock { start: 11388, length: 2, convRule: rule90 } + , CharBlock { start: 11390, length: 2, convRule: rule177 } + , CharBlock { start: 11392, length: 1, convRule: rule22 } + , CharBlock { start: 11393, length: 1, convRule: rule23 } + , CharBlock { start: 11394, length: 1, convRule: rule22 } + , CharBlock { start: 11395, length: 1, convRule: rule23 } + , CharBlock { start: 11396, length: 1, convRule: rule22 } + , CharBlock { start: 11397, length: 1, convRule: rule23 } + , CharBlock { start: 11398, length: 1, convRule: rule22 } + , CharBlock { start: 11399, length: 1, convRule: rule23 } + , CharBlock { start: 11400, length: 1, convRule: rule22 } + , CharBlock { start: 11401, length: 1, convRule: rule23 } + , CharBlock { start: 11402, length: 1, convRule: rule22 } + , CharBlock { start: 11403, length: 1, convRule: rule23 } + , CharBlock { start: 11404, length: 1, convRule: rule22 } + , CharBlock { start: 11405, length: 1, convRule: rule23 } + , CharBlock { start: 11406, length: 1, convRule: rule22 } + , CharBlock { start: 11407, length: 1, convRule: rule23 } + , CharBlock { start: 11408, length: 1, convRule: rule22 } + , CharBlock { start: 11409, length: 1, convRule: rule23 } + , CharBlock { start: 11410, length: 1, convRule: rule22 } + , CharBlock { start: 11411, length: 1, convRule: rule23 } + , CharBlock { start: 11412, length: 1, convRule: rule22 } + , CharBlock { start: 11413, length: 1, convRule: rule23 } + , CharBlock { start: 11414, length: 1, convRule: rule22 } + , CharBlock { start: 11415, length: 1, convRule: rule23 } + , CharBlock { start: 11416, length: 1, convRule: rule22 } + , CharBlock { start: 11417, length: 1, convRule: rule23 } + , CharBlock { start: 11418, length: 1, convRule: rule22 } + , CharBlock { start: 11419, length: 1, convRule: rule23 } + , CharBlock { start: 11420, length: 1, convRule: rule22 } + , CharBlock { start: 11421, length: 1, convRule: rule23 } + , CharBlock { start: 11422, length: 1, convRule: rule22 } + , CharBlock { start: 11423, length: 1, convRule: rule23 } + , CharBlock { start: 11424, length: 1, convRule: rule22 } + , CharBlock { start: 11425, length: 1, convRule: rule23 } + , CharBlock { start: 11426, length: 1, convRule: rule22 } + , CharBlock { start: 11427, length: 1, convRule: rule23 } + , CharBlock { start: 11428, length: 1, convRule: rule22 } + , CharBlock { start: 11429, length: 1, convRule: rule23 } + , CharBlock { start: 11430, length: 1, convRule: rule22 } + , CharBlock { start: 11431, length: 1, convRule: rule23 } + , CharBlock { start: 11432, length: 1, convRule: rule22 } + , CharBlock { start: 11433, length: 1, convRule: rule23 } + , CharBlock { start: 11434, length: 1, convRule: rule22 } + , CharBlock { start: 11435, length: 1, convRule: rule23 } + , CharBlock { start: 11436, length: 1, convRule: rule22 } + , CharBlock { start: 11437, length: 1, convRule: rule23 } + , CharBlock { start: 11438, length: 1, convRule: rule22 } + , CharBlock { start: 11439, length: 1, convRule: rule23 } + , CharBlock { start: 11440, length: 1, convRule: rule22 } + , CharBlock { start: 11441, length: 1, convRule: rule23 } + , CharBlock { start: 11442, length: 1, convRule: rule22 } + , CharBlock { start: 11443, length: 1, convRule: rule23 } + , CharBlock { start: 11444, length: 1, convRule: rule22 } + , CharBlock { start: 11445, length: 1, convRule: rule23 } + , CharBlock { start: 11446, length: 1, convRule: rule22 } + , CharBlock { start: 11447, length: 1, convRule: rule23 } + , CharBlock { start: 11448, length: 1, convRule: rule22 } + , CharBlock { start: 11449, length: 1, convRule: rule23 } + , CharBlock { start: 11450, length: 1, convRule: rule22 } + , CharBlock { start: 11451, length: 1, convRule: rule23 } + , CharBlock { start: 11452, length: 1, convRule: rule22 } + , CharBlock { start: 11453, length: 1, convRule: rule23 } + , CharBlock { start: 11454, length: 1, convRule: rule22 } + , CharBlock { start: 11455, length: 1, convRule: rule23 } + , CharBlock { start: 11456, length: 1, convRule: rule22 } + , CharBlock { start: 11457, length: 1, convRule: rule23 } + , CharBlock { start: 11458, length: 1, convRule: rule22 } + , CharBlock { start: 11459, length: 1, convRule: rule23 } + , CharBlock { start: 11460, length: 1, convRule: rule22 } + , CharBlock { start: 11461, length: 1, convRule: rule23 } + , CharBlock { start: 11462, length: 1, convRule: rule22 } + , CharBlock { start: 11463, length: 1, convRule: rule23 } + , CharBlock { start: 11464, length: 1, convRule: rule22 } + , CharBlock { start: 11465, length: 1, convRule: rule23 } + , CharBlock { start: 11466, length: 1, convRule: rule22 } + , CharBlock { start: 11467, length: 1, convRule: rule23 } + , CharBlock { start: 11468, length: 1, convRule: rule22 } + , CharBlock { start: 11469, length: 1, convRule: rule23 } + , CharBlock { start: 11470, length: 1, convRule: rule22 } + , CharBlock { start: 11471, length: 1, convRule: rule23 } + , CharBlock { start: 11472, length: 1, convRule: rule22 } + , CharBlock { start: 11473, length: 1, convRule: rule23 } + , CharBlock { start: 11474, length: 1, convRule: rule22 } + , CharBlock { start: 11475, length: 1, convRule: rule23 } + , CharBlock { start: 11476, length: 1, convRule: rule22 } + , CharBlock { start: 11477, length: 1, convRule: rule23 } + , CharBlock { start: 11478, length: 1, convRule: rule22 } + , CharBlock { start: 11479, length: 1, convRule: rule23 } + , CharBlock { start: 11480, length: 1, convRule: rule22 } + , CharBlock { start: 11481, length: 1, convRule: rule23 } + , CharBlock { start: 11482, length: 1, convRule: rule22 } + , CharBlock { start: 11483, length: 1, convRule: rule23 } + , CharBlock { start: 11484, length: 1, convRule: rule22 } + , CharBlock { start: 11485, length: 1, convRule: rule23 } + , CharBlock { start: 11486, length: 1, convRule: rule22 } + , CharBlock { start: 11487, length: 1, convRule: rule23 } + , CharBlock { start: 11488, length: 1, convRule: rule22 } + , CharBlock { start: 11489, length: 1, convRule: rule23 } + , CharBlock { start: 11490, length: 1, convRule: rule22 } + , CharBlock { start: 11491, length: 1, convRule: rule23 } + , CharBlock { start: 11492, length: 1, convRule: rule20 } , CharBlock { start: 11493, length: 6, convRule: rule13 } - , CharBlock { start: 11499, length: 1, convRule: rule21 } - , CharBlock { start: 11500, length: 1, convRule: rule22 } - , CharBlock { start: 11501, length: 1, convRule: rule21 } - , CharBlock { start: 11502, length: 1, convRule: rule22 } - , CharBlock { start: 11503, length: 3, convRule: rule84 } + , CharBlock { start: 11499, length: 1, convRule: rule22 } + , CharBlock { start: 11500, length: 1, convRule: rule23 } + , CharBlock { start: 11501, length: 1, convRule: rule22 } + , CharBlock { start: 11502, length: 1, convRule: rule23 } + , CharBlock { start: 11503, length: 3, convRule: rule91 } + , CharBlock { start: 11506, length: 1, convRule: rule22 } + , CharBlock { start: 11507, length: 1, convRule: rule23 } , CharBlock { start: 11513, length: 4, convRule: rule2 } , CharBlock { start: 11517, length: 1, convRule: rule17 } , CharBlock { start: 11518, length: 2, convRule: rule2 } - , CharBlock { start: 11520, length: 38, convRule: rule160 } - , CharBlock { start: 11568, length: 54, convRule: rule45 } - , CharBlock { start: 11631, length: 1, convRule: rule83 } + , CharBlock { start: 11520, length: 38, convRule: rule178 } + , CharBlock { start: 11559, length: 1, convRule: rule178 } + , CharBlock { start: 11565, length: 1, convRule: rule178 } + , CharBlock { start: 11568, length: 56, convRule: rule14 } + , CharBlock { start: 11631, length: 1, convRule: rule90 } , CharBlock { start: 11632, length: 1, convRule: rule2 } - , CharBlock { start: 11647, length: 1, convRule: rule84 } - , CharBlock { start: 11648, length: 23, convRule: rule45 } - , CharBlock { start: 11680, length: 7, convRule: rule45 } - , CharBlock { start: 11688, length: 7, convRule: rule45 } - , CharBlock { start: 11696, length: 7, convRule: rule45 } - , CharBlock { start: 11704, length: 7, convRule: rule45 } - , CharBlock { start: 11712, length: 7, convRule: rule45 } - , CharBlock { start: 11720, length: 7, convRule: rule45 } - , CharBlock { start: 11728, length: 7, convRule: rule45 } - , CharBlock { start: 11736, length: 7, convRule: rule45 } - , CharBlock { start: 11744, length: 32, convRule: rule84 } + , CharBlock { start: 11647, length: 1, convRule: rule91 } + , CharBlock { start: 11648, length: 23, convRule: rule14 } + , CharBlock { start: 11680, length: 7, convRule: rule14 } + , CharBlock { start: 11688, length: 7, convRule: rule14 } + , CharBlock { start: 11696, length: 7, convRule: rule14 } + , CharBlock { start: 11704, length: 7, convRule: rule14 } + , CharBlock { start: 11712, length: 7, convRule: rule14 } + , CharBlock { start: 11720, length: 7, convRule: rule14 } + , CharBlock { start: 11728, length: 7, convRule: rule14 } + , CharBlock { start: 11736, length: 7, convRule: rule14 } + , CharBlock { start: 11744, length: 32, convRule: rule91 } , CharBlock { start: 11776, length: 2, convRule: rule2 } , CharBlock { start: 11778, length: 1, convRule: rule15 } , CharBlock { start: 11779, length: 1, convRule: rule19 } @@ -2748,8 +2907,14 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 11816, length: 1, convRule: rule4 } , CharBlock { start: 11817, length: 1, convRule: rule5 } , CharBlock { start: 11818, length: 5, convRule: rule2 } - , CharBlock { start: 11823, length: 1, convRule: rule83 } - , CharBlock { start: 11824, length: 2, convRule: rule2 } + , CharBlock { start: 11823, length: 1, convRule: rule90 } + , CharBlock { start: 11824, length: 10, convRule: rule2 } + , CharBlock { start: 11834, length: 2, convRule: rule7 } + , CharBlock { start: 11836, length: 4, convRule: rule2 } + , CharBlock { start: 11840, length: 1, convRule: rule7 } + , CharBlock { start: 11841, length: 1, convRule: rule2 } + , CharBlock { start: 11842, length: 1, convRule: rule4 } + , CharBlock { start: 11843, length: 7, convRule: rule2 } , CharBlock { start: 11904, length: 26, convRule: rule13 } , CharBlock { start: 11931, length: 89, convRule: rule13 } , CharBlock { start: 12032, length: 214, convRule: rule13 } @@ -2757,9 +2922,9 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 12288, length: 1, convRule: rule1 } , CharBlock { start: 12289, length: 3, convRule: rule2 } , CharBlock { start: 12292, length: 1, convRule: rule13 } - , CharBlock { start: 12293, length: 1, convRule: rule83 } - , CharBlock { start: 12294, length: 1, convRule: rule45 } - , CharBlock { start: 12295, length: 1, convRule: rule116 } + , CharBlock { start: 12293, length: 1, convRule: rule90 } + , CharBlock { start: 12294, length: 1, convRule: rule14 } + , CharBlock { start: 12295, length: 1, convRule: rule126 } , CharBlock { start: 12296, length: 1, convRule: rule4 } , CharBlock { start: 12297, length: 1, convRule: rule5 } , CharBlock { start: 12298, length: 1, convRule: rule4 } @@ -2783,37 +2948,40 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 12317, length: 1, convRule: rule4 } , CharBlock { start: 12318, length: 2, convRule: rule5 } , CharBlock { start: 12320, length: 1, convRule: rule13 } - , CharBlock { start: 12321, length: 9, convRule: rule116 } - , CharBlock { start: 12330, length: 6, convRule: rule84 } + , CharBlock { start: 12321, length: 9, convRule: rule126 } + , CharBlock { start: 12330, length: 4, convRule: rule91 } + , CharBlock { start: 12334, length: 2, convRule: rule123 } , CharBlock { start: 12336, length: 1, convRule: rule7 } - , CharBlock { start: 12337, length: 5, convRule: rule83 } + , CharBlock { start: 12337, length: 5, convRule: rule90 } , CharBlock { start: 12342, length: 2, convRule: rule13 } - , CharBlock { start: 12344, length: 3, convRule: rule116 } - , CharBlock { start: 12347, length: 1, convRule: rule83 } - , CharBlock { start: 12348, length: 1, convRule: rule45 } + , CharBlock { start: 12344, length: 3, convRule: rule126 } + , CharBlock { start: 12347, length: 1, convRule: rule90 } + , CharBlock { start: 12348, length: 1, convRule: rule14 } , CharBlock { start: 12349, length: 1, convRule: rule2 } , CharBlock { start: 12350, length: 2, convRule: rule13 } - , CharBlock { start: 12353, length: 86, convRule: rule45 } - , CharBlock { start: 12441, length: 2, convRule: rule84 } + , CharBlock { start: 12353, length: 86, convRule: rule14 } + , CharBlock { start: 12441, length: 2, convRule: rule91 } , CharBlock { start: 12443, length: 2, convRule: rule10 } - , CharBlock { start: 12445, length: 2, convRule: rule83 } - , CharBlock { start: 12447, length: 1, convRule: rule45 } + , CharBlock { start: 12445, length: 2, convRule: rule90 } + , CharBlock { start: 12447, length: 1, convRule: rule14 } , CharBlock { start: 12448, length: 1, convRule: rule7 } - , CharBlock { start: 12449, length: 90, convRule: rule45 } + , CharBlock { start: 12449, length: 90, convRule: rule14 } , CharBlock { start: 12539, length: 1, convRule: rule2 } - , CharBlock { start: 12540, length: 3, convRule: rule83 } - , CharBlock { start: 12543, length: 1, convRule: rule45 } - , CharBlock { start: 12549, length: 41, convRule: rule45 } - , CharBlock { start: 12593, length: 94, convRule: rule45 } + , CharBlock { start: 12540, length: 3, convRule: rule90 } + , CharBlock { start: 12543, length: 1, convRule: rule14 } + , CharBlock { start: 12549, length: 42, convRule: rule14 } + , CharBlock { start: 12593, length: 94, convRule: rule14 } , CharBlock { start: 12688, length: 2, convRule: rule13 } , CharBlock { start: 12690, length: 4, convRule: rule17 } , CharBlock { start: 12694, length: 10, convRule: rule13 } - , CharBlock { start: 12704, length: 27, convRule: rule45 } + , CharBlock { start: 12704, length: 27, convRule: rule14 } , CharBlock { start: 12736, length: 36, convRule: rule13 } - , CharBlock { start: 12784, length: 16, convRule: rule45 } + , CharBlock { start: 12784, length: 16, convRule: rule14 } , CharBlock { start: 12800, length: 31, convRule: rule13 } , CharBlock { start: 12832, length: 10, convRule: rule17 } - , CharBlock { start: 12842, length: 39, convRule: rule13 } + , CharBlock { start: 12842, length: 30, convRule: rule13 } + , CharBlock { start: 12872, length: 8, convRule: rule17 } + , CharBlock { start: 12880, length: 1, convRule: rule13 } , CharBlock { start: 12881, length: 15, convRule: rule17 } , CharBlock { start: 12896, length: 32, convRule: rule13 } , CharBlock { start: 12928, length: 10, convRule: rule17 } @@ -2821,353 +2989,413 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 12977, length: 15, convRule: rule17 } , CharBlock { start: 12992, length: 63, convRule: rule13 } , CharBlock { start: 13056, length: 256, convRule: rule13 } - , CharBlock { start: 13312, length: 6582, convRule: rule45 } + , CharBlock { start: 13312, length: 6582, convRule: rule14 } , CharBlock { start: 19904, length: 64, convRule: rule13 } - , CharBlock { start: 19968, length: 20940, convRule: rule45 } - , CharBlock { start: 40960, length: 21, convRule: rule45 } - , CharBlock { start: 40981, length: 1, convRule: rule83 } - , CharBlock { start: 40982, length: 1143, convRule: rule45 } + , CharBlock { start: 19968, length: 20971, convRule: rule14 } + , CharBlock { start: 40960, length: 21, convRule: rule14 } + , CharBlock { start: 40981, length: 1, convRule: rule90 } + , CharBlock { start: 40982, length: 1143, convRule: rule14 } , CharBlock { start: 42128, length: 55, convRule: rule13 } - , CharBlock { start: 42192, length: 40, convRule: rule45 } - , CharBlock { start: 42232, length: 6, convRule: rule83 } + , CharBlock { start: 42192, length: 40, convRule: rule14 } + , CharBlock { start: 42232, length: 6, convRule: rule90 } , CharBlock { start: 42238, length: 2, convRule: rule2 } - , CharBlock { start: 42240, length: 268, convRule: rule45 } - , CharBlock { start: 42508, length: 1, convRule: rule83 } + , CharBlock { start: 42240, length: 268, convRule: rule14 } + , CharBlock { start: 42508, length: 1, convRule: rule90 } , CharBlock { start: 42509, length: 3, convRule: rule2 } - , CharBlock { start: 42512, length: 16, convRule: rule45 } + , CharBlock { start: 42512, length: 16, convRule: rule14 } , CharBlock { start: 42528, length: 10, convRule: rule8 } - , CharBlock { start: 42538, length: 2, convRule: rule45 } - , CharBlock { start: 42560, length: 1, convRule: rule21 } - , CharBlock { start: 42561, length: 1, convRule: rule22 } - , CharBlock { start: 42562, length: 1, convRule: rule21 } - , CharBlock { start: 42563, length: 1, convRule: rule22 } - , CharBlock { start: 42564, length: 1, convRule: rule21 } - , CharBlock { start: 42565, length: 1, convRule: rule22 } - , CharBlock { start: 42566, length: 1, convRule: rule21 } - , CharBlock { start: 42567, length: 1, convRule: rule22 } - , CharBlock { start: 42568, length: 1, convRule: rule21 } - , CharBlock { start: 42569, length: 1, convRule: rule22 } - , CharBlock { start: 42570, length: 1, convRule: rule21 } - , CharBlock { start: 42571, length: 1, convRule: rule22 } - , CharBlock { start: 42572, length: 1, convRule: rule21 } - , CharBlock { start: 42573, length: 1, convRule: rule22 } - , CharBlock { start: 42574, length: 1, convRule: rule21 } - , CharBlock { start: 42575, length: 1, convRule: rule22 } - , CharBlock { start: 42576, length: 1, convRule: rule21 } - , CharBlock { start: 42577, length: 1, convRule: rule22 } - , CharBlock { start: 42578, length: 1, convRule: rule21 } - , CharBlock { start: 42579, length: 1, convRule: rule22 } - , CharBlock { start: 42580, length: 1, convRule: rule21 } - , CharBlock { start: 42581, length: 1, convRule: rule22 } - , CharBlock { start: 42582, length: 1, convRule: rule21 } - , CharBlock { start: 42583, length: 1, convRule: rule22 } - , CharBlock { start: 42584, length: 1, convRule: rule21 } - , CharBlock { start: 42585, length: 1, convRule: rule22 } - , CharBlock { start: 42586, length: 1, convRule: rule21 } - , CharBlock { start: 42587, length: 1, convRule: rule22 } - , CharBlock { start: 42588, length: 1, convRule: rule21 } - , CharBlock { start: 42589, length: 1, convRule: rule22 } - , CharBlock { start: 42590, length: 1, convRule: rule21 } - , CharBlock { start: 42591, length: 1, convRule: rule22 } - , CharBlock { start: 42592, length: 1, convRule: rule21 } - , CharBlock { start: 42593, length: 1, convRule: rule22 } - , CharBlock { start: 42594, length: 1, convRule: rule21 } - , CharBlock { start: 42595, length: 1, convRule: rule22 } - , CharBlock { start: 42596, length: 1, convRule: rule21 } - , CharBlock { start: 42597, length: 1, convRule: rule22 } - , CharBlock { start: 42598, length: 1, convRule: rule21 } - , CharBlock { start: 42599, length: 1, convRule: rule22 } - , CharBlock { start: 42600, length: 1, convRule: rule21 } - , CharBlock { start: 42601, length: 1, convRule: rule22 } - , CharBlock { start: 42602, length: 1, convRule: rule21 } - , CharBlock { start: 42603, length: 1, convRule: rule22 } - , CharBlock { start: 42604, length: 1, convRule: rule21 } - , CharBlock { start: 42605, length: 1, convRule: rule22 } - , CharBlock { start: 42606, length: 1, convRule: rule45 } - , CharBlock { start: 42607, length: 1, convRule: rule84 } - , CharBlock { start: 42608, length: 3, convRule: rule109 } + , CharBlock { start: 42538, length: 2, convRule: rule14 } + , CharBlock { start: 42560, length: 1, convRule: rule22 } + , CharBlock { start: 42561, length: 1, convRule: rule23 } + , CharBlock { start: 42562, length: 1, convRule: rule22 } + , CharBlock { start: 42563, length: 1, convRule: rule23 } + , CharBlock { start: 42564, length: 1, convRule: rule22 } + , CharBlock { start: 42565, length: 1, convRule: rule23 } + , CharBlock { start: 42566, length: 1, convRule: rule22 } + , CharBlock { start: 42567, length: 1, convRule: rule23 } + , CharBlock { start: 42568, length: 1, convRule: rule22 } + , CharBlock { start: 42569, length: 1, convRule: rule23 } + , CharBlock { start: 42570, length: 1, convRule: rule22 } + , CharBlock { start: 42571, length: 1, convRule: rule23 } + , CharBlock { start: 42572, length: 1, convRule: rule22 } + , CharBlock { start: 42573, length: 1, convRule: rule23 } + , CharBlock { start: 42574, length: 1, convRule: rule22 } + , CharBlock { start: 42575, length: 1, convRule: rule23 } + , CharBlock { start: 42576, length: 1, convRule: rule22 } + , CharBlock { start: 42577, length: 1, convRule: rule23 } + , CharBlock { start: 42578, length: 1, convRule: rule22 } + , CharBlock { start: 42579, length: 1, convRule: rule23 } + , CharBlock { start: 42580, length: 1, convRule: rule22 } + , CharBlock { start: 42581, length: 1, convRule: rule23 } + , CharBlock { start: 42582, length: 1, convRule: rule22 } + , CharBlock { start: 42583, length: 1, convRule: rule23 } + , CharBlock { start: 42584, length: 1, convRule: rule22 } + , CharBlock { start: 42585, length: 1, convRule: rule23 } + , CharBlock { start: 42586, length: 1, convRule: rule22 } + , CharBlock { start: 42587, length: 1, convRule: rule23 } + , CharBlock { start: 42588, length: 1, convRule: rule22 } + , CharBlock { start: 42589, length: 1, convRule: rule23 } + , CharBlock { start: 42590, length: 1, convRule: rule22 } + , CharBlock { start: 42591, length: 1, convRule: rule23 } + , CharBlock { start: 42592, length: 1, convRule: rule22 } + , CharBlock { start: 42593, length: 1, convRule: rule23 } + , CharBlock { start: 42594, length: 1, convRule: rule22 } + , CharBlock { start: 42595, length: 1, convRule: rule23 } + , CharBlock { start: 42596, length: 1, convRule: rule22 } + , CharBlock { start: 42597, length: 1, convRule: rule23 } + , CharBlock { start: 42598, length: 1, convRule: rule22 } + , CharBlock { start: 42599, length: 1, convRule: rule23 } + , CharBlock { start: 42600, length: 1, convRule: rule22 } + , CharBlock { start: 42601, length: 1, convRule: rule23 } + , CharBlock { start: 42602, length: 1, convRule: rule22 } + , CharBlock { start: 42603, length: 1, convRule: rule23 } + , CharBlock { start: 42604, length: 1, convRule: rule22 } + , CharBlock { start: 42605, length: 1, convRule: rule23 } + , CharBlock { start: 42606, length: 1, convRule: rule14 } + , CharBlock { start: 42607, length: 1, convRule: rule91 } + , CharBlock { start: 42608, length: 3, convRule: rule118 } , CharBlock { start: 42611, length: 1, convRule: rule2 } - , CharBlock { start: 42620, length: 2, convRule: rule84 } + , CharBlock { start: 42612, length: 10, convRule: rule91 } , CharBlock { start: 42622, length: 1, convRule: rule2 } - , CharBlock { start: 42623, length: 1, convRule: rule83 } - , CharBlock { start: 42624, length: 1, convRule: rule21 } - , CharBlock { start: 42625, length: 1, convRule: rule22 } - , CharBlock { start: 42626, length: 1, convRule: rule21 } - , CharBlock { start: 42627, length: 1, convRule: rule22 } - , CharBlock { start: 42628, length: 1, convRule: rule21 } - , CharBlock { start: 42629, length: 1, convRule: rule22 } - , CharBlock { start: 42630, length: 1, convRule: rule21 } - , CharBlock { start: 42631, length: 1, convRule: rule22 } - , CharBlock { start: 42632, length: 1, convRule: rule21 } - , CharBlock { start: 42633, length: 1, convRule: rule22 } - , CharBlock { start: 42634, length: 1, convRule: rule21 } - , CharBlock { start: 42635, length: 1, convRule: rule22 } - , CharBlock { start: 42636, length: 1, convRule: rule21 } - , CharBlock { start: 42637, length: 1, convRule: rule22 } - , CharBlock { start: 42638, length: 1, convRule: rule21 } - , CharBlock { start: 42639, length: 1, convRule: rule22 } - , CharBlock { start: 42640, length: 1, convRule: rule21 } - , CharBlock { start: 42641, length: 1, convRule: rule22 } - , CharBlock { start: 42642, length: 1, convRule: rule21 } - , CharBlock { start: 42643, length: 1, convRule: rule22 } - , CharBlock { start: 42644, length: 1, convRule: rule21 } - , CharBlock { start: 42645, length: 1, convRule: rule22 } - , CharBlock { start: 42646, length: 1, convRule: rule21 } - , CharBlock { start: 42647, length: 1, convRule: rule22 } - , CharBlock { start: 42656, length: 70, convRule: rule45 } - , CharBlock { start: 42726, length: 10, convRule: rule116 } - , CharBlock { start: 42736, length: 2, convRule: rule84 } + , CharBlock { start: 42623, length: 1, convRule: rule90 } + , CharBlock { start: 42624, length: 1, convRule: rule22 } + , CharBlock { start: 42625, length: 1, convRule: rule23 } + , CharBlock { start: 42626, length: 1, convRule: rule22 } + , CharBlock { start: 42627, length: 1, convRule: rule23 } + , CharBlock { start: 42628, length: 1, convRule: rule22 } + , CharBlock { start: 42629, length: 1, convRule: rule23 } + , CharBlock { start: 42630, length: 1, convRule: rule22 } + , CharBlock { start: 42631, length: 1, convRule: rule23 } + , CharBlock { start: 42632, length: 1, convRule: rule22 } + , CharBlock { start: 42633, length: 1, convRule: rule23 } + , CharBlock { start: 42634, length: 1, convRule: rule22 } + , CharBlock { start: 42635, length: 1, convRule: rule23 } + , CharBlock { start: 42636, length: 1, convRule: rule22 } + , CharBlock { start: 42637, length: 1, convRule: rule23 } + , CharBlock { start: 42638, length: 1, convRule: rule22 } + , CharBlock { start: 42639, length: 1, convRule: rule23 } + , CharBlock { start: 42640, length: 1, convRule: rule22 } + , CharBlock { start: 42641, length: 1, convRule: rule23 } + , CharBlock { start: 42642, length: 1, convRule: rule22 } + , CharBlock { start: 42643, length: 1, convRule: rule23 } + , CharBlock { start: 42644, length: 1, convRule: rule22 } + , CharBlock { start: 42645, length: 1, convRule: rule23 } + , CharBlock { start: 42646, length: 1, convRule: rule22 } + , CharBlock { start: 42647, length: 1, convRule: rule23 } + , CharBlock { start: 42648, length: 1, convRule: rule22 } + , CharBlock { start: 42649, length: 1, convRule: rule23 } + , CharBlock { start: 42650, length: 1, convRule: rule22 } + , CharBlock { start: 42651, length: 1, convRule: rule23 } + , CharBlock { start: 42652, length: 2, convRule: rule90 } + , CharBlock { start: 42654, length: 2, convRule: rule91 } + , CharBlock { start: 42656, length: 70, convRule: rule14 } + , CharBlock { start: 42726, length: 10, convRule: rule126 } + , CharBlock { start: 42736, length: 2, convRule: rule91 } , CharBlock { start: 42738, length: 6, convRule: rule2 } , CharBlock { start: 42752, length: 23, convRule: rule10 } - , CharBlock { start: 42775, length: 9, convRule: rule83 } + , CharBlock { start: 42775, length: 9, convRule: rule90 } , CharBlock { start: 42784, length: 2, convRule: rule10 } - , CharBlock { start: 42786, length: 1, convRule: rule21 } - , CharBlock { start: 42787, length: 1, convRule: rule22 } - , CharBlock { start: 42788, length: 1, convRule: rule21 } - , CharBlock { start: 42789, length: 1, convRule: rule22 } - , CharBlock { start: 42790, length: 1, convRule: rule21 } - , CharBlock { start: 42791, length: 1, convRule: rule22 } - , CharBlock { start: 42792, length: 1, convRule: rule21 } - , CharBlock { start: 42793, length: 1, convRule: rule22 } - , CharBlock { start: 42794, length: 1, convRule: rule21 } - , CharBlock { start: 42795, length: 1, convRule: rule22 } - , CharBlock { start: 42796, length: 1, convRule: rule21 } - , CharBlock { start: 42797, length: 1, convRule: rule22 } - , CharBlock { start: 42798, length: 1, convRule: rule21 } - , CharBlock { start: 42799, length: 1, convRule: rule22 } - , CharBlock { start: 42800, length: 2, convRule: rule14 } - , CharBlock { start: 42802, length: 1, convRule: rule21 } - , CharBlock { start: 42803, length: 1, convRule: rule22 } - , CharBlock { start: 42804, length: 1, convRule: rule21 } - , CharBlock { start: 42805, length: 1, convRule: rule22 } - , CharBlock { start: 42806, length: 1, convRule: rule21 } - , CharBlock { start: 42807, length: 1, convRule: rule22 } - , CharBlock { start: 42808, length: 1, convRule: rule21 } - , CharBlock { start: 42809, length: 1, convRule: rule22 } - , CharBlock { start: 42810, length: 1, convRule: rule21 } - , CharBlock { start: 42811, length: 1, convRule: rule22 } - , CharBlock { start: 42812, length: 1, convRule: rule21 } - , CharBlock { start: 42813, length: 1, convRule: rule22 } - , CharBlock { start: 42814, length: 1, convRule: rule21 } - , CharBlock { start: 42815, length: 1, convRule: rule22 } - , CharBlock { start: 42816, length: 1, convRule: rule21 } - , CharBlock { start: 42817, length: 1, convRule: rule22 } - , CharBlock { start: 42818, length: 1, convRule: rule21 } - , CharBlock { start: 42819, length: 1, convRule: rule22 } - , CharBlock { start: 42820, length: 1, convRule: rule21 } - , CharBlock { start: 42821, length: 1, convRule: rule22 } - , CharBlock { start: 42822, length: 1, convRule: rule21 } - , CharBlock { start: 42823, length: 1, convRule: rule22 } - , CharBlock { start: 42824, length: 1, convRule: rule21 } - , CharBlock { start: 42825, length: 1, convRule: rule22 } - , CharBlock { start: 42826, length: 1, convRule: rule21 } - , CharBlock { start: 42827, length: 1, convRule: rule22 } - , CharBlock { start: 42828, length: 1, convRule: rule21 } - , CharBlock { start: 42829, length: 1, convRule: rule22 } - , CharBlock { start: 42830, length: 1, convRule: rule21 } - , CharBlock { start: 42831, length: 1, convRule: rule22 } - , CharBlock { start: 42832, length: 1, convRule: rule21 } - , CharBlock { start: 42833, length: 1, convRule: rule22 } - , CharBlock { start: 42834, length: 1, convRule: rule21 } - , CharBlock { start: 42835, length: 1, convRule: rule22 } - , CharBlock { start: 42836, length: 1, convRule: rule21 } - , CharBlock { start: 42837, length: 1, convRule: rule22 } - , CharBlock { start: 42838, length: 1, convRule: rule21 } - , CharBlock { start: 42839, length: 1, convRule: rule22 } - , CharBlock { start: 42840, length: 1, convRule: rule21 } - , CharBlock { start: 42841, length: 1, convRule: rule22 } - , CharBlock { start: 42842, length: 1, convRule: rule21 } - , CharBlock { start: 42843, length: 1, convRule: rule22 } - , CharBlock { start: 42844, length: 1, convRule: rule21 } - , CharBlock { start: 42845, length: 1, convRule: rule22 } - , CharBlock { start: 42846, length: 1, convRule: rule21 } - , CharBlock { start: 42847, length: 1, convRule: rule22 } - , CharBlock { start: 42848, length: 1, convRule: rule21 } - , CharBlock { start: 42849, length: 1, convRule: rule22 } - , CharBlock { start: 42850, length: 1, convRule: rule21 } - , CharBlock { start: 42851, length: 1, convRule: rule22 } - , CharBlock { start: 42852, length: 1, convRule: rule21 } - , CharBlock { start: 42853, length: 1, convRule: rule22 } - , CharBlock { start: 42854, length: 1, convRule: rule21 } - , CharBlock { start: 42855, length: 1, convRule: rule22 } - , CharBlock { start: 42856, length: 1, convRule: rule21 } - , CharBlock { start: 42857, length: 1, convRule: rule22 } - , CharBlock { start: 42858, length: 1, convRule: rule21 } - , CharBlock { start: 42859, length: 1, convRule: rule22 } - , CharBlock { start: 42860, length: 1, convRule: rule21 } - , CharBlock { start: 42861, length: 1, convRule: rule22 } - , CharBlock { start: 42862, length: 1, convRule: rule21 } - , CharBlock { start: 42863, length: 1, convRule: rule22 } - , CharBlock { start: 42864, length: 1, convRule: rule83 } - , CharBlock { start: 42865, length: 8, convRule: rule14 } - , CharBlock { start: 42873, length: 1, convRule: rule21 } - , CharBlock { start: 42874, length: 1, convRule: rule22 } - , CharBlock { start: 42875, length: 1, convRule: rule21 } - , CharBlock { start: 42876, length: 1, convRule: rule22 } - , CharBlock { start: 42877, length: 1, convRule: rule161 } - , CharBlock { start: 42878, length: 1, convRule: rule21 } - , CharBlock { start: 42879, length: 1, convRule: rule22 } - , CharBlock { start: 42880, length: 1, convRule: rule21 } - , CharBlock { start: 42881, length: 1, convRule: rule22 } - , CharBlock { start: 42882, length: 1, convRule: rule21 } - , CharBlock { start: 42883, length: 1, convRule: rule22 } - , CharBlock { start: 42884, length: 1, convRule: rule21 } - , CharBlock { start: 42885, length: 1, convRule: rule22 } - , CharBlock { start: 42886, length: 1, convRule: rule21 } - , CharBlock { start: 42887, length: 1, convRule: rule22 } - , CharBlock { start: 42888, length: 1, convRule: rule83 } + , CharBlock { start: 42786, length: 1, convRule: rule22 } + , CharBlock { start: 42787, length: 1, convRule: rule23 } + , CharBlock { start: 42788, length: 1, convRule: rule22 } + , CharBlock { start: 42789, length: 1, convRule: rule23 } + , CharBlock { start: 42790, length: 1, convRule: rule22 } + , CharBlock { start: 42791, length: 1, convRule: rule23 } + , CharBlock { start: 42792, length: 1, convRule: rule22 } + , CharBlock { start: 42793, length: 1, convRule: rule23 } + , CharBlock { start: 42794, length: 1, convRule: rule22 } + , CharBlock { start: 42795, length: 1, convRule: rule23 } + , CharBlock { start: 42796, length: 1, convRule: rule22 } + , CharBlock { start: 42797, length: 1, convRule: rule23 } + , CharBlock { start: 42798, length: 1, convRule: rule22 } + , CharBlock { start: 42799, length: 1, convRule: rule23 } + , CharBlock { start: 42800, length: 2, convRule: rule20 } + , CharBlock { start: 42802, length: 1, convRule: rule22 } + , CharBlock { start: 42803, length: 1, convRule: rule23 } + , CharBlock { start: 42804, length: 1, convRule: rule22 } + , CharBlock { start: 42805, length: 1, convRule: rule23 } + , CharBlock { start: 42806, length: 1, convRule: rule22 } + , CharBlock { start: 42807, length: 1, convRule: rule23 } + , CharBlock { start: 42808, length: 1, convRule: rule22 } + , CharBlock { start: 42809, length: 1, convRule: rule23 } + , CharBlock { start: 42810, length: 1, convRule: rule22 } + , CharBlock { start: 42811, length: 1, convRule: rule23 } + , CharBlock { start: 42812, length: 1, convRule: rule22 } + , CharBlock { start: 42813, length: 1, convRule: rule23 } + , CharBlock { start: 42814, length: 1, convRule: rule22 } + , CharBlock { start: 42815, length: 1, convRule: rule23 } + , CharBlock { start: 42816, length: 1, convRule: rule22 } + , CharBlock { start: 42817, length: 1, convRule: rule23 } + , CharBlock { start: 42818, length: 1, convRule: rule22 } + , CharBlock { start: 42819, length: 1, convRule: rule23 } + , CharBlock { start: 42820, length: 1, convRule: rule22 } + , CharBlock { start: 42821, length: 1, convRule: rule23 } + , CharBlock { start: 42822, length: 1, convRule: rule22 } + , CharBlock { start: 42823, length: 1, convRule: rule23 } + , CharBlock { start: 42824, length: 1, convRule: rule22 } + , CharBlock { start: 42825, length: 1, convRule: rule23 } + , CharBlock { start: 42826, length: 1, convRule: rule22 } + , CharBlock { start: 42827, length: 1, convRule: rule23 } + , CharBlock { start: 42828, length: 1, convRule: rule22 } + , CharBlock { start: 42829, length: 1, convRule: rule23 } + , CharBlock { start: 42830, length: 1, convRule: rule22 } + , CharBlock { start: 42831, length: 1, convRule: rule23 } + , CharBlock { start: 42832, length: 1, convRule: rule22 } + , CharBlock { start: 42833, length: 1, convRule: rule23 } + , CharBlock { start: 42834, length: 1, convRule: rule22 } + , CharBlock { start: 42835, length: 1, convRule: rule23 } + , CharBlock { start: 42836, length: 1, convRule: rule22 } + , CharBlock { start: 42837, length: 1, convRule: rule23 } + , CharBlock { start: 42838, length: 1, convRule: rule22 } + , CharBlock { start: 42839, length: 1, convRule: rule23 } + , CharBlock { start: 42840, length: 1, convRule: rule22 } + , CharBlock { start: 42841, length: 1, convRule: rule23 } + , CharBlock { start: 42842, length: 1, convRule: rule22 } + , CharBlock { start: 42843, length: 1, convRule: rule23 } + , CharBlock { start: 42844, length: 1, convRule: rule22 } + , CharBlock { start: 42845, length: 1, convRule: rule23 } + , CharBlock { start: 42846, length: 1, convRule: rule22 } + , CharBlock { start: 42847, length: 1, convRule: rule23 } + , CharBlock { start: 42848, length: 1, convRule: rule22 } + , CharBlock { start: 42849, length: 1, convRule: rule23 } + , CharBlock { start: 42850, length: 1, convRule: rule22 } + , CharBlock { start: 42851, length: 1, convRule: rule23 } + , CharBlock { start: 42852, length: 1, convRule: rule22 } + , CharBlock { start: 42853, length: 1, convRule: rule23 } + , CharBlock { start: 42854, length: 1, convRule: rule22 } + , CharBlock { start: 42855, length: 1, convRule: rule23 } + , CharBlock { start: 42856, length: 1, convRule: rule22 } + , CharBlock { start: 42857, length: 1, convRule: rule23 } + , CharBlock { start: 42858, length: 1, convRule: rule22 } + , CharBlock { start: 42859, length: 1, convRule: rule23 } + , CharBlock { start: 42860, length: 1, convRule: rule22 } + , CharBlock { start: 42861, length: 1, convRule: rule23 } + , CharBlock { start: 42862, length: 1, convRule: rule22 } + , CharBlock { start: 42863, length: 1, convRule: rule23 } + , CharBlock { start: 42864, length: 1, convRule: rule90 } + , CharBlock { start: 42865, length: 8, convRule: rule20 } + , CharBlock { start: 42873, length: 1, convRule: rule22 } + , CharBlock { start: 42874, length: 1, convRule: rule23 } + , CharBlock { start: 42875, length: 1, convRule: rule22 } + , CharBlock { start: 42876, length: 1, convRule: rule23 } + , CharBlock { start: 42877, length: 1, convRule: rule179 } + , CharBlock { start: 42878, length: 1, convRule: rule22 } + , CharBlock { start: 42879, length: 1, convRule: rule23 } + , CharBlock { start: 42880, length: 1, convRule: rule22 } + , CharBlock { start: 42881, length: 1, convRule: rule23 } + , CharBlock { start: 42882, length: 1, convRule: rule22 } + , CharBlock { start: 42883, length: 1, convRule: rule23 } + , CharBlock { start: 42884, length: 1, convRule: rule22 } + , CharBlock { start: 42885, length: 1, convRule: rule23 } + , CharBlock { start: 42886, length: 1, convRule: rule22 } + , CharBlock { start: 42887, length: 1, convRule: rule23 } + , CharBlock { start: 42888, length: 1, convRule: rule90 } , CharBlock { start: 42889, length: 2, convRule: rule10 } - , CharBlock { start: 42891, length: 1, convRule: rule21 } - , CharBlock { start: 42892, length: 1, convRule: rule22 } - , CharBlock { start: 42893, length: 1, convRule: rule162 } - , CharBlock { start: 42894, length: 1, convRule: rule14 } - , CharBlock { start: 42896, length: 1, convRule: rule21 } - , CharBlock { start: 42897, length: 1, convRule: rule22 } - , CharBlock { start: 42912, length: 1, convRule: rule21 } - , CharBlock { start: 42913, length: 1, convRule: rule22 } - , CharBlock { start: 42914, length: 1, convRule: rule21 } - , CharBlock { start: 42915, length: 1, convRule: rule22 } - , CharBlock { start: 42916, length: 1, convRule: rule21 } - , CharBlock { start: 42917, length: 1, convRule: rule22 } - , CharBlock { start: 42918, length: 1, convRule: rule21 } - , CharBlock { start: 42919, length: 1, convRule: rule22 } - , CharBlock { start: 42920, length: 1, convRule: rule21 } - , CharBlock { start: 42921, length: 1, convRule: rule22 } - , CharBlock { start: 43002, length: 1, convRule: rule14 } - , CharBlock { start: 43003, length: 7, convRule: rule45 } - , CharBlock { start: 43010, length: 1, convRule: rule84 } - , CharBlock { start: 43011, length: 3, convRule: rule45 } - , CharBlock { start: 43014, length: 1, convRule: rule84 } - , CharBlock { start: 43015, length: 4, convRule: rule45 } - , CharBlock { start: 43019, length: 1, convRule: rule84 } - , CharBlock { start: 43020, length: 23, convRule: rule45 } - , CharBlock { start: 43043, length: 2, convRule: rule114 } - , CharBlock { start: 43045, length: 2, convRule: rule84 } - , CharBlock { start: 43047, length: 1, convRule: rule114 } + , CharBlock { start: 42891, length: 1, convRule: rule22 } + , CharBlock { start: 42892, length: 1, convRule: rule23 } + , CharBlock { start: 42893, length: 1, convRule: rule180 } + , CharBlock { start: 42894, length: 1, convRule: rule20 } + , CharBlock { start: 42895, length: 1, convRule: rule14 } + , CharBlock { start: 42896, length: 1, convRule: rule22 } + , CharBlock { start: 42897, length: 1, convRule: rule23 } + , CharBlock { start: 42898, length: 1, convRule: rule22 } + , CharBlock { start: 42899, length: 1, convRule: rule23 } + , CharBlock { start: 42900, length: 2, convRule: rule20 } + , CharBlock { start: 42902, length: 1, convRule: rule22 } + , CharBlock { start: 42903, length: 1, convRule: rule23 } + , CharBlock { start: 42904, length: 1, convRule: rule22 } + , CharBlock { start: 42905, length: 1, convRule: rule23 } + , CharBlock { start: 42906, length: 1, convRule: rule22 } + , CharBlock { start: 42907, length: 1, convRule: rule23 } + , CharBlock { start: 42908, length: 1, convRule: rule22 } + , CharBlock { start: 42909, length: 1, convRule: rule23 } + , CharBlock { start: 42910, length: 1, convRule: rule22 } + , CharBlock { start: 42911, length: 1, convRule: rule23 } + , CharBlock { start: 42912, length: 1, convRule: rule22 } + , CharBlock { start: 42913, length: 1, convRule: rule23 } + , CharBlock { start: 42914, length: 1, convRule: rule22 } + , CharBlock { start: 42915, length: 1, convRule: rule23 } + , CharBlock { start: 42916, length: 1, convRule: rule22 } + , CharBlock { start: 42917, length: 1, convRule: rule23 } + , CharBlock { start: 42918, length: 1, convRule: rule22 } + , CharBlock { start: 42919, length: 1, convRule: rule23 } + , CharBlock { start: 42920, length: 1, convRule: rule22 } + , CharBlock { start: 42921, length: 1, convRule: rule23 } + , CharBlock { start: 42922, length: 1, convRule: rule181 } + , CharBlock { start: 42923, length: 1, convRule: rule182 } + , CharBlock { start: 42924, length: 1, convRule: rule183 } + , CharBlock { start: 42925, length: 1, convRule: rule184 } + , CharBlock { start: 42926, length: 1, convRule: rule181 } + , CharBlock { start: 42928, length: 1, convRule: rule185 } + , CharBlock { start: 42929, length: 1, convRule: rule186 } + , CharBlock { start: 42930, length: 1, convRule: rule187 } + , CharBlock { start: 42931, length: 1, convRule: rule188 } + , CharBlock { start: 42932, length: 1, convRule: rule22 } + , CharBlock { start: 42933, length: 1, convRule: rule23 } + , CharBlock { start: 42934, length: 1, convRule: rule22 } + , CharBlock { start: 42935, length: 1, convRule: rule23 } + , CharBlock { start: 42999, length: 1, convRule: rule14 } + , CharBlock { start: 43000, length: 2, convRule: rule90 } + , CharBlock { start: 43002, length: 1, convRule: rule20 } + , CharBlock { start: 43003, length: 7, convRule: rule14 } + , CharBlock { start: 43010, length: 1, convRule: rule91 } + , CharBlock { start: 43011, length: 3, convRule: rule14 } + , CharBlock { start: 43014, length: 1, convRule: rule91 } + , CharBlock { start: 43015, length: 4, convRule: rule14 } + , CharBlock { start: 43019, length: 1, convRule: rule91 } + , CharBlock { start: 43020, length: 23, convRule: rule14 } + , CharBlock { start: 43043, length: 2, convRule: rule123 } + , CharBlock { start: 43045, length: 2, convRule: rule91 } + , CharBlock { start: 43047, length: 1, convRule: rule123 } , CharBlock { start: 43048, length: 4, convRule: rule13 } , CharBlock { start: 43056, length: 6, convRule: rule17 } , CharBlock { start: 43062, length: 2, convRule: rule13 } , CharBlock { start: 43064, length: 1, convRule: rule3 } , CharBlock { start: 43065, length: 1, convRule: rule13 } - , CharBlock { start: 43072, length: 52, convRule: rule45 } + , CharBlock { start: 43072, length: 52, convRule: rule14 } , CharBlock { start: 43124, length: 4, convRule: rule2 } - , CharBlock { start: 43136, length: 2, convRule: rule114 } - , CharBlock { start: 43138, length: 50, convRule: rule45 } - , CharBlock { start: 43188, length: 16, convRule: rule114 } - , CharBlock { start: 43204, length: 1, convRule: rule84 } + , CharBlock { start: 43136, length: 2, convRule: rule123 } + , CharBlock { start: 43138, length: 50, convRule: rule14 } + , CharBlock { start: 43188, length: 16, convRule: rule123 } + , CharBlock { start: 43204, length: 2, convRule: rule91 } , CharBlock { start: 43214, length: 2, convRule: rule2 } , CharBlock { start: 43216, length: 10, convRule: rule8 } - , CharBlock { start: 43232, length: 18, convRule: rule84 } - , CharBlock { start: 43250, length: 6, convRule: rule45 } + , CharBlock { start: 43232, length: 18, convRule: rule91 } + , CharBlock { start: 43250, length: 6, convRule: rule14 } , CharBlock { start: 43256, length: 3, convRule: rule2 } - , CharBlock { start: 43259, length: 1, convRule: rule45 } + , CharBlock { start: 43259, length: 1, convRule: rule14 } + , CharBlock { start: 43260, length: 1, convRule: rule2 } + , CharBlock { start: 43261, length: 1, convRule: rule14 } , CharBlock { start: 43264, length: 10, convRule: rule8 } - , CharBlock { start: 43274, length: 28, convRule: rule45 } - , CharBlock { start: 43302, length: 8, convRule: rule84 } + , CharBlock { start: 43274, length: 28, convRule: rule14 } + , CharBlock { start: 43302, length: 8, convRule: rule91 } , CharBlock { start: 43310, length: 2, convRule: rule2 } - , CharBlock { start: 43312, length: 23, convRule: rule45 } - , CharBlock { start: 43335, length: 11, convRule: rule84 } - , CharBlock { start: 43346, length: 2, convRule: rule114 } + , CharBlock { start: 43312, length: 23, convRule: rule14 } + , CharBlock { start: 43335, length: 11, convRule: rule91 } + , CharBlock { start: 43346, length: 2, convRule: rule123 } , CharBlock { start: 43359, length: 1, convRule: rule2 } - , CharBlock { start: 43360, length: 29, convRule: rule45 } - , CharBlock { start: 43392, length: 3, convRule: rule84 } - , CharBlock { start: 43395, length: 1, convRule: rule114 } - , CharBlock { start: 43396, length: 47, convRule: rule45 } - , CharBlock { start: 43443, length: 1, convRule: rule84 } - , CharBlock { start: 43444, length: 2, convRule: rule114 } - , CharBlock { start: 43446, length: 4, convRule: rule84 } - , CharBlock { start: 43450, length: 2, convRule: rule114 } - , CharBlock { start: 43452, length: 1, convRule: rule84 } - , CharBlock { start: 43453, length: 4, convRule: rule114 } + , CharBlock { start: 43360, length: 29, convRule: rule14 } + , CharBlock { start: 43392, length: 3, convRule: rule91 } + , CharBlock { start: 43395, length: 1, convRule: rule123 } + , CharBlock { start: 43396, length: 47, convRule: rule14 } + , CharBlock { start: 43443, length: 1, convRule: rule91 } + , CharBlock { start: 43444, length: 2, convRule: rule123 } + , CharBlock { start: 43446, length: 4, convRule: rule91 } + , CharBlock { start: 43450, length: 2, convRule: rule123 } + , CharBlock { start: 43452, length: 1, convRule: rule91 } + , CharBlock { start: 43453, length: 4, convRule: rule123 } , CharBlock { start: 43457, length: 13, convRule: rule2 } - , CharBlock { start: 43471, length: 1, convRule: rule83 } + , CharBlock { start: 43471, length: 1, convRule: rule90 } , CharBlock { start: 43472, length: 10, convRule: rule8 } , CharBlock { start: 43486, length: 2, convRule: rule2 } - , CharBlock { start: 43520, length: 41, convRule: rule45 } - , CharBlock { start: 43561, length: 6, convRule: rule84 } - , CharBlock { start: 43567, length: 2, convRule: rule114 } - , CharBlock { start: 43569, length: 2, convRule: rule84 } - , CharBlock { start: 43571, length: 2, convRule: rule114 } - , CharBlock { start: 43573, length: 2, convRule: rule84 } - , CharBlock { start: 43584, length: 3, convRule: rule45 } - , CharBlock { start: 43587, length: 1, convRule: rule84 } - , CharBlock { start: 43588, length: 8, convRule: rule45 } - , CharBlock { start: 43596, length: 1, convRule: rule84 } - , CharBlock { start: 43597, length: 1, convRule: rule114 } + , CharBlock { start: 43488, length: 5, convRule: rule14 } + , CharBlock { start: 43493, length: 1, convRule: rule91 } + , CharBlock { start: 43494, length: 1, convRule: rule90 } + , CharBlock { start: 43495, length: 9, convRule: rule14 } + , CharBlock { start: 43504, length: 10, convRule: rule8 } + , CharBlock { start: 43514, length: 5, convRule: rule14 } + , CharBlock { start: 43520, length: 41, convRule: rule14 } + , CharBlock { start: 43561, length: 6, convRule: rule91 } + , CharBlock { start: 43567, length: 2, convRule: rule123 } + , CharBlock { start: 43569, length: 2, convRule: rule91 } + , CharBlock { start: 43571, length: 2, convRule: rule123 } + , CharBlock { start: 43573, length: 2, convRule: rule91 } + , CharBlock { start: 43584, length: 3, convRule: rule14 } + , CharBlock { start: 43587, length: 1, convRule: rule91 } + , CharBlock { start: 43588, length: 8, convRule: rule14 } + , CharBlock { start: 43596, length: 1, convRule: rule91 } + , CharBlock { start: 43597, length: 1, convRule: rule123 } , CharBlock { start: 43600, length: 10, convRule: rule8 } , CharBlock { start: 43612, length: 4, convRule: rule2 } - , CharBlock { start: 43616, length: 16, convRule: rule45 } - , CharBlock { start: 43632, length: 1, convRule: rule83 } - , CharBlock { start: 43633, length: 6, convRule: rule45 } + , CharBlock { start: 43616, length: 16, convRule: rule14 } + , CharBlock { start: 43632, length: 1, convRule: rule90 } + , CharBlock { start: 43633, length: 6, convRule: rule14 } , CharBlock { start: 43639, length: 3, convRule: rule13 } - , CharBlock { start: 43642, length: 1, convRule: rule45 } - , CharBlock { start: 43643, length: 1, convRule: rule114 } - , CharBlock { start: 43648, length: 48, convRule: rule45 } - , CharBlock { start: 43696, length: 1, convRule: rule84 } - , CharBlock { start: 43697, length: 1, convRule: rule45 } - , CharBlock { start: 43698, length: 3, convRule: rule84 } - , CharBlock { start: 43701, length: 2, convRule: rule45 } - , CharBlock { start: 43703, length: 2, convRule: rule84 } - , CharBlock { start: 43705, length: 5, convRule: rule45 } - , CharBlock { start: 43710, length: 2, convRule: rule84 } - , CharBlock { start: 43712, length: 1, convRule: rule45 } - , CharBlock { start: 43713, length: 1, convRule: rule84 } - , CharBlock { start: 43714, length: 1, convRule: rule45 } - , CharBlock { start: 43739, length: 2, convRule: rule45 } - , CharBlock { start: 43741, length: 1, convRule: rule83 } + , CharBlock { start: 43642, length: 1, convRule: rule14 } + , CharBlock { start: 43643, length: 1, convRule: rule123 } + , CharBlock { start: 43644, length: 1, convRule: rule91 } + , CharBlock { start: 43645, length: 1, convRule: rule123 } + , CharBlock { start: 43646, length: 50, convRule: rule14 } + , CharBlock { start: 43696, length: 1, convRule: rule91 } + , CharBlock { start: 43697, length: 1, convRule: rule14 } + , CharBlock { start: 43698, length: 3, convRule: rule91 } + , CharBlock { start: 43701, length: 2, convRule: rule14 } + , CharBlock { start: 43703, length: 2, convRule: rule91 } + , CharBlock { start: 43705, length: 5, convRule: rule14 } + , CharBlock { start: 43710, length: 2, convRule: rule91 } + , CharBlock { start: 43712, length: 1, convRule: rule14 } + , CharBlock { start: 43713, length: 1, convRule: rule91 } + , CharBlock { start: 43714, length: 1, convRule: rule14 } + , CharBlock { start: 43739, length: 2, convRule: rule14 } + , CharBlock { start: 43741, length: 1, convRule: rule90 } , CharBlock { start: 43742, length: 2, convRule: rule2 } - , CharBlock { start: 43777, length: 6, convRule: rule45 } - , CharBlock { start: 43785, length: 6, convRule: rule45 } - , CharBlock { start: 43793, length: 6, convRule: rule45 } - , CharBlock { start: 43808, length: 7, convRule: rule45 } - , CharBlock { start: 43816, length: 7, convRule: rule45 } - , CharBlock { start: 43968, length: 35, convRule: rule45 } - , CharBlock { start: 44003, length: 2, convRule: rule114 } - , CharBlock { start: 44005, length: 1, convRule: rule84 } - , CharBlock { start: 44006, length: 2, convRule: rule114 } - , CharBlock { start: 44008, length: 1, convRule: rule84 } - , CharBlock { start: 44009, length: 2, convRule: rule114 } + , CharBlock { start: 43744, length: 11, convRule: rule14 } + , CharBlock { start: 43755, length: 1, convRule: rule123 } + , CharBlock { start: 43756, length: 2, convRule: rule91 } + , CharBlock { start: 43758, length: 2, convRule: rule123 } + , CharBlock { start: 43760, length: 2, convRule: rule2 } + , CharBlock { start: 43762, length: 1, convRule: rule14 } + , CharBlock { start: 43763, length: 2, convRule: rule90 } + , CharBlock { start: 43765, length: 1, convRule: rule123 } + , CharBlock { start: 43766, length: 1, convRule: rule91 } + , CharBlock { start: 43777, length: 6, convRule: rule14 } + , CharBlock { start: 43785, length: 6, convRule: rule14 } + , CharBlock { start: 43793, length: 6, convRule: rule14 } + , CharBlock { start: 43808, length: 7, convRule: rule14 } + , CharBlock { start: 43816, length: 7, convRule: rule14 } + , CharBlock { start: 43824, length: 35, convRule: rule20 } + , CharBlock { start: 43859, length: 1, convRule: rule189 } + , CharBlock { start: 43860, length: 7, convRule: rule20 } + , CharBlock { start: 43867, length: 1, convRule: rule10 } + , CharBlock { start: 43868, length: 4, convRule: rule90 } + , CharBlock { start: 43872, length: 6, convRule: rule20 } + , CharBlock { start: 43888, length: 80, convRule: rule190 } + , CharBlock { start: 43968, length: 35, convRule: rule14 } + , CharBlock { start: 44003, length: 2, convRule: rule123 } + , CharBlock { start: 44005, length: 1, convRule: rule91 } + , CharBlock { start: 44006, length: 2, convRule: rule123 } + , CharBlock { start: 44008, length: 1, convRule: rule91 } + , CharBlock { start: 44009, length: 2, convRule: rule123 } , CharBlock { start: 44011, length: 1, convRule: rule2 } - , CharBlock { start: 44012, length: 1, convRule: rule114 } - , CharBlock { start: 44013, length: 1, convRule: rule84 } + , CharBlock { start: 44012, length: 1, convRule: rule123 } + , CharBlock { start: 44013, length: 1, convRule: rule91 } , CharBlock { start: 44016, length: 10, convRule: rule8 } - , CharBlock { start: 44032, length: 11172, convRule: rule45 } - , CharBlock { start: 55216, length: 23, convRule: rule45 } - , CharBlock { start: 55243, length: 49, convRule: rule45 } - , CharBlock { start: 55296, length: 896, convRule: rule163 } - , CharBlock { start: 56192, length: 128, convRule: rule163 } - , CharBlock { start: 56320, length: 1024, convRule: rule163 } - , CharBlock { start: 57344, length: 6400, convRule: rule164 } - , CharBlock { start: 63744, length: 302, convRule: rule45 } - , CharBlock { start: 64048, length: 62, convRule: rule45 } - , CharBlock { start: 64112, length: 106, convRule: rule45 } - , CharBlock { start: 64256, length: 7, convRule: rule14 } - , CharBlock { start: 64275, length: 5, convRule: rule14 } - , CharBlock { start: 64285, length: 1, convRule: rule45 } - , CharBlock { start: 64286, length: 1, convRule: rule84 } - , CharBlock { start: 64287, length: 10, convRule: rule45 } + , CharBlock { start: 44032, length: 11172, convRule: rule14 } + , CharBlock { start: 55216, length: 23, convRule: rule14 } + , CharBlock { start: 55243, length: 49, convRule: rule14 } + , CharBlock { start: 55296, length: 896, convRule: rule191 } + , CharBlock { start: 56192, length: 128, convRule: rule191 } + , CharBlock { start: 56320, length: 1024, convRule: rule191 } + , CharBlock { start: 57344, length: 6400, convRule: rule192 } + , CharBlock { start: 63744, length: 366, convRule: rule14 } + , CharBlock { start: 64112, length: 106, convRule: rule14 } + , CharBlock { start: 64256, length: 7, convRule: rule20 } + , CharBlock { start: 64275, length: 5, convRule: rule20 } + , CharBlock { start: 64285, length: 1, convRule: rule14 } + , CharBlock { start: 64286, length: 1, convRule: rule91 } + , CharBlock { start: 64287, length: 10, convRule: rule14 } , CharBlock { start: 64297, length: 1, convRule: rule6 } - , CharBlock { start: 64298, length: 13, convRule: rule45 } - , CharBlock { start: 64312, length: 5, convRule: rule45 } - , CharBlock { start: 64318, length: 1, convRule: rule45 } - , CharBlock { start: 64320, length: 2, convRule: rule45 } - , CharBlock { start: 64323, length: 2, convRule: rule45 } - , CharBlock { start: 64326, length: 108, convRule: rule45 } + , CharBlock { start: 64298, length: 13, convRule: rule14 } + , CharBlock { start: 64312, length: 5, convRule: rule14 } + , CharBlock { start: 64318, length: 1, convRule: rule14 } + , CharBlock { start: 64320, length: 2, convRule: rule14 } + , CharBlock { start: 64323, length: 2, convRule: rule14 } + , CharBlock { start: 64326, length: 108, convRule: rule14 } , CharBlock { start: 64434, length: 16, convRule: rule10 } - , CharBlock { start: 64467, length: 363, convRule: rule45 } - , CharBlock { start: 64830, length: 1, convRule: rule4 } - , CharBlock { start: 64831, length: 1, convRule: rule5 } - , CharBlock { start: 64848, length: 64, convRule: rule45 } - , CharBlock { start: 64914, length: 54, convRule: rule45 } - , CharBlock { start: 65008, length: 12, convRule: rule45 } + , CharBlock { start: 64467, length: 363, convRule: rule14 } + , CharBlock { start: 64830, length: 1, convRule: rule5 } + , CharBlock { start: 64831, length: 1, convRule: rule4 } + , CharBlock { start: 64848, length: 64, convRule: rule14 } + , CharBlock { start: 64914, length: 54, convRule: rule14 } + , CharBlock { start: 65008, length: 12, convRule: rule14 } , CharBlock { start: 65020, length: 1, convRule: rule3 } , CharBlock { start: 65021, length: 1, convRule: rule13 } - , CharBlock { start: 65024, length: 16, convRule: rule84 } + , CharBlock { start: 65024, length: 16, convRule: rule91 } , CharBlock { start: 65040, length: 7, convRule: rule2 } , CharBlock { start: 65047, length: 1, convRule: rule4 } , CharBlock { start: 65048, length: 1, convRule: rule5 } , CharBlock { start: 65049, length: 1, convRule: rule2 } - , CharBlock { start: 65056, length: 7, convRule: rule84 } + , CharBlock { start: 65056, length: 16, convRule: rule91 } , CharBlock { start: 65072, length: 1, convRule: rule2 } , CharBlock { start: 65073, length: 2, convRule: rule7 } , CharBlock { start: 65075, length: 2, convRule: rule11 } @@ -3208,8 +3436,8 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 65128, length: 1, convRule: rule2 } , CharBlock { start: 65129, length: 1, convRule: rule3 } , CharBlock { start: 65130, length: 2, convRule: rule2 } - , CharBlock { start: 65136, length: 5, convRule: rule45 } - , CharBlock { start: 65142, length: 135, convRule: rule45 } + , CharBlock { start: 65136, length: 5, convRule: rule14 } + , CharBlock { start: 65142, length: 135, convRule: rule14 } , CharBlock { start: 65279, length: 1, convRule: rule16 } , CharBlock { start: 65281, length: 3, convRule: rule2 } , CharBlock { start: 65284, length: 1, convRule: rule3 } @@ -3243,15 +3471,15 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 65378, length: 1, convRule: rule4 } , CharBlock { start: 65379, length: 1, convRule: rule5 } , CharBlock { start: 65380, length: 2, convRule: rule2 } - , CharBlock { start: 65382, length: 10, convRule: rule45 } - , CharBlock { start: 65392, length: 1, convRule: rule83 } - , CharBlock { start: 65393, length: 45, convRule: rule45 } - , CharBlock { start: 65438, length: 2, convRule: rule83 } - , CharBlock { start: 65440, length: 31, convRule: rule45 } - , CharBlock { start: 65474, length: 6, convRule: rule45 } - , CharBlock { start: 65482, length: 6, convRule: rule45 } - , CharBlock { start: 65490, length: 6, convRule: rule45 } - , CharBlock { start: 65498, length: 3, convRule: rule45 } + , CharBlock { start: 65382, length: 10, convRule: rule14 } + , CharBlock { start: 65392, length: 1, convRule: rule90 } + , CharBlock { start: 65393, length: 45, convRule: rule14 } + , CharBlock { start: 65438, length: 2, convRule: rule90 } + , CharBlock { start: 65440, length: 31, convRule: rule14 } + , CharBlock { start: 65474, length: 6, convRule: rule14 } + , CharBlock { start: 65482, length: 6, convRule: rule14 } + , CharBlock { start: 65490, length: 6, convRule: rule14 } + , CharBlock { start: 65498, length: 3, convRule: rule14 } , CharBlock { start: 65504, length: 2, convRule: rule3 } , CharBlock { start: 65506, length: 1, convRule: rule6 } , CharBlock { start: 65507, length: 1, convRule: rule10 } @@ -3262,241 +3490,564 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 65517, length: 2, convRule: rule13 } , CharBlock { start: 65529, length: 3, convRule: rule16 } , CharBlock { start: 65532, length: 2, convRule: rule13 } - , CharBlock { start: 65536, length: 12, convRule: rule45 } - , CharBlock { start: 65549, length: 26, convRule: rule45 } - , CharBlock { start: 65576, length: 19, convRule: rule45 } - , CharBlock { start: 65596, length: 2, convRule: rule45 } - , CharBlock { start: 65599, length: 15, convRule: rule45 } - , CharBlock { start: 65616, length: 14, convRule: rule45 } - , CharBlock { start: 65664, length: 123, convRule: rule45 } - , CharBlock { start: 65792, length: 2, convRule: rule2 } - , CharBlock { start: 65794, length: 1, convRule: rule13 } + , CharBlock { start: 65536, length: 12, convRule: rule14 } + , CharBlock { start: 65549, length: 26, convRule: rule14 } + , CharBlock { start: 65576, length: 19, convRule: rule14 } + , CharBlock { start: 65596, length: 2, convRule: rule14 } + , CharBlock { start: 65599, length: 15, convRule: rule14 } + , CharBlock { start: 65616, length: 14, convRule: rule14 } + , CharBlock { start: 65664, length: 123, convRule: rule14 } + , CharBlock { start: 65792, length: 3, convRule: rule2 } , CharBlock { start: 65799, length: 45, convRule: rule17 } , CharBlock { start: 65847, length: 9, convRule: rule13 } - , CharBlock { start: 65856, length: 53, convRule: rule116 } + , CharBlock { start: 65856, length: 53, convRule: rule126 } , CharBlock { start: 65909, length: 4, convRule: rule17 } , CharBlock { start: 65913, length: 17, convRule: rule13 } - , CharBlock { start: 65930, length: 1, convRule: rule17 } + , CharBlock { start: 65930, length: 2, convRule: rule17 } + , CharBlock { start: 65932, length: 3, convRule: rule13 } , CharBlock { start: 65936, length: 12, convRule: rule13 } + , CharBlock { start: 65952, length: 1, convRule: rule13 } , CharBlock { start: 66000, length: 45, convRule: rule13 } - , CharBlock { start: 66045, length: 1, convRule: rule84 } - , CharBlock { start: 66176, length: 29, convRule: rule45 } - , CharBlock { start: 66208, length: 49, convRule: rule45 } - , CharBlock { start: 66304, length: 31, convRule: rule45 } + , CharBlock { start: 66045, length: 1, convRule: rule91 } + , CharBlock { start: 66176, length: 29, convRule: rule14 } + , CharBlock { start: 66208, length: 49, convRule: rule14 } + , CharBlock { start: 66272, length: 1, convRule: rule91 } + , CharBlock { start: 66273, length: 27, convRule: rule17 } + , CharBlock { start: 66304, length: 32, convRule: rule14 } , CharBlock { start: 66336, length: 4, convRule: rule17 } - , CharBlock { start: 66352, length: 17, convRule: rule45 } - , CharBlock { start: 66369, length: 1, convRule: rule116 } - , CharBlock { start: 66370, length: 8, convRule: rule45 } - , CharBlock { start: 66378, length: 1, convRule: rule116 } - , CharBlock { start: 66432, length: 30, convRule: rule45 } + , CharBlock { start: 66349, length: 20, convRule: rule14 } + , CharBlock { start: 66369, length: 1, convRule: rule126 } + , CharBlock { start: 66370, length: 8, convRule: rule14 } + , CharBlock { start: 66378, length: 1, convRule: rule126 } + , CharBlock { start: 66384, length: 38, convRule: rule14 } + , CharBlock { start: 66422, length: 5, convRule: rule91 } + , CharBlock { start: 66432, length: 30, convRule: rule14 } , CharBlock { start: 66463, length: 1, convRule: rule2 } - , CharBlock { start: 66464, length: 36, convRule: rule45 } - , CharBlock { start: 66504, length: 8, convRule: rule45 } + , CharBlock { start: 66464, length: 36, convRule: rule14 } + , CharBlock { start: 66504, length: 8, convRule: rule14 } , CharBlock { start: 66512, length: 1, convRule: rule2 } - , CharBlock { start: 66513, length: 5, convRule: rule116 } - , CharBlock { start: 66560, length: 40, convRule: rule165 } - , CharBlock { start: 66600, length: 40, convRule: rule166 } - , CharBlock { start: 66640, length: 78, convRule: rule45 } + , CharBlock { start: 66513, length: 5, convRule: rule126 } + , CharBlock { start: 66560, length: 40, convRule: rule193 } + , CharBlock { start: 66600, length: 40, convRule: rule194 } + , CharBlock { start: 66640, length: 78, convRule: rule14 } , CharBlock { start: 66720, length: 10, convRule: rule8 } - , CharBlock { start: 67584, length: 6, convRule: rule45 } - , CharBlock { start: 67592, length: 1, convRule: rule45 } - , CharBlock { start: 67594, length: 44, convRule: rule45 } - , CharBlock { start: 67639, length: 2, convRule: rule45 } - , CharBlock { start: 67644, length: 1, convRule: rule45 } - , CharBlock { start: 67647, length: 23, convRule: rule45 } + , CharBlock { start: 66736, length: 36, convRule: rule193 } + , CharBlock { start: 66776, length: 36, convRule: rule194 } + , CharBlock { start: 66816, length: 40, convRule: rule14 } + , CharBlock { start: 66864, length: 52, convRule: rule14 } + , CharBlock { start: 66927, length: 1, convRule: rule2 } + , CharBlock { start: 67072, length: 311, convRule: rule14 } + , CharBlock { start: 67392, length: 22, convRule: rule14 } + , CharBlock { start: 67424, length: 8, convRule: rule14 } + , CharBlock { start: 67584, length: 6, convRule: rule14 } + , CharBlock { start: 67592, length: 1, convRule: rule14 } + , CharBlock { start: 67594, length: 44, convRule: rule14 } + , CharBlock { start: 67639, length: 2, convRule: rule14 } + , CharBlock { start: 67644, length: 1, convRule: rule14 } + , CharBlock { start: 67647, length: 23, convRule: rule14 } , CharBlock { start: 67671, length: 1, convRule: rule2 } , CharBlock { start: 67672, length: 8, convRule: rule17 } - , CharBlock { start: 67840, length: 22, convRule: rule45 } + , CharBlock { start: 67680, length: 23, convRule: rule14 } + , CharBlock { start: 67703, length: 2, convRule: rule13 } + , CharBlock { start: 67705, length: 7, convRule: rule17 } + , CharBlock { start: 67712, length: 31, convRule: rule14 } + , CharBlock { start: 67751, length: 9, convRule: rule17 } + , CharBlock { start: 67808, length: 19, convRule: rule14 } + , CharBlock { start: 67828, length: 2, convRule: rule14 } + , CharBlock { start: 67835, length: 5, convRule: rule17 } + , CharBlock { start: 67840, length: 22, convRule: rule14 } , CharBlock { start: 67862, length: 6, convRule: rule17 } , CharBlock { start: 67871, length: 1, convRule: rule2 } - , CharBlock { start: 67872, length: 26, convRule: rule45 } + , CharBlock { start: 67872, length: 26, convRule: rule14 } , CharBlock { start: 67903, length: 1, convRule: rule2 } - , CharBlock { start: 68096, length: 1, convRule: rule45 } - , CharBlock { start: 68097, length: 3, convRule: rule84 } - , CharBlock { start: 68101, length: 2, convRule: rule84 } - , CharBlock { start: 68108, length: 4, convRule: rule84 } - , CharBlock { start: 68112, length: 4, convRule: rule45 } - , CharBlock { start: 68117, length: 3, convRule: rule45 } - , CharBlock { start: 68121, length: 27, convRule: rule45 } - , CharBlock { start: 68152, length: 3, convRule: rule84 } - , CharBlock { start: 68159, length: 1, convRule: rule84 } + , CharBlock { start: 67968, length: 56, convRule: rule14 } + , CharBlock { start: 68028, length: 2, convRule: rule17 } + , CharBlock { start: 68030, length: 2, convRule: rule14 } + , CharBlock { start: 68032, length: 16, convRule: rule17 } + , CharBlock { start: 68050, length: 46, convRule: rule17 } + , CharBlock { start: 68096, length: 1, convRule: rule14 } + , CharBlock { start: 68097, length: 3, convRule: rule91 } + , CharBlock { start: 68101, length: 2, convRule: rule91 } + , CharBlock { start: 68108, length: 4, convRule: rule91 } + , CharBlock { start: 68112, length: 4, convRule: rule14 } + , CharBlock { start: 68117, length: 3, convRule: rule14 } + , CharBlock { start: 68121, length: 27, convRule: rule14 } + , CharBlock { start: 68152, length: 3, convRule: rule91 } + , CharBlock { start: 68159, length: 1, convRule: rule91 } , CharBlock { start: 68160, length: 8, convRule: rule17 } , CharBlock { start: 68176, length: 9, convRule: rule2 } - , CharBlock { start: 68192, length: 29, convRule: rule45 } + , CharBlock { start: 68192, length: 29, convRule: rule14 } , CharBlock { start: 68221, length: 2, convRule: rule17 } , CharBlock { start: 68223, length: 1, convRule: rule2 } - , CharBlock { start: 68352, length: 54, convRule: rule45 } + , CharBlock { start: 68224, length: 29, convRule: rule14 } + , CharBlock { start: 68253, length: 3, convRule: rule17 } + , CharBlock { start: 68288, length: 8, convRule: rule14 } + , CharBlock { start: 68296, length: 1, convRule: rule13 } + , CharBlock { start: 68297, length: 28, convRule: rule14 } + , CharBlock { start: 68325, length: 2, convRule: rule91 } + , CharBlock { start: 68331, length: 5, convRule: rule17 } + , CharBlock { start: 68336, length: 7, convRule: rule2 } + , CharBlock { start: 68352, length: 54, convRule: rule14 } , CharBlock { start: 68409, length: 7, convRule: rule2 } - , CharBlock { start: 68416, length: 22, convRule: rule45 } + , CharBlock { start: 68416, length: 22, convRule: rule14 } , CharBlock { start: 68440, length: 8, convRule: rule17 } - , CharBlock { start: 68448, length: 19, convRule: rule45 } + , CharBlock { start: 68448, length: 19, convRule: rule14 } , CharBlock { start: 68472, length: 8, convRule: rule17 } - , CharBlock { start: 68608, length: 73, convRule: rule45 } + , CharBlock { start: 68480, length: 18, convRule: rule14 } + , CharBlock { start: 68505, length: 4, convRule: rule2 } + , CharBlock { start: 68521, length: 7, convRule: rule17 } + , CharBlock { start: 68608, length: 73, convRule: rule14 } + , CharBlock { start: 68736, length: 51, convRule: rule96 } + , CharBlock { start: 68800, length: 51, convRule: rule101 } + , CharBlock { start: 68858, length: 6, convRule: rule17 } , CharBlock { start: 69216, length: 31, convRule: rule17 } - , CharBlock { start: 69632, length: 1, convRule: rule114 } - , CharBlock { start: 69633, length: 1, convRule: rule84 } - , CharBlock { start: 69634, length: 1, convRule: rule114 } - , CharBlock { start: 69635, length: 53, convRule: rule45 } - , CharBlock { start: 69688, length: 15, convRule: rule84 } + , CharBlock { start: 69632, length: 1, convRule: rule123 } + , CharBlock { start: 69633, length: 1, convRule: rule91 } + , CharBlock { start: 69634, length: 1, convRule: rule123 } + , CharBlock { start: 69635, length: 53, convRule: rule14 } + , CharBlock { start: 69688, length: 15, convRule: rule91 } , CharBlock { start: 69703, length: 7, convRule: rule2 } , CharBlock { start: 69714, length: 20, convRule: rule17 } , CharBlock { start: 69734, length: 10, convRule: rule8 } - , CharBlock { start: 69760, length: 2, convRule: rule84 } - , CharBlock { start: 69762, length: 1, convRule: rule114 } - , CharBlock { start: 69763, length: 45, convRule: rule45 } - , CharBlock { start: 69808, length: 3, convRule: rule114 } - , CharBlock { start: 69811, length: 4, convRule: rule84 } - , CharBlock { start: 69815, length: 2, convRule: rule114 } - , CharBlock { start: 69817, length: 2, convRule: rule84 } + , CharBlock { start: 69759, length: 3, convRule: rule91 } + , CharBlock { start: 69762, length: 1, convRule: rule123 } + , CharBlock { start: 69763, length: 45, convRule: rule14 } + , CharBlock { start: 69808, length: 3, convRule: rule123 } + , CharBlock { start: 69811, length: 4, convRule: rule91 } + , CharBlock { start: 69815, length: 2, convRule: rule123 } + , CharBlock { start: 69817, length: 2, convRule: rule91 } , CharBlock { start: 69819, length: 2, convRule: rule2 } , CharBlock { start: 69821, length: 1, convRule: rule16 } , CharBlock { start: 69822, length: 4, convRule: rule2 } - , CharBlock { start: 73728, length: 879, convRule: rule45 } - , CharBlock { start: 74752, length: 99, convRule: rule116 } - , CharBlock { start: 74864, length: 4, convRule: rule2 } - , CharBlock { start: 77824, length: 1071, convRule: rule45 } - , CharBlock { start: 92160, length: 569, convRule: rule45 } - , CharBlock { start: 110592, length: 2, convRule: rule45 } + , CharBlock { start: 69840, length: 25, convRule: rule14 } + , CharBlock { start: 69872, length: 10, convRule: rule8 } + , CharBlock { start: 69888, length: 3, convRule: rule91 } + , CharBlock { start: 69891, length: 36, convRule: rule14 } + , CharBlock { start: 69927, length: 5, convRule: rule91 } + , CharBlock { start: 69932, length: 1, convRule: rule123 } + , CharBlock { start: 69933, length: 8, convRule: rule91 } + , CharBlock { start: 69942, length: 10, convRule: rule8 } + , CharBlock { start: 69952, length: 4, convRule: rule2 } + , CharBlock { start: 69968, length: 35, convRule: rule14 } + , CharBlock { start: 70003, length: 1, convRule: rule91 } + , CharBlock { start: 70004, length: 2, convRule: rule2 } + , CharBlock { start: 70006, length: 1, convRule: rule14 } + , CharBlock { start: 70016, length: 2, convRule: rule91 } + , CharBlock { start: 70018, length: 1, convRule: rule123 } + , CharBlock { start: 70019, length: 48, convRule: rule14 } + , CharBlock { start: 70067, length: 3, convRule: rule123 } + , CharBlock { start: 70070, length: 9, convRule: rule91 } + , CharBlock { start: 70079, length: 2, convRule: rule123 } + , CharBlock { start: 70081, length: 4, convRule: rule14 } + , CharBlock { start: 70085, length: 5, convRule: rule2 } + , CharBlock { start: 70090, length: 3, convRule: rule91 } + , CharBlock { start: 70093, length: 1, convRule: rule2 } + , CharBlock { start: 70096, length: 10, convRule: rule8 } + , CharBlock { start: 70106, length: 1, convRule: rule14 } + , CharBlock { start: 70107, length: 1, convRule: rule2 } + , CharBlock { start: 70108, length: 1, convRule: rule14 } + , CharBlock { start: 70109, length: 3, convRule: rule2 } + , CharBlock { start: 70113, length: 20, convRule: rule17 } + , CharBlock { start: 70144, length: 18, convRule: rule14 } + , CharBlock { start: 70163, length: 25, convRule: rule14 } + , CharBlock { start: 70188, length: 3, convRule: rule123 } + , CharBlock { start: 70191, length: 3, convRule: rule91 } + , CharBlock { start: 70194, length: 2, convRule: rule123 } + , CharBlock { start: 70196, length: 1, convRule: rule91 } + , CharBlock { start: 70197, length: 1, convRule: rule123 } + , CharBlock { start: 70198, length: 2, convRule: rule91 } + , CharBlock { start: 70200, length: 6, convRule: rule2 } + , CharBlock { start: 70206, length: 1, convRule: rule91 } + , CharBlock { start: 70272, length: 7, convRule: rule14 } + , CharBlock { start: 70280, length: 1, convRule: rule14 } + , CharBlock { start: 70282, length: 4, convRule: rule14 } + , CharBlock { start: 70287, length: 15, convRule: rule14 } + , CharBlock { start: 70303, length: 10, convRule: rule14 } + , CharBlock { start: 70313, length: 1, convRule: rule2 } + , CharBlock { start: 70320, length: 47, convRule: rule14 } + , CharBlock { start: 70367, length: 1, convRule: rule91 } + , CharBlock { start: 70368, length: 3, convRule: rule123 } + , CharBlock { start: 70371, length: 8, convRule: rule91 } + , CharBlock { start: 70384, length: 10, convRule: rule8 } + , CharBlock { start: 70400, length: 2, convRule: rule91 } + , CharBlock { start: 70402, length: 2, convRule: rule123 } + , CharBlock { start: 70405, length: 8, convRule: rule14 } + , CharBlock { start: 70415, length: 2, convRule: rule14 } + , CharBlock { start: 70419, length: 22, convRule: rule14 } + , CharBlock { start: 70442, length: 7, convRule: rule14 } + , CharBlock { start: 70450, length: 2, convRule: rule14 } + , CharBlock { start: 70453, length: 5, convRule: rule14 } + , CharBlock { start: 70460, length: 1, convRule: rule91 } + , CharBlock { start: 70461, length: 1, convRule: rule14 } + , CharBlock { start: 70462, length: 2, convRule: rule123 } + , CharBlock { start: 70464, length: 1, convRule: rule91 } + , CharBlock { start: 70465, length: 4, convRule: rule123 } + , CharBlock { start: 70471, length: 2, convRule: rule123 } + , CharBlock { start: 70475, length: 3, convRule: rule123 } + , CharBlock { start: 70480, length: 1, convRule: rule14 } + , CharBlock { start: 70487, length: 1, convRule: rule123 } + , CharBlock { start: 70493, length: 5, convRule: rule14 } + , CharBlock { start: 70498, length: 2, convRule: rule123 } + , CharBlock { start: 70502, length: 7, convRule: rule91 } + , CharBlock { start: 70512, length: 5, convRule: rule91 } + , CharBlock { start: 70656, length: 53, convRule: rule14 } + , CharBlock { start: 70709, length: 3, convRule: rule123 } + , CharBlock { start: 70712, length: 8, convRule: rule91 } + , CharBlock { start: 70720, length: 2, convRule: rule123 } + , CharBlock { start: 70722, length: 3, convRule: rule91 } + , CharBlock { start: 70725, length: 1, convRule: rule123 } + , CharBlock { start: 70726, length: 1, convRule: rule91 } + , CharBlock { start: 70727, length: 4, convRule: rule14 } + , CharBlock { start: 70731, length: 5, convRule: rule2 } + , CharBlock { start: 70736, length: 10, convRule: rule8 } + , CharBlock { start: 70747, length: 1, convRule: rule2 } + , CharBlock { start: 70749, length: 1, convRule: rule2 } + , CharBlock { start: 70784, length: 48, convRule: rule14 } + , CharBlock { start: 70832, length: 3, convRule: rule123 } + , CharBlock { start: 70835, length: 6, convRule: rule91 } + , CharBlock { start: 70841, length: 1, convRule: rule123 } + , CharBlock { start: 70842, length: 1, convRule: rule91 } + , CharBlock { start: 70843, length: 4, convRule: rule123 } + , CharBlock { start: 70847, length: 2, convRule: rule91 } + , CharBlock { start: 70849, length: 1, convRule: rule123 } + , CharBlock { start: 70850, length: 2, convRule: rule91 } + , CharBlock { start: 70852, length: 2, convRule: rule14 } + , CharBlock { start: 70854, length: 1, convRule: rule2 } + , CharBlock { start: 70855, length: 1, convRule: rule14 } + , CharBlock { start: 70864, length: 10, convRule: rule8 } + , CharBlock { start: 71040, length: 47, convRule: rule14 } + , CharBlock { start: 71087, length: 3, convRule: rule123 } + , CharBlock { start: 71090, length: 4, convRule: rule91 } + , CharBlock { start: 71096, length: 4, convRule: rule123 } + , CharBlock { start: 71100, length: 2, convRule: rule91 } + , CharBlock { start: 71102, length: 1, convRule: rule123 } + , CharBlock { start: 71103, length: 2, convRule: rule91 } + , CharBlock { start: 71105, length: 23, convRule: rule2 } + , CharBlock { start: 71128, length: 4, convRule: rule14 } + , CharBlock { start: 71132, length: 2, convRule: rule91 } + , CharBlock { start: 71168, length: 48, convRule: rule14 } + , CharBlock { start: 71216, length: 3, convRule: rule123 } + , CharBlock { start: 71219, length: 8, convRule: rule91 } + , CharBlock { start: 71227, length: 2, convRule: rule123 } + , CharBlock { start: 71229, length: 1, convRule: rule91 } + , CharBlock { start: 71230, length: 1, convRule: rule123 } + , CharBlock { start: 71231, length: 2, convRule: rule91 } + , CharBlock { start: 71233, length: 3, convRule: rule2 } + , CharBlock { start: 71236, length: 1, convRule: rule14 } + , CharBlock { start: 71248, length: 10, convRule: rule8 } + , CharBlock { start: 71264, length: 13, convRule: rule2 } + , CharBlock { start: 71296, length: 43, convRule: rule14 } + , CharBlock { start: 71339, length: 1, convRule: rule91 } + , CharBlock { start: 71340, length: 1, convRule: rule123 } + , CharBlock { start: 71341, length: 1, convRule: rule91 } + , CharBlock { start: 71342, length: 2, convRule: rule123 } + , CharBlock { start: 71344, length: 6, convRule: rule91 } + , CharBlock { start: 71350, length: 1, convRule: rule123 } + , CharBlock { start: 71351, length: 1, convRule: rule91 } + , CharBlock { start: 71360, length: 10, convRule: rule8 } + , CharBlock { start: 71424, length: 26, convRule: rule14 } + , CharBlock { start: 71453, length: 3, convRule: rule91 } + , CharBlock { start: 71456, length: 2, convRule: rule123 } + , CharBlock { start: 71458, length: 4, convRule: rule91 } + , CharBlock { start: 71462, length: 1, convRule: rule123 } + , CharBlock { start: 71463, length: 5, convRule: rule91 } + , CharBlock { start: 71472, length: 10, convRule: rule8 } + , CharBlock { start: 71482, length: 2, convRule: rule17 } + , CharBlock { start: 71484, length: 3, convRule: rule2 } + , CharBlock { start: 71487, length: 1, convRule: rule13 } + , CharBlock { start: 71840, length: 32, convRule: rule9 } + , CharBlock { start: 71872, length: 32, convRule: rule12 } + , CharBlock { start: 71904, length: 10, convRule: rule8 } + , CharBlock { start: 71914, length: 9, convRule: rule17 } + , CharBlock { start: 71935, length: 1, convRule: rule14 } + , CharBlock { start: 72192, length: 1, convRule: rule14 } + , CharBlock { start: 72193, length: 6, convRule: rule91 } + , CharBlock { start: 72199, length: 2, convRule: rule123 } + , CharBlock { start: 72201, length: 2, convRule: rule91 } + , CharBlock { start: 72203, length: 40, convRule: rule14 } + , CharBlock { start: 72243, length: 6, convRule: rule91 } + , CharBlock { start: 72249, length: 1, convRule: rule123 } + , CharBlock { start: 72250, length: 1, convRule: rule14 } + , CharBlock { start: 72251, length: 4, convRule: rule91 } + , CharBlock { start: 72255, length: 8, convRule: rule2 } + , CharBlock { start: 72263, length: 1, convRule: rule91 } + , CharBlock { start: 72272, length: 1, convRule: rule14 } + , CharBlock { start: 72273, length: 6, convRule: rule91 } + , CharBlock { start: 72279, length: 2, convRule: rule123 } + , CharBlock { start: 72281, length: 3, convRule: rule91 } + , CharBlock { start: 72284, length: 40, convRule: rule14 } + , CharBlock { start: 72326, length: 4, convRule: rule14 } + , CharBlock { start: 72330, length: 13, convRule: rule91 } + , CharBlock { start: 72343, length: 1, convRule: rule123 } + , CharBlock { start: 72344, length: 2, convRule: rule91 } + , CharBlock { start: 72346, length: 3, convRule: rule2 } + , CharBlock { start: 72350, length: 5, convRule: rule2 } + , CharBlock { start: 72384, length: 57, convRule: rule14 } + , CharBlock { start: 72704, length: 9, convRule: rule14 } + , CharBlock { start: 72714, length: 37, convRule: rule14 } + , CharBlock { start: 72751, length: 1, convRule: rule123 } + , CharBlock { start: 72752, length: 7, convRule: rule91 } + , CharBlock { start: 72760, length: 6, convRule: rule91 } + , CharBlock { start: 72766, length: 1, convRule: rule123 } + , CharBlock { start: 72767, length: 1, convRule: rule91 } + , CharBlock { start: 72768, length: 1, convRule: rule14 } + , CharBlock { start: 72769, length: 5, convRule: rule2 } + , CharBlock { start: 72784, length: 10, convRule: rule8 } + , CharBlock { start: 72794, length: 19, convRule: rule17 } + , CharBlock { start: 72816, length: 2, convRule: rule2 } + , CharBlock { start: 72818, length: 30, convRule: rule14 } + , CharBlock { start: 72850, length: 22, convRule: rule91 } + , CharBlock { start: 72873, length: 1, convRule: rule123 } + , CharBlock { start: 72874, length: 7, convRule: rule91 } + , CharBlock { start: 72881, length: 1, convRule: rule123 } + , CharBlock { start: 72882, length: 2, convRule: rule91 } + , CharBlock { start: 72884, length: 1, convRule: rule123 } + , CharBlock { start: 72885, length: 2, convRule: rule91 } + , CharBlock { start: 72960, length: 7, convRule: rule14 } + , CharBlock { start: 72968, length: 2, convRule: rule14 } + , CharBlock { start: 72971, length: 38, convRule: rule14 } + , CharBlock { start: 73009, length: 6, convRule: rule91 } + , CharBlock { start: 73018, length: 1, convRule: rule91 } + , CharBlock { start: 73020, length: 2, convRule: rule91 } + , CharBlock { start: 73023, length: 7, convRule: rule91 } + , CharBlock { start: 73030, length: 1, convRule: rule14 } + , CharBlock { start: 73031, length: 1, convRule: rule91 } + , CharBlock { start: 73040, length: 10, convRule: rule8 } + , CharBlock { start: 73728, length: 922, convRule: rule14 } + , CharBlock { start: 74752, length: 111, convRule: rule126 } + , CharBlock { start: 74864, length: 5, convRule: rule2 } + , CharBlock { start: 74880, length: 196, convRule: rule14 } + , CharBlock { start: 77824, length: 1071, convRule: rule14 } + , CharBlock { start: 82944, length: 583, convRule: rule14 } + , CharBlock { start: 92160, length: 569, convRule: rule14 } + , CharBlock { start: 92736, length: 31, convRule: rule14 } + , CharBlock { start: 92768, length: 10, convRule: rule8 } + , CharBlock { start: 92782, length: 2, convRule: rule2 } + , CharBlock { start: 92880, length: 30, convRule: rule14 } + , CharBlock { start: 92912, length: 5, convRule: rule91 } + , CharBlock { start: 92917, length: 1, convRule: rule2 } + , CharBlock { start: 92928, length: 48, convRule: rule14 } + , CharBlock { start: 92976, length: 7, convRule: rule91 } + , CharBlock { start: 92983, length: 5, convRule: rule2 } + , CharBlock { start: 92988, length: 4, convRule: rule13 } + , CharBlock { start: 92992, length: 4, convRule: rule90 } + , CharBlock { start: 92996, length: 1, convRule: rule2 } + , CharBlock { start: 92997, length: 1, convRule: rule13 } + , CharBlock { start: 93008, length: 10, convRule: rule8 } + , CharBlock { start: 93019, length: 7, convRule: rule17 } + , CharBlock { start: 93027, length: 21, convRule: rule14 } + , CharBlock { start: 93053, length: 19, convRule: rule14 } + , CharBlock { start: 93952, length: 69, convRule: rule14 } + , CharBlock { start: 94032, length: 1, convRule: rule14 } + , CharBlock { start: 94033, length: 46, convRule: rule123 } + , CharBlock { start: 94095, length: 4, convRule: rule91 } + , CharBlock { start: 94099, length: 13, convRule: rule90 } + , CharBlock { start: 94176, length: 2, convRule: rule90 } + , CharBlock { start: 94208, length: 6125, convRule: rule14 } + , CharBlock { start: 100352, length: 755, convRule: rule14 } + , CharBlock { start: 110592, length: 287, convRule: rule14 } + , CharBlock { start: 110960, length: 396, convRule: rule14 } + , CharBlock { start: 113664, length: 107, convRule: rule14 } + , CharBlock { start: 113776, length: 13, convRule: rule14 } + , CharBlock { start: 113792, length: 9, convRule: rule14 } + , CharBlock { start: 113808, length: 10, convRule: rule14 } + , CharBlock { start: 113820, length: 1, convRule: rule13 } + , CharBlock { start: 113821, length: 2, convRule: rule91 } + , CharBlock { start: 113823, length: 1, convRule: rule2 } + , CharBlock { start: 113824, length: 4, convRule: rule16 } , CharBlock { start: 118784, length: 246, convRule: rule13 } , CharBlock { start: 119040, length: 39, convRule: rule13 } , CharBlock { start: 119081, length: 60, convRule: rule13 } - , CharBlock { start: 119141, length: 2, convRule: rule114 } - , CharBlock { start: 119143, length: 3, convRule: rule84 } + , CharBlock { start: 119141, length: 2, convRule: rule123 } + , CharBlock { start: 119143, length: 3, convRule: rule91 } , CharBlock { start: 119146, length: 3, convRule: rule13 } - , CharBlock { start: 119149, length: 6, convRule: rule114 } + , CharBlock { start: 119149, length: 6, convRule: rule123 } , CharBlock { start: 119155, length: 8, convRule: rule16 } - , CharBlock { start: 119163, length: 8, convRule: rule84 } + , CharBlock { start: 119163, length: 8, convRule: rule91 } , CharBlock { start: 119171, length: 2, convRule: rule13 } - , CharBlock { start: 119173, length: 7, convRule: rule84 } + , CharBlock { start: 119173, length: 7, convRule: rule91 } , CharBlock { start: 119180, length: 30, convRule: rule13 } - , CharBlock { start: 119210, length: 4, convRule: rule84 } - , CharBlock { start: 119214, length: 48, convRule: rule13 } + , CharBlock { start: 119210, length: 4, convRule: rule91 } + , CharBlock { start: 119214, length: 59, convRule: rule13 } , CharBlock { start: 119296, length: 66, convRule: rule13 } - , CharBlock { start: 119362, length: 3, convRule: rule84 } + , CharBlock { start: 119362, length: 3, convRule: rule91 } , CharBlock { start: 119365, length: 1, convRule: rule13 } , CharBlock { start: 119552, length: 87, convRule: rule13 } , CharBlock { start: 119648, length: 18, convRule: rule17 } - , CharBlock { start: 119808, length: 26, convRule: rule98 } - , CharBlock { start: 119834, length: 26, convRule: rule14 } - , CharBlock { start: 119860, length: 26, convRule: rule98 } - , CharBlock { start: 119886, length: 7, convRule: rule14 } - , CharBlock { start: 119894, length: 18, convRule: rule14 } - , CharBlock { start: 119912, length: 26, convRule: rule98 } - , CharBlock { start: 119938, length: 26, convRule: rule14 } - , CharBlock { start: 119964, length: 1, convRule: rule98 } - , CharBlock { start: 119966, length: 2, convRule: rule98 } - , CharBlock { start: 119970, length: 1, convRule: rule98 } - , CharBlock { start: 119973, length: 2, convRule: rule98 } - , CharBlock { start: 119977, length: 4, convRule: rule98 } - , CharBlock { start: 119982, length: 8, convRule: rule98 } - , CharBlock { start: 119990, length: 4, convRule: rule14 } - , CharBlock { start: 119995, length: 1, convRule: rule14 } - , CharBlock { start: 119997, length: 7, convRule: rule14 } - , CharBlock { start: 120005, length: 11, convRule: rule14 } - , CharBlock { start: 120016, length: 26, convRule: rule98 } - , CharBlock { start: 120042, length: 26, convRule: rule14 } - , CharBlock { start: 120068, length: 2, convRule: rule98 } - , CharBlock { start: 120071, length: 4, convRule: rule98 } - , CharBlock { start: 120077, length: 8, convRule: rule98 } - , CharBlock { start: 120086, length: 7, convRule: rule98 } - , CharBlock { start: 120094, length: 26, convRule: rule14 } - , CharBlock { start: 120120, length: 2, convRule: rule98 } - , CharBlock { start: 120123, length: 4, convRule: rule98 } - , CharBlock { start: 120128, length: 5, convRule: rule98 } - , CharBlock { start: 120134, length: 1, convRule: rule98 } - , CharBlock { start: 120138, length: 7, convRule: rule98 } - , CharBlock { start: 120146, length: 26, convRule: rule14 } - , CharBlock { start: 120172, length: 26, convRule: rule98 } - , CharBlock { start: 120198, length: 26, convRule: rule14 } - , CharBlock { start: 120224, length: 26, convRule: rule98 } - , CharBlock { start: 120250, length: 26, convRule: rule14 } - , CharBlock { start: 120276, length: 26, convRule: rule98 } - , CharBlock { start: 120302, length: 26, convRule: rule14 } - , CharBlock { start: 120328, length: 26, convRule: rule98 } - , CharBlock { start: 120354, length: 26, convRule: rule14 } - , CharBlock { start: 120380, length: 26, convRule: rule98 } - , CharBlock { start: 120406, length: 26, convRule: rule14 } - , CharBlock { start: 120432, length: 26, convRule: rule98 } - , CharBlock { start: 120458, length: 28, convRule: rule14 } - , CharBlock { start: 120488, length: 25, convRule: rule98 } + , CharBlock { start: 119808, length: 26, convRule: rule106 } + , CharBlock { start: 119834, length: 26, convRule: rule20 } + , CharBlock { start: 119860, length: 26, convRule: rule106 } + , CharBlock { start: 119886, length: 7, convRule: rule20 } + , CharBlock { start: 119894, length: 18, convRule: rule20 } + , CharBlock { start: 119912, length: 26, convRule: rule106 } + , CharBlock { start: 119938, length: 26, convRule: rule20 } + , CharBlock { start: 119964, length: 1, convRule: rule106 } + , CharBlock { start: 119966, length: 2, convRule: rule106 } + , CharBlock { start: 119970, length: 1, convRule: rule106 } + , CharBlock { start: 119973, length: 2, convRule: rule106 } + , CharBlock { start: 119977, length: 4, convRule: rule106 } + , CharBlock { start: 119982, length: 8, convRule: rule106 } + , CharBlock { start: 119990, length: 4, convRule: rule20 } + , CharBlock { start: 119995, length: 1, convRule: rule20 } + , CharBlock { start: 119997, length: 7, convRule: rule20 } + , CharBlock { start: 120005, length: 11, convRule: rule20 } + , CharBlock { start: 120016, length: 26, convRule: rule106 } + , CharBlock { start: 120042, length: 26, convRule: rule20 } + , CharBlock { start: 120068, length: 2, convRule: rule106 } + , CharBlock { start: 120071, length: 4, convRule: rule106 } + , CharBlock { start: 120077, length: 8, convRule: rule106 } + , CharBlock { start: 120086, length: 7, convRule: rule106 } + , CharBlock { start: 120094, length: 26, convRule: rule20 } + , CharBlock { start: 120120, length: 2, convRule: rule106 } + , CharBlock { start: 120123, length: 4, convRule: rule106 } + , CharBlock { start: 120128, length: 5, convRule: rule106 } + , CharBlock { start: 120134, length: 1, convRule: rule106 } + , CharBlock { start: 120138, length: 7, convRule: rule106 } + , CharBlock { start: 120146, length: 26, convRule: rule20 } + , CharBlock { start: 120172, length: 26, convRule: rule106 } + , CharBlock { start: 120198, length: 26, convRule: rule20 } + , CharBlock { start: 120224, length: 26, convRule: rule106 } + , CharBlock { start: 120250, length: 26, convRule: rule20 } + , CharBlock { start: 120276, length: 26, convRule: rule106 } + , CharBlock { start: 120302, length: 26, convRule: rule20 } + , CharBlock { start: 120328, length: 26, convRule: rule106 } + , CharBlock { start: 120354, length: 26, convRule: rule20 } + , CharBlock { start: 120380, length: 26, convRule: rule106 } + , CharBlock { start: 120406, length: 26, convRule: rule20 } + , CharBlock { start: 120432, length: 26, convRule: rule106 } + , CharBlock { start: 120458, length: 28, convRule: rule20 } + , CharBlock { start: 120488, length: 25, convRule: rule106 } , CharBlock { start: 120513, length: 1, convRule: rule6 } - , CharBlock { start: 120514, length: 25, convRule: rule14 } + , CharBlock { start: 120514, length: 25, convRule: rule20 } , CharBlock { start: 120539, length: 1, convRule: rule6 } - , CharBlock { start: 120540, length: 6, convRule: rule14 } - , CharBlock { start: 120546, length: 25, convRule: rule98 } + , CharBlock { start: 120540, length: 6, convRule: rule20 } + , CharBlock { start: 120546, length: 25, convRule: rule106 } , CharBlock { start: 120571, length: 1, convRule: rule6 } - , CharBlock { start: 120572, length: 25, convRule: rule14 } + , CharBlock { start: 120572, length: 25, convRule: rule20 } , CharBlock { start: 120597, length: 1, convRule: rule6 } - , CharBlock { start: 120598, length: 6, convRule: rule14 } - , CharBlock { start: 120604, length: 25, convRule: rule98 } + , CharBlock { start: 120598, length: 6, convRule: rule20 } + , CharBlock { start: 120604, length: 25, convRule: rule106 } , CharBlock { start: 120629, length: 1, convRule: rule6 } - , CharBlock { start: 120630, length: 25, convRule: rule14 } + , CharBlock { start: 120630, length: 25, convRule: rule20 } , CharBlock { start: 120655, length: 1, convRule: rule6 } - , CharBlock { start: 120656, length: 6, convRule: rule14 } - , CharBlock { start: 120662, length: 25, convRule: rule98 } + , CharBlock { start: 120656, length: 6, convRule: rule20 } + , CharBlock { start: 120662, length: 25, convRule: rule106 } , CharBlock { start: 120687, length: 1, convRule: rule6 } - , CharBlock { start: 120688, length: 25, convRule: rule14 } + , CharBlock { start: 120688, length: 25, convRule: rule20 } , CharBlock { start: 120713, length: 1, convRule: rule6 } - , CharBlock { start: 120714, length: 6, convRule: rule14 } - , CharBlock { start: 120720, length: 25, convRule: rule98 } + , CharBlock { start: 120714, length: 6, convRule: rule20 } + , CharBlock { start: 120720, length: 25, convRule: rule106 } , CharBlock { start: 120745, length: 1, convRule: rule6 } - , CharBlock { start: 120746, length: 25, convRule: rule14 } + , CharBlock { start: 120746, length: 25, convRule: rule20 } , CharBlock { start: 120771, length: 1, convRule: rule6 } - , CharBlock { start: 120772, length: 6, convRule: rule14 } - , CharBlock { start: 120778, length: 1, convRule: rule98 } - , CharBlock { start: 120779, length: 1, convRule: rule14 } + , CharBlock { start: 120772, length: 6, convRule: rule20 } + , CharBlock { start: 120778, length: 1, convRule: rule106 } + , CharBlock { start: 120779, length: 1, convRule: rule20 } , CharBlock { start: 120782, length: 50, convRule: rule8 } + , CharBlock { start: 120832, length: 512, convRule: rule13 } + , CharBlock { start: 121344, length: 55, convRule: rule91 } + , CharBlock { start: 121399, length: 4, convRule: rule13 } + , CharBlock { start: 121403, length: 50, convRule: rule91 } + , CharBlock { start: 121453, length: 8, convRule: rule13 } + , CharBlock { start: 121461, length: 1, convRule: rule91 } + , CharBlock { start: 121462, length: 14, convRule: rule13 } + , CharBlock { start: 121476, length: 1, convRule: rule91 } + , CharBlock { start: 121477, length: 2, convRule: rule13 } + , CharBlock { start: 121479, length: 5, convRule: rule2 } + , CharBlock { start: 121499, length: 5, convRule: rule91 } + , CharBlock { start: 121505, length: 15, convRule: rule91 } + , CharBlock { start: 122880, length: 7, convRule: rule91 } + , CharBlock { start: 122888, length: 17, convRule: rule91 } + , CharBlock { start: 122907, length: 7, convRule: rule91 } + , CharBlock { start: 122915, length: 2, convRule: rule91 } + , CharBlock { start: 122918, length: 5, convRule: rule91 } + , CharBlock { start: 124928, length: 197, convRule: rule14 } + , CharBlock { start: 125127, length: 9, convRule: rule17 } + , CharBlock { start: 125136, length: 7, convRule: rule91 } + , CharBlock { start: 125184, length: 34, convRule: rule195 } + , CharBlock { start: 125218, length: 34, convRule: rule196 } + , CharBlock { start: 125252, length: 7, convRule: rule91 } + , CharBlock { start: 125264, length: 10, convRule: rule8 } + , CharBlock { start: 125278, length: 2, convRule: rule2 } + , CharBlock { start: 126464, length: 4, convRule: rule14 } + , CharBlock { start: 126469, length: 27, convRule: rule14 } + , CharBlock { start: 126497, length: 2, convRule: rule14 } + , CharBlock { start: 126500, length: 1, convRule: rule14 } + , CharBlock { start: 126503, length: 1, convRule: rule14 } + , CharBlock { start: 126505, length: 10, convRule: rule14 } + , CharBlock { start: 126516, length: 4, convRule: rule14 } + , CharBlock { start: 126521, length: 1, convRule: rule14 } + , CharBlock { start: 126523, length: 1, convRule: rule14 } + , CharBlock { start: 126530, length: 1, convRule: rule14 } + , CharBlock { start: 126535, length: 1, convRule: rule14 } + , CharBlock { start: 126537, length: 1, convRule: rule14 } + , CharBlock { start: 126539, length: 1, convRule: rule14 } + , CharBlock { start: 126541, length: 3, convRule: rule14 } + , CharBlock { start: 126545, length: 2, convRule: rule14 } + , CharBlock { start: 126548, length: 1, convRule: rule14 } + , CharBlock { start: 126551, length: 1, convRule: rule14 } + , CharBlock { start: 126553, length: 1, convRule: rule14 } + , CharBlock { start: 126555, length: 1, convRule: rule14 } + , CharBlock { start: 126557, length: 1, convRule: rule14 } + , CharBlock { start: 126559, length: 1, convRule: rule14 } + , CharBlock { start: 126561, length: 2, convRule: rule14 } + , CharBlock { start: 126564, length: 1, convRule: rule14 } + , CharBlock { start: 126567, length: 4, convRule: rule14 } + , CharBlock { start: 126572, length: 7, convRule: rule14 } + , CharBlock { start: 126580, length: 4, convRule: rule14 } + , CharBlock { start: 126585, length: 4, convRule: rule14 } + , CharBlock { start: 126590, length: 1, convRule: rule14 } + , CharBlock { start: 126592, length: 10, convRule: rule14 } + , CharBlock { start: 126603, length: 17, convRule: rule14 } + , CharBlock { start: 126625, length: 3, convRule: rule14 } + , CharBlock { start: 126629, length: 5, convRule: rule14 } + , CharBlock { start: 126635, length: 17, convRule: rule14 } + , CharBlock { start: 126704, length: 2, convRule: rule6 } , CharBlock { start: 126976, length: 44, convRule: rule13 } , CharBlock { start: 127024, length: 100, convRule: rule13 } , CharBlock { start: 127136, length: 15, convRule: rule13 } - , CharBlock { start: 127153, length: 14, convRule: rule13 } + , CharBlock { start: 127153, length: 15, convRule: rule13 } , CharBlock { start: 127169, length: 15, convRule: rule13 } - , CharBlock { start: 127185, length: 15, convRule: rule13 } - , CharBlock { start: 127232, length: 11, convRule: rule17 } + , CharBlock { start: 127185, length: 37, convRule: rule13 } + , CharBlock { start: 127232, length: 13, convRule: rule17 } , CharBlock { start: 127248, length: 31, convRule: rule13 } - , CharBlock { start: 127280, length: 58, convRule: rule13 } - , CharBlock { start: 127344, length: 43, convRule: rule13 } + , CharBlock { start: 127280, length: 60, convRule: rule13 } + , CharBlock { start: 127344, length: 61, convRule: rule13 } , CharBlock { start: 127462, length: 29, convRule: rule13 } - , CharBlock { start: 127504, length: 43, convRule: rule13 } + , CharBlock { start: 127504, length: 44, convRule: rule13 } , CharBlock { start: 127552, length: 9, convRule: rule13 } , CharBlock { start: 127568, length: 2, convRule: rule13 } - , CharBlock { start: 127744, length: 33, convRule: rule13 } - , CharBlock { start: 127792, length: 6, convRule: rule13 } - , CharBlock { start: 127799, length: 70, convRule: rule13 } - , CharBlock { start: 127872, length: 20, convRule: rule13 } - , CharBlock { start: 127904, length: 37, convRule: rule13 } - , CharBlock { start: 127942, length: 5, convRule: rule13 } - , CharBlock { start: 127968, length: 17, convRule: rule13 } - , CharBlock { start: 128000, length: 63, convRule: rule13 } - , CharBlock { start: 128064, length: 1, convRule: rule13 } - , CharBlock { start: 128066, length: 182, convRule: rule13 } - , CharBlock { start: 128249, length: 4, convRule: rule13 } - , CharBlock { start: 128256, length: 62, convRule: rule13 } - , CharBlock { start: 128336, length: 24, convRule: rule13 } - , CharBlock { start: 128507, length: 5, convRule: rule13 } - , CharBlock { start: 128513, length: 16, convRule: rule13 } - , CharBlock { start: 128530, length: 3, convRule: rule13 } - , CharBlock { start: 128534, length: 1, convRule: rule13 } - , CharBlock { start: 128536, length: 1, convRule: rule13 } - , CharBlock { start: 128538, length: 1, convRule: rule13 } - , CharBlock { start: 128540, length: 3, convRule: rule13 } - , CharBlock { start: 128544, length: 6, convRule: rule13 } - , CharBlock { start: 128552, length: 4, convRule: rule13 } - , CharBlock { start: 128557, length: 1, convRule: rule13 } - , CharBlock { start: 128560, length: 4, convRule: rule13 } - , CharBlock { start: 128565, length: 12, convRule: rule13 } - , CharBlock { start: 128581, length: 11, convRule: rule13 } - , CharBlock { start: 128640, length: 70, convRule: rule13 } + , CharBlock { start: 127584, length: 6, convRule: rule13 } + , CharBlock { start: 127744, length: 251, convRule: rule13 } + , CharBlock { start: 127995, length: 5, convRule: rule10 } + , CharBlock { start: 128000, length: 725, convRule: rule13 } + , CharBlock { start: 128736, length: 13, convRule: rule13 } + , CharBlock { start: 128752, length: 9, convRule: rule13 } , CharBlock { start: 128768, length: 116, convRule: rule13 } - , CharBlock { start: 131072, length: 42711, convRule: rule45 } - , CharBlock { start: 173824, length: 4149, convRule: rule45 } - , CharBlock { start: 177984, length: 222, convRule: rule45 } - , CharBlock { start: 194560, length: 542, convRule: rule45 } + , CharBlock { start: 128896, length: 85, convRule: rule13 } + , CharBlock { start: 129024, length: 12, convRule: rule13 } + , CharBlock { start: 129040, length: 56, convRule: rule13 } + , CharBlock { start: 129104, length: 10, convRule: rule13 } + , CharBlock { start: 129120, length: 40, convRule: rule13 } + , CharBlock { start: 129168, length: 30, convRule: rule13 } + , CharBlock { start: 129280, length: 12, convRule: rule13 } + , CharBlock { start: 129296, length: 47, convRule: rule13 } + , CharBlock { start: 129344, length: 13, convRule: rule13 } + , CharBlock { start: 129360, length: 28, convRule: rule13 } + , CharBlock { start: 129408, length: 24, convRule: rule13 } + , CharBlock { start: 129472, length: 1, convRule: rule13 } + , CharBlock { start: 129488, length: 23, convRule: rule13 } + , CharBlock { start: 131072, length: 42711, convRule: rule14 } + , CharBlock { start: 173824, length: 4149, convRule: rule14 } + , CharBlock { start: 177984, length: 222, convRule: rule14 } + , CharBlock { start: 178208, length: 5762, convRule: rule14 } + , CharBlock { start: 183984, length: 7473, convRule: rule14 } + , CharBlock { start: 194560, length: 542, convRule: rule14 } , CharBlock { start: 917505, length: 1, convRule: rule16 } , CharBlock { start: 917536, length: 96, convRule: rule16 } - , CharBlock { start: 917760, length: 240, convRule: rule84 } - , CharBlock { start: 983040, length: 65534, convRule: rule164 } - , CharBlock { start: 1048576, length: 65534, convRule: rule164 } + , CharBlock { start: 917760, length: 240, convRule: rule91 } + , CharBlock { start: 983040, length: 65534, convRule: rule192 } + , CharBlock { start: 1048576, length: 65534, convRule: rule192 } ] convchars :: Array CharBlock @@ -3507,187 +4058,187 @@ convchars = [ CharBlock { start: 65, length: 26, convRule: rule9 } , CharBlock { start: 216, length: 7, convRule: rule9 } , CharBlock { start: 224, length: 23, convRule: rule12 } , CharBlock { start: 248, length: 7, convRule: rule12 } - , CharBlock { start: 255, length: 1, convRule: rule20 } - , CharBlock { start: 256, length: 1, convRule: rule21 } - , CharBlock { start: 257, length: 1, convRule: rule22 } - , CharBlock { start: 258, length: 1, convRule: rule21 } - , CharBlock { start: 259, length: 1, convRule: rule22 } - , CharBlock { start: 260, length: 1, convRule: rule21 } - , CharBlock { start: 261, length: 1, convRule: rule22 } - , CharBlock { start: 262, length: 1, convRule: rule21 } - , CharBlock { start: 263, length: 1, convRule: rule22 } - , CharBlock { start: 264, length: 1, convRule: rule21 } - , CharBlock { start: 265, length: 1, convRule: rule22 } - , CharBlock { start: 266, length: 1, convRule: rule21 } - , CharBlock { start: 267, length: 1, convRule: rule22 } - , CharBlock { start: 268, length: 1, convRule: rule21 } - , CharBlock { start: 269, length: 1, convRule: rule22 } - , CharBlock { start: 270, length: 1, convRule: rule21 } - , CharBlock { start: 271, length: 1, convRule: rule22 } - , CharBlock { start: 272, length: 1, convRule: rule21 } - , CharBlock { start: 273, length: 1, convRule: rule22 } - , CharBlock { start: 274, length: 1, convRule: rule21 } - , CharBlock { start: 275, length: 1, convRule: rule22 } - , CharBlock { start: 276, length: 1, convRule: rule21 } - , CharBlock { start: 277, length: 1, convRule: rule22 } - , CharBlock { start: 278, length: 1, convRule: rule21 } - , CharBlock { start: 279, length: 1, convRule: rule22 } - , CharBlock { start: 280, length: 1, convRule: rule21 } - , CharBlock { start: 281, length: 1, convRule: rule22 } - , CharBlock { start: 282, length: 1, convRule: rule21 } - , CharBlock { start: 283, length: 1, convRule: rule22 } - , CharBlock { start: 284, length: 1, convRule: rule21 } - , CharBlock { start: 285, length: 1, convRule: rule22 } - , CharBlock { start: 286, length: 1, convRule: rule21 } - , CharBlock { start: 287, length: 1, convRule: rule22 } - , CharBlock { start: 288, length: 1, convRule: rule21 } - , CharBlock { start: 289, length: 1, convRule: rule22 } - , CharBlock { start: 290, length: 1, convRule: rule21 } - , CharBlock { start: 291, length: 1, convRule: rule22 } - , CharBlock { start: 292, length: 1, convRule: rule21 } - , CharBlock { start: 293, length: 1, convRule: rule22 } - , CharBlock { start: 294, length: 1, convRule: rule21 } - , CharBlock { start: 295, length: 1, convRule: rule22 } - , CharBlock { start: 296, length: 1, convRule: rule21 } - , CharBlock { start: 297, length: 1, convRule: rule22 } - , CharBlock { start: 298, length: 1, convRule: rule21 } - , CharBlock { start: 299, length: 1, convRule: rule22 } - , CharBlock { start: 300, length: 1, convRule: rule21 } - , CharBlock { start: 301, length: 1, convRule: rule22 } - , CharBlock { start: 302, length: 1, convRule: rule21 } - , CharBlock { start: 303, length: 1, convRule: rule22 } - , CharBlock { start: 304, length: 1, convRule: rule23 } - , CharBlock { start: 305, length: 1, convRule: rule24 } - , CharBlock { start: 306, length: 1, convRule: rule21 } - , CharBlock { start: 307, length: 1, convRule: rule22 } - , CharBlock { start: 308, length: 1, convRule: rule21 } - , CharBlock { start: 309, length: 1, convRule: rule22 } - , CharBlock { start: 310, length: 1, convRule: rule21 } - , CharBlock { start: 311, length: 1, convRule: rule22 } - , CharBlock { start: 313, length: 1, convRule: rule21 } - , CharBlock { start: 314, length: 1, convRule: rule22 } - , CharBlock { start: 315, length: 1, convRule: rule21 } - , CharBlock { start: 316, length: 1, convRule: rule22 } - , CharBlock { start: 317, length: 1, convRule: rule21 } - , CharBlock { start: 318, length: 1, convRule: rule22 } - , CharBlock { start: 319, length: 1, convRule: rule21 } - , CharBlock { start: 320, length: 1, convRule: rule22 } - , CharBlock { start: 321, length: 1, convRule: rule21 } - , CharBlock { start: 322, length: 1, convRule: rule22 } - , CharBlock { start: 323, length: 1, convRule: rule21 } - , CharBlock { start: 324, length: 1, convRule: rule22 } - , CharBlock { start: 325, length: 1, convRule: rule21 } - , CharBlock { start: 326, length: 1, convRule: rule22 } - , CharBlock { start: 327, length: 1, convRule: rule21 } - , CharBlock { start: 328, length: 1, convRule: rule22 } - , CharBlock { start: 330, length: 1, convRule: rule21 } - , CharBlock { start: 331, length: 1, convRule: rule22 } - , CharBlock { start: 332, length: 1, convRule: rule21 } - , CharBlock { start: 333, length: 1, convRule: rule22 } - , CharBlock { start: 334, length: 1, convRule: rule21 } - , CharBlock { start: 335, length: 1, convRule: rule22 } - , CharBlock { start: 336, length: 1, convRule: rule21 } - , CharBlock { start: 337, length: 1, convRule: rule22 } - , CharBlock { start: 338, length: 1, convRule: rule21 } - , CharBlock { start: 339, length: 1, convRule: rule22 } - , CharBlock { start: 340, length: 1, convRule: rule21 } - , CharBlock { start: 341, length: 1, convRule: rule22 } - , CharBlock { start: 342, length: 1, convRule: rule21 } - , CharBlock { start: 343, length: 1, convRule: rule22 } - , CharBlock { start: 344, length: 1, convRule: rule21 } - , CharBlock { start: 345, length: 1, convRule: rule22 } - , CharBlock { start: 346, length: 1, convRule: rule21 } - , CharBlock { start: 347, length: 1, convRule: rule22 } - , CharBlock { start: 348, length: 1, convRule: rule21 } - , CharBlock { start: 349, length: 1, convRule: rule22 } - , CharBlock { start: 350, length: 1, convRule: rule21 } - , CharBlock { start: 351, length: 1, convRule: rule22 } - , CharBlock { start: 352, length: 1, convRule: rule21 } - , CharBlock { start: 353, length: 1, convRule: rule22 } - , CharBlock { start: 354, length: 1, convRule: rule21 } - , CharBlock { start: 355, length: 1, convRule: rule22 } - , CharBlock { start: 356, length: 1, convRule: rule21 } - , CharBlock { start: 357, length: 1, convRule: rule22 } - , CharBlock { start: 358, length: 1, convRule: rule21 } - , CharBlock { start: 359, length: 1, convRule: rule22 } - , CharBlock { start: 360, length: 1, convRule: rule21 } - , CharBlock { start: 361, length: 1, convRule: rule22 } - , CharBlock { start: 362, length: 1, convRule: rule21 } - , CharBlock { start: 363, length: 1, convRule: rule22 } - , CharBlock { start: 364, length: 1, convRule: rule21 } - , CharBlock { start: 365, length: 1, convRule: rule22 } - , CharBlock { start: 366, length: 1, convRule: rule21 } - , CharBlock { start: 367, length: 1, convRule: rule22 } - , CharBlock { start: 368, length: 1, convRule: rule21 } - , CharBlock { start: 369, length: 1, convRule: rule22 } - , CharBlock { start: 370, length: 1, convRule: rule21 } - , CharBlock { start: 371, length: 1, convRule: rule22 } - , CharBlock { start: 372, length: 1, convRule: rule21 } - , CharBlock { start: 373, length: 1, convRule: rule22 } - , CharBlock { start: 374, length: 1, convRule: rule21 } - , CharBlock { start: 375, length: 1, convRule: rule22 } - , CharBlock { start: 376, length: 1, convRule: rule25 } - , CharBlock { start: 377, length: 1, convRule: rule21 } - , CharBlock { start: 378, length: 1, convRule: rule22 } - , CharBlock { start: 379, length: 1, convRule: rule21 } - , CharBlock { start: 380, length: 1, convRule: rule22 } - , CharBlock { start: 381, length: 1, convRule: rule21 } - , CharBlock { start: 382, length: 1, convRule: rule22 } - , CharBlock { start: 383, length: 1, convRule: rule26 } - , CharBlock { start: 384, length: 1, convRule: rule27 } - , CharBlock { start: 385, length: 1, convRule: rule28 } - , CharBlock { start: 386, length: 1, convRule: rule21 } - , CharBlock { start: 387, length: 1, convRule: rule22 } - , CharBlock { start: 388, length: 1, convRule: rule21 } - , CharBlock { start: 389, length: 1, convRule: rule22 } - , CharBlock { start: 390, length: 1, convRule: rule29 } - , CharBlock { start: 391, length: 1, convRule: rule21 } - , CharBlock { start: 392, length: 1, convRule: rule22 } - , CharBlock { start: 393, length: 2, convRule: rule30 } - , CharBlock { start: 395, length: 1, convRule: rule21 } - , CharBlock { start: 396, length: 1, convRule: rule22 } - , CharBlock { start: 398, length: 1, convRule: rule31 } - , CharBlock { start: 399, length: 1, convRule: rule32 } - , CharBlock { start: 400, length: 1, convRule: rule33 } - , CharBlock { start: 401, length: 1, convRule: rule21 } - , CharBlock { start: 402, length: 1, convRule: rule22 } - , CharBlock { start: 403, length: 1, convRule: rule30 } - , CharBlock { start: 404, length: 1, convRule: rule34 } - , CharBlock { start: 405, length: 1, convRule: rule35 } - , CharBlock { start: 406, length: 1, convRule: rule36 } - , CharBlock { start: 407, length: 1, convRule: rule37 } - , CharBlock { start: 408, length: 1, convRule: rule21 } - , CharBlock { start: 409, length: 1, convRule: rule22 } - , CharBlock { start: 410, length: 1, convRule: rule38 } - , CharBlock { start: 412, length: 1, convRule: rule36 } - , CharBlock { start: 413, length: 1, convRule: rule39 } - , CharBlock { start: 414, length: 1, convRule: rule40 } - , CharBlock { start: 415, length: 1, convRule: rule41 } - , CharBlock { start: 416, length: 1, convRule: rule21 } - , CharBlock { start: 417, length: 1, convRule: rule22 } - , CharBlock { start: 418, length: 1, convRule: rule21 } - , CharBlock { start: 419, length: 1, convRule: rule22 } - , CharBlock { start: 420, length: 1, convRule: rule21 } - , CharBlock { start: 421, length: 1, convRule: rule22 } - , CharBlock { start: 422, length: 1, convRule: rule42 } - , CharBlock { start: 423, length: 1, convRule: rule21 } - , CharBlock { start: 424, length: 1, convRule: rule22 } - , CharBlock { start: 425, length: 1, convRule: rule42 } - , CharBlock { start: 428, length: 1, convRule: rule21 } - , CharBlock { start: 429, length: 1, convRule: rule22 } - , CharBlock { start: 430, length: 1, convRule: rule42 } - , CharBlock { start: 431, length: 1, convRule: rule21 } - , CharBlock { start: 432, length: 1, convRule: rule22 } - , CharBlock { start: 433, length: 2, convRule: rule43 } - , CharBlock { start: 435, length: 1, convRule: rule21 } - , CharBlock { start: 436, length: 1, convRule: rule22 } - , CharBlock { start: 437, length: 1, convRule: rule21 } - , CharBlock { start: 438, length: 1, convRule: rule22 } - , CharBlock { start: 439, length: 1, convRule: rule44 } - , CharBlock { start: 440, length: 1, convRule: rule21 } - , CharBlock { start: 441, length: 1, convRule: rule22 } - , CharBlock { start: 444, length: 1, convRule: rule21 } - , CharBlock { start: 445, length: 1, convRule: rule22 } + , CharBlock { start: 255, length: 1, convRule: rule21 } + , CharBlock { start: 256, length: 1, convRule: rule22 } + , CharBlock { start: 257, length: 1, convRule: rule23 } + , CharBlock { start: 258, length: 1, convRule: rule22 } + , CharBlock { start: 259, length: 1, convRule: rule23 } + , CharBlock { start: 260, length: 1, convRule: rule22 } + , CharBlock { start: 261, length: 1, convRule: rule23 } + , CharBlock { start: 262, length: 1, convRule: rule22 } + , CharBlock { start: 263, length: 1, convRule: rule23 } + , CharBlock { start: 264, length: 1, convRule: rule22 } + , CharBlock { start: 265, length: 1, convRule: rule23 } + , CharBlock { start: 266, length: 1, convRule: rule22 } + , CharBlock { start: 267, length: 1, convRule: rule23 } + , CharBlock { start: 268, length: 1, convRule: rule22 } + , CharBlock { start: 269, length: 1, convRule: rule23 } + , CharBlock { start: 270, length: 1, convRule: rule22 } + , CharBlock { start: 271, length: 1, convRule: rule23 } + , CharBlock { start: 272, length: 1, convRule: rule22 } + , CharBlock { start: 273, length: 1, convRule: rule23 } + , CharBlock { start: 274, length: 1, convRule: rule22 } + , CharBlock { start: 275, length: 1, convRule: rule23 } + , CharBlock { start: 276, length: 1, convRule: rule22 } + , CharBlock { start: 277, length: 1, convRule: rule23 } + , CharBlock { start: 278, length: 1, convRule: rule22 } + , CharBlock { start: 279, length: 1, convRule: rule23 } + , CharBlock { start: 280, length: 1, convRule: rule22 } + , CharBlock { start: 281, length: 1, convRule: rule23 } + , CharBlock { start: 282, length: 1, convRule: rule22 } + , CharBlock { start: 283, length: 1, convRule: rule23 } + , CharBlock { start: 284, length: 1, convRule: rule22 } + , CharBlock { start: 285, length: 1, convRule: rule23 } + , CharBlock { start: 286, length: 1, convRule: rule22 } + , CharBlock { start: 287, length: 1, convRule: rule23 } + , CharBlock { start: 288, length: 1, convRule: rule22 } + , CharBlock { start: 289, length: 1, convRule: rule23 } + , CharBlock { start: 290, length: 1, convRule: rule22 } + , CharBlock { start: 291, length: 1, convRule: rule23 } + , CharBlock { start: 292, length: 1, convRule: rule22 } + , CharBlock { start: 293, length: 1, convRule: rule23 } + , CharBlock { start: 294, length: 1, convRule: rule22 } + , CharBlock { start: 295, length: 1, convRule: rule23 } + , CharBlock { start: 296, length: 1, convRule: rule22 } + , CharBlock { start: 297, length: 1, convRule: rule23 } + , CharBlock { start: 298, length: 1, convRule: rule22 } + , CharBlock { start: 299, length: 1, convRule: rule23 } + , CharBlock { start: 300, length: 1, convRule: rule22 } + , CharBlock { start: 301, length: 1, convRule: rule23 } + , CharBlock { start: 302, length: 1, convRule: rule22 } + , CharBlock { start: 303, length: 1, convRule: rule23 } + , CharBlock { start: 304, length: 1, convRule: rule24 } + , CharBlock { start: 305, length: 1, convRule: rule25 } + , CharBlock { start: 306, length: 1, convRule: rule22 } + , CharBlock { start: 307, length: 1, convRule: rule23 } + , CharBlock { start: 308, length: 1, convRule: rule22 } + , CharBlock { start: 309, length: 1, convRule: rule23 } + , CharBlock { start: 310, length: 1, convRule: rule22 } + , CharBlock { start: 311, length: 1, convRule: rule23 } + , CharBlock { start: 313, length: 1, convRule: rule22 } + , CharBlock { start: 314, length: 1, convRule: rule23 } + , CharBlock { start: 315, length: 1, convRule: rule22 } + , CharBlock { start: 316, length: 1, convRule: rule23 } + , CharBlock { start: 317, length: 1, convRule: rule22 } + , CharBlock { start: 318, length: 1, convRule: rule23 } + , CharBlock { start: 319, length: 1, convRule: rule22 } + , CharBlock { start: 320, length: 1, convRule: rule23 } + , CharBlock { start: 321, length: 1, convRule: rule22 } + , CharBlock { start: 322, length: 1, convRule: rule23 } + , CharBlock { start: 323, length: 1, convRule: rule22 } + , CharBlock { start: 324, length: 1, convRule: rule23 } + , CharBlock { start: 325, length: 1, convRule: rule22 } + , CharBlock { start: 326, length: 1, convRule: rule23 } + , CharBlock { start: 327, length: 1, convRule: rule22 } + , CharBlock { start: 328, length: 1, convRule: rule23 } + , CharBlock { start: 330, length: 1, convRule: rule22 } + , CharBlock { start: 331, length: 1, convRule: rule23 } + , CharBlock { start: 332, length: 1, convRule: rule22 } + , CharBlock { start: 333, length: 1, convRule: rule23 } + , CharBlock { start: 334, length: 1, convRule: rule22 } + , CharBlock { start: 335, length: 1, convRule: rule23 } + , CharBlock { start: 336, length: 1, convRule: rule22 } + , CharBlock { start: 337, length: 1, convRule: rule23 } + , CharBlock { start: 338, length: 1, convRule: rule22 } + , CharBlock { start: 339, length: 1, convRule: rule23 } + , CharBlock { start: 340, length: 1, convRule: rule22 } + , CharBlock { start: 341, length: 1, convRule: rule23 } + , CharBlock { start: 342, length: 1, convRule: rule22 } + , CharBlock { start: 343, length: 1, convRule: rule23 } + , CharBlock { start: 344, length: 1, convRule: rule22 } + , CharBlock { start: 345, length: 1, convRule: rule23 } + , CharBlock { start: 346, length: 1, convRule: rule22 } + , CharBlock { start: 347, length: 1, convRule: rule23 } + , CharBlock { start: 348, length: 1, convRule: rule22 } + , CharBlock { start: 349, length: 1, convRule: rule23 } + , CharBlock { start: 350, length: 1, convRule: rule22 } + , CharBlock { start: 351, length: 1, convRule: rule23 } + , CharBlock { start: 352, length: 1, convRule: rule22 } + , CharBlock { start: 353, length: 1, convRule: rule23 } + , CharBlock { start: 354, length: 1, convRule: rule22 } + , CharBlock { start: 355, length: 1, convRule: rule23 } + , CharBlock { start: 356, length: 1, convRule: rule22 } + , CharBlock { start: 357, length: 1, convRule: rule23 } + , CharBlock { start: 358, length: 1, convRule: rule22 } + , CharBlock { start: 359, length: 1, convRule: rule23 } + , CharBlock { start: 360, length: 1, convRule: rule22 } + , CharBlock { start: 361, length: 1, convRule: rule23 } + , CharBlock { start: 362, length: 1, convRule: rule22 } + , CharBlock { start: 363, length: 1, convRule: rule23 } + , CharBlock { start: 364, length: 1, convRule: rule22 } + , CharBlock { start: 365, length: 1, convRule: rule23 } + , CharBlock { start: 366, length: 1, convRule: rule22 } + , CharBlock { start: 367, length: 1, convRule: rule23 } + , CharBlock { start: 368, length: 1, convRule: rule22 } + , CharBlock { start: 369, length: 1, convRule: rule23 } + , CharBlock { start: 370, length: 1, convRule: rule22 } + , CharBlock { start: 371, length: 1, convRule: rule23 } + , CharBlock { start: 372, length: 1, convRule: rule22 } + , CharBlock { start: 373, length: 1, convRule: rule23 } + , CharBlock { start: 374, length: 1, convRule: rule22 } + , CharBlock { start: 375, length: 1, convRule: rule23 } + , CharBlock { start: 376, length: 1, convRule: rule26 } + , CharBlock { start: 377, length: 1, convRule: rule22 } + , CharBlock { start: 378, length: 1, convRule: rule23 } + , CharBlock { start: 379, length: 1, convRule: rule22 } + , CharBlock { start: 380, length: 1, convRule: rule23 } + , CharBlock { start: 381, length: 1, convRule: rule22 } + , CharBlock { start: 382, length: 1, convRule: rule23 } + , CharBlock { start: 383, length: 1, convRule: rule27 } + , CharBlock { start: 384, length: 1, convRule: rule28 } + , CharBlock { start: 385, length: 1, convRule: rule29 } + , CharBlock { start: 386, length: 1, convRule: rule22 } + , CharBlock { start: 387, length: 1, convRule: rule23 } + , CharBlock { start: 388, length: 1, convRule: rule22 } + , CharBlock { start: 389, length: 1, convRule: rule23 } + , CharBlock { start: 390, length: 1, convRule: rule30 } + , CharBlock { start: 391, length: 1, convRule: rule22 } + , CharBlock { start: 392, length: 1, convRule: rule23 } + , CharBlock { start: 393, length: 2, convRule: rule31 } + , CharBlock { start: 395, length: 1, convRule: rule22 } + , CharBlock { start: 396, length: 1, convRule: rule23 } + , CharBlock { start: 398, length: 1, convRule: rule32 } + , CharBlock { start: 399, length: 1, convRule: rule33 } + , CharBlock { start: 400, length: 1, convRule: rule34 } + , CharBlock { start: 401, length: 1, convRule: rule22 } + , CharBlock { start: 402, length: 1, convRule: rule23 } + , CharBlock { start: 403, length: 1, convRule: rule31 } + , CharBlock { start: 404, length: 1, convRule: rule35 } + , CharBlock { start: 405, length: 1, convRule: rule36 } + , CharBlock { start: 406, length: 1, convRule: rule37 } + , CharBlock { start: 407, length: 1, convRule: rule38 } + , CharBlock { start: 408, length: 1, convRule: rule22 } + , CharBlock { start: 409, length: 1, convRule: rule23 } + , CharBlock { start: 410, length: 1, convRule: rule39 } + , CharBlock { start: 412, length: 1, convRule: rule37 } + , CharBlock { start: 413, length: 1, convRule: rule40 } + , CharBlock { start: 414, length: 1, convRule: rule41 } + , CharBlock { start: 415, length: 1, convRule: rule42 } + , CharBlock { start: 416, length: 1, convRule: rule22 } + , CharBlock { start: 417, length: 1, convRule: rule23 } + , CharBlock { start: 418, length: 1, convRule: rule22 } + , CharBlock { start: 419, length: 1, convRule: rule23 } + , CharBlock { start: 420, length: 1, convRule: rule22 } + , CharBlock { start: 421, length: 1, convRule: rule23 } + , CharBlock { start: 422, length: 1, convRule: rule43 } + , CharBlock { start: 423, length: 1, convRule: rule22 } + , CharBlock { start: 424, length: 1, convRule: rule23 } + , CharBlock { start: 425, length: 1, convRule: rule43 } + , CharBlock { start: 428, length: 1, convRule: rule22 } + , CharBlock { start: 429, length: 1, convRule: rule23 } + , CharBlock { start: 430, length: 1, convRule: rule43 } + , CharBlock { start: 431, length: 1, convRule: rule22 } + , CharBlock { start: 432, length: 1, convRule: rule23 } + , CharBlock { start: 433, length: 2, convRule: rule44 } + , CharBlock { start: 435, length: 1, convRule: rule22 } + , CharBlock { start: 436, length: 1, convRule: rule23 } + , CharBlock { start: 437, length: 1, convRule: rule22 } + , CharBlock { start: 438, length: 1, convRule: rule23 } + , CharBlock { start: 439, length: 1, convRule: rule45 } + , CharBlock { start: 440, length: 1, convRule: rule22 } + , CharBlock { start: 441, length: 1, convRule: rule23 } + , CharBlock { start: 444, length: 1, convRule: rule22 } + , CharBlock { start: 445, length: 1, convRule: rule23 } , CharBlock { start: 447, length: 1, convRule: rule46 } , CharBlock { start: 452, length: 1, convRule: rule47 } , CharBlock { start: 453, length: 1, convRule: rule48 } @@ -3698,128 +4249,128 @@ convchars = [ CharBlock { start: 65, length: 26, convRule: rule9 } , CharBlock { start: 458, length: 1, convRule: rule47 } , CharBlock { start: 459, length: 1, convRule: rule48 } , CharBlock { start: 460, length: 1, convRule: rule49 } - , CharBlock { start: 461, length: 1, convRule: rule21 } - , CharBlock { start: 462, length: 1, convRule: rule22 } - , CharBlock { start: 463, length: 1, convRule: rule21 } - , CharBlock { start: 464, length: 1, convRule: rule22 } - , CharBlock { start: 465, length: 1, convRule: rule21 } - , CharBlock { start: 466, length: 1, convRule: rule22 } - , CharBlock { start: 467, length: 1, convRule: rule21 } - , CharBlock { start: 468, length: 1, convRule: rule22 } - , CharBlock { start: 469, length: 1, convRule: rule21 } - , CharBlock { start: 470, length: 1, convRule: rule22 } - , CharBlock { start: 471, length: 1, convRule: rule21 } - , CharBlock { start: 472, length: 1, convRule: rule22 } - , CharBlock { start: 473, length: 1, convRule: rule21 } - , CharBlock { start: 474, length: 1, convRule: rule22 } - , CharBlock { start: 475, length: 1, convRule: rule21 } - , CharBlock { start: 476, length: 1, convRule: rule22 } + , CharBlock { start: 461, length: 1, convRule: rule22 } + , CharBlock { start: 462, length: 1, convRule: rule23 } + , CharBlock { start: 463, length: 1, convRule: rule22 } + , CharBlock { start: 464, length: 1, convRule: rule23 } + , CharBlock { start: 465, length: 1, convRule: rule22 } + , CharBlock { start: 466, length: 1, convRule: rule23 } + , CharBlock { start: 467, length: 1, convRule: rule22 } + , CharBlock { start: 468, length: 1, convRule: rule23 } + , CharBlock { start: 469, length: 1, convRule: rule22 } + , CharBlock { start: 470, length: 1, convRule: rule23 } + , CharBlock { start: 471, length: 1, convRule: rule22 } + , CharBlock { start: 472, length: 1, convRule: rule23 } + , CharBlock { start: 473, length: 1, convRule: rule22 } + , CharBlock { start: 474, length: 1, convRule: rule23 } + , CharBlock { start: 475, length: 1, convRule: rule22 } + , CharBlock { start: 476, length: 1, convRule: rule23 } , CharBlock { start: 477, length: 1, convRule: rule50 } - , CharBlock { start: 478, length: 1, convRule: rule21 } - , CharBlock { start: 479, length: 1, convRule: rule22 } - , CharBlock { start: 480, length: 1, convRule: rule21 } - , CharBlock { start: 481, length: 1, convRule: rule22 } - , CharBlock { start: 482, length: 1, convRule: rule21 } - , CharBlock { start: 483, length: 1, convRule: rule22 } - , CharBlock { start: 484, length: 1, convRule: rule21 } - , CharBlock { start: 485, length: 1, convRule: rule22 } - , CharBlock { start: 486, length: 1, convRule: rule21 } - , CharBlock { start: 487, length: 1, convRule: rule22 } - , CharBlock { start: 488, length: 1, convRule: rule21 } - , CharBlock { start: 489, length: 1, convRule: rule22 } - , CharBlock { start: 490, length: 1, convRule: rule21 } - , CharBlock { start: 491, length: 1, convRule: rule22 } - , CharBlock { start: 492, length: 1, convRule: rule21 } - , CharBlock { start: 493, length: 1, convRule: rule22 } - , CharBlock { start: 494, length: 1, convRule: rule21 } - , CharBlock { start: 495, length: 1, convRule: rule22 } + , CharBlock { start: 478, length: 1, convRule: rule22 } + , CharBlock { start: 479, length: 1, convRule: rule23 } + , CharBlock { start: 480, length: 1, convRule: rule22 } + , CharBlock { start: 481, length: 1, convRule: rule23 } + , CharBlock { start: 482, length: 1, convRule: rule22 } + , CharBlock { start: 483, length: 1, convRule: rule23 } + , CharBlock { start: 484, length: 1, convRule: rule22 } + , CharBlock { start: 485, length: 1, convRule: rule23 } + , CharBlock { start: 486, length: 1, convRule: rule22 } + , CharBlock { start: 487, length: 1, convRule: rule23 } + , CharBlock { start: 488, length: 1, convRule: rule22 } + , CharBlock { start: 489, length: 1, convRule: rule23 } + , CharBlock { start: 490, length: 1, convRule: rule22 } + , CharBlock { start: 491, length: 1, convRule: rule23 } + , CharBlock { start: 492, length: 1, convRule: rule22 } + , CharBlock { start: 493, length: 1, convRule: rule23 } + , CharBlock { start: 494, length: 1, convRule: rule22 } + , CharBlock { start: 495, length: 1, convRule: rule23 } , CharBlock { start: 497, length: 1, convRule: rule47 } , CharBlock { start: 498, length: 1, convRule: rule48 } , CharBlock { start: 499, length: 1, convRule: rule49 } - , CharBlock { start: 500, length: 1, convRule: rule21 } - , CharBlock { start: 501, length: 1, convRule: rule22 } + , CharBlock { start: 500, length: 1, convRule: rule22 } + , CharBlock { start: 501, length: 1, convRule: rule23 } , CharBlock { start: 502, length: 1, convRule: rule51 } , CharBlock { start: 503, length: 1, convRule: rule52 } - , CharBlock { start: 504, length: 1, convRule: rule21 } - , CharBlock { start: 505, length: 1, convRule: rule22 } - , CharBlock { start: 506, length: 1, convRule: rule21 } - , CharBlock { start: 507, length: 1, convRule: rule22 } - , CharBlock { start: 508, length: 1, convRule: rule21 } - , CharBlock { start: 509, length: 1, convRule: rule22 } - , CharBlock { start: 510, length: 1, convRule: rule21 } - , CharBlock { start: 511, length: 1, convRule: rule22 } - , CharBlock { start: 512, length: 1, convRule: rule21 } - , CharBlock { start: 513, length: 1, convRule: rule22 } - , CharBlock { start: 514, length: 1, convRule: rule21 } - , CharBlock { start: 515, length: 1, convRule: rule22 } - , CharBlock { start: 516, length: 1, convRule: rule21 } - , CharBlock { start: 517, length: 1, convRule: rule22 } - , CharBlock { start: 518, length: 1, convRule: rule21 } - , CharBlock { start: 519, length: 1, convRule: rule22 } - , CharBlock { start: 520, length: 1, convRule: rule21 } - , CharBlock { start: 521, length: 1, convRule: rule22 } - , CharBlock { start: 522, length: 1, convRule: rule21 } - , CharBlock { start: 523, length: 1, convRule: rule22 } - , CharBlock { start: 524, length: 1, convRule: rule21 } - , CharBlock { start: 525, length: 1, convRule: rule22 } - , CharBlock { start: 526, length: 1, convRule: rule21 } - , CharBlock { start: 527, length: 1, convRule: rule22 } - , CharBlock { start: 528, length: 1, convRule: rule21 } - , CharBlock { start: 529, length: 1, convRule: rule22 } - , CharBlock { start: 530, length: 1, convRule: rule21 } - , CharBlock { start: 531, length: 1, convRule: rule22 } - , CharBlock { start: 532, length: 1, convRule: rule21 } - , CharBlock { start: 533, length: 1, convRule: rule22 } - , CharBlock { start: 534, length: 1, convRule: rule21 } - , CharBlock { start: 535, length: 1, convRule: rule22 } - , CharBlock { start: 536, length: 1, convRule: rule21 } - , CharBlock { start: 537, length: 1, convRule: rule22 } - , CharBlock { start: 538, length: 1, convRule: rule21 } - , CharBlock { start: 539, length: 1, convRule: rule22 } - , CharBlock { start: 540, length: 1, convRule: rule21 } - , CharBlock { start: 541, length: 1, convRule: rule22 } - , CharBlock { start: 542, length: 1, convRule: rule21 } - , CharBlock { start: 543, length: 1, convRule: rule22 } + , CharBlock { start: 504, length: 1, convRule: rule22 } + , CharBlock { start: 505, length: 1, convRule: rule23 } + , CharBlock { start: 506, length: 1, convRule: rule22 } + , CharBlock { start: 507, length: 1, convRule: rule23 } + , CharBlock { start: 508, length: 1, convRule: rule22 } + , CharBlock { start: 509, length: 1, convRule: rule23 } + , CharBlock { start: 510, length: 1, convRule: rule22 } + , CharBlock { start: 511, length: 1, convRule: rule23 } + , CharBlock { start: 512, length: 1, convRule: rule22 } + , CharBlock { start: 513, length: 1, convRule: rule23 } + , CharBlock { start: 514, length: 1, convRule: rule22 } + , CharBlock { start: 515, length: 1, convRule: rule23 } + , CharBlock { start: 516, length: 1, convRule: rule22 } + , CharBlock { start: 517, length: 1, convRule: rule23 } + , CharBlock { start: 518, length: 1, convRule: rule22 } + , CharBlock { start: 519, length: 1, convRule: rule23 } + , CharBlock { start: 520, length: 1, convRule: rule22 } + , CharBlock { start: 521, length: 1, convRule: rule23 } + , CharBlock { start: 522, length: 1, convRule: rule22 } + , CharBlock { start: 523, length: 1, convRule: rule23 } + , CharBlock { start: 524, length: 1, convRule: rule22 } + , CharBlock { start: 525, length: 1, convRule: rule23 } + , CharBlock { start: 526, length: 1, convRule: rule22 } + , CharBlock { start: 527, length: 1, convRule: rule23 } + , CharBlock { start: 528, length: 1, convRule: rule22 } + , CharBlock { start: 529, length: 1, convRule: rule23 } + , CharBlock { start: 530, length: 1, convRule: rule22 } + , CharBlock { start: 531, length: 1, convRule: rule23 } + , CharBlock { start: 532, length: 1, convRule: rule22 } + , CharBlock { start: 533, length: 1, convRule: rule23 } + , CharBlock { start: 534, length: 1, convRule: rule22 } + , CharBlock { start: 535, length: 1, convRule: rule23 } + , CharBlock { start: 536, length: 1, convRule: rule22 } + , CharBlock { start: 537, length: 1, convRule: rule23 } + , CharBlock { start: 538, length: 1, convRule: rule22 } + , CharBlock { start: 539, length: 1, convRule: rule23 } + , CharBlock { start: 540, length: 1, convRule: rule22 } + , CharBlock { start: 541, length: 1, convRule: rule23 } + , CharBlock { start: 542, length: 1, convRule: rule22 } + , CharBlock { start: 543, length: 1, convRule: rule23 } , CharBlock { start: 544, length: 1, convRule: rule53 } - , CharBlock { start: 546, length: 1, convRule: rule21 } - , CharBlock { start: 547, length: 1, convRule: rule22 } - , CharBlock { start: 548, length: 1, convRule: rule21 } - , CharBlock { start: 549, length: 1, convRule: rule22 } - , CharBlock { start: 550, length: 1, convRule: rule21 } - , CharBlock { start: 551, length: 1, convRule: rule22 } - , CharBlock { start: 552, length: 1, convRule: rule21 } - , CharBlock { start: 553, length: 1, convRule: rule22 } - , CharBlock { start: 554, length: 1, convRule: rule21 } - , CharBlock { start: 555, length: 1, convRule: rule22 } - , CharBlock { start: 556, length: 1, convRule: rule21 } - , CharBlock { start: 557, length: 1, convRule: rule22 } - , CharBlock { start: 558, length: 1, convRule: rule21 } - , CharBlock { start: 559, length: 1, convRule: rule22 } - , CharBlock { start: 560, length: 1, convRule: rule21 } - , CharBlock { start: 561, length: 1, convRule: rule22 } - , CharBlock { start: 562, length: 1, convRule: rule21 } - , CharBlock { start: 563, length: 1, convRule: rule22 } + , CharBlock { start: 546, length: 1, convRule: rule22 } + , CharBlock { start: 547, length: 1, convRule: rule23 } + , CharBlock { start: 548, length: 1, convRule: rule22 } + , CharBlock { start: 549, length: 1, convRule: rule23 } + , CharBlock { start: 550, length: 1, convRule: rule22 } + , CharBlock { start: 551, length: 1, convRule: rule23 } + , CharBlock { start: 552, length: 1, convRule: rule22 } + , CharBlock { start: 553, length: 1, convRule: rule23 } + , CharBlock { start: 554, length: 1, convRule: rule22 } + , CharBlock { start: 555, length: 1, convRule: rule23 } + , CharBlock { start: 556, length: 1, convRule: rule22 } + , CharBlock { start: 557, length: 1, convRule: rule23 } + , CharBlock { start: 558, length: 1, convRule: rule22 } + , CharBlock { start: 559, length: 1, convRule: rule23 } + , CharBlock { start: 560, length: 1, convRule: rule22 } + , CharBlock { start: 561, length: 1, convRule: rule23 } + , CharBlock { start: 562, length: 1, convRule: rule22 } + , CharBlock { start: 563, length: 1, convRule: rule23 } , CharBlock { start: 570, length: 1, convRule: rule54 } - , CharBlock { start: 571, length: 1, convRule: rule21 } - , CharBlock { start: 572, length: 1, convRule: rule22 } + , CharBlock { start: 571, length: 1, convRule: rule22 } + , CharBlock { start: 572, length: 1, convRule: rule23 } , CharBlock { start: 573, length: 1, convRule: rule55 } , CharBlock { start: 574, length: 1, convRule: rule56 } , CharBlock { start: 575, length: 2, convRule: rule57 } - , CharBlock { start: 577, length: 1, convRule: rule21 } - , CharBlock { start: 578, length: 1, convRule: rule22 } + , CharBlock { start: 577, length: 1, convRule: rule22 } + , CharBlock { start: 578, length: 1, convRule: rule23 } , CharBlock { start: 579, length: 1, convRule: rule58 } , CharBlock { start: 580, length: 1, convRule: rule59 } , CharBlock { start: 581, length: 1, convRule: rule60 } - , CharBlock { start: 582, length: 1, convRule: rule21 } - , CharBlock { start: 583, length: 1, convRule: rule22 } - , CharBlock { start: 584, length: 1, convRule: rule21 } - , CharBlock { start: 585, length: 1, convRule: rule22 } - , CharBlock { start: 586, length: 1, convRule: rule21 } - , CharBlock { start: 587, length: 1, convRule: rule22 } - , CharBlock { start: 588, length: 1, convRule: rule21 } - , CharBlock { start: 589, length: 1, convRule: rule22 } - , CharBlock { start: 590, length: 1, convRule: rule21 } - , CharBlock { start: 591, length: 1, convRule: rule22 } + , CharBlock { start: 582, length: 1, convRule: rule22 } + , CharBlock { start: 583, length: 1, convRule: rule23 } + , CharBlock { start: 584, length: 1, convRule: rule22 } + , CharBlock { start: 585, length: 1, convRule: rule23 } + , CharBlock { start: 586, length: 1, convRule: rule22 } + , CharBlock { start: 587, length: 1, convRule: rule23 } + , CharBlock { start: 588, length: 1, convRule: rule22 } + , CharBlock { start: 589, length: 1, convRule: rule23 } + , CharBlock { start: 590, length: 1, convRule: rule22 } + , CharBlock { start: 591, length: 1, convRule: rule23 } , CharBlock { start: 592, length: 1, convRule: rule61 } , CharBlock { start: 593, length: 1, convRule: rule62 } , CharBlock { start: 594, length: 1, convRule: rule63 } @@ -3828,915 +4379,988 @@ convchars = [ CharBlock { start: 65, length: 26, convRule: rule9 } , CharBlock { start: 598, length: 2, convRule: rule66 } , CharBlock { start: 601, length: 1, convRule: rule67 } , CharBlock { start: 603, length: 1, convRule: rule68 } + , CharBlock { start: 604, length: 1, convRule: rule69 } , CharBlock { start: 608, length: 1, convRule: rule66 } - , CharBlock { start: 611, length: 1, convRule: rule69 } - , CharBlock { start: 613, length: 1, convRule: rule70 } - , CharBlock { start: 616, length: 1, convRule: rule71 } - , CharBlock { start: 617, length: 1, convRule: rule72 } - , CharBlock { start: 619, length: 1, convRule: rule73 } - , CharBlock { start: 623, length: 1, convRule: rule72 } - , CharBlock { start: 625, length: 1, convRule: rule74 } - , CharBlock { start: 626, length: 1, convRule: rule75 } - , CharBlock { start: 629, length: 1, convRule: rule76 } - , CharBlock { start: 637, length: 1, convRule: rule77 } - , CharBlock { start: 640, length: 1, convRule: rule78 } - , CharBlock { start: 643, length: 1, convRule: rule78 } - , CharBlock { start: 648, length: 1, convRule: rule78 } - , CharBlock { start: 649, length: 1, convRule: rule79 } - , CharBlock { start: 650, length: 2, convRule: rule80 } - , CharBlock { start: 652, length: 1, convRule: rule81 } - , CharBlock { start: 658, length: 1, convRule: rule82 } - , CharBlock { start: 837, length: 1, convRule: rule85 } - , CharBlock { start: 880, length: 1, convRule: rule21 } - , CharBlock { start: 881, length: 1, convRule: rule22 } - , CharBlock { start: 882, length: 1, convRule: rule21 } - , CharBlock { start: 883, length: 1, convRule: rule22 } - , CharBlock { start: 886, length: 1, convRule: rule21 } - , CharBlock { start: 887, length: 1, convRule: rule22 } - , CharBlock { start: 891, length: 3, convRule: rule40 } - , CharBlock { start: 902, length: 1, convRule: rule86 } - , CharBlock { start: 904, length: 3, convRule: rule87 } - , CharBlock { start: 908, length: 1, convRule: rule88 } - , CharBlock { start: 910, length: 2, convRule: rule89 } + , CharBlock { start: 609, length: 1, convRule: rule70 } + , CharBlock { start: 611, length: 1, convRule: rule71 } + , CharBlock { start: 613, length: 1, convRule: rule72 } + , CharBlock { start: 614, length: 1, convRule: rule73 } + , CharBlock { start: 616, length: 1, convRule: rule74 } + , CharBlock { start: 617, length: 1, convRule: rule75 } + , CharBlock { start: 618, length: 1, convRule: rule73 } + , CharBlock { start: 619, length: 1, convRule: rule76 } + , CharBlock { start: 620, length: 1, convRule: rule77 } + , CharBlock { start: 623, length: 1, convRule: rule75 } + , CharBlock { start: 625, length: 1, convRule: rule78 } + , CharBlock { start: 626, length: 1, convRule: rule79 } + , CharBlock { start: 629, length: 1, convRule: rule80 } + , CharBlock { start: 637, length: 1, convRule: rule81 } + , CharBlock { start: 640, length: 1, convRule: rule82 } + , CharBlock { start: 643, length: 1, convRule: rule82 } + , CharBlock { start: 647, length: 1, convRule: rule83 } + , CharBlock { start: 648, length: 1, convRule: rule82 } + , CharBlock { start: 649, length: 1, convRule: rule84 } + , CharBlock { start: 650, length: 2, convRule: rule85 } + , CharBlock { start: 652, length: 1, convRule: rule86 } + , CharBlock { start: 658, length: 1, convRule: rule87 } + , CharBlock { start: 669, length: 1, convRule: rule88 } + , CharBlock { start: 670, length: 1, convRule: rule89 } + , CharBlock { start: 837, length: 1, convRule: rule92 } + , CharBlock { start: 880, length: 1, convRule: rule22 } + , CharBlock { start: 881, length: 1, convRule: rule23 } + , CharBlock { start: 882, length: 1, convRule: rule22 } + , CharBlock { start: 883, length: 1, convRule: rule23 } + , CharBlock { start: 886, length: 1, convRule: rule22 } + , CharBlock { start: 887, length: 1, convRule: rule23 } + , CharBlock { start: 891, length: 3, convRule: rule41 } + , CharBlock { start: 895, length: 1, convRule: rule93 } + , CharBlock { start: 902, length: 1, convRule: rule94 } + , CharBlock { start: 904, length: 3, convRule: rule95 } + , CharBlock { start: 908, length: 1, convRule: rule96 } + , CharBlock { start: 910, length: 2, convRule: rule97 } , CharBlock { start: 913, length: 17, convRule: rule9 } , CharBlock { start: 931, length: 9, convRule: rule9 } - , CharBlock { start: 940, length: 1, convRule: rule90 } - , CharBlock { start: 941, length: 3, convRule: rule91 } + , CharBlock { start: 940, length: 1, convRule: rule98 } + , CharBlock { start: 941, length: 3, convRule: rule99 } , CharBlock { start: 945, length: 17, convRule: rule12 } - , CharBlock { start: 962, length: 1, convRule: rule92 } + , CharBlock { start: 962, length: 1, convRule: rule100 } , CharBlock { start: 963, length: 9, convRule: rule12 } - , CharBlock { start: 972, length: 1, convRule: rule93 } - , CharBlock { start: 973, length: 2, convRule: rule94 } - , CharBlock { start: 975, length: 1, convRule: rule95 } - , CharBlock { start: 976, length: 1, convRule: rule96 } - , CharBlock { start: 977, length: 1, convRule: rule97 } - , CharBlock { start: 981, length: 1, convRule: rule99 } - , CharBlock { start: 982, length: 1, convRule: rule100 } - , CharBlock { start: 983, length: 1, convRule: rule101 } - , CharBlock { start: 984, length: 1, convRule: rule21 } - , CharBlock { start: 985, length: 1, convRule: rule22 } - , CharBlock { start: 986, length: 1, convRule: rule21 } - , CharBlock { start: 987, length: 1, convRule: rule22 } - , CharBlock { start: 988, length: 1, convRule: rule21 } - , CharBlock { start: 989, length: 1, convRule: rule22 } - , CharBlock { start: 990, length: 1, convRule: rule21 } - , CharBlock { start: 991, length: 1, convRule: rule22 } - , CharBlock { start: 992, length: 1, convRule: rule21 } - , CharBlock { start: 993, length: 1, convRule: rule22 } - , CharBlock { start: 994, length: 1, convRule: rule21 } - , CharBlock { start: 995, length: 1, convRule: rule22 } - , CharBlock { start: 996, length: 1, convRule: rule21 } - , CharBlock { start: 997, length: 1, convRule: rule22 } - , CharBlock { start: 998, length: 1, convRule: rule21 } - , CharBlock { start: 999, length: 1, convRule: rule22 } - , CharBlock { start: 1000, length: 1, convRule: rule21 } - , CharBlock { start: 1001, length: 1, convRule: rule22 } - , CharBlock { start: 1002, length: 1, convRule: rule21 } - , CharBlock { start: 1003, length: 1, convRule: rule22 } - , CharBlock { start: 1004, length: 1, convRule: rule21 } - , CharBlock { start: 1005, length: 1, convRule: rule22 } - , CharBlock { start: 1006, length: 1, convRule: rule21 } - , CharBlock { start: 1007, length: 1, convRule: rule22 } - , CharBlock { start: 1008, length: 1, convRule: rule102 } - , CharBlock { start: 1009, length: 1, convRule: rule103 } - , CharBlock { start: 1010, length: 1, convRule: rule104 } - , CharBlock { start: 1012, length: 1, convRule: rule105 } - , CharBlock { start: 1013, length: 1, convRule: rule106 } - , CharBlock { start: 1015, length: 1, convRule: rule21 } - , CharBlock { start: 1016, length: 1, convRule: rule22 } - , CharBlock { start: 1017, length: 1, convRule: rule107 } - , CharBlock { start: 1018, length: 1, convRule: rule21 } - , CharBlock { start: 1019, length: 1, convRule: rule22 } + , CharBlock { start: 972, length: 1, convRule: rule101 } + , CharBlock { start: 973, length: 2, convRule: rule102 } + , CharBlock { start: 975, length: 1, convRule: rule103 } + , CharBlock { start: 976, length: 1, convRule: rule104 } + , CharBlock { start: 977, length: 1, convRule: rule105 } + , CharBlock { start: 981, length: 1, convRule: rule107 } + , CharBlock { start: 982, length: 1, convRule: rule108 } + , CharBlock { start: 983, length: 1, convRule: rule109 } + , CharBlock { start: 984, length: 1, convRule: rule22 } + , CharBlock { start: 985, length: 1, convRule: rule23 } + , CharBlock { start: 986, length: 1, convRule: rule22 } + , CharBlock { start: 987, length: 1, convRule: rule23 } + , CharBlock { start: 988, length: 1, convRule: rule22 } + , CharBlock { start: 989, length: 1, convRule: rule23 } + , CharBlock { start: 990, length: 1, convRule: rule22 } + , CharBlock { start: 991, length: 1, convRule: rule23 } + , CharBlock { start: 992, length: 1, convRule: rule22 } + , CharBlock { start: 993, length: 1, convRule: rule23 } + , CharBlock { start: 994, length: 1, convRule: rule22 } + , CharBlock { start: 995, length: 1, convRule: rule23 } + , CharBlock { start: 996, length: 1, convRule: rule22 } + , CharBlock { start: 997, length: 1, convRule: rule23 } + , CharBlock { start: 998, length: 1, convRule: rule22 } + , CharBlock { start: 999, length: 1, convRule: rule23 } + , CharBlock { start: 1000, length: 1, convRule: rule22 } + , CharBlock { start: 1001, length: 1, convRule: rule23 } + , CharBlock { start: 1002, length: 1, convRule: rule22 } + , CharBlock { start: 1003, length: 1, convRule: rule23 } + , CharBlock { start: 1004, length: 1, convRule: rule22 } + , CharBlock { start: 1005, length: 1, convRule: rule23 } + , CharBlock { start: 1006, length: 1, convRule: rule22 } + , CharBlock { start: 1007, length: 1, convRule: rule23 } + , CharBlock { start: 1008, length: 1, convRule: rule110 } + , CharBlock { start: 1009, length: 1, convRule: rule111 } + , CharBlock { start: 1010, length: 1, convRule: rule112 } + , CharBlock { start: 1011, length: 1, convRule: rule113 } + , CharBlock { start: 1012, length: 1, convRule: rule114 } + , CharBlock { start: 1013, length: 1, convRule: rule115 } + , CharBlock { start: 1015, length: 1, convRule: rule22 } + , CharBlock { start: 1016, length: 1, convRule: rule23 } + , CharBlock { start: 1017, length: 1, convRule: rule116 } + , CharBlock { start: 1018, length: 1, convRule: rule22 } + , CharBlock { start: 1019, length: 1, convRule: rule23 } , CharBlock { start: 1021, length: 3, convRule: rule53 } - , CharBlock { start: 1024, length: 16, convRule: rule108 } + , CharBlock { start: 1024, length: 16, convRule: rule117 } , CharBlock { start: 1040, length: 32, convRule: rule9 } , CharBlock { start: 1072, length: 32, convRule: rule12 } - , CharBlock { start: 1104, length: 16, convRule: rule103 } - , CharBlock { start: 1120, length: 1, convRule: rule21 } - , CharBlock { start: 1121, length: 1, convRule: rule22 } - , CharBlock { start: 1122, length: 1, convRule: rule21 } - , CharBlock { start: 1123, length: 1, convRule: rule22 } - , CharBlock { start: 1124, length: 1, convRule: rule21 } - , CharBlock { start: 1125, length: 1, convRule: rule22 } - , CharBlock { start: 1126, length: 1, convRule: rule21 } - , CharBlock { start: 1127, length: 1, convRule: rule22 } - , CharBlock { start: 1128, length: 1, convRule: rule21 } - , CharBlock { start: 1129, length: 1, convRule: rule22 } - , CharBlock { start: 1130, length: 1, convRule: rule21 } - , CharBlock { start: 1131, length: 1, convRule: rule22 } - , CharBlock { start: 1132, length: 1, convRule: rule21 } - , CharBlock { start: 1133, length: 1, convRule: rule22 } - , CharBlock { start: 1134, length: 1, convRule: rule21 } - , CharBlock { start: 1135, length: 1, convRule: rule22 } - , CharBlock { start: 1136, length: 1, convRule: rule21 } - , CharBlock { start: 1137, length: 1, convRule: rule22 } - , CharBlock { start: 1138, length: 1, convRule: rule21 } - , CharBlock { start: 1139, length: 1, convRule: rule22 } - , CharBlock { start: 1140, length: 1, convRule: rule21 } - , CharBlock { start: 1141, length: 1, convRule: rule22 } - , CharBlock { start: 1142, length: 1, convRule: rule21 } - , CharBlock { start: 1143, length: 1, convRule: rule22 } - , CharBlock { start: 1144, length: 1, convRule: rule21 } - , CharBlock { start: 1145, length: 1, convRule: rule22 } - , CharBlock { start: 1146, length: 1, convRule: rule21 } - , CharBlock { start: 1147, length: 1, convRule: rule22 } - , CharBlock { start: 1148, length: 1, convRule: rule21 } - , CharBlock { start: 1149, length: 1, convRule: rule22 } - , CharBlock { start: 1150, length: 1, convRule: rule21 } - , CharBlock { start: 1151, length: 1, convRule: rule22 } - , CharBlock { start: 1152, length: 1, convRule: rule21 } - , CharBlock { start: 1153, length: 1, convRule: rule22 } - , CharBlock { start: 1162, length: 1, convRule: rule21 } - , CharBlock { start: 1163, length: 1, convRule: rule22 } - , CharBlock { start: 1164, length: 1, convRule: rule21 } - , CharBlock { start: 1165, length: 1, convRule: rule22 } - , CharBlock { start: 1166, length: 1, convRule: rule21 } - , CharBlock { start: 1167, length: 1, convRule: rule22 } - , CharBlock { start: 1168, length: 1, convRule: rule21 } - , CharBlock { start: 1169, length: 1, convRule: rule22 } - , CharBlock { start: 1170, length: 1, convRule: rule21 } - , CharBlock { start: 1171, length: 1, convRule: rule22 } - , CharBlock { start: 1172, length: 1, convRule: rule21 } - , CharBlock { start: 1173, length: 1, convRule: rule22 } - , CharBlock { start: 1174, length: 1, convRule: rule21 } - , CharBlock { start: 1175, length: 1, convRule: rule22 } - , CharBlock { start: 1176, length: 1, convRule: rule21 } - , CharBlock { start: 1177, length: 1, convRule: rule22 } - , CharBlock { start: 1178, length: 1, convRule: rule21 } - , CharBlock { start: 1179, length: 1, convRule: rule22 } - , CharBlock { start: 1180, length: 1, convRule: rule21 } - , CharBlock { start: 1181, length: 1, convRule: rule22 } - , CharBlock { start: 1182, length: 1, convRule: rule21 } - , CharBlock { start: 1183, length: 1, convRule: rule22 } - , CharBlock { start: 1184, length: 1, convRule: rule21 } - , CharBlock { start: 1185, length: 1, convRule: rule22 } - , CharBlock { start: 1186, length: 1, convRule: rule21 } - , CharBlock { start: 1187, length: 1, convRule: rule22 } - , CharBlock { start: 1188, length: 1, convRule: rule21 } - , CharBlock { start: 1189, length: 1, convRule: rule22 } - , CharBlock { start: 1190, length: 1, convRule: rule21 } - , CharBlock { start: 1191, length: 1, convRule: rule22 } - , CharBlock { start: 1192, length: 1, convRule: rule21 } - , CharBlock { start: 1193, length: 1, convRule: rule22 } - , CharBlock { start: 1194, length: 1, convRule: rule21 } - , CharBlock { start: 1195, length: 1, convRule: rule22 } - , CharBlock { start: 1196, length: 1, convRule: rule21 } - , CharBlock { start: 1197, length: 1, convRule: rule22 } - , CharBlock { start: 1198, length: 1, convRule: rule21 } - , CharBlock { start: 1199, length: 1, convRule: rule22 } - , CharBlock { start: 1200, length: 1, convRule: rule21 } - , CharBlock { start: 1201, length: 1, convRule: rule22 } - , CharBlock { start: 1202, length: 1, convRule: rule21 } - , CharBlock { start: 1203, length: 1, convRule: rule22 } - , CharBlock { start: 1204, length: 1, convRule: rule21 } - , CharBlock { start: 1205, length: 1, convRule: rule22 } - , CharBlock { start: 1206, length: 1, convRule: rule21 } - , CharBlock { start: 1207, length: 1, convRule: rule22 } - , CharBlock { start: 1208, length: 1, convRule: rule21 } - , CharBlock { start: 1209, length: 1, convRule: rule22 } - , CharBlock { start: 1210, length: 1, convRule: rule21 } - , CharBlock { start: 1211, length: 1, convRule: rule22 } - , CharBlock { start: 1212, length: 1, convRule: rule21 } - , CharBlock { start: 1213, length: 1, convRule: rule22 } - , CharBlock { start: 1214, length: 1, convRule: rule21 } - , CharBlock { start: 1215, length: 1, convRule: rule22 } - , CharBlock { start: 1216, length: 1, convRule: rule110 } - , CharBlock { start: 1217, length: 1, convRule: rule21 } - , CharBlock { start: 1218, length: 1, convRule: rule22 } - , CharBlock { start: 1219, length: 1, convRule: rule21 } - , CharBlock { start: 1220, length: 1, convRule: rule22 } - , CharBlock { start: 1221, length: 1, convRule: rule21 } - , CharBlock { start: 1222, length: 1, convRule: rule22 } - , CharBlock { start: 1223, length: 1, convRule: rule21 } - , CharBlock { start: 1224, length: 1, convRule: rule22 } - , CharBlock { start: 1225, length: 1, convRule: rule21 } - , CharBlock { start: 1226, length: 1, convRule: rule22 } - , CharBlock { start: 1227, length: 1, convRule: rule21 } - , CharBlock { start: 1228, length: 1, convRule: rule22 } - , CharBlock { start: 1229, length: 1, convRule: rule21 } - , CharBlock { start: 1230, length: 1, convRule: rule22 } - , CharBlock { start: 1231, length: 1, convRule: rule111 } - , CharBlock { start: 1232, length: 1, convRule: rule21 } - , CharBlock { start: 1233, length: 1, convRule: rule22 } - , CharBlock { start: 1234, length: 1, convRule: rule21 } - , CharBlock { start: 1235, length: 1, convRule: rule22 } - , CharBlock { start: 1236, length: 1, convRule: rule21 } - , CharBlock { start: 1237, length: 1, convRule: rule22 } - , CharBlock { start: 1238, length: 1, convRule: rule21 } - , CharBlock { start: 1239, length: 1, convRule: rule22 } - , CharBlock { start: 1240, length: 1, convRule: rule21 } - , CharBlock { start: 1241, length: 1, convRule: rule22 } - , CharBlock { start: 1242, length: 1, convRule: rule21 } - , CharBlock { start: 1243, length: 1, convRule: rule22 } - , CharBlock { start: 1244, length: 1, convRule: rule21 } - , CharBlock { start: 1245, length: 1, convRule: rule22 } - , CharBlock { start: 1246, length: 1, convRule: rule21 } - , CharBlock { start: 1247, length: 1, convRule: rule22 } - , CharBlock { start: 1248, length: 1, convRule: rule21 } - , CharBlock { start: 1249, length: 1, convRule: rule22 } - , CharBlock { start: 1250, length: 1, convRule: rule21 } - , CharBlock { start: 1251, length: 1, convRule: rule22 } - , CharBlock { start: 1252, length: 1, convRule: rule21 } - , CharBlock { start: 1253, length: 1, convRule: rule22 } - , CharBlock { start: 1254, length: 1, convRule: rule21 } - , CharBlock { start: 1255, length: 1, convRule: rule22 } - , CharBlock { start: 1256, length: 1, convRule: rule21 } - , CharBlock { start: 1257, length: 1, convRule: rule22 } - , CharBlock { start: 1258, length: 1, convRule: rule21 } - , CharBlock { start: 1259, length: 1, convRule: rule22 } - , CharBlock { start: 1260, length: 1, convRule: rule21 } - , CharBlock { start: 1261, length: 1, convRule: rule22 } - , CharBlock { start: 1262, length: 1, convRule: rule21 } - , CharBlock { start: 1263, length: 1, convRule: rule22 } - , CharBlock { start: 1264, length: 1, convRule: rule21 } - , CharBlock { start: 1265, length: 1, convRule: rule22 } - , CharBlock { start: 1266, length: 1, convRule: rule21 } - , CharBlock { start: 1267, length: 1, convRule: rule22 } - , CharBlock { start: 1268, length: 1, convRule: rule21 } - , CharBlock { start: 1269, length: 1, convRule: rule22 } - , CharBlock { start: 1270, length: 1, convRule: rule21 } - , CharBlock { start: 1271, length: 1, convRule: rule22 } - , CharBlock { start: 1272, length: 1, convRule: rule21 } - , CharBlock { start: 1273, length: 1, convRule: rule22 } - , CharBlock { start: 1274, length: 1, convRule: rule21 } - , CharBlock { start: 1275, length: 1, convRule: rule22 } - , CharBlock { start: 1276, length: 1, convRule: rule21 } - , CharBlock { start: 1277, length: 1, convRule: rule22 } - , CharBlock { start: 1278, length: 1, convRule: rule21 } - , CharBlock { start: 1279, length: 1, convRule: rule22 } - , CharBlock { start: 1280, length: 1, convRule: rule21 } - , CharBlock { start: 1281, length: 1, convRule: rule22 } - , CharBlock { start: 1282, length: 1, convRule: rule21 } - , CharBlock { start: 1283, length: 1, convRule: rule22 } - , CharBlock { start: 1284, length: 1, convRule: rule21 } - , CharBlock { start: 1285, length: 1, convRule: rule22 } - , CharBlock { start: 1286, length: 1, convRule: rule21 } - , CharBlock { start: 1287, length: 1, convRule: rule22 } - , CharBlock { start: 1288, length: 1, convRule: rule21 } - , CharBlock { start: 1289, length: 1, convRule: rule22 } - , CharBlock { start: 1290, length: 1, convRule: rule21 } - , CharBlock { start: 1291, length: 1, convRule: rule22 } - , CharBlock { start: 1292, length: 1, convRule: rule21 } - , CharBlock { start: 1293, length: 1, convRule: rule22 } - , CharBlock { start: 1294, length: 1, convRule: rule21 } - , CharBlock { start: 1295, length: 1, convRule: rule22 } - , CharBlock { start: 1296, length: 1, convRule: rule21 } - , CharBlock { start: 1297, length: 1, convRule: rule22 } - , CharBlock { start: 1298, length: 1, convRule: rule21 } - , CharBlock { start: 1299, length: 1, convRule: rule22 } - , CharBlock { start: 1300, length: 1, convRule: rule21 } - , CharBlock { start: 1301, length: 1, convRule: rule22 } - , CharBlock { start: 1302, length: 1, convRule: rule21 } - , CharBlock { start: 1303, length: 1, convRule: rule22 } - , CharBlock { start: 1304, length: 1, convRule: rule21 } - , CharBlock { start: 1305, length: 1, convRule: rule22 } - , CharBlock { start: 1306, length: 1, convRule: rule21 } - , CharBlock { start: 1307, length: 1, convRule: rule22 } - , CharBlock { start: 1308, length: 1, convRule: rule21 } - , CharBlock { start: 1309, length: 1, convRule: rule22 } - , CharBlock { start: 1310, length: 1, convRule: rule21 } - , CharBlock { start: 1311, length: 1, convRule: rule22 } - , CharBlock { start: 1312, length: 1, convRule: rule21 } - , CharBlock { start: 1313, length: 1, convRule: rule22 } - , CharBlock { start: 1314, length: 1, convRule: rule21 } - , CharBlock { start: 1315, length: 1, convRule: rule22 } - , CharBlock { start: 1316, length: 1, convRule: rule21 } - , CharBlock { start: 1317, length: 1, convRule: rule22 } - , CharBlock { start: 1318, length: 1, convRule: rule21 } - , CharBlock { start: 1319, length: 1, convRule: rule22 } - , CharBlock { start: 1329, length: 38, convRule: rule112 } - , CharBlock { start: 1377, length: 38, convRule: rule113 } - , CharBlock { start: 4256, length: 38, convRule: rule115 } - , CharBlock { start: 7545, length: 1, convRule: rule117 } - , CharBlock { start: 7549, length: 1, convRule: rule118 } - , CharBlock { start: 7680, length: 1, convRule: rule21 } - , CharBlock { start: 7681, length: 1, convRule: rule22 } - , CharBlock { start: 7682, length: 1, convRule: rule21 } - , CharBlock { start: 7683, length: 1, convRule: rule22 } - , CharBlock { start: 7684, length: 1, convRule: rule21 } - , CharBlock { start: 7685, length: 1, convRule: rule22 } - , CharBlock { start: 7686, length: 1, convRule: rule21 } - , CharBlock { start: 7687, length: 1, convRule: rule22 } - , CharBlock { start: 7688, length: 1, convRule: rule21 } - , CharBlock { start: 7689, length: 1, convRule: rule22 } - , CharBlock { start: 7690, length: 1, convRule: rule21 } - , CharBlock { start: 7691, length: 1, convRule: rule22 } - , CharBlock { start: 7692, length: 1, convRule: rule21 } - , CharBlock { start: 7693, length: 1, convRule: rule22 } - , CharBlock { start: 7694, length: 1, convRule: rule21 } - , CharBlock { start: 7695, length: 1, convRule: rule22 } - , CharBlock { start: 7696, length: 1, convRule: rule21 } - , CharBlock { start: 7697, length: 1, convRule: rule22 } - , CharBlock { start: 7698, length: 1, convRule: rule21 } - , CharBlock { start: 7699, length: 1, convRule: rule22 } - , CharBlock { start: 7700, length: 1, convRule: rule21 } - , CharBlock { start: 7701, length: 1, convRule: rule22 } - , CharBlock { start: 7702, length: 1, convRule: rule21 } - , CharBlock { start: 7703, length: 1, convRule: rule22 } - , CharBlock { start: 7704, length: 1, convRule: rule21 } - , CharBlock { start: 7705, length: 1, convRule: rule22 } - , CharBlock { start: 7706, length: 1, convRule: rule21 } - , CharBlock { start: 7707, length: 1, convRule: rule22 } - , CharBlock { start: 7708, length: 1, convRule: rule21 } - , CharBlock { start: 7709, length: 1, convRule: rule22 } - , CharBlock { start: 7710, length: 1, convRule: rule21 } - , CharBlock { start: 7711, length: 1, convRule: rule22 } - , CharBlock { start: 7712, length: 1, convRule: rule21 } - , CharBlock { start: 7713, length: 1, convRule: rule22 } - , CharBlock { start: 7714, length: 1, convRule: rule21 } - , CharBlock { start: 7715, length: 1, convRule: rule22 } - , CharBlock { start: 7716, length: 1, convRule: rule21 } - , CharBlock { start: 7717, length: 1, convRule: rule22 } - , CharBlock { start: 7718, length: 1, convRule: rule21 } - , CharBlock { start: 7719, length: 1, convRule: rule22 } - , CharBlock { start: 7720, length: 1, convRule: rule21 } - , CharBlock { start: 7721, length: 1, convRule: rule22 } - , CharBlock { start: 7722, length: 1, convRule: rule21 } - , CharBlock { start: 7723, length: 1, convRule: rule22 } - , CharBlock { start: 7724, length: 1, convRule: rule21 } - , CharBlock { start: 7725, length: 1, convRule: rule22 } - , CharBlock { start: 7726, length: 1, convRule: rule21 } - , CharBlock { start: 7727, length: 1, convRule: rule22 } - , CharBlock { start: 7728, length: 1, convRule: rule21 } - , CharBlock { start: 7729, length: 1, convRule: rule22 } - , CharBlock { start: 7730, length: 1, convRule: rule21 } - , CharBlock { start: 7731, length: 1, convRule: rule22 } - , CharBlock { start: 7732, length: 1, convRule: rule21 } - , CharBlock { start: 7733, length: 1, convRule: rule22 } - , CharBlock { start: 7734, length: 1, convRule: rule21 } - , CharBlock { start: 7735, length: 1, convRule: rule22 } - , CharBlock { start: 7736, length: 1, convRule: rule21 } - , CharBlock { start: 7737, length: 1, convRule: rule22 } - , CharBlock { start: 7738, length: 1, convRule: rule21 } - , CharBlock { start: 7739, length: 1, convRule: rule22 } - , CharBlock { start: 7740, length: 1, convRule: rule21 } - , CharBlock { start: 7741, length: 1, convRule: rule22 } - , CharBlock { start: 7742, length: 1, convRule: rule21 } - , CharBlock { start: 7743, length: 1, convRule: rule22 } - , CharBlock { start: 7744, length: 1, convRule: rule21 } - , CharBlock { start: 7745, length: 1, convRule: rule22 } - , CharBlock { start: 7746, length: 1, convRule: rule21 } - , CharBlock { start: 7747, length: 1, convRule: rule22 } - , CharBlock { start: 7748, length: 1, convRule: rule21 } - , CharBlock { start: 7749, length: 1, convRule: rule22 } - , CharBlock { start: 7750, length: 1, convRule: rule21 } - , CharBlock { start: 7751, length: 1, convRule: rule22 } - , CharBlock { start: 7752, length: 1, convRule: rule21 } - , CharBlock { start: 7753, length: 1, convRule: rule22 } - , CharBlock { start: 7754, length: 1, convRule: rule21 } - , CharBlock { start: 7755, length: 1, convRule: rule22 } - , CharBlock { start: 7756, length: 1, convRule: rule21 } - , CharBlock { start: 7757, length: 1, convRule: rule22 } - , CharBlock { start: 7758, length: 1, convRule: rule21 } - , CharBlock { start: 7759, length: 1, convRule: rule22 } - , CharBlock { start: 7760, length: 1, convRule: rule21 } - , CharBlock { start: 7761, length: 1, convRule: rule22 } - , CharBlock { start: 7762, length: 1, convRule: rule21 } - , CharBlock { start: 7763, length: 1, convRule: rule22 } - , CharBlock { start: 7764, length: 1, convRule: rule21 } - , CharBlock { start: 7765, length: 1, convRule: rule22 } - , CharBlock { start: 7766, length: 1, convRule: rule21 } - , CharBlock { start: 7767, length: 1, convRule: rule22 } - , CharBlock { start: 7768, length: 1, convRule: rule21 } - , CharBlock { start: 7769, length: 1, convRule: rule22 } - , CharBlock { start: 7770, length: 1, convRule: rule21 } - , CharBlock { start: 7771, length: 1, convRule: rule22 } - , CharBlock { start: 7772, length: 1, convRule: rule21 } - , CharBlock { start: 7773, length: 1, convRule: rule22 } - , CharBlock { start: 7774, length: 1, convRule: rule21 } - , CharBlock { start: 7775, length: 1, convRule: rule22 } - , CharBlock { start: 7776, length: 1, convRule: rule21 } - , CharBlock { start: 7777, length: 1, convRule: rule22 } - , CharBlock { start: 7778, length: 1, convRule: rule21 } - , CharBlock { start: 7779, length: 1, convRule: rule22 } - , CharBlock { start: 7780, length: 1, convRule: rule21 } - , CharBlock { start: 7781, length: 1, convRule: rule22 } - , CharBlock { start: 7782, length: 1, convRule: rule21 } - , CharBlock { start: 7783, length: 1, convRule: rule22 } - , CharBlock { start: 7784, length: 1, convRule: rule21 } - , CharBlock { start: 7785, length: 1, convRule: rule22 } - , CharBlock { start: 7786, length: 1, convRule: rule21 } - , CharBlock { start: 7787, length: 1, convRule: rule22 } - , CharBlock { start: 7788, length: 1, convRule: rule21 } - , CharBlock { start: 7789, length: 1, convRule: rule22 } - , CharBlock { start: 7790, length: 1, convRule: rule21 } - , CharBlock { start: 7791, length: 1, convRule: rule22 } - , CharBlock { start: 7792, length: 1, convRule: rule21 } - , CharBlock { start: 7793, length: 1, convRule: rule22 } - , CharBlock { start: 7794, length: 1, convRule: rule21 } - , CharBlock { start: 7795, length: 1, convRule: rule22 } - , CharBlock { start: 7796, length: 1, convRule: rule21 } - , CharBlock { start: 7797, length: 1, convRule: rule22 } - , CharBlock { start: 7798, length: 1, convRule: rule21 } - , CharBlock { start: 7799, length: 1, convRule: rule22 } - , CharBlock { start: 7800, length: 1, convRule: rule21 } - , CharBlock { start: 7801, length: 1, convRule: rule22 } - , CharBlock { start: 7802, length: 1, convRule: rule21 } - , CharBlock { start: 7803, length: 1, convRule: rule22 } - , CharBlock { start: 7804, length: 1, convRule: rule21 } - , CharBlock { start: 7805, length: 1, convRule: rule22 } - , CharBlock { start: 7806, length: 1, convRule: rule21 } - , CharBlock { start: 7807, length: 1, convRule: rule22 } - , CharBlock { start: 7808, length: 1, convRule: rule21 } - , CharBlock { start: 7809, length: 1, convRule: rule22 } - , CharBlock { start: 7810, length: 1, convRule: rule21 } - , CharBlock { start: 7811, length: 1, convRule: rule22 } - , CharBlock { start: 7812, length: 1, convRule: rule21 } - , CharBlock { start: 7813, length: 1, convRule: rule22 } - , CharBlock { start: 7814, length: 1, convRule: rule21 } - , CharBlock { start: 7815, length: 1, convRule: rule22 } - , CharBlock { start: 7816, length: 1, convRule: rule21 } - , CharBlock { start: 7817, length: 1, convRule: rule22 } - , CharBlock { start: 7818, length: 1, convRule: rule21 } - , CharBlock { start: 7819, length: 1, convRule: rule22 } - , CharBlock { start: 7820, length: 1, convRule: rule21 } - , CharBlock { start: 7821, length: 1, convRule: rule22 } - , CharBlock { start: 7822, length: 1, convRule: rule21 } - , CharBlock { start: 7823, length: 1, convRule: rule22 } - , CharBlock { start: 7824, length: 1, convRule: rule21 } - , CharBlock { start: 7825, length: 1, convRule: rule22 } - , CharBlock { start: 7826, length: 1, convRule: rule21 } - , CharBlock { start: 7827, length: 1, convRule: rule22 } - , CharBlock { start: 7828, length: 1, convRule: rule21 } - , CharBlock { start: 7829, length: 1, convRule: rule22 } - , CharBlock { start: 7835, length: 1, convRule: rule119 } - , CharBlock { start: 7838, length: 1, convRule: rule120 } - , CharBlock { start: 7840, length: 1, convRule: rule21 } - , CharBlock { start: 7841, length: 1, convRule: rule22 } - , CharBlock { start: 7842, length: 1, convRule: rule21 } - , CharBlock { start: 7843, length: 1, convRule: rule22 } - , CharBlock { start: 7844, length: 1, convRule: rule21 } - , CharBlock { start: 7845, length: 1, convRule: rule22 } - , CharBlock { start: 7846, length: 1, convRule: rule21 } - , CharBlock { start: 7847, length: 1, convRule: rule22 } - , CharBlock { start: 7848, length: 1, convRule: rule21 } - , CharBlock { start: 7849, length: 1, convRule: rule22 } - , CharBlock { start: 7850, length: 1, convRule: rule21 } - , CharBlock { start: 7851, length: 1, convRule: rule22 } - , CharBlock { start: 7852, length: 1, convRule: rule21 } - , CharBlock { start: 7853, length: 1, convRule: rule22 } - , CharBlock { start: 7854, length: 1, convRule: rule21 } - , CharBlock { start: 7855, length: 1, convRule: rule22 } - , CharBlock { start: 7856, length: 1, convRule: rule21 } - , CharBlock { start: 7857, length: 1, convRule: rule22 } - , CharBlock { start: 7858, length: 1, convRule: rule21 } - , CharBlock { start: 7859, length: 1, convRule: rule22 } - , CharBlock { start: 7860, length: 1, convRule: rule21 } - , CharBlock { start: 7861, length: 1, convRule: rule22 } - , CharBlock { start: 7862, length: 1, convRule: rule21 } - , CharBlock { start: 7863, length: 1, convRule: rule22 } - , CharBlock { start: 7864, length: 1, convRule: rule21 } - , CharBlock { start: 7865, length: 1, convRule: rule22 } - , CharBlock { start: 7866, length: 1, convRule: rule21 } - , CharBlock { start: 7867, length: 1, convRule: rule22 } - , CharBlock { start: 7868, length: 1, convRule: rule21 } - , CharBlock { start: 7869, length: 1, convRule: rule22 } - , CharBlock { start: 7870, length: 1, convRule: rule21 } - , CharBlock { start: 7871, length: 1, convRule: rule22 } - , CharBlock { start: 7872, length: 1, convRule: rule21 } - , CharBlock { start: 7873, length: 1, convRule: rule22 } - , CharBlock { start: 7874, length: 1, convRule: rule21 } - , CharBlock { start: 7875, length: 1, convRule: rule22 } - , CharBlock { start: 7876, length: 1, convRule: rule21 } - , CharBlock { start: 7877, length: 1, convRule: rule22 } - , CharBlock { start: 7878, length: 1, convRule: rule21 } - , CharBlock { start: 7879, length: 1, convRule: rule22 } - , CharBlock { start: 7880, length: 1, convRule: rule21 } - , CharBlock { start: 7881, length: 1, convRule: rule22 } - , CharBlock { start: 7882, length: 1, convRule: rule21 } - , CharBlock { start: 7883, length: 1, convRule: rule22 } - , CharBlock { start: 7884, length: 1, convRule: rule21 } - , CharBlock { start: 7885, length: 1, convRule: rule22 } - , CharBlock { start: 7886, length: 1, convRule: rule21 } - , CharBlock { start: 7887, length: 1, convRule: rule22 } - , CharBlock { start: 7888, length: 1, convRule: rule21 } - , CharBlock { start: 7889, length: 1, convRule: rule22 } - , CharBlock { start: 7890, length: 1, convRule: rule21 } - , CharBlock { start: 7891, length: 1, convRule: rule22 } - , CharBlock { start: 7892, length: 1, convRule: rule21 } - , CharBlock { start: 7893, length: 1, convRule: rule22 } - , CharBlock { start: 7894, length: 1, convRule: rule21 } - , CharBlock { start: 7895, length: 1, convRule: rule22 } - , CharBlock { start: 7896, length: 1, convRule: rule21 } - , CharBlock { start: 7897, length: 1, convRule: rule22 } - , CharBlock { start: 7898, length: 1, convRule: rule21 } - , CharBlock { start: 7899, length: 1, convRule: rule22 } - , CharBlock { start: 7900, length: 1, convRule: rule21 } - , CharBlock { start: 7901, length: 1, convRule: rule22 } - , CharBlock { start: 7902, length: 1, convRule: rule21 } - , CharBlock { start: 7903, length: 1, convRule: rule22 } - , CharBlock { start: 7904, length: 1, convRule: rule21 } - , CharBlock { start: 7905, length: 1, convRule: rule22 } - , CharBlock { start: 7906, length: 1, convRule: rule21 } - , CharBlock { start: 7907, length: 1, convRule: rule22 } - , CharBlock { start: 7908, length: 1, convRule: rule21 } - , CharBlock { start: 7909, length: 1, convRule: rule22 } - , CharBlock { start: 7910, length: 1, convRule: rule21 } - , CharBlock { start: 7911, length: 1, convRule: rule22 } - , CharBlock { start: 7912, length: 1, convRule: rule21 } - , CharBlock { start: 7913, length: 1, convRule: rule22 } - , CharBlock { start: 7914, length: 1, convRule: rule21 } - , CharBlock { start: 7915, length: 1, convRule: rule22 } - , CharBlock { start: 7916, length: 1, convRule: rule21 } - , CharBlock { start: 7917, length: 1, convRule: rule22 } - , CharBlock { start: 7918, length: 1, convRule: rule21 } - , CharBlock { start: 7919, length: 1, convRule: rule22 } - , CharBlock { start: 7920, length: 1, convRule: rule21 } - , CharBlock { start: 7921, length: 1, convRule: rule22 } - , CharBlock { start: 7922, length: 1, convRule: rule21 } - , CharBlock { start: 7923, length: 1, convRule: rule22 } - , CharBlock { start: 7924, length: 1, convRule: rule21 } - , CharBlock { start: 7925, length: 1, convRule: rule22 } - , CharBlock { start: 7926, length: 1, convRule: rule21 } - , CharBlock { start: 7927, length: 1, convRule: rule22 } - , CharBlock { start: 7928, length: 1, convRule: rule21 } - , CharBlock { start: 7929, length: 1, convRule: rule22 } - , CharBlock { start: 7930, length: 1, convRule: rule21 } - , CharBlock { start: 7931, length: 1, convRule: rule22 } - , CharBlock { start: 7932, length: 1, convRule: rule21 } - , CharBlock { start: 7933, length: 1, convRule: rule22 } - , CharBlock { start: 7934, length: 1, convRule: rule21 } - , CharBlock { start: 7935, length: 1, convRule: rule22 } - , CharBlock { start: 7936, length: 8, convRule: rule121 } - , CharBlock { start: 7944, length: 8, convRule: rule122 } - , CharBlock { start: 7952, length: 6, convRule: rule121 } - , CharBlock { start: 7960, length: 6, convRule: rule122 } - , CharBlock { start: 7968, length: 8, convRule: rule121 } - , CharBlock { start: 7976, length: 8, convRule: rule122 } - , CharBlock { start: 7984, length: 8, convRule: rule121 } - , CharBlock { start: 7992, length: 8, convRule: rule122 } - , CharBlock { start: 8000, length: 6, convRule: rule121 } - , CharBlock { start: 8008, length: 6, convRule: rule122 } - , CharBlock { start: 8017, length: 1, convRule: rule121 } - , CharBlock { start: 8019, length: 1, convRule: rule121 } - , CharBlock { start: 8021, length: 1, convRule: rule121 } - , CharBlock { start: 8023, length: 1, convRule: rule121 } - , CharBlock { start: 8025, length: 1, convRule: rule122 } - , CharBlock { start: 8027, length: 1, convRule: rule122 } - , CharBlock { start: 8029, length: 1, convRule: rule122 } - , CharBlock { start: 8031, length: 1, convRule: rule122 } - , CharBlock { start: 8032, length: 8, convRule: rule121 } - , CharBlock { start: 8040, length: 8, convRule: rule122 } - , CharBlock { start: 8048, length: 2, convRule: rule123 } - , CharBlock { start: 8050, length: 4, convRule: rule124 } - , CharBlock { start: 8054, length: 2, convRule: rule125 } - , CharBlock { start: 8056, length: 2, convRule: rule126 } - , CharBlock { start: 8058, length: 2, convRule: rule127 } - , CharBlock { start: 8060, length: 2, convRule: rule128 } - , CharBlock { start: 8064, length: 8, convRule: rule121 } - , CharBlock { start: 8072, length: 8, convRule: rule129 } - , CharBlock { start: 8080, length: 8, convRule: rule121 } - , CharBlock { start: 8088, length: 8, convRule: rule129 } - , CharBlock { start: 8096, length: 8, convRule: rule121 } - , CharBlock { start: 8104, length: 8, convRule: rule129 } - , CharBlock { start: 8112, length: 2, convRule: rule121 } - , CharBlock { start: 8115, length: 1, convRule: rule130 } - , CharBlock { start: 8120, length: 2, convRule: rule122 } - , CharBlock { start: 8122, length: 2, convRule: rule131 } - , CharBlock { start: 8124, length: 1, convRule: rule132 } - , CharBlock { start: 8126, length: 1, convRule: rule133 } - , CharBlock { start: 8131, length: 1, convRule: rule130 } - , CharBlock { start: 8136, length: 4, convRule: rule134 } - , CharBlock { start: 8140, length: 1, convRule: rule132 } - , CharBlock { start: 8144, length: 2, convRule: rule121 } - , CharBlock { start: 8152, length: 2, convRule: rule122 } - , CharBlock { start: 8154, length: 2, convRule: rule135 } - , CharBlock { start: 8160, length: 2, convRule: rule121 } - , CharBlock { start: 8165, length: 1, convRule: rule104 } - , CharBlock { start: 8168, length: 2, convRule: rule122 } - , CharBlock { start: 8170, length: 2, convRule: rule136 } - , CharBlock { start: 8172, length: 1, convRule: rule107 } - , CharBlock { start: 8179, length: 1, convRule: rule130 } - , CharBlock { start: 8184, length: 2, convRule: rule137 } - , CharBlock { start: 8186, length: 2, convRule: rule138 } - , CharBlock { start: 8188, length: 1, convRule: rule132 } - , CharBlock { start: 8486, length: 1, convRule: rule141 } - , CharBlock { start: 8490, length: 1, convRule: rule142 } - , CharBlock { start: 8491, length: 1, convRule: rule143 } - , CharBlock { start: 8498, length: 1, convRule: rule144 } - , CharBlock { start: 8526, length: 1, convRule: rule145 } - , CharBlock { start: 8544, length: 16, convRule: rule146 } - , CharBlock { start: 8560, length: 16, convRule: rule147 } - , CharBlock { start: 8579, length: 1, convRule: rule21 } - , CharBlock { start: 8580, length: 1, convRule: rule22 } - , CharBlock { start: 9398, length: 26, convRule: rule148 } - , CharBlock { start: 9424, length: 26, convRule: rule149 } - , CharBlock { start: 11264, length: 47, convRule: rule112 } - , CharBlock { start: 11312, length: 47, convRule: rule113 } - , CharBlock { start: 11360, length: 1, convRule: rule21 } - , CharBlock { start: 11361, length: 1, convRule: rule22 } - , CharBlock { start: 11362, length: 1, convRule: rule150 } - , CharBlock { start: 11363, length: 1, convRule: rule151 } - , CharBlock { start: 11364, length: 1, convRule: rule152 } - , CharBlock { start: 11365, length: 1, convRule: rule153 } - , CharBlock { start: 11366, length: 1, convRule: rule154 } - , CharBlock { start: 11367, length: 1, convRule: rule21 } - , CharBlock { start: 11368, length: 1, convRule: rule22 } - , CharBlock { start: 11369, length: 1, convRule: rule21 } - , CharBlock { start: 11370, length: 1, convRule: rule22 } - , CharBlock { start: 11371, length: 1, convRule: rule21 } - , CharBlock { start: 11372, length: 1, convRule: rule22 } - , CharBlock { start: 11373, length: 1, convRule: rule155 } - , CharBlock { start: 11374, length: 1, convRule: rule156 } - , CharBlock { start: 11375, length: 1, convRule: rule157 } - , CharBlock { start: 11376, length: 1, convRule: rule158 } - , CharBlock { start: 11378, length: 1, convRule: rule21 } - , CharBlock { start: 11379, length: 1, convRule: rule22 } - , CharBlock { start: 11381, length: 1, convRule: rule21 } - , CharBlock { start: 11382, length: 1, convRule: rule22 } - , CharBlock { start: 11390, length: 2, convRule: rule159 } - , CharBlock { start: 11392, length: 1, convRule: rule21 } - , CharBlock { start: 11393, length: 1, convRule: rule22 } - , CharBlock { start: 11394, length: 1, convRule: rule21 } - , CharBlock { start: 11395, length: 1, convRule: rule22 } - , CharBlock { start: 11396, length: 1, convRule: rule21 } - , CharBlock { start: 11397, length: 1, convRule: rule22 } - , CharBlock { start: 11398, length: 1, convRule: rule21 } - , CharBlock { start: 11399, length: 1, convRule: rule22 } - , CharBlock { start: 11400, length: 1, convRule: rule21 } - , CharBlock { start: 11401, length: 1, convRule: rule22 } - , CharBlock { start: 11402, length: 1, convRule: rule21 } - , CharBlock { start: 11403, length: 1, convRule: rule22 } - , CharBlock { start: 11404, length: 1, convRule: rule21 } - , CharBlock { start: 11405, length: 1, convRule: rule22 } - , CharBlock { start: 11406, length: 1, convRule: rule21 } - , CharBlock { start: 11407, length: 1, convRule: rule22 } - , CharBlock { start: 11408, length: 1, convRule: rule21 } - , CharBlock { start: 11409, length: 1, convRule: rule22 } - , CharBlock { start: 11410, length: 1, convRule: rule21 } - , CharBlock { start: 11411, length: 1, convRule: rule22 } - , CharBlock { start: 11412, length: 1, convRule: rule21 } - , CharBlock { start: 11413, length: 1, convRule: rule22 } - , CharBlock { start: 11414, length: 1, convRule: rule21 } - , CharBlock { start: 11415, length: 1, convRule: rule22 } - , CharBlock { start: 11416, length: 1, convRule: rule21 } - , CharBlock { start: 11417, length: 1, convRule: rule22 } - , CharBlock { start: 11418, length: 1, convRule: rule21 } - , CharBlock { start: 11419, length: 1, convRule: rule22 } - , CharBlock { start: 11420, length: 1, convRule: rule21 } - , CharBlock { start: 11421, length: 1, convRule: rule22 } - , CharBlock { start: 11422, length: 1, convRule: rule21 } - , CharBlock { start: 11423, length: 1, convRule: rule22 } - , CharBlock { start: 11424, length: 1, convRule: rule21 } - , CharBlock { start: 11425, length: 1, convRule: rule22 } - , CharBlock { start: 11426, length: 1, convRule: rule21 } - , CharBlock { start: 11427, length: 1, convRule: rule22 } - , CharBlock { start: 11428, length: 1, convRule: rule21 } - , CharBlock { start: 11429, length: 1, convRule: rule22 } - , CharBlock { start: 11430, length: 1, convRule: rule21 } - , CharBlock { start: 11431, length: 1, convRule: rule22 } - , CharBlock { start: 11432, length: 1, convRule: rule21 } - , CharBlock { start: 11433, length: 1, convRule: rule22 } - , CharBlock { start: 11434, length: 1, convRule: rule21 } - , CharBlock { start: 11435, length: 1, convRule: rule22 } - , CharBlock { start: 11436, length: 1, convRule: rule21 } - , CharBlock { start: 11437, length: 1, convRule: rule22 } - , CharBlock { start: 11438, length: 1, convRule: rule21 } - , CharBlock { start: 11439, length: 1, convRule: rule22 } - , CharBlock { start: 11440, length: 1, convRule: rule21 } - , CharBlock { start: 11441, length: 1, convRule: rule22 } - , CharBlock { start: 11442, length: 1, convRule: rule21 } - , CharBlock { start: 11443, length: 1, convRule: rule22 } - , CharBlock { start: 11444, length: 1, convRule: rule21 } - , CharBlock { start: 11445, length: 1, convRule: rule22 } - , CharBlock { start: 11446, length: 1, convRule: rule21 } - , CharBlock { start: 11447, length: 1, convRule: rule22 } - , CharBlock { start: 11448, length: 1, convRule: rule21 } - , CharBlock { start: 11449, length: 1, convRule: rule22 } - , CharBlock { start: 11450, length: 1, convRule: rule21 } - , CharBlock { start: 11451, length: 1, convRule: rule22 } - , CharBlock { start: 11452, length: 1, convRule: rule21 } - , CharBlock { start: 11453, length: 1, convRule: rule22 } - , CharBlock { start: 11454, length: 1, convRule: rule21 } - , CharBlock { start: 11455, length: 1, convRule: rule22 } - , CharBlock { start: 11456, length: 1, convRule: rule21 } - , CharBlock { start: 11457, length: 1, convRule: rule22 } - , CharBlock { start: 11458, length: 1, convRule: rule21 } - , CharBlock { start: 11459, length: 1, convRule: rule22 } - , CharBlock { start: 11460, length: 1, convRule: rule21 } - , CharBlock { start: 11461, length: 1, convRule: rule22 } - , CharBlock { start: 11462, length: 1, convRule: rule21 } - , CharBlock { start: 11463, length: 1, convRule: rule22 } - , CharBlock { start: 11464, length: 1, convRule: rule21 } - , CharBlock { start: 11465, length: 1, convRule: rule22 } - , CharBlock { start: 11466, length: 1, convRule: rule21 } - , CharBlock { start: 11467, length: 1, convRule: rule22 } - , CharBlock { start: 11468, length: 1, convRule: rule21 } - , CharBlock { start: 11469, length: 1, convRule: rule22 } - , CharBlock { start: 11470, length: 1, convRule: rule21 } - , CharBlock { start: 11471, length: 1, convRule: rule22 } - , CharBlock { start: 11472, length: 1, convRule: rule21 } - , CharBlock { start: 11473, length: 1, convRule: rule22 } - , CharBlock { start: 11474, length: 1, convRule: rule21 } - , CharBlock { start: 11475, length: 1, convRule: rule22 } - , CharBlock { start: 11476, length: 1, convRule: rule21 } - , CharBlock { start: 11477, length: 1, convRule: rule22 } - , CharBlock { start: 11478, length: 1, convRule: rule21 } - , CharBlock { start: 11479, length: 1, convRule: rule22 } - , CharBlock { start: 11480, length: 1, convRule: rule21 } - , CharBlock { start: 11481, length: 1, convRule: rule22 } - , CharBlock { start: 11482, length: 1, convRule: rule21 } - , CharBlock { start: 11483, length: 1, convRule: rule22 } - , CharBlock { start: 11484, length: 1, convRule: rule21 } - , CharBlock { start: 11485, length: 1, convRule: rule22 } - , CharBlock { start: 11486, length: 1, convRule: rule21 } - , CharBlock { start: 11487, length: 1, convRule: rule22 } - , CharBlock { start: 11488, length: 1, convRule: rule21 } - , CharBlock { start: 11489, length: 1, convRule: rule22 } - , CharBlock { start: 11490, length: 1, convRule: rule21 } - , CharBlock { start: 11491, length: 1, convRule: rule22 } - , CharBlock { start: 11499, length: 1, convRule: rule21 } - , CharBlock { start: 11500, length: 1, convRule: rule22 } - , CharBlock { start: 11501, length: 1, convRule: rule21 } - , CharBlock { start: 11502, length: 1, convRule: rule22 } - , CharBlock { start: 11520, length: 38, convRule: rule160 } - , CharBlock { start: 42560, length: 1, convRule: rule21 } - , CharBlock { start: 42561, length: 1, convRule: rule22 } - , CharBlock { start: 42562, length: 1, convRule: rule21 } - , CharBlock { start: 42563, length: 1, convRule: rule22 } - , CharBlock { start: 42564, length: 1, convRule: rule21 } - , CharBlock { start: 42565, length: 1, convRule: rule22 } - , CharBlock { start: 42566, length: 1, convRule: rule21 } - , CharBlock { start: 42567, length: 1, convRule: rule22 } - , CharBlock { start: 42568, length: 1, convRule: rule21 } - , CharBlock { start: 42569, length: 1, convRule: rule22 } - , CharBlock { start: 42570, length: 1, convRule: rule21 } - , CharBlock { start: 42571, length: 1, convRule: rule22 } - , CharBlock { start: 42572, length: 1, convRule: rule21 } - , CharBlock { start: 42573, length: 1, convRule: rule22 } - , CharBlock { start: 42574, length: 1, convRule: rule21 } - , CharBlock { start: 42575, length: 1, convRule: rule22 } - , CharBlock { start: 42576, length: 1, convRule: rule21 } - , CharBlock { start: 42577, length: 1, convRule: rule22 } - , CharBlock { start: 42578, length: 1, convRule: rule21 } - , CharBlock { start: 42579, length: 1, convRule: rule22 } - , CharBlock { start: 42580, length: 1, convRule: rule21 } - , CharBlock { start: 42581, length: 1, convRule: rule22 } - , CharBlock { start: 42582, length: 1, convRule: rule21 } - , CharBlock { start: 42583, length: 1, convRule: rule22 } - , CharBlock { start: 42584, length: 1, convRule: rule21 } - , CharBlock { start: 42585, length: 1, convRule: rule22 } - , CharBlock { start: 42586, length: 1, convRule: rule21 } - , CharBlock { start: 42587, length: 1, convRule: rule22 } - , CharBlock { start: 42588, length: 1, convRule: rule21 } - , CharBlock { start: 42589, length: 1, convRule: rule22 } - , CharBlock { start: 42590, length: 1, convRule: rule21 } - , CharBlock { start: 42591, length: 1, convRule: rule22 } - , CharBlock { start: 42592, length: 1, convRule: rule21 } - , CharBlock { start: 42593, length: 1, convRule: rule22 } - , CharBlock { start: 42594, length: 1, convRule: rule21 } - , CharBlock { start: 42595, length: 1, convRule: rule22 } - , CharBlock { start: 42596, length: 1, convRule: rule21 } - , CharBlock { start: 42597, length: 1, convRule: rule22 } - , CharBlock { start: 42598, length: 1, convRule: rule21 } - , CharBlock { start: 42599, length: 1, convRule: rule22 } - , CharBlock { start: 42600, length: 1, convRule: rule21 } - , CharBlock { start: 42601, length: 1, convRule: rule22 } - , CharBlock { start: 42602, length: 1, convRule: rule21 } - , CharBlock { start: 42603, length: 1, convRule: rule22 } - , CharBlock { start: 42604, length: 1, convRule: rule21 } - , CharBlock { start: 42605, length: 1, convRule: rule22 } - , CharBlock { start: 42624, length: 1, convRule: rule21 } - , CharBlock { start: 42625, length: 1, convRule: rule22 } - , CharBlock { start: 42626, length: 1, convRule: rule21 } - , CharBlock { start: 42627, length: 1, convRule: rule22 } - , CharBlock { start: 42628, length: 1, convRule: rule21 } - , CharBlock { start: 42629, length: 1, convRule: rule22 } - , CharBlock { start: 42630, length: 1, convRule: rule21 } - , CharBlock { start: 42631, length: 1, convRule: rule22 } - , CharBlock { start: 42632, length: 1, convRule: rule21 } - , CharBlock { start: 42633, length: 1, convRule: rule22 } - , CharBlock { start: 42634, length: 1, convRule: rule21 } - , CharBlock { start: 42635, length: 1, convRule: rule22 } - , CharBlock { start: 42636, length: 1, convRule: rule21 } - , CharBlock { start: 42637, length: 1, convRule: rule22 } - , CharBlock { start: 42638, length: 1, convRule: rule21 } - , CharBlock { start: 42639, length: 1, convRule: rule22 } - , CharBlock { start: 42640, length: 1, convRule: rule21 } - , CharBlock { start: 42641, length: 1, convRule: rule22 } - , CharBlock { start: 42642, length: 1, convRule: rule21 } - , CharBlock { start: 42643, length: 1, convRule: rule22 } - , CharBlock { start: 42644, length: 1, convRule: rule21 } - , CharBlock { start: 42645, length: 1, convRule: rule22 } - , CharBlock { start: 42646, length: 1, convRule: rule21 } - , CharBlock { start: 42647, length: 1, convRule: rule22 } - , CharBlock { start: 42786, length: 1, convRule: rule21 } - , CharBlock { start: 42787, length: 1, convRule: rule22 } - , CharBlock { start: 42788, length: 1, convRule: rule21 } - , CharBlock { start: 42789, length: 1, convRule: rule22 } - , CharBlock { start: 42790, length: 1, convRule: rule21 } - , CharBlock { start: 42791, length: 1, convRule: rule22 } - , CharBlock { start: 42792, length: 1, convRule: rule21 } - , CharBlock { start: 42793, length: 1, convRule: rule22 } - , CharBlock { start: 42794, length: 1, convRule: rule21 } - , CharBlock { start: 42795, length: 1, convRule: rule22 } - , CharBlock { start: 42796, length: 1, convRule: rule21 } - , CharBlock { start: 42797, length: 1, convRule: rule22 } - , CharBlock { start: 42798, length: 1, convRule: rule21 } - , CharBlock { start: 42799, length: 1, convRule: rule22 } - , CharBlock { start: 42802, length: 1, convRule: rule21 } - , CharBlock { start: 42803, length: 1, convRule: rule22 } - , CharBlock { start: 42804, length: 1, convRule: rule21 } - , CharBlock { start: 42805, length: 1, convRule: rule22 } - , CharBlock { start: 42806, length: 1, convRule: rule21 } - , CharBlock { start: 42807, length: 1, convRule: rule22 } - , CharBlock { start: 42808, length: 1, convRule: rule21 } - , CharBlock { start: 42809, length: 1, convRule: rule22 } - , CharBlock { start: 42810, length: 1, convRule: rule21 } - , CharBlock { start: 42811, length: 1, convRule: rule22 } - , CharBlock { start: 42812, length: 1, convRule: rule21 } - , CharBlock { start: 42813, length: 1, convRule: rule22 } - , CharBlock { start: 42814, length: 1, convRule: rule21 } - , CharBlock { start: 42815, length: 1, convRule: rule22 } - , CharBlock { start: 42816, length: 1, convRule: rule21 } - , CharBlock { start: 42817, length: 1, convRule: rule22 } - , CharBlock { start: 42818, length: 1, convRule: rule21 } - , CharBlock { start: 42819, length: 1, convRule: rule22 } - , CharBlock { start: 42820, length: 1, convRule: rule21 } - , CharBlock { start: 42821, length: 1, convRule: rule22 } - , CharBlock { start: 42822, length: 1, convRule: rule21 } - , CharBlock { start: 42823, length: 1, convRule: rule22 } - , CharBlock { start: 42824, length: 1, convRule: rule21 } - , CharBlock { start: 42825, length: 1, convRule: rule22 } - , CharBlock { start: 42826, length: 1, convRule: rule21 } - , CharBlock { start: 42827, length: 1, convRule: rule22 } - , CharBlock { start: 42828, length: 1, convRule: rule21 } - , CharBlock { start: 42829, length: 1, convRule: rule22 } - , CharBlock { start: 42830, length: 1, convRule: rule21 } - , CharBlock { start: 42831, length: 1, convRule: rule22 } - , CharBlock { start: 42832, length: 1, convRule: rule21 } - , CharBlock { start: 42833, length: 1, convRule: rule22 } - , CharBlock { start: 42834, length: 1, convRule: rule21 } - , CharBlock { start: 42835, length: 1, convRule: rule22 } - , CharBlock { start: 42836, length: 1, convRule: rule21 } - , CharBlock { start: 42837, length: 1, convRule: rule22 } - , CharBlock { start: 42838, length: 1, convRule: rule21 } - , CharBlock { start: 42839, length: 1, convRule: rule22 } - , CharBlock { start: 42840, length: 1, convRule: rule21 } - , CharBlock { start: 42841, length: 1, convRule: rule22 } - , CharBlock { start: 42842, length: 1, convRule: rule21 } - , CharBlock { start: 42843, length: 1, convRule: rule22 } - , CharBlock { start: 42844, length: 1, convRule: rule21 } - , CharBlock { start: 42845, length: 1, convRule: rule22 } - , CharBlock { start: 42846, length: 1, convRule: rule21 } - , CharBlock { start: 42847, length: 1, convRule: rule22 } - , CharBlock { start: 42848, length: 1, convRule: rule21 } - , CharBlock { start: 42849, length: 1, convRule: rule22 } - , CharBlock { start: 42850, length: 1, convRule: rule21 } - , CharBlock { start: 42851, length: 1, convRule: rule22 } - , CharBlock { start: 42852, length: 1, convRule: rule21 } - , CharBlock { start: 42853, length: 1, convRule: rule22 } - , CharBlock { start: 42854, length: 1, convRule: rule21 } - , CharBlock { start: 42855, length: 1, convRule: rule22 } - , CharBlock { start: 42856, length: 1, convRule: rule21 } - , CharBlock { start: 42857, length: 1, convRule: rule22 } - , CharBlock { start: 42858, length: 1, convRule: rule21 } - , CharBlock { start: 42859, length: 1, convRule: rule22 } - , CharBlock { start: 42860, length: 1, convRule: rule21 } - , CharBlock { start: 42861, length: 1, convRule: rule22 } - , CharBlock { start: 42862, length: 1, convRule: rule21 } - , CharBlock { start: 42863, length: 1, convRule: rule22 } - , CharBlock { start: 42873, length: 1, convRule: rule21 } - , CharBlock { start: 42874, length: 1, convRule: rule22 } - , CharBlock { start: 42875, length: 1, convRule: rule21 } - , CharBlock { start: 42876, length: 1, convRule: rule22 } - , CharBlock { start: 42877, length: 1, convRule: rule161 } - , CharBlock { start: 42878, length: 1, convRule: rule21 } - , CharBlock { start: 42879, length: 1, convRule: rule22 } - , CharBlock { start: 42880, length: 1, convRule: rule21 } - , CharBlock { start: 42881, length: 1, convRule: rule22 } - , CharBlock { start: 42882, length: 1, convRule: rule21 } - , CharBlock { start: 42883, length: 1, convRule: rule22 } - , CharBlock { start: 42884, length: 1, convRule: rule21 } - , CharBlock { start: 42885, length: 1, convRule: rule22 } - , CharBlock { start: 42886, length: 1, convRule: rule21 } - , CharBlock { start: 42887, length: 1, convRule: rule22 } - , CharBlock { start: 42891, length: 1, convRule: rule21 } - , CharBlock { start: 42892, length: 1, convRule: rule22 } - , CharBlock { start: 42893, length: 1, convRule: rule162 } - , CharBlock { start: 42896, length: 1, convRule: rule21 } - , CharBlock { start: 42897, length: 1, convRule: rule22 } - , CharBlock { start: 42912, length: 1, convRule: rule21 } - , CharBlock { start: 42913, length: 1, convRule: rule22 } - , CharBlock { start: 42914, length: 1, convRule: rule21 } - , CharBlock { start: 42915, length: 1, convRule: rule22 } - , CharBlock { start: 42916, length: 1, convRule: rule21 } - , CharBlock { start: 42917, length: 1, convRule: rule22 } - , CharBlock { start: 42918, length: 1, convRule: rule21 } - , CharBlock { start: 42919, length: 1, convRule: rule22 } - , CharBlock { start: 42920, length: 1, convRule: rule21 } - , CharBlock { start: 42921, length: 1, convRule: rule22 } + , CharBlock { start: 1104, length: 16, convRule: rule111 } + , CharBlock { start: 1120, length: 1, convRule: rule22 } + , CharBlock { start: 1121, length: 1, convRule: rule23 } + , CharBlock { start: 1122, length: 1, convRule: rule22 } + , CharBlock { start: 1123, length: 1, convRule: rule23 } + , CharBlock { start: 1124, length: 1, convRule: rule22 } + , CharBlock { start: 1125, length: 1, convRule: rule23 } + , CharBlock { start: 1126, length: 1, convRule: rule22 } + , CharBlock { start: 1127, length: 1, convRule: rule23 } + , CharBlock { start: 1128, length: 1, convRule: rule22 } + , CharBlock { start: 1129, length: 1, convRule: rule23 } + , CharBlock { start: 1130, length: 1, convRule: rule22 } + , CharBlock { start: 1131, length: 1, convRule: rule23 } + , CharBlock { start: 1132, length: 1, convRule: rule22 } + , CharBlock { start: 1133, length: 1, convRule: rule23 } + , CharBlock { start: 1134, length: 1, convRule: rule22 } + , CharBlock { start: 1135, length: 1, convRule: rule23 } + , CharBlock { start: 1136, length: 1, convRule: rule22 } + , CharBlock { start: 1137, length: 1, convRule: rule23 } + , CharBlock { start: 1138, length: 1, convRule: rule22 } + , CharBlock { start: 1139, length: 1, convRule: rule23 } + , CharBlock { start: 1140, length: 1, convRule: rule22 } + , CharBlock { start: 1141, length: 1, convRule: rule23 } + , CharBlock { start: 1142, length: 1, convRule: rule22 } + , CharBlock { start: 1143, length: 1, convRule: rule23 } + , CharBlock { start: 1144, length: 1, convRule: rule22 } + , CharBlock { start: 1145, length: 1, convRule: rule23 } + , CharBlock { start: 1146, length: 1, convRule: rule22 } + , CharBlock { start: 1147, length: 1, convRule: rule23 } + , CharBlock { start: 1148, length: 1, convRule: rule22 } + , CharBlock { start: 1149, length: 1, convRule: rule23 } + , CharBlock { start: 1150, length: 1, convRule: rule22 } + , CharBlock { start: 1151, length: 1, convRule: rule23 } + , CharBlock { start: 1152, length: 1, convRule: rule22 } + , CharBlock { start: 1153, length: 1, convRule: rule23 } + , CharBlock { start: 1162, length: 1, convRule: rule22 } + , CharBlock { start: 1163, length: 1, convRule: rule23 } + , CharBlock { start: 1164, length: 1, convRule: rule22 } + , CharBlock { start: 1165, length: 1, convRule: rule23 } + , CharBlock { start: 1166, length: 1, convRule: rule22 } + , CharBlock { start: 1167, length: 1, convRule: rule23 } + , CharBlock { start: 1168, length: 1, convRule: rule22 } + , CharBlock { start: 1169, length: 1, convRule: rule23 } + , CharBlock { start: 1170, length: 1, convRule: rule22 } + , CharBlock { start: 1171, length: 1, convRule: rule23 } + , CharBlock { start: 1172, length: 1, convRule: rule22 } + , CharBlock { start: 1173, length: 1, convRule: rule23 } + , CharBlock { start: 1174, length: 1, convRule: rule22 } + , CharBlock { start: 1175, length: 1, convRule: rule23 } + , CharBlock { start: 1176, length: 1, convRule: rule22 } + , CharBlock { start: 1177, length: 1, convRule: rule23 } + , CharBlock { start: 1178, length: 1, convRule: rule22 } + , CharBlock { start: 1179, length: 1, convRule: rule23 } + , CharBlock { start: 1180, length: 1, convRule: rule22 } + , CharBlock { start: 1181, length: 1, convRule: rule23 } + , CharBlock { start: 1182, length: 1, convRule: rule22 } + , CharBlock { start: 1183, length: 1, convRule: rule23 } + , CharBlock { start: 1184, length: 1, convRule: rule22 } + , CharBlock { start: 1185, length: 1, convRule: rule23 } + , CharBlock { start: 1186, length: 1, convRule: rule22 } + , CharBlock { start: 1187, length: 1, convRule: rule23 } + , CharBlock { start: 1188, length: 1, convRule: rule22 } + , CharBlock { start: 1189, length: 1, convRule: rule23 } + , CharBlock { start: 1190, length: 1, convRule: rule22 } + , CharBlock { start: 1191, length: 1, convRule: rule23 } + , CharBlock { start: 1192, length: 1, convRule: rule22 } + , CharBlock { start: 1193, length: 1, convRule: rule23 } + , CharBlock { start: 1194, length: 1, convRule: rule22 } + , CharBlock { start: 1195, length: 1, convRule: rule23 } + , CharBlock { start: 1196, length: 1, convRule: rule22 } + , CharBlock { start: 1197, length: 1, convRule: rule23 } + , CharBlock { start: 1198, length: 1, convRule: rule22 } + , CharBlock { start: 1199, length: 1, convRule: rule23 } + , CharBlock { start: 1200, length: 1, convRule: rule22 } + , CharBlock { start: 1201, length: 1, convRule: rule23 } + , CharBlock { start: 1202, length: 1, convRule: rule22 } + , CharBlock { start: 1203, length: 1, convRule: rule23 } + , CharBlock { start: 1204, length: 1, convRule: rule22 } + , CharBlock { start: 1205, length: 1, convRule: rule23 } + , CharBlock { start: 1206, length: 1, convRule: rule22 } + , CharBlock { start: 1207, length: 1, convRule: rule23 } + , CharBlock { start: 1208, length: 1, convRule: rule22 } + , CharBlock { start: 1209, length: 1, convRule: rule23 } + , CharBlock { start: 1210, length: 1, convRule: rule22 } + , CharBlock { start: 1211, length: 1, convRule: rule23 } + , CharBlock { start: 1212, length: 1, convRule: rule22 } + , CharBlock { start: 1213, length: 1, convRule: rule23 } + , CharBlock { start: 1214, length: 1, convRule: rule22 } + , CharBlock { start: 1215, length: 1, convRule: rule23 } + , CharBlock { start: 1216, length: 1, convRule: rule119 } + , CharBlock { start: 1217, length: 1, convRule: rule22 } + , CharBlock { start: 1218, length: 1, convRule: rule23 } + , CharBlock { start: 1219, length: 1, convRule: rule22 } + , CharBlock { start: 1220, length: 1, convRule: rule23 } + , CharBlock { start: 1221, length: 1, convRule: rule22 } + , CharBlock { start: 1222, length: 1, convRule: rule23 } + , CharBlock { start: 1223, length: 1, convRule: rule22 } + , CharBlock { start: 1224, length: 1, convRule: rule23 } + , CharBlock { start: 1225, length: 1, convRule: rule22 } + , CharBlock { start: 1226, length: 1, convRule: rule23 } + , CharBlock { start: 1227, length: 1, convRule: rule22 } + , CharBlock { start: 1228, length: 1, convRule: rule23 } + , CharBlock { start: 1229, length: 1, convRule: rule22 } + , CharBlock { start: 1230, length: 1, convRule: rule23 } + , CharBlock { start: 1231, length: 1, convRule: rule120 } + , CharBlock { start: 1232, length: 1, convRule: rule22 } + , CharBlock { start: 1233, length: 1, convRule: rule23 } + , CharBlock { start: 1234, length: 1, convRule: rule22 } + , CharBlock { start: 1235, length: 1, convRule: rule23 } + , CharBlock { start: 1236, length: 1, convRule: rule22 } + , CharBlock { start: 1237, length: 1, convRule: rule23 } + , CharBlock { start: 1238, length: 1, convRule: rule22 } + , CharBlock { start: 1239, length: 1, convRule: rule23 } + , CharBlock { start: 1240, length: 1, convRule: rule22 } + , CharBlock { start: 1241, length: 1, convRule: rule23 } + , CharBlock { start: 1242, length: 1, convRule: rule22 } + , CharBlock { start: 1243, length: 1, convRule: rule23 } + , CharBlock { start: 1244, length: 1, convRule: rule22 } + , CharBlock { start: 1245, length: 1, convRule: rule23 } + , CharBlock { start: 1246, length: 1, convRule: rule22 } + , CharBlock { start: 1247, length: 1, convRule: rule23 } + , CharBlock { start: 1248, length: 1, convRule: rule22 } + , CharBlock { start: 1249, length: 1, convRule: rule23 } + , CharBlock { start: 1250, length: 1, convRule: rule22 } + , CharBlock { start: 1251, length: 1, convRule: rule23 } + , CharBlock { start: 1252, length: 1, convRule: rule22 } + , CharBlock { start: 1253, length: 1, convRule: rule23 } + , CharBlock { start: 1254, length: 1, convRule: rule22 } + , CharBlock { start: 1255, length: 1, convRule: rule23 } + , CharBlock { start: 1256, length: 1, convRule: rule22 } + , CharBlock { start: 1257, length: 1, convRule: rule23 } + , CharBlock { start: 1258, length: 1, convRule: rule22 } + , CharBlock { start: 1259, length: 1, convRule: rule23 } + , CharBlock { start: 1260, length: 1, convRule: rule22 } + , CharBlock { start: 1261, length: 1, convRule: rule23 } + , CharBlock { start: 1262, length: 1, convRule: rule22 } + , CharBlock { start: 1263, length: 1, convRule: rule23 } + , CharBlock { start: 1264, length: 1, convRule: rule22 } + , CharBlock { start: 1265, length: 1, convRule: rule23 } + , CharBlock { start: 1266, length: 1, convRule: rule22 } + , CharBlock { start: 1267, length: 1, convRule: rule23 } + , CharBlock { start: 1268, length: 1, convRule: rule22 } + , CharBlock { start: 1269, length: 1, convRule: rule23 } + , CharBlock { start: 1270, length: 1, convRule: rule22 } + , CharBlock { start: 1271, length: 1, convRule: rule23 } + , CharBlock { start: 1272, length: 1, convRule: rule22 } + , CharBlock { start: 1273, length: 1, convRule: rule23 } + , CharBlock { start: 1274, length: 1, convRule: rule22 } + , CharBlock { start: 1275, length: 1, convRule: rule23 } + , CharBlock { start: 1276, length: 1, convRule: rule22 } + , CharBlock { start: 1277, length: 1, convRule: rule23 } + , CharBlock { start: 1278, length: 1, convRule: rule22 } + , CharBlock { start: 1279, length: 1, convRule: rule23 } + , CharBlock { start: 1280, length: 1, convRule: rule22 } + , CharBlock { start: 1281, length: 1, convRule: rule23 } + , CharBlock { start: 1282, length: 1, convRule: rule22 } + , CharBlock { start: 1283, length: 1, convRule: rule23 } + , CharBlock { start: 1284, length: 1, convRule: rule22 } + , CharBlock { start: 1285, length: 1, convRule: rule23 } + , CharBlock { start: 1286, length: 1, convRule: rule22 } + , CharBlock { start: 1287, length: 1, convRule: rule23 } + , CharBlock { start: 1288, length: 1, convRule: rule22 } + , CharBlock { start: 1289, length: 1, convRule: rule23 } + , CharBlock { start: 1290, length: 1, convRule: rule22 } + , CharBlock { start: 1291, length: 1, convRule: rule23 } + , CharBlock { start: 1292, length: 1, convRule: rule22 } + , CharBlock { start: 1293, length: 1, convRule: rule23 } + , CharBlock { start: 1294, length: 1, convRule: rule22 } + , CharBlock { start: 1295, length: 1, convRule: rule23 } + , CharBlock { start: 1296, length: 1, convRule: rule22 } + , CharBlock { start: 1297, length: 1, convRule: rule23 } + , CharBlock { start: 1298, length: 1, convRule: rule22 } + , CharBlock { start: 1299, length: 1, convRule: rule23 } + , CharBlock { start: 1300, length: 1, convRule: rule22 } + , CharBlock { start: 1301, length: 1, convRule: rule23 } + , CharBlock { start: 1302, length: 1, convRule: rule22 } + , CharBlock { start: 1303, length: 1, convRule: rule23 } + , CharBlock { start: 1304, length: 1, convRule: rule22 } + , CharBlock { start: 1305, length: 1, convRule: rule23 } + , CharBlock { start: 1306, length: 1, convRule: rule22 } + , CharBlock { start: 1307, length: 1, convRule: rule23 } + , CharBlock { start: 1308, length: 1, convRule: rule22 } + , CharBlock { start: 1309, length: 1, convRule: rule23 } + , CharBlock { start: 1310, length: 1, convRule: rule22 } + , CharBlock { start: 1311, length: 1, convRule: rule23 } + , CharBlock { start: 1312, length: 1, convRule: rule22 } + , CharBlock { start: 1313, length: 1, convRule: rule23 } + , CharBlock { start: 1314, length: 1, convRule: rule22 } + , CharBlock { start: 1315, length: 1, convRule: rule23 } + , CharBlock { start: 1316, length: 1, convRule: rule22 } + , CharBlock { start: 1317, length: 1, convRule: rule23 } + , CharBlock { start: 1318, length: 1, convRule: rule22 } + , CharBlock { start: 1319, length: 1, convRule: rule23 } + , CharBlock { start: 1320, length: 1, convRule: rule22 } + , CharBlock { start: 1321, length: 1, convRule: rule23 } + , CharBlock { start: 1322, length: 1, convRule: rule22 } + , CharBlock { start: 1323, length: 1, convRule: rule23 } + , CharBlock { start: 1324, length: 1, convRule: rule22 } + , CharBlock { start: 1325, length: 1, convRule: rule23 } + , CharBlock { start: 1326, length: 1, convRule: rule22 } + , CharBlock { start: 1327, length: 1, convRule: rule23 } + , CharBlock { start: 1329, length: 38, convRule: rule121 } + , CharBlock { start: 1377, length: 38, convRule: rule122 } + , CharBlock { start: 4256, length: 38, convRule: rule124 } + , CharBlock { start: 4295, length: 1, convRule: rule124 } + , CharBlock { start: 4301, length: 1, convRule: rule124 } + , CharBlock { start: 5024, length: 80, convRule: rule125 } + , CharBlock { start: 5104, length: 6, convRule: rule103 } + , CharBlock { start: 5112, length: 6, convRule: rule109 } + , CharBlock { start: 7296, length: 1, convRule: rule127 } + , CharBlock { start: 7297, length: 1, convRule: rule128 } + , CharBlock { start: 7298, length: 1, convRule: rule129 } + , CharBlock { start: 7299, length: 2, convRule: rule130 } + , CharBlock { start: 7301, length: 1, convRule: rule131 } + , CharBlock { start: 7302, length: 1, convRule: rule132 } + , CharBlock { start: 7303, length: 1, convRule: rule133 } + , CharBlock { start: 7304, length: 1, convRule: rule134 } + , CharBlock { start: 7545, length: 1, convRule: rule135 } + , CharBlock { start: 7549, length: 1, convRule: rule136 } + , CharBlock { start: 7680, length: 1, convRule: rule22 } + , CharBlock { start: 7681, length: 1, convRule: rule23 } + , CharBlock { start: 7682, length: 1, convRule: rule22 } + , CharBlock { start: 7683, length: 1, convRule: rule23 } + , CharBlock { start: 7684, length: 1, convRule: rule22 } + , CharBlock { start: 7685, length: 1, convRule: rule23 } + , CharBlock { start: 7686, length: 1, convRule: rule22 } + , CharBlock { start: 7687, length: 1, convRule: rule23 } + , CharBlock { start: 7688, length: 1, convRule: rule22 } + , CharBlock { start: 7689, length: 1, convRule: rule23 } + , CharBlock { start: 7690, length: 1, convRule: rule22 } + , CharBlock { start: 7691, length: 1, convRule: rule23 } + , CharBlock { start: 7692, length: 1, convRule: rule22 } + , CharBlock { start: 7693, length: 1, convRule: rule23 } + , CharBlock { start: 7694, length: 1, convRule: rule22 } + , CharBlock { start: 7695, length: 1, convRule: rule23 } + , CharBlock { start: 7696, length: 1, convRule: rule22 } + , CharBlock { start: 7697, length: 1, convRule: rule23 } + , CharBlock { start: 7698, length: 1, convRule: rule22 } + , CharBlock { start: 7699, length: 1, convRule: rule23 } + , CharBlock { start: 7700, length: 1, convRule: rule22 } + , CharBlock { start: 7701, length: 1, convRule: rule23 } + , CharBlock { start: 7702, length: 1, convRule: rule22 } + , CharBlock { start: 7703, length: 1, convRule: rule23 } + , CharBlock { start: 7704, length: 1, convRule: rule22 } + , CharBlock { start: 7705, length: 1, convRule: rule23 } + , CharBlock { start: 7706, length: 1, convRule: rule22 } + , CharBlock { start: 7707, length: 1, convRule: rule23 } + , CharBlock { start: 7708, length: 1, convRule: rule22 } + , CharBlock { start: 7709, length: 1, convRule: rule23 } + , CharBlock { start: 7710, length: 1, convRule: rule22 } + , CharBlock { start: 7711, length: 1, convRule: rule23 } + , CharBlock { start: 7712, length: 1, convRule: rule22 } + , CharBlock { start: 7713, length: 1, convRule: rule23 } + , CharBlock { start: 7714, length: 1, convRule: rule22 } + , CharBlock { start: 7715, length: 1, convRule: rule23 } + , CharBlock { start: 7716, length: 1, convRule: rule22 } + , CharBlock { start: 7717, length: 1, convRule: rule23 } + , CharBlock { start: 7718, length: 1, convRule: rule22 } + , CharBlock { start: 7719, length: 1, convRule: rule23 } + , CharBlock { start: 7720, length: 1, convRule: rule22 } + , CharBlock { start: 7721, length: 1, convRule: rule23 } + , CharBlock { start: 7722, length: 1, convRule: rule22 } + , CharBlock { start: 7723, length: 1, convRule: rule23 } + , CharBlock { start: 7724, length: 1, convRule: rule22 } + , CharBlock { start: 7725, length: 1, convRule: rule23 } + , CharBlock { start: 7726, length: 1, convRule: rule22 } + , CharBlock { start: 7727, length: 1, convRule: rule23 } + , CharBlock { start: 7728, length: 1, convRule: rule22 } + , CharBlock { start: 7729, length: 1, convRule: rule23 } + , CharBlock { start: 7730, length: 1, convRule: rule22 } + , CharBlock { start: 7731, length: 1, convRule: rule23 } + , CharBlock { start: 7732, length: 1, convRule: rule22 } + , CharBlock { start: 7733, length: 1, convRule: rule23 } + , CharBlock { start: 7734, length: 1, convRule: rule22 } + , CharBlock { start: 7735, length: 1, convRule: rule23 } + , CharBlock { start: 7736, length: 1, convRule: rule22 } + , CharBlock { start: 7737, length: 1, convRule: rule23 } + , CharBlock { start: 7738, length: 1, convRule: rule22 } + , CharBlock { start: 7739, length: 1, convRule: rule23 } + , CharBlock { start: 7740, length: 1, convRule: rule22 } + , CharBlock { start: 7741, length: 1, convRule: rule23 } + , CharBlock { start: 7742, length: 1, convRule: rule22 } + , CharBlock { start: 7743, length: 1, convRule: rule23 } + , CharBlock { start: 7744, length: 1, convRule: rule22 } + , CharBlock { start: 7745, length: 1, convRule: rule23 } + , CharBlock { start: 7746, length: 1, convRule: rule22 } + , CharBlock { start: 7747, length: 1, convRule: rule23 } + , CharBlock { start: 7748, length: 1, convRule: rule22 } + , CharBlock { start: 7749, length: 1, convRule: rule23 } + , CharBlock { start: 7750, length: 1, convRule: rule22 } + , CharBlock { start: 7751, length: 1, convRule: rule23 } + , CharBlock { start: 7752, length: 1, convRule: rule22 } + , CharBlock { start: 7753, length: 1, convRule: rule23 } + , CharBlock { start: 7754, length: 1, convRule: rule22 } + , CharBlock { start: 7755, length: 1, convRule: rule23 } + , CharBlock { start: 7756, length: 1, convRule: rule22 } + , CharBlock { start: 7757, length: 1, convRule: rule23 } + , CharBlock { start: 7758, length: 1, convRule: rule22 } + , CharBlock { start: 7759, length: 1, convRule: rule23 } + , CharBlock { start: 7760, length: 1, convRule: rule22 } + , CharBlock { start: 7761, length: 1, convRule: rule23 } + , CharBlock { start: 7762, length: 1, convRule: rule22 } + , CharBlock { start: 7763, length: 1, convRule: rule23 } + , CharBlock { start: 7764, length: 1, convRule: rule22 } + , CharBlock { start: 7765, length: 1, convRule: rule23 } + , CharBlock { start: 7766, length: 1, convRule: rule22 } + , CharBlock { start: 7767, length: 1, convRule: rule23 } + , CharBlock { start: 7768, length: 1, convRule: rule22 } + , CharBlock { start: 7769, length: 1, convRule: rule23 } + , CharBlock { start: 7770, length: 1, convRule: rule22 } + , CharBlock { start: 7771, length: 1, convRule: rule23 } + , CharBlock { start: 7772, length: 1, convRule: rule22 } + , CharBlock { start: 7773, length: 1, convRule: rule23 } + , CharBlock { start: 7774, length: 1, convRule: rule22 } + , CharBlock { start: 7775, length: 1, convRule: rule23 } + , CharBlock { start: 7776, length: 1, convRule: rule22 } + , CharBlock { start: 7777, length: 1, convRule: rule23 } + , CharBlock { start: 7778, length: 1, convRule: rule22 } + , CharBlock { start: 7779, length: 1, convRule: rule23 } + , CharBlock { start: 7780, length: 1, convRule: rule22 } + , CharBlock { start: 7781, length: 1, convRule: rule23 } + , CharBlock { start: 7782, length: 1, convRule: rule22 } + , CharBlock { start: 7783, length: 1, convRule: rule23 } + , CharBlock { start: 7784, length: 1, convRule: rule22 } + , CharBlock { start: 7785, length: 1, convRule: rule23 } + , CharBlock { start: 7786, length: 1, convRule: rule22 } + , CharBlock { start: 7787, length: 1, convRule: rule23 } + , CharBlock { start: 7788, length: 1, convRule: rule22 } + , CharBlock { start: 7789, length: 1, convRule: rule23 } + , CharBlock { start: 7790, length: 1, convRule: rule22 } + , CharBlock { start: 7791, length: 1, convRule: rule23 } + , CharBlock { start: 7792, length: 1, convRule: rule22 } + , CharBlock { start: 7793, length: 1, convRule: rule23 } + , CharBlock { start: 7794, length: 1, convRule: rule22 } + , CharBlock { start: 7795, length: 1, convRule: rule23 } + , CharBlock { start: 7796, length: 1, convRule: rule22 } + , CharBlock { start: 7797, length: 1, convRule: rule23 } + , CharBlock { start: 7798, length: 1, convRule: rule22 } + , CharBlock { start: 7799, length: 1, convRule: rule23 } + , CharBlock { start: 7800, length: 1, convRule: rule22 } + , CharBlock { start: 7801, length: 1, convRule: rule23 } + , CharBlock { start: 7802, length: 1, convRule: rule22 } + , CharBlock { start: 7803, length: 1, convRule: rule23 } + , CharBlock { start: 7804, length: 1, convRule: rule22 } + , CharBlock { start: 7805, length: 1, convRule: rule23 } + , CharBlock { start: 7806, length: 1, convRule: rule22 } + , CharBlock { start: 7807, length: 1, convRule: rule23 } + , CharBlock { start: 7808, length: 1, convRule: rule22 } + , CharBlock { start: 7809, length: 1, convRule: rule23 } + , CharBlock { start: 7810, length: 1, convRule: rule22 } + , CharBlock { start: 7811, length: 1, convRule: rule23 } + , CharBlock { start: 7812, length: 1, convRule: rule22 } + , CharBlock { start: 7813, length: 1, convRule: rule23 } + , CharBlock { start: 7814, length: 1, convRule: rule22 } + , CharBlock { start: 7815, length: 1, convRule: rule23 } + , CharBlock { start: 7816, length: 1, convRule: rule22 } + , CharBlock { start: 7817, length: 1, convRule: rule23 } + , CharBlock { start: 7818, length: 1, convRule: rule22 } + , CharBlock { start: 7819, length: 1, convRule: rule23 } + , CharBlock { start: 7820, length: 1, convRule: rule22 } + , CharBlock { start: 7821, length: 1, convRule: rule23 } + , CharBlock { start: 7822, length: 1, convRule: rule22 } + , CharBlock { start: 7823, length: 1, convRule: rule23 } + , CharBlock { start: 7824, length: 1, convRule: rule22 } + , CharBlock { start: 7825, length: 1, convRule: rule23 } + , CharBlock { start: 7826, length: 1, convRule: rule22 } + , CharBlock { start: 7827, length: 1, convRule: rule23 } + , CharBlock { start: 7828, length: 1, convRule: rule22 } + , CharBlock { start: 7829, length: 1, convRule: rule23 } + , CharBlock { start: 7835, length: 1, convRule: rule137 } + , CharBlock { start: 7838, length: 1, convRule: rule138 } + , CharBlock { start: 7840, length: 1, convRule: rule22 } + , CharBlock { start: 7841, length: 1, convRule: rule23 } + , CharBlock { start: 7842, length: 1, convRule: rule22 } + , CharBlock { start: 7843, length: 1, convRule: rule23 } + , CharBlock { start: 7844, length: 1, convRule: rule22 } + , CharBlock { start: 7845, length: 1, convRule: rule23 } + , CharBlock { start: 7846, length: 1, convRule: rule22 } + , CharBlock { start: 7847, length: 1, convRule: rule23 } + , CharBlock { start: 7848, length: 1, convRule: rule22 } + , CharBlock { start: 7849, length: 1, convRule: rule23 } + , CharBlock { start: 7850, length: 1, convRule: rule22 } + , CharBlock { start: 7851, length: 1, convRule: rule23 } + , CharBlock { start: 7852, length: 1, convRule: rule22 } + , CharBlock { start: 7853, length: 1, convRule: rule23 } + , CharBlock { start: 7854, length: 1, convRule: rule22 } + , CharBlock { start: 7855, length: 1, convRule: rule23 } + , CharBlock { start: 7856, length: 1, convRule: rule22 } + , CharBlock { start: 7857, length: 1, convRule: rule23 } + , CharBlock { start: 7858, length: 1, convRule: rule22 } + , CharBlock { start: 7859, length: 1, convRule: rule23 } + , CharBlock { start: 7860, length: 1, convRule: rule22 } + , CharBlock { start: 7861, length: 1, convRule: rule23 } + , CharBlock { start: 7862, length: 1, convRule: rule22 } + , CharBlock { start: 7863, length: 1, convRule: rule23 } + , CharBlock { start: 7864, length: 1, convRule: rule22 } + , CharBlock { start: 7865, length: 1, convRule: rule23 } + , CharBlock { start: 7866, length: 1, convRule: rule22 } + , CharBlock { start: 7867, length: 1, convRule: rule23 } + , CharBlock { start: 7868, length: 1, convRule: rule22 } + , CharBlock { start: 7869, length: 1, convRule: rule23 } + , CharBlock { start: 7870, length: 1, convRule: rule22 } + , CharBlock { start: 7871, length: 1, convRule: rule23 } + , CharBlock { start: 7872, length: 1, convRule: rule22 } + , CharBlock { start: 7873, length: 1, convRule: rule23 } + , CharBlock { start: 7874, length: 1, convRule: rule22 } + , CharBlock { start: 7875, length: 1, convRule: rule23 } + , CharBlock { start: 7876, length: 1, convRule: rule22 } + , CharBlock { start: 7877, length: 1, convRule: rule23 } + , CharBlock { start: 7878, length: 1, convRule: rule22 } + , CharBlock { start: 7879, length: 1, convRule: rule23 } + , CharBlock { start: 7880, length: 1, convRule: rule22 } + , CharBlock { start: 7881, length: 1, convRule: rule23 } + , CharBlock { start: 7882, length: 1, convRule: rule22 } + , CharBlock { start: 7883, length: 1, convRule: rule23 } + , CharBlock { start: 7884, length: 1, convRule: rule22 } + , CharBlock { start: 7885, length: 1, convRule: rule23 } + , CharBlock { start: 7886, length: 1, convRule: rule22 } + , CharBlock { start: 7887, length: 1, convRule: rule23 } + , CharBlock { start: 7888, length: 1, convRule: rule22 } + , CharBlock { start: 7889, length: 1, convRule: rule23 } + , CharBlock { start: 7890, length: 1, convRule: rule22 } + , CharBlock { start: 7891, length: 1, convRule: rule23 } + , CharBlock { start: 7892, length: 1, convRule: rule22 } + , CharBlock { start: 7893, length: 1, convRule: rule23 } + , CharBlock { start: 7894, length: 1, convRule: rule22 } + , CharBlock { start: 7895, length: 1, convRule: rule23 } + , CharBlock { start: 7896, length: 1, convRule: rule22 } + , CharBlock { start: 7897, length: 1, convRule: rule23 } + , CharBlock { start: 7898, length: 1, convRule: rule22 } + , CharBlock { start: 7899, length: 1, convRule: rule23 } + , CharBlock { start: 7900, length: 1, convRule: rule22 } + , CharBlock { start: 7901, length: 1, convRule: rule23 } + , CharBlock { start: 7902, length: 1, convRule: rule22 } + , CharBlock { start: 7903, length: 1, convRule: rule23 } + , CharBlock { start: 7904, length: 1, convRule: rule22 } + , CharBlock { start: 7905, length: 1, convRule: rule23 } + , CharBlock { start: 7906, length: 1, convRule: rule22 } + , CharBlock { start: 7907, length: 1, convRule: rule23 } + , CharBlock { start: 7908, length: 1, convRule: rule22 } + , CharBlock { start: 7909, length: 1, convRule: rule23 } + , CharBlock { start: 7910, length: 1, convRule: rule22 } + , CharBlock { start: 7911, length: 1, convRule: rule23 } + , CharBlock { start: 7912, length: 1, convRule: rule22 } + , CharBlock { start: 7913, length: 1, convRule: rule23 } + , CharBlock { start: 7914, length: 1, convRule: rule22 } + , CharBlock { start: 7915, length: 1, convRule: rule23 } + , CharBlock { start: 7916, length: 1, convRule: rule22 } + , CharBlock { start: 7917, length: 1, convRule: rule23 } + , CharBlock { start: 7918, length: 1, convRule: rule22 } + , CharBlock { start: 7919, length: 1, convRule: rule23 } + , CharBlock { start: 7920, length: 1, convRule: rule22 } + , CharBlock { start: 7921, length: 1, convRule: rule23 } + , CharBlock { start: 7922, length: 1, convRule: rule22 } + , CharBlock { start: 7923, length: 1, convRule: rule23 } + , CharBlock { start: 7924, length: 1, convRule: rule22 } + , CharBlock { start: 7925, length: 1, convRule: rule23 } + , CharBlock { start: 7926, length: 1, convRule: rule22 } + , CharBlock { start: 7927, length: 1, convRule: rule23 } + , CharBlock { start: 7928, length: 1, convRule: rule22 } + , CharBlock { start: 7929, length: 1, convRule: rule23 } + , CharBlock { start: 7930, length: 1, convRule: rule22 } + , CharBlock { start: 7931, length: 1, convRule: rule23 } + , CharBlock { start: 7932, length: 1, convRule: rule22 } + , CharBlock { start: 7933, length: 1, convRule: rule23 } + , CharBlock { start: 7934, length: 1, convRule: rule22 } + , CharBlock { start: 7935, length: 1, convRule: rule23 } + , CharBlock { start: 7936, length: 8, convRule: rule139 } + , CharBlock { start: 7944, length: 8, convRule: rule140 } + , CharBlock { start: 7952, length: 6, convRule: rule139 } + , CharBlock { start: 7960, length: 6, convRule: rule140 } + , CharBlock { start: 7968, length: 8, convRule: rule139 } + , CharBlock { start: 7976, length: 8, convRule: rule140 } + , CharBlock { start: 7984, length: 8, convRule: rule139 } + , CharBlock { start: 7992, length: 8, convRule: rule140 } + , CharBlock { start: 8000, length: 6, convRule: rule139 } + , CharBlock { start: 8008, length: 6, convRule: rule140 } + , CharBlock { start: 8017, length: 1, convRule: rule139 } + , CharBlock { start: 8019, length: 1, convRule: rule139 } + , CharBlock { start: 8021, length: 1, convRule: rule139 } + , CharBlock { start: 8023, length: 1, convRule: rule139 } + , CharBlock { start: 8025, length: 1, convRule: rule140 } + , CharBlock { start: 8027, length: 1, convRule: rule140 } + , CharBlock { start: 8029, length: 1, convRule: rule140 } + , CharBlock { start: 8031, length: 1, convRule: rule140 } + , CharBlock { start: 8032, length: 8, convRule: rule139 } + , CharBlock { start: 8040, length: 8, convRule: rule140 } + , CharBlock { start: 8048, length: 2, convRule: rule141 } + , CharBlock { start: 8050, length: 4, convRule: rule142 } + , CharBlock { start: 8054, length: 2, convRule: rule143 } + , CharBlock { start: 8056, length: 2, convRule: rule144 } + , CharBlock { start: 8058, length: 2, convRule: rule145 } + , CharBlock { start: 8060, length: 2, convRule: rule146 } + , CharBlock { start: 8064, length: 8, convRule: rule139 } + , CharBlock { start: 8072, length: 8, convRule: rule147 } + , CharBlock { start: 8080, length: 8, convRule: rule139 } + , CharBlock { start: 8088, length: 8, convRule: rule147 } + , CharBlock { start: 8096, length: 8, convRule: rule139 } + , CharBlock { start: 8104, length: 8, convRule: rule147 } + , CharBlock { start: 8112, length: 2, convRule: rule139 } + , CharBlock { start: 8115, length: 1, convRule: rule148 } + , CharBlock { start: 8120, length: 2, convRule: rule140 } + , CharBlock { start: 8122, length: 2, convRule: rule149 } + , CharBlock { start: 8124, length: 1, convRule: rule150 } + , CharBlock { start: 8126, length: 1, convRule: rule151 } + , CharBlock { start: 8131, length: 1, convRule: rule148 } + , CharBlock { start: 8136, length: 4, convRule: rule152 } + , CharBlock { start: 8140, length: 1, convRule: rule150 } + , CharBlock { start: 8144, length: 2, convRule: rule139 } + , CharBlock { start: 8152, length: 2, convRule: rule140 } + , CharBlock { start: 8154, length: 2, convRule: rule153 } + , CharBlock { start: 8160, length: 2, convRule: rule139 } + , CharBlock { start: 8165, length: 1, convRule: rule112 } + , CharBlock { start: 8168, length: 2, convRule: rule140 } + , CharBlock { start: 8170, length: 2, convRule: rule154 } + , CharBlock { start: 8172, length: 1, convRule: rule116 } + , CharBlock { start: 8179, length: 1, convRule: rule148 } + , CharBlock { start: 8184, length: 2, convRule: rule155 } + , CharBlock { start: 8186, length: 2, convRule: rule156 } + , CharBlock { start: 8188, length: 1, convRule: rule150 } + , CharBlock { start: 8486, length: 1, convRule: rule159 } + , CharBlock { start: 8490, length: 1, convRule: rule160 } + , CharBlock { start: 8491, length: 1, convRule: rule161 } + , CharBlock { start: 8498, length: 1, convRule: rule162 } + , CharBlock { start: 8526, length: 1, convRule: rule163 } + , CharBlock { start: 8544, length: 16, convRule: rule164 } + , CharBlock { start: 8560, length: 16, convRule: rule165 } + , CharBlock { start: 8579, length: 1, convRule: rule22 } + , CharBlock { start: 8580, length: 1, convRule: rule23 } + , CharBlock { start: 9398, length: 26, convRule: rule166 } + , CharBlock { start: 9424, length: 26, convRule: rule167 } + , CharBlock { start: 11264, length: 47, convRule: rule121 } + , CharBlock { start: 11312, length: 47, convRule: rule122 } + , CharBlock { start: 11360, length: 1, convRule: rule22 } + , CharBlock { start: 11361, length: 1, convRule: rule23 } + , CharBlock { start: 11362, length: 1, convRule: rule168 } + , CharBlock { start: 11363, length: 1, convRule: rule169 } + , CharBlock { start: 11364, length: 1, convRule: rule170 } + , CharBlock { start: 11365, length: 1, convRule: rule171 } + , CharBlock { start: 11366, length: 1, convRule: rule172 } + , CharBlock { start: 11367, length: 1, convRule: rule22 } + , CharBlock { start: 11368, length: 1, convRule: rule23 } + , CharBlock { start: 11369, length: 1, convRule: rule22 } + , CharBlock { start: 11370, length: 1, convRule: rule23 } + , CharBlock { start: 11371, length: 1, convRule: rule22 } + , CharBlock { start: 11372, length: 1, convRule: rule23 } + , CharBlock { start: 11373, length: 1, convRule: rule173 } + , CharBlock { start: 11374, length: 1, convRule: rule174 } + , CharBlock { start: 11375, length: 1, convRule: rule175 } + , CharBlock { start: 11376, length: 1, convRule: rule176 } + , CharBlock { start: 11378, length: 1, convRule: rule22 } + , CharBlock { start: 11379, length: 1, convRule: rule23 } + , CharBlock { start: 11381, length: 1, convRule: rule22 } + , CharBlock { start: 11382, length: 1, convRule: rule23 } + , CharBlock { start: 11390, length: 2, convRule: rule177 } + , CharBlock { start: 11392, length: 1, convRule: rule22 } + , CharBlock { start: 11393, length: 1, convRule: rule23 } + , CharBlock { start: 11394, length: 1, convRule: rule22 } + , CharBlock { start: 11395, length: 1, convRule: rule23 } + , CharBlock { start: 11396, length: 1, convRule: rule22 } + , CharBlock { start: 11397, length: 1, convRule: rule23 } + , CharBlock { start: 11398, length: 1, convRule: rule22 } + , CharBlock { start: 11399, length: 1, convRule: rule23 } + , CharBlock { start: 11400, length: 1, convRule: rule22 } + , CharBlock { start: 11401, length: 1, convRule: rule23 } + , CharBlock { start: 11402, length: 1, convRule: rule22 } + , CharBlock { start: 11403, length: 1, convRule: rule23 } + , CharBlock { start: 11404, length: 1, convRule: rule22 } + , CharBlock { start: 11405, length: 1, convRule: rule23 } + , CharBlock { start: 11406, length: 1, convRule: rule22 } + , CharBlock { start: 11407, length: 1, convRule: rule23 } + , CharBlock { start: 11408, length: 1, convRule: rule22 } + , CharBlock { start: 11409, length: 1, convRule: rule23 } + , CharBlock { start: 11410, length: 1, convRule: rule22 } + , CharBlock { start: 11411, length: 1, convRule: rule23 } + , CharBlock { start: 11412, length: 1, convRule: rule22 } + , CharBlock { start: 11413, length: 1, convRule: rule23 } + , CharBlock { start: 11414, length: 1, convRule: rule22 } + , CharBlock { start: 11415, length: 1, convRule: rule23 } + , CharBlock { start: 11416, length: 1, convRule: rule22 } + , CharBlock { start: 11417, length: 1, convRule: rule23 } + , CharBlock { start: 11418, length: 1, convRule: rule22 } + , CharBlock { start: 11419, length: 1, convRule: rule23 } + , CharBlock { start: 11420, length: 1, convRule: rule22 } + , CharBlock { start: 11421, length: 1, convRule: rule23 } + , CharBlock { start: 11422, length: 1, convRule: rule22 } + , CharBlock { start: 11423, length: 1, convRule: rule23 } + , CharBlock { start: 11424, length: 1, convRule: rule22 } + , CharBlock { start: 11425, length: 1, convRule: rule23 } + , CharBlock { start: 11426, length: 1, convRule: rule22 } + , CharBlock { start: 11427, length: 1, convRule: rule23 } + , CharBlock { start: 11428, length: 1, convRule: rule22 } + , CharBlock { start: 11429, length: 1, convRule: rule23 } + , CharBlock { start: 11430, length: 1, convRule: rule22 } + , CharBlock { start: 11431, length: 1, convRule: rule23 } + , CharBlock { start: 11432, length: 1, convRule: rule22 } + , CharBlock { start: 11433, length: 1, convRule: rule23 } + , CharBlock { start: 11434, length: 1, convRule: rule22 } + , CharBlock { start: 11435, length: 1, convRule: rule23 } + , CharBlock { start: 11436, length: 1, convRule: rule22 } + , CharBlock { start: 11437, length: 1, convRule: rule23 } + , CharBlock { start: 11438, length: 1, convRule: rule22 } + , CharBlock { start: 11439, length: 1, convRule: rule23 } + , CharBlock { start: 11440, length: 1, convRule: rule22 } + , CharBlock { start: 11441, length: 1, convRule: rule23 } + , CharBlock { start: 11442, length: 1, convRule: rule22 } + , CharBlock { start: 11443, length: 1, convRule: rule23 } + , CharBlock { start: 11444, length: 1, convRule: rule22 } + , CharBlock { start: 11445, length: 1, convRule: rule23 } + , CharBlock { start: 11446, length: 1, convRule: rule22 } + , CharBlock { start: 11447, length: 1, convRule: rule23 } + , CharBlock { start: 11448, length: 1, convRule: rule22 } + , CharBlock { start: 11449, length: 1, convRule: rule23 } + , CharBlock { start: 11450, length: 1, convRule: rule22 } + , CharBlock { start: 11451, length: 1, convRule: rule23 } + , CharBlock { start: 11452, length: 1, convRule: rule22 } + , CharBlock { start: 11453, length: 1, convRule: rule23 } + , CharBlock { start: 11454, length: 1, convRule: rule22 } + , CharBlock { start: 11455, length: 1, convRule: rule23 } + , CharBlock { start: 11456, length: 1, convRule: rule22 } + , CharBlock { start: 11457, length: 1, convRule: rule23 } + , CharBlock { start: 11458, length: 1, convRule: rule22 } + , CharBlock { start: 11459, length: 1, convRule: rule23 } + , CharBlock { start: 11460, length: 1, convRule: rule22 } + , CharBlock { start: 11461, length: 1, convRule: rule23 } + , CharBlock { start: 11462, length: 1, convRule: rule22 } + , CharBlock { start: 11463, length: 1, convRule: rule23 } + , CharBlock { start: 11464, length: 1, convRule: rule22 } + , CharBlock { start: 11465, length: 1, convRule: rule23 } + , CharBlock { start: 11466, length: 1, convRule: rule22 } + , CharBlock { start: 11467, length: 1, convRule: rule23 } + , CharBlock { start: 11468, length: 1, convRule: rule22 } + , CharBlock { start: 11469, length: 1, convRule: rule23 } + , CharBlock { start: 11470, length: 1, convRule: rule22 } + , CharBlock { start: 11471, length: 1, convRule: rule23 } + , CharBlock { start: 11472, length: 1, convRule: rule22 } + , CharBlock { start: 11473, length: 1, convRule: rule23 } + , CharBlock { start: 11474, length: 1, convRule: rule22 } + , CharBlock { start: 11475, length: 1, convRule: rule23 } + , CharBlock { start: 11476, length: 1, convRule: rule22 } + , CharBlock { start: 11477, length: 1, convRule: rule23 } + , CharBlock { start: 11478, length: 1, convRule: rule22 } + , CharBlock { start: 11479, length: 1, convRule: rule23 } + , CharBlock { start: 11480, length: 1, convRule: rule22 } + , CharBlock { start: 11481, length: 1, convRule: rule23 } + , CharBlock { start: 11482, length: 1, convRule: rule22 } + , CharBlock { start: 11483, length: 1, convRule: rule23 } + , CharBlock { start: 11484, length: 1, convRule: rule22 } + , CharBlock { start: 11485, length: 1, convRule: rule23 } + , CharBlock { start: 11486, length: 1, convRule: rule22 } + , CharBlock { start: 11487, length: 1, convRule: rule23 } + , CharBlock { start: 11488, length: 1, convRule: rule22 } + , CharBlock { start: 11489, length: 1, convRule: rule23 } + , CharBlock { start: 11490, length: 1, convRule: rule22 } + , CharBlock { start: 11491, length: 1, convRule: rule23 } + , CharBlock { start: 11499, length: 1, convRule: rule22 } + , CharBlock { start: 11500, length: 1, convRule: rule23 } + , CharBlock { start: 11501, length: 1, convRule: rule22 } + , CharBlock { start: 11502, length: 1, convRule: rule23 } + , CharBlock { start: 11506, length: 1, convRule: rule22 } + , CharBlock { start: 11507, length: 1, convRule: rule23 } + , CharBlock { start: 11520, length: 38, convRule: rule178 } + , CharBlock { start: 11559, length: 1, convRule: rule178 } + , CharBlock { start: 11565, length: 1, convRule: rule178 } + , CharBlock { start: 42560, length: 1, convRule: rule22 } + , CharBlock { start: 42561, length: 1, convRule: rule23 } + , CharBlock { start: 42562, length: 1, convRule: rule22 } + , CharBlock { start: 42563, length: 1, convRule: rule23 } + , CharBlock { start: 42564, length: 1, convRule: rule22 } + , CharBlock { start: 42565, length: 1, convRule: rule23 } + , CharBlock { start: 42566, length: 1, convRule: rule22 } + , CharBlock { start: 42567, length: 1, convRule: rule23 } + , CharBlock { start: 42568, length: 1, convRule: rule22 } + , CharBlock { start: 42569, length: 1, convRule: rule23 } + , CharBlock { start: 42570, length: 1, convRule: rule22 } + , CharBlock { start: 42571, length: 1, convRule: rule23 } + , CharBlock { start: 42572, length: 1, convRule: rule22 } + , CharBlock { start: 42573, length: 1, convRule: rule23 } + , CharBlock { start: 42574, length: 1, convRule: rule22 } + , CharBlock { start: 42575, length: 1, convRule: rule23 } + , CharBlock { start: 42576, length: 1, convRule: rule22 } + , CharBlock { start: 42577, length: 1, convRule: rule23 } + , CharBlock { start: 42578, length: 1, convRule: rule22 } + , CharBlock { start: 42579, length: 1, convRule: rule23 } + , CharBlock { start: 42580, length: 1, convRule: rule22 } + , CharBlock { start: 42581, length: 1, convRule: rule23 } + , CharBlock { start: 42582, length: 1, convRule: rule22 } + , CharBlock { start: 42583, length: 1, convRule: rule23 } + , CharBlock { start: 42584, length: 1, convRule: rule22 } + , CharBlock { start: 42585, length: 1, convRule: rule23 } + , CharBlock { start: 42586, length: 1, convRule: rule22 } + , CharBlock { start: 42587, length: 1, convRule: rule23 } + , CharBlock { start: 42588, length: 1, convRule: rule22 } + , CharBlock { start: 42589, length: 1, convRule: rule23 } + , CharBlock { start: 42590, length: 1, convRule: rule22 } + , CharBlock { start: 42591, length: 1, convRule: rule23 } + , CharBlock { start: 42592, length: 1, convRule: rule22 } + , CharBlock { start: 42593, length: 1, convRule: rule23 } + , CharBlock { start: 42594, length: 1, convRule: rule22 } + , CharBlock { start: 42595, length: 1, convRule: rule23 } + , CharBlock { start: 42596, length: 1, convRule: rule22 } + , CharBlock { start: 42597, length: 1, convRule: rule23 } + , CharBlock { start: 42598, length: 1, convRule: rule22 } + , CharBlock { start: 42599, length: 1, convRule: rule23 } + , CharBlock { start: 42600, length: 1, convRule: rule22 } + , CharBlock { start: 42601, length: 1, convRule: rule23 } + , CharBlock { start: 42602, length: 1, convRule: rule22 } + , CharBlock { start: 42603, length: 1, convRule: rule23 } + , CharBlock { start: 42604, length: 1, convRule: rule22 } + , CharBlock { start: 42605, length: 1, convRule: rule23 } + , CharBlock { start: 42624, length: 1, convRule: rule22 } + , CharBlock { start: 42625, length: 1, convRule: rule23 } + , CharBlock { start: 42626, length: 1, convRule: rule22 } + , CharBlock { start: 42627, length: 1, convRule: rule23 } + , CharBlock { start: 42628, length: 1, convRule: rule22 } + , CharBlock { start: 42629, length: 1, convRule: rule23 } + , CharBlock { start: 42630, length: 1, convRule: rule22 } + , CharBlock { start: 42631, length: 1, convRule: rule23 } + , CharBlock { start: 42632, length: 1, convRule: rule22 } + , CharBlock { start: 42633, length: 1, convRule: rule23 } + , CharBlock { start: 42634, length: 1, convRule: rule22 } + , CharBlock { start: 42635, length: 1, convRule: rule23 } + , CharBlock { start: 42636, length: 1, convRule: rule22 } + , CharBlock { start: 42637, length: 1, convRule: rule23 } + , CharBlock { start: 42638, length: 1, convRule: rule22 } + , CharBlock { start: 42639, length: 1, convRule: rule23 } + , CharBlock { start: 42640, length: 1, convRule: rule22 } + , CharBlock { start: 42641, length: 1, convRule: rule23 } + , CharBlock { start: 42642, length: 1, convRule: rule22 } + , CharBlock { start: 42643, length: 1, convRule: rule23 } + , CharBlock { start: 42644, length: 1, convRule: rule22 } + , CharBlock { start: 42645, length: 1, convRule: rule23 } + , CharBlock { start: 42646, length: 1, convRule: rule22 } + , CharBlock { start: 42647, length: 1, convRule: rule23 } + , CharBlock { start: 42648, length: 1, convRule: rule22 } + , CharBlock { start: 42649, length: 1, convRule: rule23 } + , CharBlock { start: 42650, length: 1, convRule: rule22 } + , CharBlock { start: 42651, length: 1, convRule: rule23 } + , CharBlock { start: 42786, length: 1, convRule: rule22 } + , CharBlock { start: 42787, length: 1, convRule: rule23 } + , CharBlock { start: 42788, length: 1, convRule: rule22 } + , CharBlock { start: 42789, length: 1, convRule: rule23 } + , CharBlock { start: 42790, length: 1, convRule: rule22 } + , CharBlock { start: 42791, length: 1, convRule: rule23 } + , CharBlock { start: 42792, length: 1, convRule: rule22 } + , CharBlock { start: 42793, length: 1, convRule: rule23 } + , CharBlock { start: 42794, length: 1, convRule: rule22 } + , CharBlock { start: 42795, length: 1, convRule: rule23 } + , CharBlock { start: 42796, length: 1, convRule: rule22 } + , CharBlock { start: 42797, length: 1, convRule: rule23 } + , CharBlock { start: 42798, length: 1, convRule: rule22 } + , CharBlock { start: 42799, length: 1, convRule: rule23 } + , CharBlock { start: 42802, length: 1, convRule: rule22 } + , CharBlock { start: 42803, length: 1, convRule: rule23 } + , CharBlock { start: 42804, length: 1, convRule: rule22 } + , CharBlock { start: 42805, length: 1, convRule: rule23 } + , CharBlock { start: 42806, length: 1, convRule: rule22 } + , CharBlock { start: 42807, length: 1, convRule: rule23 } + , CharBlock { start: 42808, length: 1, convRule: rule22 } + , CharBlock { start: 42809, length: 1, convRule: rule23 } + , CharBlock { start: 42810, length: 1, convRule: rule22 } + , CharBlock { start: 42811, length: 1, convRule: rule23 } + , CharBlock { start: 42812, length: 1, convRule: rule22 } + , CharBlock { start: 42813, length: 1, convRule: rule23 } + , CharBlock { start: 42814, length: 1, convRule: rule22 } + , CharBlock { start: 42815, length: 1, convRule: rule23 } + , CharBlock { start: 42816, length: 1, convRule: rule22 } + , CharBlock { start: 42817, length: 1, convRule: rule23 } + , CharBlock { start: 42818, length: 1, convRule: rule22 } + , CharBlock { start: 42819, length: 1, convRule: rule23 } + , CharBlock { start: 42820, length: 1, convRule: rule22 } + , CharBlock { start: 42821, length: 1, convRule: rule23 } + , CharBlock { start: 42822, length: 1, convRule: rule22 } + , CharBlock { start: 42823, length: 1, convRule: rule23 } + , CharBlock { start: 42824, length: 1, convRule: rule22 } + , CharBlock { start: 42825, length: 1, convRule: rule23 } + , CharBlock { start: 42826, length: 1, convRule: rule22 } + , CharBlock { start: 42827, length: 1, convRule: rule23 } + , CharBlock { start: 42828, length: 1, convRule: rule22 } + , CharBlock { start: 42829, length: 1, convRule: rule23 } + , CharBlock { start: 42830, length: 1, convRule: rule22 } + , CharBlock { start: 42831, length: 1, convRule: rule23 } + , CharBlock { start: 42832, length: 1, convRule: rule22 } + , CharBlock { start: 42833, length: 1, convRule: rule23 } + , CharBlock { start: 42834, length: 1, convRule: rule22 } + , CharBlock { start: 42835, length: 1, convRule: rule23 } + , CharBlock { start: 42836, length: 1, convRule: rule22 } + , CharBlock { start: 42837, length: 1, convRule: rule23 } + , CharBlock { start: 42838, length: 1, convRule: rule22 } + , CharBlock { start: 42839, length: 1, convRule: rule23 } + , CharBlock { start: 42840, length: 1, convRule: rule22 } + , CharBlock { start: 42841, length: 1, convRule: rule23 } + , CharBlock { start: 42842, length: 1, convRule: rule22 } + , CharBlock { start: 42843, length: 1, convRule: rule23 } + , CharBlock { start: 42844, length: 1, convRule: rule22 } + , CharBlock { start: 42845, length: 1, convRule: rule23 } + , CharBlock { start: 42846, length: 1, convRule: rule22 } + , CharBlock { start: 42847, length: 1, convRule: rule23 } + , CharBlock { start: 42848, length: 1, convRule: rule22 } + , CharBlock { start: 42849, length: 1, convRule: rule23 } + , CharBlock { start: 42850, length: 1, convRule: rule22 } + , CharBlock { start: 42851, length: 1, convRule: rule23 } + , CharBlock { start: 42852, length: 1, convRule: rule22 } + , CharBlock { start: 42853, length: 1, convRule: rule23 } + , CharBlock { start: 42854, length: 1, convRule: rule22 } + , CharBlock { start: 42855, length: 1, convRule: rule23 } + , CharBlock { start: 42856, length: 1, convRule: rule22 } + , CharBlock { start: 42857, length: 1, convRule: rule23 } + , CharBlock { start: 42858, length: 1, convRule: rule22 } + , CharBlock { start: 42859, length: 1, convRule: rule23 } + , CharBlock { start: 42860, length: 1, convRule: rule22 } + , CharBlock { start: 42861, length: 1, convRule: rule23 } + , CharBlock { start: 42862, length: 1, convRule: rule22 } + , CharBlock { start: 42863, length: 1, convRule: rule23 } + , CharBlock { start: 42873, length: 1, convRule: rule22 } + , CharBlock { start: 42874, length: 1, convRule: rule23 } + , CharBlock { start: 42875, length: 1, convRule: rule22 } + , CharBlock { start: 42876, length: 1, convRule: rule23 } + , CharBlock { start: 42877, length: 1, convRule: rule179 } + , CharBlock { start: 42878, length: 1, convRule: rule22 } + , CharBlock { start: 42879, length: 1, convRule: rule23 } + , CharBlock { start: 42880, length: 1, convRule: rule22 } + , CharBlock { start: 42881, length: 1, convRule: rule23 } + , CharBlock { start: 42882, length: 1, convRule: rule22 } + , CharBlock { start: 42883, length: 1, convRule: rule23 } + , CharBlock { start: 42884, length: 1, convRule: rule22 } + , CharBlock { start: 42885, length: 1, convRule: rule23 } + , CharBlock { start: 42886, length: 1, convRule: rule22 } + , CharBlock { start: 42887, length: 1, convRule: rule23 } + , CharBlock { start: 42891, length: 1, convRule: rule22 } + , CharBlock { start: 42892, length: 1, convRule: rule23 } + , CharBlock { start: 42893, length: 1, convRule: rule180 } + , CharBlock { start: 42896, length: 1, convRule: rule22 } + , CharBlock { start: 42897, length: 1, convRule: rule23 } + , CharBlock { start: 42898, length: 1, convRule: rule22 } + , CharBlock { start: 42899, length: 1, convRule: rule23 } + , CharBlock { start: 42902, length: 1, convRule: rule22 } + , CharBlock { start: 42903, length: 1, convRule: rule23 } + , CharBlock { start: 42904, length: 1, convRule: rule22 } + , CharBlock { start: 42905, length: 1, convRule: rule23 } + , CharBlock { start: 42906, length: 1, convRule: rule22 } + , CharBlock { start: 42907, length: 1, convRule: rule23 } + , CharBlock { start: 42908, length: 1, convRule: rule22 } + , CharBlock { start: 42909, length: 1, convRule: rule23 } + , CharBlock { start: 42910, length: 1, convRule: rule22 } + , CharBlock { start: 42911, length: 1, convRule: rule23 } + , CharBlock { start: 42912, length: 1, convRule: rule22 } + , CharBlock { start: 42913, length: 1, convRule: rule23 } + , CharBlock { start: 42914, length: 1, convRule: rule22 } + , CharBlock { start: 42915, length: 1, convRule: rule23 } + , CharBlock { start: 42916, length: 1, convRule: rule22 } + , CharBlock { start: 42917, length: 1, convRule: rule23 } + , CharBlock { start: 42918, length: 1, convRule: rule22 } + , CharBlock { start: 42919, length: 1, convRule: rule23 } + , CharBlock { start: 42920, length: 1, convRule: rule22 } + , CharBlock { start: 42921, length: 1, convRule: rule23 } + , CharBlock { start: 42922, length: 1, convRule: rule181 } + , CharBlock { start: 42923, length: 1, convRule: rule182 } + , CharBlock { start: 42924, length: 1, convRule: rule183 } + , CharBlock { start: 42925, length: 1, convRule: rule184 } + , CharBlock { start: 42926, length: 1, convRule: rule181 } + , CharBlock { start: 42928, length: 1, convRule: rule185 } + , CharBlock { start: 42929, length: 1, convRule: rule186 } + , CharBlock { start: 42930, length: 1, convRule: rule187 } + , CharBlock { start: 42931, length: 1, convRule: rule188 } + , CharBlock { start: 42932, length: 1, convRule: rule22 } + , CharBlock { start: 42933, length: 1, convRule: rule23 } + , CharBlock { start: 42934, length: 1, convRule: rule22 } + , CharBlock { start: 42935, length: 1, convRule: rule23 } + , CharBlock { start: 43859, length: 1, convRule: rule189 } + , CharBlock { start: 43888, length: 80, convRule: rule190 } , CharBlock { start: 65313, length: 26, convRule: rule9 } , CharBlock { start: 65345, length: 26, convRule: rule12 } - , CharBlock { start: 66560, length: 40, convRule: rule165 } - , CharBlock { start: 66600, length: 40, convRule: rule166 } + , CharBlock { start: 66560, length: 40, convRule: rule193 } + , CharBlock { start: 66600, length: 40, convRule: rule194 } + , CharBlock { start: 66736, length: 36, convRule: rule193 } + , CharBlock { start: 66776, length: 36, convRule: rule194 } + , CharBlock { start: 68736, length: 51, convRule: rule96 } + , CharBlock { start: 68800, length: 51, convRule: rule101 } + , CharBlock { start: 71840, length: 32, convRule: rule9 } + , CharBlock { start: 71872, length: 32, convRule: rule12 } + , CharBlock { start: 125184, length: 34, convRule: rule195 } + , CharBlock { start: 125218, length: 34, convRule: rule196 } ] spacechars :: Array CharBlock spacechars = [ CharBlock { start: 32, length: 1, convRule: rule1 } , CharBlock { start: 160, length: 1, convRule: rule1 } , CharBlock { start: 5760, length: 1, convRule: rule1 } - , CharBlock { start: 6158, length: 1, convRule: rule1 } , CharBlock { start: 8192, length: 11, convRule: rule1 } , CharBlock { start: 8239, length: 1, convRule: rule1 } , CharBlock { start: 8287, length: 1, convRule: rule1 } @@ -4864,3 +5488,4 @@ uGencat :: Int -> Maybe UnicodeCategory uGencat char = let conversionRule = getRule allchars char numBlocks in map (\(ConversionRule rule) -> rule.unicodeCat) conversionRule + From ef04b33cca6225efd5496bf9e10adfed8bf1021c Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Fri, 25 May 2018 10:21:03 -0500 Subject: [PATCH 08/32] Fix import warnings --- src/Data/CodePoint/Unicode.purs | 2 +- test/Test/Data/CodePoint/Unicode.purs | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/Data/CodePoint/Unicode.purs b/src/Data/CodePoint/Unicode.purs index 6f74611..05a6f9b 100644 --- a/src/Data/CodePoint/Unicode.purs +++ b/src/Data/CodePoint/Unicode.purs @@ -4,7 +4,7 @@ import Prelude import Data.Char (toCharCode) import Data.String.CodePoints (CodePoint, codePointFromChar) -import Data.Enum (enumFromTo, toEnum, fromEnum) +import Data.Enum (toEnum, fromEnum) import Data.CodePoint.Unicode.Internal ( UnicodeCategory(..) , uTowtitle , uTowlower diff --git a/test/Test/Data/CodePoint/Unicode.purs b/test/Test/Data/CodePoint/Unicode.purs index e774533..a777e2b 100644 --- a/test/Test/Data/CodePoint/Unicode.purs +++ b/test/Test/Data/CodePoint/Unicode.purs @@ -3,12 +3,10 @@ module Test.Data.CodePoint.Unicode (dataCharUnicodeTests) where import Prelude import Effect.Class (liftEffect) -import Data.Char (toCharCode) -import Data.Enum (toEnumWithDefaults, fromEnum) -import Data.Maybe (Maybe(..), fromJust) +import Data.Enum (toEnumWithDefaults) +import Data.Maybe (Maybe(..)) import Data.NonEmpty ((:|)) import Data.String.CodePoints (CodePoint, codePointFromChar) -import Partial.Unsafe (unsafePartial) import Test.QuickCheck (quickCheck) import Test.QuickCheck.Arbitrary (class Arbitrary) import Test.QuickCheck.Gen (Gen(), oneOf, chooseInt) From 61fe785d796b3392de4a07f13b4e52649511270a Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Fri, 25 May 2018 23:19:34 -0500 Subject: [PATCH 09/32] YOLO jk tests still pass --- src/Data/CodePoint/Unicode.purs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Data/CodePoint/Unicode.purs b/src/Data/CodePoint/Unicode.purs index 05a6f9b..b28ef06 100644 --- a/src/Data/CodePoint/Unicode.purs +++ b/src/Data/CodePoint/Unicode.purs @@ -4,7 +4,7 @@ import Prelude import Data.Char (toCharCode) import Data.String.CodePoints (CodePoint, codePointFromChar) -import Data.Enum (toEnum, fromEnum) +import Data.Enum (fromEnum) import Data.CodePoint.Unicode.Internal ( UnicodeCategory(..) , uTowtitle , uTowlower @@ -18,10 +18,11 @@ import Data.CodePoint.Unicode.Internal ( UnicodeCategory(..) , uIswcntrl , uGencat ) -import Data.Maybe (Maybe(..), fromMaybe) +import Data.Maybe (Maybe(..)) +import Unsafe.Coerce (unsafeCoerce) modify :: (Int -> Int) -> (CodePoint -> CodePoint) -modify f = fromMaybe <*> (toEnum <<< f <<< fromEnum) +modify f = unsafeCoerce -- | Unicode General Categories (column 2 of the UnicodeData table) in -- | the order they are listed in the Unicode standard (the Unicode From a7bc3738e611f8480bc10aa92c27eb42ae189e9c Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Tue, 12 Jan 2021 18:24:57 -0600 Subject: [PATCH 10/32] Add full case conversion algorithms These variants may map one code point to more than one code point. --- fullcase.js | 115 +++ src/Data/CodePoint/Unicode.purs | 2 +- src/Data/CodePoint/Unicode/Casing.purs | 1286 ++++++++++++++++++++++++ src/Data/String/Unicode.purs | 41 + 4 files changed, 1443 insertions(+), 1 deletion(-) create mode 100644 fullcase.js create mode 100644 src/Data/CodePoint/Unicode/Casing.purs create mode 100644 src/Data/String/Unicode.purs diff --git a/fullcase.js b/fullcase.js new file mode 100644 index 0000000..87ba633 --- /dev/null +++ b/fullcase.js @@ -0,0 +1,115 @@ +const fs = require("fs"); + +const SpecialCasing = ""+fs.readFileSync("SpecialCasing.txt"); +const CaseFolding = ""+fs.readFileSync("CaseFolding.txt"); + +const special = + /^([0-9A-F]+);\s+([0-9A-F]+(?:\s+[0-9A-F]+)*)?;\s+([0-9A-F]+(?:\s+[0-9A-F]+)*)?;\s+([0-9A-F]+(?:\s+[0-9A-F]+)*)?;\s+(#.+?)?$/mg; + +const folding = + /^([0-9A-F]+);\s+([CFS])?;\s+([0-9A-F]+(?:\s+[0-9A-F]+)*)?;\s+(#.+?)?$/mg; + +const scData = {}; +const cfData = {}; + +const rhex = a => typeof a === 'string' ? +('0x'+a) : +a; +const sortHex = (a,b) => rhex(a) - rhex(b); + +for (const spec of SpecialCasing.matchAll(special)) { + if (scData[spec[1]]) die("Duplicate special case rule"); + scData[spec[1]] = spec; +} +for (const fold of CaseFolding.matchAll(folding)) { + if (cfData[fold[1]]) { + cfData[fold[1]][fold[2]] = fold; + } else { + cfData[fold[1]] = { [fold[2]]: fold }; + } +} + +const scKeys = Object.keys(scData).sort(sortHex); +const cfKeys = Object.keys(cfData).sort(sortHex); +const keys = scKeys.concat(cfKeys).sort(sortHex); + +const data = {}; + +const hex = a => a ? '0x'+a : '0'; +const hexes = a => a ? '[' + a.split(' ').filter(b=>b).map(hex) + ']' : '[]'; + +for (let code of keys) { + const d = { code: hex(code) }; + const sc = scData[code]; + d.lower = hexes(sc?.[2]); + d.title = hexes(sc?.[3]); + d.upper = hexes(sc?.[4]); + const cf = cfData[code]; + d.fold = hex(cf?.S?.[3] || cf?.C?.[3]); + d.foldFull = hexes(cf?.F?.[3] || cf?.C?.[3]); + data[code] = d; +} + +const lines = keys.map(code => data[code]).map(d => + `{ code: ${d.code}, lower: ${d.lower}, title: ${d.title}, upper: ${d.upper}, fold: ${d.fold}, foldFull: ${d.foldFull} }` +); + +const file = `module Data.CodePoint.Unicode.Casing where + +import Prelude + +import Data.Array as Array +import Data.CodePoint.Unicode.Internal (bsearch, uTowlower, uTowtitle, uTowupper) +import Data.Maybe (Maybe(..)) + +type CaseRec = + { + code :: Int, + lower :: Array Int, + title :: Array Int, + upper :: Array Int, + fold :: Int, + foldFull :: Array Int + } + +rules :: Array CaseRec +rules = [ + ${lines.join(",\n ")} +] + +zeroRec :: Int -> CaseRec +zeroRec code = { code, lower: [], title: [], upper: [], fold: 0, foldFull: [] } + +recCmp :: CaseRec -> CaseRec -> Ordering +recCmp { code } { code: code' } = compare code code' + +findRule :: Int -> CaseRec +findRule code = case bsearch (zeroRec code) rules (Array.length rules) recCmp of + Nothing -> zeroRec code + Just r -> r + +fold :: Int -> Int +fold code = + let folded = (findRule code).fold + in if folded == 0 then uTowlower code else folded + +foldFull :: Int -> Array Int +foldFull code = + let folded = (findRule code).foldFull + in if Array.null folded then [uTowlower code] else folded + +lower :: Int -> Array Int +lower code = + let lowered = (findRule code).lower + in if Array.null lowered then [uTowlower code] else lowered + +title :: Int -> Array Int +title code = + let titled = (findRule code).title + in if Array.null titled then [uTowtitle code] else titled + +upper :: Int -> Array Int +upper code = + let uppered = (findRule code).upper + in if Array.null uppered then [uTowupper code] else uppered +`; + +fs.writeFileSync("src/Data/CodePoint/Unicode/Casing.purs", file); diff --git a/src/Data/CodePoint/Unicode.purs b/src/Data/CodePoint/Unicode.purs index 5f358b5..6d4a0ad 100644 --- a/src/Data/CodePoint/Unicode.purs +++ b/src/Data/CodePoint/Unicode.purs @@ -23,7 +23,7 @@ import Unsafe.Coerce (unsafeCoerce) import Prim.TypeError (class Warn, Text) modify :: (Int -> Int) -> (CodePoint -> CodePoint) -modify f = unsafeCoerce +modify = unsafeCoerce -- | Unicode General Categories (column 2 of the UnicodeData table) in -- | the order they are listed in the Unicode standard (the Unicode diff --git a/src/Data/CodePoint/Unicode/Casing.purs b/src/Data/CodePoint/Unicode/Casing.purs new file mode 100644 index 0000000..ae175f6 --- /dev/null +++ b/src/Data/CodePoint/Unicode/Casing.purs @@ -0,0 +1,1286 @@ +module Data.CodePoint.Unicode.Casing where + +import Prelude + +import Data.Array as Array +import Data.CodePoint.Unicode.Internal (bsearch, uTowlower, uTowtitle, uTowupper) +import Data.Maybe (Maybe(..)) + +type CaseRec = + { + code :: Int, + lower :: Array Int, + title :: Array Int, + upper :: Array Int, + fold :: Int, + foldFull :: Array Int + } + +rules :: Array CaseRec +rules = [ + { code: 0x0041, lower: [], title: [], upper: [], fold: 0x0061, foldFull: [0x0061] }, + { code: 0x0042, lower: [], title: [], upper: [], fold: 0x0062, foldFull: [0x0062] }, + { code: 0x0043, lower: [], title: [], upper: [], fold: 0x0063, foldFull: [0x0063] }, + { code: 0x0044, lower: [], title: [], upper: [], fold: 0x0064, foldFull: [0x0064] }, + { code: 0x0045, lower: [], title: [], upper: [], fold: 0x0065, foldFull: [0x0065] }, + { code: 0x0046, lower: [], title: [], upper: [], fold: 0x0066, foldFull: [0x0066] }, + { code: 0x0047, lower: [], title: [], upper: [], fold: 0x0067, foldFull: [0x0067] }, + { code: 0x0048, lower: [], title: [], upper: [], fold: 0x0068, foldFull: [0x0068] }, + { code: 0x0049, lower: [], title: [], upper: [], fold: 0x0069, foldFull: [0x0069] }, + { code: 0x004A, lower: [], title: [], upper: [], fold: 0x006A, foldFull: [0x006A] }, + { code: 0x004B, lower: [], title: [], upper: [], fold: 0x006B, foldFull: [0x006B] }, + { code: 0x004C, lower: [], title: [], upper: [], fold: 0x006C, foldFull: [0x006C] }, + { code: 0x004D, lower: [], title: [], upper: [], fold: 0x006D, foldFull: [0x006D] }, + { code: 0x004E, lower: [], title: [], upper: [], fold: 0x006E, foldFull: [0x006E] }, + { code: 0x004F, lower: [], title: [], upper: [], fold: 0x006F, foldFull: [0x006F] }, + { code: 0x0050, lower: [], title: [], upper: [], fold: 0x0070, foldFull: [0x0070] }, + { code: 0x0051, lower: [], title: [], upper: [], fold: 0x0071, foldFull: [0x0071] }, + { code: 0x0052, lower: [], title: [], upper: [], fold: 0x0072, foldFull: [0x0072] }, + { code: 0x0053, lower: [], title: [], upper: [], fold: 0x0073, foldFull: [0x0073] }, + { code: 0x0054, lower: [], title: [], upper: [], fold: 0x0074, foldFull: [0x0074] }, + { code: 0x0055, lower: [], title: [], upper: [], fold: 0x0075, foldFull: [0x0075] }, + { code: 0x0056, lower: [], title: [], upper: [], fold: 0x0076, foldFull: [0x0076] }, + { code: 0x0057, lower: [], title: [], upper: [], fold: 0x0077, foldFull: [0x0077] }, + { code: 0x0058, lower: [], title: [], upper: [], fold: 0x0078, foldFull: [0x0078] }, + { code: 0x0059, lower: [], title: [], upper: [], fold: 0x0079, foldFull: [0x0079] }, + { code: 0x005A, lower: [], title: [], upper: [], fold: 0x007A, foldFull: [0x007A] }, + { code: 0x00B5, lower: [], title: [], upper: [], fold: 0x03BC, foldFull: [0x03BC] }, + { code: 0x00C0, lower: [], title: [], upper: [], fold: 0x00E0, foldFull: [0x00E0] }, + { code: 0x00C1, lower: [], title: [], upper: [], fold: 0x00E1, foldFull: [0x00E1] }, + { code: 0x00C2, lower: [], title: [], upper: [], fold: 0x00E2, foldFull: [0x00E2] }, + { code: 0x00C3, lower: [], title: [], upper: [], fold: 0x00E3, foldFull: [0x00E3] }, + { code: 0x00C4, lower: [], title: [], upper: [], fold: 0x00E4, foldFull: [0x00E4] }, + { code: 0x00C5, lower: [], title: [], upper: [], fold: 0x00E5, foldFull: [0x00E5] }, + { code: 0x00C6, lower: [], title: [], upper: [], fold: 0x00E6, foldFull: [0x00E6] }, + { code: 0x00C7, lower: [], title: [], upper: [], fold: 0x00E7, foldFull: [0x00E7] }, + { code: 0x00C8, lower: [], title: [], upper: [], fold: 0x00E8, foldFull: [0x00E8] }, + { code: 0x00C9, lower: [], title: [], upper: [], fold: 0x00E9, foldFull: [0x00E9] }, + { code: 0x00CA, lower: [], title: [], upper: [], fold: 0x00EA, foldFull: [0x00EA] }, + { code: 0x00CB, lower: [], title: [], upper: [], fold: 0x00EB, foldFull: [0x00EB] }, + { code: 0x00CC, lower: [], title: [], upper: [], fold: 0x00EC, foldFull: [0x00EC] }, + { code: 0x00CD, lower: [], title: [], upper: [], fold: 0x00ED, foldFull: [0x00ED] }, + { code: 0x00CE, lower: [], title: [], upper: [], fold: 0x00EE, foldFull: [0x00EE] }, + { code: 0x00CF, lower: [], title: [], upper: [], fold: 0x00EF, foldFull: [0x00EF] }, + { code: 0x00D0, lower: [], title: [], upper: [], fold: 0x00F0, foldFull: [0x00F0] }, + { code: 0x00D1, lower: [], title: [], upper: [], fold: 0x00F1, foldFull: [0x00F1] }, + { code: 0x00D2, lower: [], title: [], upper: [], fold: 0x00F2, foldFull: [0x00F2] }, + { code: 0x00D3, lower: [], title: [], upper: [], fold: 0x00F3, foldFull: [0x00F3] }, + { code: 0x00D4, lower: [], title: [], upper: [], fold: 0x00F4, foldFull: [0x00F4] }, + { code: 0x00D5, lower: [], title: [], upper: [], fold: 0x00F5, foldFull: [0x00F5] }, + { code: 0x00D6, lower: [], title: [], upper: [], fold: 0x00F6, foldFull: [0x00F6] }, + { code: 0x00D8, lower: [], title: [], upper: [], fold: 0x00F8, foldFull: [0x00F8] }, + { code: 0x00D9, lower: [], title: [], upper: [], fold: 0x00F9, foldFull: [0x00F9] }, + { code: 0x00DA, lower: [], title: [], upper: [], fold: 0x00FA, foldFull: [0x00FA] }, + { code: 0x00DB, lower: [], title: [], upper: [], fold: 0x00FB, foldFull: [0x00FB] }, + { code: 0x00DC, lower: [], title: [], upper: [], fold: 0x00FC, foldFull: [0x00FC] }, + { code: 0x00DD, lower: [], title: [], upper: [], fold: 0x00FD, foldFull: [0x00FD] }, + { code: 0x00DE, lower: [], title: [], upper: [], fold: 0x00FE, foldFull: [0x00FE] }, + { code: 0x00DF, lower: [0x00DF], title: [0x0053,0x0073], upper: [0x0053,0x0053], fold: 0, foldFull: [0x0073,0x0073] }, + { code: 0x00DF, lower: [0x00DF], title: [0x0053,0x0073], upper: [0x0053,0x0053], fold: 0, foldFull: [0x0073,0x0073] }, + { code: 0x0100, lower: [], title: [], upper: [], fold: 0x0101, foldFull: [0x0101] }, + { code: 0x0102, lower: [], title: [], upper: [], fold: 0x0103, foldFull: [0x0103] }, + { code: 0x0104, lower: [], title: [], upper: [], fold: 0x0105, foldFull: [0x0105] }, + { code: 0x0106, lower: [], title: [], upper: [], fold: 0x0107, foldFull: [0x0107] }, + { code: 0x0108, lower: [], title: [], upper: [], fold: 0x0109, foldFull: [0x0109] }, + { code: 0x010A, lower: [], title: [], upper: [], fold: 0x010B, foldFull: [0x010B] }, + { code: 0x010C, lower: [], title: [], upper: [], fold: 0x010D, foldFull: [0x010D] }, + { code: 0x010E, lower: [], title: [], upper: [], fold: 0x010F, foldFull: [0x010F] }, + { code: 0x0110, lower: [], title: [], upper: [], fold: 0x0111, foldFull: [0x0111] }, + { code: 0x0112, lower: [], title: [], upper: [], fold: 0x0113, foldFull: [0x0113] }, + { code: 0x0114, lower: [], title: [], upper: [], fold: 0x0115, foldFull: [0x0115] }, + { code: 0x0116, lower: [], title: [], upper: [], fold: 0x0117, foldFull: [0x0117] }, + { code: 0x0118, lower: [], title: [], upper: [], fold: 0x0119, foldFull: [0x0119] }, + { code: 0x011A, lower: [], title: [], upper: [], fold: 0x011B, foldFull: [0x011B] }, + { code: 0x011C, lower: [], title: [], upper: [], fold: 0x011D, foldFull: [0x011D] }, + { code: 0x011E, lower: [], title: [], upper: [], fold: 0x011F, foldFull: [0x011F] }, + { code: 0x0120, lower: [], title: [], upper: [], fold: 0x0121, foldFull: [0x0121] }, + { code: 0x0122, lower: [], title: [], upper: [], fold: 0x0123, foldFull: [0x0123] }, + { code: 0x0124, lower: [], title: [], upper: [], fold: 0x0125, foldFull: [0x0125] }, + { code: 0x0126, lower: [], title: [], upper: [], fold: 0x0127, foldFull: [0x0127] }, + { code: 0x0128, lower: [], title: [], upper: [], fold: 0x0129, foldFull: [0x0129] }, + { code: 0x012A, lower: [], title: [], upper: [], fold: 0x012B, foldFull: [0x012B] }, + { code: 0x012C, lower: [], title: [], upper: [], fold: 0x012D, foldFull: [0x012D] }, + { code: 0x012E, lower: [], title: [], upper: [], fold: 0x012F, foldFull: [0x012F] }, + { code: 0x0130, lower: [0x0069,0x0307], title: [0x0130], upper: [0x0130], fold: 0, foldFull: [0x0069,0x0307] }, + { code: 0x0130, lower: [0x0069,0x0307], title: [0x0130], upper: [0x0130], fold: 0, foldFull: [0x0069,0x0307] }, + { code: 0x0132, lower: [], title: [], upper: [], fold: 0x0133, foldFull: [0x0133] }, + { code: 0x0134, lower: [], title: [], upper: [], fold: 0x0135, foldFull: [0x0135] }, + { code: 0x0136, lower: [], title: [], upper: [], fold: 0x0137, foldFull: [0x0137] }, + { code: 0x0139, lower: [], title: [], upper: [], fold: 0x013A, foldFull: [0x013A] }, + { code: 0x013B, lower: [], title: [], upper: [], fold: 0x013C, foldFull: [0x013C] }, + { code: 0x013D, lower: [], title: [], upper: [], fold: 0x013E, foldFull: [0x013E] }, + { code: 0x013F, lower: [], title: [], upper: [], fold: 0x0140, foldFull: [0x0140] }, + { code: 0x0141, lower: [], title: [], upper: [], fold: 0x0142, foldFull: [0x0142] }, + { code: 0x0143, lower: [], title: [], upper: [], fold: 0x0144, foldFull: [0x0144] }, + { code: 0x0145, lower: [], title: [], upper: [], fold: 0x0146, foldFull: [0x0146] }, + { code: 0x0147, lower: [], title: [], upper: [], fold: 0x0148, foldFull: [0x0148] }, + { code: 0x0149, lower: [0x0149], title: [0x02BC,0x004E], upper: [0x02BC,0x004E], fold: 0, foldFull: [0x02BC,0x006E] }, + { code: 0x0149, lower: [0x0149], title: [0x02BC,0x004E], upper: [0x02BC,0x004E], fold: 0, foldFull: [0x02BC,0x006E] }, + { code: 0x014A, lower: [], title: [], upper: [], fold: 0x014B, foldFull: [0x014B] }, + { code: 0x014C, lower: [], title: [], upper: [], fold: 0x014D, foldFull: [0x014D] }, + { code: 0x014E, lower: [], title: [], upper: [], fold: 0x014F, foldFull: [0x014F] }, + { code: 0x0150, lower: [], title: [], upper: [], fold: 0x0151, foldFull: [0x0151] }, + { code: 0x0152, lower: [], title: [], upper: [], fold: 0x0153, foldFull: [0x0153] }, + { code: 0x0154, lower: [], title: [], upper: [], fold: 0x0155, foldFull: [0x0155] }, + { code: 0x0156, lower: [], title: [], upper: [], fold: 0x0157, foldFull: [0x0157] }, + { code: 0x0158, lower: [], title: [], upper: [], fold: 0x0159, foldFull: [0x0159] }, + { code: 0x015A, lower: [], title: [], upper: [], fold: 0x015B, foldFull: [0x015B] }, + { code: 0x015C, lower: [], title: [], upper: [], fold: 0x015D, foldFull: [0x015D] }, + { code: 0x015E, lower: [], title: [], upper: [], fold: 0x015F, foldFull: [0x015F] }, + { code: 0x0160, lower: [], title: [], upper: [], fold: 0x0161, foldFull: [0x0161] }, + { code: 0x0162, lower: [], title: [], upper: [], fold: 0x0163, foldFull: [0x0163] }, + { code: 0x0164, lower: [], title: [], upper: [], fold: 0x0165, foldFull: [0x0165] }, + { code: 0x0166, lower: [], title: [], upper: [], fold: 0x0167, foldFull: [0x0167] }, + { code: 0x0168, lower: [], title: [], upper: [], fold: 0x0169, foldFull: [0x0169] }, + { code: 0x016A, lower: [], title: [], upper: [], fold: 0x016B, foldFull: [0x016B] }, + { code: 0x016C, lower: [], title: [], upper: [], fold: 0x016D, foldFull: [0x016D] }, + { code: 0x016E, lower: [], title: [], upper: [], fold: 0x016F, foldFull: [0x016F] }, + { code: 0x0170, lower: [], title: [], upper: [], fold: 0x0171, foldFull: [0x0171] }, + { code: 0x0172, lower: [], title: [], upper: [], fold: 0x0173, foldFull: [0x0173] }, + { code: 0x0174, lower: [], title: [], upper: [], fold: 0x0175, foldFull: [0x0175] }, + { code: 0x0176, lower: [], title: [], upper: [], fold: 0x0177, foldFull: [0x0177] }, + { code: 0x0178, lower: [], title: [], upper: [], fold: 0x00FF, foldFull: [0x00FF] }, + { code: 0x0179, lower: [], title: [], upper: [], fold: 0x017A, foldFull: [0x017A] }, + { code: 0x017B, lower: [], title: [], upper: [], fold: 0x017C, foldFull: [0x017C] }, + { code: 0x017D, lower: [], title: [], upper: [], fold: 0x017E, foldFull: [0x017E] }, + { code: 0x017F, lower: [], title: [], upper: [], fold: 0x0073, foldFull: [0x0073] }, + { code: 0x0181, lower: [], title: [], upper: [], fold: 0x0253, foldFull: [0x0253] }, + { code: 0x0182, lower: [], title: [], upper: [], fold: 0x0183, foldFull: [0x0183] }, + { code: 0x0184, lower: [], title: [], upper: [], fold: 0x0185, foldFull: [0x0185] }, + { code: 0x0186, lower: [], title: [], upper: [], fold: 0x0254, foldFull: [0x0254] }, + { code: 0x0187, lower: [], title: [], upper: [], fold: 0x0188, foldFull: [0x0188] }, + { code: 0x0189, lower: [], title: [], upper: [], fold: 0x0256, foldFull: [0x0256] }, + { code: 0x018A, lower: [], title: [], upper: [], fold: 0x0257, foldFull: [0x0257] }, + { code: 0x018B, lower: [], title: [], upper: [], fold: 0x018C, foldFull: [0x018C] }, + { code: 0x018E, lower: [], title: [], upper: [], fold: 0x01DD, foldFull: [0x01DD] }, + { code: 0x018F, lower: [], title: [], upper: [], fold: 0x0259, foldFull: [0x0259] }, + { code: 0x0190, lower: [], title: [], upper: [], fold: 0x025B, foldFull: [0x025B] }, + { code: 0x0191, lower: [], title: [], upper: [], fold: 0x0192, foldFull: [0x0192] }, + { code: 0x0193, lower: [], title: [], upper: [], fold: 0x0260, foldFull: [0x0260] }, + { code: 0x0194, lower: [], title: [], upper: [], fold: 0x0263, foldFull: [0x0263] }, + { code: 0x0196, lower: [], title: [], upper: [], fold: 0x0269, foldFull: [0x0269] }, + { code: 0x0197, lower: [], title: [], upper: [], fold: 0x0268, foldFull: [0x0268] }, + { code: 0x0198, lower: [], title: [], upper: [], fold: 0x0199, foldFull: [0x0199] }, + { code: 0x019C, lower: [], title: [], upper: [], fold: 0x026F, foldFull: [0x026F] }, + { code: 0x019D, lower: [], title: [], upper: [], fold: 0x0272, foldFull: [0x0272] }, + { code: 0x019F, lower: [], title: [], upper: [], fold: 0x0275, foldFull: [0x0275] }, + { code: 0x01A0, lower: [], title: [], upper: [], fold: 0x01A1, foldFull: [0x01A1] }, + { code: 0x01A2, lower: [], title: [], upper: [], fold: 0x01A3, foldFull: [0x01A3] }, + { code: 0x01A4, lower: [], title: [], upper: [], fold: 0x01A5, foldFull: [0x01A5] }, + { code: 0x01A6, lower: [], title: [], upper: [], fold: 0x0280, foldFull: [0x0280] }, + { code: 0x01A7, lower: [], title: [], upper: [], fold: 0x01A8, foldFull: [0x01A8] }, + { code: 0x01A9, lower: [], title: [], upper: [], fold: 0x0283, foldFull: [0x0283] }, + { code: 0x01AC, lower: [], title: [], upper: [], fold: 0x01AD, foldFull: [0x01AD] }, + { code: 0x01AE, lower: [], title: [], upper: [], fold: 0x0288, foldFull: [0x0288] }, + { code: 0x01AF, lower: [], title: [], upper: [], fold: 0x01B0, foldFull: [0x01B0] }, + { code: 0x01B1, lower: [], title: [], upper: [], fold: 0x028A, foldFull: [0x028A] }, + { code: 0x01B2, lower: [], title: [], upper: [], fold: 0x028B, foldFull: [0x028B] }, + { code: 0x01B3, lower: [], title: [], upper: [], fold: 0x01B4, foldFull: [0x01B4] }, + { code: 0x01B5, lower: [], title: [], upper: [], fold: 0x01B6, foldFull: [0x01B6] }, + { code: 0x01B7, lower: [], title: [], upper: [], fold: 0x0292, foldFull: [0x0292] }, + { code: 0x01B8, lower: [], title: [], upper: [], fold: 0x01B9, foldFull: [0x01B9] }, + { code: 0x01BC, lower: [], title: [], upper: [], fold: 0x01BD, foldFull: [0x01BD] }, + { code: 0x01C4, lower: [], title: [], upper: [], fold: 0x01C6, foldFull: [0x01C6] }, + { code: 0x01C5, lower: [], title: [], upper: [], fold: 0x01C6, foldFull: [0x01C6] }, + { code: 0x01C7, lower: [], title: [], upper: [], fold: 0x01C9, foldFull: [0x01C9] }, + { code: 0x01C8, lower: [], title: [], upper: [], fold: 0x01C9, foldFull: [0x01C9] }, + { code: 0x01CA, lower: [], title: [], upper: [], fold: 0x01CC, foldFull: [0x01CC] }, + { code: 0x01CB, lower: [], title: [], upper: [], fold: 0x01CC, foldFull: [0x01CC] }, + { code: 0x01CD, lower: [], title: [], upper: [], fold: 0x01CE, foldFull: [0x01CE] }, + { code: 0x01CF, lower: [], title: [], upper: [], fold: 0x01D0, foldFull: [0x01D0] }, + { code: 0x01D1, lower: [], title: [], upper: [], fold: 0x01D2, foldFull: [0x01D2] }, + { code: 0x01D3, lower: [], title: [], upper: [], fold: 0x01D4, foldFull: [0x01D4] }, + { code: 0x01D5, lower: [], title: [], upper: [], fold: 0x01D6, foldFull: [0x01D6] }, + { code: 0x01D7, lower: [], title: [], upper: [], fold: 0x01D8, foldFull: [0x01D8] }, + { code: 0x01D9, lower: [], title: [], upper: [], fold: 0x01DA, foldFull: [0x01DA] }, + { code: 0x01DB, lower: [], title: [], upper: [], fold: 0x01DC, foldFull: [0x01DC] }, + { code: 0x01DE, lower: [], title: [], upper: [], fold: 0x01DF, foldFull: [0x01DF] }, + { code: 0x01E0, lower: [], title: [], upper: [], fold: 0x01E1, foldFull: [0x01E1] }, + { code: 0x01E2, lower: [], title: [], upper: [], fold: 0x01E3, foldFull: [0x01E3] }, + { code: 0x01E4, lower: [], title: [], upper: [], fold: 0x01E5, foldFull: [0x01E5] }, + { code: 0x01E6, lower: [], title: [], upper: [], fold: 0x01E7, foldFull: [0x01E7] }, + { code: 0x01E8, lower: [], title: [], upper: [], fold: 0x01E9, foldFull: [0x01E9] }, + { code: 0x01EA, lower: [], title: [], upper: [], fold: 0x01EB, foldFull: [0x01EB] }, + { code: 0x01EC, lower: [], title: [], upper: [], fold: 0x01ED, foldFull: [0x01ED] }, + { code: 0x01EE, lower: [], title: [], upper: [], fold: 0x01EF, foldFull: [0x01EF] }, + { code: 0x01F0, lower: [0x01F0], title: [0x004A,0x030C], upper: [0x004A,0x030C], fold: 0, foldFull: [0x006A,0x030C] }, + { code: 0x01F0, lower: [0x01F0], title: [0x004A,0x030C], upper: [0x004A,0x030C], fold: 0, foldFull: [0x006A,0x030C] }, + { code: 0x01F1, lower: [], title: [], upper: [], fold: 0x01F3, foldFull: [0x01F3] }, + { code: 0x01F2, lower: [], title: [], upper: [], fold: 0x01F3, foldFull: [0x01F3] }, + { code: 0x01F4, lower: [], title: [], upper: [], fold: 0x01F5, foldFull: [0x01F5] }, + { code: 0x01F6, lower: [], title: [], upper: [], fold: 0x0195, foldFull: [0x0195] }, + { code: 0x01F7, lower: [], title: [], upper: [], fold: 0x01BF, foldFull: [0x01BF] }, + { code: 0x01F8, lower: [], title: [], upper: [], fold: 0x01F9, foldFull: [0x01F9] }, + { code: 0x01FA, lower: [], title: [], upper: [], fold: 0x01FB, foldFull: [0x01FB] }, + { code: 0x01FC, lower: [], title: [], upper: [], fold: 0x01FD, foldFull: [0x01FD] }, + { code: 0x01FE, lower: [], title: [], upper: [], fold: 0x01FF, foldFull: [0x01FF] }, + { code: 0x0200, lower: [], title: [], upper: [], fold: 0x0201, foldFull: [0x0201] }, + { code: 0x0202, lower: [], title: [], upper: [], fold: 0x0203, foldFull: [0x0203] }, + { code: 0x0204, lower: [], title: [], upper: [], fold: 0x0205, foldFull: [0x0205] }, + { code: 0x0206, lower: [], title: [], upper: [], fold: 0x0207, foldFull: [0x0207] }, + { code: 0x0208, lower: [], title: [], upper: [], fold: 0x0209, foldFull: [0x0209] }, + { code: 0x020A, lower: [], title: [], upper: [], fold: 0x020B, foldFull: [0x020B] }, + { code: 0x020C, lower: [], title: [], upper: [], fold: 0x020D, foldFull: [0x020D] }, + { code: 0x020E, lower: [], title: [], upper: [], fold: 0x020F, foldFull: [0x020F] }, + { code: 0x0210, lower: [], title: [], upper: [], fold: 0x0211, foldFull: [0x0211] }, + { code: 0x0212, lower: [], title: [], upper: [], fold: 0x0213, foldFull: [0x0213] }, + { code: 0x0214, lower: [], title: [], upper: [], fold: 0x0215, foldFull: [0x0215] }, + { code: 0x0216, lower: [], title: [], upper: [], fold: 0x0217, foldFull: [0x0217] }, + { code: 0x0218, lower: [], title: [], upper: [], fold: 0x0219, foldFull: [0x0219] }, + { code: 0x021A, lower: [], title: [], upper: [], fold: 0x021B, foldFull: [0x021B] }, + { code: 0x021C, lower: [], title: [], upper: [], fold: 0x021D, foldFull: [0x021D] }, + { code: 0x021E, lower: [], title: [], upper: [], fold: 0x021F, foldFull: [0x021F] }, + { code: 0x0220, lower: [], title: [], upper: [], fold: 0x019E, foldFull: [0x019E] }, + { code: 0x0222, lower: [], title: [], upper: [], fold: 0x0223, foldFull: [0x0223] }, + { code: 0x0224, lower: [], title: [], upper: [], fold: 0x0225, foldFull: [0x0225] }, + { code: 0x0226, lower: [], title: [], upper: [], fold: 0x0227, foldFull: [0x0227] }, + { code: 0x0228, lower: [], title: [], upper: [], fold: 0x0229, foldFull: [0x0229] }, + { code: 0x022A, lower: [], title: [], upper: [], fold: 0x022B, foldFull: [0x022B] }, + { code: 0x022C, lower: [], title: [], upper: [], fold: 0x022D, foldFull: [0x022D] }, + { code: 0x022E, lower: [], title: [], upper: [], fold: 0x022F, foldFull: [0x022F] }, + { code: 0x0230, lower: [], title: [], upper: [], fold: 0x0231, foldFull: [0x0231] }, + { code: 0x0232, lower: [], title: [], upper: [], fold: 0x0233, foldFull: [0x0233] }, + { code: 0x023A, lower: [], title: [], upper: [], fold: 0x2C65, foldFull: [0x2C65] }, + { code: 0x023B, lower: [], title: [], upper: [], fold: 0x023C, foldFull: [0x023C] }, + { code: 0x023D, lower: [], title: [], upper: [], fold: 0x019A, foldFull: [0x019A] }, + { code: 0x023E, lower: [], title: [], upper: [], fold: 0x2C66, foldFull: [0x2C66] }, + { code: 0x0241, lower: [], title: [], upper: [], fold: 0x0242, foldFull: [0x0242] }, + { code: 0x0243, lower: [], title: [], upper: [], fold: 0x0180, foldFull: [0x0180] }, + { code: 0x0244, lower: [], title: [], upper: [], fold: 0x0289, foldFull: [0x0289] }, + { code: 0x0245, lower: [], title: [], upper: [], fold: 0x028C, foldFull: [0x028C] }, + { code: 0x0246, lower: [], title: [], upper: [], fold: 0x0247, foldFull: [0x0247] }, + { code: 0x0248, lower: [], title: [], upper: [], fold: 0x0249, foldFull: [0x0249] }, + { code: 0x024A, lower: [], title: [], upper: [], fold: 0x024B, foldFull: [0x024B] }, + { code: 0x024C, lower: [], title: [], upper: [], fold: 0x024D, foldFull: [0x024D] }, + { code: 0x024E, lower: [], title: [], upper: [], fold: 0x024F, foldFull: [0x024F] }, + { code: 0x0345, lower: [], title: [], upper: [], fold: 0x03B9, foldFull: [0x03B9] }, + { code: 0x0370, lower: [], title: [], upper: [], fold: 0x0371, foldFull: [0x0371] }, + { code: 0x0372, lower: [], title: [], upper: [], fold: 0x0373, foldFull: [0x0373] }, + { code: 0x0376, lower: [], title: [], upper: [], fold: 0x0377, foldFull: [0x0377] }, + { code: 0x0386, lower: [], title: [], upper: [], fold: 0x03AC, foldFull: [0x03AC] }, + { code: 0x0388, lower: [], title: [], upper: [], fold: 0x03AD, foldFull: [0x03AD] }, + { code: 0x0389, lower: [], title: [], upper: [], fold: 0x03AE, foldFull: [0x03AE] }, + { code: 0x038A, lower: [], title: [], upper: [], fold: 0x03AF, foldFull: [0x03AF] }, + { code: 0x038C, lower: [], title: [], upper: [], fold: 0x03CC, foldFull: [0x03CC] }, + { code: 0x038E, lower: [], title: [], upper: [], fold: 0x03CD, foldFull: [0x03CD] }, + { code: 0x038F, lower: [], title: [], upper: [], fold: 0x03CE, foldFull: [0x03CE] }, + { code: 0x0390, lower: [0x0390], title: [0x0399,0x0308,0x0301], upper: [0x0399,0x0308,0x0301], fold: 0, foldFull: [0x03B9,0x0308,0x0301] }, + { code: 0x0390, lower: [0x0390], title: [0x0399,0x0308,0x0301], upper: [0x0399,0x0308,0x0301], fold: 0, foldFull: [0x03B9,0x0308,0x0301] }, + { code: 0x0391, lower: [], title: [], upper: [], fold: 0x03B1, foldFull: [0x03B1] }, + { code: 0x0392, lower: [], title: [], upper: [], fold: 0x03B2, foldFull: [0x03B2] }, + { code: 0x0393, lower: [], title: [], upper: [], fold: 0x03B3, foldFull: [0x03B3] }, + { code: 0x0394, lower: [], title: [], upper: [], fold: 0x03B4, foldFull: [0x03B4] }, + { code: 0x0395, lower: [], title: [], upper: [], fold: 0x03B5, foldFull: [0x03B5] }, + { code: 0x0396, lower: [], title: [], upper: [], fold: 0x03B6, foldFull: [0x03B6] }, + { code: 0x0397, lower: [], title: [], upper: [], fold: 0x03B7, foldFull: [0x03B7] }, + { code: 0x0398, lower: [], title: [], upper: [], fold: 0x03B8, foldFull: [0x03B8] }, + { code: 0x0399, lower: [], title: [], upper: [], fold: 0x03B9, foldFull: [0x03B9] }, + { code: 0x039A, lower: [], title: [], upper: [], fold: 0x03BA, foldFull: [0x03BA] }, + { code: 0x039B, lower: [], title: [], upper: [], fold: 0x03BB, foldFull: [0x03BB] }, + { code: 0x039C, lower: [], title: [], upper: [], fold: 0x03BC, foldFull: [0x03BC] }, + { code: 0x039D, lower: [], title: [], upper: [], fold: 0x03BD, foldFull: [0x03BD] }, + { code: 0x039E, lower: [], title: [], upper: [], fold: 0x03BE, foldFull: [0x03BE] }, + { code: 0x039F, lower: [], title: [], upper: [], fold: 0x03BF, foldFull: [0x03BF] }, + { code: 0x03A0, lower: [], title: [], upper: [], fold: 0x03C0, foldFull: [0x03C0] }, + { code: 0x03A1, lower: [], title: [], upper: [], fold: 0x03C1, foldFull: [0x03C1] }, + { code: 0x03A3, lower: [], title: [], upper: [], fold: 0x03C3, foldFull: [0x03C3] }, + { code: 0x03A4, lower: [], title: [], upper: [], fold: 0x03C4, foldFull: [0x03C4] }, + { code: 0x03A5, lower: [], title: [], upper: [], fold: 0x03C5, foldFull: [0x03C5] }, + { code: 0x03A6, lower: [], title: [], upper: [], fold: 0x03C6, foldFull: [0x03C6] }, + { code: 0x03A7, lower: [], title: [], upper: [], fold: 0x03C7, foldFull: [0x03C7] }, + { code: 0x03A8, lower: [], title: [], upper: [], fold: 0x03C8, foldFull: [0x03C8] }, + { code: 0x03A9, lower: [], title: [], upper: [], fold: 0x03C9, foldFull: [0x03C9] }, + { code: 0x03AA, lower: [], title: [], upper: [], fold: 0x03CA, foldFull: [0x03CA] }, + { code: 0x03AB, lower: [], title: [], upper: [], fold: 0x03CB, foldFull: [0x03CB] }, + { code: 0x03B0, lower: [0x03B0], title: [0x03A5,0x0308,0x0301], upper: [0x03A5,0x0308,0x0301], fold: 0, foldFull: [0x03C5,0x0308,0x0301] }, + { code: 0x03B0, lower: [0x03B0], title: [0x03A5,0x0308,0x0301], upper: [0x03A5,0x0308,0x0301], fold: 0, foldFull: [0x03C5,0x0308,0x0301] }, + { code: 0x03C2, lower: [], title: [], upper: [], fold: 0x03C3, foldFull: [0x03C3] }, + { code: 0x03CF, lower: [], title: [], upper: [], fold: 0x03D7, foldFull: [0x03D7] }, + { code: 0x03D0, lower: [], title: [], upper: [], fold: 0x03B2, foldFull: [0x03B2] }, + { code: 0x03D1, lower: [], title: [], upper: [], fold: 0x03B8, foldFull: [0x03B8] }, + { code: 0x03D5, lower: [], title: [], upper: [], fold: 0x03C6, foldFull: [0x03C6] }, + { code: 0x03D6, lower: [], title: [], upper: [], fold: 0x03C0, foldFull: [0x03C0] }, + { code: 0x03D8, lower: [], title: [], upper: [], fold: 0x03D9, foldFull: [0x03D9] }, + { code: 0x03DA, lower: [], title: [], upper: [], fold: 0x03DB, foldFull: [0x03DB] }, + { code: 0x03DC, lower: [], title: [], upper: [], fold: 0x03DD, foldFull: [0x03DD] }, + { code: 0x03DE, lower: [], title: [], upper: [], fold: 0x03DF, foldFull: [0x03DF] }, + { code: 0x03E0, lower: [], title: [], upper: [], fold: 0x03E1, foldFull: [0x03E1] }, + { code: 0x03E2, lower: [], title: [], upper: [], fold: 0x03E3, foldFull: [0x03E3] }, + { code: 0x03E4, lower: [], title: [], upper: [], fold: 0x03E5, foldFull: [0x03E5] }, + { code: 0x03E6, lower: [], title: [], upper: [], fold: 0x03E7, foldFull: [0x03E7] }, + { code: 0x03E8, lower: [], title: [], upper: [], fold: 0x03E9, foldFull: [0x03E9] }, + { code: 0x03EA, lower: [], title: [], upper: [], fold: 0x03EB, foldFull: [0x03EB] }, + { code: 0x03EC, lower: [], title: [], upper: [], fold: 0x03ED, foldFull: [0x03ED] }, + { code: 0x03EE, lower: [], title: [], upper: [], fold: 0x03EF, foldFull: [0x03EF] }, + { code: 0x03F0, lower: [], title: [], upper: [], fold: 0x03BA, foldFull: [0x03BA] }, + { code: 0x03F1, lower: [], title: [], upper: [], fold: 0x03C1, foldFull: [0x03C1] }, + { code: 0x03F4, lower: [], title: [], upper: [], fold: 0x03B8, foldFull: [0x03B8] }, + { code: 0x03F5, lower: [], title: [], upper: [], fold: 0x03B5, foldFull: [0x03B5] }, + { code: 0x03F7, lower: [], title: [], upper: [], fold: 0x03F8, foldFull: [0x03F8] }, + { code: 0x03F9, lower: [], title: [], upper: [], fold: 0x03F2, foldFull: [0x03F2] }, + { code: 0x03FA, lower: [], title: [], upper: [], fold: 0x03FB, foldFull: [0x03FB] }, + { code: 0x03FD, lower: [], title: [], upper: [], fold: 0x037B, foldFull: [0x037B] }, + { code: 0x03FE, lower: [], title: [], upper: [], fold: 0x037C, foldFull: [0x037C] }, + { code: 0x03FF, lower: [], title: [], upper: [], fold: 0x037D, foldFull: [0x037D] }, + { code: 0x0400, lower: [], title: [], upper: [], fold: 0x0450, foldFull: [0x0450] }, + { code: 0x0401, lower: [], title: [], upper: [], fold: 0x0451, foldFull: [0x0451] }, + { code: 0x0402, lower: [], title: [], upper: [], fold: 0x0452, foldFull: [0x0452] }, + { code: 0x0403, lower: [], title: [], upper: [], fold: 0x0453, foldFull: [0x0453] }, + { code: 0x0404, lower: [], title: [], upper: [], fold: 0x0454, foldFull: [0x0454] }, + { code: 0x0405, lower: [], title: [], upper: [], fold: 0x0455, foldFull: [0x0455] }, + { code: 0x0406, lower: [], title: [], upper: [], fold: 0x0456, foldFull: [0x0456] }, + { code: 0x0407, lower: [], title: [], upper: [], fold: 0x0457, foldFull: [0x0457] }, + { code: 0x0408, lower: [], title: [], upper: [], fold: 0x0458, foldFull: [0x0458] }, + { code: 0x0409, lower: [], title: [], upper: [], fold: 0x0459, foldFull: [0x0459] }, + { code: 0x040A, lower: [], title: [], upper: [], fold: 0x045A, foldFull: [0x045A] }, + { code: 0x040B, lower: [], title: [], upper: [], fold: 0x045B, foldFull: [0x045B] }, + { code: 0x040C, lower: [], title: [], upper: [], fold: 0x045C, foldFull: [0x045C] }, + { code: 0x040D, lower: [], title: [], upper: [], fold: 0x045D, foldFull: [0x045D] }, + { code: 0x040E, lower: [], title: [], upper: [], fold: 0x045E, foldFull: [0x045E] }, + { code: 0x040F, lower: [], title: [], upper: [], fold: 0x045F, foldFull: [0x045F] }, + { code: 0x0410, lower: [], title: [], upper: [], fold: 0x0430, foldFull: [0x0430] }, + { code: 0x0411, lower: [], title: [], upper: [], fold: 0x0431, foldFull: [0x0431] }, + { code: 0x0412, lower: [], title: [], upper: [], fold: 0x0432, foldFull: [0x0432] }, + { code: 0x0413, lower: [], title: [], upper: [], fold: 0x0433, foldFull: [0x0433] }, + { code: 0x0414, lower: [], title: [], upper: [], fold: 0x0434, foldFull: [0x0434] }, + { code: 0x0415, lower: [], title: [], upper: [], fold: 0x0435, foldFull: [0x0435] }, + { code: 0x0416, lower: [], title: [], upper: [], fold: 0x0436, foldFull: [0x0436] }, + { code: 0x0417, lower: [], title: [], upper: [], fold: 0x0437, foldFull: [0x0437] }, + { code: 0x0418, lower: [], title: [], upper: [], fold: 0x0438, foldFull: [0x0438] }, + { code: 0x0419, lower: [], title: [], upper: [], fold: 0x0439, foldFull: [0x0439] }, + { code: 0x041A, lower: [], title: [], upper: [], fold: 0x043A, foldFull: [0x043A] }, + { code: 0x041B, lower: [], title: [], upper: [], fold: 0x043B, foldFull: [0x043B] }, + { code: 0x041C, lower: [], title: [], upper: [], fold: 0x043C, foldFull: [0x043C] }, + { code: 0x041D, lower: [], title: [], upper: [], fold: 0x043D, foldFull: [0x043D] }, + { code: 0x041E, lower: [], title: [], upper: [], fold: 0x043E, foldFull: [0x043E] }, + { code: 0x041F, lower: [], title: [], upper: [], fold: 0x043F, foldFull: [0x043F] }, + { code: 0x0420, lower: [], title: [], upper: [], fold: 0x0440, foldFull: [0x0440] }, + { code: 0x0421, lower: [], title: [], upper: [], fold: 0x0441, foldFull: [0x0441] }, + { code: 0x0422, lower: [], title: [], upper: [], fold: 0x0442, foldFull: [0x0442] }, + { code: 0x0423, lower: [], title: [], upper: [], fold: 0x0443, foldFull: [0x0443] }, + { code: 0x0424, lower: [], title: [], upper: [], fold: 0x0444, foldFull: [0x0444] }, + { code: 0x0425, lower: [], title: [], upper: [], fold: 0x0445, foldFull: [0x0445] }, + { code: 0x0426, lower: [], title: [], upper: [], fold: 0x0446, foldFull: [0x0446] }, + { code: 0x0427, lower: [], title: [], upper: [], fold: 0x0447, foldFull: [0x0447] }, + { code: 0x0428, lower: [], title: [], upper: [], fold: 0x0448, foldFull: [0x0448] }, + { code: 0x0429, lower: [], title: [], upper: [], fold: 0x0449, foldFull: [0x0449] }, + { code: 0x042A, lower: [], title: [], upper: [], fold: 0x044A, foldFull: [0x044A] }, + { code: 0x042B, lower: [], title: [], upper: [], fold: 0x044B, foldFull: [0x044B] }, + { code: 0x042C, lower: [], title: [], upper: [], fold: 0x044C, foldFull: [0x044C] }, + { code: 0x042D, lower: [], title: [], upper: [], fold: 0x044D, foldFull: [0x044D] }, + { code: 0x042E, lower: [], title: [], upper: [], fold: 0x044E, foldFull: [0x044E] }, + { code: 0x042F, lower: [], title: [], upper: [], fold: 0x044F, foldFull: [0x044F] }, + { code: 0x0460, lower: [], title: [], upper: [], fold: 0x0461, foldFull: [0x0461] }, + { code: 0x0462, lower: [], title: [], upper: [], fold: 0x0463, foldFull: [0x0463] }, + { code: 0x0464, lower: [], title: [], upper: [], fold: 0x0465, foldFull: [0x0465] }, + { code: 0x0466, lower: [], title: [], upper: [], fold: 0x0467, foldFull: [0x0467] }, + { code: 0x0468, lower: [], title: [], upper: [], fold: 0x0469, foldFull: [0x0469] }, + { code: 0x046A, lower: [], title: [], upper: [], fold: 0x046B, foldFull: [0x046B] }, + { code: 0x046C, lower: [], title: [], upper: [], fold: 0x046D, foldFull: [0x046D] }, + { code: 0x046E, lower: [], title: [], upper: [], fold: 0x046F, foldFull: [0x046F] }, + { code: 0x0470, lower: [], title: [], upper: [], fold: 0x0471, foldFull: [0x0471] }, + { code: 0x0472, lower: [], title: [], upper: [], fold: 0x0473, foldFull: [0x0473] }, + { code: 0x0474, lower: [], title: [], upper: [], fold: 0x0475, foldFull: [0x0475] }, + { code: 0x0476, lower: [], title: [], upper: [], fold: 0x0477, foldFull: [0x0477] }, + { code: 0x0478, lower: [], title: [], upper: [], fold: 0x0479, foldFull: [0x0479] }, + { code: 0x047A, lower: [], title: [], upper: [], fold: 0x047B, foldFull: [0x047B] }, + { code: 0x047C, lower: [], title: [], upper: [], fold: 0x047D, foldFull: [0x047D] }, + { code: 0x047E, lower: [], title: [], upper: [], fold: 0x047F, foldFull: [0x047F] }, + { code: 0x0480, lower: [], title: [], upper: [], fold: 0x0481, foldFull: [0x0481] }, + { code: 0x048A, lower: [], title: [], upper: [], fold: 0x048B, foldFull: [0x048B] }, + { code: 0x048C, lower: [], title: [], upper: [], fold: 0x048D, foldFull: [0x048D] }, + { code: 0x048E, lower: [], title: [], upper: [], fold: 0x048F, foldFull: [0x048F] }, + { code: 0x0490, lower: [], title: [], upper: [], fold: 0x0491, foldFull: [0x0491] }, + { code: 0x0492, lower: [], title: [], upper: [], fold: 0x0493, foldFull: [0x0493] }, + { code: 0x0494, lower: [], title: [], upper: [], fold: 0x0495, foldFull: [0x0495] }, + { code: 0x0496, lower: [], title: [], upper: [], fold: 0x0497, foldFull: [0x0497] }, + { code: 0x0498, lower: [], title: [], upper: [], fold: 0x0499, foldFull: [0x0499] }, + { code: 0x049A, lower: [], title: [], upper: [], fold: 0x049B, foldFull: [0x049B] }, + { code: 0x049C, lower: [], title: [], upper: [], fold: 0x049D, foldFull: [0x049D] }, + { code: 0x049E, lower: [], title: [], upper: [], fold: 0x049F, foldFull: [0x049F] }, + { code: 0x04A0, lower: [], title: [], upper: [], fold: 0x04A1, foldFull: [0x04A1] }, + { code: 0x04A2, lower: [], title: [], upper: [], fold: 0x04A3, foldFull: [0x04A3] }, + { code: 0x04A4, lower: [], title: [], upper: [], fold: 0x04A5, foldFull: [0x04A5] }, + { code: 0x04A6, lower: [], title: [], upper: [], fold: 0x04A7, foldFull: [0x04A7] }, + { code: 0x04A8, lower: [], title: [], upper: [], fold: 0x04A9, foldFull: [0x04A9] }, + { code: 0x04AA, lower: [], title: [], upper: [], fold: 0x04AB, foldFull: [0x04AB] }, + { code: 0x04AC, lower: [], title: [], upper: [], fold: 0x04AD, foldFull: [0x04AD] }, + { code: 0x04AE, lower: [], title: [], upper: [], fold: 0x04AF, foldFull: [0x04AF] }, + { code: 0x04B0, lower: [], title: [], upper: [], fold: 0x04B1, foldFull: [0x04B1] }, + { code: 0x04B2, lower: [], title: [], upper: [], fold: 0x04B3, foldFull: [0x04B3] }, + { code: 0x04B4, lower: [], title: [], upper: [], fold: 0x04B5, foldFull: [0x04B5] }, + { code: 0x04B6, lower: [], title: [], upper: [], fold: 0x04B7, foldFull: [0x04B7] }, + { code: 0x04B8, lower: [], title: [], upper: [], fold: 0x04B9, foldFull: [0x04B9] }, + { code: 0x04BA, lower: [], title: [], upper: [], fold: 0x04BB, foldFull: [0x04BB] }, + { code: 0x04BC, lower: [], title: [], upper: [], fold: 0x04BD, foldFull: [0x04BD] }, + { code: 0x04BE, lower: [], title: [], upper: [], fold: 0x04BF, foldFull: [0x04BF] }, + { code: 0x04C0, lower: [], title: [], upper: [], fold: 0x04CF, foldFull: [0x04CF] }, + { code: 0x04C1, lower: [], title: [], upper: [], fold: 0x04C2, foldFull: [0x04C2] }, + { code: 0x04C3, lower: [], title: [], upper: [], fold: 0x04C4, foldFull: [0x04C4] }, + { code: 0x04C5, lower: [], title: [], upper: [], fold: 0x04C6, foldFull: [0x04C6] }, + { code: 0x04C7, lower: [], title: [], upper: [], fold: 0x04C8, foldFull: [0x04C8] }, + { code: 0x04C9, lower: [], title: [], upper: [], fold: 0x04CA, foldFull: [0x04CA] }, + { code: 0x04CB, lower: [], title: [], upper: [], fold: 0x04CC, foldFull: [0x04CC] }, + { code: 0x04CD, lower: [], title: [], upper: [], fold: 0x04CE, foldFull: [0x04CE] }, + { code: 0x04D0, lower: [], title: [], upper: [], fold: 0x04D1, foldFull: [0x04D1] }, + { code: 0x04D2, lower: [], title: [], upper: [], fold: 0x04D3, foldFull: [0x04D3] }, + { code: 0x04D4, lower: [], title: [], upper: [], fold: 0x04D5, foldFull: [0x04D5] }, + { code: 0x04D6, lower: [], title: [], upper: [], fold: 0x04D7, foldFull: [0x04D7] }, + { code: 0x04D8, lower: [], title: [], upper: [], fold: 0x04D9, foldFull: [0x04D9] }, + { code: 0x04DA, lower: [], title: [], upper: [], fold: 0x04DB, foldFull: [0x04DB] }, + { code: 0x04DC, lower: [], title: [], upper: [], fold: 0x04DD, foldFull: [0x04DD] }, + { code: 0x04DE, lower: [], title: [], upper: [], fold: 0x04DF, foldFull: [0x04DF] }, + { code: 0x04E0, lower: [], title: [], upper: [], fold: 0x04E1, foldFull: [0x04E1] }, + { code: 0x04E2, lower: [], title: [], upper: [], fold: 0x04E3, foldFull: [0x04E3] }, + { code: 0x04E4, lower: [], title: [], upper: [], fold: 0x04E5, foldFull: [0x04E5] }, + { code: 0x04E6, lower: [], title: [], upper: [], fold: 0x04E7, foldFull: [0x04E7] }, + { code: 0x04E8, lower: [], title: [], upper: [], fold: 0x04E9, foldFull: [0x04E9] }, + { code: 0x04EA, lower: [], title: [], upper: [], fold: 0x04EB, foldFull: [0x04EB] }, + { code: 0x04EC, lower: [], title: [], upper: [], fold: 0x04ED, foldFull: [0x04ED] }, + { code: 0x04EE, lower: [], title: [], upper: [], fold: 0x04EF, foldFull: [0x04EF] }, + { code: 0x04F0, lower: [], title: [], upper: [], fold: 0x04F1, foldFull: [0x04F1] }, + { code: 0x04F2, lower: [], title: [], upper: [], fold: 0x04F3, foldFull: [0x04F3] }, + { code: 0x04F4, lower: [], title: [], upper: [], fold: 0x04F5, foldFull: [0x04F5] }, + { code: 0x04F6, lower: [], title: [], upper: [], fold: 0x04F7, foldFull: [0x04F7] }, + { code: 0x04F8, lower: [], title: [], upper: [], fold: 0x04F9, foldFull: [0x04F9] }, + { code: 0x04FA, lower: [], title: [], upper: [], fold: 0x04FB, foldFull: [0x04FB] }, + { code: 0x04FC, lower: [], title: [], upper: [], fold: 0x04FD, foldFull: [0x04FD] }, + { code: 0x04FE, lower: [], title: [], upper: [], fold: 0x04FF, foldFull: [0x04FF] }, + { code: 0x0500, lower: [], title: [], upper: [], fold: 0x0501, foldFull: [0x0501] }, + { code: 0x0502, lower: [], title: [], upper: [], fold: 0x0503, foldFull: [0x0503] }, + { code: 0x0504, lower: [], title: [], upper: [], fold: 0x0505, foldFull: [0x0505] }, + { code: 0x0506, lower: [], title: [], upper: [], fold: 0x0507, foldFull: [0x0507] }, + { code: 0x0508, lower: [], title: [], upper: [], fold: 0x0509, foldFull: [0x0509] }, + { code: 0x050A, lower: [], title: [], upper: [], fold: 0x050B, foldFull: [0x050B] }, + { code: 0x050C, lower: [], title: [], upper: [], fold: 0x050D, foldFull: [0x050D] }, + { code: 0x050E, lower: [], title: [], upper: [], fold: 0x050F, foldFull: [0x050F] }, + { code: 0x0510, lower: [], title: [], upper: [], fold: 0x0511, foldFull: [0x0511] }, + { code: 0x0512, lower: [], title: [], upper: [], fold: 0x0513, foldFull: [0x0513] }, + { code: 0x0514, lower: [], title: [], upper: [], fold: 0x0515, foldFull: [0x0515] }, + { code: 0x0516, lower: [], title: [], upper: [], fold: 0x0517, foldFull: [0x0517] }, + { code: 0x0518, lower: [], title: [], upper: [], fold: 0x0519, foldFull: [0x0519] }, + { code: 0x051A, lower: [], title: [], upper: [], fold: 0x051B, foldFull: [0x051B] }, + { code: 0x051C, lower: [], title: [], upper: [], fold: 0x051D, foldFull: [0x051D] }, + { code: 0x051E, lower: [], title: [], upper: [], fold: 0x051F, foldFull: [0x051F] }, + { code: 0x0520, lower: [], title: [], upper: [], fold: 0x0521, foldFull: [0x0521] }, + { code: 0x0522, lower: [], title: [], upper: [], fold: 0x0523, foldFull: [0x0523] }, + { code: 0x0524, lower: [], title: [], upper: [], fold: 0x0525, foldFull: [0x0525] }, + { code: 0x0526, lower: [], title: [], upper: [], fold: 0x0527, foldFull: [0x0527] }, + { code: 0x0531, lower: [], title: [], upper: [], fold: 0x0561, foldFull: [0x0561] }, + { code: 0x0532, lower: [], title: [], upper: [], fold: 0x0562, foldFull: [0x0562] }, + { code: 0x0533, lower: [], title: [], upper: [], fold: 0x0563, foldFull: [0x0563] }, + { code: 0x0534, lower: [], title: [], upper: [], fold: 0x0564, foldFull: [0x0564] }, + { code: 0x0535, lower: [], title: [], upper: [], fold: 0x0565, foldFull: [0x0565] }, + { code: 0x0536, lower: [], title: [], upper: [], fold: 0x0566, foldFull: [0x0566] }, + { code: 0x0537, lower: [], title: [], upper: [], fold: 0x0567, foldFull: [0x0567] }, + { code: 0x0538, lower: [], title: [], upper: [], fold: 0x0568, foldFull: [0x0568] }, + { code: 0x0539, lower: [], title: [], upper: [], fold: 0x0569, foldFull: [0x0569] }, + { code: 0x053A, lower: [], title: [], upper: [], fold: 0x056A, foldFull: [0x056A] }, + { code: 0x053B, lower: [], title: [], upper: [], fold: 0x056B, foldFull: [0x056B] }, + { code: 0x053C, lower: [], title: [], upper: [], fold: 0x056C, foldFull: [0x056C] }, + { code: 0x053D, lower: [], title: [], upper: [], fold: 0x056D, foldFull: [0x056D] }, + { code: 0x053E, lower: [], title: [], upper: [], fold: 0x056E, foldFull: [0x056E] }, + { code: 0x053F, lower: [], title: [], upper: [], fold: 0x056F, foldFull: [0x056F] }, + { code: 0x0540, lower: [], title: [], upper: [], fold: 0x0570, foldFull: [0x0570] }, + { code: 0x0541, lower: [], title: [], upper: [], fold: 0x0571, foldFull: [0x0571] }, + { code: 0x0542, lower: [], title: [], upper: [], fold: 0x0572, foldFull: [0x0572] }, + { code: 0x0543, lower: [], title: [], upper: [], fold: 0x0573, foldFull: [0x0573] }, + { code: 0x0544, lower: [], title: [], upper: [], fold: 0x0574, foldFull: [0x0574] }, + { code: 0x0545, lower: [], title: [], upper: [], fold: 0x0575, foldFull: [0x0575] }, + { code: 0x0546, lower: [], title: [], upper: [], fold: 0x0576, foldFull: [0x0576] }, + { code: 0x0547, lower: [], title: [], upper: [], fold: 0x0577, foldFull: [0x0577] }, + { code: 0x0548, lower: [], title: [], upper: [], fold: 0x0578, foldFull: [0x0578] }, + { code: 0x0549, lower: [], title: [], upper: [], fold: 0x0579, foldFull: [0x0579] }, + { code: 0x054A, lower: [], title: [], upper: [], fold: 0x057A, foldFull: [0x057A] }, + { code: 0x054B, lower: [], title: [], upper: [], fold: 0x057B, foldFull: [0x057B] }, + { code: 0x054C, lower: [], title: [], upper: [], fold: 0x057C, foldFull: [0x057C] }, + { code: 0x054D, lower: [], title: [], upper: [], fold: 0x057D, foldFull: [0x057D] }, + { code: 0x054E, lower: [], title: [], upper: [], fold: 0x057E, foldFull: [0x057E] }, + { code: 0x054F, lower: [], title: [], upper: [], fold: 0x057F, foldFull: [0x057F] }, + { code: 0x0550, lower: [], title: [], upper: [], fold: 0x0580, foldFull: [0x0580] }, + { code: 0x0551, lower: [], title: [], upper: [], fold: 0x0581, foldFull: [0x0581] }, + { code: 0x0552, lower: [], title: [], upper: [], fold: 0x0582, foldFull: [0x0582] }, + { code: 0x0553, lower: [], title: [], upper: [], fold: 0x0583, foldFull: [0x0583] }, + { code: 0x0554, lower: [], title: [], upper: [], fold: 0x0584, foldFull: [0x0584] }, + { code: 0x0555, lower: [], title: [], upper: [], fold: 0x0585, foldFull: [0x0585] }, + { code: 0x0556, lower: [], title: [], upper: [], fold: 0x0586, foldFull: [0x0586] }, + { code: 0x0587, lower: [0x0587], title: [0x0535,0x0582], upper: [0x0535,0x0552], fold: 0, foldFull: [0x0565,0x0582] }, + { code: 0x0587, lower: [0x0587], title: [0x0535,0x0582], upper: [0x0535,0x0552], fold: 0, foldFull: [0x0565,0x0582] }, + { code: 0x10A0, lower: [], title: [], upper: [], fold: 0x2D00, foldFull: [0x2D00] }, + { code: 0x10A1, lower: [], title: [], upper: [], fold: 0x2D01, foldFull: [0x2D01] }, + { code: 0x10A2, lower: [], title: [], upper: [], fold: 0x2D02, foldFull: [0x2D02] }, + { code: 0x10A3, lower: [], title: [], upper: [], fold: 0x2D03, foldFull: [0x2D03] }, + { code: 0x10A4, lower: [], title: [], upper: [], fold: 0x2D04, foldFull: [0x2D04] }, + { code: 0x10A5, lower: [], title: [], upper: [], fold: 0x2D05, foldFull: [0x2D05] }, + { code: 0x10A6, lower: [], title: [], upper: [], fold: 0x2D06, foldFull: [0x2D06] }, + { code: 0x10A7, lower: [], title: [], upper: [], fold: 0x2D07, foldFull: [0x2D07] }, + { code: 0x10A8, lower: [], title: [], upper: [], fold: 0x2D08, foldFull: [0x2D08] }, + { code: 0x10A9, lower: [], title: [], upper: [], fold: 0x2D09, foldFull: [0x2D09] }, + { code: 0x10AA, lower: [], title: [], upper: [], fold: 0x2D0A, foldFull: [0x2D0A] }, + { code: 0x10AB, lower: [], title: [], upper: [], fold: 0x2D0B, foldFull: [0x2D0B] }, + { code: 0x10AC, lower: [], title: [], upper: [], fold: 0x2D0C, foldFull: [0x2D0C] }, + { code: 0x10AD, lower: [], title: [], upper: [], fold: 0x2D0D, foldFull: [0x2D0D] }, + { code: 0x10AE, lower: [], title: [], upper: [], fold: 0x2D0E, foldFull: [0x2D0E] }, + { code: 0x10AF, lower: [], title: [], upper: [], fold: 0x2D0F, foldFull: [0x2D0F] }, + { code: 0x10B0, lower: [], title: [], upper: [], fold: 0x2D10, foldFull: [0x2D10] }, + { code: 0x10B1, lower: [], title: [], upper: [], fold: 0x2D11, foldFull: [0x2D11] }, + { code: 0x10B2, lower: [], title: [], upper: [], fold: 0x2D12, foldFull: [0x2D12] }, + { code: 0x10B3, lower: [], title: [], upper: [], fold: 0x2D13, foldFull: [0x2D13] }, + { code: 0x10B4, lower: [], title: [], upper: [], fold: 0x2D14, foldFull: [0x2D14] }, + { code: 0x10B5, lower: [], title: [], upper: [], fold: 0x2D15, foldFull: [0x2D15] }, + { code: 0x10B6, lower: [], title: [], upper: [], fold: 0x2D16, foldFull: [0x2D16] }, + { code: 0x10B7, lower: [], title: [], upper: [], fold: 0x2D17, foldFull: [0x2D17] }, + { code: 0x10B8, lower: [], title: [], upper: [], fold: 0x2D18, foldFull: [0x2D18] }, + { code: 0x10B9, lower: [], title: [], upper: [], fold: 0x2D19, foldFull: [0x2D19] }, + { code: 0x10BA, lower: [], title: [], upper: [], fold: 0x2D1A, foldFull: [0x2D1A] }, + { code: 0x10BB, lower: [], title: [], upper: [], fold: 0x2D1B, foldFull: [0x2D1B] }, + { code: 0x10BC, lower: [], title: [], upper: [], fold: 0x2D1C, foldFull: [0x2D1C] }, + { code: 0x10BD, lower: [], title: [], upper: [], fold: 0x2D1D, foldFull: [0x2D1D] }, + { code: 0x10BE, lower: [], title: [], upper: [], fold: 0x2D1E, foldFull: [0x2D1E] }, + { code: 0x10BF, lower: [], title: [], upper: [], fold: 0x2D1F, foldFull: [0x2D1F] }, + { code: 0x10C0, lower: [], title: [], upper: [], fold: 0x2D20, foldFull: [0x2D20] }, + { code: 0x10C1, lower: [], title: [], upper: [], fold: 0x2D21, foldFull: [0x2D21] }, + { code: 0x10C2, lower: [], title: [], upper: [], fold: 0x2D22, foldFull: [0x2D22] }, + { code: 0x10C3, lower: [], title: [], upper: [], fold: 0x2D23, foldFull: [0x2D23] }, + { code: 0x10C4, lower: [], title: [], upper: [], fold: 0x2D24, foldFull: [0x2D24] }, + { code: 0x10C5, lower: [], title: [], upper: [], fold: 0x2D25, foldFull: [0x2D25] }, + { code: 0x1E00, lower: [], title: [], upper: [], fold: 0x1E01, foldFull: [0x1E01] }, + { code: 0x1E02, lower: [], title: [], upper: [], fold: 0x1E03, foldFull: [0x1E03] }, + { code: 0x1E04, lower: [], title: [], upper: [], fold: 0x1E05, foldFull: [0x1E05] }, + { code: 0x1E06, lower: [], title: [], upper: [], fold: 0x1E07, foldFull: [0x1E07] }, + { code: 0x1E08, lower: [], title: [], upper: [], fold: 0x1E09, foldFull: [0x1E09] }, + { code: 0x1E0A, lower: [], title: [], upper: [], fold: 0x1E0B, foldFull: [0x1E0B] }, + { code: 0x1E0C, lower: [], title: [], upper: [], fold: 0x1E0D, foldFull: [0x1E0D] }, + { code: 0x1E0E, lower: [], title: [], upper: [], fold: 0x1E0F, foldFull: [0x1E0F] }, + { code: 0x1E10, lower: [], title: [], upper: [], fold: 0x1E11, foldFull: [0x1E11] }, + { code: 0x1E12, lower: [], title: [], upper: [], fold: 0x1E13, foldFull: [0x1E13] }, + { code: 0x1E14, lower: [], title: [], upper: [], fold: 0x1E15, foldFull: [0x1E15] }, + { code: 0x1E16, lower: [], title: [], upper: [], fold: 0x1E17, foldFull: [0x1E17] }, + { code: 0x1E18, lower: [], title: [], upper: [], fold: 0x1E19, foldFull: [0x1E19] }, + { code: 0x1E1A, lower: [], title: [], upper: [], fold: 0x1E1B, foldFull: [0x1E1B] }, + { code: 0x1E1C, lower: [], title: [], upper: [], fold: 0x1E1D, foldFull: [0x1E1D] }, + { code: 0x1E1E, lower: [], title: [], upper: [], fold: 0x1E1F, foldFull: [0x1E1F] }, + { code: 0x1E20, lower: [], title: [], upper: [], fold: 0x1E21, foldFull: [0x1E21] }, + { code: 0x1E22, lower: [], title: [], upper: [], fold: 0x1E23, foldFull: [0x1E23] }, + { code: 0x1E24, lower: [], title: [], upper: [], fold: 0x1E25, foldFull: [0x1E25] }, + { code: 0x1E26, lower: [], title: [], upper: [], fold: 0x1E27, foldFull: [0x1E27] }, + { code: 0x1E28, lower: [], title: [], upper: [], fold: 0x1E29, foldFull: [0x1E29] }, + { code: 0x1E2A, lower: [], title: [], upper: [], fold: 0x1E2B, foldFull: [0x1E2B] }, + { code: 0x1E2C, lower: [], title: [], upper: [], fold: 0x1E2D, foldFull: [0x1E2D] }, + { code: 0x1E2E, lower: [], title: [], upper: [], fold: 0x1E2F, foldFull: [0x1E2F] }, + { code: 0x1E30, lower: [], title: [], upper: [], fold: 0x1E31, foldFull: [0x1E31] }, + { code: 0x1E32, lower: [], title: [], upper: [], fold: 0x1E33, foldFull: [0x1E33] }, + { code: 0x1E34, lower: [], title: [], upper: [], fold: 0x1E35, foldFull: [0x1E35] }, + { code: 0x1E36, lower: [], title: [], upper: [], fold: 0x1E37, foldFull: [0x1E37] }, + { code: 0x1E38, lower: [], title: [], upper: [], fold: 0x1E39, foldFull: [0x1E39] }, + { code: 0x1E3A, lower: [], title: [], upper: [], fold: 0x1E3B, foldFull: [0x1E3B] }, + { code: 0x1E3C, lower: [], title: [], upper: [], fold: 0x1E3D, foldFull: [0x1E3D] }, + { code: 0x1E3E, lower: [], title: [], upper: [], fold: 0x1E3F, foldFull: [0x1E3F] }, + { code: 0x1E40, lower: [], title: [], upper: [], fold: 0x1E41, foldFull: [0x1E41] }, + { code: 0x1E42, lower: [], title: [], upper: [], fold: 0x1E43, foldFull: [0x1E43] }, + { code: 0x1E44, lower: [], title: [], upper: [], fold: 0x1E45, foldFull: [0x1E45] }, + { code: 0x1E46, lower: [], title: [], upper: [], fold: 0x1E47, foldFull: [0x1E47] }, + { code: 0x1E48, lower: [], title: [], upper: [], fold: 0x1E49, foldFull: [0x1E49] }, + { code: 0x1E4A, lower: [], title: [], upper: [], fold: 0x1E4B, foldFull: [0x1E4B] }, + { code: 0x1E4C, lower: [], title: [], upper: [], fold: 0x1E4D, foldFull: [0x1E4D] }, + { code: 0x1E4E, lower: [], title: [], upper: [], fold: 0x1E4F, foldFull: [0x1E4F] }, + { code: 0x1E50, lower: [], title: [], upper: [], fold: 0x1E51, foldFull: [0x1E51] }, + { code: 0x1E52, lower: [], title: [], upper: [], fold: 0x1E53, foldFull: [0x1E53] }, + { code: 0x1E54, lower: [], title: [], upper: [], fold: 0x1E55, foldFull: [0x1E55] }, + { code: 0x1E56, lower: [], title: [], upper: [], fold: 0x1E57, foldFull: [0x1E57] }, + { code: 0x1E58, lower: [], title: [], upper: [], fold: 0x1E59, foldFull: [0x1E59] }, + { code: 0x1E5A, lower: [], title: [], upper: [], fold: 0x1E5B, foldFull: [0x1E5B] }, + { code: 0x1E5C, lower: [], title: [], upper: [], fold: 0x1E5D, foldFull: [0x1E5D] }, + { code: 0x1E5E, lower: [], title: [], upper: [], fold: 0x1E5F, foldFull: [0x1E5F] }, + { code: 0x1E60, lower: [], title: [], upper: [], fold: 0x1E61, foldFull: [0x1E61] }, + { code: 0x1E62, lower: [], title: [], upper: [], fold: 0x1E63, foldFull: [0x1E63] }, + { code: 0x1E64, lower: [], title: [], upper: [], fold: 0x1E65, foldFull: [0x1E65] }, + { code: 0x1E66, lower: [], title: [], upper: [], fold: 0x1E67, foldFull: [0x1E67] }, + { code: 0x1E68, lower: [], title: [], upper: [], fold: 0x1E69, foldFull: [0x1E69] }, + { code: 0x1E6A, lower: [], title: [], upper: [], fold: 0x1E6B, foldFull: [0x1E6B] }, + { code: 0x1E6C, lower: [], title: [], upper: [], fold: 0x1E6D, foldFull: [0x1E6D] }, + { code: 0x1E6E, lower: [], title: [], upper: [], fold: 0x1E6F, foldFull: [0x1E6F] }, + { code: 0x1E70, lower: [], title: [], upper: [], fold: 0x1E71, foldFull: [0x1E71] }, + { code: 0x1E72, lower: [], title: [], upper: [], fold: 0x1E73, foldFull: [0x1E73] }, + { code: 0x1E74, lower: [], title: [], upper: [], fold: 0x1E75, foldFull: [0x1E75] }, + { code: 0x1E76, lower: [], title: [], upper: [], fold: 0x1E77, foldFull: [0x1E77] }, + { code: 0x1E78, lower: [], title: [], upper: [], fold: 0x1E79, foldFull: [0x1E79] }, + { code: 0x1E7A, lower: [], title: [], upper: [], fold: 0x1E7B, foldFull: [0x1E7B] }, + { code: 0x1E7C, lower: [], title: [], upper: [], fold: 0x1E7D, foldFull: [0x1E7D] }, + { code: 0x1E7E, lower: [], title: [], upper: [], fold: 0x1E7F, foldFull: [0x1E7F] }, + { code: 0x1E80, lower: [], title: [], upper: [], fold: 0x1E81, foldFull: [0x1E81] }, + { code: 0x1E82, lower: [], title: [], upper: [], fold: 0x1E83, foldFull: [0x1E83] }, + { code: 0x1E84, lower: [], title: [], upper: [], fold: 0x1E85, foldFull: [0x1E85] }, + { code: 0x1E86, lower: [], title: [], upper: [], fold: 0x1E87, foldFull: [0x1E87] }, + { code: 0x1E88, lower: [], title: [], upper: [], fold: 0x1E89, foldFull: [0x1E89] }, + { code: 0x1E8A, lower: [], title: [], upper: [], fold: 0x1E8B, foldFull: [0x1E8B] }, + { code: 0x1E8C, lower: [], title: [], upper: [], fold: 0x1E8D, foldFull: [0x1E8D] }, + { code: 0x1E8E, lower: [], title: [], upper: [], fold: 0x1E8F, foldFull: [0x1E8F] }, + { code: 0x1E90, lower: [], title: [], upper: [], fold: 0x1E91, foldFull: [0x1E91] }, + { code: 0x1E92, lower: [], title: [], upper: [], fold: 0x1E93, foldFull: [0x1E93] }, + { code: 0x1E94, lower: [], title: [], upper: [], fold: 0x1E95, foldFull: [0x1E95] }, + { code: 0x1E96, lower: [0x1E96], title: [0x0048,0x0331], upper: [0x0048,0x0331], fold: 0, foldFull: [0x0068,0x0331] }, + { code: 0x1E96, lower: [0x1E96], title: [0x0048,0x0331], upper: [0x0048,0x0331], fold: 0, foldFull: [0x0068,0x0331] }, + { code: 0x1E97, lower: [0x1E97], title: [0x0054,0x0308], upper: [0x0054,0x0308], fold: 0, foldFull: [0x0074,0x0308] }, + { code: 0x1E97, lower: [0x1E97], title: [0x0054,0x0308], upper: [0x0054,0x0308], fold: 0, foldFull: [0x0074,0x0308] }, + { code: 0x1E98, lower: [0x1E98], title: [0x0057,0x030A], upper: [0x0057,0x030A], fold: 0, foldFull: [0x0077,0x030A] }, + { code: 0x1E98, lower: [0x1E98], title: [0x0057,0x030A], upper: [0x0057,0x030A], fold: 0, foldFull: [0x0077,0x030A] }, + { code: 0x1E99, lower: [0x1E99], title: [0x0059,0x030A], upper: [0x0059,0x030A], fold: 0, foldFull: [0x0079,0x030A] }, + { code: 0x1E99, lower: [0x1E99], title: [0x0059,0x030A], upper: [0x0059,0x030A], fold: 0, foldFull: [0x0079,0x030A] }, + { code: 0x1E9A, lower: [0x1E9A], title: [0x0041,0x02BE], upper: [0x0041,0x02BE], fold: 0, foldFull: [0x0061,0x02BE] }, + { code: 0x1E9A, lower: [0x1E9A], title: [0x0041,0x02BE], upper: [0x0041,0x02BE], fold: 0, foldFull: [0x0061,0x02BE] }, + { code: 0x1E9B, lower: [], title: [], upper: [], fold: 0x1E61, foldFull: [0x1E61] }, + { code: 0x1E9E, lower: [], title: [], upper: [], fold: 0x00DF, foldFull: [0x0073,0x0073] }, + { code: 0x1EA0, lower: [], title: [], upper: [], fold: 0x1EA1, foldFull: [0x1EA1] }, + { code: 0x1EA2, lower: [], title: [], upper: [], fold: 0x1EA3, foldFull: [0x1EA3] }, + { code: 0x1EA4, lower: [], title: [], upper: [], fold: 0x1EA5, foldFull: [0x1EA5] }, + { code: 0x1EA6, lower: [], title: [], upper: [], fold: 0x1EA7, foldFull: [0x1EA7] }, + { code: 0x1EA8, lower: [], title: [], upper: [], fold: 0x1EA9, foldFull: [0x1EA9] }, + { code: 0x1EAA, lower: [], title: [], upper: [], fold: 0x1EAB, foldFull: [0x1EAB] }, + { code: 0x1EAC, lower: [], title: [], upper: [], fold: 0x1EAD, foldFull: [0x1EAD] }, + { code: 0x1EAE, lower: [], title: [], upper: [], fold: 0x1EAF, foldFull: [0x1EAF] }, + { code: 0x1EB0, lower: [], title: [], upper: [], fold: 0x1EB1, foldFull: [0x1EB1] }, + { code: 0x1EB2, lower: [], title: [], upper: [], fold: 0x1EB3, foldFull: [0x1EB3] }, + { code: 0x1EB4, lower: [], title: [], upper: [], fold: 0x1EB5, foldFull: [0x1EB5] }, + { code: 0x1EB6, lower: [], title: [], upper: [], fold: 0x1EB7, foldFull: [0x1EB7] }, + { code: 0x1EB8, lower: [], title: [], upper: [], fold: 0x1EB9, foldFull: [0x1EB9] }, + { code: 0x1EBA, lower: [], title: [], upper: [], fold: 0x1EBB, foldFull: [0x1EBB] }, + { code: 0x1EBC, lower: [], title: [], upper: [], fold: 0x1EBD, foldFull: [0x1EBD] }, + { code: 0x1EBE, lower: [], title: [], upper: [], fold: 0x1EBF, foldFull: [0x1EBF] }, + { code: 0x1EC0, lower: [], title: [], upper: [], fold: 0x1EC1, foldFull: [0x1EC1] }, + { code: 0x1EC2, lower: [], title: [], upper: [], fold: 0x1EC3, foldFull: [0x1EC3] }, + { code: 0x1EC4, lower: [], title: [], upper: [], fold: 0x1EC5, foldFull: [0x1EC5] }, + { code: 0x1EC6, lower: [], title: [], upper: [], fold: 0x1EC7, foldFull: [0x1EC7] }, + { code: 0x1EC8, lower: [], title: [], upper: [], fold: 0x1EC9, foldFull: [0x1EC9] }, + { code: 0x1ECA, lower: [], title: [], upper: [], fold: 0x1ECB, foldFull: [0x1ECB] }, + { code: 0x1ECC, lower: [], title: [], upper: [], fold: 0x1ECD, foldFull: [0x1ECD] }, + { code: 0x1ECE, lower: [], title: [], upper: [], fold: 0x1ECF, foldFull: [0x1ECF] }, + { code: 0x1ED0, lower: [], title: [], upper: [], fold: 0x1ED1, foldFull: [0x1ED1] }, + { code: 0x1ED2, lower: [], title: [], upper: [], fold: 0x1ED3, foldFull: [0x1ED3] }, + { code: 0x1ED4, lower: [], title: [], upper: [], fold: 0x1ED5, foldFull: [0x1ED5] }, + { code: 0x1ED6, lower: [], title: [], upper: [], fold: 0x1ED7, foldFull: [0x1ED7] }, + { code: 0x1ED8, lower: [], title: [], upper: [], fold: 0x1ED9, foldFull: [0x1ED9] }, + { code: 0x1EDA, lower: [], title: [], upper: [], fold: 0x1EDB, foldFull: [0x1EDB] }, + { code: 0x1EDC, lower: [], title: [], upper: [], fold: 0x1EDD, foldFull: [0x1EDD] }, + { code: 0x1EDE, lower: [], title: [], upper: [], fold: 0x1EDF, foldFull: [0x1EDF] }, + { code: 0x1EE0, lower: [], title: [], upper: [], fold: 0x1EE1, foldFull: [0x1EE1] }, + { code: 0x1EE2, lower: [], title: [], upper: [], fold: 0x1EE3, foldFull: [0x1EE3] }, + { code: 0x1EE4, lower: [], title: [], upper: [], fold: 0x1EE5, foldFull: [0x1EE5] }, + { code: 0x1EE6, lower: [], title: [], upper: [], fold: 0x1EE7, foldFull: [0x1EE7] }, + { code: 0x1EE8, lower: [], title: [], upper: [], fold: 0x1EE9, foldFull: [0x1EE9] }, + { code: 0x1EEA, lower: [], title: [], upper: [], fold: 0x1EEB, foldFull: [0x1EEB] }, + { code: 0x1EEC, lower: [], title: [], upper: [], fold: 0x1EED, foldFull: [0x1EED] }, + { code: 0x1EEE, lower: [], title: [], upper: [], fold: 0x1EEF, foldFull: [0x1EEF] }, + { code: 0x1EF0, lower: [], title: [], upper: [], fold: 0x1EF1, foldFull: [0x1EF1] }, + { code: 0x1EF2, lower: [], title: [], upper: [], fold: 0x1EF3, foldFull: [0x1EF3] }, + { code: 0x1EF4, lower: [], title: [], upper: [], fold: 0x1EF5, foldFull: [0x1EF5] }, + { code: 0x1EF6, lower: [], title: [], upper: [], fold: 0x1EF7, foldFull: [0x1EF7] }, + { code: 0x1EF8, lower: [], title: [], upper: [], fold: 0x1EF9, foldFull: [0x1EF9] }, + { code: 0x1EFA, lower: [], title: [], upper: [], fold: 0x1EFB, foldFull: [0x1EFB] }, + { code: 0x1EFC, lower: [], title: [], upper: [], fold: 0x1EFD, foldFull: [0x1EFD] }, + { code: 0x1EFE, lower: [], title: [], upper: [], fold: 0x1EFF, foldFull: [0x1EFF] }, + { code: 0x1F08, lower: [], title: [], upper: [], fold: 0x1F00, foldFull: [0x1F00] }, + { code: 0x1F09, lower: [], title: [], upper: [], fold: 0x1F01, foldFull: [0x1F01] }, + { code: 0x1F0A, lower: [], title: [], upper: [], fold: 0x1F02, foldFull: [0x1F02] }, + { code: 0x1F0B, lower: [], title: [], upper: [], fold: 0x1F03, foldFull: [0x1F03] }, + { code: 0x1F0C, lower: [], title: [], upper: [], fold: 0x1F04, foldFull: [0x1F04] }, + { code: 0x1F0D, lower: [], title: [], upper: [], fold: 0x1F05, foldFull: [0x1F05] }, + { code: 0x1F0E, lower: [], title: [], upper: [], fold: 0x1F06, foldFull: [0x1F06] }, + { code: 0x1F0F, lower: [], title: [], upper: [], fold: 0x1F07, foldFull: [0x1F07] }, + { code: 0x1F18, lower: [], title: [], upper: [], fold: 0x1F10, foldFull: [0x1F10] }, + { code: 0x1F19, lower: [], title: [], upper: [], fold: 0x1F11, foldFull: [0x1F11] }, + { code: 0x1F1A, lower: [], title: [], upper: [], fold: 0x1F12, foldFull: [0x1F12] }, + { code: 0x1F1B, lower: [], title: [], upper: [], fold: 0x1F13, foldFull: [0x1F13] }, + { code: 0x1F1C, lower: [], title: [], upper: [], fold: 0x1F14, foldFull: [0x1F14] }, + { code: 0x1F1D, lower: [], title: [], upper: [], fold: 0x1F15, foldFull: [0x1F15] }, + { code: 0x1F28, lower: [], title: [], upper: [], fold: 0x1F20, foldFull: [0x1F20] }, + { code: 0x1F29, lower: [], title: [], upper: [], fold: 0x1F21, foldFull: [0x1F21] }, + { code: 0x1F2A, lower: [], title: [], upper: [], fold: 0x1F22, foldFull: [0x1F22] }, + { code: 0x1F2B, lower: [], title: [], upper: [], fold: 0x1F23, foldFull: [0x1F23] }, + { code: 0x1F2C, lower: [], title: [], upper: [], fold: 0x1F24, foldFull: [0x1F24] }, + { code: 0x1F2D, lower: [], title: [], upper: [], fold: 0x1F25, foldFull: [0x1F25] }, + { code: 0x1F2E, lower: [], title: [], upper: [], fold: 0x1F26, foldFull: [0x1F26] }, + { code: 0x1F2F, lower: [], title: [], upper: [], fold: 0x1F27, foldFull: [0x1F27] }, + { code: 0x1F38, lower: [], title: [], upper: [], fold: 0x1F30, foldFull: [0x1F30] }, + { code: 0x1F39, lower: [], title: [], upper: [], fold: 0x1F31, foldFull: [0x1F31] }, + { code: 0x1F3A, lower: [], title: [], upper: [], fold: 0x1F32, foldFull: [0x1F32] }, + { code: 0x1F3B, lower: [], title: [], upper: [], fold: 0x1F33, foldFull: [0x1F33] }, + { code: 0x1F3C, lower: [], title: [], upper: [], fold: 0x1F34, foldFull: [0x1F34] }, + { code: 0x1F3D, lower: [], title: [], upper: [], fold: 0x1F35, foldFull: [0x1F35] }, + { code: 0x1F3E, lower: [], title: [], upper: [], fold: 0x1F36, foldFull: [0x1F36] }, + { code: 0x1F3F, lower: [], title: [], upper: [], fold: 0x1F37, foldFull: [0x1F37] }, + { code: 0x1F48, lower: [], title: [], upper: [], fold: 0x1F40, foldFull: [0x1F40] }, + { code: 0x1F49, lower: [], title: [], upper: [], fold: 0x1F41, foldFull: [0x1F41] }, + { code: 0x1F4A, lower: [], title: [], upper: [], fold: 0x1F42, foldFull: [0x1F42] }, + { code: 0x1F4B, lower: [], title: [], upper: [], fold: 0x1F43, foldFull: [0x1F43] }, + { code: 0x1F4C, lower: [], title: [], upper: [], fold: 0x1F44, foldFull: [0x1F44] }, + { code: 0x1F4D, lower: [], title: [], upper: [], fold: 0x1F45, foldFull: [0x1F45] }, + { code: 0x1F50, lower: [0x1F50], title: [0x03A5,0x0313], upper: [0x03A5,0x0313], fold: 0, foldFull: [0x03C5,0x0313] }, + { code: 0x1F50, lower: [0x1F50], title: [0x03A5,0x0313], upper: [0x03A5,0x0313], fold: 0, foldFull: [0x03C5,0x0313] }, + { code: 0x1F52, lower: [0x1F52], title: [0x03A5,0x0313,0x0300], upper: [0x03A5,0x0313,0x0300], fold: 0, foldFull: [0x03C5,0x0313,0x0300] }, + { code: 0x1F52, lower: [0x1F52], title: [0x03A5,0x0313,0x0300], upper: [0x03A5,0x0313,0x0300], fold: 0, foldFull: [0x03C5,0x0313,0x0300] }, + { code: 0x1F54, lower: [0x1F54], title: [0x03A5,0x0313,0x0301], upper: [0x03A5,0x0313,0x0301], fold: 0, foldFull: [0x03C5,0x0313,0x0301] }, + { code: 0x1F54, lower: [0x1F54], title: [0x03A5,0x0313,0x0301], upper: [0x03A5,0x0313,0x0301], fold: 0, foldFull: [0x03C5,0x0313,0x0301] }, + { code: 0x1F56, lower: [0x1F56], title: [0x03A5,0x0313,0x0342], upper: [0x03A5,0x0313,0x0342], fold: 0, foldFull: [0x03C5,0x0313,0x0342] }, + { code: 0x1F56, lower: [0x1F56], title: [0x03A5,0x0313,0x0342], upper: [0x03A5,0x0313,0x0342], fold: 0, foldFull: [0x03C5,0x0313,0x0342] }, + { code: 0x1F59, lower: [], title: [], upper: [], fold: 0x1F51, foldFull: [0x1F51] }, + { code: 0x1F5B, lower: [], title: [], upper: [], fold: 0x1F53, foldFull: [0x1F53] }, + { code: 0x1F5D, lower: [], title: [], upper: [], fold: 0x1F55, foldFull: [0x1F55] }, + { code: 0x1F5F, lower: [], title: [], upper: [], fold: 0x1F57, foldFull: [0x1F57] }, + { code: 0x1F68, lower: [], title: [], upper: [], fold: 0x1F60, foldFull: [0x1F60] }, + { code: 0x1F69, lower: [], title: [], upper: [], fold: 0x1F61, foldFull: [0x1F61] }, + { code: 0x1F6A, lower: [], title: [], upper: [], fold: 0x1F62, foldFull: [0x1F62] }, + { code: 0x1F6B, lower: [], title: [], upper: [], fold: 0x1F63, foldFull: [0x1F63] }, + { code: 0x1F6C, lower: [], title: [], upper: [], fold: 0x1F64, foldFull: [0x1F64] }, + { code: 0x1F6D, lower: [], title: [], upper: [], fold: 0x1F65, foldFull: [0x1F65] }, + { code: 0x1F6E, lower: [], title: [], upper: [], fold: 0x1F66, foldFull: [0x1F66] }, + { code: 0x1F6F, lower: [], title: [], upper: [], fold: 0x1F67, foldFull: [0x1F67] }, + { code: 0x1F80, lower: [0x1F80], title: [0x1F88], upper: [0x1F08,0x0399], fold: 0, foldFull: [0x1F00,0x03B9] }, + { code: 0x1F80, lower: [0x1F80], title: [0x1F88], upper: [0x1F08,0x0399], fold: 0, foldFull: [0x1F00,0x03B9] }, + { code: 0x1F81, lower: [0x1F81], title: [0x1F89], upper: [0x1F09,0x0399], fold: 0, foldFull: [0x1F01,0x03B9] }, + { code: 0x1F81, lower: [0x1F81], title: [0x1F89], upper: [0x1F09,0x0399], fold: 0, foldFull: [0x1F01,0x03B9] }, + { code: 0x1F82, lower: [0x1F82], title: [0x1F8A], upper: [0x1F0A,0x0399], fold: 0, foldFull: [0x1F02,0x03B9] }, + { code: 0x1F82, lower: [0x1F82], title: [0x1F8A], upper: [0x1F0A,0x0399], fold: 0, foldFull: [0x1F02,0x03B9] }, + { code: 0x1F83, lower: [0x1F83], title: [0x1F8B], upper: [0x1F0B,0x0399], fold: 0, foldFull: [0x1F03,0x03B9] }, + { code: 0x1F83, lower: [0x1F83], title: [0x1F8B], upper: [0x1F0B,0x0399], fold: 0, foldFull: [0x1F03,0x03B9] }, + { code: 0x1F84, lower: [0x1F84], title: [0x1F8C], upper: [0x1F0C,0x0399], fold: 0, foldFull: [0x1F04,0x03B9] }, + { code: 0x1F84, lower: [0x1F84], title: [0x1F8C], upper: [0x1F0C,0x0399], fold: 0, foldFull: [0x1F04,0x03B9] }, + { code: 0x1F85, lower: [0x1F85], title: [0x1F8D], upper: [0x1F0D,0x0399], fold: 0, foldFull: [0x1F05,0x03B9] }, + { code: 0x1F85, lower: [0x1F85], title: [0x1F8D], upper: [0x1F0D,0x0399], fold: 0, foldFull: [0x1F05,0x03B9] }, + { code: 0x1F86, lower: [0x1F86], title: [0x1F8E], upper: [0x1F0E,0x0399], fold: 0, foldFull: [0x1F06,0x03B9] }, + { code: 0x1F86, lower: [0x1F86], title: [0x1F8E], upper: [0x1F0E,0x0399], fold: 0, foldFull: [0x1F06,0x03B9] }, + { code: 0x1F87, lower: [0x1F87], title: [0x1F8F], upper: [0x1F0F,0x0399], fold: 0, foldFull: [0x1F07,0x03B9] }, + { code: 0x1F87, lower: [0x1F87], title: [0x1F8F], upper: [0x1F0F,0x0399], fold: 0, foldFull: [0x1F07,0x03B9] }, + { code: 0x1F88, lower: [0x1F80], title: [0x1F88], upper: [0x1F08,0x0399], fold: 0x1F80, foldFull: [0x1F00,0x03B9] }, + { code: 0x1F88, lower: [0x1F80], title: [0x1F88], upper: [0x1F08,0x0399], fold: 0x1F80, foldFull: [0x1F00,0x03B9] }, + { code: 0x1F89, lower: [0x1F81], title: [0x1F89], upper: [0x1F09,0x0399], fold: 0x1F81, foldFull: [0x1F01,0x03B9] }, + { code: 0x1F89, lower: [0x1F81], title: [0x1F89], upper: [0x1F09,0x0399], fold: 0x1F81, foldFull: [0x1F01,0x03B9] }, + { code: 0x1F8A, lower: [0x1F82], title: [0x1F8A], upper: [0x1F0A,0x0399], fold: 0x1F82, foldFull: [0x1F02,0x03B9] }, + { code: 0x1F8A, lower: [0x1F82], title: [0x1F8A], upper: [0x1F0A,0x0399], fold: 0x1F82, foldFull: [0x1F02,0x03B9] }, + { code: 0x1F8B, lower: [0x1F83], title: [0x1F8B], upper: [0x1F0B,0x0399], fold: 0x1F83, foldFull: [0x1F03,0x03B9] }, + { code: 0x1F8B, lower: [0x1F83], title: [0x1F8B], upper: [0x1F0B,0x0399], fold: 0x1F83, foldFull: [0x1F03,0x03B9] }, + { code: 0x1F8C, lower: [0x1F84], title: [0x1F8C], upper: [0x1F0C,0x0399], fold: 0x1F84, foldFull: [0x1F04,0x03B9] }, + { code: 0x1F8C, lower: [0x1F84], title: [0x1F8C], upper: [0x1F0C,0x0399], fold: 0x1F84, foldFull: [0x1F04,0x03B9] }, + { code: 0x1F8D, lower: [0x1F85], title: [0x1F8D], upper: [0x1F0D,0x0399], fold: 0x1F85, foldFull: [0x1F05,0x03B9] }, + { code: 0x1F8D, lower: [0x1F85], title: [0x1F8D], upper: [0x1F0D,0x0399], fold: 0x1F85, foldFull: [0x1F05,0x03B9] }, + { code: 0x1F8E, lower: [0x1F86], title: [0x1F8E], upper: [0x1F0E,0x0399], fold: 0x1F86, foldFull: [0x1F06,0x03B9] }, + { code: 0x1F8E, lower: [0x1F86], title: [0x1F8E], upper: [0x1F0E,0x0399], fold: 0x1F86, foldFull: [0x1F06,0x03B9] }, + { code: 0x1F8F, lower: [0x1F87], title: [0x1F8F], upper: [0x1F0F,0x0399], fold: 0x1F87, foldFull: [0x1F07,0x03B9] }, + { code: 0x1F8F, lower: [0x1F87], title: [0x1F8F], upper: [0x1F0F,0x0399], fold: 0x1F87, foldFull: [0x1F07,0x03B9] }, + { code: 0x1F90, lower: [0x1F90], title: [0x1F98], upper: [0x1F28,0x0399], fold: 0, foldFull: [0x1F20,0x03B9] }, + { code: 0x1F90, lower: [0x1F90], title: [0x1F98], upper: [0x1F28,0x0399], fold: 0, foldFull: [0x1F20,0x03B9] }, + { code: 0x1F91, lower: [0x1F91], title: [0x1F99], upper: [0x1F29,0x0399], fold: 0, foldFull: [0x1F21,0x03B9] }, + { code: 0x1F91, lower: [0x1F91], title: [0x1F99], upper: [0x1F29,0x0399], fold: 0, foldFull: [0x1F21,0x03B9] }, + { code: 0x1F92, lower: [0x1F92], title: [0x1F9A], upper: [0x1F2A,0x0399], fold: 0, foldFull: [0x1F22,0x03B9] }, + { code: 0x1F92, lower: [0x1F92], title: [0x1F9A], upper: [0x1F2A,0x0399], fold: 0, foldFull: [0x1F22,0x03B9] }, + { code: 0x1F93, lower: [0x1F93], title: [0x1F9B], upper: [0x1F2B,0x0399], fold: 0, foldFull: [0x1F23,0x03B9] }, + { code: 0x1F93, lower: [0x1F93], title: [0x1F9B], upper: [0x1F2B,0x0399], fold: 0, foldFull: [0x1F23,0x03B9] }, + { code: 0x1F94, lower: [0x1F94], title: [0x1F9C], upper: [0x1F2C,0x0399], fold: 0, foldFull: [0x1F24,0x03B9] }, + { code: 0x1F94, lower: [0x1F94], title: [0x1F9C], upper: [0x1F2C,0x0399], fold: 0, foldFull: [0x1F24,0x03B9] }, + { code: 0x1F95, lower: [0x1F95], title: [0x1F9D], upper: [0x1F2D,0x0399], fold: 0, foldFull: [0x1F25,0x03B9] }, + { code: 0x1F95, lower: [0x1F95], title: [0x1F9D], upper: [0x1F2D,0x0399], fold: 0, foldFull: [0x1F25,0x03B9] }, + { code: 0x1F96, lower: [0x1F96], title: [0x1F9E], upper: [0x1F2E,0x0399], fold: 0, foldFull: [0x1F26,0x03B9] }, + { code: 0x1F96, lower: [0x1F96], title: [0x1F9E], upper: [0x1F2E,0x0399], fold: 0, foldFull: [0x1F26,0x03B9] }, + { code: 0x1F97, lower: [0x1F97], title: [0x1F9F], upper: [0x1F2F,0x0399], fold: 0, foldFull: [0x1F27,0x03B9] }, + { code: 0x1F97, lower: [0x1F97], title: [0x1F9F], upper: [0x1F2F,0x0399], fold: 0, foldFull: [0x1F27,0x03B9] }, + { code: 0x1F98, lower: [0x1F90], title: [0x1F98], upper: [0x1F28,0x0399], fold: 0x1F90, foldFull: [0x1F20,0x03B9] }, + { code: 0x1F98, lower: [0x1F90], title: [0x1F98], upper: [0x1F28,0x0399], fold: 0x1F90, foldFull: [0x1F20,0x03B9] }, + { code: 0x1F99, lower: [0x1F91], title: [0x1F99], upper: [0x1F29,0x0399], fold: 0x1F91, foldFull: [0x1F21,0x03B9] }, + { code: 0x1F99, lower: [0x1F91], title: [0x1F99], upper: [0x1F29,0x0399], fold: 0x1F91, foldFull: [0x1F21,0x03B9] }, + { code: 0x1F9A, lower: [0x1F92], title: [0x1F9A], upper: [0x1F2A,0x0399], fold: 0x1F92, foldFull: [0x1F22,0x03B9] }, + { code: 0x1F9A, lower: [0x1F92], title: [0x1F9A], upper: [0x1F2A,0x0399], fold: 0x1F92, foldFull: [0x1F22,0x03B9] }, + { code: 0x1F9B, lower: [0x1F93], title: [0x1F9B], upper: [0x1F2B,0x0399], fold: 0x1F93, foldFull: [0x1F23,0x03B9] }, + { code: 0x1F9B, lower: [0x1F93], title: [0x1F9B], upper: [0x1F2B,0x0399], fold: 0x1F93, foldFull: [0x1F23,0x03B9] }, + { code: 0x1F9C, lower: [0x1F94], title: [0x1F9C], upper: [0x1F2C,0x0399], fold: 0x1F94, foldFull: [0x1F24,0x03B9] }, + { code: 0x1F9C, lower: [0x1F94], title: [0x1F9C], upper: [0x1F2C,0x0399], fold: 0x1F94, foldFull: [0x1F24,0x03B9] }, + { code: 0x1F9D, lower: [0x1F95], title: [0x1F9D], upper: [0x1F2D,0x0399], fold: 0x1F95, foldFull: [0x1F25,0x03B9] }, + { code: 0x1F9D, lower: [0x1F95], title: [0x1F9D], upper: [0x1F2D,0x0399], fold: 0x1F95, foldFull: [0x1F25,0x03B9] }, + { code: 0x1F9E, lower: [0x1F96], title: [0x1F9E], upper: [0x1F2E,0x0399], fold: 0x1F96, foldFull: [0x1F26,0x03B9] }, + { code: 0x1F9E, lower: [0x1F96], title: [0x1F9E], upper: [0x1F2E,0x0399], fold: 0x1F96, foldFull: [0x1F26,0x03B9] }, + { code: 0x1F9F, lower: [0x1F97], title: [0x1F9F], upper: [0x1F2F,0x0399], fold: 0x1F97, foldFull: [0x1F27,0x03B9] }, + { code: 0x1F9F, lower: [0x1F97], title: [0x1F9F], upper: [0x1F2F,0x0399], fold: 0x1F97, foldFull: [0x1F27,0x03B9] }, + { code: 0x1FA0, lower: [0x1FA0], title: [0x1FA8], upper: [0x1F68,0x0399], fold: 0, foldFull: [0x1F60,0x03B9] }, + { code: 0x1FA0, lower: [0x1FA0], title: [0x1FA8], upper: [0x1F68,0x0399], fold: 0, foldFull: [0x1F60,0x03B9] }, + { code: 0x1FA1, lower: [0x1FA1], title: [0x1FA9], upper: [0x1F69,0x0399], fold: 0, foldFull: [0x1F61,0x03B9] }, + { code: 0x1FA1, lower: [0x1FA1], title: [0x1FA9], upper: [0x1F69,0x0399], fold: 0, foldFull: [0x1F61,0x03B9] }, + { code: 0x1FA2, lower: [0x1FA2], title: [0x1FAA], upper: [0x1F6A,0x0399], fold: 0, foldFull: [0x1F62,0x03B9] }, + { code: 0x1FA2, lower: [0x1FA2], title: [0x1FAA], upper: [0x1F6A,0x0399], fold: 0, foldFull: [0x1F62,0x03B9] }, + { code: 0x1FA3, lower: [0x1FA3], title: [0x1FAB], upper: [0x1F6B,0x0399], fold: 0, foldFull: [0x1F63,0x03B9] }, + { code: 0x1FA3, lower: [0x1FA3], title: [0x1FAB], upper: [0x1F6B,0x0399], fold: 0, foldFull: [0x1F63,0x03B9] }, + { code: 0x1FA4, lower: [0x1FA4], title: [0x1FAC], upper: [0x1F6C,0x0399], fold: 0, foldFull: [0x1F64,0x03B9] }, + { code: 0x1FA4, lower: [0x1FA4], title: [0x1FAC], upper: [0x1F6C,0x0399], fold: 0, foldFull: [0x1F64,0x03B9] }, + { code: 0x1FA5, lower: [0x1FA5], title: [0x1FAD], upper: [0x1F6D,0x0399], fold: 0, foldFull: [0x1F65,0x03B9] }, + { code: 0x1FA5, lower: [0x1FA5], title: [0x1FAD], upper: [0x1F6D,0x0399], fold: 0, foldFull: [0x1F65,0x03B9] }, + { code: 0x1FA6, lower: [0x1FA6], title: [0x1FAE], upper: [0x1F6E,0x0399], fold: 0, foldFull: [0x1F66,0x03B9] }, + { code: 0x1FA6, lower: [0x1FA6], title: [0x1FAE], upper: [0x1F6E,0x0399], fold: 0, foldFull: [0x1F66,0x03B9] }, + { code: 0x1FA7, lower: [0x1FA7], title: [0x1FAF], upper: [0x1F6F,0x0399], fold: 0, foldFull: [0x1F67,0x03B9] }, + { code: 0x1FA7, lower: [0x1FA7], title: [0x1FAF], upper: [0x1F6F,0x0399], fold: 0, foldFull: [0x1F67,0x03B9] }, + { code: 0x1FA8, lower: [0x1FA0], title: [0x1FA8], upper: [0x1F68,0x0399], fold: 0x1FA0, foldFull: [0x1F60,0x03B9] }, + { code: 0x1FA8, lower: [0x1FA0], title: [0x1FA8], upper: [0x1F68,0x0399], fold: 0x1FA0, foldFull: [0x1F60,0x03B9] }, + { code: 0x1FA9, lower: [0x1FA1], title: [0x1FA9], upper: [0x1F69,0x0399], fold: 0x1FA1, foldFull: [0x1F61,0x03B9] }, + { code: 0x1FA9, lower: [0x1FA1], title: [0x1FA9], upper: [0x1F69,0x0399], fold: 0x1FA1, foldFull: [0x1F61,0x03B9] }, + { code: 0x1FAA, lower: [0x1FA2], title: [0x1FAA], upper: [0x1F6A,0x0399], fold: 0x1FA2, foldFull: [0x1F62,0x03B9] }, + { code: 0x1FAA, lower: [0x1FA2], title: [0x1FAA], upper: [0x1F6A,0x0399], fold: 0x1FA2, foldFull: [0x1F62,0x03B9] }, + { code: 0x1FAB, lower: [0x1FA3], title: [0x1FAB], upper: [0x1F6B,0x0399], fold: 0x1FA3, foldFull: [0x1F63,0x03B9] }, + { code: 0x1FAB, lower: [0x1FA3], title: [0x1FAB], upper: [0x1F6B,0x0399], fold: 0x1FA3, foldFull: [0x1F63,0x03B9] }, + { code: 0x1FAC, lower: [0x1FA4], title: [0x1FAC], upper: [0x1F6C,0x0399], fold: 0x1FA4, foldFull: [0x1F64,0x03B9] }, + { code: 0x1FAC, lower: [0x1FA4], title: [0x1FAC], upper: [0x1F6C,0x0399], fold: 0x1FA4, foldFull: [0x1F64,0x03B9] }, + { code: 0x1FAD, lower: [0x1FA5], title: [0x1FAD], upper: [0x1F6D,0x0399], fold: 0x1FA5, foldFull: [0x1F65,0x03B9] }, + { code: 0x1FAD, lower: [0x1FA5], title: [0x1FAD], upper: [0x1F6D,0x0399], fold: 0x1FA5, foldFull: [0x1F65,0x03B9] }, + { code: 0x1FAE, lower: [0x1FA6], title: [0x1FAE], upper: [0x1F6E,0x0399], fold: 0x1FA6, foldFull: [0x1F66,0x03B9] }, + { code: 0x1FAE, lower: [0x1FA6], title: [0x1FAE], upper: [0x1F6E,0x0399], fold: 0x1FA6, foldFull: [0x1F66,0x03B9] }, + { code: 0x1FAF, lower: [0x1FA7], title: [0x1FAF], upper: [0x1F6F,0x0399], fold: 0x1FA7, foldFull: [0x1F67,0x03B9] }, + { code: 0x1FAF, lower: [0x1FA7], title: [0x1FAF], upper: [0x1F6F,0x0399], fold: 0x1FA7, foldFull: [0x1F67,0x03B9] }, + { code: 0x1FB2, lower: [0x1FB2], title: [0x1FBA,0x0345], upper: [0x1FBA,0x0399], fold: 0, foldFull: [0x1F70,0x03B9] }, + { code: 0x1FB2, lower: [0x1FB2], title: [0x1FBA,0x0345], upper: [0x1FBA,0x0399], fold: 0, foldFull: [0x1F70,0x03B9] }, + { code: 0x1FB3, lower: [0x1FB3], title: [0x1FBC], upper: [0x0391,0x0399], fold: 0, foldFull: [0x03B1,0x03B9] }, + { code: 0x1FB3, lower: [0x1FB3], title: [0x1FBC], upper: [0x0391,0x0399], fold: 0, foldFull: [0x03B1,0x03B9] }, + { code: 0x1FB4, lower: [0x1FB4], title: [0x0386,0x0345], upper: [0x0386,0x0399], fold: 0, foldFull: [0x03AC,0x03B9] }, + { code: 0x1FB4, lower: [0x1FB4], title: [0x0386,0x0345], upper: [0x0386,0x0399], fold: 0, foldFull: [0x03AC,0x03B9] }, + { code: 0x1FB6, lower: [0x1FB6], title: [0x0391,0x0342], upper: [0x0391,0x0342], fold: 0, foldFull: [0x03B1,0x0342] }, + { code: 0x1FB6, lower: [0x1FB6], title: [0x0391,0x0342], upper: [0x0391,0x0342], fold: 0, foldFull: [0x03B1,0x0342] }, + { code: 0x1FB7, lower: [0x1FB7], title: [0x0391,0x0342,0x0345], upper: [0x0391,0x0342,0x0399], fold: 0, foldFull: [0x03B1,0x0342,0x03B9] }, + { code: 0x1FB7, lower: [0x1FB7], title: [0x0391,0x0342,0x0345], upper: [0x0391,0x0342,0x0399], fold: 0, foldFull: [0x03B1,0x0342,0x03B9] }, + { code: 0x1FB8, lower: [], title: [], upper: [], fold: 0x1FB0, foldFull: [0x1FB0] }, + { code: 0x1FB9, lower: [], title: [], upper: [], fold: 0x1FB1, foldFull: [0x1FB1] }, + { code: 0x1FBA, lower: [], title: [], upper: [], fold: 0x1F70, foldFull: [0x1F70] }, + { code: 0x1FBB, lower: [], title: [], upper: [], fold: 0x1F71, foldFull: [0x1F71] }, + { code: 0x1FBC, lower: [0x1FB3], title: [0x1FBC], upper: [0x0391,0x0399], fold: 0x1FB3, foldFull: [0x03B1,0x03B9] }, + { code: 0x1FBC, lower: [0x1FB3], title: [0x1FBC], upper: [0x0391,0x0399], fold: 0x1FB3, foldFull: [0x03B1,0x03B9] }, + { code: 0x1FBE, lower: [], title: [], upper: [], fold: 0x03B9, foldFull: [0x03B9] }, + { code: 0x1FC2, lower: [0x1FC2], title: [0x1FCA,0x0345], upper: [0x1FCA,0x0399], fold: 0, foldFull: [0x1F74,0x03B9] }, + { code: 0x1FC2, lower: [0x1FC2], title: [0x1FCA,0x0345], upper: [0x1FCA,0x0399], fold: 0, foldFull: [0x1F74,0x03B9] }, + { code: 0x1FC3, lower: [0x1FC3], title: [0x1FCC], upper: [0x0397,0x0399], fold: 0, foldFull: [0x03B7,0x03B9] }, + { code: 0x1FC3, lower: [0x1FC3], title: [0x1FCC], upper: [0x0397,0x0399], fold: 0, foldFull: [0x03B7,0x03B9] }, + { code: 0x1FC4, lower: [0x1FC4], title: [0x0389,0x0345], upper: [0x0389,0x0399], fold: 0, foldFull: [0x03AE,0x03B9] }, + { code: 0x1FC4, lower: [0x1FC4], title: [0x0389,0x0345], upper: [0x0389,0x0399], fold: 0, foldFull: [0x03AE,0x03B9] }, + { code: 0x1FC6, lower: [0x1FC6], title: [0x0397,0x0342], upper: [0x0397,0x0342], fold: 0, foldFull: [0x03B7,0x0342] }, + { code: 0x1FC6, lower: [0x1FC6], title: [0x0397,0x0342], upper: [0x0397,0x0342], fold: 0, foldFull: [0x03B7,0x0342] }, + { code: 0x1FC7, lower: [0x1FC7], title: [0x0397,0x0342,0x0345], upper: [0x0397,0x0342,0x0399], fold: 0, foldFull: [0x03B7,0x0342,0x03B9] }, + { code: 0x1FC7, lower: [0x1FC7], title: [0x0397,0x0342,0x0345], upper: [0x0397,0x0342,0x0399], fold: 0, foldFull: [0x03B7,0x0342,0x03B9] }, + { code: 0x1FC8, lower: [], title: [], upper: [], fold: 0x1F72, foldFull: [0x1F72] }, + { code: 0x1FC9, lower: [], title: [], upper: [], fold: 0x1F73, foldFull: [0x1F73] }, + { code: 0x1FCA, lower: [], title: [], upper: [], fold: 0x1F74, foldFull: [0x1F74] }, + { code: 0x1FCB, lower: [], title: [], upper: [], fold: 0x1F75, foldFull: [0x1F75] }, + { code: 0x1FCC, lower: [0x1FC3], title: [0x1FCC], upper: [0x0397,0x0399], fold: 0x1FC3, foldFull: [0x03B7,0x03B9] }, + { code: 0x1FCC, lower: [0x1FC3], title: [0x1FCC], upper: [0x0397,0x0399], fold: 0x1FC3, foldFull: [0x03B7,0x03B9] }, + { code: 0x1FD2, lower: [0x1FD2], title: [0x0399,0x0308,0x0300], upper: [0x0399,0x0308,0x0300], fold: 0, foldFull: [0x03B9,0x0308,0x0300] }, + { code: 0x1FD2, lower: [0x1FD2], title: [0x0399,0x0308,0x0300], upper: [0x0399,0x0308,0x0300], fold: 0, foldFull: [0x03B9,0x0308,0x0300] }, + { code: 0x1FD3, lower: [0x1FD3], title: [0x0399,0x0308,0x0301], upper: [0x0399,0x0308,0x0301], fold: 0, foldFull: [0x03B9,0x0308,0x0301] }, + { code: 0x1FD3, lower: [0x1FD3], title: [0x0399,0x0308,0x0301], upper: [0x0399,0x0308,0x0301], fold: 0, foldFull: [0x03B9,0x0308,0x0301] }, + { code: 0x1FD6, lower: [0x1FD6], title: [0x0399,0x0342], upper: [0x0399,0x0342], fold: 0, foldFull: [0x03B9,0x0342] }, + { code: 0x1FD6, lower: [0x1FD6], title: [0x0399,0x0342], upper: [0x0399,0x0342], fold: 0, foldFull: [0x03B9,0x0342] }, + { code: 0x1FD7, lower: [0x1FD7], title: [0x0399,0x0308,0x0342], upper: [0x0399,0x0308,0x0342], fold: 0, foldFull: [0x03B9,0x0308,0x0342] }, + { code: 0x1FD7, lower: [0x1FD7], title: [0x0399,0x0308,0x0342], upper: [0x0399,0x0308,0x0342], fold: 0, foldFull: [0x03B9,0x0308,0x0342] }, + { code: 0x1FD8, lower: [], title: [], upper: [], fold: 0x1FD0, foldFull: [0x1FD0] }, + { code: 0x1FD9, lower: [], title: [], upper: [], fold: 0x1FD1, foldFull: [0x1FD1] }, + { code: 0x1FDA, lower: [], title: [], upper: [], fold: 0x1F76, foldFull: [0x1F76] }, + { code: 0x1FDB, lower: [], title: [], upper: [], fold: 0x1F77, foldFull: [0x1F77] }, + { code: 0x1FE2, lower: [0x1FE2], title: [0x03A5,0x0308,0x0300], upper: [0x03A5,0x0308,0x0300], fold: 0, foldFull: [0x03C5,0x0308,0x0300] }, + { code: 0x1FE2, lower: [0x1FE2], title: [0x03A5,0x0308,0x0300], upper: [0x03A5,0x0308,0x0300], fold: 0, foldFull: [0x03C5,0x0308,0x0300] }, + { code: 0x1FE3, lower: [0x1FE3], title: [0x03A5,0x0308,0x0301], upper: [0x03A5,0x0308,0x0301], fold: 0, foldFull: [0x03C5,0x0308,0x0301] }, + { code: 0x1FE3, lower: [0x1FE3], title: [0x03A5,0x0308,0x0301], upper: [0x03A5,0x0308,0x0301], fold: 0, foldFull: [0x03C5,0x0308,0x0301] }, + { code: 0x1FE4, lower: [0x1FE4], title: [0x03A1,0x0313], upper: [0x03A1,0x0313], fold: 0, foldFull: [0x03C1,0x0313] }, + { code: 0x1FE4, lower: [0x1FE4], title: [0x03A1,0x0313], upper: [0x03A1,0x0313], fold: 0, foldFull: [0x03C1,0x0313] }, + { code: 0x1FE6, lower: [0x1FE6], title: [0x03A5,0x0342], upper: [0x03A5,0x0342], fold: 0, foldFull: [0x03C5,0x0342] }, + { code: 0x1FE6, lower: [0x1FE6], title: [0x03A5,0x0342], upper: [0x03A5,0x0342], fold: 0, foldFull: [0x03C5,0x0342] }, + { code: 0x1FE7, lower: [0x1FE7], title: [0x03A5,0x0308,0x0342], upper: [0x03A5,0x0308,0x0342], fold: 0, foldFull: [0x03C5,0x0308,0x0342] }, + { code: 0x1FE7, lower: [0x1FE7], title: [0x03A5,0x0308,0x0342], upper: [0x03A5,0x0308,0x0342], fold: 0, foldFull: [0x03C5,0x0308,0x0342] }, + { code: 0x1FE8, lower: [], title: [], upper: [], fold: 0x1FE0, foldFull: [0x1FE0] }, + { code: 0x1FE9, lower: [], title: [], upper: [], fold: 0x1FE1, foldFull: [0x1FE1] }, + { code: 0x1FEA, lower: [], title: [], upper: [], fold: 0x1F7A, foldFull: [0x1F7A] }, + { code: 0x1FEB, lower: [], title: [], upper: [], fold: 0x1F7B, foldFull: [0x1F7B] }, + { code: 0x1FEC, lower: [], title: [], upper: [], fold: 0x1FE5, foldFull: [0x1FE5] }, + { code: 0x1FF2, lower: [0x1FF2], title: [0x1FFA,0x0345], upper: [0x1FFA,0x0399], fold: 0, foldFull: [0x1F7C,0x03B9] }, + { code: 0x1FF2, lower: [0x1FF2], title: [0x1FFA,0x0345], upper: [0x1FFA,0x0399], fold: 0, foldFull: [0x1F7C,0x03B9] }, + { code: 0x1FF3, lower: [0x1FF3], title: [0x1FFC], upper: [0x03A9,0x0399], fold: 0, foldFull: [0x03C9,0x03B9] }, + { code: 0x1FF3, lower: [0x1FF3], title: [0x1FFC], upper: [0x03A9,0x0399], fold: 0, foldFull: [0x03C9,0x03B9] }, + { code: 0x1FF4, lower: [0x1FF4], title: [0x038F,0x0345], upper: [0x038F,0x0399], fold: 0, foldFull: [0x03CE,0x03B9] }, + { code: 0x1FF4, lower: [0x1FF4], title: [0x038F,0x0345], upper: [0x038F,0x0399], fold: 0, foldFull: [0x03CE,0x03B9] }, + { code: 0x1FF6, lower: [0x1FF6], title: [0x03A9,0x0342], upper: [0x03A9,0x0342], fold: 0, foldFull: [0x03C9,0x0342] }, + { code: 0x1FF6, lower: [0x1FF6], title: [0x03A9,0x0342], upper: [0x03A9,0x0342], fold: 0, foldFull: [0x03C9,0x0342] }, + { code: 0x1FF7, lower: [0x1FF7], title: [0x03A9,0x0342,0x0345], upper: [0x03A9,0x0342,0x0399], fold: 0, foldFull: [0x03C9,0x0342,0x03B9] }, + { code: 0x1FF7, lower: [0x1FF7], title: [0x03A9,0x0342,0x0345], upper: [0x03A9,0x0342,0x0399], fold: 0, foldFull: [0x03C9,0x0342,0x03B9] }, + { code: 0x1FF8, lower: [], title: [], upper: [], fold: 0x1F78, foldFull: [0x1F78] }, + { code: 0x1FF9, lower: [], title: [], upper: [], fold: 0x1F79, foldFull: [0x1F79] }, + { code: 0x1FFA, lower: [], title: [], upper: [], fold: 0x1F7C, foldFull: [0x1F7C] }, + { code: 0x1FFB, lower: [], title: [], upper: [], fold: 0x1F7D, foldFull: [0x1F7D] }, + { code: 0x1FFC, lower: [0x1FF3], title: [0x1FFC], upper: [0x03A9,0x0399], fold: 0x1FF3, foldFull: [0x03C9,0x03B9] }, + { code: 0x1FFC, lower: [0x1FF3], title: [0x1FFC], upper: [0x03A9,0x0399], fold: 0x1FF3, foldFull: [0x03C9,0x03B9] }, + { code: 0x2126, lower: [], title: [], upper: [], fold: 0x03C9, foldFull: [0x03C9] }, + { code: 0x212A, lower: [], title: [], upper: [], fold: 0x006B, foldFull: [0x006B] }, + { code: 0x212B, lower: [], title: [], upper: [], fold: 0x00E5, foldFull: [0x00E5] }, + { code: 0x2132, lower: [], title: [], upper: [], fold: 0x214E, foldFull: [0x214E] }, + { code: 0x2160, lower: [], title: [], upper: [], fold: 0x2170, foldFull: [0x2170] }, + { code: 0x2161, lower: [], title: [], upper: [], fold: 0x2171, foldFull: [0x2171] }, + { code: 0x2162, lower: [], title: [], upper: [], fold: 0x2172, foldFull: [0x2172] }, + { code: 0x2163, lower: [], title: [], upper: [], fold: 0x2173, foldFull: [0x2173] }, + { code: 0x2164, lower: [], title: [], upper: [], fold: 0x2174, foldFull: [0x2174] }, + { code: 0x2165, lower: [], title: [], upper: [], fold: 0x2175, foldFull: [0x2175] }, + { code: 0x2166, lower: [], title: [], upper: [], fold: 0x2176, foldFull: [0x2176] }, + { code: 0x2167, lower: [], title: [], upper: [], fold: 0x2177, foldFull: [0x2177] }, + { code: 0x2168, lower: [], title: [], upper: [], fold: 0x2178, foldFull: [0x2178] }, + { code: 0x2169, lower: [], title: [], upper: [], fold: 0x2179, foldFull: [0x2179] }, + { code: 0x216A, lower: [], title: [], upper: [], fold: 0x217A, foldFull: [0x217A] }, + { code: 0x216B, lower: [], title: [], upper: [], fold: 0x217B, foldFull: [0x217B] }, + { code: 0x216C, lower: [], title: [], upper: [], fold: 0x217C, foldFull: [0x217C] }, + { code: 0x216D, lower: [], title: [], upper: [], fold: 0x217D, foldFull: [0x217D] }, + { code: 0x216E, lower: [], title: [], upper: [], fold: 0x217E, foldFull: [0x217E] }, + { code: 0x216F, lower: [], title: [], upper: [], fold: 0x217F, foldFull: [0x217F] }, + { code: 0x2183, lower: [], title: [], upper: [], fold: 0x2184, foldFull: [0x2184] }, + { code: 0x24B6, lower: [], title: [], upper: [], fold: 0x24D0, foldFull: [0x24D0] }, + { code: 0x24B7, lower: [], title: [], upper: [], fold: 0x24D1, foldFull: [0x24D1] }, + { code: 0x24B8, lower: [], title: [], upper: [], fold: 0x24D2, foldFull: [0x24D2] }, + { code: 0x24B9, lower: [], title: [], upper: [], fold: 0x24D3, foldFull: [0x24D3] }, + { code: 0x24BA, lower: [], title: [], upper: [], fold: 0x24D4, foldFull: [0x24D4] }, + { code: 0x24BB, lower: [], title: [], upper: [], fold: 0x24D5, foldFull: [0x24D5] }, + { code: 0x24BC, lower: [], title: [], upper: [], fold: 0x24D6, foldFull: [0x24D6] }, + { code: 0x24BD, lower: [], title: [], upper: [], fold: 0x24D7, foldFull: [0x24D7] }, + { code: 0x24BE, lower: [], title: [], upper: [], fold: 0x24D8, foldFull: [0x24D8] }, + { code: 0x24BF, lower: [], title: [], upper: [], fold: 0x24D9, foldFull: [0x24D9] }, + { code: 0x24C0, lower: [], title: [], upper: [], fold: 0x24DA, foldFull: [0x24DA] }, + { code: 0x24C1, lower: [], title: [], upper: [], fold: 0x24DB, foldFull: [0x24DB] }, + { code: 0x24C2, lower: [], title: [], upper: [], fold: 0x24DC, foldFull: [0x24DC] }, + { code: 0x24C3, lower: [], title: [], upper: [], fold: 0x24DD, foldFull: [0x24DD] }, + { code: 0x24C4, lower: [], title: [], upper: [], fold: 0x24DE, foldFull: [0x24DE] }, + { code: 0x24C5, lower: [], title: [], upper: [], fold: 0x24DF, foldFull: [0x24DF] }, + { code: 0x24C6, lower: [], title: [], upper: [], fold: 0x24E0, foldFull: [0x24E0] }, + { code: 0x24C7, lower: [], title: [], upper: [], fold: 0x24E1, foldFull: [0x24E1] }, + { code: 0x24C8, lower: [], title: [], upper: [], fold: 0x24E2, foldFull: [0x24E2] }, + { code: 0x24C9, lower: [], title: [], upper: [], fold: 0x24E3, foldFull: [0x24E3] }, + { code: 0x24CA, lower: [], title: [], upper: [], fold: 0x24E4, foldFull: [0x24E4] }, + { code: 0x24CB, lower: [], title: [], upper: [], fold: 0x24E5, foldFull: [0x24E5] }, + { code: 0x24CC, lower: [], title: [], upper: [], fold: 0x24E6, foldFull: [0x24E6] }, + { code: 0x24CD, lower: [], title: [], upper: [], fold: 0x24E7, foldFull: [0x24E7] }, + { code: 0x24CE, lower: [], title: [], upper: [], fold: 0x24E8, foldFull: [0x24E8] }, + { code: 0x24CF, lower: [], title: [], upper: [], fold: 0x24E9, foldFull: [0x24E9] }, + { code: 0x2C00, lower: [], title: [], upper: [], fold: 0x2C30, foldFull: [0x2C30] }, + { code: 0x2C01, lower: [], title: [], upper: [], fold: 0x2C31, foldFull: [0x2C31] }, + { code: 0x2C02, lower: [], title: [], upper: [], fold: 0x2C32, foldFull: [0x2C32] }, + { code: 0x2C03, lower: [], title: [], upper: [], fold: 0x2C33, foldFull: [0x2C33] }, + { code: 0x2C04, lower: [], title: [], upper: [], fold: 0x2C34, foldFull: [0x2C34] }, + { code: 0x2C05, lower: [], title: [], upper: [], fold: 0x2C35, foldFull: [0x2C35] }, + { code: 0x2C06, lower: [], title: [], upper: [], fold: 0x2C36, foldFull: [0x2C36] }, + { code: 0x2C07, lower: [], title: [], upper: [], fold: 0x2C37, foldFull: [0x2C37] }, + { code: 0x2C08, lower: [], title: [], upper: [], fold: 0x2C38, foldFull: [0x2C38] }, + { code: 0x2C09, lower: [], title: [], upper: [], fold: 0x2C39, foldFull: [0x2C39] }, + { code: 0x2C0A, lower: [], title: [], upper: [], fold: 0x2C3A, foldFull: [0x2C3A] }, + { code: 0x2C0B, lower: [], title: [], upper: [], fold: 0x2C3B, foldFull: [0x2C3B] }, + { code: 0x2C0C, lower: [], title: [], upper: [], fold: 0x2C3C, foldFull: [0x2C3C] }, + { code: 0x2C0D, lower: [], title: [], upper: [], fold: 0x2C3D, foldFull: [0x2C3D] }, + { code: 0x2C0E, lower: [], title: [], upper: [], fold: 0x2C3E, foldFull: [0x2C3E] }, + { code: 0x2C0F, lower: [], title: [], upper: [], fold: 0x2C3F, foldFull: [0x2C3F] }, + { code: 0x2C10, lower: [], title: [], upper: [], fold: 0x2C40, foldFull: [0x2C40] }, + { code: 0x2C11, lower: [], title: [], upper: [], fold: 0x2C41, foldFull: [0x2C41] }, + { code: 0x2C12, lower: [], title: [], upper: [], fold: 0x2C42, foldFull: [0x2C42] }, + { code: 0x2C13, lower: [], title: [], upper: [], fold: 0x2C43, foldFull: [0x2C43] }, + { code: 0x2C14, lower: [], title: [], upper: [], fold: 0x2C44, foldFull: [0x2C44] }, + { code: 0x2C15, lower: [], title: [], upper: [], fold: 0x2C45, foldFull: [0x2C45] }, + { code: 0x2C16, lower: [], title: [], upper: [], fold: 0x2C46, foldFull: [0x2C46] }, + { code: 0x2C17, lower: [], title: [], upper: [], fold: 0x2C47, foldFull: [0x2C47] }, + { code: 0x2C18, lower: [], title: [], upper: [], fold: 0x2C48, foldFull: [0x2C48] }, + { code: 0x2C19, lower: [], title: [], upper: [], fold: 0x2C49, foldFull: [0x2C49] }, + { code: 0x2C1A, lower: [], title: [], upper: [], fold: 0x2C4A, foldFull: [0x2C4A] }, + { code: 0x2C1B, lower: [], title: [], upper: [], fold: 0x2C4B, foldFull: [0x2C4B] }, + { code: 0x2C1C, lower: [], title: [], upper: [], fold: 0x2C4C, foldFull: [0x2C4C] }, + { code: 0x2C1D, lower: [], title: [], upper: [], fold: 0x2C4D, foldFull: [0x2C4D] }, + { code: 0x2C1E, lower: [], title: [], upper: [], fold: 0x2C4E, foldFull: [0x2C4E] }, + { code: 0x2C1F, lower: [], title: [], upper: [], fold: 0x2C4F, foldFull: [0x2C4F] }, + { code: 0x2C20, lower: [], title: [], upper: [], fold: 0x2C50, foldFull: [0x2C50] }, + { code: 0x2C21, lower: [], title: [], upper: [], fold: 0x2C51, foldFull: [0x2C51] }, + { code: 0x2C22, lower: [], title: [], upper: [], fold: 0x2C52, foldFull: [0x2C52] }, + { code: 0x2C23, lower: [], title: [], upper: [], fold: 0x2C53, foldFull: [0x2C53] }, + { code: 0x2C24, lower: [], title: [], upper: [], fold: 0x2C54, foldFull: [0x2C54] }, + { code: 0x2C25, lower: [], title: [], upper: [], fold: 0x2C55, foldFull: [0x2C55] }, + { code: 0x2C26, lower: [], title: [], upper: [], fold: 0x2C56, foldFull: [0x2C56] }, + { code: 0x2C27, lower: [], title: [], upper: [], fold: 0x2C57, foldFull: [0x2C57] }, + { code: 0x2C28, lower: [], title: [], upper: [], fold: 0x2C58, foldFull: [0x2C58] }, + { code: 0x2C29, lower: [], title: [], upper: [], fold: 0x2C59, foldFull: [0x2C59] }, + { code: 0x2C2A, lower: [], title: [], upper: [], fold: 0x2C5A, foldFull: [0x2C5A] }, + { code: 0x2C2B, lower: [], title: [], upper: [], fold: 0x2C5B, foldFull: [0x2C5B] }, + { code: 0x2C2C, lower: [], title: [], upper: [], fold: 0x2C5C, foldFull: [0x2C5C] }, + { code: 0x2C2D, lower: [], title: [], upper: [], fold: 0x2C5D, foldFull: [0x2C5D] }, + { code: 0x2C2E, lower: [], title: [], upper: [], fold: 0x2C5E, foldFull: [0x2C5E] }, + { code: 0x2C60, lower: [], title: [], upper: [], fold: 0x2C61, foldFull: [0x2C61] }, + { code: 0x2C62, lower: [], title: [], upper: [], fold: 0x026B, foldFull: [0x026B] }, + { code: 0x2C63, lower: [], title: [], upper: [], fold: 0x1D7D, foldFull: [0x1D7D] }, + { code: 0x2C64, lower: [], title: [], upper: [], fold: 0x027D, foldFull: [0x027D] }, + { code: 0x2C67, lower: [], title: [], upper: [], fold: 0x2C68, foldFull: [0x2C68] }, + { code: 0x2C69, lower: [], title: [], upper: [], fold: 0x2C6A, foldFull: [0x2C6A] }, + { code: 0x2C6B, lower: [], title: [], upper: [], fold: 0x2C6C, foldFull: [0x2C6C] }, + { code: 0x2C6D, lower: [], title: [], upper: [], fold: 0x0251, foldFull: [0x0251] }, + { code: 0x2C6E, lower: [], title: [], upper: [], fold: 0x0271, foldFull: [0x0271] }, + { code: 0x2C6F, lower: [], title: [], upper: [], fold: 0x0250, foldFull: [0x0250] }, + { code: 0x2C70, lower: [], title: [], upper: [], fold: 0x0252, foldFull: [0x0252] }, + { code: 0x2C72, lower: [], title: [], upper: [], fold: 0x2C73, foldFull: [0x2C73] }, + { code: 0x2C75, lower: [], title: [], upper: [], fold: 0x2C76, foldFull: [0x2C76] }, + { code: 0x2C7E, lower: [], title: [], upper: [], fold: 0x023F, foldFull: [0x023F] }, + { code: 0x2C7F, lower: [], title: [], upper: [], fold: 0x0240, foldFull: [0x0240] }, + { code: 0x2C80, lower: [], title: [], upper: [], fold: 0x2C81, foldFull: [0x2C81] }, + { code: 0x2C82, lower: [], title: [], upper: [], fold: 0x2C83, foldFull: [0x2C83] }, + { code: 0x2C84, lower: [], title: [], upper: [], fold: 0x2C85, foldFull: [0x2C85] }, + { code: 0x2C86, lower: [], title: [], upper: [], fold: 0x2C87, foldFull: [0x2C87] }, + { code: 0x2C88, lower: [], title: [], upper: [], fold: 0x2C89, foldFull: [0x2C89] }, + { code: 0x2C8A, lower: [], title: [], upper: [], fold: 0x2C8B, foldFull: [0x2C8B] }, + { code: 0x2C8C, lower: [], title: [], upper: [], fold: 0x2C8D, foldFull: [0x2C8D] }, + { code: 0x2C8E, lower: [], title: [], upper: [], fold: 0x2C8F, foldFull: [0x2C8F] }, + { code: 0x2C90, lower: [], title: [], upper: [], fold: 0x2C91, foldFull: [0x2C91] }, + { code: 0x2C92, lower: [], title: [], upper: [], fold: 0x2C93, foldFull: [0x2C93] }, + { code: 0x2C94, lower: [], title: [], upper: [], fold: 0x2C95, foldFull: [0x2C95] }, + { code: 0x2C96, lower: [], title: [], upper: [], fold: 0x2C97, foldFull: [0x2C97] }, + { code: 0x2C98, lower: [], title: [], upper: [], fold: 0x2C99, foldFull: [0x2C99] }, + { code: 0x2C9A, lower: [], title: [], upper: [], fold: 0x2C9B, foldFull: [0x2C9B] }, + { code: 0x2C9C, lower: [], title: [], upper: [], fold: 0x2C9D, foldFull: [0x2C9D] }, + { code: 0x2C9E, lower: [], title: [], upper: [], fold: 0x2C9F, foldFull: [0x2C9F] }, + { code: 0x2CA0, lower: [], title: [], upper: [], fold: 0x2CA1, foldFull: [0x2CA1] }, + { code: 0x2CA2, lower: [], title: [], upper: [], fold: 0x2CA3, foldFull: [0x2CA3] }, + { code: 0x2CA4, lower: [], title: [], upper: [], fold: 0x2CA5, foldFull: [0x2CA5] }, + { code: 0x2CA6, lower: [], title: [], upper: [], fold: 0x2CA7, foldFull: [0x2CA7] }, + { code: 0x2CA8, lower: [], title: [], upper: [], fold: 0x2CA9, foldFull: [0x2CA9] }, + { code: 0x2CAA, lower: [], title: [], upper: [], fold: 0x2CAB, foldFull: [0x2CAB] }, + { code: 0x2CAC, lower: [], title: [], upper: [], fold: 0x2CAD, foldFull: [0x2CAD] }, + { code: 0x2CAE, lower: [], title: [], upper: [], fold: 0x2CAF, foldFull: [0x2CAF] }, + { code: 0x2CB0, lower: [], title: [], upper: [], fold: 0x2CB1, foldFull: [0x2CB1] }, + { code: 0x2CB2, lower: [], title: [], upper: [], fold: 0x2CB3, foldFull: [0x2CB3] }, + { code: 0x2CB4, lower: [], title: [], upper: [], fold: 0x2CB5, foldFull: [0x2CB5] }, + { code: 0x2CB6, lower: [], title: [], upper: [], fold: 0x2CB7, foldFull: [0x2CB7] }, + { code: 0x2CB8, lower: [], title: [], upper: [], fold: 0x2CB9, foldFull: [0x2CB9] }, + { code: 0x2CBA, lower: [], title: [], upper: [], fold: 0x2CBB, foldFull: [0x2CBB] }, + { code: 0x2CBC, lower: [], title: [], upper: [], fold: 0x2CBD, foldFull: [0x2CBD] }, + { code: 0x2CBE, lower: [], title: [], upper: [], fold: 0x2CBF, foldFull: [0x2CBF] }, + { code: 0x2CC0, lower: [], title: [], upper: [], fold: 0x2CC1, foldFull: [0x2CC1] }, + { code: 0x2CC2, lower: [], title: [], upper: [], fold: 0x2CC3, foldFull: [0x2CC3] }, + { code: 0x2CC4, lower: [], title: [], upper: [], fold: 0x2CC5, foldFull: [0x2CC5] }, + { code: 0x2CC6, lower: [], title: [], upper: [], fold: 0x2CC7, foldFull: [0x2CC7] }, + { code: 0x2CC8, lower: [], title: [], upper: [], fold: 0x2CC9, foldFull: [0x2CC9] }, + { code: 0x2CCA, lower: [], title: [], upper: [], fold: 0x2CCB, foldFull: [0x2CCB] }, + { code: 0x2CCC, lower: [], title: [], upper: [], fold: 0x2CCD, foldFull: [0x2CCD] }, + { code: 0x2CCE, lower: [], title: [], upper: [], fold: 0x2CCF, foldFull: [0x2CCF] }, + { code: 0x2CD0, lower: [], title: [], upper: [], fold: 0x2CD1, foldFull: [0x2CD1] }, + { code: 0x2CD2, lower: [], title: [], upper: [], fold: 0x2CD3, foldFull: [0x2CD3] }, + { code: 0x2CD4, lower: [], title: [], upper: [], fold: 0x2CD5, foldFull: [0x2CD5] }, + { code: 0x2CD6, lower: [], title: [], upper: [], fold: 0x2CD7, foldFull: [0x2CD7] }, + { code: 0x2CD8, lower: [], title: [], upper: [], fold: 0x2CD9, foldFull: [0x2CD9] }, + { code: 0x2CDA, lower: [], title: [], upper: [], fold: 0x2CDB, foldFull: [0x2CDB] }, + { code: 0x2CDC, lower: [], title: [], upper: [], fold: 0x2CDD, foldFull: [0x2CDD] }, + { code: 0x2CDE, lower: [], title: [], upper: [], fold: 0x2CDF, foldFull: [0x2CDF] }, + { code: 0x2CE0, lower: [], title: [], upper: [], fold: 0x2CE1, foldFull: [0x2CE1] }, + { code: 0x2CE2, lower: [], title: [], upper: [], fold: 0x2CE3, foldFull: [0x2CE3] }, + { code: 0x2CEB, lower: [], title: [], upper: [], fold: 0x2CEC, foldFull: [0x2CEC] }, + { code: 0x2CED, lower: [], title: [], upper: [], fold: 0x2CEE, foldFull: [0x2CEE] }, + { code: 0xA640, lower: [], title: [], upper: [], fold: 0xA641, foldFull: [0xA641] }, + { code: 0xA642, lower: [], title: [], upper: [], fold: 0xA643, foldFull: [0xA643] }, + { code: 0xA644, lower: [], title: [], upper: [], fold: 0xA645, foldFull: [0xA645] }, + { code: 0xA646, lower: [], title: [], upper: [], fold: 0xA647, foldFull: [0xA647] }, + { code: 0xA648, lower: [], title: [], upper: [], fold: 0xA649, foldFull: [0xA649] }, + { code: 0xA64A, lower: [], title: [], upper: [], fold: 0xA64B, foldFull: [0xA64B] }, + { code: 0xA64C, lower: [], title: [], upper: [], fold: 0xA64D, foldFull: [0xA64D] }, + { code: 0xA64E, lower: [], title: [], upper: [], fold: 0xA64F, foldFull: [0xA64F] }, + { code: 0xA650, lower: [], title: [], upper: [], fold: 0xA651, foldFull: [0xA651] }, + { code: 0xA652, lower: [], title: [], upper: [], fold: 0xA653, foldFull: [0xA653] }, + { code: 0xA654, lower: [], title: [], upper: [], fold: 0xA655, foldFull: [0xA655] }, + { code: 0xA656, lower: [], title: [], upper: [], fold: 0xA657, foldFull: [0xA657] }, + { code: 0xA658, lower: [], title: [], upper: [], fold: 0xA659, foldFull: [0xA659] }, + { code: 0xA65A, lower: [], title: [], upper: [], fold: 0xA65B, foldFull: [0xA65B] }, + { code: 0xA65C, lower: [], title: [], upper: [], fold: 0xA65D, foldFull: [0xA65D] }, + { code: 0xA65E, lower: [], title: [], upper: [], fold: 0xA65F, foldFull: [0xA65F] }, + { code: 0xA660, lower: [], title: [], upper: [], fold: 0xA661, foldFull: [0xA661] }, + { code: 0xA662, lower: [], title: [], upper: [], fold: 0xA663, foldFull: [0xA663] }, + { code: 0xA664, lower: [], title: [], upper: [], fold: 0xA665, foldFull: [0xA665] }, + { code: 0xA666, lower: [], title: [], upper: [], fold: 0xA667, foldFull: [0xA667] }, + { code: 0xA668, lower: [], title: [], upper: [], fold: 0xA669, foldFull: [0xA669] }, + { code: 0xA66A, lower: [], title: [], upper: [], fold: 0xA66B, foldFull: [0xA66B] }, + { code: 0xA66C, lower: [], title: [], upper: [], fold: 0xA66D, foldFull: [0xA66D] }, + { code: 0xA680, lower: [], title: [], upper: [], fold: 0xA681, foldFull: [0xA681] }, + { code: 0xA682, lower: [], title: [], upper: [], fold: 0xA683, foldFull: [0xA683] }, + { code: 0xA684, lower: [], title: [], upper: [], fold: 0xA685, foldFull: [0xA685] }, + { code: 0xA686, lower: [], title: [], upper: [], fold: 0xA687, foldFull: [0xA687] }, + { code: 0xA688, lower: [], title: [], upper: [], fold: 0xA689, foldFull: [0xA689] }, + { code: 0xA68A, lower: [], title: [], upper: [], fold: 0xA68B, foldFull: [0xA68B] }, + { code: 0xA68C, lower: [], title: [], upper: [], fold: 0xA68D, foldFull: [0xA68D] }, + { code: 0xA68E, lower: [], title: [], upper: [], fold: 0xA68F, foldFull: [0xA68F] }, + { code: 0xA690, lower: [], title: [], upper: [], fold: 0xA691, foldFull: [0xA691] }, + { code: 0xA692, lower: [], title: [], upper: [], fold: 0xA693, foldFull: [0xA693] }, + { code: 0xA694, lower: [], title: [], upper: [], fold: 0xA695, foldFull: [0xA695] }, + { code: 0xA696, lower: [], title: [], upper: [], fold: 0xA697, foldFull: [0xA697] }, + { code: 0xA722, lower: [], title: [], upper: [], fold: 0xA723, foldFull: [0xA723] }, + { code: 0xA724, lower: [], title: [], upper: [], fold: 0xA725, foldFull: [0xA725] }, + { code: 0xA726, lower: [], title: [], upper: [], fold: 0xA727, foldFull: [0xA727] }, + { code: 0xA728, lower: [], title: [], upper: [], fold: 0xA729, foldFull: [0xA729] }, + { code: 0xA72A, lower: [], title: [], upper: [], fold: 0xA72B, foldFull: [0xA72B] }, + { code: 0xA72C, lower: [], title: [], upper: [], fold: 0xA72D, foldFull: [0xA72D] }, + { code: 0xA72E, lower: [], title: [], upper: [], fold: 0xA72F, foldFull: [0xA72F] }, + { code: 0xA732, lower: [], title: [], upper: [], fold: 0xA733, foldFull: [0xA733] }, + { code: 0xA734, lower: [], title: [], upper: [], fold: 0xA735, foldFull: [0xA735] }, + { code: 0xA736, lower: [], title: [], upper: [], fold: 0xA737, foldFull: [0xA737] }, + { code: 0xA738, lower: [], title: [], upper: [], fold: 0xA739, foldFull: [0xA739] }, + { code: 0xA73A, lower: [], title: [], upper: [], fold: 0xA73B, foldFull: [0xA73B] }, + { code: 0xA73C, lower: [], title: [], upper: [], fold: 0xA73D, foldFull: [0xA73D] }, + { code: 0xA73E, lower: [], title: [], upper: [], fold: 0xA73F, foldFull: [0xA73F] }, + { code: 0xA740, lower: [], title: [], upper: [], fold: 0xA741, foldFull: [0xA741] }, + { code: 0xA742, lower: [], title: [], upper: [], fold: 0xA743, foldFull: [0xA743] }, + { code: 0xA744, lower: [], title: [], upper: [], fold: 0xA745, foldFull: [0xA745] }, + { code: 0xA746, lower: [], title: [], upper: [], fold: 0xA747, foldFull: [0xA747] }, + { code: 0xA748, lower: [], title: [], upper: [], fold: 0xA749, foldFull: [0xA749] }, + { code: 0xA74A, lower: [], title: [], upper: [], fold: 0xA74B, foldFull: [0xA74B] }, + { code: 0xA74C, lower: [], title: [], upper: [], fold: 0xA74D, foldFull: [0xA74D] }, + { code: 0xA74E, lower: [], title: [], upper: [], fold: 0xA74F, foldFull: [0xA74F] }, + { code: 0xA750, lower: [], title: [], upper: [], fold: 0xA751, foldFull: [0xA751] }, + { code: 0xA752, lower: [], title: [], upper: [], fold: 0xA753, foldFull: [0xA753] }, + { code: 0xA754, lower: [], title: [], upper: [], fold: 0xA755, foldFull: [0xA755] }, + { code: 0xA756, lower: [], title: [], upper: [], fold: 0xA757, foldFull: [0xA757] }, + { code: 0xA758, lower: [], title: [], upper: [], fold: 0xA759, foldFull: [0xA759] }, + { code: 0xA75A, lower: [], title: [], upper: [], fold: 0xA75B, foldFull: [0xA75B] }, + { code: 0xA75C, lower: [], title: [], upper: [], fold: 0xA75D, foldFull: [0xA75D] }, + { code: 0xA75E, lower: [], title: [], upper: [], fold: 0xA75F, foldFull: [0xA75F] }, + { code: 0xA760, lower: [], title: [], upper: [], fold: 0xA761, foldFull: [0xA761] }, + { code: 0xA762, lower: [], title: [], upper: [], fold: 0xA763, foldFull: [0xA763] }, + { code: 0xA764, lower: [], title: [], upper: [], fold: 0xA765, foldFull: [0xA765] }, + { code: 0xA766, lower: [], title: [], upper: [], fold: 0xA767, foldFull: [0xA767] }, + { code: 0xA768, lower: [], title: [], upper: [], fold: 0xA769, foldFull: [0xA769] }, + { code: 0xA76A, lower: [], title: [], upper: [], fold: 0xA76B, foldFull: [0xA76B] }, + { code: 0xA76C, lower: [], title: [], upper: [], fold: 0xA76D, foldFull: [0xA76D] }, + { code: 0xA76E, lower: [], title: [], upper: [], fold: 0xA76F, foldFull: [0xA76F] }, + { code: 0xA779, lower: [], title: [], upper: [], fold: 0xA77A, foldFull: [0xA77A] }, + { code: 0xA77B, lower: [], title: [], upper: [], fold: 0xA77C, foldFull: [0xA77C] }, + { code: 0xA77D, lower: [], title: [], upper: [], fold: 0x1D79, foldFull: [0x1D79] }, + { code: 0xA77E, lower: [], title: [], upper: [], fold: 0xA77F, foldFull: [0xA77F] }, + { code: 0xA780, lower: [], title: [], upper: [], fold: 0xA781, foldFull: [0xA781] }, + { code: 0xA782, lower: [], title: [], upper: [], fold: 0xA783, foldFull: [0xA783] }, + { code: 0xA784, lower: [], title: [], upper: [], fold: 0xA785, foldFull: [0xA785] }, + { code: 0xA786, lower: [], title: [], upper: [], fold: 0xA787, foldFull: [0xA787] }, + { code: 0xA78B, lower: [], title: [], upper: [], fold: 0xA78C, foldFull: [0xA78C] }, + { code: 0xA78D, lower: [], title: [], upper: [], fold: 0x0265, foldFull: [0x0265] }, + { code: 0xA790, lower: [], title: [], upper: [], fold: 0xA791, foldFull: [0xA791] }, + { code: 0xA7A0, lower: [], title: [], upper: [], fold: 0xA7A1, foldFull: [0xA7A1] }, + { code: 0xA7A2, lower: [], title: [], upper: [], fold: 0xA7A3, foldFull: [0xA7A3] }, + { code: 0xA7A4, lower: [], title: [], upper: [], fold: 0xA7A5, foldFull: [0xA7A5] }, + { code: 0xA7A6, lower: [], title: [], upper: [], fold: 0xA7A7, foldFull: [0xA7A7] }, + { code: 0xA7A8, lower: [], title: [], upper: [], fold: 0xA7A9, foldFull: [0xA7A9] }, + { code: 0xFB00, lower: [0xFB00], title: [0x0046,0x0066], upper: [0x0046,0x0046], fold: 0, foldFull: [0x0066,0x0066] }, + { code: 0xFB00, lower: [0xFB00], title: [0x0046,0x0066], upper: [0x0046,0x0046], fold: 0, foldFull: [0x0066,0x0066] }, + { code: 0xFB01, lower: [0xFB01], title: [0x0046,0x0069], upper: [0x0046,0x0049], fold: 0, foldFull: [0x0066,0x0069] }, + { code: 0xFB01, lower: [0xFB01], title: [0x0046,0x0069], upper: [0x0046,0x0049], fold: 0, foldFull: [0x0066,0x0069] }, + { code: 0xFB02, lower: [0xFB02], title: [0x0046,0x006C], upper: [0x0046,0x004C], fold: 0, foldFull: [0x0066,0x006C] }, + { code: 0xFB02, lower: [0xFB02], title: [0x0046,0x006C], upper: [0x0046,0x004C], fold: 0, foldFull: [0x0066,0x006C] }, + { code: 0xFB03, lower: [0xFB03], title: [0x0046,0x0066,0x0069], upper: [0x0046,0x0046,0x0049], fold: 0, foldFull: [0x0066,0x0066,0x0069] }, + { code: 0xFB03, lower: [0xFB03], title: [0x0046,0x0066,0x0069], upper: [0x0046,0x0046,0x0049], fold: 0, foldFull: [0x0066,0x0066,0x0069] }, + { code: 0xFB04, lower: [0xFB04], title: [0x0046,0x0066,0x006C], upper: [0x0046,0x0046,0x004C], fold: 0, foldFull: [0x0066,0x0066,0x006C] }, + { code: 0xFB04, lower: [0xFB04], title: [0x0046,0x0066,0x006C], upper: [0x0046,0x0046,0x004C], fold: 0, foldFull: [0x0066,0x0066,0x006C] }, + { code: 0xFB05, lower: [0xFB05], title: [0x0053,0x0074], upper: [0x0053,0x0054], fold: 0, foldFull: [0x0073,0x0074] }, + { code: 0xFB05, lower: [0xFB05], title: [0x0053,0x0074], upper: [0x0053,0x0054], fold: 0, foldFull: [0x0073,0x0074] }, + { code: 0xFB06, lower: [0xFB06], title: [0x0053,0x0074], upper: [0x0053,0x0054], fold: 0, foldFull: [0x0073,0x0074] }, + { code: 0xFB06, lower: [0xFB06], title: [0x0053,0x0074], upper: [0x0053,0x0054], fold: 0, foldFull: [0x0073,0x0074] }, + { code: 0xFB13, lower: [0xFB13], title: [0x0544,0x0576], upper: [0x0544,0x0546], fold: 0, foldFull: [0x0574,0x0576] }, + { code: 0xFB13, lower: [0xFB13], title: [0x0544,0x0576], upper: [0x0544,0x0546], fold: 0, foldFull: [0x0574,0x0576] }, + { code: 0xFB14, lower: [0xFB14], title: [0x0544,0x0565], upper: [0x0544,0x0535], fold: 0, foldFull: [0x0574,0x0565] }, + { code: 0xFB14, lower: [0xFB14], title: [0x0544,0x0565], upper: [0x0544,0x0535], fold: 0, foldFull: [0x0574,0x0565] }, + { code: 0xFB15, lower: [0xFB15], title: [0x0544,0x056B], upper: [0x0544,0x053B], fold: 0, foldFull: [0x0574,0x056B] }, + { code: 0xFB15, lower: [0xFB15], title: [0x0544,0x056B], upper: [0x0544,0x053B], fold: 0, foldFull: [0x0574,0x056B] }, + { code: 0xFB16, lower: [0xFB16], title: [0x054E,0x0576], upper: [0x054E,0x0546], fold: 0, foldFull: [0x057E,0x0576] }, + { code: 0xFB16, lower: [0xFB16], title: [0x054E,0x0576], upper: [0x054E,0x0546], fold: 0, foldFull: [0x057E,0x0576] }, + { code: 0xFB17, lower: [0xFB17], title: [0x0544,0x056D], upper: [0x0544,0x053D], fold: 0, foldFull: [0x0574,0x056D] }, + { code: 0xFB17, lower: [0xFB17], title: [0x0544,0x056D], upper: [0x0544,0x053D], fold: 0, foldFull: [0x0574,0x056D] }, + { code: 0xFF21, lower: [], title: [], upper: [], fold: 0xFF41, foldFull: [0xFF41] }, + { code: 0xFF22, lower: [], title: [], upper: [], fold: 0xFF42, foldFull: [0xFF42] }, + { code: 0xFF23, lower: [], title: [], upper: [], fold: 0xFF43, foldFull: [0xFF43] }, + { code: 0xFF24, lower: [], title: [], upper: [], fold: 0xFF44, foldFull: [0xFF44] }, + { code: 0xFF25, lower: [], title: [], upper: [], fold: 0xFF45, foldFull: [0xFF45] }, + { code: 0xFF26, lower: [], title: [], upper: [], fold: 0xFF46, foldFull: [0xFF46] }, + { code: 0xFF27, lower: [], title: [], upper: [], fold: 0xFF47, foldFull: [0xFF47] }, + { code: 0xFF28, lower: [], title: [], upper: [], fold: 0xFF48, foldFull: [0xFF48] }, + { code: 0xFF29, lower: [], title: [], upper: [], fold: 0xFF49, foldFull: [0xFF49] }, + { code: 0xFF2A, lower: [], title: [], upper: [], fold: 0xFF4A, foldFull: [0xFF4A] }, + { code: 0xFF2B, lower: [], title: [], upper: [], fold: 0xFF4B, foldFull: [0xFF4B] }, + { code: 0xFF2C, lower: [], title: [], upper: [], fold: 0xFF4C, foldFull: [0xFF4C] }, + { code: 0xFF2D, lower: [], title: [], upper: [], fold: 0xFF4D, foldFull: [0xFF4D] }, + { code: 0xFF2E, lower: [], title: [], upper: [], fold: 0xFF4E, foldFull: [0xFF4E] }, + { code: 0xFF2F, lower: [], title: [], upper: [], fold: 0xFF4F, foldFull: [0xFF4F] }, + { code: 0xFF30, lower: [], title: [], upper: [], fold: 0xFF50, foldFull: [0xFF50] }, + { code: 0xFF31, lower: [], title: [], upper: [], fold: 0xFF51, foldFull: [0xFF51] }, + { code: 0xFF32, lower: [], title: [], upper: [], fold: 0xFF52, foldFull: [0xFF52] }, + { code: 0xFF33, lower: [], title: [], upper: [], fold: 0xFF53, foldFull: [0xFF53] }, + { code: 0xFF34, lower: [], title: [], upper: [], fold: 0xFF54, foldFull: [0xFF54] }, + { code: 0xFF35, lower: [], title: [], upper: [], fold: 0xFF55, foldFull: [0xFF55] }, + { code: 0xFF36, lower: [], title: [], upper: [], fold: 0xFF56, foldFull: [0xFF56] }, + { code: 0xFF37, lower: [], title: [], upper: [], fold: 0xFF57, foldFull: [0xFF57] }, + { code: 0xFF38, lower: [], title: [], upper: [], fold: 0xFF58, foldFull: [0xFF58] }, + { code: 0xFF39, lower: [], title: [], upper: [], fold: 0xFF59, foldFull: [0xFF59] }, + { code: 0xFF3A, lower: [], title: [], upper: [], fold: 0xFF5A, foldFull: [0xFF5A] }, + { code: 0x10400, lower: [], title: [], upper: [], fold: 0x10428, foldFull: [0x10428] }, + { code: 0x10401, lower: [], title: [], upper: [], fold: 0x10429, foldFull: [0x10429] }, + { code: 0x10402, lower: [], title: [], upper: [], fold: 0x1042A, foldFull: [0x1042A] }, + { code: 0x10403, lower: [], title: [], upper: [], fold: 0x1042B, foldFull: [0x1042B] }, + { code: 0x10404, lower: [], title: [], upper: [], fold: 0x1042C, foldFull: [0x1042C] }, + { code: 0x10405, lower: [], title: [], upper: [], fold: 0x1042D, foldFull: [0x1042D] }, + { code: 0x10406, lower: [], title: [], upper: [], fold: 0x1042E, foldFull: [0x1042E] }, + { code: 0x10407, lower: [], title: [], upper: [], fold: 0x1042F, foldFull: [0x1042F] }, + { code: 0x10408, lower: [], title: [], upper: [], fold: 0x10430, foldFull: [0x10430] }, + { code: 0x10409, lower: [], title: [], upper: [], fold: 0x10431, foldFull: [0x10431] }, + { code: 0x1040A, lower: [], title: [], upper: [], fold: 0x10432, foldFull: [0x10432] }, + { code: 0x1040B, lower: [], title: [], upper: [], fold: 0x10433, foldFull: [0x10433] }, + { code: 0x1040C, lower: [], title: [], upper: [], fold: 0x10434, foldFull: [0x10434] }, + { code: 0x1040D, lower: [], title: [], upper: [], fold: 0x10435, foldFull: [0x10435] }, + { code: 0x1040E, lower: [], title: [], upper: [], fold: 0x10436, foldFull: [0x10436] }, + { code: 0x1040F, lower: [], title: [], upper: [], fold: 0x10437, foldFull: [0x10437] }, + { code: 0x10410, lower: [], title: [], upper: [], fold: 0x10438, foldFull: [0x10438] }, + { code: 0x10411, lower: [], title: [], upper: [], fold: 0x10439, foldFull: [0x10439] }, + { code: 0x10412, lower: [], title: [], upper: [], fold: 0x1043A, foldFull: [0x1043A] }, + { code: 0x10413, lower: [], title: [], upper: [], fold: 0x1043B, foldFull: [0x1043B] }, + { code: 0x10414, lower: [], title: [], upper: [], fold: 0x1043C, foldFull: [0x1043C] }, + { code: 0x10415, lower: [], title: [], upper: [], fold: 0x1043D, foldFull: [0x1043D] }, + { code: 0x10416, lower: [], title: [], upper: [], fold: 0x1043E, foldFull: [0x1043E] }, + { code: 0x10417, lower: [], title: [], upper: [], fold: 0x1043F, foldFull: [0x1043F] }, + { code: 0x10418, lower: [], title: [], upper: [], fold: 0x10440, foldFull: [0x10440] }, + { code: 0x10419, lower: [], title: [], upper: [], fold: 0x10441, foldFull: [0x10441] }, + { code: 0x1041A, lower: [], title: [], upper: [], fold: 0x10442, foldFull: [0x10442] }, + { code: 0x1041B, lower: [], title: [], upper: [], fold: 0x10443, foldFull: [0x10443] }, + { code: 0x1041C, lower: [], title: [], upper: [], fold: 0x10444, foldFull: [0x10444] }, + { code: 0x1041D, lower: [], title: [], upper: [], fold: 0x10445, foldFull: [0x10445] }, + { code: 0x1041E, lower: [], title: [], upper: [], fold: 0x10446, foldFull: [0x10446] }, + { code: 0x1041F, lower: [], title: [], upper: [], fold: 0x10447, foldFull: [0x10447] }, + { code: 0x10420, lower: [], title: [], upper: [], fold: 0x10448, foldFull: [0x10448] }, + { code: 0x10421, lower: [], title: [], upper: [], fold: 0x10449, foldFull: [0x10449] }, + { code: 0x10422, lower: [], title: [], upper: [], fold: 0x1044A, foldFull: [0x1044A] }, + { code: 0x10423, lower: [], title: [], upper: [], fold: 0x1044B, foldFull: [0x1044B] }, + { code: 0x10424, lower: [], title: [], upper: [], fold: 0x1044C, foldFull: [0x1044C] }, + { code: 0x10425, lower: [], title: [], upper: [], fold: 0x1044D, foldFull: [0x1044D] }, + { code: 0x10426, lower: [], title: [], upper: [], fold: 0x1044E, foldFull: [0x1044E] }, + { code: 0x10427, lower: [], title: [], upper: [], fold: 0x1044F, foldFull: [0x1044F] } +] + +zeroRec :: Int -> CaseRec +zeroRec code = { code, lower: [], title: [], upper: [], fold: 0, foldFull: [] } + +recCmp :: CaseRec -> CaseRec -> Ordering +recCmp { code } { code: code' } = compare code code' + +findRule :: Int -> CaseRec +findRule code = case bsearch (zeroRec code) rules (Array.length rules) recCmp of + Nothing -> zeroRec code + Just r -> r + +fold :: Int -> Int +fold code = + let folded = (findRule code).fold + in if folded == 0 then uTowlower code else folded + +foldFull :: Int -> Array Int +foldFull code = + let folded = (findRule code).foldFull + in if Array.null folded then [uTowlower code] else folded + +lower :: Int -> Array Int +lower code = + let lowered = (findRule code).lower + in if Array.null lowered then [uTowlower code] else lowered + +title :: Int -> Array Int +title code = + let titled = (findRule code).title + in if Array.null titled then [uTowtitle code] else titled + +upper :: Int -> Array Int +upper code = + let uppered = (findRule code).upper + in if Array.null uppered then [uTowupper code] else uppered diff --git a/src/Data/String/Unicode.purs b/src/Data/String/Unicode.purs new file mode 100644 index 0000000..629dadd --- /dev/null +++ b/src/Data/String/Unicode.purs @@ -0,0 +1,41 @@ +module Data.String.Unicode where + +import Prelude + +import Control.Bind (bindFlipped) +import Data.CodePoint.Unicode as CP +import Data.CodePoint.Unicode.Casing as Casing +import Data.String (CodePoint, fromCodePointArray, toCodePointArray) +import Unsafe.Coerce (unsafeCoerce) + +modifyFull :: (Int -> Array Int) -> (CodePoint -> Array CodePoint) +modifyFull = unsafeCoerce + +conv :: (CodePoint -> CodePoint) -> String -> String +conv f = toCodePointArray >>> map f >>> fromCodePointArray + +convFull :: (CodePoint -> Array CodePoint) -> String -> String +convFull f = toCodePointArray >>> bindFlipped f >>> fromCodePointArray + +-- | Convert a letter to the corresponding upper-case letter, if any. +-- | Any other character is returned unchanged. +toUpper :: String -> String +toUpper = conv CP.toUpper + +toUpperFull :: String -> String +toUpperFull = convFull (modifyFull Casing.upper) + +-- | Convert a letter to the corresponding lower-case letter, if any. +-- | Any other character is returned unchanged. +toLower :: String -> String +toLower = conv CP.toLower + +toLowerFull :: String -> String +toLowerFull = convFull (modifyFull Casing.lower) + +-- | Convert a letter to the corresponding title-case or upper-case +-- | letter, if any. (Title case differs from upper case only for a small +-- | number of ligature letters.) +-- | Any other character is returned unchanged. +--toTitle :: CodePoint -> CodePoint +--toTitle = conv CP.toTitle From 2926aba573e37bcab18a21249cae0b572bb5e2da Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Tue, 12 Jan 2021 18:59:22 -0600 Subject: [PATCH 11/32] Update to Unicode 13.0.0 --- .gitignore | 2 + download.sh | 5 + fullcase.js | 2 + src/Data/CodePoint/Unicode/Casing.purs | 366 ++- src/Data/CodePoint/Unicode/Internal.purs | 2580 ++++++++++++---------- unicode-version | 1 + 6 files changed, 1767 insertions(+), 1189 deletions(-) create mode 100755 download.sh mode change 100644 => 100755 fullcase.js create mode 100644 unicode-version diff --git a/.gitignore b/.gitignore index cc47441..cf10741 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,8 @@ generated-docs bower_components UnicodeData\.txt +CaseFolding.txt +SpecialCasing.txt node_modules package-lock.json *.lock diff --git a/download.sh b/download.sh new file mode 100755 index 0000000..a3d0db1 --- /dev/null +++ b/download.sh @@ -0,0 +1,5 @@ +#!/bin/bash +VERSION=$(cat unicode-version) +for F in UnicodeData SpecialCasing CaseFolding; do + wget "https://www.unicode.org/Public/$VERSION/ucd/$F.txt" -O $F.txt +done diff --git a/fullcase.js b/fullcase.js old mode 100644 new mode 100755 index 87ba633..59cf901 --- a/fullcase.js +++ b/fullcase.js @@ -1,3 +1,5 @@ +#!/usr/bin/env node + const fs = require("fs"); const SpecialCasing = ""+fs.readFileSync("SpecialCasing.txt"); diff --git a/src/Data/CodePoint/Unicode/Casing.purs b/src/Data/CodePoint/Unicode/Casing.purs index ae175f6..e1ec42f 100644 --- a/src/Data/CodePoint/Unicode/Casing.purs +++ b/src/Data/CodePoint/Unicode/Casing.purs @@ -257,6 +257,7 @@ rules = [ { code: 0x0370, lower: [], title: [], upper: [], fold: 0x0371, foldFull: [0x0371] }, { code: 0x0372, lower: [], title: [], upper: [], fold: 0x0373, foldFull: [0x0373] }, { code: 0x0376, lower: [], title: [], upper: [], fold: 0x0377, foldFull: [0x0377] }, + { code: 0x037F, lower: [], title: [], upper: [], fold: 0x03F3, foldFull: [0x03F3] }, { code: 0x0386, lower: [], title: [], upper: [], fold: 0x03AC, foldFull: [0x03AC] }, { code: 0x0388, lower: [], title: [], upper: [], fold: 0x03AD, foldFull: [0x03AD] }, { code: 0x0389, lower: [], title: [], upper: [], fold: 0x03AE, foldFull: [0x03AE] }, @@ -466,6 +467,10 @@ rules = [ { code: 0x0522, lower: [], title: [], upper: [], fold: 0x0523, foldFull: [0x0523] }, { code: 0x0524, lower: [], title: [], upper: [], fold: 0x0525, foldFull: [0x0525] }, { code: 0x0526, lower: [], title: [], upper: [], fold: 0x0527, foldFull: [0x0527] }, + { code: 0x0528, lower: [], title: [], upper: [], fold: 0x0529, foldFull: [0x0529] }, + { code: 0x052A, lower: [], title: [], upper: [], fold: 0x052B, foldFull: [0x052B] }, + { code: 0x052C, lower: [], title: [], upper: [], fold: 0x052D, foldFull: [0x052D] }, + { code: 0x052E, lower: [], title: [], upper: [], fold: 0x052F, foldFull: [0x052F] }, { code: 0x0531, lower: [], title: [], upper: [], fold: 0x0561, foldFull: [0x0561] }, { code: 0x0532, lower: [], title: [], upper: [], fold: 0x0562, foldFull: [0x0562] }, { code: 0x0533, lower: [], title: [], upper: [], fold: 0x0563, foldFull: [0x0563] }, @@ -544,6 +549,69 @@ rules = [ { code: 0x10C3, lower: [], title: [], upper: [], fold: 0x2D23, foldFull: [0x2D23] }, { code: 0x10C4, lower: [], title: [], upper: [], fold: 0x2D24, foldFull: [0x2D24] }, { code: 0x10C5, lower: [], title: [], upper: [], fold: 0x2D25, foldFull: [0x2D25] }, + { code: 0x10C7, lower: [], title: [], upper: [], fold: 0x2D27, foldFull: [0x2D27] }, + { code: 0x10CD, lower: [], title: [], upper: [], fold: 0x2D2D, foldFull: [0x2D2D] }, + { code: 0x13F8, lower: [], title: [], upper: [], fold: 0x13F0, foldFull: [0x13F0] }, + { code: 0x13F9, lower: [], title: [], upper: [], fold: 0x13F1, foldFull: [0x13F1] }, + { code: 0x13FA, lower: [], title: [], upper: [], fold: 0x13F2, foldFull: [0x13F2] }, + { code: 0x13FB, lower: [], title: [], upper: [], fold: 0x13F3, foldFull: [0x13F3] }, + { code: 0x13FC, lower: [], title: [], upper: [], fold: 0x13F4, foldFull: [0x13F4] }, + { code: 0x13FD, lower: [], title: [], upper: [], fold: 0x13F5, foldFull: [0x13F5] }, + { code: 0x1C80, lower: [], title: [], upper: [], fold: 0x0432, foldFull: [0x0432] }, + { code: 0x1C81, lower: [], title: [], upper: [], fold: 0x0434, foldFull: [0x0434] }, + { code: 0x1C82, lower: [], title: [], upper: [], fold: 0x043E, foldFull: [0x043E] }, + { code: 0x1C83, lower: [], title: [], upper: [], fold: 0x0441, foldFull: [0x0441] }, + { code: 0x1C84, lower: [], title: [], upper: [], fold: 0x0442, foldFull: [0x0442] }, + { code: 0x1C85, lower: [], title: [], upper: [], fold: 0x0442, foldFull: [0x0442] }, + { code: 0x1C86, lower: [], title: [], upper: [], fold: 0x044A, foldFull: [0x044A] }, + { code: 0x1C87, lower: [], title: [], upper: [], fold: 0x0463, foldFull: [0x0463] }, + { code: 0x1C88, lower: [], title: [], upper: [], fold: 0xA64B, foldFull: [0xA64B] }, + { code: 0x1C90, lower: [], title: [], upper: [], fold: 0x10D0, foldFull: [0x10D0] }, + { code: 0x1C91, lower: [], title: [], upper: [], fold: 0x10D1, foldFull: [0x10D1] }, + { code: 0x1C92, lower: [], title: [], upper: [], fold: 0x10D2, foldFull: [0x10D2] }, + { code: 0x1C93, lower: [], title: [], upper: [], fold: 0x10D3, foldFull: [0x10D3] }, + { code: 0x1C94, lower: [], title: [], upper: [], fold: 0x10D4, foldFull: [0x10D4] }, + { code: 0x1C95, lower: [], title: [], upper: [], fold: 0x10D5, foldFull: [0x10D5] }, + { code: 0x1C96, lower: [], title: [], upper: [], fold: 0x10D6, foldFull: [0x10D6] }, + { code: 0x1C97, lower: [], title: [], upper: [], fold: 0x10D7, foldFull: [0x10D7] }, + { code: 0x1C98, lower: [], title: [], upper: [], fold: 0x10D8, foldFull: [0x10D8] }, + { code: 0x1C99, lower: [], title: [], upper: [], fold: 0x10D9, foldFull: [0x10D9] }, + { code: 0x1C9A, lower: [], title: [], upper: [], fold: 0x10DA, foldFull: [0x10DA] }, + { code: 0x1C9B, lower: [], title: [], upper: [], fold: 0x10DB, foldFull: [0x10DB] }, + { code: 0x1C9C, lower: [], title: [], upper: [], fold: 0x10DC, foldFull: [0x10DC] }, + { code: 0x1C9D, lower: [], title: [], upper: [], fold: 0x10DD, foldFull: [0x10DD] }, + { code: 0x1C9E, lower: [], title: [], upper: [], fold: 0x10DE, foldFull: [0x10DE] }, + { code: 0x1C9F, lower: [], title: [], upper: [], fold: 0x10DF, foldFull: [0x10DF] }, + { code: 0x1CA0, lower: [], title: [], upper: [], fold: 0x10E0, foldFull: [0x10E0] }, + { code: 0x1CA1, lower: [], title: [], upper: [], fold: 0x10E1, foldFull: [0x10E1] }, + { code: 0x1CA2, lower: [], title: [], upper: [], fold: 0x10E2, foldFull: [0x10E2] }, + { code: 0x1CA3, lower: [], title: [], upper: [], fold: 0x10E3, foldFull: [0x10E3] }, + { code: 0x1CA4, lower: [], title: [], upper: [], fold: 0x10E4, foldFull: [0x10E4] }, + { code: 0x1CA5, lower: [], title: [], upper: [], fold: 0x10E5, foldFull: [0x10E5] }, + { code: 0x1CA6, lower: [], title: [], upper: [], fold: 0x10E6, foldFull: [0x10E6] }, + { code: 0x1CA7, lower: [], title: [], upper: [], fold: 0x10E7, foldFull: [0x10E7] }, + { code: 0x1CA8, lower: [], title: [], upper: [], fold: 0x10E8, foldFull: [0x10E8] }, + { code: 0x1CA9, lower: [], title: [], upper: [], fold: 0x10E9, foldFull: [0x10E9] }, + { code: 0x1CAA, lower: [], title: [], upper: [], fold: 0x10EA, foldFull: [0x10EA] }, + { code: 0x1CAB, lower: [], title: [], upper: [], fold: 0x10EB, foldFull: [0x10EB] }, + { code: 0x1CAC, lower: [], title: [], upper: [], fold: 0x10EC, foldFull: [0x10EC] }, + { code: 0x1CAD, lower: [], title: [], upper: [], fold: 0x10ED, foldFull: [0x10ED] }, + { code: 0x1CAE, lower: [], title: [], upper: [], fold: 0x10EE, foldFull: [0x10EE] }, + { code: 0x1CAF, lower: [], title: [], upper: [], fold: 0x10EF, foldFull: [0x10EF] }, + { code: 0x1CB0, lower: [], title: [], upper: [], fold: 0x10F0, foldFull: [0x10F0] }, + { code: 0x1CB1, lower: [], title: [], upper: [], fold: 0x10F1, foldFull: [0x10F1] }, + { code: 0x1CB2, lower: [], title: [], upper: [], fold: 0x10F2, foldFull: [0x10F2] }, + { code: 0x1CB3, lower: [], title: [], upper: [], fold: 0x10F3, foldFull: [0x10F3] }, + { code: 0x1CB4, lower: [], title: [], upper: [], fold: 0x10F4, foldFull: [0x10F4] }, + { code: 0x1CB5, lower: [], title: [], upper: [], fold: 0x10F5, foldFull: [0x10F5] }, + { code: 0x1CB6, lower: [], title: [], upper: [], fold: 0x10F6, foldFull: [0x10F6] }, + { code: 0x1CB7, lower: [], title: [], upper: [], fold: 0x10F7, foldFull: [0x10F7] }, + { code: 0x1CB8, lower: [], title: [], upper: [], fold: 0x10F8, foldFull: [0x10F8] }, + { code: 0x1CB9, lower: [], title: [], upper: [], fold: 0x10F9, foldFull: [0x10F9] }, + { code: 0x1CBA, lower: [], title: [], upper: [], fold: 0x10FA, foldFull: [0x10FA] }, + { code: 0x1CBD, lower: [], title: [], upper: [], fold: 0x10FD, foldFull: [0x10FD] }, + { code: 0x1CBE, lower: [], title: [], upper: [], fold: 0x10FE, foldFull: [0x10FE] }, + { code: 0x1CBF, lower: [], title: [], upper: [], fold: 0x10FF, foldFull: [0x10FF] }, { code: 0x1E00, lower: [], title: [], upper: [], fold: 0x1E01, foldFull: [0x1E01] }, { code: 0x1E02, lower: [], title: [], upper: [], fold: 0x1E03, foldFull: [0x1E03] }, { code: 0x1E04, lower: [], title: [], upper: [], fold: 0x1E05, foldFull: [0x1E05] }, @@ -1068,6 +1136,7 @@ rules = [ { code: 0x2CE2, lower: [], title: [], upper: [], fold: 0x2CE3, foldFull: [0x2CE3] }, { code: 0x2CEB, lower: [], title: [], upper: [], fold: 0x2CEC, foldFull: [0x2CEC] }, { code: 0x2CED, lower: [], title: [], upper: [], fold: 0x2CEE, foldFull: [0x2CEE] }, + { code: 0x2CF2, lower: [], title: [], upper: [], fold: 0x2CF3, foldFull: [0x2CF3] }, { code: 0xA640, lower: [], title: [], upper: [], fold: 0xA641, foldFull: [0xA641] }, { code: 0xA642, lower: [], title: [], upper: [], fold: 0xA643, foldFull: [0xA643] }, { code: 0xA644, lower: [], title: [], upper: [], fold: 0xA645, foldFull: [0xA645] }, @@ -1103,6 +1172,8 @@ rules = [ { code: 0xA692, lower: [], title: [], upper: [], fold: 0xA693, foldFull: [0xA693] }, { code: 0xA694, lower: [], title: [], upper: [], fold: 0xA695, foldFull: [0xA695] }, { code: 0xA696, lower: [], title: [], upper: [], fold: 0xA697, foldFull: [0xA697] }, + { code: 0xA698, lower: [], title: [], upper: [], fold: 0xA699, foldFull: [0xA699] }, + { code: 0xA69A, lower: [], title: [], upper: [], fold: 0xA69B, foldFull: [0xA69B] }, { code: 0xA722, lower: [], title: [], upper: [], fold: 0xA723, foldFull: [0xA723] }, { code: 0xA724, lower: [], title: [], upper: [], fold: 0xA725, foldFull: [0xA725] }, { code: 0xA726, lower: [], title: [], upper: [], fold: 0xA727, foldFull: [0xA727] }, @@ -1152,11 +1223,119 @@ rules = [ { code: 0xA78B, lower: [], title: [], upper: [], fold: 0xA78C, foldFull: [0xA78C] }, { code: 0xA78D, lower: [], title: [], upper: [], fold: 0x0265, foldFull: [0x0265] }, { code: 0xA790, lower: [], title: [], upper: [], fold: 0xA791, foldFull: [0xA791] }, + { code: 0xA792, lower: [], title: [], upper: [], fold: 0xA793, foldFull: [0xA793] }, + { code: 0xA796, lower: [], title: [], upper: [], fold: 0xA797, foldFull: [0xA797] }, + { code: 0xA798, lower: [], title: [], upper: [], fold: 0xA799, foldFull: [0xA799] }, + { code: 0xA79A, lower: [], title: [], upper: [], fold: 0xA79B, foldFull: [0xA79B] }, + { code: 0xA79C, lower: [], title: [], upper: [], fold: 0xA79D, foldFull: [0xA79D] }, + { code: 0xA79E, lower: [], title: [], upper: [], fold: 0xA79F, foldFull: [0xA79F] }, { code: 0xA7A0, lower: [], title: [], upper: [], fold: 0xA7A1, foldFull: [0xA7A1] }, { code: 0xA7A2, lower: [], title: [], upper: [], fold: 0xA7A3, foldFull: [0xA7A3] }, { code: 0xA7A4, lower: [], title: [], upper: [], fold: 0xA7A5, foldFull: [0xA7A5] }, { code: 0xA7A6, lower: [], title: [], upper: [], fold: 0xA7A7, foldFull: [0xA7A7] }, { code: 0xA7A8, lower: [], title: [], upper: [], fold: 0xA7A9, foldFull: [0xA7A9] }, + { code: 0xA7AA, lower: [], title: [], upper: [], fold: 0x0266, foldFull: [0x0266] }, + { code: 0xA7AB, lower: [], title: [], upper: [], fold: 0x025C, foldFull: [0x025C] }, + { code: 0xA7AC, lower: [], title: [], upper: [], fold: 0x0261, foldFull: [0x0261] }, + { code: 0xA7AD, lower: [], title: [], upper: [], fold: 0x026C, foldFull: [0x026C] }, + { code: 0xA7AE, lower: [], title: [], upper: [], fold: 0x026A, foldFull: [0x026A] }, + { code: 0xA7B0, lower: [], title: [], upper: [], fold: 0x029E, foldFull: [0x029E] }, + { code: 0xA7B1, lower: [], title: [], upper: [], fold: 0x0287, foldFull: [0x0287] }, + { code: 0xA7B2, lower: [], title: [], upper: [], fold: 0x029D, foldFull: [0x029D] }, + { code: 0xA7B3, lower: [], title: [], upper: [], fold: 0xAB53, foldFull: [0xAB53] }, + { code: 0xA7B4, lower: [], title: [], upper: [], fold: 0xA7B5, foldFull: [0xA7B5] }, + { code: 0xA7B6, lower: [], title: [], upper: [], fold: 0xA7B7, foldFull: [0xA7B7] }, + { code: 0xA7B8, lower: [], title: [], upper: [], fold: 0xA7B9, foldFull: [0xA7B9] }, + { code: 0xA7BA, lower: [], title: [], upper: [], fold: 0xA7BB, foldFull: [0xA7BB] }, + { code: 0xA7BC, lower: [], title: [], upper: [], fold: 0xA7BD, foldFull: [0xA7BD] }, + { code: 0xA7BE, lower: [], title: [], upper: [], fold: 0xA7BF, foldFull: [0xA7BF] }, + { code: 0xA7C2, lower: [], title: [], upper: [], fold: 0xA7C3, foldFull: [0xA7C3] }, + { code: 0xA7C4, lower: [], title: [], upper: [], fold: 0xA794, foldFull: [0xA794] }, + { code: 0xA7C5, lower: [], title: [], upper: [], fold: 0x0282, foldFull: [0x0282] }, + { code: 0xA7C6, lower: [], title: [], upper: [], fold: 0x1D8E, foldFull: [0x1D8E] }, + { code: 0xA7C7, lower: [], title: [], upper: [], fold: 0xA7C8, foldFull: [0xA7C8] }, + { code: 0xA7C9, lower: [], title: [], upper: [], fold: 0xA7CA, foldFull: [0xA7CA] }, + { code: 0xA7F5, lower: [], title: [], upper: [], fold: 0xA7F6, foldFull: [0xA7F6] }, + { code: 0xAB70, lower: [], title: [], upper: [], fold: 0x13A0, foldFull: [0x13A0] }, + { code: 0xAB71, lower: [], title: [], upper: [], fold: 0x13A1, foldFull: [0x13A1] }, + { code: 0xAB72, lower: [], title: [], upper: [], fold: 0x13A2, foldFull: [0x13A2] }, + { code: 0xAB73, lower: [], title: [], upper: [], fold: 0x13A3, foldFull: [0x13A3] }, + { code: 0xAB74, lower: [], title: [], upper: [], fold: 0x13A4, foldFull: [0x13A4] }, + { code: 0xAB75, lower: [], title: [], upper: [], fold: 0x13A5, foldFull: [0x13A5] }, + { code: 0xAB76, lower: [], title: [], upper: [], fold: 0x13A6, foldFull: [0x13A6] }, + { code: 0xAB77, lower: [], title: [], upper: [], fold: 0x13A7, foldFull: [0x13A7] }, + { code: 0xAB78, lower: [], title: [], upper: [], fold: 0x13A8, foldFull: [0x13A8] }, + { code: 0xAB79, lower: [], title: [], upper: [], fold: 0x13A9, foldFull: [0x13A9] }, + { code: 0xAB7A, lower: [], title: [], upper: [], fold: 0x13AA, foldFull: [0x13AA] }, + { code: 0xAB7B, lower: [], title: [], upper: [], fold: 0x13AB, foldFull: [0x13AB] }, + { code: 0xAB7C, lower: [], title: [], upper: [], fold: 0x13AC, foldFull: [0x13AC] }, + { code: 0xAB7D, lower: [], title: [], upper: [], fold: 0x13AD, foldFull: [0x13AD] }, + { code: 0xAB7E, lower: [], title: [], upper: [], fold: 0x13AE, foldFull: [0x13AE] }, + { code: 0xAB7F, lower: [], title: [], upper: [], fold: 0x13AF, foldFull: [0x13AF] }, + { code: 0xAB80, lower: [], title: [], upper: [], fold: 0x13B0, foldFull: [0x13B0] }, + { code: 0xAB81, lower: [], title: [], upper: [], fold: 0x13B1, foldFull: [0x13B1] }, + { code: 0xAB82, lower: [], title: [], upper: [], fold: 0x13B2, foldFull: [0x13B2] }, + { code: 0xAB83, lower: [], title: [], upper: [], fold: 0x13B3, foldFull: [0x13B3] }, + { code: 0xAB84, lower: [], title: [], upper: [], fold: 0x13B4, foldFull: [0x13B4] }, + { code: 0xAB85, lower: [], title: [], upper: [], fold: 0x13B5, foldFull: [0x13B5] }, + { code: 0xAB86, lower: [], title: [], upper: [], fold: 0x13B6, foldFull: [0x13B6] }, + { code: 0xAB87, lower: [], title: [], upper: [], fold: 0x13B7, foldFull: [0x13B7] }, + { code: 0xAB88, lower: [], title: [], upper: [], fold: 0x13B8, foldFull: [0x13B8] }, + { code: 0xAB89, lower: [], title: [], upper: [], fold: 0x13B9, foldFull: [0x13B9] }, + { code: 0xAB8A, lower: [], title: [], upper: [], fold: 0x13BA, foldFull: [0x13BA] }, + { code: 0xAB8B, lower: [], title: [], upper: [], fold: 0x13BB, foldFull: [0x13BB] }, + { code: 0xAB8C, lower: [], title: [], upper: [], fold: 0x13BC, foldFull: [0x13BC] }, + { code: 0xAB8D, lower: [], title: [], upper: [], fold: 0x13BD, foldFull: [0x13BD] }, + { code: 0xAB8E, lower: [], title: [], upper: [], fold: 0x13BE, foldFull: [0x13BE] }, + { code: 0xAB8F, lower: [], title: [], upper: [], fold: 0x13BF, foldFull: [0x13BF] }, + { code: 0xAB90, lower: [], title: [], upper: [], fold: 0x13C0, foldFull: [0x13C0] }, + { code: 0xAB91, lower: [], title: [], upper: [], fold: 0x13C1, foldFull: [0x13C1] }, + { code: 0xAB92, lower: [], title: [], upper: [], fold: 0x13C2, foldFull: [0x13C2] }, + { code: 0xAB93, lower: [], title: [], upper: [], fold: 0x13C3, foldFull: [0x13C3] }, + { code: 0xAB94, lower: [], title: [], upper: [], fold: 0x13C4, foldFull: [0x13C4] }, + { code: 0xAB95, lower: [], title: [], upper: [], fold: 0x13C5, foldFull: [0x13C5] }, + { code: 0xAB96, lower: [], title: [], upper: [], fold: 0x13C6, foldFull: [0x13C6] }, + { code: 0xAB97, lower: [], title: [], upper: [], fold: 0x13C7, foldFull: [0x13C7] }, + { code: 0xAB98, lower: [], title: [], upper: [], fold: 0x13C8, foldFull: [0x13C8] }, + { code: 0xAB99, lower: [], title: [], upper: [], fold: 0x13C9, foldFull: [0x13C9] }, + { code: 0xAB9A, lower: [], title: [], upper: [], fold: 0x13CA, foldFull: [0x13CA] }, + { code: 0xAB9B, lower: [], title: [], upper: [], fold: 0x13CB, foldFull: [0x13CB] }, + { code: 0xAB9C, lower: [], title: [], upper: [], fold: 0x13CC, foldFull: [0x13CC] }, + { code: 0xAB9D, lower: [], title: [], upper: [], fold: 0x13CD, foldFull: [0x13CD] }, + { code: 0xAB9E, lower: [], title: [], upper: [], fold: 0x13CE, foldFull: [0x13CE] }, + { code: 0xAB9F, lower: [], title: [], upper: [], fold: 0x13CF, foldFull: [0x13CF] }, + { code: 0xABA0, lower: [], title: [], upper: [], fold: 0x13D0, foldFull: [0x13D0] }, + { code: 0xABA1, lower: [], title: [], upper: [], fold: 0x13D1, foldFull: [0x13D1] }, + { code: 0xABA2, lower: [], title: [], upper: [], fold: 0x13D2, foldFull: [0x13D2] }, + { code: 0xABA3, lower: [], title: [], upper: [], fold: 0x13D3, foldFull: [0x13D3] }, + { code: 0xABA4, lower: [], title: [], upper: [], fold: 0x13D4, foldFull: [0x13D4] }, + { code: 0xABA5, lower: [], title: [], upper: [], fold: 0x13D5, foldFull: [0x13D5] }, + { code: 0xABA6, lower: [], title: [], upper: [], fold: 0x13D6, foldFull: [0x13D6] }, + { code: 0xABA7, lower: [], title: [], upper: [], fold: 0x13D7, foldFull: [0x13D7] }, + { code: 0xABA8, lower: [], title: [], upper: [], fold: 0x13D8, foldFull: [0x13D8] }, + { code: 0xABA9, lower: [], title: [], upper: [], fold: 0x13D9, foldFull: [0x13D9] }, + { code: 0xABAA, lower: [], title: [], upper: [], fold: 0x13DA, foldFull: [0x13DA] }, + { code: 0xABAB, lower: [], title: [], upper: [], fold: 0x13DB, foldFull: [0x13DB] }, + { code: 0xABAC, lower: [], title: [], upper: [], fold: 0x13DC, foldFull: [0x13DC] }, + { code: 0xABAD, lower: [], title: [], upper: [], fold: 0x13DD, foldFull: [0x13DD] }, + { code: 0xABAE, lower: [], title: [], upper: [], fold: 0x13DE, foldFull: [0x13DE] }, + { code: 0xABAF, lower: [], title: [], upper: [], fold: 0x13DF, foldFull: [0x13DF] }, + { code: 0xABB0, lower: [], title: [], upper: [], fold: 0x13E0, foldFull: [0x13E0] }, + { code: 0xABB1, lower: [], title: [], upper: [], fold: 0x13E1, foldFull: [0x13E1] }, + { code: 0xABB2, lower: [], title: [], upper: [], fold: 0x13E2, foldFull: [0x13E2] }, + { code: 0xABB3, lower: [], title: [], upper: [], fold: 0x13E3, foldFull: [0x13E3] }, + { code: 0xABB4, lower: [], title: [], upper: [], fold: 0x13E4, foldFull: [0x13E4] }, + { code: 0xABB5, lower: [], title: [], upper: [], fold: 0x13E5, foldFull: [0x13E5] }, + { code: 0xABB6, lower: [], title: [], upper: [], fold: 0x13E6, foldFull: [0x13E6] }, + { code: 0xABB7, lower: [], title: [], upper: [], fold: 0x13E7, foldFull: [0x13E7] }, + { code: 0xABB8, lower: [], title: [], upper: [], fold: 0x13E8, foldFull: [0x13E8] }, + { code: 0xABB9, lower: [], title: [], upper: [], fold: 0x13E9, foldFull: [0x13E9] }, + { code: 0xABBA, lower: [], title: [], upper: [], fold: 0x13EA, foldFull: [0x13EA] }, + { code: 0xABBB, lower: [], title: [], upper: [], fold: 0x13EB, foldFull: [0x13EB] }, + { code: 0xABBC, lower: [], title: [], upper: [], fold: 0x13EC, foldFull: [0x13EC] }, + { code: 0xABBD, lower: [], title: [], upper: [], fold: 0x13ED, foldFull: [0x13ED] }, + { code: 0xABBE, lower: [], title: [], upper: [], fold: 0x13EE, foldFull: [0x13EE] }, + { code: 0xABBF, lower: [], title: [], upper: [], fold: 0x13EF, foldFull: [0x13EF] }, { code: 0xFB00, lower: [0xFB00], title: [0x0046,0x0066], upper: [0x0046,0x0046], fold: 0, foldFull: [0x0066,0x0066] }, { code: 0xFB00, lower: [0xFB00], title: [0x0046,0x0066], upper: [0x0046,0x0046], fold: 0, foldFull: [0x0066,0x0066] }, { code: 0xFB01, lower: [0xFB01], title: [0x0046,0x0069], upper: [0x0046,0x0049], fold: 0, foldFull: [0x0066,0x0069] }, @@ -1246,7 +1425,192 @@ rules = [ { code: 0x10424, lower: [], title: [], upper: [], fold: 0x1044C, foldFull: [0x1044C] }, { code: 0x10425, lower: [], title: [], upper: [], fold: 0x1044D, foldFull: [0x1044D] }, { code: 0x10426, lower: [], title: [], upper: [], fold: 0x1044E, foldFull: [0x1044E] }, - { code: 0x10427, lower: [], title: [], upper: [], fold: 0x1044F, foldFull: [0x1044F] } + { code: 0x10427, lower: [], title: [], upper: [], fold: 0x1044F, foldFull: [0x1044F] }, + { code: 0x104B0, lower: [], title: [], upper: [], fold: 0x104D8, foldFull: [0x104D8] }, + { code: 0x104B1, lower: [], title: [], upper: [], fold: 0x104D9, foldFull: [0x104D9] }, + { code: 0x104B2, lower: [], title: [], upper: [], fold: 0x104DA, foldFull: [0x104DA] }, + { code: 0x104B3, lower: [], title: [], upper: [], fold: 0x104DB, foldFull: [0x104DB] }, + { code: 0x104B4, lower: [], title: [], upper: [], fold: 0x104DC, foldFull: [0x104DC] }, + { code: 0x104B5, lower: [], title: [], upper: [], fold: 0x104DD, foldFull: [0x104DD] }, + { code: 0x104B6, lower: [], title: [], upper: [], fold: 0x104DE, foldFull: [0x104DE] }, + { code: 0x104B7, lower: [], title: [], upper: [], fold: 0x104DF, foldFull: [0x104DF] }, + { code: 0x104B8, lower: [], title: [], upper: [], fold: 0x104E0, foldFull: [0x104E0] }, + { code: 0x104B9, lower: [], title: [], upper: [], fold: 0x104E1, foldFull: [0x104E1] }, + { code: 0x104BA, lower: [], title: [], upper: [], fold: 0x104E2, foldFull: [0x104E2] }, + { code: 0x104BB, lower: [], title: [], upper: [], fold: 0x104E3, foldFull: [0x104E3] }, + { code: 0x104BC, lower: [], title: [], upper: [], fold: 0x104E4, foldFull: [0x104E4] }, + { code: 0x104BD, lower: [], title: [], upper: [], fold: 0x104E5, foldFull: [0x104E5] }, + { code: 0x104BE, lower: [], title: [], upper: [], fold: 0x104E6, foldFull: [0x104E6] }, + { code: 0x104BF, lower: [], title: [], upper: [], fold: 0x104E7, foldFull: [0x104E7] }, + { code: 0x104C0, lower: [], title: [], upper: [], fold: 0x104E8, foldFull: [0x104E8] }, + { code: 0x104C1, lower: [], title: [], upper: [], fold: 0x104E9, foldFull: [0x104E9] }, + { code: 0x104C2, lower: [], title: [], upper: [], fold: 0x104EA, foldFull: [0x104EA] }, + { code: 0x104C3, lower: [], title: [], upper: [], fold: 0x104EB, foldFull: [0x104EB] }, + { code: 0x104C4, lower: [], title: [], upper: [], fold: 0x104EC, foldFull: [0x104EC] }, + { code: 0x104C5, lower: [], title: [], upper: [], fold: 0x104ED, foldFull: [0x104ED] }, + { code: 0x104C6, lower: [], title: [], upper: [], fold: 0x104EE, foldFull: [0x104EE] }, + { code: 0x104C7, lower: [], title: [], upper: [], fold: 0x104EF, foldFull: [0x104EF] }, + { code: 0x104C8, lower: [], title: [], upper: [], fold: 0x104F0, foldFull: [0x104F0] }, + { code: 0x104C9, lower: [], title: [], upper: [], fold: 0x104F1, foldFull: [0x104F1] }, + { code: 0x104CA, lower: [], title: [], upper: [], fold: 0x104F2, foldFull: [0x104F2] }, + { code: 0x104CB, lower: [], title: [], upper: [], fold: 0x104F3, foldFull: [0x104F3] }, + { code: 0x104CC, lower: [], title: [], upper: [], fold: 0x104F4, foldFull: [0x104F4] }, + { code: 0x104CD, lower: [], title: [], upper: [], fold: 0x104F5, foldFull: [0x104F5] }, + { code: 0x104CE, lower: [], title: [], upper: [], fold: 0x104F6, foldFull: [0x104F6] }, + { code: 0x104CF, lower: [], title: [], upper: [], fold: 0x104F7, foldFull: [0x104F7] }, + { code: 0x104D0, lower: [], title: [], upper: [], fold: 0x104F8, foldFull: [0x104F8] }, + { code: 0x104D1, lower: [], title: [], upper: [], fold: 0x104F9, foldFull: [0x104F9] }, + { code: 0x104D2, lower: [], title: [], upper: [], fold: 0x104FA, foldFull: [0x104FA] }, + { code: 0x104D3, lower: [], title: [], upper: [], fold: 0x104FB, foldFull: [0x104FB] }, + { code: 0x10C80, lower: [], title: [], upper: [], fold: 0x10CC0, foldFull: [0x10CC0] }, + { code: 0x10C81, lower: [], title: [], upper: [], fold: 0x10CC1, foldFull: [0x10CC1] }, + { code: 0x10C82, lower: [], title: [], upper: [], fold: 0x10CC2, foldFull: [0x10CC2] }, + { code: 0x10C83, lower: [], title: [], upper: [], fold: 0x10CC3, foldFull: [0x10CC3] }, + { code: 0x10C84, lower: [], title: [], upper: [], fold: 0x10CC4, foldFull: [0x10CC4] }, + { code: 0x10C85, lower: [], title: [], upper: [], fold: 0x10CC5, foldFull: [0x10CC5] }, + { code: 0x10C86, lower: [], title: [], upper: [], fold: 0x10CC6, foldFull: [0x10CC6] }, + { code: 0x10C87, lower: [], title: [], upper: [], fold: 0x10CC7, foldFull: [0x10CC7] }, + { code: 0x10C88, lower: [], title: [], upper: [], fold: 0x10CC8, foldFull: [0x10CC8] }, + { code: 0x10C89, lower: [], title: [], upper: [], fold: 0x10CC9, foldFull: [0x10CC9] }, + { code: 0x10C8A, lower: [], title: [], upper: [], fold: 0x10CCA, foldFull: [0x10CCA] }, + { code: 0x10C8B, lower: [], title: [], upper: [], fold: 0x10CCB, foldFull: [0x10CCB] }, + { code: 0x10C8C, lower: [], title: [], upper: [], fold: 0x10CCC, foldFull: [0x10CCC] }, + { code: 0x10C8D, lower: [], title: [], upper: [], fold: 0x10CCD, foldFull: [0x10CCD] }, + { code: 0x10C8E, lower: [], title: [], upper: [], fold: 0x10CCE, foldFull: [0x10CCE] }, + { code: 0x10C8F, lower: [], title: [], upper: [], fold: 0x10CCF, foldFull: [0x10CCF] }, + { code: 0x10C90, lower: [], title: [], upper: [], fold: 0x10CD0, foldFull: [0x10CD0] }, + { code: 0x10C91, lower: [], title: [], upper: [], fold: 0x10CD1, foldFull: [0x10CD1] }, + { code: 0x10C92, lower: [], title: [], upper: [], fold: 0x10CD2, foldFull: [0x10CD2] }, + { code: 0x10C93, lower: [], title: [], upper: [], fold: 0x10CD3, foldFull: [0x10CD3] }, + { code: 0x10C94, lower: [], title: [], upper: [], fold: 0x10CD4, foldFull: [0x10CD4] }, + { code: 0x10C95, lower: [], title: [], upper: [], fold: 0x10CD5, foldFull: [0x10CD5] }, + { code: 0x10C96, lower: [], title: [], upper: [], fold: 0x10CD6, foldFull: [0x10CD6] }, + { code: 0x10C97, lower: [], title: [], upper: [], fold: 0x10CD7, foldFull: [0x10CD7] }, + { code: 0x10C98, lower: [], title: [], upper: [], fold: 0x10CD8, foldFull: [0x10CD8] }, + { code: 0x10C99, lower: [], title: [], upper: [], fold: 0x10CD9, foldFull: [0x10CD9] }, + { code: 0x10C9A, lower: [], title: [], upper: [], fold: 0x10CDA, foldFull: [0x10CDA] }, + { code: 0x10C9B, lower: [], title: [], upper: [], fold: 0x10CDB, foldFull: [0x10CDB] }, + { code: 0x10C9C, lower: [], title: [], upper: [], fold: 0x10CDC, foldFull: [0x10CDC] }, + { code: 0x10C9D, lower: [], title: [], upper: [], fold: 0x10CDD, foldFull: [0x10CDD] }, + { code: 0x10C9E, lower: [], title: [], upper: [], fold: 0x10CDE, foldFull: [0x10CDE] }, + { code: 0x10C9F, lower: [], title: [], upper: [], fold: 0x10CDF, foldFull: [0x10CDF] }, + { code: 0x10CA0, lower: [], title: [], upper: [], fold: 0x10CE0, foldFull: [0x10CE0] }, + { code: 0x10CA1, lower: [], title: [], upper: [], fold: 0x10CE1, foldFull: [0x10CE1] }, + { code: 0x10CA2, lower: [], title: [], upper: [], fold: 0x10CE2, foldFull: [0x10CE2] }, + { code: 0x10CA3, lower: [], title: [], upper: [], fold: 0x10CE3, foldFull: [0x10CE3] }, + { code: 0x10CA4, lower: [], title: [], upper: [], fold: 0x10CE4, foldFull: [0x10CE4] }, + { code: 0x10CA5, lower: [], title: [], upper: [], fold: 0x10CE5, foldFull: [0x10CE5] }, + { code: 0x10CA6, lower: [], title: [], upper: [], fold: 0x10CE6, foldFull: [0x10CE6] }, + { code: 0x10CA7, lower: [], title: [], upper: [], fold: 0x10CE7, foldFull: [0x10CE7] }, + { code: 0x10CA8, lower: [], title: [], upper: [], fold: 0x10CE8, foldFull: [0x10CE8] }, + { code: 0x10CA9, lower: [], title: [], upper: [], fold: 0x10CE9, foldFull: [0x10CE9] }, + { code: 0x10CAA, lower: [], title: [], upper: [], fold: 0x10CEA, foldFull: [0x10CEA] }, + { code: 0x10CAB, lower: [], title: [], upper: [], fold: 0x10CEB, foldFull: [0x10CEB] }, + { code: 0x10CAC, lower: [], title: [], upper: [], fold: 0x10CEC, foldFull: [0x10CEC] }, + { code: 0x10CAD, lower: [], title: [], upper: [], fold: 0x10CED, foldFull: [0x10CED] }, + { code: 0x10CAE, lower: [], title: [], upper: [], fold: 0x10CEE, foldFull: [0x10CEE] }, + { code: 0x10CAF, lower: [], title: [], upper: [], fold: 0x10CEF, foldFull: [0x10CEF] }, + { code: 0x10CB0, lower: [], title: [], upper: [], fold: 0x10CF0, foldFull: [0x10CF0] }, + { code: 0x10CB1, lower: [], title: [], upper: [], fold: 0x10CF1, foldFull: [0x10CF1] }, + { code: 0x10CB2, lower: [], title: [], upper: [], fold: 0x10CF2, foldFull: [0x10CF2] }, + { code: 0x118A0, lower: [], title: [], upper: [], fold: 0x118C0, foldFull: [0x118C0] }, + { code: 0x118A1, lower: [], title: [], upper: [], fold: 0x118C1, foldFull: [0x118C1] }, + { code: 0x118A2, lower: [], title: [], upper: [], fold: 0x118C2, foldFull: [0x118C2] }, + { code: 0x118A3, lower: [], title: [], upper: [], fold: 0x118C3, foldFull: [0x118C3] }, + { code: 0x118A4, lower: [], title: [], upper: [], fold: 0x118C4, foldFull: [0x118C4] }, + { code: 0x118A5, lower: [], title: [], upper: [], fold: 0x118C5, foldFull: [0x118C5] }, + { code: 0x118A6, lower: [], title: [], upper: [], fold: 0x118C6, foldFull: [0x118C6] }, + { code: 0x118A7, lower: [], title: [], upper: [], fold: 0x118C7, foldFull: [0x118C7] }, + { code: 0x118A8, lower: [], title: [], upper: [], fold: 0x118C8, foldFull: [0x118C8] }, + { code: 0x118A9, lower: [], title: [], upper: [], fold: 0x118C9, foldFull: [0x118C9] }, + { code: 0x118AA, lower: [], title: [], upper: [], fold: 0x118CA, foldFull: [0x118CA] }, + { code: 0x118AB, lower: [], title: [], upper: [], fold: 0x118CB, foldFull: [0x118CB] }, + { code: 0x118AC, lower: [], title: [], upper: [], fold: 0x118CC, foldFull: [0x118CC] }, + { code: 0x118AD, lower: [], title: [], upper: [], fold: 0x118CD, foldFull: [0x118CD] }, + { code: 0x118AE, lower: [], title: [], upper: [], fold: 0x118CE, foldFull: [0x118CE] }, + { code: 0x118AF, lower: [], title: [], upper: [], fold: 0x118CF, foldFull: [0x118CF] }, + { code: 0x118B0, lower: [], title: [], upper: [], fold: 0x118D0, foldFull: [0x118D0] }, + { code: 0x118B1, lower: [], title: [], upper: [], fold: 0x118D1, foldFull: [0x118D1] }, + { code: 0x118B2, lower: [], title: [], upper: [], fold: 0x118D2, foldFull: [0x118D2] }, + { code: 0x118B3, lower: [], title: [], upper: [], fold: 0x118D3, foldFull: [0x118D3] }, + { code: 0x118B4, lower: [], title: [], upper: [], fold: 0x118D4, foldFull: [0x118D4] }, + { code: 0x118B5, lower: [], title: [], upper: [], fold: 0x118D5, foldFull: [0x118D5] }, + { code: 0x118B6, lower: [], title: [], upper: [], fold: 0x118D6, foldFull: [0x118D6] }, + { code: 0x118B7, lower: [], title: [], upper: [], fold: 0x118D7, foldFull: [0x118D7] }, + { code: 0x118B8, lower: [], title: [], upper: [], fold: 0x118D8, foldFull: [0x118D8] }, + { code: 0x118B9, lower: [], title: [], upper: [], fold: 0x118D9, foldFull: [0x118D9] }, + { code: 0x118BA, lower: [], title: [], upper: [], fold: 0x118DA, foldFull: [0x118DA] }, + { code: 0x118BB, lower: [], title: [], upper: [], fold: 0x118DB, foldFull: [0x118DB] }, + { code: 0x118BC, lower: [], title: [], upper: [], fold: 0x118DC, foldFull: [0x118DC] }, + { code: 0x118BD, lower: [], title: [], upper: [], fold: 0x118DD, foldFull: [0x118DD] }, + { code: 0x118BE, lower: [], title: [], upper: [], fold: 0x118DE, foldFull: [0x118DE] }, + { code: 0x118BF, lower: [], title: [], upper: [], fold: 0x118DF, foldFull: [0x118DF] }, + { code: 0x16E40, lower: [], title: [], upper: [], fold: 0x16E60, foldFull: [0x16E60] }, + { code: 0x16E41, lower: [], title: [], upper: [], fold: 0x16E61, foldFull: [0x16E61] }, + { code: 0x16E42, lower: [], title: [], upper: [], fold: 0x16E62, foldFull: [0x16E62] }, + { code: 0x16E43, lower: [], title: [], upper: [], fold: 0x16E63, foldFull: [0x16E63] }, + { code: 0x16E44, lower: [], title: [], upper: [], fold: 0x16E64, foldFull: [0x16E64] }, + { code: 0x16E45, lower: [], title: [], upper: [], fold: 0x16E65, foldFull: [0x16E65] }, + { code: 0x16E46, lower: [], title: [], upper: [], fold: 0x16E66, foldFull: [0x16E66] }, + { code: 0x16E47, lower: [], title: [], upper: [], fold: 0x16E67, foldFull: [0x16E67] }, + { code: 0x16E48, lower: [], title: [], upper: [], fold: 0x16E68, foldFull: [0x16E68] }, + { code: 0x16E49, lower: [], title: [], upper: [], fold: 0x16E69, foldFull: [0x16E69] }, + { code: 0x16E4A, lower: [], title: [], upper: [], fold: 0x16E6A, foldFull: [0x16E6A] }, + { code: 0x16E4B, lower: [], title: [], upper: [], fold: 0x16E6B, foldFull: [0x16E6B] }, + { code: 0x16E4C, lower: [], title: [], upper: [], fold: 0x16E6C, foldFull: [0x16E6C] }, + { code: 0x16E4D, lower: [], title: [], upper: [], fold: 0x16E6D, foldFull: [0x16E6D] }, + { code: 0x16E4E, lower: [], title: [], upper: [], fold: 0x16E6E, foldFull: [0x16E6E] }, + { code: 0x16E4F, lower: [], title: [], upper: [], fold: 0x16E6F, foldFull: [0x16E6F] }, + { code: 0x16E50, lower: [], title: [], upper: [], fold: 0x16E70, foldFull: [0x16E70] }, + { code: 0x16E51, lower: [], title: [], upper: [], fold: 0x16E71, foldFull: [0x16E71] }, + { code: 0x16E52, lower: [], title: [], upper: [], fold: 0x16E72, foldFull: [0x16E72] }, + { code: 0x16E53, lower: [], title: [], upper: [], fold: 0x16E73, foldFull: [0x16E73] }, + { code: 0x16E54, lower: [], title: [], upper: [], fold: 0x16E74, foldFull: [0x16E74] }, + { code: 0x16E55, lower: [], title: [], upper: [], fold: 0x16E75, foldFull: [0x16E75] }, + { code: 0x16E56, lower: [], title: [], upper: [], fold: 0x16E76, foldFull: [0x16E76] }, + { code: 0x16E57, lower: [], title: [], upper: [], fold: 0x16E77, foldFull: [0x16E77] }, + { code: 0x16E58, lower: [], title: [], upper: [], fold: 0x16E78, foldFull: [0x16E78] }, + { code: 0x16E59, lower: [], title: [], upper: [], fold: 0x16E79, foldFull: [0x16E79] }, + { code: 0x16E5A, lower: [], title: [], upper: [], fold: 0x16E7A, foldFull: [0x16E7A] }, + { code: 0x16E5B, lower: [], title: [], upper: [], fold: 0x16E7B, foldFull: [0x16E7B] }, + { code: 0x16E5C, lower: [], title: [], upper: [], fold: 0x16E7C, foldFull: [0x16E7C] }, + { code: 0x16E5D, lower: [], title: [], upper: [], fold: 0x16E7D, foldFull: [0x16E7D] }, + { code: 0x16E5E, lower: [], title: [], upper: [], fold: 0x16E7E, foldFull: [0x16E7E] }, + { code: 0x16E5F, lower: [], title: [], upper: [], fold: 0x16E7F, foldFull: [0x16E7F] }, + { code: 0x1E900, lower: [], title: [], upper: [], fold: 0x1E922, foldFull: [0x1E922] }, + { code: 0x1E901, lower: [], title: [], upper: [], fold: 0x1E923, foldFull: [0x1E923] }, + { code: 0x1E902, lower: [], title: [], upper: [], fold: 0x1E924, foldFull: [0x1E924] }, + { code: 0x1E903, lower: [], title: [], upper: [], fold: 0x1E925, foldFull: [0x1E925] }, + { code: 0x1E904, lower: [], title: [], upper: [], fold: 0x1E926, foldFull: [0x1E926] }, + { code: 0x1E905, lower: [], title: [], upper: [], fold: 0x1E927, foldFull: [0x1E927] }, + { code: 0x1E906, lower: [], title: [], upper: [], fold: 0x1E928, foldFull: [0x1E928] }, + { code: 0x1E907, lower: [], title: [], upper: [], fold: 0x1E929, foldFull: [0x1E929] }, + { code: 0x1E908, lower: [], title: [], upper: [], fold: 0x1E92A, foldFull: [0x1E92A] }, + { code: 0x1E909, lower: [], title: [], upper: [], fold: 0x1E92B, foldFull: [0x1E92B] }, + { code: 0x1E90A, lower: [], title: [], upper: [], fold: 0x1E92C, foldFull: [0x1E92C] }, + { code: 0x1E90B, lower: [], title: [], upper: [], fold: 0x1E92D, foldFull: [0x1E92D] }, + { code: 0x1E90C, lower: [], title: [], upper: [], fold: 0x1E92E, foldFull: [0x1E92E] }, + { code: 0x1E90D, lower: [], title: [], upper: [], fold: 0x1E92F, foldFull: [0x1E92F] }, + { code: 0x1E90E, lower: [], title: [], upper: [], fold: 0x1E930, foldFull: [0x1E930] }, + { code: 0x1E90F, lower: [], title: [], upper: [], fold: 0x1E931, foldFull: [0x1E931] }, + { code: 0x1E910, lower: [], title: [], upper: [], fold: 0x1E932, foldFull: [0x1E932] }, + { code: 0x1E911, lower: [], title: [], upper: [], fold: 0x1E933, foldFull: [0x1E933] }, + { code: 0x1E912, lower: [], title: [], upper: [], fold: 0x1E934, foldFull: [0x1E934] }, + { code: 0x1E913, lower: [], title: [], upper: [], fold: 0x1E935, foldFull: [0x1E935] }, + { code: 0x1E914, lower: [], title: [], upper: [], fold: 0x1E936, foldFull: [0x1E936] }, + { code: 0x1E915, lower: [], title: [], upper: [], fold: 0x1E937, foldFull: [0x1E937] }, + { code: 0x1E916, lower: [], title: [], upper: [], fold: 0x1E938, foldFull: [0x1E938] }, + { code: 0x1E917, lower: [], title: [], upper: [], fold: 0x1E939, foldFull: [0x1E939] }, + { code: 0x1E918, lower: [], title: [], upper: [], fold: 0x1E93A, foldFull: [0x1E93A] }, + { code: 0x1E919, lower: [], title: [], upper: [], fold: 0x1E93B, foldFull: [0x1E93B] }, + { code: 0x1E91A, lower: [], title: [], upper: [], fold: 0x1E93C, foldFull: [0x1E93C] }, + { code: 0x1E91B, lower: [], title: [], upper: [], fold: 0x1E93D, foldFull: [0x1E93D] }, + { code: 0x1E91C, lower: [], title: [], upper: [], fold: 0x1E93E, foldFull: [0x1E93E] }, + { code: 0x1E91D, lower: [], title: [], upper: [], fold: 0x1E93F, foldFull: [0x1E93F] }, + { code: 0x1E91E, lower: [], title: [], upper: [], fold: 0x1E940, foldFull: [0x1E940] }, + { code: 0x1E91F, lower: [], title: [], upper: [], fold: 0x1E941, foldFull: [0x1E941] }, + { code: 0x1E920, lower: [], title: [], upper: [], fold: 0x1E942, foldFull: [0x1E942] }, + { code: 0x1E921, lower: [], title: [], upper: [], fold: 0x1E943, foldFull: [0x1E943] } ] zeroRec :: Int -> CaseRec diff --git a/src/Data/CodePoint/Unicode/Internal.purs b/src/Data/CodePoint/Unicode/Internal.purs index 7e43525..d562619 100644 --- a/src/Data/CodePoint/Unicode/Internal.purs +++ b/src/Data/CodePoint/Unicode/Internal.purs @@ -1,6 +1,6 @@ ----------------------------------------------------------- -- This is an automatically generated file: do not edit --- Generated by ubconfc at Fri May 25 10:18:07 CDT 2018 +-- Generated by ubconfc at Tue Jan 12 18:57:20 CST 2021 ----------------------------------------------------------- @@ -198,10 +198,10 @@ maxUniChar :: Int maxUniChar = 1114109 numBlocks :: Int -numBlocks = 3244 +numBlocks = 3396 numConvBlocks :: Int -numConvBlocks = 1304 +numConvBlocks = 1332 numSpaceBlocks :: Int numSpaceBlocks = 7 @@ -210,46 +210,49 @@ numLat1Blocks :: Int numLat1Blocks = 63 numRules :: Int -numRules = 197 +numRules = 205 -rule193 :: ConversionRule -rule193 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 40, titledist: 0 } +rule201 :: ConversionRule +rule201 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 40, titledist: 0 } -rule183 :: ConversionRule -rule183 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42315, titledist: 0 } +rule188 :: ConversionRule +rule188 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42315, titledist: 0 } rule63 :: ConversionRule rule63 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10782, lowdist: 0, titledist: 10782 } -rule144 :: ConversionRule -rule144 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 128, lowdist: 0, titledist: 128 } +rule148 :: ConversionRule +rule148 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 128, lowdist: 0, titledist: 128 } -rule180 :: ConversionRule -rule180 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42280, titledist: 0 } +rule184 :: ConversionRule +rule184 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42280, titledist: 0 } rule74 :: ConversionRule rule74 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -209, lowdist: 0, titledist: -209 } +rule194 :: ConversionRule +rule194 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -48, titledist: 0 } + rule22 :: ConversionRule rule22 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 1, titledist: 0 } -rule187 :: ConversionRule -rule187 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42261, titledist: 0 } +rule192 :: ConversionRule +rule192 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42261, titledist: 0 } -rule146 :: ConversionRule -rule146 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 126, lowdist: 0, titledist: 126 } +rule150 :: ConversionRule +rule150 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 126, lowdist: 0, titledist: 126 } rule45 :: ConversionRule rule45 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 219, titledist: 0 } -rule179 :: ConversionRule -rule179 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -35332, titledist: 0 } +rule183 :: ConversionRule +rule183 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -35332, titledist: 0 } -rule114 :: ConversionRule -rule114 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -60, titledist: 0 } +rule115 :: ConversionRule +rule115 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -60, titledist: 0 } -rule109 :: ConversionRule -rule109 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -8, lowdist: 0, titledist: -8 } +rule110 :: ConversionRule +rule110 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -8, lowdist: 0, titledist: -8 } rule44 :: ConversionRule rule44 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 217, titledist: 0 } @@ -257,8 +260,8 @@ rule44 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1 rule81 :: ConversionRule rule81 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10727, lowdist: 0, titledist: 10727 } -rule161 :: ConversionRule -rule161 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -8262, titledist: 0 } +rule165 :: ConversionRule +rule165 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -8262, titledist: 0 } rule40 :: ConversionRule rule40 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 213, titledist: 0 } @@ -278,50 +281,50 @@ rule32 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1 rule37 :: ConversionRule rule37 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 211, titledist: 0 } -rule110 :: ConversionRule -rule110 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -86, lowdist: 0, titledist: -86 } +rule111 :: ConversionRule +rule111 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -86, lowdist: 0, titledist: -86 } -rule85 :: ConversionRule -rule85 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -217, lowdist: 0, titledist: -217 } +rule86 :: ConversionRule +rule86 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -217, lowdist: 0, titledist: -217 } rule5 :: ConversionRule rule5 = ConversionRule { category: gencatPE, unicodeCat: NUMCAT_PE, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule122 :: ConversionRule -rule122 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -48, lowdist: 0, titledist: -48 } +rule123 :: ConversionRule +rule123 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -48, lowdist: 0, titledist: -48 } rule73 :: ConversionRule rule73 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42308, lowdist: 0, titledist: 42308 } -rule160 :: ConversionRule -rule160 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -8383, titledist: 0 } +rule164 :: ConversionRule +rule164 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -8383, titledist: 0 } -rule163 :: ConversionRule -rule163 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -28, lowdist: 0, titledist: -28 } +rule167 :: ConversionRule +rule167 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -28, lowdist: 0, titledist: -28 } -rule128 :: ConversionRule -rule128 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6253, lowdist: 0, titledist: -6253 } +rule130 :: ConversionRule +rule130 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6253, lowdist: 0, titledist: -6253 } -rule112 :: ConversionRule -rule112 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 7, lowdist: 0, titledist: 7 } +rule113 :: ConversionRule +rule113 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 7, lowdist: 0, titledist: 7 } -rule101 :: ConversionRule -rule101 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -64, lowdist: 0, titledist: -64 } +rule102 :: ConversionRule +rule102 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -64, lowdist: 0, titledist: -64 } rule61 :: ConversionRule rule61 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10783, lowdist: 0, titledist: 10783 } -rule88 :: ConversionRule -rule88 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42261, lowdist: 0, titledist: 42261 } +rule89 :: ConversionRule +rule89 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42261, lowdist: 0, titledist: 42261 } rule62 :: ConversionRule rule62 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10780, lowdist: 0, titledist: 10780 } -rule111 :: ConversionRule -rule111 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -80, lowdist: 0, titledist: -80 } +rule112 :: ConversionRule +rule112 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -80, lowdist: 0, titledist: -80 } -rule104 :: ConversionRule -rule104 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -62, lowdist: 0, titledist: -62 } +rule105 :: ConversionRule +rule105 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -62, lowdist: 0, titledist: -62 } rule60 :: ConversionRule rule60 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 71, titledist: 0 } @@ -329,68 +332,71 @@ rule60 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1 rule51 :: ConversionRule rule51 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -97, titledist: 0 } -rule95 :: ConversionRule -rule95 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 37, titledist: 0 } +rule96 :: ConversionRule +rule96 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 37, titledist: 0 } -rule94 :: ConversionRule -rule94 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 38, titledist: 0 } +rule95 :: ConversionRule +rule95 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 38, titledist: 0 } -rule141 :: ConversionRule -rule141 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 74, lowdist: 0, titledist: 74 } +rule145 :: ConversionRule +rule145 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 74, lowdist: 0, titledist: 74 } -rule131 :: ConversionRule -rule131 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6243, lowdist: 0, titledist: -6243 } +rule133 :: ConversionRule +rule133 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6243, lowdist: 0, titledist: -6243 } -rule195 :: ConversionRule -rule195 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 34, titledist: 0 } +rule203 :: ConversionRule +rule203 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 34, titledist: 0 } -rule192 :: ConversionRule -rule192 = ConversionRule { category: gencatCO, unicodeCat: NUMCAT_CO, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule200 :: ConversionRule +rule200 = ConversionRule { category: gencatCO, unicodeCat: NUMCAT_CO, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule194 :: ConversionRule -rule194 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -40, lowdist: 0, titledist: -40 } +rule202 :: ConversionRule +rule202 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -40, lowdist: 0, titledist: -40 } rule28 :: ConversionRule rule28 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 195, lowdist: 0, titledist: 195 } -rule83 :: ConversionRule -rule83 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42282, lowdist: 0, titledist: 42282 } +rule84 :: ConversionRule +rule84 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42282, lowdist: 0, titledist: 42282 } -rule176 :: ConversionRule -rule176 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10782, titledist: 0 } +rule180 :: ConversionRule +rule180 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10782, titledist: 0 } -rule175 :: ConversionRule -rule175 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10783, titledist: 0 } +rule179 :: ConversionRule +rule179 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10783, titledist: 0 } -rule188 :: ConversionRule -rule188 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 928, titledist: 0 } +rule195 :: ConversionRule +rule195 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42307, titledist: 0 } + +rule193 :: ConversionRule +rule193 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 928, titledist: 0 } rule9 :: ConversionRule rule9 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 32, titledist: 0 } -rule177 :: ConversionRule -rule177 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10815, titledist: 0 } +rule181 :: ConversionRule +rule181 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10815, titledist: 0 } -rule156 :: ConversionRule -rule156 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -126, titledist: 0 } +rule160 :: ConversionRule +rule160 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -126, titledist: 0 } rule4 :: ConversionRule rule4 = ConversionRule { category: gencatPS, unicodeCat: NUMCAT_PS, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule151 :: ConversionRule -rule151 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -7205, lowdist: 0, titledist: -7205 } +rule155 :: ConversionRule +rule155 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -7205, lowdist: 0, titledist: -7205 } rule69 :: ConversionRule rule69 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42319, lowdist: 0, titledist: 42319 } -rule173 :: ConversionRule -rule173 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10780, titledist: 0 } +rule177 :: ConversionRule +rule177 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10780, titledist: 0 } -rule150 :: ConversionRule -rule150 = ConversionRule { category: gencatLT, unicodeCat: NUMCAT_LT, possible: 1, updist: 0, lowdist: -9, titledist: 0 } +rule154 :: ConversionRule +rule154 = ConversionRule { category: gencatLT, unicodeCat: NUMCAT_LT, possible: 1, updist: 0, lowdist: -9, titledist: 0 } -rule171 :: ConversionRule -rule171 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -10795, lowdist: 0, titledist: -10795 } +rule175 :: ConversionRule +rule175 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -10795, lowdist: 0, titledist: -10795 } rule25 :: ConversionRule rule25 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -232, lowdist: 0, titledist: -232 } @@ -398,8 +404,8 @@ rule25 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1 rule27 :: ConversionRule rule27 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -300, lowdist: 0, titledist: -300 } -rule125 :: ConversionRule -rule125 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 38864, titledist: 0 } +rule127 :: ConversionRule +rule127 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 38864, titledist: 0 } rule16 :: ConversionRule rule16 = ConversionRule { category: gencatCF, unicodeCat: NUMCAT_CF, possible: 0, updist: 0, lowdist: 0, titledist: 0 } @@ -407,29 +413,29 @@ rule16 = ConversionRule { category: gencatCF, unicodeCat: NUMCAT_CF, possible: 0 rule78 :: ConversionRule rule78 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10749, lowdist: 0, titledist: 10749 } -rule140 :: ConversionRule -rule140 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -8, titledist: 0 } +rule144 :: ConversionRule +rule144 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -8, titledist: 0 } rule26 :: ConversionRule rule26 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -121, titledist: 0 } -rule145 :: ConversionRule -rule145 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 112, lowdist: 0, titledist: 112 } +rule149 :: ConversionRule +rule149 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 112, lowdist: 0, titledist: 112 } rule41 :: ConversionRule rule41 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 130, lowdist: 0, titledist: 130 } -rule89 :: ConversionRule -rule89 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42258, lowdist: 0, titledist: 42258 } +rule90 :: ConversionRule +rule90 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42258, lowdist: 0, titledist: 42258 } rule31 :: ConversionRule rule31 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 205, titledist: 0 } -rule190 :: ConversionRule -rule190 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -38864, lowdist: 0, titledist: -38864 } +rule198 :: ConversionRule +rule198 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -38864, lowdist: 0, titledist: -38864 } -rule127 :: ConversionRule -rule127 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6254, lowdist: 0, titledist: -6254 } +rule129 :: ConversionRule +rule129 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6254, lowdist: 0, titledist: -6254 } rule30 :: ConversionRule rule30 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 206, titledist: 0 } @@ -440,8 +446,8 @@ rule71 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1 rule3 :: ConversionRule rule3 = ConversionRule { category: gencatSC, unicodeCat: NUMCAT_SC, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule153 :: ConversionRule -rule153 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -100, titledist: 0 } +rule157 :: ConversionRule +rule157 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -100, titledist: 0 } rule24 :: ConversionRule rule24 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -199, titledist: 0 } @@ -455,8 +461,8 @@ rule34 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1 rule50 :: ConversionRule rule50 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -79, lowdist: 0, titledist: -79 } -rule172 :: ConversionRule -rule172 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -10792, lowdist: 0, titledist: -10792 } +rule176 :: ConversionRule +rule176 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -10792, lowdist: 0, titledist: -10792 } rule58 :: ConversionRule rule58 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -195, titledist: 0 } @@ -467,86 +473,92 @@ rule67 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1 rule80 :: ConversionRule rule80 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -214, lowdist: 0, titledist: -214 } -rule137 :: ConversionRule -rule137 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -59, lowdist: 0, titledist: -59 } +rule141 :: ConversionRule +rule141 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -59, lowdist: 0, titledist: -59 } -rule129 :: ConversionRule -rule129 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6244, lowdist: 0, titledist: -6244 } +rule131 :: ConversionRule +rule131 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6244, lowdist: 0, titledist: -6244 } rule57 :: ConversionRule rule57 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10815, lowdist: 0, titledist: 10815 } -rule105 :: ConversionRule -rule105 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -57, lowdist: 0, titledist: -57 } +rule106 :: ConversionRule +rule106 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -57, lowdist: 0, titledist: -57 } -rule93 :: ConversionRule -rule93 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 116, titledist: 0 } +rule94 :: ConversionRule +rule94 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 116, titledist: 0 } -rule117 :: ConversionRule -rule117 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 80, titledist: 0 } +rule118 :: ConversionRule +rule118 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 80, titledist: 0 } -rule108 :: ConversionRule -rule108 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -54, lowdist: 0, titledist: -54 } +rule109 :: ConversionRule +rule109 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -54, lowdist: 0, titledist: -54 } rule72 :: ConversionRule rule72 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42280, lowdist: 0, titledist: 42280 } -rule159 :: ConversionRule -rule159 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -7517, titledist: 0 } +rule163 :: ConversionRule +rule163 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -7517, titledist: 0 } -rule157 :: ConversionRule -rule157 = ConversionRule { category: gencatZL, unicodeCat: NUMCAT_ZL, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule161 :: ConversionRule +rule161 = ConversionRule { category: gencatZL, unicodeCat: NUMCAT_ZL, possible: 0, updist: 0, lowdist: 0, titledist: 0 } rule14 :: ConversionRule rule14 = ConversionRule { category: gencatLO, unicodeCat: NUMCAT_LO, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule99 :: ConversionRule -rule99 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -37, lowdist: 0, titledist: -37 } +rule100 :: ConversionRule +rule100 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -37, lowdist: 0, titledist: -37 } -rule196 :: ConversionRule -rule196 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -34, lowdist: 0, titledist: -34 } +rule204 :: ConversionRule +rule204 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -34, lowdist: 0, titledist: -34 } -rule182 :: ConversionRule -rule182 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42319, titledist: 0 } +rule187 :: ConversionRule +rule187 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42319, titledist: 0 } -rule139 :: ConversionRule -rule139 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 8, lowdist: 0, titledist: 8 } +rule143 :: ConversionRule +rule143 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 8, lowdist: 0, titledist: 8 } -rule135 :: ConversionRule -rule135 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 35332, lowdist: 0, titledist: 35332 } +rule138 :: ConversionRule +rule138 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 35332, lowdist: 0, titledist: 35332 } rule12 :: ConversionRule rule12 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -32, lowdist: 0, titledist: -32 } -rule92 :: ConversionRule -rule92 = ConversionRule { category: gencatMN, unicodeCat: NUMCAT_MN, possible: 1, updist: 84, lowdist: 0, titledist: 84 } +rule93 :: ConversionRule +rule93 = ConversionRule { category: gencatMN, unicodeCat: NUMCAT_MN, possible: 1, updist: 84, lowdist: 0, titledist: 84 } -rule191 :: ConversionRule -rule191 = ConversionRule { category: gencatCS, unicodeCat: NUMCAT_CS, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule199 :: ConversionRule +rule199 = ConversionRule { category: gencatCS, unicodeCat: NUMCAT_CS, possible: 0, updist: 0, lowdist: 0, titledist: 0 } rule17 :: ConversionRule rule17 = ConversionRule { category: gencatNO, unicodeCat: NUMCAT_NO, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule152 :: ConversionRule -rule152 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -86, titledist: 0 } +rule156 :: ConversionRule +rule156 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -86, titledist: 0 } -rule165 :: ConversionRule -rule165 = ConversionRule { category: gencatNL, unicodeCat: NUMCAT_NL, possible: 1, updist: -16, lowdist: 0, titledist: -16 } +rule169 :: ConversionRule +rule169 = ConversionRule { category: gencatNL, unicodeCat: NUMCAT_NL, possible: 1, updist: -16, lowdist: 0, titledist: -16 } rule64 :: ConversionRule rule64 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -210, lowdist: 0, titledist: -210 } +rule83 :: ConversionRule +rule83 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42307, lowdist: 0, titledist: 42307 } + rule2 :: ConversionRule rule2 = ConversionRule { category: gencatPO, unicodeCat: NUMCAT_PO, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule91 :: ConversionRule -rule91 = ConversionRule { category: gencatMN, unicodeCat: NUMCAT_MN, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule92 :: ConversionRule +rule92 = ConversionRule { category: gencatMN, unicodeCat: NUMCAT_MN, possible: 0, updist: 0, lowdist: 0, titledist: 0 } rule39 :: ConversionRule rule39 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 163, lowdist: 0, titledist: 163 } -rule106 :: ConversionRule -rule106 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule185 :: ConversionRule +rule185 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 48, lowdist: 0, titledist: 48 } + +rule107 :: ConversionRule +rule107 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 0, updist: 0, lowdist: 0, titledist: 0 } rule43 :: ConversionRule rule43 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 218, titledist: 0 } @@ -554,26 +566,29 @@ rule43 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1 rule53 :: ConversionRule rule53 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -130, titledist: 0 } -rule90 :: ConversionRule -rule90 = ConversionRule { category: gencatLM, unicodeCat: NUMCAT_LM, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule91 :: ConversionRule +rule91 = ConversionRule { category: gencatLM, unicodeCat: NUMCAT_LM, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule154 :: ConversionRule -rule154 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -112, titledist: 0 } +rule140 :: ConversionRule +rule140 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 35384, lowdist: 0, titledist: 35384 } -rule130 :: ConversionRule -rule130 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6242, lowdist: 0, titledist: -6242 } +rule158 :: ConversionRule +rule158 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -112, titledist: 0 } -rule138 :: ConversionRule -rule138 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -7615, titledist: 0 } +rule132 :: ConversionRule +rule132 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6242, lowdist: 0, titledist: -6242 } + +rule142 :: ConversionRule +rule142 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -7615, titledist: 0 } rule21 :: ConversionRule rule21 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 121, lowdist: 0, titledist: 121 } -rule124 :: ConversionRule -rule124 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 7264, titledist: 0 } +rule125 :: ConversionRule +rule125 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 7264, titledist: 0 } -rule118 :: ConversionRule -rule118 = ConversionRule { category: gencatME, unicodeCat: NUMCAT_ME, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule119 :: ConversionRule +rule119 = ConversionRule { category: gencatME, unicodeCat: NUMCAT_ME, possible: 0, updist: 0, lowdist: 0, titledist: 0 } rule13 :: ConversionRule rule13 = ConversionRule { category: gencatSO, unicodeCat: NUMCAT_SO, possible: 0, updist: 0, lowdist: 0, titledist: 0 } @@ -581,50 +596,53 @@ rule13 = ConversionRule { category: gencatSO, unicodeCat: NUMCAT_SO, possible: 0 rule19 :: ConversionRule rule19 = ConversionRule { category: gencatPF, unicodeCat: NUMCAT_PF, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule143 :: ConversionRule -rule143 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 100, lowdist: 0, titledist: 100 } +rule147 :: ConversionRule +rule147 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 100, lowdist: 0, titledist: 100 } rule49 :: ConversionRule rule49 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -2, lowdist: 0, titledist: -1 } -rule84 :: ConversionRule -rule84 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -69, lowdist: 0, titledist: -69 } +rule85 :: ConversionRule +rule85 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -69, lowdist: 0, titledist: -69 } rule20 :: ConversionRule rule20 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule133 :: ConversionRule -rule133 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6181, lowdist: 0, titledist: -6181 } +rule135 :: ConversionRule +rule135 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6181, lowdist: 0, titledist: -6181 } rule70 :: ConversionRule rule70 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42315, lowdist: 0, titledist: 42315 } -rule166 :: ConversionRule -rule166 = ConversionRule { category: gencatSO, unicodeCat: NUMCAT_SO, possible: 1, updist: 0, lowdist: 26, titledist: 0 } +rule170 :: ConversionRule +rule170 = ConversionRule { category: gencatSO, unicodeCat: NUMCAT_SO, possible: 1, updist: 0, lowdist: 26, titledist: 0 } -rule107 :: ConversionRule -rule107 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -47, lowdist: 0, titledist: -47 } +rule196 :: ConversionRule +rule196 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -35384, titledist: 0 } + +rule108 :: ConversionRule +rule108 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -47, lowdist: 0, titledist: -47 } rule66 :: ConversionRule rule66 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -205, lowdist: 0, titledist: -205 } -rule158 :: ConversionRule -rule158 = ConversionRule { category: gencatZP, unicodeCat: NUMCAT_ZP, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule162 :: ConversionRule +rule162 = ConversionRule { category: gencatZP, unicodeCat: NUMCAT_ZP, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule126 :: ConversionRule -rule126 = ConversionRule { category: gencatNL, unicodeCat: NUMCAT_NL, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule128 :: ConversionRule +rule128 = ConversionRule { category: gencatNL, unicodeCat: NUMCAT_NL, possible: 0, updist: 0, lowdist: 0, titledist: 0 } rule8 :: ConversionRule rule8 = ConversionRule { category: gencatND, unicodeCat: NUMCAT_ND, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule102 :: ConversionRule -rule102 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -63, lowdist: 0, titledist: -63 } +rule103 :: ConversionRule +rule103 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -63, lowdist: 0, titledist: -63 } rule77 :: ConversionRule rule77 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 42305, lowdist: 0, titledist: 42305 } -rule123 :: ConversionRule -rule123 = ConversionRule { category: gencatMC, unicodeCat: NUMCAT_MC, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule124 :: ConversionRule +rule124 = ConversionRule { category: gencatMC, unicodeCat: NUMCAT_MC, possible: 0, updist: 0, lowdist: 0, titledist: 0 } rule6 :: ConversionRule rule6 = ConversionRule { category: gencatSM, unicodeCat: NUMCAT_SM, possible: 0, updist: 0, lowdist: 0, titledist: 0 } @@ -638,14 +656,14 @@ rule55 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1 rule54 :: ConversionRule rule54 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 10795, titledist: 0 } -rule181 :: ConversionRule -rule181 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42308, titledist: 0 } +rule186 :: ConversionRule +rule186 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42308, titledist: 0 } -rule142 :: ConversionRule -rule142 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 86, lowdist: 0, titledist: 86 } +rule146 :: ConversionRule +rule146 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 86, lowdist: 0, titledist: 86 } -rule132 :: ConversionRule -rule132 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6236, lowdist: 0, titledist: -6236 } +rule134 :: ConversionRule +rule134 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -6236, lowdist: 0, titledist: -6236 } rule65 :: ConversionRule rule65 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -206, lowdist: 0, titledist: -206 } @@ -656,23 +674,23 @@ rule82 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1 rule56 :: ConversionRule rule56 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 10792, titledist: 0 } -rule185 :: ConversionRule -rule185 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42258, titledist: 0 } +rule190 :: ConversionRule +rule190 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42258, titledist: 0 } -rule155 :: ConversionRule -rule155 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -128, titledist: 0 } +rule159 :: ConversionRule +rule159 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -128, titledist: 0 } -rule149 :: ConversionRule -rule149 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -74, titledist: 0 } +rule153 :: ConversionRule +rule153 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -74, titledist: 0 } -rule148 :: ConversionRule -rule148 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 9, lowdist: 0, titledist: 9 } +rule152 :: ConversionRule +rule152 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 9, lowdist: 0, titledist: 9 } -rule119 :: ConversionRule -rule119 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 15, titledist: 0 } +rule120 :: ConversionRule +rule120 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 15, titledist: 0 } -rule184 :: ConversionRule -rule184 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42305, titledist: 0 } +rule189 :: ConversionRule +rule189 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42305, titledist: 0 } rule48 :: ConversionRule rule48 = ConversionRule { category: gencatLT, unicodeCat: NUMCAT_LT, possible: 1, updist: -1, lowdist: 1, titledist: 0 } @@ -680,11 +698,11 @@ rule48 = ConversionRule { category: gencatLT, unicodeCat: NUMCAT_LT, possible: 1 rule52 :: ConversionRule rule52 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -56, titledist: 0 } -rule189 :: ConversionRule -rule189 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -928, lowdist: 0, titledist: -928 } +rule197 :: ConversionRule +rule197 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -928, lowdist: 0, titledist: -928 } -rule174 :: ConversionRule -rule174 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10749, titledist: 0 } +rule178 :: ConversionRule +rule178 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10749, titledist: 0 } rule79 :: ConversionRule rule79 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -213, lowdist: 0, titledist: -213 } @@ -692,8 +710,8 @@ rule79 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1 rule11 :: ConversionRule rule11 = ConversionRule { category: gencatPC, unicodeCat: NUMCAT_PC, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule147 :: ConversionRule -rule147 = ConversionRule { category: gencatLT, unicodeCat: NUMCAT_LT, possible: 1, updist: 0, lowdist: -8, titledist: 0 } +rule151 :: ConversionRule +rule151 = ConversionRule { category: gencatLT, unicodeCat: NUMCAT_LT, possible: 1, updist: 0, lowdist: -8, titledist: 0 } rule38 :: ConversionRule rule38 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 209, titledist: 0 } @@ -701,8 +719,8 @@ rule38 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1 rule18 :: ConversionRule rule18 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 743, lowdist: 0, titledist: 743 } -rule170 :: ConversionRule -rule170 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10727, titledist: 0 } +rule174 :: ConversionRule +rule174 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10727, titledist: 0 } rule36 :: ConversionRule rule36 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 97, lowdist: 0, titledist: 97 } @@ -710,8 +728,8 @@ rule36 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1 rule46 :: ConversionRule rule46 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 56, lowdist: 0, titledist: 56 } -rule87 :: ConversionRule -rule87 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -219, lowdist: 0, titledist: -219 } +rule88 :: ConversionRule +rule88 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -219, lowdist: 0, titledist: -219 } rule10 :: ConversionRule rule10 = ConversionRule { category: gencatSK, unicodeCat: NUMCAT_SK, possible: 0, updist: 0, lowdist: 0, titledist: 0 } @@ -719,74 +737,77 @@ rule10 = ConversionRule { category: gencatSK, unicodeCat: NUMCAT_SK, possible: 0 rule35 :: ConversionRule rule35 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 207, titledist: 0 } -rule168 :: ConversionRule -rule168 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10743, titledist: 0 } +rule172 :: ConversionRule +rule172 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -10743, titledist: 0 } -rule116 :: ConversionRule -rule116 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -7, titledist: 0 } +rule117 :: ConversionRule +rule117 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -7, titledist: 0 } rule47 :: ConversionRule rule47 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 2, titledist: 1 } -rule178 :: ConversionRule -rule178 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -7264, lowdist: 0, titledist: -7264 } +rule182 :: ConversionRule +rule182 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -7264, lowdist: 0, titledist: -7264 } rule76 :: ConversionRule rule76 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 10743, lowdist: 0, titledist: 10743 } -rule134 :: ConversionRule -rule134 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 35266, lowdist: 0, titledist: 35266 } +rule136 :: ConversionRule +rule136 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 35266, lowdist: 0, titledist: 35266 } rule59 :: ConversionRule rule59 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 69, titledist: 0 } -rule115 :: ConversionRule -rule115 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -96, lowdist: 0, titledist: -96 } +rule116 :: ConversionRule +rule116 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -96, lowdist: 0, titledist: -96 } -rule169 :: ConversionRule -rule169 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -3814, titledist: 0 } +rule173 :: ConversionRule +rule173 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -3814, titledist: 0 } rule15 :: ConversionRule rule15 = ConversionRule { category: gencatPI, unicodeCat: NUMCAT_PI, possible: 0, updist: 0, lowdist: 0, titledist: 0 } -rule121 :: ConversionRule -rule121 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 48, titledist: 0 } +rule122 :: ConversionRule +rule122 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 48, titledist: 0 } -rule98 :: ConversionRule -rule98 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -38, lowdist: 0, titledist: -38 } +rule99 :: ConversionRule +rule99 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -38, lowdist: 0, titledist: -38 } -rule164 :: ConversionRule -rule164 = ConversionRule { category: gencatNL, unicodeCat: NUMCAT_NL, possible: 1, updist: 0, lowdist: 16, titledist: 0 } +rule168 :: ConversionRule +rule168 = ConversionRule { category: gencatNL, unicodeCat: NUMCAT_NL, possible: 1, updist: 0, lowdist: 16, titledist: 0 } -rule97 :: ConversionRule -rule97 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 63, titledist: 0 } +rule126 :: ConversionRule +rule126 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 3008, lowdist: 0, titledist: 0 } -rule86 :: ConversionRule -rule86 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -71, lowdist: 0, titledist: -71 } +rule98 :: ConversionRule +rule98 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 63, titledist: 0 } -rule96 :: ConversionRule -rule96 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 64, titledist: 0 } +rule87 :: ConversionRule +rule87 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -71, lowdist: 0, titledist: -71 } -rule113 :: ConversionRule -rule113 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -116, lowdist: 0, titledist: -116 } +rule97 :: ConversionRule +rule97 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 64, titledist: 0 } -rule167 :: ConversionRule -rule167 = ConversionRule { category: gencatSO, unicodeCat: NUMCAT_SO, possible: 1, updist: -26, lowdist: 0, titledist: -26 } +rule114 :: ConversionRule +rule114 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -116, lowdist: 0, titledist: -116 } -rule120 :: ConversionRule -rule120 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -15, lowdist: 0, titledist: -15 } +rule171 :: ConversionRule +rule171 = ConversionRule { category: gencatSO, unicodeCat: NUMCAT_SO, possible: 1, updist: -26, lowdist: 0, titledist: -26 } -rule162 :: ConversionRule -rule162 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 28, titledist: 0 } +rule121 :: ConversionRule +rule121 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -15, lowdist: 0, titledist: -15 } -rule100 :: ConversionRule -rule100 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -31, lowdist: 0, titledist: -31 } +rule166 :: ConversionRule +rule166 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 28, titledist: 0 } -rule136 :: ConversionRule -rule136 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 3814, lowdist: 0, titledist: 3814 } +rule101 :: ConversionRule +rule101 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -31, lowdist: 0, titledist: -31 } -rule103 :: ConversionRule -rule103 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 8, titledist: 0 } +rule139 :: ConversionRule +rule139 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: 3814, lowdist: 0, titledist: 3814 } + +rule104 :: ConversionRule +rule104 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: 8, titledist: 0 } rule23 :: ConversionRule rule23 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -1, lowdist: 0, titledist: -1 } @@ -794,8 +815,8 @@ rule23 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1 rule68 :: ConversionRule rule68 = ConversionRule { category: gencatLL, unicodeCat: NUMCAT_LL, possible: 1, updist: -203, lowdist: 0, titledist: -203 } -rule186 :: ConversionRule -rule186 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42282, titledist: 0 } +rule191 :: ConversionRule +rule191 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -42282, titledist: 0 } rule0 :: ConversionRule rule0 = ConversionRule { category: gencatCC, unicodeCat: NUMCAT_CC, possible: 0, updist: 0, lowdist: 0, titledist: 0 } @@ -803,6 +824,9 @@ rule0 = ConversionRule { category: gencatCC, unicodeCat: NUMCAT_CC, possible: 0, rule1 :: ConversionRule rule1 = ConversionRule { category: gencatZS, unicodeCat: NUMCAT_ZS, possible: 0, updist: 0, lowdist: 0, titledist: 0 } +rule137 :: ConversionRule +rule137 = ConversionRule { category: gencatLU, unicodeCat: NUMCAT_LU, possible: 1, updist: 0, lowdist: -3008, titledist: 0 } + allchars :: Array CharBlock allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 32, length: 1, convRule: rule1 } @@ -1227,71 +1251,72 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 637, length: 1, convRule: rule81 } , CharBlock { start: 638, length: 2, convRule: rule20 } , CharBlock { start: 640, length: 1, convRule: rule82 } - , CharBlock { start: 641, length: 2, convRule: rule20 } + , CharBlock { start: 641, length: 1, convRule: rule20 } + , CharBlock { start: 642, length: 1, convRule: rule83 } , CharBlock { start: 643, length: 1, convRule: rule82 } , CharBlock { start: 644, length: 3, convRule: rule20 } - , CharBlock { start: 647, length: 1, convRule: rule83 } + , CharBlock { start: 647, length: 1, convRule: rule84 } , CharBlock { start: 648, length: 1, convRule: rule82 } - , CharBlock { start: 649, length: 1, convRule: rule84 } - , CharBlock { start: 650, length: 2, convRule: rule85 } - , CharBlock { start: 652, length: 1, convRule: rule86 } + , CharBlock { start: 649, length: 1, convRule: rule85 } + , CharBlock { start: 650, length: 2, convRule: rule86 } + , CharBlock { start: 652, length: 1, convRule: rule87 } , CharBlock { start: 653, length: 5, convRule: rule20 } - , CharBlock { start: 658, length: 1, convRule: rule87 } + , CharBlock { start: 658, length: 1, convRule: rule88 } , CharBlock { start: 659, length: 1, convRule: rule20 } , CharBlock { start: 660, length: 1, convRule: rule14 } , CharBlock { start: 661, length: 8, convRule: rule20 } - , CharBlock { start: 669, length: 1, convRule: rule88 } - , CharBlock { start: 670, length: 1, convRule: rule89 } + , CharBlock { start: 669, length: 1, convRule: rule89 } + , CharBlock { start: 670, length: 1, convRule: rule90 } , CharBlock { start: 671, length: 17, convRule: rule20 } - , CharBlock { start: 688, length: 18, convRule: rule90 } + , CharBlock { start: 688, length: 18, convRule: rule91 } , CharBlock { start: 706, length: 4, convRule: rule10 } - , CharBlock { start: 710, length: 12, convRule: rule90 } + , CharBlock { start: 710, length: 12, convRule: rule91 } , CharBlock { start: 722, length: 14, convRule: rule10 } - , CharBlock { start: 736, length: 5, convRule: rule90 } + , CharBlock { start: 736, length: 5, convRule: rule91 } , CharBlock { start: 741, length: 7, convRule: rule10 } - , CharBlock { start: 748, length: 1, convRule: rule90 } + , CharBlock { start: 748, length: 1, convRule: rule91 } , CharBlock { start: 749, length: 1, convRule: rule10 } - , CharBlock { start: 750, length: 1, convRule: rule90 } + , CharBlock { start: 750, length: 1, convRule: rule91 } , CharBlock { start: 751, length: 17, convRule: rule10 } - , CharBlock { start: 768, length: 69, convRule: rule91 } - , CharBlock { start: 837, length: 1, convRule: rule92 } - , CharBlock { start: 838, length: 42, convRule: rule91 } + , CharBlock { start: 768, length: 69, convRule: rule92 } + , CharBlock { start: 837, length: 1, convRule: rule93 } + , CharBlock { start: 838, length: 42, convRule: rule92 } , CharBlock { start: 880, length: 1, convRule: rule22 } , CharBlock { start: 881, length: 1, convRule: rule23 } , CharBlock { start: 882, length: 1, convRule: rule22 } , CharBlock { start: 883, length: 1, convRule: rule23 } - , CharBlock { start: 884, length: 1, convRule: rule90 } + , CharBlock { start: 884, length: 1, convRule: rule91 } , CharBlock { start: 885, length: 1, convRule: rule10 } , CharBlock { start: 886, length: 1, convRule: rule22 } , CharBlock { start: 887, length: 1, convRule: rule23 } - , CharBlock { start: 890, length: 1, convRule: rule90 } + , CharBlock { start: 890, length: 1, convRule: rule91 } , CharBlock { start: 891, length: 3, convRule: rule41 } , CharBlock { start: 894, length: 1, convRule: rule2 } - , CharBlock { start: 895, length: 1, convRule: rule93 } + , CharBlock { start: 895, length: 1, convRule: rule94 } , CharBlock { start: 900, length: 2, convRule: rule10 } - , CharBlock { start: 902, length: 1, convRule: rule94 } + , CharBlock { start: 902, length: 1, convRule: rule95 } , CharBlock { start: 903, length: 1, convRule: rule2 } - , CharBlock { start: 904, length: 3, convRule: rule95 } - , CharBlock { start: 908, length: 1, convRule: rule96 } - , CharBlock { start: 910, length: 2, convRule: rule97 } + , CharBlock { start: 904, length: 3, convRule: rule96 } + , CharBlock { start: 908, length: 1, convRule: rule97 } + , CharBlock { start: 910, length: 2, convRule: rule98 } , CharBlock { start: 912, length: 1, convRule: rule20 } , CharBlock { start: 913, length: 17, convRule: rule9 } , CharBlock { start: 931, length: 9, convRule: rule9 } - , CharBlock { start: 940, length: 1, convRule: rule98 } - , CharBlock { start: 941, length: 3, convRule: rule99 } + , CharBlock { start: 940, length: 1, convRule: rule99 } + , CharBlock { start: 941, length: 3, convRule: rule100 } , CharBlock { start: 944, length: 1, convRule: rule20 } , CharBlock { start: 945, length: 17, convRule: rule12 } - , CharBlock { start: 962, length: 1, convRule: rule100 } + , CharBlock { start: 962, length: 1, convRule: rule101 } , CharBlock { start: 963, length: 9, convRule: rule12 } - , CharBlock { start: 972, length: 1, convRule: rule101 } - , CharBlock { start: 973, length: 2, convRule: rule102 } - , CharBlock { start: 975, length: 1, convRule: rule103 } - , CharBlock { start: 976, length: 1, convRule: rule104 } - , CharBlock { start: 977, length: 1, convRule: rule105 } - , CharBlock { start: 978, length: 3, convRule: rule106 } - , CharBlock { start: 981, length: 1, convRule: rule107 } - , CharBlock { start: 982, length: 1, convRule: rule108 } - , CharBlock { start: 983, length: 1, convRule: rule109 } + , CharBlock { start: 972, length: 1, convRule: rule102 } + , CharBlock { start: 973, length: 2, convRule: rule103 } + , CharBlock { start: 975, length: 1, convRule: rule104 } + , CharBlock { start: 976, length: 1, convRule: rule105 } + , CharBlock { start: 977, length: 1, convRule: rule106 } + , CharBlock { start: 978, length: 3, convRule: rule107 } + , CharBlock { start: 981, length: 1, convRule: rule108 } + , CharBlock { start: 982, length: 1, convRule: rule109 } + , CharBlock { start: 983, length: 1, convRule: rule110 } , CharBlock { start: 984, length: 1, convRule: rule22 } , CharBlock { start: 985, length: 1, convRule: rule23 } , CharBlock { start: 986, length: 1, convRule: rule22 } @@ -1316,24 +1341,24 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 1005, length: 1, convRule: rule23 } , CharBlock { start: 1006, length: 1, convRule: rule22 } , CharBlock { start: 1007, length: 1, convRule: rule23 } - , CharBlock { start: 1008, length: 1, convRule: rule110 } - , CharBlock { start: 1009, length: 1, convRule: rule111 } - , CharBlock { start: 1010, length: 1, convRule: rule112 } - , CharBlock { start: 1011, length: 1, convRule: rule113 } - , CharBlock { start: 1012, length: 1, convRule: rule114 } - , CharBlock { start: 1013, length: 1, convRule: rule115 } + , CharBlock { start: 1008, length: 1, convRule: rule111 } + , CharBlock { start: 1009, length: 1, convRule: rule112 } + , CharBlock { start: 1010, length: 1, convRule: rule113 } + , CharBlock { start: 1011, length: 1, convRule: rule114 } + , CharBlock { start: 1012, length: 1, convRule: rule115 } + , CharBlock { start: 1013, length: 1, convRule: rule116 } , CharBlock { start: 1014, length: 1, convRule: rule6 } , CharBlock { start: 1015, length: 1, convRule: rule22 } , CharBlock { start: 1016, length: 1, convRule: rule23 } - , CharBlock { start: 1017, length: 1, convRule: rule116 } + , CharBlock { start: 1017, length: 1, convRule: rule117 } , CharBlock { start: 1018, length: 1, convRule: rule22 } , CharBlock { start: 1019, length: 1, convRule: rule23 } , CharBlock { start: 1020, length: 1, convRule: rule20 } , CharBlock { start: 1021, length: 3, convRule: rule53 } - , CharBlock { start: 1024, length: 16, convRule: rule117 } + , CharBlock { start: 1024, length: 16, convRule: rule118 } , CharBlock { start: 1040, length: 32, convRule: rule9 } , CharBlock { start: 1072, length: 32, convRule: rule12 } - , CharBlock { start: 1104, length: 16, convRule: rule111 } + , CharBlock { start: 1104, length: 16, convRule: rule112 } , CharBlock { start: 1120, length: 1, convRule: rule22 } , CharBlock { start: 1121, length: 1, convRule: rule23 } , CharBlock { start: 1122, length: 1, convRule: rule22 } @@ -1369,8 +1394,8 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 1152, length: 1, convRule: rule22 } , CharBlock { start: 1153, length: 1, convRule: rule23 } , CharBlock { start: 1154, length: 1, convRule: rule13 } - , CharBlock { start: 1155, length: 5, convRule: rule91 } - , CharBlock { start: 1160, length: 2, convRule: rule118 } + , CharBlock { start: 1155, length: 5, convRule: rule92 } + , CharBlock { start: 1160, length: 2, convRule: rule119 } , CharBlock { start: 1162, length: 1, convRule: rule22 } , CharBlock { start: 1163, length: 1, convRule: rule23 } , CharBlock { start: 1164, length: 1, convRule: rule22 } @@ -1425,7 +1450,7 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 1213, length: 1, convRule: rule23 } , CharBlock { start: 1214, length: 1, convRule: rule22 } , CharBlock { start: 1215, length: 1, convRule: rule23 } - , CharBlock { start: 1216, length: 1, convRule: rule119 } + , CharBlock { start: 1216, length: 1, convRule: rule120 } , CharBlock { start: 1217, length: 1, convRule: rule22 } , CharBlock { start: 1218, length: 1, convRule: rule23 } , CharBlock { start: 1219, length: 1, convRule: rule22 } @@ -1440,7 +1465,7 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 1228, length: 1, convRule: rule23 } , CharBlock { start: 1229, length: 1, convRule: rule22 } , CharBlock { start: 1230, length: 1, convRule: rule23 } - , CharBlock { start: 1231, length: 1, convRule: rule120 } + , CharBlock { start: 1231, length: 1, convRule: rule121 } , CharBlock { start: 1232, length: 1, convRule: rule22 } , CharBlock { start: 1233, length: 1, convRule: rule23 } , CharBlock { start: 1234, length: 1, convRule: rule22 } @@ -1537,26 +1562,27 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 1325, length: 1, convRule: rule23 } , CharBlock { start: 1326, length: 1, convRule: rule22 } , CharBlock { start: 1327, length: 1, convRule: rule23 } - , CharBlock { start: 1329, length: 38, convRule: rule121 } - , CharBlock { start: 1369, length: 1, convRule: rule90 } + , CharBlock { start: 1329, length: 38, convRule: rule122 } + , CharBlock { start: 1369, length: 1, convRule: rule91 } , CharBlock { start: 1370, length: 6, convRule: rule2 } - , CharBlock { start: 1377, length: 38, convRule: rule122 } - , CharBlock { start: 1415, length: 1, convRule: rule20 } + , CharBlock { start: 1376, length: 1, convRule: rule20 } + , CharBlock { start: 1377, length: 38, convRule: rule123 } + , CharBlock { start: 1415, length: 2, convRule: rule20 } , CharBlock { start: 1417, length: 1, convRule: rule2 } , CharBlock { start: 1418, length: 1, convRule: rule7 } , CharBlock { start: 1421, length: 2, convRule: rule13 } , CharBlock { start: 1423, length: 1, convRule: rule3 } - , CharBlock { start: 1425, length: 45, convRule: rule91 } + , CharBlock { start: 1425, length: 45, convRule: rule92 } , CharBlock { start: 1470, length: 1, convRule: rule7 } - , CharBlock { start: 1471, length: 1, convRule: rule91 } + , CharBlock { start: 1471, length: 1, convRule: rule92 } , CharBlock { start: 1472, length: 1, convRule: rule2 } - , CharBlock { start: 1473, length: 2, convRule: rule91 } + , CharBlock { start: 1473, length: 2, convRule: rule92 } , CharBlock { start: 1475, length: 1, convRule: rule2 } - , CharBlock { start: 1476, length: 2, convRule: rule91 } + , CharBlock { start: 1476, length: 2, convRule: rule92 } , CharBlock { start: 1478, length: 1, convRule: rule2 } - , CharBlock { start: 1479, length: 1, convRule: rule91 } + , CharBlock { start: 1479, length: 1, convRule: rule92 } , CharBlock { start: 1488, length: 27, convRule: rule14 } - , CharBlock { start: 1520, length: 3, convRule: rule14 } + , CharBlock { start: 1519, length: 4, convRule: rule14 } , CharBlock { start: 1523, length: 2, convRule: rule2 } , CharBlock { start: 1536, length: 6, convRule: rule16 } , CharBlock { start: 1542, length: 3, convRule: rule6 } @@ -1564,29 +1590,29 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 1547, length: 1, convRule: rule3 } , CharBlock { start: 1548, length: 2, convRule: rule2 } , CharBlock { start: 1550, length: 2, convRule: rule13 } - , CharBlock { start: 1552, length: 11, convRule: rule91 } + , CharBlock { start: 1552, length: 11, convRule: rule92 } , CharBlock { start: 1563, length: 1, convRule: rule2 } , CharBlock { start: 1564, length: 1, convRule: rule16 } , CharBlock { start: 1566, length: 2, convRule: rule2 } , CharBlock { start: 1568, length: 32, convRule: rule14 } - , CharBlock { start: 1600, length: 1, convRule: rule90 } + , CharBlock { start: 1600, length: 1, convRule: rule91 } , CharBlock { start: 1601, length: 10, convRule: rule14 } - , CharBlock { start: 1611, length: 21, convRule: rule91 } + , CharBlock { start: 1611, length: 21, convRule: rule92 } , CharBlock { start: 1632, length: 10, convRule: rule8 } , CharBlock { start: 1642, length: 4, convRule: rule2 } , CharBlock { start: 1646, length: 2, convRule: rule14 } - , CharBlock { start: 1648, length: 1, convRule: rule91 } + , CharBlock { start: 1648, length: 1, convRule: rule92 } , CharBlock { start: 1649, length: 99, convRule: rule14 } , CharBlock { start: 1748, length: 1, convRule: rule2 } , CharBlock { start: 1749, length: 1, convRule: rule14 } - , CharBlock { start: 1750, length: 7, convRule: rule91 } + , CharBlock { start: 1750, length: 7, convRule: rule92 } , CharBlock { start: 1757, length: 1, convRule: rule16 } , CharBlock { start: 1758, length: 1, convRule: rule13 } - , CharBlock { start: 1759, length: 6, convRule: rule91 } - , CharBlock { start: 1765, length: 2, convRule: rule90 } - , CharBlock { start: 1767, length: 2, convRule: rule91 } + , CharBlock { start: 1759, length: 6, convRule: rule92 } + , CharBlock { start: 1765, length: 2, convRule: rule91 } + , CharBlock { start: 1767, length: 2, convRule: rule92 } , CharBlock { start: 1769, length: 1, convRule: rule13 } - , CharBlock { start: 1770, length: 4, convRule: rule91 } + , CharBlock { start: 1770, length: 4, convRule: rule92 } , CharBlock { start: 1774, length: 2, convRule: rule14 } , CharBlock { start: 1776, length: 10, convRule: rule8 } , CharBlock { start: 1786, length: 3, convRule: rule14 } @@ -1595,77 +1621,79 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 1792, length: 14, convRule: rule2 } , CharBlock { start: 1807, length: 1, convRule: rule16 } , CharBlock { start: 1808, length: 1, convRule: rule14 } - , CharBlock { start: 1809, length: 1, convRule: rule91 } + , CharBlock { start: 1809, length: 1, convRule: rule92 } , CharBlock { start: 1810, length: 30, convRule: rule14 } - , CharBlock { start: 1840, length: 27, convRule: rule91 } + , CharBlock { start: 1840, length: 27, convRule: rule92 } , CharBlock { start: 1869, length: 89, convRule: rule14 } - , CharBlock { start: 1958, length: 11, convRule: rule91 } + , CharBlock { start: 1958, length: 11, convRule: rule92 } , CharBlock { start: 1969, length: 1, convRule: rule14 } , CharBlock { start: 1984, length: 10, convRule: rule8 } , CharBlock { start: 1994, length: 33, convRule: rule14 } - , CharBlock { start: 2027, length: 9, convRule: rule91 } - , CharBlock { start: 2036, length: 2, convRule: rule90 } + , CharBlock { start: 2027, length: 9, convRule: rule92 } + , CharBlock { start: 2036, length: 2, convRule: rule91 } , CharBlock { start: 2038, length: 1, convRule: rule13 } , CharBlock { start: 2039, length: 3, convRule: rule2 } - , CharBlock { start: 2042, length: 1, convRule: rule90 } + , CharBlock { start: 2042, length: 1, convRule: rule91 } + , CharBlock { start: 2045, length: 1, convRule: rule92 } + , CharBlock { start: 2046, length: 2, convRule: rule3 } , CharBlock { start: 2048, length: 22, convRule: rule14 } - , CharBlock { start: 2070, length: 4, convRule: rule91 } - , CharBlock { start: 2074, length: 1, convRule: rule90 } - , CharBlock { start: 2075, length: 9, convRule: rule91 } - , CharBlock { start: 2084, length: 1, convRule: rule90 } - , CharBlock { start: 2085, length: 3, convRule: rule91 } - , CharBlock { start: 2088, length: 1, convRule: rule90 } - , CharBlock { start: 2089, length: 5, convRule: rule91 } + , CharBlock { start: 2070, length: 4, convRule: rule92 } + , CharBlock { start: 2074, length: 1, convRule: rule91 } + , CharBlock { start: 2075, length: 9, convRule: rule92 } + , CharBlock { start: 2084, length: 1, convRule: rule91 } + , CharBlock { start: 2085, length: 3, convRule: rule92 } + , CharBlock { start: 2088, length: 1, convRule: rule91 } + , CharBlock { start: 2089, length: 5, convRule: rule92 } , CharBlock { start: 2096, length: 15, convRule: rule2 } , CharBlock { start: 2112, length: 25, convRule: rule14 } - , CharBlock { start: 2137, length: 3, convRule: rule91 } + , CharBlock { start: 2137, length: 3, convRule: rule92 } , CharBlock { start: 2142, length: 1, convRule: rule2 } , CharBlock { start: 2144, length: 11, convRule: rule14 } , CharBlock { start: 2208, length: 21, convRule: rule14 } - , CharBlock { start: 2230, length: 8, convRule: rule14 } - , CharBlock { start: 2260, length: 14, convRule: rule91 } + , CharBlock { start: 2230, length: 18, convRule: rule14 } + , CharBlock { start: 2259, length: 15, convRule: rule92 } , CharBlock { start: 2274, length: 1, convRule: rule16 } - , CharBlock { start: 2275, length: 32, convRule: rule91 } - , CharBlock { start: 2307, length: 1, convRule: rule123 } + , CharBlock { start: 2275, length: 32, convRule: rule92 } + , CharBlock { start: 2307, length: 1, convRule: rule124 } , CharBlock { start: 2308, length: 54, convRule: rule14 } - , CharBlock { start: 2362, length: 1, convRule: rule91 } - , CharBlock { start: 2363, length: 1, convRule: rule123 } - , CharBlock { start: 2364, length: 1, convRule: rule91 } + , CharBlock { start: 2362, length: 1, convRule: rule92 } + , CharBlock { start: 2363, length: 1, convRule: rule124 } + , CharBlock { start: 2364, length: 1, convRule: rule92 } , CharBlock { start: 2365, length: 1, convRule: rule14 } - , CharBlock { start: 2366, length: 3, convRule: rule123 } - , CharBlock { start: 2369, length: 8, convRule: rule91 } - , CharBlock { start: 2377, length: 4, convRule: rule123 } - , CharBlock { start: 2381, length: 1, convRule: rule91 } - , CharBlock { start: 2382, length: 2, convRule: rule123 } + , CharBlock { start: 2366, length: 3, convRule: rule124 } + , CharBlock { start: 2369, length: 8, convRule: rule92 } + , CharBlock { start: 2377, length: 4, convRule: rule124 } + , CharBlock { start: 2381, length: 1, convRule: rule92 } + , CharBlock { start: 2382, length: 2, convRule: rule124 } , CharBlock { start: 2384, length: 1, convRule: rule14 } - , CharBlock { start: 2385, length: 7, convRule: rule91 } + , CharBlock { start: 2385, length: 7, convRule: rule92 } , CharBlock { start: 2392, length: 10, convRule: rule14 } - , CharBlock { start: 2402, length: 2, convRule: rule91 } + , CharBlock { start: 2402, length: 2, convRule: rule92 } , CharBlock { start: 2404, length: 2, convRule: rule2 } , CharBlock { start: 2406, length: 10, convRule: rule8 } , CharBlock { start: 2416, length: 1, convRule: rule2 } - , CharBlock { start: 2417, length: 1, convRule: rule90 } + , CharBlock { start: 2417, length: 1, convRule: rule91 } , CharBlock { start: 2418, length: 15, convRule: rule14 } - , CharBlock { start: 2433, length: 1, convRule: rule91 } - , CharBlock { start: 2434, length: 2, convRule: rule123 } + , CharBlock { start: 2433, length: 1, convRule: rule92 } + , CharBlock { start: 2434, length: 2, convRule: rule124 } , CharBlock { start: 2437, length: 8, convRule: rule14 } , CharBlock { start: 2447, length: 2, convRule: rule14 } , CharBlock { start: 2451, length: 22, convRule: rule14 } , CharBlock { start: 2474, length: 7, convRule: rule14 } , CharBlock { start: 2482, length: 1, convRule: rule14 } , CharBlock { start: 2486, length: 4, convRule: rule14 } - , CharBlock { start: 2492, length: 1, convRule: rule91 } + , CharBlock { start: 2492, length: 1, convRule: rule92 } , CharBlock { start: 2493, length: 1, convRule: rule14 } - , CharBlock { start: 2494, length: 3, convRule: rule123 } - , CharBlock { start: 2497, length: 4, convRule: rule91 } - , CharBlock { start: 2503, length: 2, convRule: rule123 } - , CharBlock { start: 2507, length: 2, convRule: rule123 } - , CharBlock { start: 2509, length: 1, convRule: rule91 } + , CharBlock { start: 2494, length: 3, convRule: rule124 } + , CharBlock { start: 2497, length: 4, convRule: rule92 } + , CharBlock { start: 2503, length: 2, convRule: rule124 } + , CharBlock { start: 2507, length: 2, convRule: rule124 } + , CharBlock { start: 2509, length: 1, convRule: rule92 } , CharBlock { start: 2510, length: 1, convRule: rule14 } - , CharBlock { start: 2519, length: 1, convRule: rule123 } + , CharBlock { start: 2519, length: 1, convRule: rule124 } , CharBlock { start: 2524, length: 2, convRule: rule14 } , CharBlock { start: 2527, length: 3, convRule: rule14 } - , CharBlock { start: 2530, length: 2, convRule: rule91 } + , CharBlock { start: 2530, length: 2, convRule: rule92 } , CharBlock { start: 2534, length: 10, convRule: rule8 } , CharBlock { start: 2544, length: 2, convRule: rule14 } , CharBlock { start: 2546, length: 2, convRule: rule3 } @@ -1674,8 +1702,9 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 2555, length: 1, convRule: rule3 } , CharBlock { start: 2556, length: 1, convRule: rule14 } , CharBlock { start: 2557, length: 1, convRule: rule2 } - , CharBlock { start: 2561, length: 2, convRule: rule91 } - , CharBlock { start: 2563, length: 1, convRule: rule123 } + , CharBlock { start: 2558, length: 1, convRule: rule92 } + , CharBlock { start: 2561, length: 2, convRule: rule92 } + , CharBlock { start: 2563, length: 1, convRule: rule124 } , CharBlock { start: 2565, length: 6, convRule: rule14 } , CharBlock { start: 2575, length: 2, convRule: rule14 } , CharBlock { start: 2579, length: 22, convRule: rule14 } @@ -1683,69 +1712,70 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 2610, length: 2, convRule: rule14 } , CharBlock { start: 2613, length: 2, convRule: rule14 } , CharBlock { start: 2616, length: 2, convRule: rule14 } - , CharBlock { start: 2620, length: 1, convRule: rule91 } - , CharBlock { start: 2622, length: 3, convRule: rule123 } - , CharBlock { start: 2625, length: 2, convRule: rule91 } - , CharBlock { start: 2631, length: 2, convRule: rule91 } - , CharBlock { start: 2635, length: 3, convRule: rule91 } - , CharBlock { start: 2641, length: 1, convRule: rule91 } + , CharBlock { start: 2620, length: 1, convRule: rule92 } + , CharBlock { start: 2622, length: 3, convRule: rule124 } + , CharBlock { start: 2625, length: 2, convRule: rule92 } + , CharBlock { start: 2631, length: 2, convRule: rule92 } + , CharBlock { start: 2635, length: 3, convRule: rule92 } + , CharBlock { start: 2641, length: 1, convRule: rule92 } , CharBlock { start: 2649, length: 4, convRule: rule14 } , CharBlock { start: 2654, length: 1, convRule: rule14 } , CharBlock { start: 2662, length: 10, convRule: rule8 } - , CharBlock { start: 2672, length: 2, convRule: rule91 } + , CharBlock { start: 2672, length: 2, convRule: rule92 } , CharBlock { start: 2674, length: 3, convRule: rule14 } - , CharBlock { start: 2677, length: 1, convRule: rule91 } - , CharBlock { start: 2689, length: 2, convRule: rule91 } - , CharBlock { start: 2691, length: 1, convRule: rule123 } + , CharBlock { start: 2677, length: 1, convRule: rule92 } + , CharBlock { start: 2678, length: 1, convRule: rule2 } + , CharBlock { start: 2689, length: 2, convRule: rule92 } + , CharBlock { start: 2691, length: 1, convRule: rule124 } , CharBlock { start: 2693, length: 9, convRule: rule14 } , CharBlock { start: 2703, length: 3, convRule: rule14 } , CharBlock { start: 2707, length: 22, convRule: rule14 } , CharBlock { start: 2730, length: 7, convRule: rule14 } , CharBlock { start: 2738, length: 2, convRule: rule14 } , CharBlock { start: 2741, length: 5, convRule: rule14 } - , CharBlock { start: 2748, length: 1, convRule: rule91 } + , CharBlock { start: 2748, length: 1, convRule: rule92 } , CharBlock { start: 2749, length: 1, convRule: rule14 } - , CharBlock { start: 2750, length: 3, convRule: rule123 } - , CharBlock { start: 2753, length: 5, convRule: rule91 } - , CharBlock { start: 2759, length: 2, convRule: rule91 } - , CharBlock { start: 2761, length: 1, convRule: rule123 } - , CharBlock { start: 2763, length: 2, convRule: rule123 } - , CharBlock { start: 2765, length: 1, convRule: rule91 } + , CharBlock { start: 2750, length: 3, convRule: rule124 } + , CharBlock { start: 2753, length: 5, convRule: rule92 } + , CharBlock { start: 2759, length: 2, convRule: rule92 } + , CharBlock { start: 2761, length: 1, convRule: rule124 } + , CharBlock { start: 2763, length: 2, convRule: rule124 } + , CharBlock { start: 2765, length: 1, convRule: rule92 } , CharBlock { start: 2768, length: 1, convRule: rule14 } , CharBlock { start: 2784, length: 2, convRule: rule14 } - , CharBlock { start: 2786, length: 2, convRule: rule91 } + , CharBlock { start: 2786, length: 2, convRule: rule92 } , CharBlock { start: 2790, length: 10, convRule: rule8 } , CharBlock { start: 2800, length: 1, convRule: rule2 } , CharBlock { start: 2801, length: 1, convRule: rule3 } , CharBlock { start: 2809, length: 1, convRule: rule14 } - , CharBlock { start: 2810, length: 6, convRule: rule91 } - , CharBlock { start: 2817, length: 1, convRule: rule91 } - , CharBlock { start: 2818, length: 2, convRule: rule123 } + , CharBlock { start: 2810, length: 6, convRule: rule92 } + , CharBlock { start: 2817, length: 1, convRule: rule92 } + , CharBlock { start: 2818, length: 2, convRule: rule124 } , CharBlock { start: 2821, length: 8, convRule: rule14 } , CharBlock { start: 2831, length: 2, convRule: rule14 } , CharBlock { start: 2835, length: 22, convRule: rule14 } , CharBlock { start: 2858, length: 7, convRule: rule14 } , CharBlock { start: 2866, length: 2, convRule: rule14 } , CharBlock { start: 2869, length: 5, convRule: rule14 } - , CharBlock { start: 2876, length: 1, convRule: rule91 } + , CharBlock { start: 2876, length: 1, convRule: rule92 } , CharBlock { start: 2877, length: 1, convRule: rule14 } - , CharBlock { start: 2878, length: 1, convRule: rule123 } - , CharBlock { start: 2879, length: 1, convRule: rule91 } - , CharBlock { start: 2880, length: 1, convRule: rule123 } - , CharBlock { start: 2881, length: 4, convRule: rule91 } - , CharBlock { start: 2887, length: 2, convRule: rule123 } - , CharBlock { start: 2891, length: 2, convRule: rule123 } - , CharBlock { start: 2893, length: 1, convRule: rule91 } - , CharBlock { start: 2902, length: 1, convRule: rule91 } - , CharBlock { start: 2903, length: 1, convRule: rule123 } + , CharBlock { start: 2878, length: 1, convRule: rule124 } + , CharBlock { start: 2879, length: 1, convRule: rule92 } + , CharBlock { start: 2880, length: 1, convRule: rule124 } + , CharBlock { start: 2881, length: 4, convRule: rule92 } + , CharBlock { start: 2887, length: 2, convRule: rule124 } + , CharBlock { start: 2891, length: 2, convRule: rule124 } + , CharBlock { start: 2893, length: 1, convRule: rule92 } + , CharBlock { start: 2901, length: 2, convRule: rule92 } + , CharBlock { start: 2903, length: 1, convRule: rule124 } , CharBlock { start: 2908, length: 2, convRule: rule14 } , CharBlock { start: 2911, length: 3, convRule: rule14 } - , CharBlock { start: 2914, length: 2, convRule: rule91 } + , CharBlock { start: 2914, length: 2, convRule: rule92 } , CharBlock { start: 2918, length: 10, convRule: rule8 } , CharBlock { start: 2928, length: 1, convRule: rule13 } , CharBlock { start: 2929, length: 1, convRule: rule14 } , CharBlock { start: 2930, length: 6, convRule: rule17 } - , CharBlock { start: 2946, length: 1, convRule: rule91 } + , CharBlock { start: 2946, length: 1, convRule: rule92 } , CharBlock { start: 2947, length: 1, convRule: rule14 } , CharBlock { start: 2949, length: 6, convRule: rule14 } , CharBlock { start: 2958, length: 3, convRule: rule14 } @@ -1756,128 +1786,125 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 2979, length: 2, convRule: rule14 } , CharBlock { start: 2984, length: 3, convRule: rule14 } , CharBlock { start: 2990, length: 12, convRule: rule14 } - , CharBlock { start: 3006, length: 2, convRule: rule123 } - , CharBlock { start: 3008, length: 1, convRule: rule91 } - , CharBlock { start: 3009, length: 2, convRule: rule123 } - , CharBlock { start: 3014, length: 3, convRule: rule123 } - , CharBlock { start: 3018, length: 3, convRule: rule123 } - , CharBlock { start: 3021, length: 1, convRule: rule91 } + , CharBlock { start: 3006, length: 2, convRule: rule124 } + , CharBlock { start: 3008, length: 1, convRule: rule92 } + , CharBlock { start: 3009, length: 2, convRule: rule124 } + , CharBlock { start: 3014, length: 3, convRule: rule124 } + , CharBlock { start: 3018, length: 3, convRule: rule124 } + , CharBlock { start: 3021, length: 1, convRule: rule92 } , CharBlock { start: 3024, length: 1, convRule: rule14 } - , CharBlock { start: 3031, length: 1, convRule: rule123 } + , CharBlock { start: 3031, length: 1, convRule: rule124 } , CharBlock { start: 3046, length: 10, convRule: rule8 } , CharBlock { start: 3056, length: 3, convRule: rule17 } , CharBlock { start: 3059, length: 6, convRule: rule13 } , CharBlock { start: 3065, length: 1, convRule: rule3 } , CharBlock { start: 3066, length: 1, convRule: rule13 } - , CharBlock { start: 3072, length: 1, convRule: rule91 } - , CharBlock { start: 3073, length: 3, convRule: rule123 } + , CharBlock { start: 3072, length: 1, convRule: rule92 } + , CharBlock { start: 3073, length: 3, convRule: rule124 } + , CharBlock { start: 3076, length: 1, convRule: rule92 } , CharBlock { start: 3077, length: 8, convRule: rule14 } , CharBlock { start: 3086, length: 3, convRule: rule14 } , CharBlock { start: 3090, length: 23, convRule: rule14 } , CharBlock { start: 3114, length: 16, convRule: rule14 } , CharBlock { start: 3133, length: 1, convRule: rule14 } - , CharBlock { start: 3134, length: 3, convRule: rule91 } - , CharBlock { start: 3137, length: 4, convRule: rule123 } - , CharBlock { start: 3142, length: 3, convRule: rule91 } - , CharBlock { start: 3146, length: 4, convRule: rule91 } - , CharBlock { start: 3157, length: 2, convRule: rule91 } + , CharBlock { start: 3134, length: 3, convRule: rule92 } + , CharBlock { start: 3137, length: 4, convRule: rule124 } + , CharBlock { start: 3142, length: 3, convRule: rule92 } + , CharBlock { start: 3146, length: 4, convRule: rule92 } + , CharBlock { start: 3157, length: 2, convRule: rule92 } , CharBlock { start: 3160, length: 3, convRule: rule14 } , CharBlock { start: 3168, length: 2, convRule: rule14 } - , CharBlock { start: 3170, length: 2, convRule: rule91 } + , CharBlock { start: 3170, length: 2, convRule: rule92 } , CharBlock { start: 3174, length: 10, convRule: rule8 } + , CharBlock { start: 3191, length: 1, convRule: rule2 } , CharBlock { start: 3192, length: 7, convRule: rule17 } , CharBlock { start: 3199, length: 1, convRule: rule13 } , CharBlock { start: 3200, length: 1, convRule: rule14 } - , CharBlock { start: 3201, length: 1, convRule: rule91 } - , CharBlock { start: 3202, length: 2, convRule: rule123 } + , CharBlock { start: 3201, length: 1, convRule: rule92 } + , CharBlock { start: 3202, length: 2, convRule: rule124 } + , CharBlock { start: 3204, length: 1, convRule: rule2 } , CharBlock { start: 3205, length: 8, convRule: rule14 } , CharBlock { start: 3214, length: 3, convRule: rule14 } , CharBlock { start: 3218, length: 23, convRule: rule14 } , CharBlock { start: 3242, length: 10, convRule: rule14 } , CharBlock { start: 3253, length: 5, convRule: rule14 } - , CharBlock { start: 3260, length: 1, convRule: rule91 } + , CharBlock { start: 3260, length: 1, convRule: rule92 } , CharBlock { start: 3261, length: 1, convRule: rule14 } - , CharBlock { start: 3262, length: 1, convRule: rule123 } - , CharBlock { start: 3263, length: 1, convRule: rule91 } - , CharBlock { start: 3264, length: 5, convRule: rule123 } - , CharBlock { start: 3270, length: 1, convRule: rule91 } - , CharBlock { start: 3271, length: 2, convRule: rule123 } - , CharBlock { start: 3274, length: 2, convRule: rule123 } - , CharBlock { start: 3276, length: 2, convRule: rule91 } - , CharBlock { start: 3285, length: 2, convRule: rule123 } + , CharBlock { start: 3262, length: 1, convRule: rule124 } + , CharBlock { start: 3263, length: 1, convRule: rule92 } + , CharBlock { start: 3264, length: 5, convRule: rule124 } + , CharBlock { start: 3270, length: 1, convRule: rule92 } + , CharBlock { start: 3271, length: 2, convRule: rule124 } + , CharBlock { start: 3274, length: 2, convRule: rule124 } + , CharBlock { start: 3276, length: 2, convRule: rule92 } + , CharBlock { start: 3285, length: 2, convRule: rule124 } , CharBlock { start: 3294, length: 1, convRule: rule14 } , CharBlock { start: 3296, length: 2, convRule: rule14 } - , CharBlock { start: 3298, length: 2, convRule: rule91 } + , CharBlock { start: 3298, length: 2, convRule: rule92 } , CharBlock { start: 3302, length: 10, convRule: rule8 } , CharBlock { start: 3313, length: 2, convRule: rule14 } - , CharBlock { start: 3328, length: 2, convRule: rule91 } - , CharBlock { start: 3330, length: 2, convRule: rule123 } - , CharBlock { start: 3333, length: 8, convRule: rule14 } + , CharBlock { start: 3328, length: 2, convRule: rule92 } + , CharBlock { start: 3330, length: 2, convRule: rule124 } + , CharBlock { start: 3332, length: 9, convRule: rule14 } , CharBlock { start: 3342, length: 3, convRule: rule14 } , CharBlock { start: 3346, length: 41, convRule: rule14 } - , CharBlock { start: 3387, length: 2, convRule: rule91 } + , CharBlock { start: 3387, length: 2, convRule: rule92 } , CharBlock { start: 3389, length: 1, convRule: rule14 } - , CharBlock { start: 3390, length: 3, convRule: rule123 } - , CharBlock { start: 3393, length: 4, convRule: rule91 } - , CharBlock { start: 3398, length: 3, convRule: rule123 } - , CharBlock { start: 3402, length: 3, convRule: rule123 } - , CharBlock { start: 3405, length: 1, convRule: rule91 } + , CharBlock { start: 3390, length: 3, convRule: rule124 } + , CharBlock { start: 3393, length: 4, convRule: rule92 } + , CharBlock { start: 3398, length: 3, convRule: rule124 } + , CharBlock { start: 3402, length: 3, convRule: rule124 } + , CharBlock { start: 3405, length: 1, convRule: rule92 } , CharBlock { start: 3406, length: 1, convRule: rule14 } , CharBlock { start: 3407, length: 1, convRule: rule13 } , CharBlock { start: 3412, length: 3, convRule: rule14 } - , CharBlock { start: 3415, length: 1, convRule: rule123 } + , CharBlock { start: 3415, length: 1, convRule: rule124 } , CharBlock { start: 3416, length: 7, convRule: rule17 } , CharBlock { start: 3423, length: 3, convRule: rule14 } - , CharBlock { start: 3426, length: 2, convRule: rule91 } + , CharBlock { start: 3426, length: 2, convRule: rule92 } , CharBlock { start: 3430, length: 10, convRule: rule8 } , CharBlock { start: 3440, length: 9, convRule: rule17 } , CharBlock { start: 3449, length: 1, convRule: rule13 } , CharBlock { start: 3450, length: 6, convRule: rule14 } - , CharBlock { start: 3458, length: 2, convRule: rule123 } + , CharBlock { start: 3457, length: 1, convRule: rule92 } + , CharBlock { start: 3458, length: 2, convRule: rule124 } , CharBlock { start: 3461, length: 18, convRule: rule14 } , CharBlock { start: 3482, length: 24, convRule: rule14 } , CharBlock { start: 3507, length: 9, convRule: rule14 } , CharBlock { start: 3517, length: 1, convRule: rule14 } , CharBlock { start: 3520, length: 7, convRule: rule14 } - , CharBlock { start: 3530, length: 1, convRule: rule91 } - , CharBlock { start: 3535, length: 3, convRule: rule123 } - , CharBlock { start: 3538, length: 3, convRule: rule91 } - , CharBlock { start: 3542, length: 1, convRule: rule91 } - , CharBlock { start: 3544, length: 8, convRule: rule123 } + , CharBlock { start: 3530, length: 1, convRule: rule92 } + , CharBlock { start: 3535, length: 3, convRule: rule124 } + , CharBlock { start: 3538, length: 3, convRule: rule92 } + , CharBlock { start: 3542, length: 1, convRule: rule92 } + , CharBlock { start: 3544, length: 8, convRule: rule124 } , CharBlock { start: 3558, length: 10, convRule: rule8 } - , CharBlock { start: 3570, length: 2, convRule: rule123 } + , CharBlock { start: 3570, length: 2, convRule: rule124 } , CharBlock { start: 3572, length: 1, convRule: rule2 } , CharBlock { start: 3585, length: 48, convRule: rule14 } - , CharBlock { start: 3633, length: 1, convRule: rule91 } + , CharBlock { start: 3633, length: 1, convRule: rule92 } , CharBlock { start: 3634, length: 2, convRule: rule14 } - , CharBlock { start: 3636, length: 7, convRule: rule91 } + , CharBlock { start: 3636, length: 7, convRule: rule92 } , CharBlock { start: 3647, length: 1, convRule: rule3 } , CharBlock { start: 3648, length: 6, convRule: rule14 } - , CharBlock { start: 3654, length: 1, convRule: rule90 } - , CharBlock { start: 3655, length: 8, convRule: rule91 } + , CharBlock { start: 3654, length: 1, convRule: rule91 } + , CharBlock { start: 3655, length: 8, convRule: rule92 } , CharBlock { start: 3663, length: 1, convRule: rule2 } , CharBlock { start: 3664, length: 10, convRule: rule8 } , CharBlock { start: 3674, length: 2, convRule: rule2 } , CharBlock { start: 3713, length: 2, convRule: rule14 } , CharBlock { start: 3716, length: 1, convRule: rule14 } - , CharBlock { start: 3719, length: 2, convRule: rule14 } - , CharBlock { start: 3722, length: 1, convRule: rule14 } - , CharBlock { start: 3725, length: 1, convRule: rule14 } - , CharBlock { start: 3732, length: 4, convRule: rule14 } - , CharBlock { start: 3737, length: 7, convRule: rule14 } - , CharBlock { start: 3745, length: 3, convRule: rule14 } + , CharBlock { start: 3718, length: 5, convRule: rule14 } + , CharBlock { start: 3724, length: 24, convRule: rule14 } , CharBlock { start: 3749, length: 1, convRule: rule14 } - , CharBlock { start: 3751, length: 1, convRule: rule14 } - , CharBlock { start: 3754, length: 2, convRule: rule14 } - , CharBlock { start: 3757, length: 4, convRule: rule14 } - , CharBlock { start: 3761, length: 1, convRule: rule91 } + , CharBlock { start: 3751, length: 10, convRule: rule14 } + , CharBlock { start: 3761, length: 1, convRule: rule92 } , CharBlock { start: 3762, length: 2, convRule: rule14 } - , CharBlock { start: 3764, length: 6, convRule: rule91 } - , CharBlock { start: 3771, length: 2, convRule: rule91 } + , CharBlock { start: 3764, length: 9, convRule: rule92 } , CharBlock { start: 3773, length: 1, convRule: rule14 } , CharBlock { start: 3776, length: 5, convRule: rule14 } - , CharBlock { start: 3782, length: 1, convRule: rule90 } - , CharBlock { start: 3784, length: 6, convRule: rule91 } + , CharBlock { start: 3782, length: 1, convRule: rule91 } + , CharBlock { start: 3784, length: 6, convRule: rule92 } , CharBlock { start: 3792, length: 10, convRule: rule8 } , CharBlock { start: 3804, length: 4, convRule: rule14 } , CharBlock { start: 3840, length: 1, convRule: rule14 } @@ -1886,80 +1913,81 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 3859, length: 1, convRule: rule13 } , CharBlock { start: 3860, length: 1, convRule: rule2 } , CharBlock { start: 3861, length: 3, convRule: rule13 } - , CharBlock { start: 3864, length: 2, convRule: rule91 } + , CharBlock { start: 3864, length: 2, convRule: rule92 } , CharBlock { start: 3866, length: 6, convRule: rule13 } , CharBlock { start: 3872, length: 10, convRule: rule8 } , CharBlock { start: 3882, length: 10, convRule: rule17 } , CharBlock { start: 3892, length: 1, convRule: rule13 } - , CharBlock { start: 3893, length: 1, convRule: rule91 } + , CharBlock { start: 3893, length: 1, convRule: rule92 } , CharBlock { start: 3894, length: 1, convRule: rule13 } - , CharBlock { start: 3895, length: 1, convRule: rule91 } + , CharBlock { start: 3895, length: 1, convRule: rule92 } , CharBlock { start: 3896, length: 1, convRule: rule13 } - , CharBlock { start: 3897, length: 1, convRule: rule91 } + , CharBlock { start: 3897, length: 1, convRule: rule92 } , CharBlock { start: 3898, length: 1, convRule: rule4 } , CharBlock { start: 3899, length: 1, convRule: rule5 } , CharBlock { start: 3900, length: 1, convRule: rule4 } , CharBlock { start: 3901, length: 1, convRule: rule5 } - , CharBlock { start: 3902, length: 2, convRule: rule123 } + , CharBlock { start: 3902, length: 2, convRule: rule124 } , CharBlock { start: 3904, length: 8, convRule: rule14 } , CharBlock { start: 3913, length: 36, convRule: rule14 } - , CharBlock { start: 3953, length: 14, convRule: rule91 } - , CharBlock { start: 3967, length: 1, convRule: rule123 } - , CharBlock { start: 3968, length: 5, convRule: rule91 } + , CharBlock { start: 3953, length: 14, convRule: rule92 } + , CharBlock { start: 3967, length: 1, convRule: rule124 } + , CharBlock { start: 3968, length: 5, convRule: rule92 } , CharBlock { start: 3973, length: 1, convRule: rule2 } - , CharBlock { start: 3974, length: 2, convRule: rule91 } + , CharBlock { start: 3974, length: 2, convRule: rule92 } , CharBlock { start: 3976, length: 5, convRule: rule14 } - , CharBlock { start: 3981, length: 11, convRule: rule91 } - , CharBlock { start: 3993, length: 36, convRule: rule91 } + , CharBlock { start: 3981, length: 11, convRule: rule92 } + , CharBlock { start: 3993, length: 36, convRule: rule92 } , CharBlock { start: 4030, length: 8, convRule: rule13 } - , CharBlock { start: 4038, length: 1, convRule: rule91 } + , CharBlock { start: 4038, length: 1, convRule: rule92 } , CharBlock { start: 4039, length: 6, convRule: rule13 } , CharBlock { start: 4046, length: 2, convRule: rule13 } , CharBlock { start: 4048, length: 5, convRule: rule2 } , CharBlock { start: 4053, length: 4, convRule: rule13 } , CharBlock { start: 4057, length: 2, convRule: rule2 } , CharBlock { start: 4096, length: 43, convRule: rule14 } - , CharBlock { start: 4139, length: 2, convRule: rule123 } - , CharBlock { start: 4141, length: 4, convRule: rule91 } - , CharBlock { start: 4145, length: 1, convRule: rule123 } - , CharBlock { start: 4146, length: 6, convRule: rule91 } - , CharBlock { start: 4152, length: 1, convRule: rule123 } - , CharBlock { start: 4153, length: 2, convRule: rule91 } - , CharBlock { start: 4155, length: 2, convRule: rule123 } - , CharBlock { start: 4157, length: 2, convRule: rule91 } + , CharBlock { start: 4139, length: 2, convRule: rule124 } + , CharBlock { start: 4141, length: 4, convRule: rule92 } + , CharBlock { start: 4145, length: 1, convRule: rule124 } + , CharBlock { start: 4146, length: 6, convRule: rule92 } + , CharBlock { start: 4152, length: 1, convRule: rule124 } + , CharBlock { start: 4153, length: 2, convRule: rule92 } + , CharBlock { start: 4155, length: 2, convRule: rule124 } + , CharBlock { start: 4157, length: 2, convRule: rule92 } , CharBlock { start: 4159, length: 1, convRule: rule14 } , CharBlock { start: 4160, length: 10, convRule: rule8 } , CharBlock { start: 4170, length: 6, convRule: rule2 } , CharBlock { start: 4176, length: 6, convRule: rule14 } - , CharBlock { start: 4182, length: 2, convRule: rule123 } - , CharBlock { start: 4184, length: 2, convRule: rule91 } + , CharBlock { start: 4182, length: 2, convRule: rule124 } + , CharBlock { start: 4184, length: 2, convRule: rule92 } , CharBlock { start: 4186, length: 4, convRule: rule14 } - , CharBlock { start: 4190, length: 3, convRule: rule91 } + , CharBlock { start: 4190, length: 3, convRule: rule92 } , CharBlock { start: 4193, length: 1, convRule: rule14 } - , CharBlock { start: 4194, length: 3, convRule: rule123 } + , CharBlock { start: 4194, length: 3, convRule: rule124 } , CharBlock { start: 4197, length: 2, convRule: rule14 } - , CharBlock { start: 4199, length: 7, convRule: rule123 } + , CharBlock { start: 4199, length: 7, convRule: rule124 } , CharBlock { start: 4206, length: 3, convRule: rule14 } - , CharBlock { start: 4209, length: 4, convRule: rule91 } + , CharBlock { start: 4209, length: 4, convRule: rule92 } , CharBlock { start: 4213, length: 13, convRule: rule14 } - , CharBlock { start: 4226, length: 1, convRule: rule91 } - , CharBlock { start: 4227, length: 2, convRule: rule123 } - , CharBlock { start: 4229, length: 2, convRule: rule91 } - , CharBlock { start: 4231, length: 6, convRule: rule123 } - , CharBlock { start: 4237, length: 1, convRule: rule91 } + , CharBlock { start: 4226, length: 1, convRule: rule92 } + , CharBlock { start: 4227, length: 2, convRule: rule124 } + , CharBlock { start: 4229, length: 2, convRule: rule92 } + , CharBlock { start: 4231, length: 6, convRule: rule124 } + , CharBlock { start: 4237, length: 1, convRule: rule92 } , CharBlock { start: 4238, length: 1, convRule: rule14 } - , CharBlock { start: 4239, length: 1, convRule: rule123 } + , CharBlock { start: 4239, length: 1, convRule: rule124 } , CharBlock { start: 4240, length: 10, convRule: rule8 } - , CharBlock { start: 4250, length: 3, convRule: rule123 } - , CharBlock { start: 4253, length: 1, convRule: rule91 } + , CharBlock { start: 4250, length: 3, convRule: rule124 } + , CharBlock { start: 4253, length: 1, convRule: rule92 } , CharBlock { start: 4254, length: 2, convRule: rule13 } - , CharBlock { start: 4256, length: 38, convRule: rule124 } - , CharBlock { start: 4295, length: 1, convRule: rule124 } - , CharBlock { start: 4301, length: 1, convRule: rule124 } - , CharBlock { start: 4304, length: 43, convRule: rule14 } + , CharBlock { start: 4256, length: 38, convRule: rule125 } + , CharBlock { start: 4295, length: 1, convRule: rule125 } + , CharBlock { start: 4301, length: 1, convRule: rule125 } + , CharBlock { start: 4304, length: 43, convRule: rule126 } , CharBlock { start: 4347, length: 1, convRule: rule2 } - , CharBlock { start: 4348, length: 1, convRule: rule90 } - , CharBlock { start: 4349, length: 332, convRule: rule14 } + , CharBlock { start: 4348, length: 1, convRule: rule91 } + , CharBlock { start: 4349, length: 3, convRule: rule126 } + , CharBlock { start: 4352, length: 329, convRule: rule14 } , CharBlock { start: 4682, length: 4, convRule: rule14 } , CharBlock { start: 4688, length: 7, convRule: rule14 } , CharBlock { start: 4696, length: 1, convRule: rule14 } @@ -1975,17 +2003,18 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 4824, length: 57, convRule: rule14 } , CharBlock { start: 4882, length: 4, convRule: rule14 } , CharBlock { start: 4888, length: 67, convRule: rule14 } - , CharBlock { start: 4957, length: 3, convRule: rule91 } + , CharBlock { start: 4957, length: 3, convRule: rule92 } , CharBlock { start: 4960, length: 9, convRule: rule2 } , CharBlock { start: 4969, length: 20, convRule: rule17 } , CharBlock { start: 4992, length: 16, convRule: rule14 } , CharBlock { start: 5008, length: 10, convRule: rule13 } - , CharBlock { start: 5024, length: 80, convRule: rule125 } - , CharBlock { start: 5104, length: 6, convRule: rule103 } - , CharBlock { start: 5112, length: 6, convRule: rule109 } + , CharBlock { start: 5024, length: 80, convRule: rule127 } + , CharBlock { start: 5104, length: 6, convRule: rule104 } + , CharBlock { start: 5112, length: 6, convRule: rule110 } , CharBlock { start: 5120, length: 1, convRule: rule7 } , CharBlock { start: 5121, length: 620, convRule: rule14 } - , CharBlock { start: 5741, length: 2, convRule: rule2 } + , CharBlock { start: 5741, length: 1, convRule: rule13 } + , CharBlock { start: 5742, length: 1, convRule: rule2 } , CharBlock { start: 5743, length: 17, convRule: rule14 } , CharBlock { start: 5760, length: 1, convRule: rule1 } , CharBlock { start: 5761, length: 26, convRule: rule14 } @@ -1993,59 +2022,59 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 5788, length: 1, convRule: rule5 } , CharBlock { start: 5792, length: 75, convRule: rule14 } , CharBlock { start: 5867, length: 3, convRule: rule2 } - , CharBlock { start: 5870, length: 3, convRule: rule126 } + , CharBlock { start: 5870, length: 3, convRule: rule128 } , CharBlock { start: 5873, length: 8, convRule: rule14 } , CharBlock { start: 5888, length: 13, convRule: rule14 } , CharBlock { start: 5902, length: 4, convRule: rule14 } - , CharBlock { start: 5906, length: 3, convRule: rule91 } + , CharBlock { start: 5906, length: 3, convRule: rule92 } , CharBlock { start: 5920, length: 18, convRule: rule14 } - , CharBlock { start: 5938, length: 3, convRule: rule91 } + , CharBlock { start: 5938, length: 3, convRule: rule92 } , CharBlock { start: 5941, length: 2, convRule: rule2 } , CharBlock { start: 5952, length: 18, convRule: rule14 } - , CharBlock { start: 5970, length: 2, convRule: rule91 } + , CharBlock { start: 5970, length: 2, convRule: rule92 } , CharBlock { start: 5984, length: 13, convRule: rule14 } , CharBlock { start: 5998, length: 3, convRule: rule14 } - , CharBlock { start: 6002, length: 2, convRule: rule91 } + , CharBlock { start: 6002, length: 2, convRule: rule92 } , CharBlock { start: 6016, length: 52, convRule: rule14 } - , CharBlock { start: 6068, length: 2, convRule: rule91 } - , CharBlock { start: 6070, length: 1, convRule: rule123 } - , CharBlock { start: 6071, length: 7, convRule: rule91 } - , CharBlock { start: 6078, length: 8, convRule: rule123 } - , CharBlock { start: 6086, length: 1, convRule: rule91 } - , CharBlock { start: 6087, length: 2, convRule: rule123 } - , CharBlock { start: 6089, length: 11, convRule: rule91 } + , CharBlock { start: 6068, length: 2, convRule: rule92 } + , CharBlock { start: 6070, length: 1, convRule: rule124 } + , CharBlock { start: 6071, length: 7, convRule: rule92 } + , CharBlock { start: 6078, length: 8, convRule: rule124 } + , CharBlock { start: 6086, length: 1, convRule: rule92 } + , CharBlock { start: 6087, length: 2, convRule: rule124 } + , CharBlock { start: 6089, length: 11, convRule: rule92 } , CharBlock { start: 6100, length: 3, convRule: rule2 } - , CharBlock { start: 6103, length: 1, convRule: rule90 } + , CharBlock { start: 6103, length: 1, convRule: rule91 } , CharBlock { start: 6104, length: 3, convRule: rule2 } , CharBlock { start: 6107, length: 1, convRule: rule3 } , CharBlock { start: 6108, length: 1, convRule: rule14 } - , CharBlock { start: 6109, length: 1, convRule: rule91 } + , CharBlock { start: 6109, length: 1, convRule: rule92 } , CharBlock { start: 6112, length: 10, convRule: rule8 } , CharBlock { start: 6128, length: 10, convRule: rule17 } , CharBlock { start: 6144, length: 6, convRule: rule2 } , CharBlock { start: 6150, length: 1, convRule: rule7 } , CharBlock { start: 6151, length: 4, convRule: rule2 } - , CharBlock { start: 6155, length: 3, convRule: rule91 } + , CharBlock { start: 6155, length: 3, convRule: rule92 } , CharBlock { start: 6158, length: 1, convRule: rule16 } , CharBlock { start: 6160, length: 10, convRule: rule8 } , CharBlock { start: 6176, length: 35, convRule: rule14 } - , CharBlock { start: 6211, length: 1, convRule: rule90 } - , CharBlock { start: 6212, length: 52, convRule: rule14 } + , CharBlock { start: 6211, length: 1, convRule: rule91 } + , CharBlock { start: 6212, length: 53, convRule: rule14 } , CharBlock { start: 6272, length: 5, convRule: rule14 } - , CharBlock { start: 6277, length: 2, convRule: rule91 } + , CharBlock { start: 6277, length: 2, convRule: rule92 } , CharBlock { start: 6279, length: 34, convRule: rule14 } - , CharBlock { start: 6313, length: 1, convRule: rule91 } + , CharBlock { start: 6313, length: 1, convRule: rule92 } , CharBlock { start: 6314, length: 1, convRule: rule14 } , CharBlock { start: 6320, length: 70, convRule: rule14 } , CharBlock { start: 6400, length: 31, convRule: rule14 } - , CharBlock { start: 6432, length: 3, convRule: rule91 } - , CharBlock { start: 6435, length: 4, convRule: rule123 } - , CharBlock { start: 6439, length: 2, convRule: rule91 } - , CharBlock { start: 6441, length: 3, convRule: rule123 } - , CharBlock { start: 6448, length: 2, convRule: rule123 } - , CharBlock { start: 6450, length: 1, convRule: rule91 } - , CharBlock { start: 6451, length: 6, convRule: rule123 } - , CharBlock { start: 6457, length: 3, convRule: rule91 } + , CharBlock { start: 6432, length: 3, convRule: rule92 } + , CharBlock { start: 6435, length: 4, convRule: rule124 } + , CharBlock { start: 6439, length: 2, convRule: rule92 } + , CharBlock { start: 6441, length: 3, convRule: rule124 } + , CharBlock { start: 6448, length: 2, convRule: rule124 } + , CharBlock { start: 6450, length: 1, convRule: rule92 } + , CharBlock { start: 6451, length: 6, convRule: rule124 } + , CharBlock { start: 6457, length: 3, convRule: rule92 } , CharBlock { start: 6464, length: 1, convRule: rule13 } , CharBlock { start: 6468, length: 2, convRule: rule2 } , CharBlock { start: 6470, length: 10, convRule: rule8 } @@ -2057,113 +2086,118 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 6618, length: 1, convRule: rule17 } , CharBlock { start: 6622, length: 34, convRule: rule13 } , CharBlock { start: 6656, length: 23, convRule: rule14 } - , CharBlock { start: 6679, length: 2, convRule: rule91 } - , CharBlock { start: 6681, length: 2, convRule: rule123 } - , CharBlock { start: 6683, length: 1, convRule: rule91 } + , CharBlock { start: 6679, length: 2, convRule: rule92 } + , CharBlock { start: 6681, length: 2, convRule: rule124 } + , CharBlock { start: 6683, length: 1, convRule: rule92 } , CharBlock { start: 6686, length: 2, convRule: rule2 } , CharBlock { start: 6688, length: 53, convRule: rule14 } - , CharBlock { start: 6741, length: 1, convRule: rule123 } - , CharBlock { start: 6742, length: 1, convRule: rule91 } - , CharBlock { start: 6743, length: 1, convRule: rule123 } - , CharBlock { start: 6744, length: 7, convRule: rule91 } - , CharBlock { start: 6752, length: 1, convRule: rule91 } - , CharBlock { start: 6753, length: 1, convRule: rule123 } - , CharBlock { start: 6754, length: 1, convRule: rule91 } - , CharBlock { start: 6755, length: 2, convRule: rule123 } - , CharBlock { start: 6757, length: 8, convRule: rule91 } - , CharBlock { start: 6765, length: 6, convRule: rule123 } - , CharBlock { start: 6771, length: 10, convRule: rule91 } - , CharBlock { start: 6783, length: 1, convRule: rule91 } + , CharBlock { start: 6741, length: 1, convRule: rule124 } + , CharBlock { start: 6742, length: 1, convRule: rule92 } + , CharBlock { start: 6743, length: 1, convRule: rule124 } + , CharBlock { start: 6744, length: 7, convRule: rule92 } + , CharBlock { start: 6752, length: 1, convRule: rule92 } + , CharBlock { start: 6753, length: 1, convRule: rule124 } + , CharBlock { start: 6754, length: 1, convRule: rule92 } + , CharBlock { start: 6755, length: 2, convRule: rule124 } + , CharBlock { start: 6757, length: 8, convRule: rule92 } + , CharBlock { start: 6765, length: 6, convRule: rule124 } + , CharBlock { start: 6771, length: 10, convRule: rule92 } + , CharBlock { start: 6783, length: 1, convRule: rule92 } , CharBlock { start: 6784, length: 10, convRule: rule8 } , CharBlock { start: 6800, length: 10, convRule: rule8 } , CharBlock { start: 6816, length: 7, convRule: rule2 } - , CharBlock { start: 6823, length: 1, convRule: rule90 } + , CharBlock { start: 6823, length: 1, convRule: rule91 } , CharBlock { start: 6824, length: 6, convRule: rule2 } - , CharBlock { start: 6832, length: 14, convRule: rule91 } - , CharBlock { start: 6846, length: 1, convRule: rule118 } - , CharBlock { start: 6912, length: 4, convRule: rule91 } - , CharBlock { start: 6916, length: 1, convRule: rule123 } + , CharBlock { start: 6832, length: 14, convRule: rule92 } + , CharBlock { start: 6846, length: 1, convRule: rule119 } + , CharBlock { start: 6847, length: 2, convRule: rule92 } + , CharBlock { start: 6912, length: 4, convRule: rule92 } + , CharBlock { start: 6916, length: 1, convRule: rule124 } , CharBlock { start: 6917, length: 47, convRule: rule14 } - , CharBlock { start: 6964, length: 1, convRule: rule91 } - , CharBlock { start: 6965, length: 1, convRule: rule123 } - , CharBlock { start: 6966, length: 5, convRule: rule91 } - , CharBlock { start: 6971, length: 1, convRule: rule123 } - , CharBlock { start: 6972, length: 1, convRule: rule91 } - , CharBlock { start: 6973, length: 5, convRule: rule123 } - , CharBlock { start: 6978, length: 1, convRule: rule91 } - , CharBlock { start: 6979, length: 2, convRule: rule123 } + , CharBlock { start: 6964, length: 1, convRule: rule92 } + , CharBlock { start: 6965, length: 1, convRule: rule124 } + , CharBlock { start: 6966, length: 5, convRule: rule92 } + , CharBlock { start: 6971, length: 1, convRule: rule124 } + , CharBlock { start: 6972, length: 1, convRule: rule92 } + , CharBlock { start: 6973, length: 5, convRule: rule124 } + , CharBlock { start: 6978, length: 1, convRule: rule92 } + , CharBlock { start: 6979, length: 2, convRule: rule124 } , CharBlock { start: 6981, length: 7, convRule: rule14 } , CharBlock { start: 6992, length: 10, convRule: rule8 } , CharBlock { start: 7002, length: 7, convRule: rule2 } , CharBlock { start: 7009, length: 10, convRule: rule13 } - , CharBlock { start: 7019, length: 9, convRule: rule91 } + , CharBlock { start: 7019, length: 9, convRule: rule92 } , CharBlock { start: 7028, length: 9, convRule: rule13 } - , CharBlock { start: 7040, length: 2, convRule: rule91 } - , CharBlock { start: 7042, length: 1, convRule: rule123 } + , CharBlock { start: 7040, length: 2, convRule: rule92 } + , CharBlock { start: 7042, length: 1, convRule: rule124 } , CharBlock { start: 7043, length: 30, convRule: rule14 } - , CharBlock { start: 7073, length: 1, convRule: rule123 } - , CharBlock { start: 7074, length: 4, convRule: rule91 } - , CharBlock { start: 7078, length: 2, convRule: rule123 } - , CharBlock { start: 7080, length: 2, convRule: rule91 } - , CharBlock { start: 7082, length: 1, convRule: rule123 } - , CharBlock { start: 7083, length: 3, convRule: rule91 } + , CharBlock { start: 7073, length: 1, convRule: rule124 } + , CharBlock { start: 7074, length: 4, convRule: rule92 } + , CharBlock { start: 7078, length: 2, convRule: rule124 } + , CharBlock { start: 7080, length: 2, convRule: rule92 } + , CharBlock { start: 7082, length: 1, convRule: rule124 } + , CharBlock { start: 7083, length: 3, convRule: rule92 } , CharBlock { start: 7086, length: 2, convRule: rule14 } , CharBlock { start: 7088, length: 10, convRule: rule8 } , CharBlock { start: 7098, length: 44, convRule: rule14 } - , CharBlock { start: 7142, length: 1, convRule: rule91 } - , CharBlock { start: 7143, length: 1, convRule: rule123 } - , CharBlock { start: 7144, length: 2, convRule: rule91 } - , CharBlock { start: 7146, length: 3, convRule: rule123 } - , CharBlock { start: 7149, length: 1, convRule: rule91 } - , CharBlock { start: 7150, length: 1, convRule: rule123 } - , CharBlock { start: 7151, length: 3, convRule: rule91 } - , CharBlock { start: 7154, length: 2, convRule: rule123 } + , CharBlock { start: 7142, length: 1, convRule: rule92 } + , CharBlock { start: 7143, length: 1, convRule: rule124 } + , CharBlock { start: 7144, length: 2, convRule: rule92 } + , CharBlock { start: 7146, length: 3, convRule: rule124 } + , CharBlock { start: 7149, length: 1, convRule: rule92 } + , CharBlock { start: 7150, length: 1, convRule: rule124 } + , CharBlock { start: 7151, length: 3, convRule: rule92 } + , CharBlock { start: 7154, length: 2, convRule: rule124 } , CharBlock { start: 7164, length: 4, convRule: rule2 } , CharBlock { start: 7168, length: 36, convRule: rule14 } - , CharBlock { start: 7204, length: 8, convRule: rule123 } - , CharBlock { start: 7212, length: 8, convRule: rule91 } - , CharBlock { start: 7220, length: 2, convRule: rule123 } - , CharBlock { start: 7222, length: 2, convRule: rule91 } + , CharBlock { start: 7204, length: 8, convRule: rule124 } + , CharBlock { start: 7212, length: 8, convRule: rule92 } + , CharBlock { start: 7220, length: 2, convRule: rule124 } + , CharBlock { start: 7222, length: 2, convRule: rule92 } , CharBlock { start: 7227, length: 5, convRule: rule2 } , CharBlock { start: 7232, length: 10, convRule: rule8 } , CharBlock { start: 7245, length: 3, convRule: rule14 } , CharBlock { start: 7248, length: 10, convRule: rule8 } , CharBlock { start: 7258, length: 30, convRule: rule14 } - , CharBlock { start: 7288, length: 6, convRule: rule90 } + , CharBlock { start: 7288, length: 6, convRule: rule91 } , CharBlock { start: 7294, length: 2, convRule: rule2 } - , CharBlock { start: 7296, length: 1, convRule: rule127 } - , CharBlock { start: 7297, length: 1, convRule: rule128 } - , CharBlock { start: 7298, length: 1, convRule: rule129 } - , CharBlock { start: 7299, length: 2, convRule: rule130 } - , CharBlock { start: 7301, length: 1, convRule: rule131 } - , CharBlock { start: 7302, length: 1, convRule: rule132 } - , CharBlock { start: 7303, length: 1, convRule: rule133 } - , CharBlock { start: 7304, length: 1, convRule: rule134 } + , CharBlock { start: 7296, length: 1, convRule: rule129 } + , CharBlock { start: 7297, length: 1, convRule: rule130 } + , CharBlock { start: 7298, length: 1, convRule: rule131 } + , CharBlock { start: 7299, length: 2, convRule: rule132 } + , CharBlock { start: 7301, length: 1, convRule: rule133 } + , CharBlock { start: 7302, length: 1, convRule: rule134 } + , CharBlock { start: 7303, length: 1, convRule: rule135 } + , CharBlock { start: 7304, length: 1, convRule: rule136 } + , CharBlock { start: 7312, length: 43, convRule: rule137 } + , CharBlock { start: 7357, length: 3, convRule: rule137 } , CharBlock { start: 7360, length: 8, convRule: rule2 } - , CharBlock { start: 7376, length: 3, convRule: rule91 } + , CharBlock { start: 7376, length: 3, convRule: rule92 } , CharBlock { start: 7379, length: 1, convRule: rule2 } - , CharBlock { start: 7380, length: 13, convRule: rule91 } - , CharBlock { start: 7393, length: 1, convRule: rule123 } - , CharBlock { start: 7394, length: 7, convRule: rule91 } + , CharBlock { start: 7380, length: 13, convRule: rule92 } + , CharBlock { start: 7393, length: 1, convRule: rule124 } + , CharBlock { start: 7394, length: 7, convRule: rule92 } , CharBlock { start: 7401, length: 4, convRule: rule14 } - , CharBlock { start: 7405, length: 1, convRule: rule91 } - , CharBlock { start: 7406, length: 4, convRule: rule14 } - , CharBlock { start: 7410, length: 2, convRule: rule123 } - , CharBlock { start: 7412, length: 1, convRule: rule91 } + , CharBlock { start: 7405, length: 1, convRule: rule92 } + , CharBlock { start: 7406, length: 6, convRule: rule14 } + , CharBlock { start: 7412, length: 1, convRule: rule92 } , CharBlock { start: 7413, length: 2, convRule: rule14 } - , CharBlock { start: 7415, length: 1, convRule: rule123 } - , CharBlock { start: 7416, length: 2, convRule: rule91 } + , CharBlock { start: 7415, length: 1, convRule: rule124 } + , CharBlock { start: 7416, length: 2, convRule: rule92 } + , CharBlock { start: 7418, length: 1, convRule: rule14 } , CharBlock { start: 7424, length: 44, convRule: rule20 } - , CharBlock { start: 7468, length: 63, convRule: rule90 } + , CharBlock { start: 7468, length: 63, convRule: rule91 } , CharBlock { start: 7531, length: 13, convRule: rule20 } - , CharBlock { start: 7544, length: 1, convRule: rule90 } - , CharBlock { start: 7545, length: 1, convRule: rule135 } + , CharBlock { start: 7544, length: 1, convRule: rule91 } + , CharBlock { start: 7545, length: 1, convRule: rule138 } , CharBlock { start: 7546, length: 3, convRule: rule20 } - , CharBlock { start: 7549, length: 1, convRule: rule136 } - , CharBlock { start: 7550, length: 29, convRule: rule20 } - , CharBlock { start: 7579, length: 37, convRule: rule90 } - , CharBlock { start: 7616, length: 58, convRule: rule91 } - , CharBlock { start: 7675, length: 5, convRule: rule91 } + , CharBlock { start: 7549, length: 1, convRule: rule139 } + , CharBlock { start: 7550, length: 16, convRule: rule20 } + , CharBlock { start: 7566, length: 1, convRule: rule140 } + , CharBlock { start: 7567, length: 12, convRule: rule20 } + , CharBlock { start: 7579, length: 37, convRule: rule91 } + , CharBlock { start: 7616, length: 58, convRule: rule92 } + , CharBlock { start: 7675, length: 5, convRule: rule92 } , CharBlock { start: 7680, length: 1, convRule: rule22 } , CharBlock { start: 7681, length: 1, convRule: rule23 } , CharBlock { start: 7682, length: 1, convRule: rule22 } @@ -2315,9 +2349,9 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 7828, length: 1, convRule: rule22 } , CharBlock { start: 7829, length: 1, convRule: rule23 } , CharBlock { start: 7830, length: 5, convRule: rule20 } - , CharBlock { start: 7835, length: 1, convRule: rule137 } + , CharBlock { start: 7835, length: 1, convRule: rule141 } , CharBlock { start: 7836, length: 2, convRule: rule20 } - , CharBlock { start: 7838, length: 1, convRule: rule138 } + , CharBlock { start: 7838, length: 1, convRule: rule142 } , CharBlock { start: 7839, length: 1, convRule: rule20 } , CharBlock { start: 7840, length: 1, convRule: rule22 } , CharBlock { start: 7841, length: 1, convRule: rule23 } @@ -2415,81 +2449,81 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 7933, length: 1, convRule: rule23 } , CharBlock { start: 7934, length: 1, convRule: rule22 } , CharBlock { start: 7935, length: 1, convRule: rule23 } - , CharBlock { start: 7936, length: 8, convRule: rule139 } - , CharBlock { start: 7944, length: 8, convRule: rule140 } - , CharBlock { start: 7952, length: 6, convRule: rule139 } - , CharBlock { start: 7960, length: 6, convRule: rule140 } - , CharBlock { start: 7968, length: 8, convRule: rule139 } - , CharBlock { start: 7976, length: 8, convRule: rule140 } - , CharBlock { start: 7984, length: 8, convRule: rule139 } - , CharBlock { start: 7992, length: 8, convRule: rule140 } - , CharBlock { start: 8000, length: 6, convRule: rule139 } - , CharBlock { start: 8008, length: 6, convRule: rule140 } + , CharBlock { start: 7936, length: 8, convRule: rule143 } + , CharBlock { start: 7944, length: 8, convRule: rule144 } + , CharBlock { start: 7952, length: 6, convRule: rule143 } + , CharBlock { start: 7960, length: 6, convRule: rule144 } + , CharBlock { start: 7968, length: 8, convRule: rule143 } + , CharBlock { start: 7976, length: 8, convRule: rule144 } + , CharBlock { start: 7984, length: 8, convRule: rule143 } + , CharBlock { start: 7992, length: 8, convRule: rule144 } + , CharBlock { start: 8000, length: 6, convRule: rule143 } + , CharBlock { start: 8008, length: 6, convRule: rule144 } , CharBlock { start: 8016, length: 1, convRule: rule20 } - , CharBlock { start: 8017, length: 1, convRule: rule139 } + , CharBlock { start: 8017, length: 1, convRule: rule143 } , CharBlock { start: 8018, length: 1, convRule: rule20 } - , CharBlock { start: 8019, length: 1, convRule: rule139 } + , CharBlock { start: 8019, length: 1, convRule: rule143 } , CharBlock { start: 8020, length: 1, convRule: rule20 } - , CharBlock { start: 8021, length: 1, convRule: rule139 } + , CharBlock { start: 8021, length: 1, convRule: rule143 } , CharBlock { start: 8022, length: 1, convRule: rule20 } - , CharBlock { start: 8023, length: 1, convRule: rule139 } - , CharBlock { start: 8025, length: 1, convRule: rule140 } - , CharBlock { start: 8027, length: 1, convRule: rule140 } - , CharBlock { start: 8029, length: 1, convRule: rule140 } - , CharBlock { start: 8031, length: 1, convRule: rule140 } - , CharBlock { start: 8032, length: 8, convRule: rule139 } - , CharBlock { start: 8040, length: 8, convRule: rule140 } - , CharBlock { start: 8048, length: 2, convRule: rule141 } - , CharBlock { start: 8050, length: 4, convRule: rule142 } - , CharBlock { start: 8054, length: 2, convRule: rule143 } - , CharBlock { start: 8056, length: 2, convRule: rule144 } - , CharBlock { start: 8058, length: 2, convRule: rule145 } - , CharBlock { start: 8060, length: 2, convRule: rule146 } - , CharBlock { start: 8064, length: 8, convRule: rule139 } - , CharBlock { start: 8072, length: 8, convRule: rule147 } - , CharBlock { start: 8080, length: 8, convRule: rule139 } - , CharBlock { start: 8088, length: 8, convRule: rule147 } - , CharBlock { start: 8096, length: 8, convRule: rule139 } - , CharBlock { start: 8104, length: 8, convRule: rule147 } - , CharBlock { start: 8112, length: 2, convRule: rule139 } + , CharBlock { start: 8023, length: 1, convRule: rule143 } + , CharBlock { start: 8025, length: 1, convRule: rule144 } + , CharBlock { start: 8027, length: 1, convRule: rule144 } + , CharBlock { start: 8029, length: 1, convRule: rule144 } + , CharBlock { start: 8031, length: 1, convRule: rule144 } + , CharBlock { start: 8032, length: 8, convRule: rule143 } + , CharBlock { start: 8040, length: 8, convRule: rule144 } + , CharBlock { start: 8048, length: 2, convRule: rule145 } + , CharBlock { start: 8050, length: 4, convRule: rule146 } + , CharBlock { start: 8054, length: 2, convRule: rule147 } + , CharBlock { start: 8056, length: 2, convRule: rule148 } + , CharBlock { start: 8058, length: 2, convRule: rule149 } + , CharBlock { start: 8060, length: 2, convRule: rule150 } + , CharBlock { start: 8064, length: 8, convRule: rule143 } + , CharBlock { start: 8072, length: 8, convRule: rule151 } + , CharBlock { start: 8080, length: 8, convRule: rule143 } + , CharBlock { start: 8088, length: 8, convRule: rule151 } + , CharBlock { start: 8096, length: 8, convRule: rule143 } + , CharBlock { start: 8104, length: 8, convRule: rule151 } + , CharBlock { start: 8112, length: 2, convRule: rule143 } , CharBlock { start: 8114, length: 1, convRule: rule20 } - , CharBlock { start: 8115, length: 1, convRule: rule148 } + , CharBlock { start: 8115, length: 1, convRule: rule152 } , CharBlock { start: 8116, length: 1, convRule: rule20 } , CharBlock { start: 8118, length: 2, convRule: rule20 } - , CharBlock { start: 8120, length: 2, convRule: rule140 } - , CharBlock { start: 8122, length: 2, convRule: rule149 } - , CharBlock { start: 8124, length: 1, convRule: rule150 } + , CharBlock { start: 8120, length: 2, convRule: rule144 } + , CharBlock { start: 8122, length: 2, convRule: rule153 } + , CharBlock { start: 8124, length: 1, convRule: rule154 } , CharBlock { start: 8125, length: 1, convRule: rule10 } - , CharBlock { start: 8126, length: 1, convRule: rule151 } + , CharBlock { start: 8126, length: 1, convRule: rule155 } , CharBlock { start: 8127, length: 3, convRule: rule10 } , CharBlock { start: 8130, length: 1, convRule: rule20 } - , CharBlock { start: 8131, length: 1, convRule: rule148 } + , CharBlock { start: 8131, length: 1, convRule: rule152 } , CharBlock { start: 8132, length: 1, convRule: rule20 } , CharBlock { start: 8134, length: 2, convRule: rule20 } - , CharBlock { start: 8136, length: 4, convRule: rule152 } - , CharBlock { start: 8140, length: 1, convRule: rule150 } + , CharBlock { start: 8136, length: 4, convRule: rule156 } + , CharBlock { start: 8140, length: 1, convRule: rule154 } , CharBlock { start: 8141, length: 3, convRule: rule10 } - , CharBlock { start: 8144, length: 2, convRule: rule139 } + , CharBlock { start: 8144, length: 2, convRule: rule143 } , CharBlock { start: 8146, length: 2, convRule: rule20 } , CharBlock { start: 8150, length: 2, convRule: rule20 } - , CharBlock { start: 8152, length: 2, convRule: rule140 } - , CharBlock { start: 8154, length: 2, convRule: rule153 } + , CharBlock { start: 8152, length: 2, convRule: rule144 } + , CharBlock { start: 8154, length: 2, convRule: rule157 } , CharBlock { start: 8157, length: 3, convRule: rule10 } - , CharBlock { start: 8160, length: 2, convRule: rule139 } + , CharBlock { start: 8160, length: 2, convRule: rule143 } , CharBlock { start: 8162, length: 3, convRule: rule20 } - , CharBlock { start: 8165, length: 1, convRule: rule112 } + , CharBlock { start: 8165, length: 1, convRule: rule113 } , CharBlock { start: 8166, length: 2, convRule: rule20 } - , CharBlock { start: 8168, length: 2, convRule: rule140 } - , CharBlock { start: 8170, length: 2, convRule: rule154 } - , CharBlock { start: 8172, length: 1, convRule: rule116 } + , CharBlock { start: 8168, length: 2, convRule: rule144 } + , CharBlock { start: 8170, length: 2, convRule: rule158 } + , CharBlock { start: 8172, length: 1, convRule: rule117 } , CharBlock { start: 8173, length: 3, convRule: rule10 } , CharBlock { start: 8178, length: 1, convRule: rule20 } - , CharBlock { start: 8179, length: 1, convRule: rule148 } + , CharBlock { start: 8179, length: 1, convRule: rule152 } , CharBlock { start: 8180, length: 1, convRule: rule20 } , CharBlock { start: 8182, length: 2, convRule: rule20 } - , CharBlock { start: 8184, length: 2, convRule: rule155 } - , CharBlock { start: 8186, length: 2, convRule: rule156 } - , CharBlock { start: 8188, length: 1, convRule: rule150 } + , CharBlock { start: 8184, length: 2, convRule: rule159 } + , CharBlock { start: 8186, length: 2, convRule: rule160 } + , CharBlock { start: 8188, length: 1, convRule: rule154 } , CharBlock { start: 8189, length: 2, convRule: rule10 } , CharBlock { start: 8192, length: 11, convRule: rule1 } , CharBlock { start: 8203, length: 5, convRule: rule16 } @@ -2503,8 +2537,8 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 8222, length: 1, convRule: rule4 } , CharBlock { start: 8223, length: 1, convRule: rule15 } , CharBlock { start: 8224, length: 8, convRule: rule2 } - , CharBlock { start: 8232, length: 1, convRule: rule157 } - , CharBlock { start: 8233, length: 1, convRule: rule158 } + , CharBlock { start: 8232, length: 1, convRule: rule161 } + , CharBlock { start: 8233, length: 1, convRule: rule162 } , CharBlock { start: 8234, length: 5, convRule: rule16 } , CharBlock { start: 8239, length: 1, convRule: rule1 } , CharBlock { start: 8240, length: 9, convRule: rule2 } @@ -2525,74 +2559,74 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 8288, length: 5, convRule: rule16 } , CharBlock { start: 8294, length: 10, convRule: rule16 } , CharBlock { start: 8304, length: 1, convRule: rule17 } - , CharBlock { start: 8305, length: 1, convRule: rule90 } + , CharBlock { start: 8305, length: 1, convRule: rule91 } , CharBlock { start: 8308, length: 6, convRule: rule17 } , CharBlock { start: 8314, length: 3, convRule: rule6 } , CharBlock { start: 8317, length: 1, convRule: rule4 } , CharBlock { start: 8318, length: 1, convRule: rule5 } - , CharBlock { start: 8319, length: 1, convRule: rule90 } + , CharBlock { start: 8319, length: 1, convRule: rule91 } , CharBlock { start: 8320, length: 10, convRule: rule17 } , CharBlock { start: 8330, length: 3, convRule: rule6 } , CharBlock { start: 8333, length: 1, convRule: rule4 } , CharBlock { start: 8334, length: 1, convRule: rule5 } - , CharBlock { start: 8336, length: 13, convRule: rule90 } + , CharBlock { start: 8336, length: 13, convRule: rule91 } , CharBlock { start: 8352, length: 32, convRule: rule3 } - , CharBlock { start: 8400, length: 13, convRule: rule91 } - , CharBlock { start: 8413, length: 4, convRule: rule118 } - , CharBlock { start: 8417, length: 1, convRule: rule91 } - , CharBlock { start: 8418, length: 3, convRule: rule118 } - , CharBlock { start: 8421, length: 12, convRule: rule91 } + , CharBlock { start: 8400, length: 13, convRule: rule92 } + , CharBlock { start: 8413, length: 4, convRule: rule119 } + , CharBlock { start: 8417, length: 1, convRule: rule92 } + , CharBlock { start: 8418, length: 3, convRule: rule119 } + , CharBlock { start: 8421, length: 12, convRule: rule92 } , CharBlock { start: 8448, length: 2, convRule: rule13 } - , CharBlock { start: 8450, length: 1, convRule: rule106 } + , CharBlock { start: 8450, length: 1, convRule: rule107 } , CharBlock { start: 8451, length: 4, convRule: rule13 } - , CharBlock { start: 8455, length: 1, convRule: rule106 } + , CharBlock { start: 8455, length: 1, convRule: rule107 } , CharBlock { start: 8456, length: 2, convRule: rule13 } , CharBlock { start: 8458, length: 1, convRule: rule20 } - , CharBlock { start: 8459, length: 3, convRule: rule106 } + , CharBlock { start: 8459, length: 3, convRule: rule107 } , CharBlock { start: 8462, length: 2, convRule: rule20 } - , CharBlock { start: 8464, length: 3, convRule: rule106 } + , CharBlock { start: 8464, length: 3, convRule: rule107 } , CharBlock { start: 8467, length: 1, convRule: rule20 } , CharBlock { start: 8468, length: 1, convRule: rule13 } - , CharBlock { start: 8469, length: 1, convRule: rule106 } + , CharBlock { start: 8469, length: 1, convRule: rule107 } , CharBlock { start: 8470, length: 2, convRule: rule13 } , CharBlock { start: 8472, length: 1, convRule: rule6 } - , CharBlock { start: 8473, length: 5, convRule: rule106 } + , CharBlock { start: 8473, length: 5, convRule: rule107 } , CharBlock { start: 8478, length: 6, convRule: rule13 } - , CharBlock { start: 8484, length: 1, convRule: rule106 } + , CharBlock { start: 8484, length: 1, convRule: rule107 } , CharBlock { start: 8485, length: 1, convRule: rule13 } - , CharBlock { start: 8486, length: 1, convRule: rule159 } + , CharBlock { start: 8486, length: 1, convRule: rule163 } , CharBlock { start: 8487, length: 1, convRule: rule13 } - , CharBlock { start: 8488, length: 1, convRule: rule106 } + , CharBlock { start: 8488, length: 1, convRule: rule107 } , CharBlock { start: 8489, length: 1, convRule: rule13 } - , CharBlock { start: 8490, length: 1, convRule: rule160 } - , CharBlock { start: 8491, length: 1, convRule: rule161 } - , CharBlock { start: 8492, length: 2, convRule: rule106 } + , CharBlock { start: 8490, length: 1, convRule: rule164 } + , CharBlock { start: 8491, length: 1, convRule: rule165 } + , CharBlock { start: 8492, length: 2, convRule: rule107 } , CharBlock { start: 8494, length: 1, convRule: rule13 } , CharBlock { start: 8495, length: 1, convRule: rule20 } - , CharBlock { start: 8496, length: 2, convRule: rule106 } - , CharBlock { start: 8498, length: 1, convRule: rule162 } - , CharBlock { start: 8499, length: 1, convRule: rule106 } + , CharBlock { start: 8496, length: 2, convRule: rule107 } + , CharBlock { start: 8498, length: 1, convRule: rule166 } + , CharBlock { start: 8499, length: 1, convRule: rule107 } , CharBlock { start: 8500, length: 1, convRule: rule20 } , CharBlock { start: 8501, length: 4, convRule: rule14 } , CharBlock { start: 8505, length: 1, convRule: rule20 } , CharBlock { start: 8506, length: 2, convRule: rule13 } , CharBlock { start: 8508, length: 2, convRule: rule20 } - , CharBlock { start: 8510, length: 2, convRule: rule106 } + , CharBlock { start: 8510, length: 2, convRule: rule107 } , CharBlock { start: 8512, length: 5, convRule: rule6 } - , CharBlock { start: 8517, length: 1, convRule: rule106 } + , CharBlock { start: 8517, length: 1, convRule: rule107 } , CharBlock { start: 8518, length: 4, convRule: rule20 } , CharBlock { start: 8522, length: 1, convRule: rule13 } , CharBlock { start: 8523, length: 1, convRule: rule6 } , CharBlock { start: 8524, length: 2, convRule: rule13 } - , CharBlock { start: 8526, length: 1, convRule: rule163 } + , CharBlock { start: 8526, length: 1, convRule: rule167 } , CharBlock { start: 8527, length: 1, convRule: rule13 } , CharBlock { start: 8528, length: 16, convRule: rule17 } - , CharBlock { start: 8544, length: 16, convRule: rule164 } - , CharBlock { start: 8560, length: 16, convRule: rule165 } - , CharBlock { start: 8576, length: 3, convRule: rule126 } + , CharBlock { start: 8544, length: 16, convRule: rule168 } + , CharBlock { start: 8560, length: 16, convRule: rule169 } + , CharBlock { start: 8576, length: 3, convRule: rule128 } , CharBlock { start: 8579, length: 1, convRule: rule22 } , CharBlock { start: 8580, length: 1, convRule: rule23 } - , CharBlock { start: 8581, length: 4, convRule: rule126 } + , CharBlock { start: 8581, length: 4, convRule: rule128 } , CharBlock { start: 8585, length: 1, convRule: rule17 } , CharBlock { start: 8586, length: 2, convRule: rule13 } , CharBlock { start: 8592, length: 5, convRule: rule6 } @@ -2634,8 +2668,8 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 9280, length: 11, convRule: rule13 } , CharBlock { start: 9312, length: 60, convRule: rule17 } , CharBlock { start: 9372, length: 26, convRule: rule13 } - , CharBlock { start: 9398, length: 26, convRule: rule166 } - , CharBlock { start: 9424, length: 26, convRule: rule167 } + , CharBlock { start: 9398, length: 26, convRule: rule170 } + , CharBlock { start: 9424, length: 26, convRule: rule171 } , CharBlock { start: 9450, length: 22, convRule: rule17 } , CharBlock { start: 9472, length: 183, convRule: rule13 } , CharBlock { start: 9655, length: 1, convRule: rule6 } @@ -2716,29 +2750,26 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 11079, length: 6, convRule: rule6 } , CharBlock { start: 11085, length: 39, convRule: rule13 } , CharBlock { start: 11126, length: 32, convRule: rule13 } - , CharBlock { start: 11160, length: 34, convRule: rule13 } - , CharBlock { start: 11197, length: 12, convRule: rule13 } - , CharBlock { start: 11210, length: 9, convRule: rule13 } - , CharBlock { start: 11244, length: 4, convRule: rule13 } - , CharBlock { start: 11264, length: 47, convRule: rule121 } - , CharBlock { start: 11312, length: 47, convRule: rule122 } + , CharBlock { start: 11159, length: 105, convRule: rule13 } + , CharBlock { start: 11264, length: 47, convRule: rule122 } + , CharBlock { start: 11312, length: 47, convRule: rule123 } , CharBlock { start: 11360, length: 1, convRule: rule22 } , CharBlock { start: 11361, length: 1, convRule: rule23 } - , CharBlock { start: 11362, length: 1, convRule: rule168 } - , CharBlock { start: 11363, length: 1, convRule: rule169 } - , CharBlock { start: 11364, length: 1, convRule: rule170 } - , CharBlock { start: 11365, length: 1, convRule: rule171 } - , CharBlock { start: 11366, length: 1, convRule: rule172 } + , CharBlock { start: 11362, length: 1, convRule: rule172 } + , CharBlock { start: 11363, length: 1, convRule: rule173 } + , CharBlock { start: 11364, length: 1, convRule: rule174 } + , CharBlock { start: 11365, length: 1, convRule: rule175 } + , CharBlock { start: 11366, length: 1, convRule: rule176 } , CharBlock { start: 11367, length: 1, convRule: rule22 } , CharBlock { start: 11368, length: 1, convRule: rule23 } , CharBlock { start: 11369, length: 1, convRule: rule22 } , CharBlock { start: 11370, length: 1, convRule: rule23 } , CharBlock { start: 11371, length: 1, convRule: rule22 } , CharBlock { start: 11372, length: 1, convRule: rule23 } - , CharBlock { start: 11373, length: 1, convRule: rule173 } - , CharBlock { start: 11374, length: 1, convRule: rule174 } - , CharBlock { start: 11375, length: 1, convRule: rule175 } - , CharBlock { start: 11376, length: 1, convRule: rule176 } + , CharBlock { start: 11373, length: 1, convRule: rule177 } + , CharBlock { start: 11374, length: 1, convRule: rule178 } + , CharBlock { start: 11375, length: 1, convRule: rule179 } + , CharBlock { start: 11376, length: 1, convRule: rule180 } , CharBlock { start: 11377, length: 1, convRule: rule20 } , CharBlock { start: 11378, length: 1, convRule: rule22 } , CharBlock { start: 11379, length: 1, convRule: rule23 } @@ -2746,8 +2777,8 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 11381, length: 1, convRule: rule22 } , CharBlock { start: 11382, length: 1, convRule: rule23 } , CharBlock { start: 11383, length: 5, convRule: rule20 } - , CharBlock { start: 11388, length: 2, convRule: rule90 } - , CharBlock { start: 11390, length: 2, convRule: rule177 } + , CharBlock { start: 11388, length: 2, convRule: rule91 } + , CharBlock { start: 11390, length: 2, convRule: rule181 } , CharBlock { start: 11392, length: 1, convRule: rule22 } , CharBlock { start: 11393, length: 1, convRule: rule23 } , CharBlock { start: 11394, length: 1, convRule: rule22 } @@ -2854,19 +2885,19 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 11500, length: 1, convRule: rule23 } , CharBlock { start: 11501, length: 1, convRule: rule22 } , CharBlock { start: 11502, length: 1, convRule: rule23 } - , CharBlock { start: 11503, length: 3, convRule: rule91 } + , CharBlock { start: 11503, length: 3, convRule: rule92 } , CharBlock { start: 11506, length: 1, convRule: rule22 } , CharBlock { start: 11507, length: 1, convRule: rule23 } , CharBlock { start: 11513, length: 4, convRule: rule2 } , CharBlock { start: 11517, length: 1, convRule: rule17 } , CharBlock { start: 11518, length: 2, convRule: rule2 } - , CharBlock { start: 11520, length: 38, convRule: rule178 } - , CharBlock { start: 11559, length: 1, convRule: rule178 } - , CharBlock { start: 11565, length: 1, convRule: rule178 } + , CharBlock { start: 11520, length: 38, convRule: rule182 } + , CharBlock { start: 11559, length: 1, convRule: rule182 } + , CharBlock { start: 11565, length: 1, convRule: rule182 } , CharBlock { start: 11568, length: 56, convRule: rule14 } - , CharBlock { start: 11631, length: 1, convRule: rule90 } + , CharBlock { start: 11631, length: 1, convRule: rule91 } , CharBlock { start: 11632, length: 1, convRule: rule2 } - , CharBlock { start: 11647, length: 1, convRule: rule91 } + , CharBlock { start: 11647, length: 1, convRule: rule92 } , CharBlock { start: 11648, length: 23, convRule: rule14 } , CharBlock { start: 11680, length: 7, convRule: rule14 } , CharBlock { start: 11688, length: 7, convRule: rule14 } @@ -2876,7 +2907,7 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 11720, length: 7, convRule: rule14 } , CharBlock { start: 11728, length: 7, convRule: rule14 } , CharBlock { start: 11736, length: 7, convRule: rule14 } - , CharBlock { start: 11744, length: 32, convRule: rule91 } + , CharBlock { start: 11744, length: 32, convRule: rule92 } , CharBlock { start: 11776, length: 2, convRule: rule2 } , CharBlock { start: 11778, length: 1, convRule: rule15 } , CharBlock { start: 11779, length: 1, convRule: rule19 } @@ -2907,14 +2938,16 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 11816, length: 1, convRule: rule4 } , CharBlock { start: 11817, length: 1, convRule: rule5 } , CharBlock { start: 11818, length: 5, convRule: rule2 } - , CharBlock { start: 11823, length: 1, convRule: rule90 } + , CharBlock { start: 11823, length: 1, convRule: rule91 } , CharBlock { start: 11824, length: 10, convRule: rule2 } , CharBlock { start: 11834, length: 2, convRule: rule7 } , CharBlock { start: 11836, length: 4, convRule: rule2 } , CharBlock { start: 11840, length: 1, convRule: rule7 } , CharBlock { start: 11841, length: 1, convRule: rule2 } , CharBlock { start: 11842, length: 1, convRule: rule4 } - , CharBlock { start: 11843, length: 7, convRule: rule2 } + , CharBlock { start: 11843, length: 13, convRule: rule2 } + , CharBlock { start: 11856, length: 2, convRule: rule13 } + , CharBlock { start: 11858, length: 1, convRule: rule2 } , CharBlock { start: 11904, length: 26, convRule: rule13 } , CharBlock { start: 11931, length: 89, convRule: rule13 } , CharBlock { start: 12032, length: 214, convRule: rule13 } @@ -2922,9 +2955,9 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 12288, length: 1, convRule: rule1 } , CharBlock { start: 12289, length: 3, convRule: rule2 } , CharBlock { start: 12292, length: 1, convRule: rule13 } - , CharBlock { start: 12293, length: 1, convRule: rule90 } + , CharBlock { start: 12293, length: 1, convRule: rule91 } , CharBlock { start: 12294, length: 1, convRule: rule14 } - , CharBlock { start: 12295, length: 1, convRule: rule126 } + , CharBlock { start: 12295, length: 1, convRule: rule128 } , CharBlock { start: 12296, length: 1, convRule: rule4 } , CharBlock { start: 12297, length: 1, convRule: rule5 } , CharBlock { start: 12298, length: 1, convRule: rule4 } @@ -2948,33 +2981,33 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 12317, length: 1, convRule: rule4 } , CharBlock { start: 12318, length: 2, convRule: rule5 } , CharBlock { start: 12320, length: 1, convRule: rule13 } - , CharBlock { start: 12321, length: 9, convRule: rule126 } - , CharBlock { start: 12330, length: 4, convRule: rule91 } - , CharBlock { start: 12334, length: 2, convRule: rule123 } + , CharBlock { start: 12321, length: 9, convRule: rule128 } + , CharBlock { start: 12330, length: 4, convRule: rule92 } + , CharBlock { start: 12334, length: 2, convRule: rule124 } , CharBlock { start: 12336, length: 1, convRule: rule7 } - , CharBlock { start: 12337, length: 5, convRule: rule90 } + , CharBlock { start: 12337, length: 5, convRule: rule91 } , CharBlock { start: 12342, length: 2, convRule: rule13 } - , CharBlock { start: 12344, length: 3, convRule: rule126 } - , CharBlock { start: 12347, length: 1, convRule: rule90 } + , CharBlock { start: 12344, length: 3, convRule: rule128 } + , CharBlock { start: 12347, length: 1, convRule: rule91 } , CharBlock { start: 12348, length: 1, convRule: rule14 } , CharBlock { start: 12349, length: 1, convRule: rule2 } , CharBlock { start: 12350, length: 2, convRule: rule13 } , CharBlock { start: 12353, length: 86, convRule: rule14 } - , CharBlock { start: 12441, length: 2, convRule: rule91 } + , CharBlock { start: 12441, length: 2, convRule: rule92 } , CharBlock { start: 12443, length: 2, convRule: rule10 } - , CharBlock { start: 12445, length: 2, convRule: rule90 } + , CharBlock { start: 12445, length: 2, convRule: rule91 } , CharBlock { start: 12447, length: 1, convRule: rule14 } , CharBlock { start: 12448, length: 1, convRule: rule7 } , CharBlock { start: 12449, length: 90, convRule: rule14 } , CharBlock { start: 12539, length: 1, convRule: rule2 } - , CharBlock { start: 12540, length: 3, convRule: rule90 } + , CharBlock { start: 12540, length: 3, convRule: rule91 } , CharBlock { start: 12543, length: 1, convRule: rule14 } - , CharBlock { start: 12549, length: 42, convRule: rule14 } + , CharBlock { start: 12549, length: 43, convRule: rule14 } , CharBlock { start: 12593, length: 94, convRule: rule14 } , CharBlock { start: 12688, length: 2, convRule: rule13 } , CharBlock { start: 12690, length: 4, convRule: rule17 } , CharBlock { start: 12694, length: 10, convRule: rule13 } - , CharBlock { start: 12704, length: 27, convRule: rule14 } + , CharBlock { start: 12704, length: 32, convRule: rule14 } , CharBlock { start: 12736, length: 36, convRule: rule13 } , CharBlock { start: 12784, length: 16, convRule: rule14 } , CharBlock { start: 12800, length: 31, convRule: rule13 } @@ -2987,20 +3020,19 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 12928, length: 10, convRule: rule17 } , CharBlock { start: 12938, length: 39, convRule: rule13 } , CharBlock { start: 12977, length: 15, convRule: rule17 } - , CharBlock { start: 12992, length: 63, convRule: rule13 } - , CharBlock { start: 13056, length: 256, convRule: rule13 } - , CharBlock { start: 13312, length: 6582, convRule: rule14 } + , CharBlock { start: 12992, length: 320, convRule: rule13 } + , CharBlock { start: 13312, length: 6592, convRule: rule14 } , CharBlock { start: 19904, length: 64, convRule: rule13 } - , CharBlock { start: 19968, length: 20971, convRule: rule14 } + , CharBlock { start: 19968, length: 20989, convRule: rule14 } , CharBlock { start: 40960, length: 21, convRule: rule14 } - , CharBlock { start: 40981, length: 1, convRule: rule90 } + , CharBlock { start: 40981, length: 1, convRule: rule91 } , CharBlock { start: 40982, length: 1143, convRule: rule14 } , CharBlock { start: 42128, length: 55, convRule: rule13 } , CharBlock { start: 42192, length: 40, convRule: rule14 } - , CharBlock { start: 42232, length: 6, convRule: rule90 } + , CharBlock { start: 42232, length: 6, convRule: rule91 } , CharBlock { start: 42238, length: 2, convRule: rule2 } , CharBlock { start: 42240, length: 268, convRule: rule14 } - , CharBlock { start: 42508, length: 1, convRule: rule90 } + , CharBlock { start: 42508, length: 1, convRule: rule91 } , CharBlock { start: 42509, length: 3, convRule: rule2 } , CharBlock { start: 42512, length: 16, convRule: rule14 } , CharBlock { start: 42528, length: 10, convRule: rule8 } @@ -3052,12 +3084,12 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 42604, length: 1, convRule: rule22 } , CharBlock { start: 42605, length: 1, convRule: rule23 } , CharBlock { start: 42606, length: 1, convRule: rule14 } - , CharBlock { start: 42607, length: 1, convRule: rule91 } - , CharBlock { start: 42608, length: 3, convRule: rule118 } + , CharBlock { start: 42607, length: 1, convRule: rule92 } + , CharBlock { start: 42608, length: 3, convRule: rule119 } , CharBlock { start: 42611, length: 1, convRule: rule2 } - , CharBlock { start: 42612, length: 10, convRule: rule91 } + , CharBlock { start: 42612, length: 10, convRule: rule92 } , CharBlock { start: 42622, length: 1, convRule: rule2 } - , CharBlock { start: 42623, length: 1, convRule: rule90 } + , CharBlock { start: 42623, length: 1, convRule: rule91 } , CharBlock { start: 42624, length: 1, convRule: rule22 } , CharBlock { start: 42625, length: 1, convRule: rule23 } , CharBlock { start: 42626, length: 1, convRule: rule22 } @@ -3086,14 +3118,14 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 42649, length: 1, convRule: rule23 } , CharBlock { start: 42650, length: 1, convRule: rule22 } , CharBlock { start: 42651, length: 1, convRule: rule23 } - , CharBlock { start: 42652, length: 2, convRule: rule90 } - , CharBlock { start: 42654, length: 2, convRule: rule91 } + , CharBlock { start: 42652, length: 2, convRule: rule91 } + , CharBlock { start: 42654, length: 2, convRule: rule92 } , CharBlock { start: 42656, length: 70, convRule: rule14 } - , CharBlock { start: 42726, length: 10, convRule: rule126 } - , CharBlock { start: 42736, length: 2, convRule: rule91 } + , CharBlock { start: 42726, length: 10, convRule: rule128 } + , CharBlock { start: 42736, length: 2, convRule: rule92 } , CharBlock { start: 42738, length: 6, convRule: rule2 } , CharBlock { start: 42752, length: 23, convRule: rule10 } - , CharBlock { start: 42775, length: 9, convRule: rule90 } + , CharBlock { start: 42775, length: 9, convRule: rule91 } , CharBlock { start: 42784, length: 2, convRule: rule10 } , CharBlock { start: 42786, length: 1, convRule: rule22 } , CharBlock { start: 42787, length: 1, convRule: rule23 } @@ -3172,13 +3204,13 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 42861, length: 1, convRule: rule23 } , CharBlock { start: 42862, length: 1, convRule: rule22 } , CharBlock { start: 42863, length: 1, convRule: rule23 } - , CharBlock { start: 42864, length: 1, convRule: rule90 } + , CharBlock { start: 42864, length: 1, convRule: rule91 } , CharBlock { start: 42865, length: 8, convRule: rule20 } , CharBlock { start: 42873, length: 1, convRule: rule22 } , CharBlock { start: 42874, length: 1, convRule: rule23 } , CharBlock { start: 42875, length: 1, convRule: rule22 } , CharBlock { start: 42876, length: 1, convRule: rule23 } - , CharBlock { start: 42877, length: 1, convRule: rule179 } + , CharBlock { start: 42877, length: 1, convRule: rule183 } , CharBlock { start: 42878, length: 1, convRule: rule22 } , CharBlock { start: 42879, length: 1, convRule: rule23 } , CharBlock { start: 42880, length: 1, convRule: rule22 } @@ -3189,18 +3221,19 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 42885, length: 1, convRule: rule23 } , CharBlock { start: 42886, length: 1, convRule: rule22 } , CharBlock { start: 42887, length: 1, convRule: rule23 } - , CharBlock { start: 42888, length: 1, convRule: rule90 } + , CharBlock { start: 42888, length: 1, convRule: rule91 } , CharBlock { start: 42889, length: 2, convRule: rule10 } , CharBlock { start: 42891, length: 1, convRule: rule22 } , CharBlock { start: 42892, length: 1, convRule: rule23 } - , CharBlock { start: 42893, length: 1, convRule: rule180 } + , CharBlock { start: 42893, length: 1, convRule: rule184 } , CharBlock { start: 42894, length: 1, convRule: rule20 } , CharBlock { start: 42895, length: 1, convRule: rule14 } , CharBlock { start: 42896, length: 1, convRule: rule22 } , CharBlock { start: 42897, length: 1, convRule: rule23 } , CharBlock { start: 42898, length: 1, convRule: rule22 } , CharBlock { start: 42899, length: 1, convRule: rule23 } - , CharBlock { start: 42900, length: 2, convRule: rule20 } + , CharBlock { start: 42900, length: 1, convRule: rule185 } + , CharBlock { start: 42901, length: 1, convRule: rule20 } , CharBlock { start: 42902, length: 1, convRule: rule22 } , CharBlock { start: 42903, length: 1, convRule: rule23 } , CharBlock { start: 42904, length: 1, convRule: rule22 } @@ -3221,158 +3254,182 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 42919, length: 1, convRule: rule23 } , CharBlock { start: 42920, length: 1, convRule: rule22 } , CharBlock { start: 42921, length: 1, convRule: rule23 } - , CharBlock { start: 42922, length: 1, convRule: rule181 } - , CharBlock { start: 42923, length: 1, convRule: rule182 } - , CharBlock { start: 42924, length: 1, convRule: rule183 } - , CharBlock { start: 42925, length: 1, convRule: rule184 } - , CharBlock { start: 42926, length: 1, convRule: rule181 } - , CharBlock { start: 42928, length: 1, convRule: rule185 } - , CharBlock { start: 42929, length: 1, convRule: rule186 } - , CharBlock { start: 42930, length: 1, convRule: rule187 } - , CharBlock { start: 42931, length: 1, convRule: rule188 } + , CharBlock { start: 42922, length: 1, convRule: rule186 } + , CharBlock { start: 42923, length: 1, convRule: rule187 } + , CharBlock { start: 42924, length: 1, convRule: rule188 } + , CharBlock { start: 42925, length: 1, convRule: rule189 } + , CharBlock { start: 42926, length: 1, convRule: rule186 } + , CharBlock { start: 42927, length: 1, convRule: rule20 } + , CharBlock { start: 42928, length: 1, convRule: rule190 } + , CharBlock { start: 42929, length: 1, convRule: rule191 } + , CharBlock { start: 42930, length: 1, convRule: rule192 } + , CharBlock { start: 42931, length: 1, convRule: rule193 } , CharBlock { start: 42932, length: 1, convRule: rule22 } , CharBlock { start: 42933, length: 1, convRule: rule23 } , CharBlock { start: 42934, length: 1, convRule: rule22 } , CharBlock { start: 42935, length: 1, convRule: rule23 } + , CharBlock { start: 42936, length: 1, convRule: rule22 } + , CharBlock { start: 42937, length: 1, convRule: rule23 } + , CharBlock { start: 42938, length: 1, convRule: rule22 } + , CharBlock { start: 42939, length: 1, convRule: rule23 } + , CharBlock { start: 42940, length: 1, convRule: rule22 } + , CharBlock { start: 42941, length: 1, convRule: rule23 } + , CharBlock { start: 42942, length: 1, convRule: rule22 } + , CharBlock { start: 42943, length: 1, convRule: rule23 } + , CharBlock { start: 42946, length: 1, convRule: rule22 } + , CharBlock { start: 42947, length: 1, convRule: rule23 } + , CharBlock { start: 42948, length: 1, convRule: rule194 } + , CharBlock { start: 42949, length: 1, convRule: rule195 } + , CharBlock { start: 42950, length: 1, convRule: rule196 } + , CharBlock { start: 42951, length: 1, convRule: rule22 } + , CharBlock { start: 42952, length: 1, convRule: rule23 } + , CharBlock { start: 42953, length: 1, convRule: rule22 } + , CharBlock { start: 42954, length: 1, convRule: rule23 } + , CharBlock { start: 42997, length: 1, convRule: rule22 } + , CharBlock { start: 42998, length: 1, convRule: rule23 } , CharBlock { start: 42999, length: 1, convRule: rule14 } - , CharBlock { start: 43000, length: 2, convRule: rule90 } + , CharBlock { start: 43000, length: 2, convRule: rule91 } , CharBlock { start: 43002, length: 1, convRule: rule20 } , CharBlock { start: 43003, length: 7, convRule: rule14 } - , CharBlock { start: 43010, length: 1, convRule: rule91 } + , CharBlock { start: 43010, length: 1, convRule: rule92 } , CharBlock { start: 43011, length: 3, convRule: rule14 } - , CharBlock { start: 43014, length: 1, convRule: rule91 } + , CharBlock { start: 43014, length: 1, convRule: rule92 } , CharBlock { start: 43015, length: 4, convRule: rule14 } - , CharBlock { start: 43019, length: 1, convRule: rule91 } + , CharBlock { start: 43019, length: 1, convRule: rule92 } , CharBlock { start: 43020, length: 23, convRule: rule14 } - , CharBlock { start: 43043, length: 2, convRule: rule123 } - , CharBlock { start: 43045, length: 2, convRule: rule91 } - , CharBlock { start: 43047, length: 1, convRule: rule123 } + , CharBlock { start: 43043, length: 2, convRule: rule124 } + , CharBlock { start: 43045, length: 2, convRule: rule92 } + , CharBlock { start: 43047, length: 1, convRule: rule124 } , CharBlock { start: 43048, length: 4, convRule: rule13 } + , CharBlock { start: 43052, length: 1, convRule: rule92 } , CharBlock { start: 43056, length: 6, convRule: rule17 } , CharBlock { start: 43062, length: 2, convRule: rule13 } , CharBlock { start: 43064, length: 1, convRule: rule3 } , CharBlock { start: 43065, length: 1, convRule: rule13 } , CharBlock { start: 43072, length: 52, convRule: rule14 } , CharBlock { start: 43124, length: 4, convRule: rule2 } - , CharBlock { start: 43136, length: 2, convRule: rule123 } + , CharBlock { start: 43136, length: 2, convRule: rule124 } , CharBlock { start: 43138, length: 50, convRule: rule14 } - , CharBlock { start: 43188, length: 16, convRule: rule123 } - , CharBlock { start: 43204, length: 2, convRule: rule91 } + , CharBlock { start: 43188, length: 16, convRule: rule124 } + , CharBlock { start: 43204, length: 2, convRule: rule92 } , CharBlock { start: 43214, length: 2, convRule: rule2 } , CharBlock { start: 43216, length: 10, convRule: rule8 } - , CharBlock { start: 43232, length: 18, convRule: rule91 } + , CharBlock { start: 43232, length: 18, convRule: rule92 } , CharBlock { start: 43250, length: 6, convRule: rule14 } , CharBlock { start: 43256, length: 3, convRule: rule2 } , CharBlock { start: 43259, length: 1, convRule: rule14 } , CharBlock { start: 43260, length: 1, convRule: rule2 } - , CharBlock { start: 43261, length: 1, convRule: rule14 } + , CharBlock { start: 43261, length: 2, convRule: rule14 } + , CharBlock { start: 43263, length: 1, convRule: rule92 } , CharBlock { start: 43264, length: 10, convRule: rule8 } , CharBlock { start: 43274, length: 28, convRule: rule14 } - , CharBlock { start: 43302, length: 8, convRule: rule91 } + , CharBlock { start: 43302, length: 8, convRule: rule92 } , CharBlock { start: 43310, length: 2, convRule: rule2 } , CharBlock { start: 43312, length: 23, convRule: rule14 } - , CharBlock { start: 43335, length: 11, convRule: rule91 } - , CharBlock { start: 43346, length: 2, convRule: rule123 } + , CharBlock { start: 43335, length: 11, convRule: rule92 } + , CharBlock { start: 43346, length: 2, convRule: rule124 } , CharBlock { start: 43359, length: 1, convRule: rule2 } , CharBlock { start: 43360, length: 29, convRule: rule14 } - , CharBlock { start: 43392, length: 3, convRule: rule91 } - , CharBlock { start: 43395, length: 1, convRule: rule123 } + , CharBlock { start: 43392, length: 3, convRule: rule92 } + , CharBlock { start: 43395, length: 1, convRule: rule124 } , CharBlock { start: 43396, length: 47, convRule: rule14 } - , CharBlock { start: 43443, length: 1, convRule: rule91 } - , CharBlock { start: 43444, length: 2, convRule: rule123 } - , CharBlock { start: 43446, length: 4, convRule: rule91 } - , CharBlock { start: 43450, length: 2, convRule: rule123 } - , CharBlock { start: 43452, length: 1, convRule: rule91 } - , CharBlock { start: 43453, length: 4, convRule: rule123 } + , CharBlock { start: 43443, length: 1, convRule: rule92 } + , CharBlock { start: 43444, length: 2, convRule: rule124 } + , CharBlock { start: 43446, length: 4, convRule: rule92 } + , CharBlock { start: 43450, length: 2, convRule: rule124 } + , CharBlock { start: 43452, length: 2, convRule: rule92 } + , CharBlock { start: 43454, length: 3, convRule: rule124 } , CharBlock { start: 43457, length: 13, convRule: rule2 } - , CharBlock { start: 43471, length: 1, convRule: rule90 } + , CharBlock { start: 43471, length: 1, convRule: rule91 } , CharBlock { start: 43472, length: 10, convRule: rule8 } , CharBlock { start: 43486, length: 2, convRule: rule2 } , CharBlock { start: 43488, length: 5, convRule: rule14 } - , CharBlock { start: 43493, length: 1, convRule: rule91 } - , CharBlock { start: 43494, length: 1, convRule: rule90 } + , CharBlock { start: 43493, length: 1, convRule: rule92 } + , CharBlock { start: 43494, length: 1, convRule: rule91 } , CharBlock { start: 43495, length: 9, convRule: rule14 } , CharBlock { start: 43504, length: 10, convRule: rule8 } , CharBlock { start: 43514, length: 5, convRule: rule14 } , CharBlock { start: 43520, length: 41, convRule: rule14 } - , CharBlock { start: 43561, length: 6, convRule: rule91 } - , CharBlock { start: 43567, length: 2, convRule: rule123 } - , CharBlock { start: 43569, length: 2, convRule: rule91 } - , CharBlock { start: 43571, length: 2, convRule: rule123 } - , CharBlock { start: 43573, length: 2, convRule: rule91 } + , CharBlock { start: 43561, length: 6, convRule: rule92 } + , CharBlock { start: 43567, length: 2, convRule: rule124 } + , CharBlock { start: 43569, length: 2, convRule: rule92 } + , CharBlock { start: 43571, length: 2, convRule: rule124 } + , CharBlock { start: 43573, length: 2, convRule: rule92 } , CharBlock { start: 43584, length: 3, convRule: rule14 } - , CharBlock { start: 43587, length: 1, convRule: rule91 } + , CharBlock { start: 43587, length: 1, convRule: rule92 } , CharBlock { start: 43588, length: 8, convRule: rule14 } - , CharBlock { start: 43596, length: 1, convRule: rule91 } - , CharBlock { start: 43597, length: 1, convRule: rule123 } + , CharBlock { start: 43596, length: 1, convRule: rule92 } + , CharBlock { start: 43597, length: 1, convRule: rule124 } , CharBlock { start: 43600, length: 10, convRule: rule8 } , CharBlock { start: 43612, length: 4, convRule: rule2 } , CharBlock { start: 43616, length: 16, convRule: rule14 } - , CharBlock { start: 43632, length: 1, convRule: rule90 } + , CharBlock { start: 43632, length: 1, convRule: rule91 } , CharBlock { start: 43633, length: 6, convRule: rule14 } , CharBlock { start: 43639, length: 3, convRule: rule13 } , CharBlock { start: 43642, length: 1, convRule: rule14 } - , CharBlock { start: 43643, length: 1, convRule: rule123 } - , CharBlock { start: 43644, length: 1, convRule: rule91 } - , CharBlock { start: 43645, length: 1, convRule: rule123 } + , CharBlock { start: 43643, length: 1, convRule: rule124 } + , CharBlock { start: 43644, length: 1, convRule: rule92 } + , CharBlock { start: 43645, length: 1, convRule: rule124 } , CharBlock { start: 43646, length: 50, convRule: rule14 } - , CharBlock { start: 43696, length: 1, convRule: rule91 } + , CharBlock { start: 43696, length: 1, convRule: rule92 } , CharBlock { start: 43697, length: 1, convRule: rule14 } - , CharBlock { start: 43698, length: 3, convRule: rule91 } + , CharBlock { start: 43698, length: 3, convRule: rule92 } , CharBlock { start: 43701, length: 2, convRule: rule14 } - , CharBlock { start: 43703, length: 2, convRule: rule91 } + , CharBlock { start: 43703, length: 2, convRule: rule92 } , CharBlock { start: 43705, length: 5, convRule: rule14 } - , CharBlock { start: 43710, length: 2, convRule: rule91 } + , CharBlock { start: 43710, length: 2, convRule: rule92 } , CharBlock { start: 43712, length: 1, convRule: rule14 } - , CharBlock { start: 43713, length: 1, convRule: rule91 } + , CharBlock { start: 43713, length: 1, convRule: rule92 } , CharBlock { start: 43714, length: 1, convRule: rule14 } , CharBlock { start: 43739, length: 2, convRule: rule14 } - , CharBlock { start: 43741, length: 1, convRule: rule90 } + , CharBlock { start: 43741, length: 1, convRule: rule91 } , CharBlock { start: 43742, length: 2, convRule: rule2 } , CharBlock { start: 43744, length: 11, convRule: rule14 } - , CharBlock { start: 43755, length: 1, convRule: rule123 } - , CharBlock { start: 43756, length: 2, convRule: rule91 } - , CharBlock { start: 43758, length: 2, convRule: rule123 } + , CharBlock { start: 43755, length: 1, convRule: rule124 } + , CharBlock { start: 43756, length: 2, convRule: rule92 } + , CharBlock { start: 43758, length: 2, convRule: rule124 } , CharBlock { start: 43760, length: 2, convRule: rule2 } , CharBlock { start: 43762, length: 1, convRule: rule14 } - , CharBlock { start: 43763, length: 2, convRule: rule90 } - , CharBlock { start: 43765, length: 1, convRule: rule123 } - , CharBlock { start: 43766, length: 1, convRule: rule91 } + , CharBlock { start: 43763, length: 2, convRule: rule91 } + , CharBlock { start: 43765, length: 1, convRule: rule124 } + , CharBlock { start: 43766, length: 1, convRule: rule92 } , CharBlock { start: 43777, length: 6, convRule: rule14 } , CharBlock { start: 43785, length: 6, convRule: rule14 } , CharBlock { start: 43793, length: 6, convRule: rule14 } , CharBlock { start: 43808, length: 7, convRule: rule14 } , CharBlock { start: 43816, length: 7, convRule: rule14 } , CharBlock { start: 43824, length: 35, convRule: rule20 } - , CharBlock { start: 43859, length: 1, convRule: rule189 } + , CharBlock { start: 43859, length: 1, convRule: rule197 } , CharBlock { start: 43860, length: 7, convRule: rule20 } , CharBlock { start: 43867, length: 1, convRule: rule10 } - , CharBlock { start: 43868, length: 4, convRule: rule90 } - , CharBlock { start: 43872, length: 6, convRule: rule20 } - , CharBlock { start: 43888, length: 80, convRule: rule190 } + , CharBlock { start: 43868, length: 4, convRule: rule91 } + , CharBlock { start: 43872, length: 9, convRule: rule20 } + , CharBlock { start: 43881, length: 1, convRule: rule91 } + , CharBlock { start: 43882, length: 2, convRule: rule10 } + , CharBlock { start: 43888, length: 80, convRule: rule198 } , CharBlock { start: 43968, length: 35, convRule: rule14 } - , CharBlock { start: 44003, length: 2, convRule: rule123 } - , CharBlock { start: 44005, length: 1, convRule: rule91 } - , CharBlock { start: 44006, length: 2, convRule: rule123 } - , CharBlock { start: 44008, length: 1, convRule: rule91 } - , CharBlock { start: 44009, length: 2, convRule: rule123 } + , CharBlock { start: 44003, length: 2, convRule: rule124 } + , CharBlock { start: 44005, length: 1, convRule: rule92 } + , CharBlock { start: 44006, length: 2, convRule: rule124 } + , CharBlock { start: 44008, length: 1, convRule: rule92 } + , CharBlock { start: 44009, length: 2, convRule: rule124 } , CharBlock { start: 44011, length: 1, convRule: rule2 } - , CharBlock { start: 44012, length: 1, convRule: rule123 } - , CharBlock { start: 44013, length: 1, convRule: rule91 } + , CharBlock { start: 44012, length: 1, convRule: rule124 } + , CharBlock { start: 44013, length: 1, convRule: rule92 } , CharBlock { start: 44016, length: 10, convRule: rule8 } , CharBlock { start: 44032, length: 11172, convRule: rule14 } , CharBlock { start: 55216, length: 23, convRule: rule14 } , CharBlock { start: 55243, length: 49, convRule: rule14 } - , CharBlock { start: 55296, length: 896, convRule: rule191 } - , CharBlock { start: 56192, length: 128, convRule: rule191 } - , CharBlock { start: 56320, length: 1024, convRule: rule191 } - , CharBlock { start: 57344, length: 6400, convRule: rule192 } + , CharBlock { start: 55296, length: 896, convRule: rule199 } + , CharBlock { start: 56192, length: 128, convRule: rule199 } + , CharBlock { start: 56320, length: 1024, convRule: rule199 } + , CharBlock { start: 57344, length: 6400, convRule: rule200 } , CharBlock { start: 63744, length: 366, convRule: rule14 } , CharBlock { start: 64112, length: 106, convRule: rule14 } , CharBlock { start: 64256, length: 7, convRule: rule20 } , CharBlock { start: 64275, length: 5, convRule: rule20 } , CharBlock { start: 64285, length: 1, convRule: rule14 } - , CharBlock { start: 64286, length: 1, convRule: rule91 } + , CharBlock { start: 64286, length: 1, convRule: rule92 } , CharBlock { start: 64287, length: 10, convRule: rule14 } , CharBlock { start: 64297, length: 1, convRule: rule6 } , CharBlock { start: 64298, length: 13, convRule: rule14 } @@ -3390,12 +3447,12 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 65008, length: 12, convRule: rule14 } , CharBlock { start: 65020, length: 1, convRule: rule3 } , CharBlock { start: 65021, length: 1, convRule: rule13 } - , CharBlock { start: 65024, length: 16, convRule: rule91 } + , CharBlock { start: 65024, length: 16, convRule: rule92 } , CharBlock { start: 65040, length: 7, convRule: rule2 } , CharBlock { start: 65047, length: 1, convRule: rule4 } , CharBlock { start: 65048, length: 1, convRule: rule5 } , CharBlock { start: 65049, length: 1, convRule: rule2 } - , CharBlock { start: 65056, length: 16, convRule: rule91 } + , CharBlock { start: 65056, length: 16, convRule: rule92 } , CharBlock { start: 65072, length: 1, convRule: rule2 } , CharBlock { start: 65073, length: 2, convRule: rule7 } , CharBlock { start: 65075, length: 2, convRule: rule11 } @@ -3472,9 +3529,9 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 65379, length: 1, convRule: rule5 } , CharBlock { start: 65380, length: 2, convRule: rule2 } , CharBlock { start: 65382, length: 10, convRule: rule14 } - , CharBlock { start: 65392, length: 1, convRule: rule90 } + , CharBlock { start: 65392, length: 1, convRule: rule91 } , CharBlock { start: 65393, length: 45, convRule: rule14 } - , CharBlock { start: 65438, length: 2, convRule: rule90 } + , CharBlock { start: 65438, length: 2, convRule: rule91 } , CharBlock { start: 65440, length: 31, convRule: rule14 } , CharBlock { start: 65474, length: 6, convRule: rule14 } , CharBlock { start: 65482, length: 6, convRule: rule14 } @@ -3500,39 +3557,39 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 65792, length: 3, convRule: rule2 } , CharBlock { start: 65799, length: 45, convRule: rule17 } , CharBlock { start: 65847, length: 9, convRule: rule13 } - , CharBlock { start: 65856, length: 53, convRule: rule126 } + , CharBlock { start: 65856, length: 53, convRule: rule128 } , CharBlock { start: 65909, length: 4, convRule: rule17 } , CharBlock { start: 65913, length: 17, convRule: rule13 } , CharBlock { start: 65930, length: 2, convRule: rule17 } , CharBlock { start: 65932, length: 3, convRule: rule13 } - , CharBlock { start: 65936, length: 12, convRule: rule13 } + , CharBlock { start: 65936, length: 13, convRule: rule13 } , CharBlock { start: 65952, length: 1, convRule: rule13 } , CharBlock { start: 66000, length: 45, convRule: rule13 } - , CharBlock { start: 66045, length: 1, convRule: rule91 } + , CharBlock { start: 66045, length: 1, convRule: rule92 } , CharBlock { start: 66176, length: 29, convRule: rule14 } , CharBlock { start: 66208, length: 49, convRule: rule14 } - , CharBlock { start: 66272, length: 1, convRule: rule91 } + , CharBlock { start: 66272, length: 1, convRule: rule92 } , CharBlock { start: 66273, length: 27, convRule: rule17 } , CharBlock { start: 66304, length: 32, convRule: rule14 } , CharBlock { start: 66336, length: 4, convRule: rule17 } , CharBlock { start: 66349, length: 20, convRule: rule14 } - , CharBlock { start: 66369, length: 1, convRule: rule126 } + , CharBlock { start: 66369, length: 1, convRule: rule128 } , CharBlock { start: 66370, length: 8, convRule: rule14 } - , CharBlock { start: 66378, length: 1, convRule: rule126 } + , CharBlock { start: 66378, length: 1, convRule: rule128 } , CharBlock { start: 66384, length: 38, convRule: rule14 } - , CharBlock { start: 66422, length: 5, convRule: rule91 } + , CharBlock { start: 66422, length: 5, convRule: rule92 } , CharBlock { start: 66432, length: 30, convRule: rule14 } , CharBlock { start: 66463, length: 1, convRule: rule2 } , CharBlock { start: 66464, length: 36, convRule: rule14 } , CharBlock { start: 66504, length: 8, convRule: rule14 } , CharBlock { start: 66512, length: 1, convRule: rule2 } - , CharBlock { start: 66513, length: 5, convRule: rule126 } - , CharBlock { start: 66560, length: 40, convRule: rule193 } - , CharBlock { start: 66600, length: 40, convRule: rule194 } + , CharBlock { start: 66513, length: 5, convRule: rule128 } + , CharBlock { start: 66560, length: 40, convRule: rule201 } + , CharBlock { start: 66600, length: 40, convRule: rule202 } , CharBlock { start: 66640, length: 78, convRule: rule14 } , CharBlock { start: 66720, length: 10, convRule: rule8 } - , CharBlock { start: 66736, length: 36, convRule: rule193 } - , CharBlock { start: 66776, length: 36, convRule: rule194 } + , CharBlock { start: 66736, length: 36, convRule: rule201 } + , CharBlock { start: 66776, length: 36, convRule: rule202 } , CharBlock { start: 66816, length: 40, convRule: rule14 } , CharBlock { start: 66864, length: 52, convRule: rule14 } , CharBlock { start: 66927, length: 1, convRule: rule2 } @@ -3566,15 +3623,15 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 68032, length: 16, convRule: rule17 } , CharBlock { start: 68050, length: 46, convRule: rule17 } , CharBlock { start: 68096, length: 1, convRule: rule14 } - , CharBlock { start: 68097, length: 3, convRule: rule91 } - , CharBlock { start: 68101, length: 2, convRule: rule91 } - , CharBlock { start: 68108, length: 4, convRule: rule91 } + , CharBlock { start: 68097, length: 3, convRule: rule92 } + , CharBlock { start: 68101, length: 2, convRule: rule92 } + , CharBlock { start: 68108, length: 4, convRule: rule92 } , CharBlock { start: 68112, length: 4, convRule: rule14 } , CharBlock { start: 68117, length: 3, convRule: rule14 } - , CharBlock { start: 68121, length: 27, convRule: rule14 } - , CharBlock { start: 68152, length: 3, convRule: rule91 } - , CharBlock { start: 68159, length: 1, convRule: rule91 } - , CharBlock { start: 68160, length: 8, convRule: rule17 } + , CharBlock { start: 68121, length: 29, convRule: rule14 } + , CharBlock { start: 68152, length: 3, convRule: rule92 } + , CharBlock { start: 68159, length: 1, convRule: rule92 } + , CharBlock { start: 68160, length: 9, convRule: rule17 } , CharBlock { start: 68176, length: 9, convRule: rule2 } , CharBlock { start: 68192, length: 29, convRule: rule14 } , CharBlock { start: 68221, length: 2, convRule: rule17 } @@ -3584,7 +3641,7 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 68288, length: 8, convRule: rule14 } , CharBlock { start: 68296, length: 1, convRule: rule13 } , CharBlock { start: 68297, length: 28, convRule: rule14 } - , CharBlock { start: 68325, length: 2, convRule: rule91 } + , CharBlock { start: 68325, length: 2, convRule: rule92 } , CharBlock { start: 68331, length: 5, convRule: rule17 } , CharBlock { start: 68336, length: 7, convRule: rule2 } , CharBlock { start: 68352, length: 54, convRule: rule14 } @@ -3597,51 +3654,74 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 68505, length: 4, convRule: rule2 } , CharBlock { start: 68521, length: 7, convRule: rule17 } , CharBlock { start: 68608, length: 73, convRule: rule14 } - , CharBlock { start: 68736, length: 51, convRule: rule96 } - , CharBlock { start: 68800, length: 51, convRule: rule101 } + , CharBlock { start: 68736, length: 51, convRule: rule97 } + , CharBlock { start: 68800, length: 51, convRule: rule102 } , CharBlock { start: 68858, length: 6, convRule: rule17 } + , CharBlock { start: 68864, length: 36, convRule: rule14 } + , CharBlock { start: 68900, length: 4, convRule: rule92 } + , CharBlock { start: 68912, length: 10, convRule: rule8 } , CharBlock { start: 69216, length: 31, convRule: rule17 } - , CharBlock { start: 69632, length: 1, convRule: rule123 } - , CharBlock { start: 69633, length: 1, convRule: rule91 } - , CharBlock { start: 69634, length: 1, convRule: rule123 } + , CharBlock { start: 69248, length: 42, convRule: rule14 } + , CharBlock { start: 69291, length: 2, convRule: rule92 } + , CharBlock { start: 69293, length: 1, convRule: rule7 } + , CharBlock { start: 69296, length: 2, convRule: rule14 } + , CharBlock { start: 69376, length: 29, convRule: rule14 } + , CharBlock { start: 69405, length: 10, convRule: rule17 } + , CharBlock { start: 69415, length: 1, convRule: rule14 } + , CharBlock { start: 69424, length: 22, convRule: rule14 } + , CharBlock { start: 69446, length: 11, convRule: rule92 } + , CharBlock { start: 69457, length: 4, convRule: rule17 } + , CharBlock { start: 69461, length: 5, convRule: rule2 } + , CharBlock { start: 69552, length: 21, convRule: rule14 } + , CharBlock { start: 69573, length: 7, convRule: rule17 } + , CharBlock { start: 69600, length: 23, convRule: rule14 } + , CharBlock { start: 69632, length: 1, convRule: rule124 } + , CharBlock { start: 69633, length: 1, convRule: rule92 } + , CharBlock { start: 69634, length: 1, convRule: rule124 } , CharBlock { start: 69635, length: 53, convRule: rule14 } - , CharBlock { start: 69688, length: 15, convRule: rule91 } + , CharBlock { start: 69688, length: 15, convRule: rule92 } , CharBlock { start: 69703, length: 7, convRule: rule2 } , CharBlock { start: 69714, length: 20, convRule: rule17 } , CharBlock { start: 69734, length: 10, convRule: rule8 } - , CharBlock { start: 69759, length: 3, convRule: rule91 } - , CharBlock { start: 69762, length: 1, convRule: rule123 } + , CharBlock { start: 69759, length: 3, convRule: rule92 } + , CharBlock { start: 69762, length: 1, convRule: rule124 } , CharBlock { start: 69763, length: 45, convRule: rule14 } - , CharBlock { start: 69808, length: 3, convRule: rule123 } - , CharBlock { start: 69811, length: 4, convRule: rule91 } - , CharBlock { start: 69815, length: 2, convRule: rule123 } - , CharBlock { start: 69817, length: 2, convRule: rule91 } + , CharBlock { start: 69808, length: 3, convRule: rule124 } + , CharBlock { start: 69811, length: 4, convRule: rule92 } + , CharBlock { start: 69815, length: 2, convRule: rule124 } + , CharBlock { start: 69817, length: 2, convRule: rule92 } , CharBlock { start: 69819, length: 2, convRule: rule2 } , CharBlock { start: 69821, length: 1, convRule: rule16 } , CharBlock { start: 69822, length: 4, convRule: rule2 } + , CharBlock { start: 69837, length: 1, convRule: rule16 } , CharBlock { start: 69840, length: 25, convRule: rule14 } , CharBlock { start: 69872, length: 10, convRule: rule8 } - , CharBlock { start: 69888, length: 3, convRule: rule91 } + , CharBlock { start: 69888, length: 3, convRule: rule92 } , CharBlock { start: 69891, length: 36, convRule: rule14 } - , CharBlock { start: 69927, length: 5, convRule: rule91 } - , CharBlock { start: 69932, length: 1, convRule: rule123 } - , CharBlock { start: 69933, length: 8, convRule: rule91 } + , CharBlock { start: 69927, length: 5, convRule: rule92 } + , CharBlock { start: 69932, length: 1, convRule: rule124 } + , CharBlock { start: 69933, length: 8, convRule: rule92 } , CharBlock { start: 69942, length: 10, convRule: rule8 } , CharBlock { start: 69952, length: 4, convRule: rule2 } + , CharBlock { start: 69956, length: 1, convRule: rule14 } + , CharBlock { start: 69957, length: 2, convRule: rule124 } + , CharBlock { start: 69959, length: 1, convRule: rule14 } , CharBlock { start: 69968, length: 35, convRule: rule14 } - , CharBlock { start: 70003, length: 1, convRule: rule91 } + , CharBlock { start: 70003, length: 1, convRule: rule92 } , CharBlock { start: 70004, length: 2, convRule: rule2 } , CharBlock { start: 70006, length: 1, convRule: rule14 } - , CharBlock { start: 70016, length: 2, convRule: rule91 } - , CharBlock { start: 70018, length: 1, convRule: rule123 } + , CharBlock { start: 70016, length: 2, convRule: rule92 } + , CharBlock { start: 70018, length: 1, convRule: rule124 } , CharBlock { start: 70019, length: 48, convRule: rule14 } - , CharBlock { start: 70067, length: 3, convRule: rule123 } - , CharBlock { start: 70070, length: 9, convRule: rule91 } - , CharBlock { start: 70079, length: 2, convRule: rule123 } + , CharBlock { start: 70067, length: 3, convRule: rule124 } + , CharBlock { start: 70070, length: 9, convRule: rule92 } + , CharBlock { start: 70079, length: 2, convRule: rule124 } , CharBlock { start: 70081, length: 4, convRule: rule14 } - , CharBlock { start: 70085, length: 5, convRule: rule2 } - , CharBlock { start: 70090, length: 3, convRule: rule91 } + , CharBlock { start: 70085, length: 4, convRule: rule2 } + , CharBlock { start: 70089, length: 4, convRule: rule92 } , CharBlock { start: 70093, length: 1, convRule: rule2 } + , CharBlock { start: 70094, length: 1, convRule: rule124 } + , CharBlock { start: 70095, length: 1, convRule: rule92 } , CharBlock { start: 70096, length: 10, convRule: rule8 } , CharBlock { start: 70106, length: 1, convRule: rule14 } , CharBlock { start: 70107, length: 1, convRule: rule2 } @@ -3650,14 +3730,14 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 70113, length: 20, convRule: rule17 } , CharBlock { start: 70144, length: 18, convRule: rule14 } , CharBlock { start: 70163, length: 25, convRule: rule14 } - , CharBlock { start: 70188, length: 3, convRule: rule123 } - , CharBlock { start: 70191, length: 3, convRule: rule91 } - , CharBlock { start: 70194, length: 2, convRule: rule123 } - , CharBlock { start: 70196, length: 1, convRule: rule91 } - , CharBlock { start: 70197, length: 1, convRule: rule123 } - , CharBlock { start: 70198, length: 2, convRule: rule91 } + , CharBlock { start: 70188, length: 3, convRule: rule124 } + , CharBlock { start: 70191, length: 3, convRule: rule92 } + , CharBlock { start: 70194, length: 2, convRule: rule124 } + , CharBlock { start: 70196, length: 1, convRule: rule92 } + , CharBlock { start: 70197, length: 1, convRule: rule124 } + , CharBlock { start: 70198, length: 2, convRule: rule92 } , CharBlock { start: 70200, length: 6, convRule: rule2 } - , CharBlock { start: 70206, length: 1, convRule: rule91 } + , CharBlock { start: 70206, length: 1, convRule: rule92 } , CharBlock { start: 70272, length: 7, convRule: rule14 } , CharBlock { start: 70280, length: 1, convRule: rule14 } , CharBlock { start: 70282, length: 4, convRule: rule14 } @@ -3665,310 +3745,398 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 70303, length: 10, convRule: rule14 } , CharBlock { start: 70313, length: 1, convRule: rule2 } , CharBlock { start: 70320, length: 47, convRule: rule14 } - , CharBlock { start: 70367, length: 1, convRule: rule91 } - , CharBlock { start: 70368, length: 3, convRule: rule123 } - , CharBlock { start: 70371, length: 8, convRule: rule91 } + , CharBlock { start: 70367, length: 1, convRule: rule92 } + , CharBlock { start: 70368, length: 3, convRule: rule124 } + , CharBlock { start: 70371, length: 8, convRule: rule92 } , CharBlock { start: 70384, length: 10, convRule: rule8 } - , CharBlock { start: 70400, length: 2, convRule: rule91 } - , CharBlock { start: 70402, length: 2, convRule: rule123 } + , CharBlock { start: 70400, length: 2, convRule: rule92 } + , CharBlock { start: 70402, length: 2, convRule: rule124 } , CharBlock { start: 70405, length: 8, convRule: rule14 } , CharBlock { start: 70415, length: 2, convRule: rule14 } , CharBlock { start: 70419, length: 22, convRule: rule14 } , CharBlock { start: 70442, length: 7, convRule: rule14 } , CharBlock { start: 70450, length: 2, convRule: rule14 } , CharBlock { start: 70453, length: 5, convRule: rule14 } - , CharBlock { start: 70460, length: 1, convRule: rule91 } + , CharBlock { start: 70459, length: 2, convRule: rule92 } , CharBlock { start: 70461, length: 1, convRule: rule14 } - , CharBlock { start: 70462, length: 2, convRule: rule123 } - , CharBlock { start: 70464, length: 1, convRule: rule91 } - , CharBlock { start: 70465, length: 4, convRule: rule123 } - , CharBlock { start: 70471, length: 2, convRule: rule123 } - , CharBlock { start: 70475, length: 3, convRule: rule123 } + , CharBlock { start: 70462, length: 2, convRule: rule124 } + , CharBlock { start: 70464, length: 1, convRule: rule92 } + , CharBlock { start: 70465, length: 4, convRule: rule124 } + , CharBlock { start: 70471, length: 2, convRule: rule124 } + , CharBlock { start: 70475, length: 3, convRule: rule124 } , CharBlock { start: 70480, length: 1, convRule: rule14 } - , CharBlock { start: 70487, length: 1, convRule: rule123 } + , CharBlock { start: 70487, length: 1, convRule: rule124 } , CharBlock { start: 70493, length: 5, convRule: rule14 } - , CharBlock { start: 70498, length: 2, convRule: rule123 } - , CharBlock { start: 70502, length: 7, convRule: rule91 } - , CharBlock { start: 70512, length: 5, convRule: rule91 } + , CharBlock { start: 70498, length: 2, convRule: rule124 } + , CharBlock { start: 70502, length: 7, convRule: rule92 } + , CharBlock { start: 70512, length: 5, convRule: rule92 } , CharBlock { start: 70656, length: 53, convRule: rule14 } - , CharBlock { start: 70709, length: 3, convRule: rule123 } - , CharBlock { start: 70712, length: 8, convRule: rule91 } - , CharBlock { start: 70720, length: 2, convRule: rule123 } - , CharBlock { start: 70722, length: 3, convRule: rule91 } - , CharBlock { start: 70725, length: 1, convRule: rule123 } - , CharBlock { start: 70726, length: 1, convRule: rule91 } + , CharBlock { start: 70709, length: 3, convRule: rule124 } + , CharBlock { start: 70712, length: 8, convRule: rule92 } + , CharBlock { start: 70720, length: 2, convRule: rule124 } + , CharBlock { start: 70722, length: 3, convRule: rule92 } + , CharBlock { start: 70725, length: 1, convRule: rule124 } + , CharBlock { start: 70726, length: 1, convRule: rule92 } , CharBlock { start: 70727, length: 4, convRule: rule14 } , CharBlock { start: 70731, length: 5, convRule: rule2 } , CharBlock { start: 70736, length: 10, convRule: rule8 } - , CharBlock { start: 70747, length: 1, convRule: rule2 } + , CharBlock { start: 70746, length: 2, convRule: rule2 } , CharBlock { start: 70749, length: 1, convRule: rule2 } + , CharBlock { start: 70750, length: 1, convRule: rule92 } + , CharBlock { start: 70751, length: 3, convRule: rule14 } , CharBlock { start: 70784, length: 48, convRule: rule14 } - , CharBlock { start: 70832, length: 3, convRule: rule123 } - , CharBlock { start: 70835, length: 6, convRule: rule91 } - , CharBlock { start: 70841, length: 1, convRule: rule123 } - , CharBlock { start: 70842, length: 1, convRule: rule91 } - , CharBlock { start: 70843, length: 4, convRule: rule123 } - , CharBlock { start: 70847, length: 2, convRule: rule91 } - , CharBlock { start: 70849, length: 1, convRule: rule123 } - , CharBlock { start: 70850, length: 2, convRule: rule91 } + , CharBlock { start: 70832, length: 3, convRule: rule124 } + , CharBlock { start: 70835, length: 6, convRule: rule92 } + , CharBlock { start: 70841, length: 1, convRule: rule124 } + , CharBlock { start: 70842, length: 1, convRule: rule92 } + , CharBlock { start: 70843, length: 4, convRule: rule124 } + , CharBlock { start: 70847, length: 2, convRule: rule92 } + , CharBlock { start: 70849, length: 1, convRule: rule124 } + , CharBlock { start: 70850, length: 2, convRule: rule92 } , CharBlock { start: 70852, length: 2, convRule: rule14 } , CharBlock { start: 70854, length: 1, convRule: rule2 } , CharBlock { start: 70855, length: 1, convRule: rule14 } , CharBlock { start: 70864, length: 10, convRule: rule8 } , CharBlock { start: 71040, length: 47, convRule: rule14 } - , CharBlock { start: 71087, length: 3, convRule: rule123 } - , CharBlock { start: 71090, length: 4, convRule: rule91 } - , CharBlock { start: 71096, length: 4, convRule: rule123 } - , CharBlock { start: 71100, length: 2, convRule: rule91 } - , CharBlock { start: 71102, length: 1, convRule: rule123 } - , CharBlock { start: 71103, length: 2, convRule: rule91 } + , CharBlock { start: 71087, length: 3, convRule: rule124 } + , CharBlock { start: 71090, length: 4, convRule: rule92 } + , CharBlock { start: 71096, length: 4, convRule: rule124 } + , CharBlock { start: 71100, length: 2, convRule: rule92 } + , CharBlock { start: 71102, length: 1, convRule: rule124 } + , CharBlock { start: 71103, length: 2, convRule: rule92 } , CharBlock { start: 71105, length: 23, convRule: rule2 } , CharBlock { start: 71128, length: 4, convRule: rule14 } - , CharBlock { start: 71132, length: 2, convRule: rule91 } + , CharBlock { start: 71132, length: 2, convRule: rule92 } , CharBlock { start: 71168, length: 48, convRule: rule14 } - , CharBlock { start: 71216, length: 3, convRule: rule123 } - , CharBlock { start: 71219, length: 8, convRule: rule91 } - , CharBlock { start: 71227, length: 2, convRule: rule123 } - , CharBlock { start: 71229, length: 1, convRule: rule91 } - , CharBlock { start: 71230, length: 1, convRule: rule123 } - , CharBlock { start: 71231, length: 2, convRule: rule91 } + , CharBlock { start: 71216, length: 3, convRule: rule124 } + , CharBlock { start: 71219, length: 8, convRule: rule92 } + , CharBlock { start: 71227, length: 2, convRule: rule124 } + , CharBlock { start: 71229, length: 1, convRule: rule92 } + , CharBlock { start: 71230, length: 1, convRule: rule124 } + , CharBlock { start: 71231, length: 2, convRule: rule92 } , CharBlock { start: 71233, length: 3, convRule: rule2 } , CharBlock { start: 71236, length: 1, convRule: rule14 } , CharBlock { start: 71248, length: 10, convRule: rule8 } , CharBlock { start: 71264, length: 13, convRule: rule2 } , CharBlock { start: 71296, length: 43, convRule: rule14 } - , CharBlock { start: 71339, length: 1, convRule: rule91 } - , CharBlock { start: 71340, length: 1, convRule: rule123 } - , CharBlock { start: 71341, length: 1, convRule: rule91 } - , CharBlock { start: 71342, length: 2, convRule: rule123 } - , CharBlock { start: 71344, length: 6, convRule: rule91 } - , CharBlock { start: 71350, length: 1, convRule: rule123 } - , CharBlock { start: 71351, length: 1, convRule: rule91 } + , CharBlock { start: 71339, length: 1, convRule: rule92 } + , CharBlock { start: 71340, length: 1, convRule: rule124 } + , CharBlock { start: 71341, length: 1, convRule: rule92 } + , CharBlock { start: 71342, length: 2, convRule: rule124 } + , CharBlock { start: 71344, length: 6, convRule: rule92 } + , CharBlock { start: 71350, length: 1, convRule: rule124 } + , CharBlock { start: 71351, length: 1, convRule: rule92 } + , CharBlock { start: 71352, length: 1, convRule: rule14 } , CharBlock { start: 71360, length: 10, convRule: rule8 } - , CharBlock { start: 71424, length: 26, convRule: rule14 } - , CharBlock { start: 71453, length: 3, convRule: rule91 } - , CharBlock { start: 71456, length: 2, convRule: rule123 } - , CharBlock { start: 71458, length: 4, convRule: rule91 } - , CharBlock { start: 71462, length: 1, convRule: rule123 } - , CharBlock { start: 71463, length: 5, convRule: rule91 } + , CharBlock { start: 71424, length: 27, convRule: rule14 } + , CharBlock { start: 71453, length: 3, convRule: rule92 } + , CharBlock { start: 71456, length: 2, convRule: rule124 } + , CharBlock { start: 71458, length: 4, convRule: rule92 } + , CharBlock { start: 71462, length: 1, convRule: rule124 } + , CharBlock { start: 71463, length: 5, convRule: rule92 } , CharBlock { start: 71472, length: 10, convRule: rule8 } , CharBlock { start: 71482, length: 2, convRule: rule17 } , CharBlock { start: 71484, length: 3, convRule: rule2 } , CharBlock { start: 71487, length: 1, convRule: rule13 } + , CharBlock { start: 71680, length: 44, convRule: rule14 } + , CharBlock { start: 71724, length: 3, convRule: rule124 } + , CharBlock { start: 71727, length: 9, convRule: rule92 } + , CharBlock { start: 71736, length: 1, convRule: rule124 } + , CharBlock { start: 71737, length: 2, convRule: rule92 } + , CharBlock { start: 71739, length: 1, convRule: rule2 } , CharBlock { start: 71840, length: 32, convRule: rule9 } , CharBlock { start: 71872, length: 32, convRule: rule12 } , CharBlock { start: 71904, length: 10, convRule: rule8 } , CharBlock { start: 71914, length: 9, convRule: rule17 } - , CharBlock { start: 71935, length: 1, convRule: rule14 } + , CharBlock { start: 71935, length: 8, convRule: rule14 } + , CharBlock { start: 71945, length: 1, convRule: rule14 } + , CharBlock { start: 71948, length: 8, convRule: rule14 } + , CharBlock { start: 71957, length: 2, convRule: rule14 } + , CharBlock { start: 71960, length: 24, convRule: rule14 } + , CharBlock { start: 71984, length: 6, convRule: rule124 } + , CharBlock { start: 71991, length: 2, convRule: rule124 } + , CharBlock { start: 71995, length: 2, convRule: rule92 } + , CharBlock { start: 71997, length: 1, convRule: rule124 } + , CharBlock { start: 71998, length: 1, convRule: rule92 } + , CharBlock { start: 71999, length: 1, convRule: rule14 } + , CharBlock { start: 72000, length: 1, convRule: rule124 } + , CharBlock { start: 72001, length: 1, convRule: rule14 } + , CharBlock { start: 72002, length: 1, convRule: rule124 } + , CharBlock { start: 72003, length: 1, convRule: rule92 } + , CharBlock { start: 72004, length: 3, convRule: rule2 } + , CharBlock { start: 72016, length: 10, convRule: rule8 } + , CharBlock { start: 72096, length: 8, convRule: rule14 } + , CharBlock { start: 72106, length: 39, convRule: rule14 } + , CharBlock { start: 72145, length: 3, convRule: rule124 } + , CharBlock { start: 72148, length: 4, convRule: rule92 } + , CharBlock { start: 72154, length: 2, convRule: rule92 } + , CharBlock { start: 72156, length: 4, convRule: rule124 } + , CharBlock { start: 72160, length: 1, convRule: rule92 } + , CharBlock { start: 72161, length: 1, convRule: rule14 } + , CharBlock { start: 72162, length: 1, convRule: rule2 } + , CharBlock { start: 72163, length: 1, convRule: rule14 } + , CharBlock { start: 72164, length: 1, convRule: rule124 } , CharBlock { start: 72192, length: 1, convRule: rule14 } - , CharBlock { start: 72193, length: 6, convRule: rule91 } - , CharBlock { start: 72199, length: 2, convRule: rule123 } - , CharBlock { start: 72201, length: 2, convRule: rule91 } + , CharBlock { start: 72193, length: 10, convRule: rule92 } , CharBlock { start: 72203, length: 40, convRule: rule14 } - , CharBlock { start: 72243, length: 6, convRule: rule91 } - , CharBlock { start: 72249, length: 1, convRule: rule123 } + , CharBlock { start: 72243, length: 6, convRule: rule92 } + , CharBlock { start: 72249, length: 1, convRule: rule124 } , CharBlock { start: 72250, length: 1, convRule: rule14 } - , CharBlock { start: 72251, length: 4, convRule: rule91 } + , CharBlock { start: 72251, length: 4, convRule: rule92 } , CharBlock { start: 72255, length: 8, convRule: rule2 } - , CharBlock { start: 72263, length: 1, convRule: rule91 } + , CharBlock { start: 72263, length: 1, convRule: rule92 } , CharBlock { start: 72272, length: 1, convRule: rule14 } - , CharBlock { start: 72273, length: 6, convRule: rule91 } - , CharBlock { start: 72279, length: 2, convRule: rule123 } - , CharBlock { start: 72281, length: 3, convRule: rule91 } - , CharBlock { start: 72284, length: 40, convRule: rule14 } - , CharBlock { start: 72326, length: 4, convRule: rule14 } - , CharBlock { start: 72330, length: 13, convRule: rule91 } - , CharBlock { start: 72343, length: 1, convRule: rule123 } - , CharBlock { start: 72344, length: 2, convRule: rule91 } + , CharBlock { start: 72273, length: 6, convRule: rule92 } + , CharBlock { start: 72279, length: 2, convRule: rule124 } + , CharBlock { start: 72281, length: 3, convRule: rule92 } + , CharBlock { start: 72284, length: 46, convRule: rule14 } + , CharBlock { start: 72330, length: 13, convRule: rule92 } + , CharBlock { start: 72343, length: 1, convRule: rule124 } + , CharBlock { start: 72344, length: 2, convRule: rule92 } , CharBlock { start: 72346, length: 3, convRule: rule2 } + , CharBlock { start: 72349, length: 1, convRule: rule14 } , CharBlock { start: 72350, length: 5, convRule: rule2 } , CharBlock { start: 72384, length: 57, convRule: rule14 } , CharBlock { start: 72704, length: 9, convRule: rule14 } , CharBlock { start: 72714, length: 37, convRule: rule14 } - , CharBlock { start: 72751, length: 1, convRule: rule123 } - , CharBlock { start: 72752, length: 7, convRule: rule91 } - , CharBlock { start: 72760, length: 6, convRule: rule91 } - , CharBlock { start: 72766, length: 1, convRule: rule123 } - , CharBlock { start: 72767, length: 1, convRule: rule91 } + , CharBlock { start: 72751, length: 1, convRule: rule124 } + , CharBlock { start: 72752, length: 7, convRule: rule92 } + , CharBlock { start: 72760, length: 6, convRule: rule92 } + , CharBlock { start: 72766, length: 1, convRule: rule124 } + , CharBlock { start: 72767, length: 1, convRule: rule92 } , CharBlock { start: 72768, length: 1, convRule: rule14 } , CharBlock { start: 72769, length: 5, convRule: rule2 } , CharBlock { start: 72784, length: 10, convRule: rule8 } , CharBlock { start: 72794, length: 19, convRule: rule17 } , CharBlock { start: 72816, length: 2, convRule: rule2 } , CharBlock { start: 72818, length: 30, convRule: rule14 } - , CharBlock { start: 72850, length: 22, convRule: rule91 } - , CharBlock { start: 72873, length: 1, convRule: rule123 } - , CharBlock { start: 72874, length: 7, convRule: rule91 } - , CharBlock { start: 72881, length: 1, convRule: rule123 } - , CharBlock { start: 72882, length: 2, convRule: rule91 } - , CharBlock { start: 72884, length: 1, convRule: rule123 } - , CharBlock { start: 72885, length: 2, convRule: rule91 } + , CharBlock { start: 72850, length: 22, convRule: rule92 } + , CharBlock { start: 72873, length: 1, convRule: rule124 } + , CharBlock { start: 72874, length: 7, convRule: rule92 } + , CharBlock { start: 72881, length: 1, convRule: rule124 } + , CharBlock { start: 72882, length: 2, convRule: rule92 } + , CharBlock { start: 72884, length: 1, convRule: rule124 } + , CharBlock { start: 72885, length: 2, convRule: rule92 } , CharBlock { start: 72960, length: 7, convRule: rule14 } , CharBlock { start: 72968, length: 2, convRule: rule14 } , CharBlock { start: 72971, length: 38, convRule: rule14 } - , CharBlock { start: 73009, length: 6, convRule: rule91 } - , CharBlock { start: 73018, length: 1, convRule: rule91 } - , CharBlock { start: 73020, length: 2, convRule: rule91 } - , CharBlock { start: 73023, length: 7, convRule: rule91 } + , CharBlock { start: 73009, length: 6, convRule: rule92 } + , CharBlock { start: 73018, length: 1, convRule: rule92 } + , CharBlock { start: 73020, length: 2, convRule: rule92 } + , CharBlock { start: 73023, length: 7, convRule: rule92 } , CharBlock { start: 73030, length: 1, convRule: rule14 } - , CharBlock { start: 73031, length: 1, convRule: rule91 } + , CharBlock { start: 73031, length: 1, convRule: rule92 } , CharBlock { start: 73040, length: 10, convRule: rule8 } + , CharBlock { start: 73056, length: 6, convRule: rule14 } + , CharBlock { start: 73063, length: 2, convRule: rule14 } + , CharBlock { start: 73066, length: 32, convRule: rule14 } + , CharBlock { start: 73098, length: 5, convRule: rule124 } + , CharBlock { start: 73104, length: 2, convRule: rule92 } + , CharBlock { start: 73107, length: 2, convRule: rule124 } + , CharBlock { start: 73109, length: 1, convRule: rule92 } + , CharBlock { start: 73110, length: 1, convRule: rule124 } + , CharBlock { start: 73111, length: 1, convRule: rule92 } + , CharBlock { start: 73112, length: 1, convRule: rule14 } + , CharBlock { start: 73120, length: 10, convRule: rule8 } + , CharBlock { start: 73440, length: 19, convRule: rule14 } + , CharBlock { start: 73459, length: 2, convRule: rule92 } + , CharBlock { start: 73461, length: 2, convRule: rule124 } + , CharBlock { start: 73463, length: 2, convRule: rule2 } + , CharBlock { start: 73648, length: 1, convRule: rule14 } + , CharBlock { start: 73664, length: 21, convRule: rule17 } + , CharBlock { start: 73685, length: 8, convRule: rule13 } + , CharBlock { start: 73693, length: 4, convRule: rule3 } + , CharBlock { start: 73697, length: 17, convRule: rule13 } + , CharBlock { start: 73727, length: 1, convRule: rule2 } , CharBlock { start: 73728, length: 922, convRule: rule14 } - , CharBlock { start: 74752, length: 111, convRule: rule126 } + , CharBlock { start: 74752, length: 111, convRule: rule128 } , CharBlock { start: 74864, length: 5, convRule: rule2 } , CharBlock { start: 74880, length: 196, convRule: rule14 } , CharBlock { start: 77824, length: 1071, convRule: rule14 } + , CharBlock { start: 78896, length: 9, convRule: rule16 } , CharBlock { start: 82944, length: 583, convRule: rule14 } , CharBlock { start: 92160, length: 569, convRule: rule14 } , CharBlock { start: 92736, length: 31, convRule: rule14 } , CharBlock { start: 92768, length: 10, convRule: rule8 } , CharBlock { start: 92782, length: 2, convRule: rule2 } , CharBlock { start: 92880, length: 30, convRule: rule14 } - , CharBlock { start: 92912, length: 5, convRule: rule91 } + , CharBlock { start: 92912, length: 5, convRule: rule92 } , CharBlock { start: 92917, length: 1, convRule: rule2 } , CharBlock { start: 92928, length: 48, convRule: rule14 } - , CharBlock { start: 92976, length: 7, convRule: rule91 } + , CharBlock { start: 92976, length: 7, convRule: rule92 } , CharBlock { start: 92983, length: 5, convRule: rule2 } , CharBlock { start: 92988, length: 4, convRule: rule13 } - , CharBlock { start: 92992, length: 4, convRule: rule90 } + , CharBlock { start: 92992, length: 4, convRule: rule91 } , CharBlock { start: 92996, length: 1, convRule: rule2 } , CharBlock { start: 92997, length: 1, convRule: rule13 } , CharBlock { start: 93008, length: 10, convRule: rule8 } , CharBlock { start: 93019, length: 7, convRule: rule17 } , CharBlock { start: 93027, length: 21, convRule: rule14 } , CharBlock { start: 93053, length: 19, convRule: rule14 } - , CharBlock { start: 93952, length: 69, convRule: rule14 } + , CharBlock { start: 93760, length: 32, convRule: rule9 } + , CharBlock { start: 93792, length: 32, convRule: rule12 } + , CharBlock { start: 93824, length: 23, convRule: rule17 } + , CharBlock { start: 93847, length: 4, convRule: rule2 } + , CharBlock { start: 93952, length: 75, convRule: rule14 } + , CharBlock { start: 94031, length: 1, convRule: rule92 } , CharBlock { start: 94032, length: 1, convRule: rule14 } - , CharBlock { start: 94033, length: 46, convRule: rule123 } - , CharBlock { start: 94095, length: 4, convRule: rule91 } - , CharBlock { start: 94099, length: 13, convRule: rule90 } - , CharBlock { start: 94176, length: 2, convRule: rule90 } - , CharBlock { start: 94208, length: 6125, convRule: rule14 } - , CharBlock { start: 100352, length: 755, convRule: rule14 } + , CharBlock { start: 94033, length: 55, convRule: rule124 } + , CharBlock { start: 94095, length: 4, convRule: rule92 } + , CharBlock { start: 94099, length: 13, convRule: rule91 } + , CharBlock { start: 94176, length: 2, convRule: rule91 } + , CharBlock { start: 94178, length: 1, convRule: rule2 } + , CharBlock { start: 94179, length: 1, convRule: rule91 } + , CharBlock { start: 94180, length: 1, convRule: rule92 } + , CharBlock { start: 94192, length: 2, convRule: rule124 } + , CharBlock { start: 94208, length: 6136, convRule: rule14 } + , CharBlock { start: 100352, length: 1238, convRule: rule14 } + , CharBlock { start: 101632, length: 9, convRule: rule14 } , CharBlock { start: 110592, length: 287, convRule: rule14 } + , CharBlock { start: 110928, length: 3, convRule: rule14 } + , CharBlock { start: 110948, length: 4, convRule: rule14 } , CharBlock { start: 110960, length: 396, convRule: rule14 } , CharBlock { start: 113664, length: 107, convRule: rule14 } , CharBlock { start: 113776, length: 13, convRule: rule14 } , CharBlock { start: 113792, length: 9, convRule: rule14 } , CharBlock { start: 113808, length: 10, convRule: rule14 } , CharBlock { start: 113820, length: 1, convRule: rule13 } - , CharBlock { start: 113821, length: 2, convRule: rule91 } + , CharBlock { start: 113821, length: 2, convRule: rule92 } , CharBlock { start: 113823, length: 1, convRule: rule2 } , CharBlock { start: 113824, length: 4, convRule: rule16 } , CharBlock { start: 118784, length: 246, convRule: rule13 } , CharBlock { start: 119040, length: 39, convRule: rule13 } , CharBlock { start: 119081, length: 60, convRule: rule13 } - , CharBlock { start: 119141, length: 2, convRule: rule123 } - , CharBlock { start: 119143, length: 3, convRule: rule91 } + , CharBlock { start: 119141, length: 2, convRule: rule124 } + , CharBlock { start: 119143, length: 3, convRule: rule92 } , CharBlock { start: 119146, length: 3, convRule: rule13 } - , CharBlock { start: 119149, length: 6, convRule: rule123 } + , CharBlock { start: 119149, length: 6, convRule: rule124 } , CharBlock { start: 119155, length: 8, convRule: rule16 } - , CharBlock { start: 119163, length: 8, convRule: rule91 } + , CharBlock { start: 119163, length: 8, convRule: rule92 } , CharBlock { start: 119171, length: 2, convRule: rule13 } - , CharBlock { start: 119173, length: 7, convRule: rule91 } + , CharBlock { start: 119173, length: 7, convRule: rule92 } , CharBlock { start: 119180, length: 30, convRule: rule13 } - , CharBlock { start: 119210, length: 4, convRule: rule91 } + , CharBlock { start: 119210, length: 4, convRule: rule92 } , CharBlock { start: 119214, length: 59, convRule: rule13 } , CharBlock { start: 119296, length: 66, convRule: rule13 } - , CharBlock { start: 119362, length: 3, convRule: rule91 } + , CharBlock { start: 119362, length: 3, convRule: rule92 } , CharBlock { start: 119365, length: 1, convRule: rule13 } + , CharBlock { start: 119520, length: 20, convRule: rule17 } , CharBlock { start: 119552, length: 87, convRule: rule13 } - , CharBlock { start: 119648, length: 18, convRule: rule17 } - , CharBlock { start: 119808, length: 26, convRule: rule106 } + , CharBlock { start: 119648, length: 25, convRule: rule17 } + , CharBlock { start: 119808, length: 26, convRule: rule107 } , CharBlock { start: 119834, length: 26, convRule: rule20 } - , CharBlock { start: 119860, length: 26, convRule: rule106 } + , CharBlock { start: 119860, length: 26, convRule: rule107 } , CharBlock { start: 119886, length: 7, convRule: rule20 } , CharBlock { start: 119894, length: 18, convRule: rule20 } - , CharBlock { start: 119912, length: 26, convRule: rule106 } + , CharBlock { start: 119912, length: 26, convRule: rule107 } , CharBlock { start: 119938, length: 26, convRule: rule20 } - , CharBlock { start: 119964, length: 1, convRule: rule106 } - , CharBlock { start: 119966, length: 2, convRule: rule106 } - , CharBlock { start: 119970, length: 1, convRule: rule106 } - , CharBlock { start: 119973, length: 2, convRule: rule106 } - , CharBlock { start: 119977, length: 4, convRule: rule106 } - , CharBlock { start: 119982, length: 8, convRule: rule106 } + , CharBlock { start: 119964, length: 1, convRule: rule107 } + , CharBlock { start: 119966, length: 2, convRule: rule107 } + , CharBlock { start: 119970, length: 1, convRule: rule107 } + , CharBlock { start: 119973, length: 2, convRule: rule107 } + , CharBlock { start: 119977, length: 4, convRule: rule107 } + , CharBlock { start: 119982, length: 8, convRule: rule107 } , CharBlock { start: 119990, length: 4, convRule: rule20 } , CharBlock { start: 119995, length: 1, convRule: rule20 } , CharBlock { start: 119997, length: 7, convRule: rule20 } , CharBlock { start: 120005, length: 11, convRule: rule20 } - , CharBlock { start: 120016, length: 26, convRule: rule106 } + , CharBlock { start: 120016, length: 26, convRule: rule107 } , CharBlock { start: 120042, length: 26, convRule: rule20 } - , CharBlock { start: 120068, length: 2, convRule: rule106 } - , CharBlock { start: 120071, length: 4, convRule: rule106 } - , CharBlock { start: 120077, length: 8, convRule: rule106 } - , CharBlock { start: 120086, length: 7, convRule: rule106 } + , CharBlock { start: 120068, length: 2, convRule: rule107 } + , CharBlock { start: 120071, length: 4, convRule: rule107 } + , CharBlock { start: 120077, length: 8, convRule: rule107 } + , CharBlock { start: 120086, length: 7, convRule: rule107 } , CharBlock { start: 120094, length: 26, convRule: rule20 } - , CharBlock { start: 120120, length: 2, convRule: rule106 } - , CharBlock { start: 120123, length: 4, convRule: rule106 } - , CharBlock { start: 120128, length: 5, convRule: rule106 } - , CharBlock { start: 120134, length: 1, convRule: rule106 } - , CharBlock { start: 120138, length: 7, convRule: rule106 } + , CharBlock { start: 120120, length: 2, convRule: rule107 } + , CharBlock { start: 120123, length: 4, convRule: rule107 } + , CharBlock { start: 120128, length: 5, convRule: rule107 } + , CharBlock { start: 120134, length: 1, convRule: rule107 } + , CharBlock { start: 120138, length: 7, convRule: rule107 } , CharBlock { start: 120146, length: 26, convRule: rule20 } - , CharBlock { start: 120172, length: 26, convRule: rule106 } + , CharBlock { start: 120172, length: 26, convRule: rule107 } , CharBlock { start: 120198, length: 26, convRule: rule20 } - , CharBlock { start: 120224, length: 26, convRule: rule106 } + , CharBlock { start: 120224, length: 26, convRule: rule107 } , CharBlock { start: 120250, length: 26, convRule: rule20 } - , CharBlock { start: 120276, length: 26, convRule: rule106 } + , CharBlock { start: 120276, length: 26, convRule: rule107 } , CharBlock { start: 120302, length: 26, convRule: rule20 } - , CharBlock { start: 120328, length: 26, convRule: rule106 } + , CharBlock { start: 120328, length: 26, convRule: rule107 } , CharBlock { start: 120354, length: 26, convRule: rule20 } - , CharBlock { start: 120380, length: 26, convRule: rule106 } + , CharBlock { start: 120380, length: 26, convRule: rule107 } , CharBlock { start: 120406, length: 26, convRule: rule20 } - , CharBlock { start: 120432, length: 26, convRule: rule106 } + , CharBlock { start: 120432, length: 26, convRule: rule107 } , CharBlock { start: 120458, length: 28, convRule: rule20 } - , CharBlock { start: 120488, length: 25, convRule: rule106 } + , CharBlock { start: 120488, length: 25, convRule: rule107 } , CharBlock { start: 120513, length: 1, convRule: rule6 } , CharBlock { start: 120514, length: 25, convRule: rule20 } , CharBlock { start: 120539, length: 1, convRule: rule6 } , CharBlock { start: 120540, length: 6, convRule: rule20 } - , CharBlock { start: 120546, length: 25, convRule: rule106 } + , CharBlock { start: 120546, length: 25, convRule: rule107 } , CharBlock { start: 120571, length: 1, convRule: rule6 } , CharBlock { start: 120572, length: 25, convRule: rule20 } , CharBlock { start: 120597, length: 1, convRule: rule6 } , CharBlock { start: 120598, length: 6, convRule: rule20 } - , CharBlock { start: 120604, length: 25, convRule: rule106 } + , CharBlock { start: 120604, length: 25, convRule: rule107 } , CharBlock { start: 120629, length: 1, convRule: rule6 } , CharBlock { start: 120630, length: 25, convRule: rule20 } , CharBlock { start: 120655, length: 1, convRule: rule6 } , CharBlock { start: 120656, length: 6, convRule: rule20 } - , CharBlock { start: 120662, length: 25, convRule: rule106 } + , CharBlock { start: 120662, length: 25, convRule: rule107 } , CharBlock { start: 120687, length: 1, convRule: rule6 } , CharBlock { start: 120688, length: 25, convRule: rule20 } , CharBlock { start: 120713, length: 1, convRule: rule6 } , CharBlock { start: 120714, length: 6, convRule: rule20 } - , CharBlock { start: 120720, length: 25, convRule: rule106 } + , CharBlock { start: 120720, length: 25, convRule: rule107 } , CharBlock { start: 120745, length: 1, convRule: rule6 } , CharBlock { start: 120746, length: 25, convRule: rule20 } , CharBlock { start: 120771, length: 1, convRule: rule6 } , CharBlock { start: 120772, length: 6, convRule: rule20 } - , CharBlock { start: 120778, length: 1, convRule: rule106 } + , CharBlock { start: 120778, length: 1, convRule: rule107 } , CharBlock { start: 120779, length: 1, convRule: rule20 } , CharBlock { start: 120782, length: 50, convRule: rule8 } , CharBlock { start: 120832, length: 512, convRule: rule13 } - , CharBlock { start: 121344, length: 55, convRule: rule91 } + , CharBlock { start: 121344, length: 55, convRule: rule92 } , CharBlock { start: 121399, length: 4, convRule: rule13 } - , CharBlock { start: 121403, length: 50, convRule: rule91 } + , CharBlock { start: 121403, length: 50, convRule: rule92 } , CharBlock { start: 121453, length: 8, convRule: rule13 } - , CharBlock { start: 121461, length: 1, convRule: rule91 } + , CharBlock { start: 121461, length: 1, convRule: rule92 } , CharBlock { start: 121462, length: 14, convRule: rule13 } - , CharBlock { start: 121476, length: 1, convRule: rule91 } + , CharBlock { start: 121476, length: 1, convRule: rule92 } , CharBlock { start: 121477, length: 2, convRule: rule13 } , CharBlock { start: 121479, length: 5, convRule: rule2 } - , CharBlock { start: 121499, length: 5, convRule: rule91 } - , CharBlock { start: 121505, length: 15, convRule: rule91 } - , CharBlock { start: 122880, length: 7, convRule: rule91 } - , CharBlock { start: 122888, length: 17, convRule: rule91 } - , CharBlock { start: 122907, length: 7, convRule: rule91 } - , CharBlock { start: 122915, length: 2, convRule: rule91 } - , CharBlock { start: 122918, length: 5, convRule: rule91 } + , CharBlock { start: 121499, length: 5, convRule: rule92 } + , CharBlock { start: 121505, length: 15, convRule: rule92 } + , CharBlock { start: 122880, length: 7, convRule: rule92 } + , CharBlock { start: 122888, length: 17, convRule: rule92 } + , CharBlock { start: 122907, length: 7, convRule: rule92 } + , CharBlock { start: 122915, length: 2, convRule: rule92 } + , CharBlock { start: 122918, length: 5, convRule: rule92 } + , CharBlock { start: 123136, length: 45, convRule: rule14 } + , CharBlock { start: 123184, length: 7, convRule: rule92 } + , CharBlock { start: 123191, length: 7, convRule: rule91 } + , CharBlock { start: 123200, length: 10, convRule: rule8 } + , CharBlock { start: 123214, length: 1, convRule: rule14 } + , CharBlock { start: 123215, length: 1, convRule: rule13 } + , CharBlock { start: 123584, length: 44, convRule: rule14 } + , CharBlock { start: 123628, length: 4, convRule: rule92 } + , CharBlock { start: 123632, length: 10, convRule: rule8 } + , CharBlock { start: 123647, length: 1, convRule: rule3 } , CharBlock { start: 124928, length: 197, convRule: rule14 } , CharBlock { start: 125127, length: 9, convRule: rule17 } - , CharBlock { start: 125136, length: 7, convRule: rule91 } - , CharBlock { start: 125184, length: 34, convRule: rule195 } - , CharBlock { start: 125218, length: 34, convRule: rule196 } - , CharBlock { start: 125252, length: 7, convRule: rule91 } + , CharBlock { start: 125136, length: 7, convRule: rule92 } + , CharBlock { start: 125184, length: 34, convRule: rule203 } + , CharBlock { start: 125218, length: 34, convRule: rule204 } + , CharBlock { start: 125252, length: 7, convRule: rule92 } + , CharBlock { start: 125259, length: 1, convRule: rule91 } , CharBlock { start: 125264, length: 10, convRule: rule8 } , CharBlock { start: 125278, length: 2, convRule: rule2 } + , CharBlock { start: 126065, length: 59, convRule: rule17 } + , CharBlock { start: 126124, length: 1, convRule: rule13 } + , CharBlock { start: 126125, length: 3, convRule: rule17 } + , CharBlock { start: 126128, length: 1, convRule: rule3 } + , CharBlock { start: 126129, length: 4, convRule: rule17 } + , CharBlock { start: 126209, length: 45, convRule: rule17 } + , CharBlock { start: 126254, length: 1, convRule: rule13 } + , CharBlock { start: 126255, length: 15, convRule: rule17 } , CharBlock { start: 126464, length: 4, convRule: rule14 } , CharBlock { start: 126469, length: 27, convRule: rule14 } , CharBlock { start: 126497, length: 2, convRule: rule14 } @@ -4010,9 +4178,7 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 127169, length: 15, convRule: rule13 } , CharBlock { start: 127185, length: 37, convRule: rule13 } , CharBlock { start: 127232, length: 13, convRule: rule17 } - , CharBlock { start: 127248, length: 31, convRule: rule13 } - , CharBlock { start: 127280, length: 60, convRule: rule13 } - , CharBlock { start: 127344, length: 61, convRule: rule13 } + , CharBlock { start: 127245, length: 161, convRule: rule13 } , CharBlock { start: 127462, length: 29, convRule: rule13 } , CharBlock { start: 127504, length: 44, convRule: rule13 } , CharBlock { start: 127552, length: 9, convRule: rule13 } @@ -4020,34 +4186,44 @@ allchars = [ CharBlock { start: 0, length: 32, convRule: rule0 } , CharBlock { start: 127584, length: 6, convRule: rule13 } , CharBlock { start: 127744, length: 251, convRule: rule13 } , CharBlock { start: 127995, length: 5, convRule: rule10 } - , CharBlock { start: 128000, length: 725, convRule: rule13 } + , CharBlock { start: 128000, length: 728, convRule: rule13 } , CharBlock { start: 128736, length: 13, convRule: rule13 } - , CharBlock { start: 128752, length: 9, convRule: rule13 } + , CharBlock { start: 128752, length: 13, convRule: rule13 } , CharBlock { start: 128768, length: 116, convRule: rule13 } - , CharBlock { start: 128896, length: 85, convRule: rule13 } + , CharBlock { start: 128896, length: 89, convRule: rule13 } + , CharBlock { start: 128992, length: 12, convRule: rule13 } , CharBlock { start: 129024, length: 12, convRule: rule13 } , CharBlock { start: 129040, length: 56, convRule: rule13 } , CharBlock { start: 129104, length: 10, convRule: rule13 } , CharBlock { start: 129120, length: 40, convRule: rule13 } , CharBlock { start: 129168, length: 30, convRule: rule13 } - , CharBlock { start: 129280, length: 12, convRule: rule13 } - , CharBlock { start: 129296, length: 47, convRule: rule13 } - , CharBlock { start: 129344, length: 13, convRule: rule13 } - , CharBlock { start: 129360, length: 28, convRule: rule13 } - , CharBlock { start: 129408, length: 24, convRule: rule13 } - , CharBlock { start: 129472, length: 1, convRule: rule13 } - , CharBlock { start: 129488, length: 23, convRule: rule13 } - , CharBlock { start: 131072, length: 42711, convRule: rule14 } + , CharBlock { start: 129200, length: 2, convRule: rule13 } + , CharBlock { start: 129280, length: 121, convRule: rule13 } + , CharBlock { start: 129402, length: 82, convRule: rule13 } + , CharBlock { start: 129485, length: 135, convRule: rule13 } + , CharBlock { start: 129632, length: 14, convRule: rule13 } + , CharBlock { start: 129648, length: 5, convRule: rule13 } + , CharBlock { start: 129656, length: 3, convRule: rule13 } + , CharBlock { start: 129664, length: 7, convRule: rule13 } + , CharBlock { start: 129680, length: 25, convRule: rule13 } + , CharBlock { start: 129712, length: 7, convRule: rule13 } + , CharBlock { start: 129728, length: 3, convRule: rule13 } + , CharBlock { start: 129744, length: 7, convRule: rule13 } + , CharBlock { start: 129792, length: 147, convRule: rule13 } + , CharBlock { start: 129940, length: 55, convRule: rule13 } + , CharBlock { start: 130032, length: 10, convRule: rule8 } + , CharBlock { start: 131072, length: 42718, convRule: rule14 } , CharBlock { start: 173824, length: 4149, convRule: rule14 } , CharBlock { start: 177984, length: 222, convRule: rule14 } , CharBlock { start: 178208, length: 5762, convRule: rule14 } , CharBlock { start: 183984, length: 7473, convRule: rule14 } , CharBlock { start: 194560, length: 542, convRule: rule14 } + , CharBlock { start: 196608, length: 4939, convRule: rule14 } , CharBlock { start: 917505, length: 1, convRule: rule16 } , CharBlock { start: 917536, length: 96, convRule: rule16 } - , CharBlock { start: 917760, length: 240, convRule: rule91 } - , CharBlock { start: 983040, length: 65534, convRule: rule192 } - , CharBlock { start: 1048576, length: 65534, convRule: rule192 } + , CharBlock { start: 917760, length: 240, convRule: rule92 } + , CharBlock { start: 983040, length: 65534, convRule: rule200 } + , CharBlock { start: 1048576, length: 65534, convRule: rule200 } ] convchars :: Array CharBlock @@ -4396,16 +4572,17 @@ convchars = [ CharBlock { start: 65, length: 26, convRule: rule9 } , CharBlock { start: 629, length: 1, convRule: rule80 } , CharBlock { start: 637, length: 1, convRule: rule81 } , CharBlock { start: 640, length: 1, convRule: rule82 } + , CharBlock { start: 642, length: 1, convRule: rule83 } , CharBlock { start: 643, length: 1, convRule: rule82 } - , CharBlock { start: 647, length: 1, convRule: rule83 } + , CharBlock { start: 647, length: 1, convRule: rule84 } , CharBlock { start: 648, length: 1, convRule: rule82 } - , CharBlock { start: 649, length: 1, convRule: rule84 } - , CharBlock { start: 650, length: 2, convRule: rule85 } - , CharBlock { start: 652, length: 1, convRule: rule86 } - , CharBlock { start: 658, length: 1, convRule: rule87 } - , CharBlock { start: 669, length: 1, convRule: rule88 } - , CharBlock { start: 670, length: 1, convRule: rule89 } - , CharBlock { start: 837, length: 1, convRule: rule92 } + , CharBlock { start: 649, length: 1, convRule: rule85 } + , CharBlock { start: 650, length: 2, convRule: rule86 } + , CharBlock { start: 652, length: 1, convRule: rule87 } + , CharBlock { start: 658, length: 1, convRule: rule88 } + , CharBlock { start: 669, length: 1, convRule: rule89 } + , CharBlock { start: 670, length: 1, convRule: rule90 } + , CharBlock { start: 837, length: 1, convRule: rule93 } , CharBlock { start: 880, length: 1, convRule: rule22 } , CharBlock { start: 881, length: 1, convRule: rule23 } , CharBlock { start: 882, length: 1, convRule: rule22 } @@ -4413,26 +4590,26 @@ convchars = [ CharBlock { start: 65, length: 26, convRule: rule9 } , CharBlock { start: 886, length: 1, convRule: rule22 } , CharBlock { start: 887, length: 1, convRule: rule23 } , CharBlock { start: 891, length: 3, convRule: rule41 } - , CharBlock { start: 895, length: 1, convRule: rule93 } - , CharBlock { start: 902, length: 1, convRule: rule94 } - , CharBlock { start: 904, length: 3, convRule: rule95 } - , CharBlock { start: 908, length: 1, convRule: rule96 } - , CharBlock { start: 910, length: 2, convRule: rule97 } + , CharBlock { start: 895, length: 1, convRule: rule94 } + , CharBlock { start: 902, length: 1, convRule: rule95 } + , CharBlock { start: 904, length: 3, convRule: rule96 } + , CharBlock { start: 908, length: 1, convRule: rule97 } + , CharBlock { start: 910, length: 2, convRule: rule98 } , CharBlock { start: 913, length: 17, convRule: rule9 } , CharBlock { start: 931, length: 9, convRule: rule9 } - , CharBlock { start: 940, length: 1, convRule: rule98 } - , CharBlock { start: 941, length: 3, convRule: rule99 } + , CharBlock { start: 940, length: 1, convRule: rule99 } + , CharBlock { start: 941, length: 3, convRule: rule100 } , CharBlock { start: 945, length: 17, convRule: rule12 } - , CharBlock { start: 962, length: 1, convRule: rule100 } + , CharBlock { start: 962, length: 1, convRule: rule101 } , CharBlock { start: 963, length: 9, convRule: rule12 } - , CharBlock { start: 972, length: 1, convRule: rule101 } - , CharBlock { start: 973, length: 2, convRule: rule102 } - , CharBlock { start: 975, length: 1, convRule: rule103 } - , CharBlock { start: 976, length: 1, convRule: rule104 } - , CharBlock { start: 977, length: 1, convRule: rule105 } - , CharBlock { start: 981, length: 1, convRule: rule107 } - , CharBlock { start: 982, length: 1, convRule: rule108 } - , CharBlock { start: 983, length: 1, convRule: rule109 } + , CharBlock { start: 972, length: 1, convRule: rule102 } + , CharBlock { start: 973, length: 2, convRule: rule103 } + , CharBlock { start: 975, length: 1, convRule: rule104 } + , CharBlock { start: 976, length: 1, convRule: rule105 } + , CharBlock { start: 977, length: 1, convRule: rule106 } + , CharBlock { start: 981, length: 1, convRule: rule108 } + , CharBlock { start: 982, length: 1, convRule: rule109 } + , CharBlock { start: 983, length: 1, convRule: rule110 } , CharBlock { start: 984, length: 1, convRule: rule22 } , CharBlock { start: 985, length: 1, convRule: rule23 } , CharBlock { start: 986, length: 1, convRule: rule22 } @@ -4457,22 +4634,22 @@ convchars = [ CharBlock { start: 65, length: 26, convRule: rule9 } , CharBlock { start: 1005, length: 1, convRule: rule23 } , CharBlock { start: 1006, length: 1, convRule: rule22 } , CharBlock { start: 1007, length: 1, convRule: rule23 } - , CharBlock { start: 1008, length: 1, convRule: rule110 } - , CharBlock { start: 1009, length: 1, convRule: rule111 } - , CharBlock { start: 1010, length: 1, convRule: rule112 } - , CharBlock { start: 1011, length: 1, convRule: rule113 } - , CharBlock { start: 1012, length: 1, convRule: rule114 } - , CharBlock { start: 1013, length: 1, convRule: rule115 } + , CharBlock { start: 1008, length: 1, convRule: rule111 } + , CharBlock { start: 1009, length: 1, convRule: rule112 } + , CharBlock { start: 1010, length: 1, convRule: rule113 } + , CharBlock { start: 1011, length: 1, convRule: rule114 } + , CharBlock { start: 1012, length: 1, convRule: rule115 } + , CharBlock { start: 1013, length: 1, convRule: rule116 } , CharBlock { start: 1015, length: 1, convRule: rule22 } , CharBlock { start: 1016, length: 1, convRule: rule23 } - , CharBlock { start: 1017, length: 1, convRule: rule116 } + , CharBlock { start: 1017, length: 1, convRule: rule117 } , CharBlock { start: 1018, length: 1, convRule: rule22 } , CharBlock { start: 1019, length: 1, convRule: rule23 } , CharBlock { start: 1021, length: 3, convRule: rule53 } - , CharBlock { start: 1024, length: 16, convRule: rule117 } + , CharBlock { start: 1024, length: 16, convRule: rule118 } , CharBlock { start: 1040, length: 32, convRule: rule9 } , CharBlock { start: 1072, length: 32, convRule: rule12 } - , CharBlock { start: 1104, length: 16, convRule: rule111 } + , CharBlock { start: 1104, length: 16, convRule: rule112 } , CharBlock { start: 1120, length: 1, convRule: rule22 } , CharBlock { start: 1121, length: 1, convRule: rule23 } , CharBlock { start: 1122, length: 1, convRule: rule22 } @@ -4561,7 +4738,7 @@ convchars = [ CharBlock { start: 65, length: 26, convRule: rule9 } , CharBlock { start: 1213, length: 1, convRule: rule23 } , CharBlock { start: 1214, length: 1, convRule: rule22 } , CharBlock { start: 1215, length: 1, convRule: rule23 } - , CharBlock { start: 1216, length: 1, convRule: rule119 } + , CharBlock { start: 1216, length: 1, convRule: rule120 } , CharBlock { start: 1217, length: 1, convRule: rule22 } , CharBlock { start: 1218, length: 1, convRule: rule23 } , CharBlock { start: 1219, length: 1, convRule: rule22 } @@ -4576,7 +4753,7 @@ convchars = [ CharBlock { start: 65, length: 26, convRule: rule9 } , CharBlock { start: 1228, length: 1, convRule: rule23 } , CharBlock { start: 1229, length: 1, convRule: rule22 } , CharBlock { start: 1230, length: 1, convRule: rule23 } - , CharBlock { start: 1231, length: 1, convRule: rule120 } + , CharBlock { start: 1231, length: 1, convRule: rule121 } , CharBlock { start: 1232, length: 1, convRule: rule22 } , CharBlock { start: 1233, length: 1, convRule: rule23 } , CharBlock { start: 1234, length: 1, convRule: rule22 } @@ -4673,24 +4850,29 @@ convchars = [ CharBlock { start: 65, length: 26, convRule: rule9 } , CharBlock { start: 1325, length: 1, convRule: rule23 } , CharBlock { start: 1326, length: 1, convRule: rule22 } , CharBlock { start: 1327, length: 1, convRule: rule23 } - , CharBlock { start: 1329, length: 38, convRule: rule121 } - , CharBlock { start: 1377, length: 38, convRule: rule122 } - , CharBlock { start: 4256, length: 38, convRule: rule124 } - , CharBlock { start: 4295, length: 1, convRule: rule124 } - , CharBlock { start: 4301, length: 1, convRule: rule124 } - , CharBlock { start: 5024, length: 80, convRule: rule125 } - , CharBlock { start: 5104, length: 6, convRule: rule103 } - , CharBlock { start: 5112, length: 6, convRule: rule109 } - , CharBlock { start: 7296, length: 1, convRule: rule127 } - , CharBlock { start: 7297, length: 1, convRule: rule128 } - , CharBlock { start: 7298, length: 1, convRule: rule129 } - , CharBlock { start: 7299, length: 2, convRule: rule130 } - , CharBlock { start: 7301, length: 1, convRule: rule131 } - , CharBlock { start: 7302, length: 1, convRule: rule132 } - , CharBlock { start: 7303, length: 1, convRule: rule133 } - , CharBlock { start: 7304, length: 1, convRule: rule134 } - , CharBlock { start: 7545, length: 1, convRule: rule135 } - , CharBlock { start: 7549, length: 1, convRule: rule136 } + , CharBlock { start: 1329, length: 38, convRule: rule122 } + , CharBlock { start: 1377, length: 38, convRule: rule123 } + , CharBlock { start: 4256, length: 38, convRule: rule125 } + , CharBlock { start: 4295, length: 1, convRule: rule125 } + , CharBlock { start: 4301, length: 1, convRule: rule125 } + , CharBlock { start: 4304, length: 43, convRule: rule126 } + , CharBlock { start: 4349, length: 3, convRule: rule126 } + , CharBlock { start: 5024, length: 80, convRule: rule127 } + , CharBlock { start: 5104, length: 6, convRule: rule104 } + , CharBlock { start: 5112, length: 6, convRule: rule110 } + , CharBlock { start: 7296, length: 1, convRule: rule129 } + , CharBlock { start: 7297, length: 1, convRule: rule130 } + , CharBlock { start: 7298, length: 1, convRule: rule131 } + , CharBlock { start: 7299, length: 2, convRule: rule132 } + , CharBlock { start: 7301, length: 1, convRule: rule133 } + , CharBlock { start: 7302, length: 1, convRule: rule134 } + , CharBlock { start: 7303, length: 1, convRule: rule135 } + , CharBlock { start: 7304, length: 1, convRule: rule136 } + , CharBlock { start: 7312, length: 43, convRule: rule137 } + , CharBlock { start: 7357, length: 3, convRule: rule137 } + , CharBlock { start: 7545, length: 1, convRule: rule138 } + , CharBlock { start: 7549, length: 1, convRule: rule139 } + , CharBlock { start: 7566, length: 1, convRule: rule140 } , CharBlock { start: 7680, length: 1, convRule: rule22 } , CharBlock { start: 7681, length: 1, convRule: rule23 } , CharBlock { start: 7682, length: 1, convRule: rule22 } @@ -4841,8 +5023,8 @@ convchars = [ CharBlock { start: 65, length: 26, convRule: rule9 } , CharBlock { start: 7827, length: 1, convRule: rule23 } , CharBlock { start: 7828, length: 1, convRule: rule22 } , CharBlock { start: 7829, length: 1, convRule: rule23 } - , CharBlock { start: 7835, length: 1, convRule: rule137 } - , CharBlock { start: 7838, length: 1, convRule: rule138 } + , CharBlock { start: 7835, length: 1, convRule: rule141 } + , CharBlock { start: 7838, length: 1, convRule: rule142 } , CharBlock { start: 7840, length: 1, convRule: rule22 } , CharBlock { start: 7841, length: 1, convRule: rule23 } , CharBlock { start: 7842, length: 1, convRule: rule22 } @@ -4939,94 +5121,94 @@ convchars = [ CharBlock { start: 65, length: 26, convRule: rule9 } , CharBlock { start: 7933, length: 1, convRule: rule23 } , CharBlock { start: 7934, length: 1, convRule: rule22 } , CharBlock { start: 7935, length: 1, convRule: rule23 } - , CharBlock { start: 7936, length: 8, convRule: rule139 } - , CharBlock { start: 7944, length: 8, convRule: rule140 } - , CharBlock { start: 7952, length: 6, convRule: rule139 } - , CharBlock { start: 7960, length: 6, convRule: rule140 } - , CharBlock { start: 7968, length: 8, convRule: rule139 } - , CharBlock { start: 7976, length: 8, convRule: rule140 } - , CharBlock { start: 7984, length: 8, convRule: rule139 } - , CharBlock { start: 7992, length: 8, convRule: rule140 } - , CharBlock { start: 8000, length: 6, convRule: rule139 } - , CharBlock { start: 8008, length: 6, convRule: rule140 } - , CharBlock { start: 8017, length: 1, convRule: rule139 } - , CharBlock { start: 8019, length: 1, convRule: rule139 } - , CharBlock { start: 8021, length: 1, convRule: rule139 } - , CharBlock { start: 8023, length: 1, convRule: rule139 } - , CharBlock { start: 8025, length: 1, convRule: rule140 } - , CharBlock { start: 8027, length: 1, convRule: rule140 } - , CharBlock { start: 8029, length: 1, convRule: rule140 } - , CharBlock { start: 8031, length: 1, convRule: rule140 } - , CharBlock { start: 8032, length: 8, convRule: rule139 } - , CharBlock { start: 8040, length: 8, convRule: rule140 } - , CharBlock { start: 8048, length: 2, convRule: rule141 } - , CharBlock { start: 8050, length: 4, convRule: rule142 } - , CharBlock { start: 8054, length: 2, convRule: rule143 } - , CharBlock { start: 8056, length: 2, convRule: rule144 } - , CharBlock { start: 8058, length: 2, convRule: rule145 } - , CharBlock { start: 8060, length: 2, convRule: rule146 } - , CharBlock { start: 8064, length: 8, convRule: rule139 } - , CharBlock { start: 8072, length: 8, convRule: rule147 } - , CharBlock { start: 8080, length: 8, convRule: rule139 } - , CharBlock { start: 8088, length: 8, convRule: rule147 } - , CharBlock { start: 8096, length: 8, convRule: rule139 } - , CharBlock { start: 8104, length: 8, convRule: rule147 } - , CharBlock { start: 8112, length: 2, convRule: rule139 } - , CharBlock { start: 8115, length: 1, convRule: rule148 } - , CharBlock { start: 8120, length: 2, convRule: rule140 } - , CharBlock { start: 8122, length: 2, convRule: rule149 } - , CharBlock { start: 8124, length: 1, convRule: rule150 } - , CharBlock { start: 8126, length: 1, convRule: rule151 } - , CharBlock { start: 8131, length: 1, convRule: rule148 } - , CharBlock { start: 8136, length: 4, convRule: rule152 } - , CharBlock { start: 8140, length: 1, convRule: rule150 } - , CharBlock { start: 8144, length: 2, convRule: rule139 } - , CharBlock { start: 8152, length: 2, convRule: rule140 } - , CharBlock { start: 8154, length: 2, convRule: rule153 } - , CharBlock { start: 8160, length: 2, convRule: rule139 } - , CharBlock { start: 8165, length: 1, convRule: rule112 } - , CharBlock { start: 8168, length: 2, convRule: rule140 } - , CharBlock { start: 8170, length: 2, convRule: rule154 } - , CharBlock { start: 8172, length: 1, convRule: rule116 } - , CharBlock { start: 8179, length: 1, convRule: rule148 } - , CharBlock { start: 8184, length: 2, convRule: rule155 } - , CharBlock { start: 8186, length: 2, convRule: rule156 } - , CharBlock { start: 8188, length: 1, convRule: rule150 } - , CharBlock { start: 8486, length: 1, convRule: rule159 } - , CharBlock { start: 8490, length: 1, convRule: rule160 } - , CharBlock { start: 8491, length: 1, convRule: rule161 } - , CharBlock { start: 8498, length: 1, convRule: rule162 } - , CharBlock { start: 8526, length: 1, convRule: rule163 } - , CharBlock { start: 8544, length: 16, convRule: rule164 } - , CharBlock { start: 8560, length: 16, convRule: rule165 } + , CharBlock { start: 7936, length: 8, convRule: rule143 } + , CharBlock { start: 7944, length: 8, convRule: rule144 } + , CharBlock { start: 7952, length: 6, convRule: rule143 } + , CharBlock { start: 7960, length: 6, convRule: rule144 } + , CharBlock { start: 7968, length: 8, convRule: rule143 } + , CharBlock { start: 7976, length: 8, convRule: rule144 } + , CharBlock { start: 7984, length: 8, convRule: rule143 } + , CharBlock { start: 7992, length: 8, convRule: rule144 } + , CharBlock { start: 8000, length: 6, convRule: rule143 } + , CharBlock { start: 8008, length: 6, convRule: rule144 } + , CharBlock { start: 8017, length: 1, convRule: rule143 } + , CharBlock { start: 8019, length: 1, convRule: rule143 } + , CharBlock { start: 8021, length: 1, convRule: rule143 } + , CharBlock { start: 8023, length: 1, convRule: rule143 } + , CharBlock { start: 8025, length: 1, convRule: rule144 } + , CharBlock { start: 8027, length: 1, convRule: rule144 } + , CharBlock { start: 8029, length: 1, convRule: rule144 } + , CharBlock { start: 8031, length: 1, convRule: rule144 } + , CharBlock { start: 8032, length: 8, convRule: rule143 } + , CharBlock { start: 8040, length: 8, convRule: rule144 } + , CharBlock { start: 8048, length: 2, convRule: rule145 } + , CharBlock { start: 8050, length: 4, convRule: rule146 } + , CharBlock { start: 8054, length: 2, convRule: rule147 } + , CharBlock { start: 8056, length: 2, convRule: rule148 } + , CharBlock { start: 8058, length: 2, convRule: rule149 } + , CharBlock { start: 8060, length: 2, convRule: rule150 } + , CharBlock { start: 8064, length: 8, convRule: rule143 } + , CharBlock { start: 8072, length: 8, convRule: rule151 } + , CharBlock { start: 8080, length: 8, convRule: rule143 } + , CharBlock { start: 8088, length: 8, convRule: rule151 } + , CharBlock { start: 8096, length: 8, convRule: rule143 } + , CharBlock { start: 8104, length: 8, convRule: rule151 } + , CharBlock { start: 8112, length: 2, convRule: rule143 } + , CharBlock { start: 8115, length: 1, convRule: rule152 } + , CharBlock { start: 8120, length: 2, convRule: rule144 } + , CharBlock { start: 8122, length: 2, convRule: rule153 } + , CharBlock { start: 8124, length: 1, convRule: rule154 } + , CharBlock { start: 8126, length: 1, convRule: rule155 } + , CharBlock { start: 8131, length: 1, convRule: rule152 } + , CharBlock { start: 8136, length: 4, convRule: rule156 } + , CharBlock { start: 8140, length: 1, convRule: rule154 } + , CharBlock { start: 8144, length: 2, convRule: rule143 } + , CharBlock { start: 8152, length: 2, convRule: rule144 } + , CharBlock { start: 8154, length: 2, convRule: rule157 } + , CharBlock { start: 8160, length: 2, convRule: rule143 } + , CharBlock { start: 8165, length: 1, convRule: rule113 } + , CharBlock { start: 8168, length: 2, convRule: rule144 } + , CharBlock { start: 8170, length: 2, convRule: rule158 } + , CharBlock { start: 8172, length: 1, convRule: rule117 } + , CharBlock { start: 8179, length: 1, convRule: rule152 } + , CharBlock { start: 8184, length: 2, convRule: rule159 } + , CharBlock { start: 8186, length: 2, convRule: rule160 } + , CharBlock { start: 8188, length: 1, convRule: rule154 } + , CharBlock { start: 8486, length: 1, convRule: rule163 } + , CharBlock { start: 8490, length: 1, convRule: rule164 } + , CharBlock { start: 8491, length: 1, convRule: rule165 } + , CharBlock { start: 8498, length: 1, convRule: rule166 } + , CharBlock { start: 8526, length: 1, convRule: rule167 } + , CharBlock { start: 8544, length: 16, convRule: rule168 } + , CharBlock { start: 8560, length: 16, convRule: rule169 } , CharBlock { start: 8579, length: 1, convRule: rule22 } , CharBlock { start: 8580, length: 1, convRule: rule23 } - , CharBlock { start: 9398, length: 26, convRule: rule166 } - , CharBlock { start: 9424, length: 26, convRule: rule167 } - , CharBlock { start: 11264, length: 47, convRule: rule121 } - , CharBlock { start: 11312, length: 47, convRule: rule122 } + , CharBlock { start: 9398, length: 26, convRule: rule170 } + , CharBlock { start: 9424, length: 26, convRule: rule171 } + , CharBlock { start: 11264, length: 47, convRule: rule122 } + , CharBlock { start: 11312, length: 47, convRule: rule123 } , CharBlock { start: 11360, length: 1, convRule: rule22 } , CharBlock { start: 11361, length: 1, convRule: rule23 } - , CharBlock { start: 11362, length: 1, convRule: rule168 } - , CharBlock { start: 11363, length: 1, convRule: rule169 } - , CharBlock { start: 11364, length: 1, convRule: rule170 } - , CharBlock { start: 11365, length: 1, convRule: rule171 } - , CharBlock { start: 11366, length: 1, convRule: rule172 } + , CharBlock { start: 11362, length: 1, convRule: rule172 } + , CharBlock { start: 11363, length: 1, convRule: rule173 } + , CharBlock { start: 11364, length: 1, convRule: rule174 } + , CharBlock { start: 11365, length: 1, convRule: rule175 } + , CharBlock { start: 11366, length: 1, convRule: rule176 } , CharBlock { start: 11367, length: 1, convRule: rule22 } , CharBlock { start: 11368, length: 1, convRule: rule23 } , CharBlock { start: 11369, length: 1, convRule: rule22 } , CharBlock { start: 11370, length: 1, convRule: rule23 } , CharBlock { start: 11371, length: 1, convRule: rule22 } , CharBlock { start: 11372, length: 1, convRule: rule23 } - , CharBlock { start: 11373, length: 1, convRule: rule173 } - , CharBlock { start: 11374, length: 1, convRule: rule174 } - , CharBlock { start: 11375, length: 1, convRule: rule175 } - , CharBlock { start: 11376, length: 1, convRule: rule176 } + , CharBlock { start: 11373, length: 1, convRule: rule177 } + , CharBlock { start: 11374, length: 1, convRule: rule178 } + , CharBlock { start: 11375, length: 1, convRule: rule179 } + , CharBlock { start: 11376, length: 1, convRule: rule180 } , CharBlock { start: 11378, length: 1, convRule: rule22 } , CharBlock { start: 11379, length: 1, convRule: rule23 } , CharBlock { start: 11381, length: 1, convRule: rule22 } , CharBlock { start: 11382, length: 1, convRule: rule23 } - , CharBlock { start: 11390, length: 2, convRule: rule177 } + , CharBlock { start: 11390, length: 2, convRule: rule181 } , CharBlock { start: 11392, length: 1, convRule: rule22 } , CharBlock { start: 11393, length: 1, convRule: rule23 } , CharBlock { start: 11394, length: 1, convRule: rule22 } @@ -5133,9 +5315,9 @@ convchars = [ CharBlock { start: 65, length: 26, convRule: rule9 } , CharBlock { start: 11502, length: 1, convRule: rule23 } , CharBlock { start: 11506, length: 1, convRule: rule22 } , CharBlock { start: 11507, length: 1, convRule: rule23 } - , CharBlock { start: 11520, length: 38, convRule: rule178 } - , CharBlock { start: 11559, length: 1, convRule: rule178 } - , CharBlock { start: 11565, length: 1, convRule: rule178 } + , CharBlock { start: 11520, length: 38, convRule: rule182 } + , CharBlock { start: 11559, length: 1, convRule: rule182 } + , CharBlock { start: 11565, length: 1, convRule: rule182 } , CharBlock { start: 42560, length: 1, convRule: rule22 } , CharBlock { start: 42561, length: 1, convRule: rule23 } , CharBlock { start: 42562, length: 1, convRule: rule22 } @@ -5290,7 +5472,7 @@ convchars = [ CharBlock { start: 65, length: 26, convRule: rule9 } , CharBlock { start: 42874, length: 1, convRule: rule23 } , CharBlock { start: 42875, length: 1, convRule: rule22 } , CharBlock { start: 42876, length: 1, convRule: rule23 } - , CharBlock { start: 42877, length: 1, convRule: rule179 } + , CharBlock { start: 42877, length: 1, convRule: rule183 } , CharBlock { start: 42878, length: 1, convRule: rule22 } , CharBlock { start: 42879, length: 1, convRule: rule23 } , CharBlock { start: 42880, length: 1, convRule: rule22 } @@ -5303,11 +5485,12 @@ convchars = [ CharBlock { start: 65, length: 26, convRule: rule9 } , CharBlock { start: 42887, length: 1, convRule: rule23 } , CharBlock { start: 42891, length: 1, convRule: rule22 } , CharBlock { start: 42892, length: 1, convRule: rule23 } - , CharBlock { start: 42893, length: 1, convRule: rule180 } + , CharBlock { start: 42893, length: 1, convRule: rule184 } , CharBlock { start: 42896, length: 1, convRule: rule22 } , CharBlock { start: 42897, length: 1, convRule: rule23 } , CharBlock { start: 42898, length: 1, convRule: rule22 } , CharBlock { start: 42899, length: 1, convRule: rule23 } + , CharBlock { start: 42900, length: 1, convRule: rule185 } , CharBlock { start: 42902, length: 1, convRule: rule22 } , CharBlock { start: 42903, length: 1, convRule: rule23 } , CharBlock { start: 42904, length: 1, convRule: rule22 } @@ -5328,33 +5511,54 @@ convchars = [ CharBlock { start: 65, length: 26, convRule: rule9 } , CharBlock { start: 42919, length: 1, convRule: rule23 } , CharBlock { start: 42920, length: 1, convRule: rule22 } , CharBlock { start: 42921, length: 1, convRule: rule23 } - , CharBlock { start: 42922, length: 1, convRule: rule181 } - , CharBlock { start: 42923, length: 1, convRule: rule182 } - , CharBlock { start: 42924, length: 1, convRule: rule183 } - , CharBlock { start: 42925, length: 1, convRule: rule184 } - , CharBlock { start: 42926, length: 1, convRule: rule181 } - , CharBlock { start: 42928, length: 1, convRule: rule185 } - , CharBlock { start: 42929, length: 1, convRule: rule186 } - , CharBlock { start: 42930, length: 1, convRule: rule187 } - , CharBlock { start: 42931, length: 1, convRule: rule188 } + , CharBlock { start: 42922, length: 1, convRule: rule186 } + , CharBlock { start: 42923, length: 1, convRule: rule187 } + , CharBlock { start: 42924, length: 1, convRule: rule188 } + , CharBlock { start: 42925, length: 1, convRule: rule189 } + , CharBlock { start: 42926, length: 1, convRule: rule186 } + , CharBlock { start: 42928, length: 1, convRule: rule190 } + , CharBlock { start: 42929, length: 1, convRule: rule191 } + , CharBlock { start: 42930, length: 1, convRule: rule192 } + , CharBlock { start: 42931, length: 1, convRule: rule193 } , CharBlock { start: 42932, length: 1, convRule: rule22 } , CharBlock { start: 42933, length: 1, convRule: rule23 } , CharBlock { start: 42934, length: 1, convRule: rule22 } , CharBlock { start: 42935, length: 1, convRule: rule23 } - , CharBlock { start: 43859, length: 1, convRule: rule189 } - , CharBlock { start: 43888, length: 80, convRule: rule190 } + , CharBlock { start: 42936, length: 1, convRule: rule22 } + , CharBlock { start: 42937, length: 1, convRule: rule23 } + , CharBlock { start: 42938, length: 1, convRule: rule22 } + , CharBlock { start: 42939, length: 1, convRule: rule23 } + , CharBlock { start: 42940, length: 1, convRule: rule22 } + , CharBlock { start: 42941, length: 1, convRule: rule23 } + , CharBlock { start: 42942, length: 1, convRule: rule22 } + , CharBlock { start: 42943, length: 1, convRule: rule23 } + , CharBlock { start: 42946, length: 1, convRule: rule22 } + , CharBlock { start: 42947, length: 1, convRule: rule23 } + , CharBlock { start: 42948, length: 1, convRule: rule194 } + , CharBlock { start: 42949, length: 1, convRule: rule195 } + , CharBlock { start: 42950, length: 1, convRule: rule196 } + , CharBlock { start: 42951, length: 1, convRule: rule22 } + , CharBlock { start: 42952, length: 1, convRule: rule23 } + , CharBlock { start: 42953, length: 1, convRule: rule22 } + , CharBlock { start: 42954, length: 1, convRule: rule23 } + , CharBlock { start: 42997, length: 1, convRule: rule22 } + , CharBlock { start: 42998, length: 1, convRule: rule23 } + , CharBlock { start: 43859, length: 1, convRule: rule197 } + , CharBlock { start: 43888, length: 80, convRule: rule198 } , CharBlock { start: 65313, length: 26, convRule: rule9 } , CharBlock { start: 65345, length: 26, convRule: rule12 } - , CharBlock { start: 66560, length: 40, convRule: rule193 } - , CharBlock { start: 66600, length: 40, convRule: rule194 } - , CharBlock { start: 66736, length: 36, convRule: rule193 } - , CharBlock { start: 66776, length: 36, convRule: rule194 } - , CharBlock { start: 68736, length: 51, convRule: rule96 } - , CharBlock { start: 68800, length: 51, convRule: rule101 } + , CharBlock { start: 66560, length: 40, convRule: rule201 } + , CharBlock { start: 66600, length: 40, convRule: rule202 } + , CharBlock { start: 66736, length: 36, convRule: rule201 } + , CharBlock { start: 66776, length: 36, convRule: rule202 } + , CharBlock { start: 68736, length: 51, convRule: rule97 } + , CharBlock { start: 68800, length: 51, convRule: rule102 } , CharBlock { start: 71840, length: 32, convRule: rule9 } , CharBlock { start: 71872, length: 32, convRule: rule12 } - , CharBlock { start: 125184, length: 34, convRule: rule195 } - , CharBlock { start: 125218, length: 34, convRule: rule196 } + , CharBlock { start: 93760, length: 32, convRule: rule9 } + , CharBlock { start: 93792, length: 32, convRule: rule12 } + , CharBlock { start: 125184, length: 34, convRule: rule203 } + , CharBlock { start: 125218, length: 34, convRule: rule204 } ] spacechars :: Array CharBlock diff --git a/unicode-version b/unicode-version new file mode 100644 index 0000000..02161ca --- /dev/null +++ b/unicode-version @@ -0,0 +1 @@ +13.0.0 From ce982f2f55b5daf11dd3fc1024d98d37d2b6ebea Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Tue, 12 Jan 2021 19:03:46 -0600 Subject: [PATCH 12/32] Remove hash from packages.dhall --- packages.dhall | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.dhall b/packages.dhall index bd5280a..9c3ee6f 100644 --- a/packages.dhall +++ b/packages.dhall @@ -1,4 +1,4 @@ let upstream = - https://raw.githubusercontent.com/purescript/package-sets/prepare-0.14/src/packages.dhall sha256:af6c012eccebfc7447440e486d3ab8fbab02abaa003a540de62e204351d50a98 + https://raw.githubusercontent.com/purescript/package-sets/prepare-0.14/src/packages.dhall in upstream From bd173800f4bac8bfb44af4c0397e907962aad1b2 Mon Sep 17 00:00:00 2001 From: Thomas Honeyman Date: Tue, 12 Jan 2021 17:08:07 -0800 Subject: [PATCH 13/32] Update CI to use 0.14.0-rc5 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c842755..4f5f40c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: - name: Set up PureScript toolchain uses: purescript-contrib/setup-purescript@main with: - purescript: "0.14.0-rc3" + purescript: "0.14.0-rc5" - name: Cache PureScript dependencies uses: actions/cache@v2 From 19bd2e874400f758af76ffa3568e12c95d514aa7 Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Wed, 13 Jan 2021 15:08:11 -0600 Subject: [PATCH 14/32] Test toUpper(Full), toLower(Full) --- test/Test/Data/CodePoint/Unicode.purs | 64 +++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 3 deletions(-) diff --git a/test/Test/Data/CodePoint/Unicode.purs b/test/Test/Data/CodePoint/Unicode.purs index ca6fdbd..3f6d6b2 100644 --- a/test/Test/Data/CodePoint/Unicode.purs +++ b/test/Test/Data/CodePoint/Unicode.purs @@ -9,6 +9,7 @@ import Data.Enum (toEnumWithDefaults) import Data.Maybe (Maybe(..)) import Data.Monoid (power, guard) import Data.String (CodePoint, codePointFromChar) +import Data.String.Unicode (toLower, toLowerFull, toUpper, toUpperFull) import Effect.Class (class MonadEffect, liftEffect) import Effect.Console (log) import Test.Assert (assertEqual) @@ -344,11 +345,68 @@ isSymbolTests = describe "isSymbol" do it "'+' is Symbol" $ isSymbol (codePointFromChar '+') `shouldEqual` true --- TODO: These. toUpperTests :: forall m. MonadReader Int m => MonadEffect m => m Unit -toUpperTests = pure unit +toUpperTests = describe "toUpper && toUpperFull" do + let accente = "\xE9" + let accentE = "\xC9" + it "should handle precomposed e with accent \xE9 -> \xC9" do + toUpper accente `shouldEqual` accentE + toUpperFull accente `shouldEqual` accentE + it "should not affect emoji" do + let emoji = "😃🧘🏻‍♂️🌍🍞🚗📞🎉♥️🏁" + toUpper emoji `shouldEqual` emoji + toUpperFull emoji `shouldEqual` emoji + -- for testing rules that only apply to the full algorithm + let + justFull lower upper = do + toUpper lower `shouldEqual` lower + toUpperFull lower `shouldEqual` upper + it "should map eszett correctly (ß -> SS)" do + "ß" `justFull` "SS" + it "should map ligatures (ff, ffl) correctly" do + "ff" `justFull` "FF" + "ffl" `justFull` "FFL" + -- ARMENIAN SMALL LIGATURE MEN INI + "\xFB15" `justFull` "\x0544\x053B" + it "should handle precomposed characters without uppercase equivalents" do + -- LATIN SMALL LETTER J WITH CARON + "\x01F0" `justFull` "\x004A\x030C" + it "should handle Greek characters with iota subscript" do + -- GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA + "\x1F52" `justFull` "\x03A5\x0313\x0300" + -- GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI + toUpper "\x1F80" `shouldEqual` "\x1F88" + toUpperFull "\x1F80" `shouldEqual` "\x1F08\x0399" + it "should have no context sensitive matches" do + -- Lithuanian retains the dot in a lowercase i when followed by accents. + toUpperFull "i\x0307" `shouldEqual` "I\x0307" + -- When uppercasing, i turns into a dotted capital I + toUpperFull "i" `shouldEqual` "I" toLowerTests :: forall m. MonadReader Int m => MonadEffect m => m Unit -toLowerTests = pure unit +toLowerTests = describe "toLower" do + let accente = "\xE9" + let accentE = "\xC9" + it "should handle precomposed E with accent \xC9 -> \xE9" do + toLower accentE `shouldEqual` accente + toLowerFull accentE `shouldEqual` accente + it "should not affect emoji" do + let emoji = "😃🧘🏻‍♂️🌍🍞🚗📞🎉♥️🏁" + toLower emoji `shouldEqual` emoji + toLowerFull emoji `shouldEqual` emoji + let dot = "\x0307" + let dotI = "\x0130" -- composed + it "should handle precomposed and decomposed I with dot" do + toLower ("I"<>dot) `shouldEqual` ("i"<>dot) -- decomposed + toLowerFull ("I"<>dot) `shouldEqual` ("i"<>dot) -- decomposed + toLower dotI `shouldEqual` "i" -- composed -> ASCII i + toLowerFull dotI `shouldEqual` ("i"<>dot) -- composed -> decomposed + it "should handle Greek characters with iota subscript" do + -- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI + toLower "\x1F88" `shouldEqual` "\x1F80" + toLowerFull "\x1F88" `shouldEqual` "\x1F80" + it "should have no context sensitive matches" do + -- GREEK CAPITAL LETTER SIGMA + toLowerFull "\x03A3" `shouldEqual` "\x03C3" toTitleTests :: forall m. MonadReader Int m => MonadEffect m => m Unit toTitleTests = pure unit From fa501316fd7d5d2d0e894c17383b9cac78da37ea Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Wed, 13 Jan 2021 15:35:17 -0600 Subject: [PATCH 15/32] Use -Simple suffix instead of -Full With the understanding that users should prefer the full variants. Also add docs to the String versions and add case folding. --- src/Data/CodePoint/Unicode.purs | 79 +++++++++++++++++---------- src/Data/String/Unicode.purs | 77 +++++++++++++++++++------- test/Test/Data/CodePoint/Unicode.purs | 34 ++++++------ 3 files changed, 125 insertions(+), 65 deletions(-) diff --git a/src/Data/CodePoint/Unicode.purs b/src/Data/CodePoint/Unicode.purs index 6d4a0ad..e350738 100644 --- a/src/Data/CodePoint/Unicode.purs +++ b/src/Data/CodePoint/Unicode.purs @@ -3,27 +3,13 @@ module Data.CodePoint.Unicode where import Prelude import Data.Char (toCharCode) -import Data.String.CodePoints (CodePoint, codePointFromChar) +import Data.CodePoint.Unicode.Casing as Casing +import Data.CodePoint.Unicode.Internal (UnicodeCategory(..), uTowtitle, uTowlower, uTowupper, uIswalnum, uIswalpha, uIswlower, uIswupper, uIswspace, uIswprint, uIswcntrl, uGencat) import Data.Enum (fromEnum) -import Data.CodePoint.Unicode.Internal ( UnicodeCategory(..) - , uTowtitle - , uTowlower - , uTowupper - , uIswalnum - , uIswalpha - , uIswlower - , uIswupper - , uIswspace - , uIswprint - , uIswcntrl - , uGencat - ) import Data.Maybe (Maybe(..)) -import Unsafe.Coerce (unsafeCoerce) +import Data.String.CodePoints (CodePoint, codePointFromChar) import Prim.TypeError (class Warn, Text) - -modify :: (Int -> Int) -> (CodePoint -> CodePoint) -modify = unsafeCoerce +import Unsafe.Coerce (unsafeCoerce) -- | Unicode General Categories (column 2 of the UnicodeData table) in -- | the order they are listed in the Unicode standard (the Unicode @@ -485,22 +471,50 @@ isSymbol c = Just OtherSymbol -> true _ -> false --- | Convert a letter to the corresponding upper-case letter, if any. +-- | Convert a code point to the corresponding upper-case sequence of code points. +-- | Any other character is returned unchanged. +toUpper :: CodePoint -> Array CodePoint +toUpper = modifyFull Casing.upper + +-- | Convert a code point to the corresponding lower-case sequence of code points. +-- | Any other character is returned unchanged. +toLower :: CodePoint -> Array CodePoint +toLower = modifyFull Casing.lower + +-- | Convert a code point to the corresponding title-case or upper-case +-- | sequence of code points. (Title case differs from upper case only for a +-- | small number of ligature characters.) -- | Any other character is returned unchanged. -toUpper :: CodePoint -> CodePoint -toUpper = modify uTowupper +toTitle :: CodePoint -> Array CodePoint +toTitle = modifyFull Casing.title --- | Convert a letter to the corresponding lower-case letter, if any. +-- | Convert a code point to the corresponding case-folded sequence of code +-- | points, for implementing caseless matching. -- | Any other character is returned unchanged. -toLower :: CodePoint -> CodePoint -toLower = modify uTowlower +caseFold :: CodePoint -> Array CodePoint +caseFold = modifyFull Casing.foldFull --- | Convert a letter to the corresponding title-case or upper-case --- | letter, if any. (Title case differs from upper case only for a small --- | number of ligature letters.) +-- | Convert a code point to the corresponding upper-case code point, if any. -- | Any other character is returned unchanged. -toTitle :: CodePoint -> CodePoint -toTitle = modify uTowtitle +toUpperSimple :: CodePoint -> CodePoint +toUpperSimple = modify uTowupper + +-- | Convert a code point to the corresponding lower-case code point, if any. +-- | Any other character is returned unchanged. +toLowerSimple :: CodePoint -> CodePoint +toLowerSimple = modify uTowlower + +-- | Convert a code point to the corresponding title-case or upper-case +-- | code point, if any. (Title case differs from upper case only for a small +-- | number of ligature characters.) +-- | Any other character is returned unchanged. +toTitleSimple :: CodePoint -> CodePoint +toTitleSimple = modify uTowtitle + +-- | Convert a code point to the corresponding case-folded code point. +-- | Any other character is returned unchanged. +caseFoldSimple :: CodePoint -> CodePoint +caseFoldSimple = modify Casing.fold -- | We define this via the FFI because we want to avoid the -- | dictionary overhead of going via Enum, and because we're certain @@ -786,3 +800,10 @@ isSeparator c = Just LineSeparator -> true Just ParagraphSeparator -> true _ -> false + +-- Helper functions +modify :: (Int -> Int) -> (CodePoint -> CodePoint) +modify = unsafeCoerce + +modifyFull :: (Int -> Array Int) -> (CodePoint -> Array CodePoint) +modifyFull = unsafeCoerce diff --git a/src/Data/String/Unicode.purs b/src/Data/String/Unicode.purs index 629dadd..ed7472a 100644 --- a/src/Data/String/Unicode.purs +++ b/src/Data/String/Unicode.purs @@ -4,34 +4,59 @@ import Prelude import Control.Bind (bindFlipped) import Data.CodePoint.Unicode as CP -import Data.CodePoint.Unicode.Casing as Casing import Data.String (CodePoint, fromCodePointArray, toCodePointArray) import Unsafe.Coerce (unsafeCoerce) -modifyFull :: (Int -> Array Int) -> (CodePoint -> Array CodePoint) -modifyFull = unsafeCoerce +-- Full Unicode conversions -conv :: (CodePoint -> CodePoint) -> String -> String -conv f = toCodePointArray >>> map f >>> fromCodePointArray +-- | Convert each code point in the string to its corresponding uppercase +-- | sequence. This is the full (locale-independent) Unicode algorithm, +-- | and may map single code points to more than one code point. For example, +-- | `toUpper "ß" == "SS"`. +-- | +-- | Because this matches on more rules, it may be slower than `toUpper`, but it +-- | provides more correct results. +toUpper :: String -> String +toUpper = convFull CP.toUpper -convFull :: (CodePoint -> Array CodePoint) -> String -> String -convFull f = toCodePointArray >>> bindFlipped f >>> fromCodePointArray +-- | Convert each code point in the string to its corresponding lower +-- | sequence. This is the full (locale-independent) Unicode algorithm, +-- | and may map single code points to more than one code point. For example, +-- | `toLower "\x0130" == "\x0069\x0307"`. +-- | +-- | Because this matches on more rules, it may be slower than `toLower`, but it +-- | provides more correct results. +toLower :: String -> String +toLower = convFull CP.toLower --- | Convert a letter to the corresponding upper-case letter, if any. --- | Any other character is returned unchanged. -toUpper :: String -> String -toUpper = conv CP.toUpper +-- | The full Unicode case folding algorithm, may increase the length of the +-- | string by mapping individual code points to longer sequences. +caseFold :: String -> String +caseFold = convFull CP.caseFold -toUpperFull :: String -> String -toUpperFull = convFull (modifyFull Casing.upper) +-- | Caseless matching, based on `caseFold`. +caselessMatch :: String -> String -> Boolean +caselessMatch s1 s2 = caseFold s1 == caseFold s2 --- | Convert a letter to the corresponding lower-case letter, if any. --- | Any other character is returned unchanged. -toLower :: String -> String -toLower = conv CP.toLower +-- Simple code-point-to-code-point conversion algorithms + +-- | Convert each code point in the string to its corresponding uppercase +-- | code point. +-- | +-- | Note: this is not the full Unicode algorithm, see `toUpper`. +toUpperSimple :: String -> String +toUpperSimple = conv CP.toUpperSimple -toLowerFull :: String -> String -toLowerFull = convFull (modifyFull Casing.lower) +-- | Convert each code point in the string to its corresponding lowercase +-- | code point. +-- | +-- | Note: this is not the full Unicode algorithm, see `toLower`. +toLowerSimple :: String -> String +toLowerSimple = conv CP.toLowerSimple + +-- | Code-point-to-code-point case folding. May be faster than `caseFold`. +caseFoldSimple :: String -> String +caseFoldSimple = conv CP.caseFoldSimple -- | Convert a letter to the corresponding title-case or upper-case -- | letter, if any. (Title case differs from upper case only for a small @@ -39,3 +64,17 @@ toLowerFull = convFull (modifyFull Casing.lower) -- | Any other character is returned unchanged. --toTitle :: CodePoint -> CodePoint --toTitle = conv CP.toTitle + +-- Helper functions + +modify :: (Int -> Int) -> (CodePoint -> CodePoint) +modify = unsafeCoerce + +modifyFull :: (Int -> Array Int) -> (CodePoint -> Array CodePoint) +modifyFull = unsafeCoerce + +conv :: (CodePoint -> CodePoint) -> String -> String +conv f = toCodePointArray >>> map f >>> fromCodePointArray + +convFull :: (CodePoint -> Array CodePoint) -> String -> String +convFull f = toCodePointArray >>> bindFlipped f >>> fromCodePointArray diff --git a/test/Test/Data/CodePoint/Unicode.purs b/test/Test/Data/CodePoint/Unicode.purs index 3f6d6b2..de567d1 100644 --- a/test/Test/Data/CodePoint/Unicode.purs +++ b/test/Test/Data/CodePoint/Unicode.purs @@ -9,7 +9,7 @@ import Data.Enum (toEnumWithDefaults) import Data.Maybe (Maybe(..)) import Data.Monoid (power, guard) import Data.String (CodePoint, codePointFromChar) -import Data.String.Unicode (toLower, toLowerFull, toUpper, toUpperFull) +import Data.String.Unicode (toLowerSimple, toLower, toUpperSimple, toUpper) import Effect.Class (class MonadEffect, liftEffect) import Effect.Console (log) import Test.Assert (assertEqual) @@ -346,21 +346,21 @@ isSymbolTests = describe "isSymbol" do isSymbol (codePointFromChar '+') `shouldEqual` true toUpperTests :: forall m. MonadReader Int m => MonadEffect m => m Unit -toUpperTests = describe "toUpper && toUpperFull" do +toUpperTests = describe "toUpperSimple && toUpper" do let accente = "\xE9" let accentE = "\xC9" it "should handle precomposed e with accent \xE9 -> \xC9" do + toUpperSimple accente `shouldEqual` accentE toUpper accente `shouldEqual` accentE - toUpperFull accente `shouldEqual` accentE it "should not affect emoji" do let emoji = "😃🧘🏻‍♂️🌍🍞🚗📞🎉♥️🏁" + toUpperSimple emoji `shouldEqual` emoji toUpper emoji `shouldEqual` emoji - toUpperFull emoji `shouldEqual` emoji -- for testing rules that only apply to the full algorithm let justFull lower upper = do - toUpper lower `shouldEqual` lower - toUpperFull lower `shouldEqual` upper + toUpperSimple lower `shouldEqual` lower + toUpper lower `shouldEqual` upper it "should map eszett correctly (ß -> SS)" do "ß" `justFull` "SS" it "should map ligatures (ff, ffl) correctly" do @@ -375,38 +375,38 @@ toUpperTests = describe "toUpper && toUpperFull" do -- GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA "\x1F52" `justFull` "\x03A5\x0313\x0300" -- GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI - toUpper "\x1F80" `shouldEqual` "\x1F88" - toUpperFull "\x1F80" `shouldEqual` "\x1F08\x0399" + toUpperSimple "\x1F80" `shouldEqual` "\x1F88" + toUpper "\x1F80" `shouldEqual` "\x1F08\x0399" it "should have no context sensitive matches" do -- Lithuanian retains the dot in a lowercase i when followed by accents. - toUpperFull "i\x0307" `shouldEqual` "I\x0307" + toUpper "i\x0307" `shouldEqual` "I\x0307" -- When uppercasing, i turns into a dotted capital I - toUpperFull "i" `shouldEqual` "I" + toUpper "i" `shouldEqual` "I" toLowerTests :: forall m. MonadReader Int m => MonadEffect m => m Unit toLowerTests = describe "toLower" do let accente = "\xE9" let accentE = "\xC9" it "should handle precomposed E with accent \xC9 -> \xE9" do + toLowerSimple accentE `shouldEqual` accente toLower accentE `shouldEqual` accente - toLowerFull accentE `shouldEqual` accente it "should not affect emoji" do let emoji = "😃🧘🏻‍♂️🌍🍞🚗📞🎉♥️🏁" + toLowerSimple emoji `shouldEqual` emoji toLower emoji `shouldEqual` emoji - toLowerFull emoji `shouldEqual` emoji let dot = "\x0307" let dotI = "\x0130" -- composed it "should handle precomposed and decomposed I with dot" do + toLowerSimple ("I"<>dot) `shouldEqual` ("i"<>dot) -- decomposed toLower ("I"<>dot) `shouldEqual` ("i"<>dot) -- decomposed - toLowerFull ("I"<>dot) `shouldEqual` ("i"<>dot) -- decomposed - toLower dotI `shouldEqual` "i" -- composed -> ASCII i - toLowerFull dotI `shouldEqual` ("i"<>dot) -- composed -> decomposed + toLowerSimple dotI `shouldEqual` "i" -- composed -> ASCII i + toLower dotI `shouldEqual` ("i"<>dot) -- composed -> decomposed it "should handle Greek characters with iota subscript" do -- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI + toLowerSimple "\x1F88" `shouldEqual` "\x1F80" toLower "\x1F88" `shouldEqual` "\x1F80" - toLowerFull "\x1F88" `shouldEqual` "\x1F80" it "should have no context sensitive matches" do -- GREEK CAPITAL LETTER SIGMA - toLowerFull "\x03A3" `shouldEqual` "\x03C3" + toLower "\x03A3" `shouldEqual` "\x03C3" toTitleTests :: forall m. MonadReader Int m => MonadEffect m => m Unit toTitleTests = pure unit From bff2cced34808a94c644c6e06a3a5755741b5b1f Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Wed, 13 Jan 2021 15:57:00 -0600 Subject: [PATCH 16/32] Fix examples in docs --- src/Data/CodePoint/Unicode.purs | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/src/Data/CodePoint/Unicode.purs b/src/Data/CodePoint/Unicode.purs index e350738..5462325 100644 --- a/src/Data/CodePoint/Unicode.purs +++ b/src/Data/CodePoint/Unicode.purs @@ -28,9 +28,9 @@ import Unsafe.Coerce (unsafeCoerce) -- | -- | ``` -- | >>> UppercaseLetter == UppercaseLetter --- | True +-- | true -- | >>> UppercaseLetter == LowercaseLetter --- | False +-- | false -- | ``` -- | -- | `Ord` instance: @@ -317,7 +317,7 @@ isControl = uIswcntrl <<< fromEnum isPrint :: CodePoint -> Boolean isPrint = uIswprint <<< fromEnum --- | Returns `True` for any Unicode space character, and the control +-- | Returns `true` for any Unicode space character, and the control -- | characters `\t`, `\n`, `\r`, `\f`, `\v`. -- | -- | `isSpace` includes non-breaking space. @@ -528,16 +528,16 @@ foreign import withCharCode :: (Int -> Int) -> Char -> Char -- | ``` -- | >>> import Data.Traversable -- | --- | >>> traverse hexDigitToInt ['0','1','2','3','4','5','6','7','8','9'] +-- | >>> traverse (hexDigitToInt <<< codePointFromChar) ['0','1','2','3','4','5','6','7','8','9'] -- | (Just [0,1,2,3,4,5,6,7,8,9]) -- | --- | >>> traverse hexDigitToInt ['a','b','c','d','e','f'] +-- | >>> traverse (hexDigitToInt <<< codePointFromChar) ['a','b','c','d','e','f'] -- | (Just [10,11,12,13,14,15]) -- | --- | >>> traverse hexDigitToInt ['A','B','C','D','E','F'] +-- | >>> traverse (hexDigitToInt <<< codePointFromChar) ['A','B','C','D','E','F'] -- | (Just [10,11,12,13,14,15]) -- | --- | >>> hexDigitToInt 'G' +-- | >>> hexDigitToInt (codePointFromChar 'G') -- | Nothing -- | ``` hexDigitToInt :: CodePoint -> Maybe Int @@ -598,11 +598,10 @@ digitToInt = hexDigitToInt -- | Selects alphabetic Unicode characters (lower-case, upper-case and -- | title-case letters, plus letters of caseless scripts and --- | modifiers letters). This function is equivalent to --- | `Data.Char.isAlpha`. +-- | modifiers letters). -- | --- | This function returns `True` if its argument has one of the --- | following `GeneralCategory`s, or `False` otherwise: +-- | This function returns `true` if its argument has one of the +-- | following `GeneralCategory`s, or `false` otherwise: -- | -- | - `UppercaseLetter` -- | - `LowercaseLetter` @@ -630,18 +629,18 @@ digitToInt = hexDigitToInt -- | false -- | >>> isLetter (codePointFromChar '♥') -- | false --- | >>> isLetter (codePointFromChar '\31') +-- | >>> isLetter (codePointFromChar '\x1F') -- | false -- | ``` -- | -- | Ensure that 'isLetter' and 'isAlpha' are equivalent. -- | -- | ``` --- | >>> chars = enumFromTo bottom top +-- | >>> chars = enumFromTo bottom top :: Array CodePoint -- | >>> letters = map isLetter chars -- | >>> alphas = map isAlpha chars -- | >>> letters == alphas --- | True +-- | true -- | ``` isLetter :: CodePoint -> Boolean isLetter c = @@ -732,7 +731,7 @@ isMark c = -- | ASCII @\'0\'@ through @\'9\'@ are all numbers: -- | -- | ``` --- | >>> and $ map (isNumber <<< codePointFromChar) ['0'..'9'] +-- | >>> and $ map (isNumber <<< codePointFromChar) (enumFromTo '0' '9' :: Array Char) -- | true -- | ``` -- | @@ -775,6 +774,8 @@ isNumber c = -- | false -- | >>> isSeparator (codePointFromChar ' ') -- | true +-- | >>> isSeparator (codePointFromChar '-') +-- | false -- | ``` -- | -- | Warning: newlines and tab characters are not considered @@ -790,7 +791,7 @@ isNumber c = -- | But some more exotic characters are (like HTML's @ @): -- | -- | ``` --- | >>> isSeparator (codePointFromChar '\160') +-- | >>> isSeparator (codePointFromChar '\xA0') -- | true -- | ``` isSeparator :: CodePoint -> Boolean From 04a139b5593231a55c463bf5c0e7e8ed12ecb3fb Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Wed, 13 Jan 2021 21:04:32 -0600 Subject: [PATCH 17/32] Explicit export lists, remove FFI --- src/Data/CodePoint/Unicode.js | 7 ----- src/Data/CodePoint/Unicode.purs | 53 ++++++++++++++++++++++++++++----- src/Data/String/Unicode.purs | 10 ++++++- 3 files changed, 55 insertions(+), 15 deletions(-) delete mode 100644 src/Data/CodePoint/Unicode.js diff --git a/src/Data/CodePoint/Unicode.js b/src/Data/CodePoint/Unicode.js deleted file mode 100644 index 84c9e7b..0000000 --- a/src/Data/CodePoint/Unicode.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; - -exports.withCharCode = function(f) { - return function (c) { - return String.fromCharCode(f(c.charCodeAt())); - }; -}; diff --git a/src/Data/CodePoint/Unicode.purs b/src/Data/CodePoint/Unicode.purs index 5462325..0f16d4a 100644 --- a/src/Data/CodePoint/Unicode.purs +++ b/src/Data/CodePoint/Unicode.purs @@ -1,4 +1,49 @@ -module Data.CodePoint.Unicode where +module Data.CodePoint.Unicode + ( -- Predicates + isAscii + , isAsciiLower + , isAsciiUpper + , isLatin1 + , isLower + , isUpper + , isAlpha + , isAlphaNum + , isLetter + , isDigit + , isDecDigit + , isOctDigit + , isHexDigit + , isControl + , isPrint + , isSpace + , isSymbol + , isSeparator + , isPunctuation + , isMark + , isNumber + + , digitToInt + , hexDigitToInt + , decDigitToInt + , octDigitToInt + + -- Case conversion + , toLower + , toUpper + , toTitle + , caseFold + , toLowerSimple + , toUpperSimple + , toTitleSimple + , caseFoldSimple + + -- Unicode General Categories + , GeneralCategory(..) + , unicodeCatToGeneralCat + , generalCatToInt + , generalCatToUnicodeCat + , generalCategory + ) where import Prelude @@ -516,12 +561,6 @@ toTitleSimple = modify uTowtitle caseFoldSimple :: CodePoint -> CodePoint caseFoldSimple = modify Casing.fold --- | We define this via the FFI because we want to avoid the --- | dictionary overhead of going via Enum, and because we're certain --- | that the Unicode table we used to generate these conversions --- | doesn't generate char codes outside the valid range. -foreign import withCharCode :: (Int -> Int) -> Char -> Char - -- | Convert a single digit `Char` to the corresponding `Just Int` if its argument -- | satisfies `isHexDigit` (one of `0..9, A..F, a..f`). Anything else converts to `Nothing` -- | diff --git a/src/Data/String/Unicode.purs b/src/Data/String/Unicode.purs index ed7472a..6a056da 100644 --- a/src/Data/String/Unicode.purs +++ b/src/Data/String/Unicode.purs @@ -1,4 +1,12 @@ -module Data.String.Unicode where +module Data.String.Unicode + ( toUpper + , toLower + , caseFold + , caselessMatch + , toUpperSimple + , toLowerSimple + , caseFoldSimple + ) where import Prelude From a4fb7ac0d3ef83e1646f50f33f1699945d30d08b Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Wed, 13 Jan 2021 22:12:47 -0600 Subject: [PATCH 18/32] Fix CI --- .eslintrc.json | 29 ----------------------------- .github/workflows/ci.yml | 28 +++++----------------------- package.json | 10 ---------- 3 files changed, 5 insertions(+), 62 deletions(-) delete mode 100644 .eslintrc.json delete mode 100644 package.json diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 17f167d..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "env": { "browser": true, "commonjs": true }, - "extends": "eslint:recommended", - "parserOptions": { "ecmaVersion": 5 }, - "rules": { - "block-scoped-var": "error", - "consistent-return": "error", - "eqeqeq": "error", - "guard-for-in": "error", - "no-bitwise": "error", - "no-caller": "error", - "no-extra-parens": "off", - "no-extend-native": "error", - "no-loop-func": "error", - "no-new": "error", - "no-param-reassign": "error", - "no-return-assign": "error", - "no-sequences": "error", - "no-unused-expressions": "error", - "no-use-before-define": "error", - "no-undef": "error", - "no-eq-null": "error", - "radix": ["error", "always"], - "indent": ["error", 2, { "SwitchCase": 1 }], - "quotes": ["error", "double"], - "semi": ["error", "always"], - "strict": ["error", "global"] - } -} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4f5f40c..911bd6e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,29 +25,11 @@ jobs: path: | .spago output + - name: Install dependencies + run: spago install - - name: Set up Node toolchain - uses: actions/setup-node@v1 - with: - node-version: "12.x" - - - name: Cache NPM dependencies - uses: actions/cache@v2 - env: - cache-name: cache-node-modules - with: - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - - name: Install NPM dependencies - run: npm install - - - name: Build the project - run: npm run build + - name: Build source + run: spago build --no-install --purs-args '--censor-lib --strict' - name: Run tests - run: npm run test + run: spago test --no-install diff --git a/package.json b/package.json deleted file mode 100644 index ad3ecca..0000000 --- a/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "private": true, - "scripts": { - "build": "eslint src && spago build --purs-args '--censor-lib --strict'", - "test": "spago test --no-install" - }, - "devDependencies": { - "eslint": "^7.6.0" - } -} From 2dcb0d1d572d46142e44df4fe234a661c5286383 Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Wed, 13 Jan 2021 22:41:05 -0600 Subject: [PATCH 19/32] Update changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2fc10d..f7a2105 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,10 +5,15 @@ Notable changes to this project are documented in this file. The format is based ## [Unreleased] Breaking changes (😱!!!): +- Main module renamed to `Data.CodePoint.Unicode`, functions now operate on `CodePoint`s, no longer `Char`s (#15 by @MonoidMusician) +- Simple case conversions renamed `toUpper` -> `toUpperSimple`, etc. (#15 by @MonoidMusician) - Deprecation warnings for `isDigit` and `digitToInt` (#31 by @milesfrain) New features: - Added `hexDigitToInt` `decDigitToInt` `octDigitToInt` (#31 by @milesfrain) +- New `toUpper`, `toLower`, `toTitle` based on full Unicode replacements, which may return more than one code point (#15 by @MonoidMusician) +- Added `caseFold` and `caseFoldSimple` (#15 by @MonoidMusician) +- New module `Data.String.Unicode` for case-conversion operating on strings (derived from the code point functions) (#15 by @MonoidMusician) Bugfixes: From 9c9fca36e04dce51c71a1e093461f3480a50da21 Mon Sep 17 00:00:00 2001 From: Thomas Honeyman Date: Sun, 24 Jan 2021 15:48:30 -0800 Subject: [PATCH 20/32] Update .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index cf10741..a81436c 100644 --- a/.gitignore +++ b/.gitignore @@ -8,9 +8,10 @@ output generated-docs bower_components -UnicodeData\.txt +UnicodeData.txt CaseFolding.txt SpecialCasing.txt + node_modules package-lock.json *.lock From 40f0ff8ce1e2086199bb9669c1fec066127a24e5 Mon Sep 17 00:00:00 2001 From: Nick Scheel <11701520+MonoidMusician@users.noreply.github.com> Date: Mon, 25 Jan 2021 12:51:40 -0500 Subject: [PATCH 21/32] Apply suggestions from code review Co-authored-by: Thomas Honeyman --- .github/workflows/ci.yml | 1 + src/Data/CodePoint/Unicode.purs | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 911bd6e..0ede01f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,6 +25,7 @@ jobs: path: | .spago output + - name: Install dependencies run: spago install diff --git a/src/Data/CodePoint/Unicode.purs b/src/Data/CodePoint/Unicode.purs index 0f16d4a..bf7bf1c 100644 --- a/src/Data/CodePoint/Unicode.purs +++ b/src/Data/CodePoint/Unicode.purs @@ -9,7 +9,7 @@ module Data.CodePoint.Unicode , isAlpha , isAlphaNum , isLetter - , isDigit + , isDigit -- Deprecated , isDecDigit , isOctDigit , isHexDigit @@ -22,7 +22,7 @@ module Data.CodePoint.Unicode , isMark , isNumber - , digitToInt + , digitToInt -- Deprecated , hexDigitToInt , decDigitToInt , octDigitToInt From dbf5853566e89441cef2e2473174d88c0435a9a8 Mon Sep 17 00:00:00 2001 From: Nick Scheel <11701520+MonoidMusician@users.noreply.github.com> Date: Mon, 25 Jan 2021 13:04:49 -0500 Subject: [PATCH 22/32] conv -> convert Co-authored-by: Thomas Honeyman --- src/Data/String/Unicode.purs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Data/String/Unicode.purs b/src/Data/String/Unicode.purs index 6a056da..d3d39a5 100644 --- a/src/Data/String/Unicode.purs +++ b/src/Data/String/Unicode.purs @@ -81,8 +81,8 @@ modify = unsafeCoerce modifyFull :: (Int -> Array Int) -> (CodePoint -> Array CodePoint) modifyFull = unsafeCoerce -conv :: (CodePoint -> CodePoint) -> String -> String -conv f = toCodePointArray >>> map f >>> fromCodePointArray +convert :: (CodePoint -> CodePoint) -> String -> String +convert f = toCodePointArray >>> map f >>> fromCodePointArray -convFull :: (CodePoint -> Array CodePoint) -> String -> String -convFull f = toCodePointArray >>> bindFlipped f >>> fromCodePointArray +convertFull :: (CodePoint -> Array CodePoint) -> String -> String +convertFull f = toCodePointArray >>> bindFlipped f >>> fromCodePointArray From 3975999a3a6ad4c6229777c3d927c489f18097cf Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Mon, 25 Jan 2021 12:59:22 -0500 Subject: [PATCH 23/32] Move Casing to Internal module And update documentation for generating internal modules --- docs/README.md | 11 +++++++---- fullcase.js | 4 ++-- src/Data/CodePoint/Unicode.purs | 2 +- src/Data/CodePoint/Unicode/{ => Internal}/Casing.purs | 2 +- 4 files changed, 11 insertions(+), 8 deletions(-) rename src/Data/CodePoint/Unicode/{ => Internal}/Casing.purs (99%) diff --git a/docs/README.md b/docs/README.md index e771732..f2bc1ef 100644 --- a/docs/README.md +++ b/docs/README.md @@ -4,9 +4,12 @@ This directory contains documentation for `unicode`. If you are interested in co ## Generating Internal Modules -The [Data.Char.Unicode.Internal](../src/Data/Char/Unicode/Internal.purs) module can be generated with the following command: +The [Data.CodePoint.Unicode.Internal](../src/Data/CodePoint/Unicode/Internal.purs) and [Data.CodePoint.Unicode.Internal.Casing](../src/Data/CodePoint/Unicode/Internal/Casing.purs) modules can be generated with the following command from the root of this repository: ```sh -$ wget 'http://www.unicode.org/Public/6.0.0/ucd/UnicodeData.txt' -$ ./ubconfc < UnicodeData.txt > src/Data/Char/Unicode/Internal.purs -``` \ No newline at end of file +$ ./download.sh +$ ./ubconfc < UnicodeData.txt > src/Data/CodePoint/Unicode/Internal.purs +$ ./fullcase.js +``` + +(Note that this downloads data according to the version stored in the [`unicode-version`](../unicode-version) file in the root.) diff --git a/fullcase.js b/fullcase.js index 59cf901..32e0feb 100755 --- a/fullcase.js +++ b/fullcase.js @@ -54,7 +54,7 @@ const lines = keys.map(code => data[code]).map(d => `{ code: ${d.code}, lower: ${d.lower}, title: ${d.title}, upper: ${d.upper}, fold: ${d.fold}, foldFull: ${d.foldFull} }` ); -const file = `module Data.CodePoint.Unicode.Casing where +const file = `module Data.CodePoint.Unicode.Internal.Casing where import Prelude @@ -114,4 +114,4 @@ upper code = in if Array.null uppered then [uTowupper code] else uppered `; -fs.writeFileSync("src/Data/CodePoint/Unicode/Casing.purs", file); +fs.writeFileSync("src/Data/CodePoint/Unicode/Internal/Casing.purs", file); diff --git a/src/Data/CodePoint/Unicode.purs b/src/Data/CodePoint/Unicode.purs index bf7bf1c..af238c7 100644 --- a/src/Data/CodePoint/Unicode.purs +++ b/src/Data/CodePoint/Unicode.purs @@ -48,7 +48,7 @@ module Data.CodePoint.Unicode import Prelude import Data.Char (toCharCode) -import Data.CodePoint.Unicode.Casing as Casing +import Data.CodePoint.Unicode.Internal.Casing as Casing import Data.CodePoint.Unicode.Internal (UnicodeCategory(..), uTowtitle, uTowlower, uTowupper, uIswalnum, uIswalpha, uIswlower, uIswupper, uIswspace, uIswprint, uIswcntrl, uGencat) import Data.Enum (fromEnum) import Data.Maybe (Maybe(..)) diff --git a/src/Data/CodePoint/Unicode/Casing.purs b/src/Data/CodePoint/Unicode/Internal/Casing.purs similarity index 99% rename from src/Data/CodePoint/Unicode/Casing.purs rename to src/Data/CodePoint/Unicode/Internal/Casing.purs index e1ec42f..020550e 100644 --- a/src/Data/CodePoint/Unicode/Casing.purs +++ b/src/Data/CodePoint/Unicode/Internal/Casing.purs @@ -1,4 +1,4 @@ -module Data.CodePoint.Unicode.Casing where +module Data.CodePoint.Unicode.Internal.Casing where import Prelude From 38869373fd5f4e655fbe406c64372cb27bb765b4 Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Mon, 25 Jan 2021 13:07:47 -0500 Subject: [PATCH 24/32] Address more review suggestions --- src/Data/String/Unicode.purs | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/src/Data/String/Unicode.purs b/src/Data/String/Unicode.purs index d3d39a5..e5904c8 100644 --- a/src/Data/String/Unicode.purs +++ b/src/Data/String/Unicode.purs @@ -13,7 +13,6 @@ import Prelude import Control.Bind (bindFlipped) import Data.CodePoint.Unicode as CP import Data.String (CodePoint, fromCodePointArray, toCodePointArray) -import Unsafe.Coerce (unsafeCoerce) -- Full Unicode conversions @@ -22,8 +21,8 @@ import Unsafe.Coerce (unsafeCoerce) -- | and may map single code points to more than one code point. For example, -- | `toUpper "ß" == "SS"`. -- | --- | Because this matches on more rules, it may be slower than `toUpper`, but it --- | provides more correct results. +-- | Because this matches on more rules, it may be slower than `toUpperSimple`, +-- | but it provides more correct results. toUpper :: String -> String toUpper = convFull CP.toUpper @@ -32,8 +31,8 @@ toUpper = convFull CP.toUpper -- | and may map single code points to more than one code point. For example, -- | `toLower "\x0130" == "\x0069\x0307"`. -- | --- | Because this matches on more rules, it may be slower than `toLower`, but it --- | provides more correct results. +-- | Because this matches on more rules, it may be slower than `toLowerSimple`, +-- | but it provides more correct results. toLower :: String -> String toLower = convFull CP.toLower @@ -66,21 +65,7 @@ toLowerSimple = conv CP.toLowerSimple caseFoldSimple :: String -> String caseFoldSimple = conv CP.caseFoldSimple --- | Convert a letter to the corresponding title-case or upper-case --- | letter, if any. (Title case differs from upper case only for a small --- | number of ligature letters.) --- | Any other character is returned unchanged. ---toTitle :: CodePoint -> CodePoint ---toTitle = conv CP.toTitle - -- Helper functions - -modify :: (Int -> Int) -> (CodePoint -> CodePoint) -modify = unsafeCoerce - -modifyFull :: (Int -> Array Int) -> (CodePoint -> Array CodePoint) -modifyFull = unsafeCoerce - convert :: (CodePoint -> CodePoint) -> String -> String convert f = toCodePointArray >>> map f >>> fromCodePointArray From b7ccb27ff6157cb0b76ded47019266c3752089ff Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Mon, 25 Jan 2021 13:25:28 -0500 Subject: [PATCH 25/32] Update README --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b48d645..3be0115 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,11 @@ [![Pursuit](https://pursuit.purescript.org/packages/purescript-unicode/badge)](https://pursuit.purescript.org/packages/purescript-unicode) [![Maintainer: cdepillabout](https://img.shields.io/badge/maintainer-cdepillabout-teal.svg)](https://github.com/cdepillabout) -The library summary hasn't been written yet (contributions are welcome!). The library summary describes the library's purpose in one to three sentences. +A library for working with the properties of Unicode code points, including the general category of a code point, predicates for determining whether a code point is a letter or number character (`isLetter` and `isNumber`, for example), and case conversion functions (`toUpper`, `toLower`, and `toTitle`, as well as `caseFold` for caseless matching). + +General functions for working with `String`s in terms of `CodePoint`s are found in the `Data.String.CodePoints` module in the [`strings` library](https://github.com/purescript/purescript-strings). + +This version of the `unicode` library supports the [Unicode standard, version 13.0.0](https://www.unicode.org/versions/Unicode13.0.0). ## Installation From 04e348ff1419ddb412d63533cacc906b3463a1cd Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Mon, 25 Jan 2021 14:03:18 -0500 Subject: [PATCH 26/32] Mention that *Simple variants preserve the number of code points Instead of hypothetical performance benefits --- src/Data/String/Unicode.purs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Data/String/Unicode.purs b/src/Data/String/Unicode.purs index e5904c8..a1af32d 100644 --- a/src/Data/String/Unicode.purs +++ b/src/Data/String/Unicode.purs @@ -48,20 +48,23 @@ caselessMatch s1 s2 = caseFold s1 == caseFold s2 -- Simple code-point-to-code-point conversion algorithms -- | Convert each code point in the string to its corresponding uppercase --- | code point. +-- | code point. This will preserve the number of code points in the string. -- | -- | Note: this is not the full Unicode algorithm, see `toUpper`. toUpperSimple :: String -> String toUpperSimple = conv CP.toUpperSimple -- | Convert each code point in the string to its corresponding lowercase --- | code point. +-- | code point. This will preserve the number of code points in the string. -- | -- | Note: this is not the full Unicode algorithm, see `toLower`. toLowerSimple :: String -> String toLowerSimple = conv CP.toLowerSimple --- | Code-point-to-code-point case folding. May be faster than `caseFold`. +-- | Convert each code point in the string to its corresponding case-folded +-- | code point. This will preserve the number of code points in the string. +-- | +-- | Note: this is not the full Unicode algorithm, see `caseFold`. caseFoldSimple :: String -> String caseFoldSimple = conv CP.caseFoldSimple From ae100fac0d1d852cf5933e727c16da14edc283f0 Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Mon, 25 Jan 2021 14:12:14 -0500 Subject: [PATCH 27/32] Oops, need to rename usages of conv -> convert --- packages.dhall | 2 +- src/Data/String/Unicode.purs | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages.dhall b/packages.dhall index 9c3ee6f..dd0a199 100644 --- a/packages.dhall +++ b/packages.dhall @@ -1,4 +1,4 @@ let upstream = - https://raw.githubusercontent.com/purescript/package-sets/prepare-0.14/src/packages.dhall + https://raw.githubusercontent.com/purescript/package-sets/prepare-0.14/src/packages.dhall sha256:baefc2d9387175879c9576620d245e708b11cda41569aac9631b351cb0616d06 in upstream diff --git a/src/Data/String/Unicode.purs b/src/Data/String/Unicode.purs index a1af32d..8985350 100644 --- a/src/Data/String/Unicode.purs +++ b/src/Data/String/Unicode.purs @@ -24,7 +24,7 @@ import Data.String (CodePoint, fromCodePointArray, toCodePointArray) -- | Because this matches on more rules, it may be slower than `toUpperSimple`, -- | but it provides more correct results. toUpper :: String -> String -toUpper = convFull CP.toUpper +toUpper = convertFull CP.toUpper -- | Convert each code point in the string to its corresponding lower -- | sequence. This is the full (locale-independent) Unicode algorithm, @@ -34,12 +34,12 @@ toUpper = convFull CP.toUpper -- | Because this matches on more rules, it may be slower than `toLowerSimple`, -- | but it provides more correct results. toLower :: String -> String -toLower = convFull CP.toLower +toLower = convertFull CP.toLower -- | The full Unicode case folding algorithm, may increase the length of the -- | string by mapping individual code points to longer sequences. caseFold :: String -> String -caseFold = convFull CP.caseFold +caseFold = convertFull CP.caseFold -- | Caseless matching, based on `caseFold`. caselessMatch :: String -> String -> Boolean @@ -52,21 +52,21 @@ caselessMatch s1 s2 = caseFold s1 == caseFold s2 -- | -- | Note: this is not the full Unicode algorithm, see `toUpper`. toUpperSimple :: String -> String -toUpperSimple = conv CP.toUpperSimple +toUpperSimple = convert CP.toUpperSimple -- | Convert each code point in the string to its corresponding lowercase -- | code point. This will preserve the number of code points in the string. -- | -- | Note: this is not the full Unicode algorithm, see `toLower`. toLowerSimple :: String -> String -toLowerSimple = conv CP.toLowerSimple +toLowerSimple = convert CP.toLowerSimple -- | Convert each code point in the string to its corresponding case-folded -- | code point. This will preserve the number of code points in the string. -- | -- | Note: this is not the full Unicode algorithm, see `caseFold`. caseFoldSimple :: String -> String -caseFoldSimple = conv CP.caseFoldSimple +caseFoldSimple = convert CP.caseFoldSimple -- Helper functions convert :: (CodePoint -> CodePoint) -> String -> String From ba77c4735500ede8967f869366e5075c0fb451bb Mon Sep 17 00:00:00 2001 From: Thomas Honeyman Date: Mon, 25 Jan 2021 12:10:58 -0800 Subject: [PATCH 28/32] Update packages.dhall --- packages.dhall | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.dhall b/packages.dhall index dd0a199..9c3ee6f 100644 --- a/packages.dhall +++ b/packages.dhall @@ -1,4 +1,4 @@ let upstream = - https://raw.githubusercontent.com/purescript/package-sets/prepare-0.14/src/packages.dhall sha256:baefc2d9387175879c9576620d245e708b11cda41569aac9631b351cb0616d06 + https://raw.githubusercontent.com/purescript/package-sets/prepare-0.14/src/packages.dhall in upstream From 15aed70858302fa9cac1dc792bebb96beafbbd27 Mon Sep 17 00:00:00 2001 From: Nick Scheel <11701520+MonoidMusician@users.noreply.github.com> Date: Tue, 26 Jan 2021 23:21:44 -0500 Subject: [PATCH 29/32] Use parseInt Co-authored-by: Michael Ficarra --- fullcase.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fullcase.js b/fullcase.js index 32e0feb..31fc195 100755 --- a/fullcase.js +++ b/fullcase.js @@ -14,7 +14,7 @@ const folding = const scData = {}; const cfData = {}; -const rhex = a => typeof a === 'string' ? +('0x'+a) : +a; +const rhex = a => parseInt(a, 16); const sortHex = (a,b) => rhex(a) - rhex(b); for (const spec of SpecialCasing.matchAll(special)) { From f74f50bfce7fe1e33a7e913dfd62a74842b8f68d Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Tue, 26 Jan 2021 23:26:14 -0500 Subject: [PATCH 30/32] Add linguist-generated attribute --- .gitattributes | 2 ++ .gitignore | 1 + 2 files changed, 3 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8860b6e --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +src/Data/CodePoint/Unicode/Internal.purs linguist-generated +src/Data/CodePoint/Unicode/Internal/Casing.purs linguist-generated diff --git a/.gitignore b/.gitignore index a81436c..b1b106c 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ !.github !.editorconfig !.eslintrc.json +!.gitattributes output generated-docs From dc28cc1fe18009ba631efebde5fa5d2bfaac0a8b Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Tue, 26 Jan 2021 23:32:15 -0500 Subject: [PATCH 31/32] Add header to generated file --- fullcase.js | 9 ++++++++- src/Data/CodePoint/Unicode/Internal/Casing.purs | 5 +++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/fullcase.js b/fullcase.js index 31fc195..94bbb6d 100755 --- a/fullcase.js +++ b/fullcase.js @@ -54,7 +54,14 @@ const lines = keys.map(code => data[code]).map(d => `{ code: ${d.code}, lower: ${d.lower}, title: ${d.title}, upper: ${d.upper}, fold: ${d.fold}, foldFull: ${d.foldFull} }` ); -const file = `module Data.CodePoint.Unicode.Internal.Casing where + + +const file = `----------------------------------------------------------- +-- This is an automatically generated file: do not edit" +-- Generated by fullcase.js on ${new Date().toDateString()} +----------------------------------------------------------- + +module Data.CodePoint.Unicode.Internal.Casing where import Prelude diff --git a/src/Data/CodePoint/Unicode/Internal/Casing.purs b/src/Data/CodePoint/Unicode/Internal/Casing.purs index 020550e..7d06bb6 100644 --- a/src/Data/CodePoint/Unicode/Internal/Casing.purs +++ b/src/Data/CodePoint/Unicode/Internal/Casing.purs @@ -1,3 +1,8 @@ +----------------------------------------------------------- +-- This is an automatically generated file: do not edit" +-- Generated by fullcase.js on Tue Jan 26 2021 +----------------------------------------------------------- + module Data.CodePoint.Unicode.Internal.Casing where import Prelude From c8ac3e1f55f71403cf83178d366e27fee3516145 Mon Sep 17 00:00:00 2001 From: Nicholas Scheel Date: Tue, 26 Jan 2021 23:34:09 -0500 Subject: [PATCH 32/32] Reference unicode-version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3be0115..38ec1a4 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ A library for working with the properties of Unicode code points, including the General functions for working with `String`s in terms of `CodePoint`s are found in the `Data.String.CodePoints` module in the [`strings` library](https://github.com/purescript/purescript-strings). -This version of the `unicode` library supports the [Unicode standard, version 13.0.0](https://www.unicode.org/versions/Unicode13.0.0). +The version of the [Unicode standard](https://unicode.org/standard/standard.html) supported by this library can be found in the [`unicode-version`](./unicode-version) file. ## Installation