h&˦2      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                       (c) 2020 Andrew Lelechenko (c) 2020 Composewell Technologies BSD-3-Clausestreamly@composewell.com experimentalGHC Safe-Inferred%&;= 9  unicode-datalookup64 addr index& looks up the bit stored at bit index index) using a bitmap starting at the address addr. Looks up the 64-bit word containing the bit and then the bit in that word. The caller must make sure that the 64-bit word at the byte address (addr + index / 64) * 8 is legally accessible memory.  unicode-datalookupIntN addr index looks up for the index-th 8%-bits word in the bitmap starting at addr, then convert it to an Int.The caller must make sure that:ceiling (addr + (n * 8)) is legally accessible Word8.  unicode-dataBitmap address unicode-data Word index unicode-dataResulting word as   2(c) 2022 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred%&;=W]  unicode-data!Block definition: range and name. unicode-dataRange unicode-dataName unicode-dataUnicode  'https://www.unicode.org/glossary/#blockblock.There is a total of 327 blocks. unicode-dataU+0000..U+007F: Basic Latin. unicode-dataU+0080..U+00FF: Latin-1 Supplement. unicode-dataU+0100..U+017F: Latin Extended-A. unicode-dataU+0180..U+024F: Latin Extended-B. unicode-dataU+0250..U+02AF: IPA Extensions. unicode-dataU+02B0..U+02FF: Spacing Modifier Letters. unicode-dataU+0300..U+036F: Combining Diacritical Marks. unicode-dataU+0370..U+03FF: Greek and Coptic. unicode-dataU+0400..U+04FF : Cyrillic. unicode-dataU+0500..U+052F: Cyrillic Supplement. unicode-dataU+0530..U+058F : Armenian. unicode-dataU+0590..U+05FF : Hebrew. unicode-dataU+0600..U+06FF : Arabic. unicode-dataU+0700..U+074F : Syriac.  unicode-dataU+0750..U+077F: Arabic Supplement.! unicode-dataU+0780..U+07BF : Thaana." unicode-dataU+07C0..U+07FF: NKo.# unicode-dataU+0800..U+083F : Samaritan.$ unicode-dataU+0840..U+085F : Mandaic.% unicode-dataU+0860..U+086F: Syriac Supplement.& unicode-dataU+0870..U+089F: Arabic Extended-B.' unicode-dataU+08A0..U+08FF: Arabic Extended-A.( unicode-dataU+0900..U+097F : Devanagari.) unicode-dataU+0980..U+09FF : Bengali.* unicode-dataU+0A00..U+0A7F : Gurmukhi.+ unicode-dataU+0A80..U+0AFF : Gujarati., unicode-dataU+0B00..U+0B7F: Oriya.- unicode-dataU+0B80..U+0BFF: Tamil.. unicode-dataU+0C00..U+0C7F : Telugu./ unicode-dataU+0C80..U+0CFF : Kannada.0 unicode-dataU+0D00..U+0D7F : Malayalam.1 unicode-dataU+0D80..U+0DFF : Sinhala.2 unicode-dataU+0E00..U+0E7F: Thai.3 unicode-dataU+0E80..U+0EFF: Lao.4 unicode-dataU+0F00..U+0FFF : Tibetan.5 unicode-dataU+1000..U+109F : Myanmar.6 unicode-dataU+10A0..U+10FF : Georgian.7 unicode-dataU+1100..U+11FF: Hangul Jamo.8 unicode-dataU+1200..U+137F : Ethiopic.9 unicode-dataU+1380..U+139F: Ethiopic Supplement.: unicode-dataU+13A0..U+13FF : Cherokee.; unicode-dataU+1400..U+167F(: Unified Canadian Aboriginal Syllabics.< unicode-dataU+1680..U+169F: Ogham.= unicode-dataU+16A0..U+16FF: Runic.> unicode-dataU+1700..U+171F : Tagalog.? unicode-dataU+1720..U+173F : Hanunoo.@ unicode-dataU+1740..U+175F: Buhid.A unicode-dataU+1760..U+177F : Tagbanwa.B unicode-dataU+1780..U+17FF: Khmer.C unicode-dataU+1800..U+18AF : Mongolian.D unicode-dataU+18B0..U+18FF1: Unified Canadian Aboriginal Syllabics Extended.E unicode-dataU+1900..U+194F: Limbu.F unicode-dataU+1950..U+197F : Tai Le.G unicode-dataU+1980..U+19DF: New Tai Lue.H unicode-dataU+19E0..U+19FF: Khmer Symbols.I unicode-dataU+1A00..U+1A1F : Buginese.J unicode-dataU+1A20..U+1AAF : Tai Tham.K unicode-dataU+1AB0..U+1AFF': Combining Diacritical Marks Extended.L unicode-dataU+1B00..U+1B7F : Balinese.M unicode-dataU+1B80..U+1BBF : Sundanese.N unicode-dataU+1BC0..U+1BFF: Batak.O unicode-dataU+1C00..U+1C4F : Lepcha.P unicode-dataU+1C50..U+1C7F : Ol Chiki.Q unicode-dataU+1C80..U+1C8F: Cyrillic Extended-C.R unicode-dataU+1C90..U+1CBF: Georgian Extended.S unicode-dataU+1CC0..U+1CCF: Sundanese Supplement.T unicode-dataU+1CD0..U+1CFF: Vedic Extensions.U unicode-dataU+1D00..U+1D7F: Phonetic Extensions.V unicode-dataU+1D80..U+1DBF!: Phonetic Extensions Supplement.W unicode-dataU+1DC0..U+1DFF): Combining Diacritical Marks Supplement.X unicode-dataU+1E00..U+1EFF: Latin Extended Additional.Y unicode-dataU+1F00..U+1FFF: Greek Extended.Z unicode-dataU+2000..U+206F: General Punctuation.[ unicode-dataU+2070..U+209F: Superscripts and Subscripts.\ unicode-dataU+20A0..U+20CF: Currency Symbols.] unicode-dataU+20D0..U+20FF*: Combining Diacritical Marks for Symbols.^ unicode-dataU+2100..U+214F: Letterlike Symbols._ unicode-dataU+2150..U+218F: Number Forms.` unicode-dataU+2190..U+21FF : Arrows.a unicode-dataU+2200..U+22FF: Mathematical Operators.b unicode-dataU+2300..U+23FF: Miscellaneous Technical.c unicode-dataU+2400..U+243F: Control Pictures.d unicode-dataU+2440..U+245F : Optical Character Recognition.e unicode-dataU+2460..U+24FF: Enclosed Alphanumerics.f unicode-dataU+2500..U+257F: Box Drawing.g unicode-dataU+2580..U+259F: Block Elements.h unicode-dataU+25A0..U+25FF: Geometric Shapes.i unicode-dataU+2600..U+26FF: Miscellaneous Symbols.j unicode-dataU+2700..U+27BF : Dingbats.k unicode-dataU+27C0..U+27EF': Miscellaneous Mathematical Symbols-A.l unicode-dataU+27F0..U+27FF: Supplemental Arrows-A.m unicode-dataU+2800..U+28FF: Braille Patterns.n unicode-dataU+2900..U+297F: Supplemental Arrows-B.o unicode-dataU+2980..U+29FF': Miscellaneous Mathematical Symbols-B.p unicode-dataU+2A00..U+2AFF&: Supplemental Mathematical Operators.q unicode-dataU+2B00..U+2BFF#: Miscellaneous Symbols and Arrows.r unicode-dataU+2C00..U+2C5F : Glagolitic.s unicode-dataU+2C60..U+2C7F: Latin Extended-C.t unicode-dataU+2C80..U+2CFF : Coptic.u unicode-dataU+2D00..U+2D2F: Georgian Supplement.v unicode-dataU+2D30..U+2D7F : Tifinagh.w unicode-dataU+2D80..U+2DDF: Ethiopic Extended.x unicode-dataU+2DE0..U+2DFF: Cyrillic Extended-A.y unicode-dataU+2E00..U+2E7F: Supplemental Punctuation.z unicode-dataU+2E80..U+2EFF: CJK Radicals Supplement.{ unicode-dataU+2F00..U+2FDF: Kangxi Radicals.| unicode-dataU+2FF0..U+2FFF%: Ideographic Description Characters.} unicode-dataU+3000..U+303F: CJK Symbols and Punctuation.~ unicode-dataU+3040..U+309F : Hiragana. unicode-dataU+30A0..U+30FF : Katakana. unicode-dataU+3100..U+312F : Bopomofo. unicode-dataU+3130..U+318F: Hangul Compatibility Jamo. unicode-dataU+3190..U+319F : Kanbun. unicode-dataU+31A0..U+31BF: Bopomofo Extended. unicode-dataU+31C0..U+31EF: CJK Strokes. unicode-dataU+31F0..U+31FF: Katakana Phonetic Extensions. unicode-dataU+3200..U+32FF": Enclosed CJK Letters and Months. unicode-dataU+3300..U+33FF: CJK Compatibility. unicode-dataU+3400..U+4DBF%: CJK Unified Ideographs Extension A. unicode-dataU+4DC0..U+4DFF: Yijing Hexagram Symbols. unicode-dataU+4E00..U+9FFF: CJK Unified Ideographs. unicode-dataU+A000..U+A48F: Yi Syllables. unicode-dataU+A490..U+A4CF: Yi Radicals. unicode-dataU+A4D0..U+A4FF: Lisu. unicode-dataU+A500..U+A63F: Vai. unicode-dataU+A640..U+A69F: Cyrillic Extended-B. unicode-dataU+A6A0..U+A6FF: Bamum. unicode-dataU+A700..U+A71F: Modifier Tone Letters. unicode-dataU+A720..U+A7FF: Latin Extended-D. unicode-dataU+A800..U+A82F: Syloti Nagri. unicode-dataU+A830..U+A83F: Common Indic Number Forms. unicode-dataU+A840..U+A87F : Phags-pa. unicode-dataU+A880..U+A8DF : Saurashtra. unicode-dataU+A8E0..U+A8FF: Devanagari Extended. unicode-dataU+A900..U+A92F : Kayah Li. unicode-dataU+A930..U+A95F : Rejang. unicode-dataU+A960..U+A97F: Hangul Jamo Extended-A. unicode-dataU+A980..U+A9DF : Javanese. unicode-dataU+A9E0..U+A9FF: Myanmar Extended-B. unicode-dataU+AA00..U+AA5F: Cham. unicode-dataU+AA60..U+AA7F: Myanmar Extended-A. unicode-dataU+AA80..U+AADF : Tai Viet. unicode-dataU+AAE0..U+AAFF: Meetei Mayek Extensions. unicode-dataU+AB00..U+AB2F: Ethiopic Extended-A. unicode-dataU+AB30..U+AB6F: Latin Extended-E. unicode-dataU+AB70..U+ABBF: Cherokee Supplement. unicode-dataU+ABC0..U+ABFF: Meetei Mayek. unicode-dataU+AC00..U+D7AF: Hangul Syllables. unicode-dataU+D7B0..U+D7FF: Hangul Jamo Extended-B. unicode-dataU+D800..U+DB7F: High Surrogates. unicode-dataU+DB80..U+DBFF: High Private Use Surrogates. unicode-dataU+DC00..U+DFFF: Low Surrogates. unicode-dataU+E000..U+F8FF: Private Use Area. unicode-dataU+F900..U+FAFF: CJK Compatibility Ideographs. unicode-dataU+FB00..U+FB4F : Alphabetic Presentation Forms. unicode-dataU+FB50..U+FDFF: Arabic Presentation Forms-A. unicode-dataU+FE00..U+FE0F: Variation Selectors. unicode-dataU+FE10..U+FE1F: Vertical Forms. unicode-dataU+FE20..U+FE2F: Combining Half Marks. unicode-dataU+FE30..U+FE4F: CJK Compatibility Forms. unicode-dataU+FE50..U+FE6F: Small Form Variants. unicode-dataU+FE70..U+FEFF: Arabic Presentation Forms-B. unicode-dataU+FF00..U+FFEF : Halfwidth and Fullwidth Forms. unicode-dataU+FFF0..U+FFFF : Specials. unicode-dataU+10000..U+1007F: Linear B Syllabary. unicode-dataU+10080..U+100FF: Linear B Ideograms. unicode-dataU+10100..U+1013F: Aegean Numbers. unicode-dataU+10140..U+1018F: Ancient Greek Numbers. unicode-dataU+10190..U+101CF: Ancient Symbols. unicode-dataU+101D0..U+101FF: Phaistos Disc. unicode-dataU+10280..U+1029F : Lycian. unicode-dataU+102A0..U+102DF : Carian. unicode-dataU+102E0..U+102FF: Coptic Epact Numbers. unicode-dataU+10300..U+1032F : Old Italic. unicode-dataU+10330..U+1034F : Gothic. unicode-dataU+10350..U+1037F : Old Permic. unicode-dataU+10380..U+1039F : Ugaritic. unicode-dataU+103A0..U+103DF: Old Persian. unicode-dataU+10400..U+1044F : Deseret. unicode-dataU+10450..U+1047F : Shavian. unicode-dataU+10480..U+104AF : Osmanya. unicode-dataU+104B0..U+104FF: Osage. unicode-dataU+10500..U+1052F : Elbasan. unicode-dataU+10530..U+1056F: Caucasian Albanian. unicode-dataU+10570..U+105BF : Vithkuqi. unicode-dataU+10600..U+1077F : Linear A. unicode-dataU+10780..U+107BF: Latin Extended-F. unicode-dataU+10800..U+1083F: Cypriot Syllabary. unicode-dataU+10840..U+1085F: Imperial Aramaic. unicode-dataU+10860..U+1087F : Palmyrene. unicode-dataU+10880..U+108AF : Nabataean. unicode-dataU+108E0..U+108FF : Hatran. unicode-dataU+10900..U+1091F : Phoenician. unicode-dataU+10920..U+1093F : Lydian. unicode-dataU+10980..U+1099F: Meroitic Hieroglyphs. unicode-dataU+109A0..U+109FF: Meroitic Cursive. unicode-dataU+10A00..U+10A5F : Kharoshthi. unicode-dataU+10A60..U+10A7F: Old South Arabian. unicode-dataU+10A80..U+10A9F: Old North Arabian. unicode-dataU+10AC0..U+10AFF : Manichaean. unicode-dataU+10B00..U+10B3F : Avestan. unicode-dataU+10B40..U+10B5F: Inscriptional Parthian. unicode-dataU+10B60..U+10B7F: Inscriptional Pahlavi. unicode-dataU+10B80..U+10BAF: Psalter Pahlavi. unicode-dataU+10C00..U+10C4F : Old Turkic. unicode-dataU+10C80..U+10CFF: Old Hungarian. unicode-dataU+10D00..U+10D3F: Hanifi Rohingya. unicode-dataU+10E60..U+10E7F: Rumi Numeral Symbols. unicode-dataU+10E80..U+10EBF : Yezidi. unicode-dataU+10EC0..U+10EFF: Arabic Extended-C. unicode-dataU+10F00..U+10F2F: Old Sogdian. unicode-dataU+10F30..U+10F6F : Sogdian. unicode-dataU+10F70..U+10FAF : Old Uyghur. unicode-dataU+10FB0..U+10FDF : Chorasmian. unicode-dataU+10FE0..U+10FFF : Elymaic. unicode-dataU+11000..U+1107F : Brahmi. unicode-dataU+11080..U+110CF : Kaithi. unicode-dataU+110D0..U+110FF: Sora Sompeng. unicode-dataU+11100..U+1114F : Chakma. unicode-dataU+11150..U+1117F : Mahajani. unicode-dataU+11180..U+111DF : Sharada. unicode-dataU+111E0..U+111FF: Sinhala Archaic Numbers. unicode-dataU+11200..U+1124F : Khojki. unicode-dataU+11280..U+112AF : Multani. unicode-dataU+112B0..U+112FF : Khudawadi. unicode-dataU+11300..U+1137F : Grantha. unicode-dataU+11400..U+1147F: Newa. unicode-dataU+11480..U+114DF : Tirhuta. unicode-dataU+11580..U+115FF : Siddham. unicode-dataU+11600..U+1165F: Modi. unicode-dataU+11660..U+1167F: Mongolian Supplement. unicode-dataU+11680..U+116CF: Takri. unicode-dataU+11700..U+1174F: Ahom. unicode-dataU+11800..U+1184F: Dogra. unicode-dataU+118A0..U+118FF: Warang Citi. unicode-dataU+11900..U+1195F: Dives Akuru. unicode-dataU+119A0..U+119FF: Nandinagari. unicode-dataU+11A00..U+11A4F: Zanabazar Square. unicode-dataU+11A50..U+11AAF : Soyombo. unicode-dataU+11AB0..U+11ABF3: Unified Canadian Aboriginal Syllabics Extended-A. unicode-dataU+11AC0..U+11AFF: Pau Cin Hau. unicode-dataU+11B00..U+11B5F: Devanagari Extended-A. unicode-dataU+11C00..U+11C6F : Bhaiksuki. unicode-dataU+11C70..U+11CBF : Marchen. unicode-dataU+11D00..U+11D5F: Masaram Gondi. unicode-dataU+11D60..U+11DAF: Gunjala Gondi. unicode-dataU+11EE0..U+11EFF : Makasar. unicode-dataU+11F00..U+11F5F: Kawi. unicode-dataU+11FB0..U+11FBF: Lisu Supplement. unicode-dataU+11FC0..U+11FFF: Tamil Supplement. unicode-dataU+12000..U+123FF : Cuneiform. unicode-dataU+12400..U+1247F$: Cuneiform Numbers and Punctuation. unicode-dataU+12480..U+1254F: Early Dynastic Cuneiform. unicode-dataU+12F90..U+12FFF: Cypro-Minoan. unicode-dataU+13000..U+1342F: Egyptian Hieroglyphs. unicode-dataU+13430..U+1345F&: Egyptian Hieroglyph Format Controls. unicode-dataU+14400..U+1467F: Anatolian Hieroglyphs. unicode-dataU+16800..U+16A3F: Bamum Supplement. unicode-dataU+16A40..U+16A6F: Mro. unicode-dataU+16A70..U+16ACF : Tangsa. unicode-dataU+16AD0..U+16AFF : Bassa Vah. unicode-dataU+16B00..U+16B8F: Pahawh Hmong. unicode-dataU+16E40..U+16E9F: Medefaidrin. unicode-dataU+16F00..U+16F9F: Miao. unicode-dataU+16FE0..U+16FFF&: Ideographic Symbols and Punctuation. unicode-dataU+17000..U+187FF : Tangut. unicode-dataU+18800..U+18AFF: Tangut Components. unicode-dataU+18B00..U+18CFF: Khitan Small Script. unicode-dataU+18D00..U+18D7F: Tangut Supplement. unicode-dataU+1AFF0..U+1AFFF: Kana Extended-B. unicode-dataU+1B000..U+1B0FF: Kana Supplement. unicode-dataU+1B100..U+1B12F: Kana Extended-A. unicode-dataU+1B130..U+1B16F: Small Kana Extension. unicode-dataU+1B170..U+1B2FF: Nushu. unicode-dataU+1BC00..U+1BC9F : Duployan. unicode-dataU+1BCA0..U+1BCAF: Shorthand Format Controls. unicode-dataU+1CF00..U+1CFCF: Znamenny Musical Notation. unicode-dataU+1D000..U+1D0FF: Byzantine Musical Symbols. unicode-dataU+1D100..U+1D1FF: Musical Symbols. unicode-dataU+1D200..U+1D24F!: Ancient Greek Musical Notation. unicode-dataU+1D2C0..U+1D2DF: Kaktovik Numerals. unicode-dataU+1D2E0..U+1D2FF: Mayan Numerals. unicode-dataU+1D300..U+1D35F: Tai Xuan Jing Symbols. unicode-dataU+1D360..U+1D37F: Counting Rod Numerals. unicode-dataU+1D400..U+1D7FF$: Mathematical Alphanumeric Symbols. unicode-dataU+1D800..U+1DAAF: Sutton SignWriting. unicode-dataU+1DF00..U+1DFFF: Latin Extended-G. unicode-dataU+1E000..U+1E02F: Glagolitic Supplement. unicode-dataU+1E030..U+1E08F: Cyrillic Extended-D. unicode-dataU+1E100..U+1E14F: Nyiakeng Puachue Hmong. unicode-dataU+1E290..U+1E2BF: Toto. unicode-dataU+1E2C0..U+1E2FF : Wancho. unicode-dataU+1E4D0..U+1E4FF: Nag Mundari. unicode-dataU+1E7E0..U+1E7FF: Ethiopic Extended-B. unicode-dataU+1E800..U+1E8DF: Mende Kikakui. unicode-dataU+1E900..U+1E95F: Adlam. unicode-dataU+1EC70..U+1ECBF: Indic Siyaq Numbers. unicode-dataU+1ED00..U+1ED4F: Ottoman Siyaq Numbers. unicode-dataU+1EE00..U+1EEFF): Arabic Mathematical Alphabetic Symbols. unicode-dataU+1F000..U+1F02F: Mahjong Tiles. unicode-dataU+1F030..U+1F09F: Domino Tiles. unicode-dataU+1F0A0..U+1F0FF: Playing Cards. unicode-dataU+1F100..U+1F1FF#: Enclosed Alphanumeric Supplement. unicode-dataU+1F200..U+1F2FF": Enclosed Ideographic Supplement. unicode-dataU+1F300..U+1F5FF(: Miscellaneous Symbols and Pictographs. unicode-dataU+1F600..U+1F64F : Emoticons. unicode-dataU+1F650..U+1F67F: Ornamental Dingbats. unicode-dataU+1F680..U+1F6FF: Transport and Map Symbols. unicode-dataU+1F700..U+1F77F: Alchemical Symbols. unicode-dataU+1F780..U+1F7FF: Geometric Shapes Extended. unicode-dataU+1F800..U+1F8FF: Supplemental Arrows-C. unicode-dataU+1F900..U+1F9FF': Supplemental Symbols and Pictographs. unicode-dataU+1FA00..U+1FA6F: Chess Symbols. unicode-dataU+1FA70..U+1FAFF%: Symbols and Pictographs Extended-A. unicode-dataU+1FB00..U+1FBFF: Symbols for Legacy Computing. unicode-dataU+20000..U+2A6DF%: CJK Unified Ideographs Extension B. unicode-dataU+2A700..U+2B73F%: CJK Unified Ideographs Extension C. unicode-dataU+2B740..U+2B81F%: CJK Unified Ideographs Extension D. unicode-dataU+2B820..U+2CEAF%: CJK Unified Ideographs Extension E. unicode-dataU+2CEB0..U+2EBEF%: CJK Unified Ideographs Extension F. unicode-dataU+2F800..U+2FA1F*: CJK Compatibility Ideographs Supplement. unicode-dataU+30000..U+3134F%: CJK Unified Ideographs Extension G. unicode-dataU+31350..U+323AF%: CJK Unified Ideographs Extension H. unicode-dataU+E0000..U+E007F: Tags. unicode-dataU+E0100..U+E01EF!: Variation Selectors Supplement. unicode-dataU+F0000..U+FFFFF#: Supplementary Private Use Area-A. unicode-dataU+100000..U+10FFFF#: Supplementary Private Use Area-B. unicode-dataBlock definition unicode-dataCharacter block, if defined.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred %&;=Z unicode-data Character  'https://www.unicode.org/glossary/#blockblock , if defined.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 2(c) 2022 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred%&;=_x2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred %&;=`2(c) 2022 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred%&;=`2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred %&;=a`2(c) 2021 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred %&;=e unicode-dataReturns 4 if a character is an identifier continue character. unicode-dataReturns 1 if a character is an identifier start character. unicode-dataReturns  if a character is an identifier continue character, using the NFKC modifications detailed in  8https://www.unicode.org/reports/tr31/#NFKC_Modifications UAX #31, 5.1. unicode-dataReturns  if a character is an identifier start character, using the NFKC modifications detailed in  8https://www.unicode.org/reports/tr31/#NFKC_Modifications UAX #31, 5.1. unicode-dataReturns . if a character is a pattern syntax character. unicode-dataReturns 2 if a character is a pattern whitespace character.2(c) 2022 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred%&;=e2(c) 2022 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred%&;=fg2(c) 2022 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred%&;=g2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred%&;=g2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred %&;=hG2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred %&;=h2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred %&;=i2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred%&;=j'2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred%&;=j2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred%&;=kg2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred %&;=l2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred%&;=l2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred%&;=mE 2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred%&;=m(c) 2020 Andrew Lelechenko BSD-3-Clausestreamly@composewell.com experimentalGHC Safe-Inferred %&;=py unicode-dataInput must be non-negative. unicode-dataUnicode General Categories.These classes are defined in the [Unicode Character Database](http:/www.unicode.orgreportstr44;tr44-14.html#GC_Values_Table), part of the Unicode standardNote: the classes must be in the same order they are listed in the Unicode Standard, because some functions (e.g. ) rely on the  instance. unicode-dataLu: Letter, Uppercase unicode-dataLl: Letter, Lowercase unicode-dataLt: Letter, Titlecase unicode-dataLm: Letter, Modifier unicode-dataLo: Letter, Other unicode-dataMn: Mark, Non-Spacing unicode-dataMc: Mark, Spacing Combining unicode-dataMe: Mark, Enclosing unicode-dataNd: Number, Decimal unicode-dataNl: Number, Letter unicode-dataNo: Number, Other unicode-dataPc: Punctuation, Connector unicode-dataPd: Punctuation, Dash unicode-dataPs: Punctuation, Open unicode-dataPe: Punctuation, Close unicode-dataPi: Punctuation, Initial quote unicode-dataPf: Punctuation, Final quote unicode-dataPo: Punctuation, Other unicode-dataSm: Symbol, Math unicode-dataSc: Symbol, Currency unicode-dataSk: Symbol, Modifier unicode-dataSo: Symbol, Other unicode-dataZs: Separator, Space unicode-dataZl: Separator, Line unicode-dataZp: Separator, Paragraph unicode-dataCc: Other, Control unicode-dataCf: Other, Format unicode-dataCs: Other, Surrogate unicode-dataCo: Other, Private Use unicode-dataCn: Other, Not Assigned unicode-dataAbbreviation of  used in the Unicode standard. unicode-data.The Unicode general category of the character.0This property is defined in the column 2 of the  UnicodeData table.This relies on the  instance of , which must remain in the same order as the categories are presented in the Unicode standard.>show (generalCategory c) == show (Data.Char.generalCategory c) unicode-dataReturns  for alphabetic Unicode characters (lower-case, upper-case and title-case letters, plus letters of caseless scripts and modifiers letters).Note: this function is not equivalent to  ! /  ": !* matches the following general categories: (Lu) (Ll) (Lt) (Lm) (Lo)whereas  matches: Uppercase /https://www.unicode.org/reports/tr44/#Uppercaseproperty Lowercase /https://www.unicode.org/reports/tr44/#Lowercaseproperty (Lt) (Lm) (Lo) (Nl)Other_Alphabetic 6https://www.unicode.org/reports/tr44/#Other_Alphabeticproperty unicode-data1Selects alphabetic or numeric Unicode characters.This function returns * if its argument has one of the following s, or  otherwise:&isAlphaNum c == Data.Char.isAlphaNum c unicode-dataSelects control characters, which are the non-printing characters of the Latin-1 subset of Unicode.This function returns  if its argument has the  .$isControl c == Data.Char.isControl c unicode-dataSelects Unicode mark characters, for example accents and the like, which combine with preceding characters.This function returns * if its argument has one of the following s, or  otherwise:isMark c == Data.Char.isMark c unicode-dataSelects printable Unicode characters (letters, numbers, marks, punctuation, symbols and spaces).This function returns * if its argument has one of the following s, or  otherwise: isPrint c == Data.Char.isPrint c unicode-dataSelects Unicode punctuation characters, including various kinds of connectors, brackets and quotes.This function returns * if its argument has one of the following s, or  otherwise:,isPunctuation c == Data.Char.isPunctuation c unicode-dataReturns ; for any whitespace characters, and the control characters \t, \n, \r, \f, \v.See:  1https://www.unicode.org/reports/tr44/#White_SpaceUnicode  White_Space.Note:  is not equivalent to  #. " selects the same characters from  plus the following:U+0085 NEXT LINE (NEL)U+2028 LINE SEPARATORU+2029 PARAGRAPH SEPARATOR unicode-data/Selects Unicode space and separator characters.This function returns * if its argument has one of the following s, or  otherwise:(isSeparator c == Data.Char.isSeparator c unicode-dataSelects Unicode symbol characters, including mathematical and currency symbols.This function returns * if its argument has one of the following s, or  otherwise: *  *  *  * "isSymbol c == Data.Char.isSymbol c unicode-dataReturns  for alphabetic Unicode characters (lower-case, upper-case and title-case letters, plus letters of caseless scripts and modifiers letters). unicode-dataReturns < for any whitespace characters, and the control characters \t, \n, \r, \f, \v. unicode-dataFirst leading consonant jamo. unicode-data&Total count of leading consonant jamo. unicode-dataLast leading consonant jamo. unicode-dataFirst vowel jamo. unicode-dataTotal count of vowel jamo. unicode-dataLast vowel jamo. unicode-data"The first trailing consonant jamo. Note that  does not represent a valid T, it represents a missing T i.e. LV without a T. See comments under  . unicode-data'Total count of trailing consonant jamo. unicode-dataLast trailing consonant jamo. unicode-data#Total count of all jamo characters. $jamoNCount = jamoVCount * jamoTCount unicode-data5Codepoint of the first pre-composed Hangul character. unicode-data'Codepoint of the last Hangul character. unicode-dataDetermine if the given character is a precomposed Hangul syllable. unicode-data9Determine if the given character is a Hangul LV syllable.Note:? this function requires a precomposed Hangul syllable but does not check it. Use 4 to check the input character before passing it to . unicode-dataWhether we are decomposing in canonical or compatibility mode. unicode-dataCompose a starter character (combining class 0) with a combining character (non-zero combining class). Returns the composed character if the starter combines with the combining character, returns  otherwise. unicode-dataCompose a starter character with another starter character. Returns the composed character if the two starters combine, returns  otherwise. unicode-dataReturn  if a starter character may combine with some preceding starter character. unicode-dataDecompose a non-Hangul character into its canonical or compatibility decompositions. Note that the resulting characters may further decompose. unicode-dataGiven a non-Hangul character determine if the character is decomposable. Note that in case compatibility decompositions a character may decompose into a single compatibility character. unicode-dataDecompose a Hangul syllable into its corresponding Jamo characters. unicode-data+Returns the combining class of a character. unicode-dataReturns ) if a character is a combining character.   2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred %&;= unicode-dataSame as . unicode-dataSelects alphabetic Unicode characters (lower-case, upper-case and title-case letters, plus letters of caseless scripts and modifiers letters).This function returns * if its argument has one of the following s, or  otherwise:Note: this function is not equivalent to ,. See the description of , for further details."isLetter c == Data.Char.isLetter c unicode-data3Selects Unicode space characters (general category ), and the control characters \t, \n, \r, \f, \v.Note:  is not equivalent to -. -" selects the same characters from  plus the following:U+0085 NEXT LINE (NEL)U+2028 LINE SEPARATORU+2029 PARAGRAPH SEPARATOR isSpace c == Data.Char.isSpace c 2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred %&;= unicode-dataSelects 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.,It matches characters with general category  and .See:  . for the  full upper case predicate. isUpper c == Data.Char.isUpper c unicode-data;Selects lower-case alphabetic Unicode characters (letters).,It matches characters with general category .See:  / for the full lower case predicate. isLower c == Data.Char.isLower c unicode-dataConvert a letter to the corresponding upper-case letter, if any. Any other character is returned unchanged.It uses the character property Simple_Uppercase_Mapping.See:  0 and  1 for full upper case conversion. toUpper c == Data.Char.toUpper c unicode-dataConvert a letter to the corresponding lower-case letter, if any. Any other character is returned unchanged.It uses the character property Simple_Lowercase_Mapping.See:  2 and  3 for full lower case conversion. toLower c == Data.Char.toLower c unicode-dataConvert 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.It uses the character property Simple_Titlecase_Mapping.See:  4 and  5 for full title case conversion. toTitle c == Data.Char.toTitle c 2(c) 2022 Composewell Technologies and Contributors BSD-3-Clausestreamly@composewell.com experimentalGHC Safe-Inferred%&;=H unicode-dataA stream is a succession of s. unicode-data9Produces a single value and the next state of the stream. unicode-data1Indicates there are no more values in the stream. unicode-dataAn  Unfold a b. is a generator of a stream of values of type b from a seed of type a. unicode-dataConvert an 'Unfold a a' to a list [a], if the resulting list is empty the seed is used as a default output. unicode-dataStep6 function: compute the next step from the current one. unicode-dataInject2 function: initialize the state with a seed value. 2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred%&;=  unicode-dataReturns  for lower-case characters. It uses the character property  /https://www.unicode.org/reports/tr44/#Lowercase Lowercase. unicode-dataReturns  for lower-case characters. It uses the character property  /https://www.unicode.org/reports/tr44/#Lowercase Lowercase. unicode-dataReturns  for upper-case characters. It uses the character property  /https://www.unicode.org/reports/tr44/#Uppercase Uppercase.Note: it does not6 match title-cased letters. Those are matched using: 6 c == 7. unicode-dataReturns  for upper-case characters. It uses the character property  /https://www.unicode.org/reports/tr44/#Uppercase Uppercase.Note: it does not6 match title-cased letters. Those are matched using: 6 c == 7. unicode-dataReturns the full folded case mapping of a character if the character is changed, else nothing.It uses the character property  Case_Folding. unicode-dataReturns the full lower case mapping of a character if the character is changed, else nothing.It uses the character property Lowercase_Mapping. unicode-dataReturns the full title case mapping of a character if the character is changed, else nothing.It uses the character property Titlecase_Mapping. unicode-dataReturns the full upper case mapping of a character if the character is changed, else nothing.It uses the character property Uppercase_Mapping. unicode-dataConvert a character to full folded! case if defined, else to itself.This function is mainly useful for performing caseless (also known as case insensitive) string comparisons. A string x" is a caseless match for a string y if and only if: 8foldMap toCaseFoldString x == foldMap toCaseFoldString yThe result string may have more than one character, and may differ from applying * to the input string. For instance, @@ (U+FB13 Armenian small ligature men now) is case folded to the sequence @ @ (U+0574. Armenian small letter men) followed by @ @ (U+0576) Armenian small letter now), while @@ (U+00B5% micro sign) is case folded to @@ (U+03BC+ Greek small letter mu) instead of itself.It uses the character property  Case_Folding.toCaseFoldString c == foldMap toCaseFoldString (toCaseFoldString c) unicode-dataConvert a character to full lower! case if defined, else to itself.The result string may have more than one character. For instance, @@ (U+0130 Latin capital letter I with dot above) maps to the sequence: @i@ (U+0069* Latin small letter I) followed by @@ (U+0307 combining dot above).It uses the character property Lowercase_Mapping.See:  8 for simple lower case conversion.:toLowerString c == foldMap toLowerString (toLowerString c) unicode-dataConvert a character to full title! case if defined, else to itself.The result string may have more than one character. For instance, @@ (U+FB02> Latin small ligature FL) is converted to the sequence: @F@ (U+0046+ Latin capital letter F) followed by @l@ (U+006C Latin small letter L).It uses the character property Titlecase_Mapping.See:  9 for simple title case conversion. unicode-dataConvert a character to full upper! case if defined, else to itself.The result string may have more than one character. For instance, the German @@ (U+00DF/ Eszett) maps to the two-letter sequence @SS@.It uses the character property Uppercase_Mapping.See:  : for simple upper case conversion.:toUpperString c == foldMap toUpperString (toUpperString c) unicode-dataExtract the next character from a raw mapping. Each character is encoded on 21 bits.2(c) 2020 Composewell Technologies and Contributors Apache-2.0streamly@composewell.com experimental Safe-Inferred %&;=6 unicode-data$Version of Unicode standard used by  unicode-data.  ;<=;>?;>@;>A;>B;>C;>D;>E;FG;HI;JKLMNNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~&7*'()6,-"#++%$            ! " #   : 8 9        /  .   2 4 0  3 5 1,$6 ;; unicode-data-0.4.0-inplaceUnicode.Char.NumericUnicode.Char.General Unicode.CharUnicode.Internal.BitsUnicode.Char.General.BlocksUnicode.Char.IdentifiersUnicode.Internal.DivisionUnicode.Char.Numeric.CompatUnicode.Char.NormalizationUnicode.Char.General.CompatUnicode.Char.Case.CompatUnicode.Internal.UnfoldUnicode.Char.CaseUnicode.Internal.Char.Blocks!Unicode.Internal.Char.CaseFolding+Unicode.Internal.Char.DerivedCoreProperties*Unicode.Internal.Char.DerivedNumericValuesUnicode.Internal.Char.PropList4Unicode.Internal.Char.SpecialCasing.LowerCaseMapping4Unicode.Internal.Char.SpecialCasing.TitleCaseMapping4Unicode.Internal.Char.SpecialCasing.UpperCaseMapping0Unicode.Internal.Char.UnicodeData.CombiningClass.Unicode.Internal.Char.UnicodeData.Compositions.Unicode.Internal.Char.UnicodeData.Decomposable/Unicode.Internal.Char.UnicodeData.DecomposableK0Unicode.Internal.Char.UnicodeData.Decompositions2Unicode.Internal.Char.UnicodeData.DecompositionsK21Unicode.Internal.Char.UnicodeData.DecompositionsK1Unicode.Internal.Char.UnicodeData.GeneralCategory8Unicode.Internal.Char.UnicodeData.SimpleLowerCaseMapping8Unicode.Internal.Char.UnicodeData.SimpleTitleCaseMapping8Unicode.Internal.Char.UnicodeData.SimpleUpperCaseMappingisAlphaisLetterisSpace numericValue isNumericGeneralCategory DecimalNumber LetterNumber OtherNumber OtherLetterisNumber isAlphabetic isWhiteSpace isUpperCase isLowerCaseupperCaseMapping toUpperStringlowerCaseMapping toLowerStringtitleCaseMapping toTitleStringgeneralCategoryTitlecaseLettertoLowertoTitletoUpperbase Data.Char digitToInt GHC.Unicode isOctDigitisLatin1 isHexDigitisDigit isAsciiUpper isAsciiLowerisAsciiGHC.CharchrGHC.Show intToDigitGHC.Baseord lookupBit64 lookupIntNBlockDefinition blockRange blockNameBlock BasicLatinLatin1SupplementLatinExtendedALatinExtendedB IPAExtensionsSpacingModifierLettersCombiningDiacriticalMarksGreekAndCopticCyrillicCyrillicSupplementArmenianHebrewArabicSyriacArabicSupplementThaanaNKo SamaritanMandaicSyriacSupplementArabicExtendedBArabicExtendedA DevanagariBengaliGurmukhiGujaratiOriyaTamilTeluguKannada MalayalamSinhalaThaiLaoTibetanMyanmarGeorgian HangulJamoEthiopicEthiopicSupplementCherokee"UnifiedCanadianAboriginalSyllabicsOghamRunicTagalogHanunooBuhidTagbanwaKhmer Mongolian*UnifiedCanadianAboriginalSyllabicsExtendedLimbuTaiLe NewTaiLue KhmerSymbolsBugineseTaiTham!CombiningDiacriticalMarksExtendedBalinese SundaneseBatakLepchaOlChikiCyrillicExtendedCGeorgianExtendedSundaneseSupplementVedicExtensionsPhoneticExtensionsPhoneticExtensionsSupplement#CombiningDiacriticalMarksSupplementLatinExtendedAdditional GreekExtendedGeneralPunctuationSuperscriptsAndSubscriptsCurrencySymbols#CombiningDiacriticalMarksForSymbolsLetterlikeSymbols NumberFormsArrowsMathematicalOperatorsMiscellaneousTechnicalControlPicturesOpticalCharacterRecognitionEnclosedAlphanumerics BoxDrawing BlockElementsGeometricShapesMiscellaneousSymbolsDingbats!MiscellaneousMathematicalSymbolsASupplementalArrowsABraillePatternsSupplementalArrowsB!MiscellaneousMathematicalSymbolsB!SupplementalMathematicalOperatorsMiscellaneousSymbolsAndArrows GlagoliticLatinExtendedCCopticGeorgianSupplementTifinaghEthiopicExtendedCyrillicExtendedASupplementalPunctuationCJKRadicalsSupplementKangxiRadicals IdeographicDescriptionCharactersCJKSymbolsAndPunctuationHiraganaKatakanaBopomofoHangulCompatibilityJamoKanbunBopomofoExtended CJKStrokesKatakanaPhoneticExtensionsEnclosedCJKLettersAndMonthsCJKCompatibilityCJKUnifiedIdeographsExtensionAYijingHexagramSymbolsCJKUnifiedIdeographs YiSyllables YiRadicalsLisuVaiCyrillicExtendedBBamumModifierToneLettersLatinExtendedD SylotiNagriCommonIndicNumberFormsPhagsPa SaurashtraDevanagariExtendedKayahLiRejangHangulJamoExtendedAJavaneseMyanmarExtendedBChamMyanmarExtendedATaiVietMeeteiMayekExtensionsEthiopicExtendedALatinExtendedECherokeeSupplement MeeteiMayekHangulSyllablesHangulJamoExtendedBHighSurrogatesHighPrivateUseSurrogates LowSurrogatesPrivateUseAreaCJKCompatibilityIdeographsAlphabeticPresentationFormsArabicPresentationFormsAVariationSelectors VerticalFormsCombiningHalfMarksCJKCompatibilityFormsSmallFormVariantsArabicPresentationFormsBHalfwidthAndFullwidthFormsSpecialsLinearBSyllabaryLinearBIdeograms AegeanNumbersAncientGreekNumbersAncientSymbols PhaistosDiscLycianCarianCopticEpactNumbers OldItalicGothic OldPermicUgaritic OldPersianDeseretShavianOsmanyaOsageElbasanCaucasianAlbanianVithkuqiLinearALatinExtendedFCypriotSyllabaryImperialAramaic Palmyrene NabataeanHatran PhoenicianLydianMeroiticHieroglyphsMeroiticCursive KharoshthiOldSouthArabianOldNorthArabian ManichaeanAvestanInscriptionalParthianInscriptionalPahlaviPsalterPahlavi OldTurkic OldHungarianHanifiRohingyaRumiNumeralSymbolsYezidiArabicExtendedC OldSogdianSogdian OldUyghur ChorasmianElymaicBrahmiKaithi SoraSompengChakmaMahajaniSharadaSinhalaArchaicNumbersKhojkiMultani KhudawadiGranthaNewaTirhutaSiddhamModiMongolianSupplementTakriAhomDogra WarangCiti DivesAkuru NandinagariZanabazarSquareSoyombo+UnifiedCanadianAboriginalSyllabicsExtendedA PauCinHauDevanagariExtendedA BhaiksukiMarchen MasaramGondi GunjalaGondiMakasarKawiLisuSupplementTamilSupplement CuneiformCuneiformNumbersAndPunctuationEarlyDynasticCuneiform CyproMinoanEgyptianHieroglyphs EgyptianHieroglyphFormatControlsAnatolianHieroglyphsBamumSupplementMroTangsaBassaVah PahawhHmong MedefaidrinMiao IdeographicSymbolsAndPunctuationTangutTangutComponentsKhitanSmallScriptTangutSupplement KanaExtendedBKanaSupplement KanaExtendedASmallKanaExtensionNushuDuployanShorthandFormatControlsZnamennyMusicalNotationByzantineMusicalSymbolsMusicalSymbolsAncientGreekMusicalNotationKaktovikNumerals MayanNumeralsTaiXuanJingSymbolsCountingRodNumeralsMathematicalAlphanumericSymbolsSuttonSignWritingLatinExtendedGGlagoliticSupplementCyrillicExtendedDNyiakengPuachueHmongTotoWancho NagMundariEthiopicExtendedB MendeKikakuiAdlamIndicSiyaqNumbersOttomanSiyaqNumbers#ArabicMathematicalAlphabeticSymbols MahjongTiles DominoTiles PlayingCardsEnclosedAlphanumericSupplementEnclosedIdeographicSupplement"MiscellaneousSymbolsAndPictographs EmoticonsOrnamentalDingbatsTransportAndMapSymbolsAlchemicalSymbolsGeometricShapesExtendedSupplementalArrowsC!SupplementalSymbolsAndPictographs ChessSymbolsSymbolsAndPictographsExtendedASymbolsForLegacyComputingCJKUnifiedIdeographsExtensionBCJKUnifiedIdeographsExtensionCCJKUnifiedIdeographsExtensionDCJKUnifiedIdeographsExtensionECJKUnifiedIdeographsExtensionF$CJKCompatibilityIdeographsSupplementCJKUnifiedIdeographsExtensionGCJKUnifiedIdeographsExtensionHTagsVariationSelectorsSupplementSupplementaryPrivateUseAreaASupplementaryPrivateUseAreaBblockDefinitionblock isIDContinue isIDStart isXIDContinue isXIDStartisPatternSyntaxisPatternWhitespace quotRem21 quotRem28UppercaseLetterLowercaseLetterModifierLetterNonSpacingMarkSpacingCombiningMark EnclosingMarkConnectorPunctuationDashPunctuationOpenPunctuationClosePunctuation InitialQuote FinalQuoteOtherPunctuation MathSymbolCurrencySymbolModifierSymbol OtherSymbolSpace LineSeparatorParagraphSeparatorControlFormat Surrogate PrivateUse NotAssignedgeneralCategoryAbbr isAlphaNum isControlisMarkisPrint isPunctuation isSeparatorisSymbol jamoLFirst jamoLCount jamoLLast jamoVFirst jamoVCount jamoVLast jamoTFirst jamoTCount jamoTLast jamoNCount hangulFirst hangulLastisHangul isHangulLVisJamo jamoLIndex jamoVIndex jamoTIndex$fShowGeneralCategory$fEqGeneralCategory$fOrdGeneralCategory$fEnumGeneralCategory$fBoundedGeneralCategory$fIxGeneralCategory integerValue DecomposeMode CanonicalKompatcomposecomposeStartersisCombiningStarter decomposeisDecomposabledecomposeHangulcombiningClass isCombiningisUpperisLowerStepYieldStopUnfoldtoList $fFunctorStepcaseFoldMappingtoCaseFoldStringunicodeVersionghc-prim GHC.TypesInt toCasefoldisXID_Continue isXID_Start isID_Continue isID_Start isUppercase isLowercaseisPattern_SyntaxisPattern_White_Space isWhite_SpaceTruetoSpecialLowerCasetoSpecialTitleCasetoSpecialUpperCaseisSecondStartertoSimpleLowerCasetoSimpleTitleCasetoSimpleUpperCaseGHC.EnumEnumFalse GHC.MaybeNothingstep