Files
boc/rust-service/target/debug/deps/libicu_collections-3fcbb3b5e230fce7.rmeta
T

683 lines
286 KiB
Plaintext
Raw Normal View History

rust
v#rustc 1.96.0 (ac68faa20 2026-05-25)ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁzerofromÁŠö‘JÁ¯G™è](^Ø”o-dcafde80b60b6e04Ázerofrom_deriveÁ¨ 8ïlÌfOµ— ˆ´-2ea7b665324646a9Á¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁzerovecÁ®6ÁGÞzFß~†ò¢Ã -4472b0057d74fe55Ázerovec_deriveÁGôMjmO6ãžË˜}…œ-cb226320172b7a66ÁyokeÁõhŸÂM¾Šp>báf6Ì-d3327e9ee0391076Ástable_deref_traitÁ½ÊTýö÷n˜TóQ-á†-771635b0451f799dÁ yoke_deriveÁº‰ñyåÁðÕCáŠʘÃ-1f6bb0ffd13f0264Á
potential_utfÁËÿ¸Ðλrë‚?šõò -c3f5c8cd65117d54Á
displaydocÁÿÙ𫆠§Ó¹÷ô -b8d6ab8742ea8990Á utf8_iterÁ‚×úÐ'œÌx G¤Ä^-6f20145e2e3e1c24Á¤,»¤Œï4builderÁ<¿»¤Œš4 conversionsÁ\滤ŒÎ5formatÁ4ð»serdeÁŒÑ5ß»÷Œþ5ö×»¤Œ³5UnicodeCodePointÁ„Ý&»÷Œ¤&5testsÁ,„ß$ùÞfØ  4ö¸»¤Œ”4CodePointInversionListBuilderÁì軤ŒÃwìž»¤Œíwß»¤Œ•wToStringÁDÅ»¤ wöú»¤ŒÖwØ,–\$\CodePointInversionListÁ´Ô»¤Œ£d‹»¤ŒçUleErrorÁDÉ»¤Œ£Ø,º¬$¯¬¥ØtomlÁ$
»÷Œõ ÷
»÷Œž
µØí
char16trieÁtrieÁ!MAX_BRANCH_LINEAR_SUB_NODE_LENGTHÁMIN_LINEAR_MATCHÁMAX_LINEAR_MATCH_LENGTHÁMIN_VALUE_LEADÁNODE_TYPE_MASKÁVALUE_IS_FINALÁMAX_ONE_UNIT_VALUEÁMIN_TWO_UNIT_VALUE_LEADÁMAX_ONE_UNIT_NODE_VALUEÁMIN_TWO_UNIT_NODE_VALUE_LEADÁTHREE_UNIT_NODE_VALUE_LEADÁTHREE_UNIT_VALUE_LEADÁMAX_ONE_UNIT_DELTAÁMIN_TWO_UNIT_DELTA_LEADÁTHREE_UNIT_DELTA_LEADÁ
skip_valueÁskip_node_valueÁ'dataÁæ ùu16_leadÁu16_tailÁ trie_unwrapÁ!'aÁ!æ !ó !next32Á!next16Á! branch_nextÁ! next_implÁ!stopÁ!
jump_by_deltaÁ!ò
!
skip_deltaÁ! value_resultÁ! get_valueÁ!
read_valueÁ!read_node_valueÁcodepointinvlistÁ4 cpinvlistÁ5555555555 5
5 5 5
55BMP_MAXÁ5BMP_INV_LIST_VECÁ5ALL_VECÁ5HHtry_from_inversion_listÁJ Hfrom_parts_uncheckedÁH£HbmpÁH
iter_charsÁOO H iter_rangesÁRR Hiter_ranges_complementedÁUU Hget_range_countÁH
get_nth_rangeÁHHis_emptyÁHcontains_queryÁHcontainsÁH
contains32ÁHcontains_rangeÁ_impl RangeBounds<char>ÁH contains_setÁHspanÁb H span_backÁd 4utilsÁfffffffff is_valid_zvÁo fdeconstruct_rangeÁq¥qimpl RangeBounds<T>Á444codepointinvliststringlistÁwwwwwwwwwwªŽ has_stringsÁ contains_strÁ
contains_utf8Áˆˆ øé code_pointsÁstringsÁ
codepointtrieÁcptrieÁ 
   TrieValueÁžTryFromU32ErrorÁž try_from_u32Ážto_u32Áimpl_primitive_trie_valueÁmaybe_filter_valueÁ£¥¥ErrorÁ¥ªÂ©'trieÁ©¥© from_parts_unstable_unchecked_v1Á©try_newÁ©validate_fieldsÁ©to_typedÁ© as_typed_refÁ©trie_error_val_indexÁ©internal_small_indexÁ© small_indexÁ©
fast_indexÁ©get32_by_fast_indexÁ©get32_assuming_fast_indexÁ©get32_by_small_index_coldÁ©get32_by_small_indexÁ©get32Á©getÁ©get16Á©get32_supplementaryÁ© get32_uleÁ© get_rangeÁ©Ó©iter_ranges_for_valueÁÀÀ À ©iter_ranges_mappedÁÄëĦÄimpl FnMut(T) -> U + Copy + 'aÁÄÄ © error_valueÁË¥Ë get32_u32ÁΥ΃ѥÑÑó SealÁTypedCodePointTrieÁÖñÖ¥Ö TRIE_TYPEÁÖÞÖæÖóÖÛÖÎÖÕÖas_untyped_refÁÖ
to_untypedÁâñâ¥â×☠⮠âæéñé¥ìñì¥ìÏìªñññ¥ñÏñª öñö¥ö×ö˜ ö® 
üñü¥ ÿñÿ¥ÿÏÿª ñ¥ÏªerrorÁ
impl_constÁŒFAST_TYPE_SHIFTÁŒFAST_TYPE_DATA_BLOCK_LENGTHÁŒFAST_TYPE_DATA_MASKÁŒFAST_TYPE_FAST_INDEXING_MAXÁŒSMALL_TYPE_FAST_INDEXING_MAXÁŒERROR_VALUE_NEG_DATA_OFFSETÁŒHIGH_VALUE_NEG_DATA_OFFSETÁŒBMP_INDEX_LENGTHÁŒ SMALL_LIMITÁŒSMALL_INDEX_LENGTHÁŒSHIFT_3ÁŒSHIFT_2ÁŒSHIFT_1ÁŒ SHIFT_2_3ÁŒ SHIFT_1_2ÁŒOMITTED_BMP_INDEX_1_LENGTHÁŒINDEX_2_BLOCK_LENGTHÁŒ INDEX_2_MASKÁŒCP_PER_INDEX_2_ENTRYÁŒINDEX_3_BLOCK_LENGTHÁŒ INDEX_3_MASKÁŒSMALL_DATA_BLOCK_LENGTHÁŒSMALL_DATA_MASKÁŒCODE_POINT_MAXÁplanesÁ¥¥¥INDEX_ARRAY_AS_BYTESÁ¥get_planes_trieÁ 
iterator_utilsÁµµRangeListIteratorCoalescerÁ·š·¥·ù·peekÁµ¼š¼¥¼æ µÀšÀ¥ÀÀó 
Char16TrieÁÅÅdataÁÈȃËË×ÎÐÐÓÓÖÖ'zfÁÖ 'zf_innerÁÖ zero_fromÁChar16TrieIteratorÁÚëÚ³
ÚposÁÚremaining_match_lengthÁßë߃ âëâ×
TrieResultÁåNoMatchÁæ
åNoValueÁè
å
FinalValueÁê
êˆå IntermediateÁí
íˆ
 ñƒ 
ô×÷F G 5CodePointInversionListULEÁûûinv_listÁ5þþencode_var_ule_as_slicesÁ£impl FnOnce(&[&[u8]]) -> RÁþencode_var_ule_lenÁþencode_var_ule_writeÁZEROÁSIZE_0ÁOFFSET_0Á5ˆˆ­.Š£ŠÕ.ˆ÷.ˆ‘/5­+5÷54__IMPL_VarULE_FOR_CodePointInversionListULE_ULE_SIZEÁ5validate_bytesÁ­/¹/Ç/from_bytes_uncheckedÁ5œ55Ÿ×5À¡¡‘.¡5 ¥¥×5
¨¨Ö5 «5 ­­5
°°ƒ5³'yokeÁ³°³ transformÁ³transform_ownedÁ³makeÁ³
transform_mutÁ¹¹'_yokeÁ5¼+¼œ+¼­+4InvalidSetErrorÁÀ
4ÂÃ×4Å×4ÇÈ×4Ê×4
RangeErrorÁÌ
̈Ìw&CodePointInversionListAndStringListULEÁÐunsized_fieldsÁÑ wÓ cp_inv_listÁÔëÓstr_listÁÖëwØØ­.Ú£ÚÕ.Ø÷.Ý Ø‘/ß­/ß wââ­.ä£äÕ.â÷.â‘/wéé­+wìì÷wA__IMPL_VarULE_FOR_CodePointInversionListAndStringListULE_ULE_SIZEÁwðò0ñ­/ñ ð 1ô ô w÷ww ú×w#CodePointInversionListAndStringListÁüü²5üÍ5w
×w ƒƒÖw w
ˆˆwƒwŽ×2ްŽì2Žý2Ž”3Ž 3½3w‘+œ+­+wInvalidStringListÁInvalidStringLengthÁœ
StringListNotUniqueÁž
StringListNotSortedÁ 
w¢£×w¥×TrieTypeÁ§FastÁ¨
¨ §SmallÁ«
« 
¯ƒ³µ×·Ö¹Î¹å¹ù½Î½å½ùÁÎÁåÁùÅÎÅåÅùÉÎÉåÉùÍÎÍåÍùÑÎÑåÑù
CodePointTrieÁÕñÕ¥ÕheaderÁÕÖÕ¥*ÛñÛ¥Û×ßñߥßÖãñã¥æñæ¥æê×2ê¥ê°êì2êý2ê”3ê 3ññ½3 ô‘+ôœ+ô¥ô­+Õ¾CodePointTrieHeaderÁú
high_startÁúshifted12_high_startÁúindex3_null_offsetÁúdata_null_offsetÁú
null_valueÁú trie_typeÁ!"#ƒƒ$×%Ö&'Š(Œ×2Œ°Œì2Œý2Œ”3Œ 3½3)+­+CodePointMapRangeÁ˜¥˜rangeÁ˜»*œ¥+ž¥ž,¡¥¡Ö-¤¥¤×.§¥§ƒCodePointMapRangeIteratorÁªëª¥ªcptÁª cpm_rangeÁ/¯ë¯¥¯×FastCodePointTrieÁ³ñ³¥³innerÁ0·ñ·¥·×SmallCodePointTrieÁ»ñ»¥»„E1¿ñ¿¥¿×TypedCodePointTrieErrorÁÃ
2Å×TypedÁÇǤǻ;Ê
ʈÇÑ;Í
͈3ÐФÐ×Ï׃ÙÚ×Ü×ßÔFromDeserializedÁáå ÔEmptyDataVectorÁã
ÔIndexTooShortForFastAccessÁå
ÔDataTooShortForFastAccessÁç

$
%
&
'
(
)
*
+
,
-
.
/
0
O
R
U
X
Y
Z
[
\
]
^
_
a
a
b
b
d
d
o
o




ˆ
ˆ

Œ

Ž
®
®
®
°
±
²
³
´
µ

·
¸
¹
º
»
¼
½
¾
¿
À
Ê
Ë
Í
Î
Ð
Ñ
Ô
Ú
Û
Ü
Ý
Þ
ß
à
æ
è
ú
Ä
Ê
Í
Í
Í
Ò
Ò
Õ
á
ä
ä
ä
ò
õ
õ
õ
ø
ø



ƒ


ˆ
Š
Š
Š

Ž
Ž




 
 
 
§
§
§
ª
¯
¯
²
Ä
Ä
Ä
Æ
Æ
Æ
É
É
É
Ë
Ë
Ë
Ú
Ú
Ú
Ý
ß
ß
â
ä
ä
ä
ç
è
è
ñ
ô
ø
ø
û
û
û




Š
Š

¤
¤
¤
¦
¦
¦
°
´
´



¸
Þ
Þ
Þ
â
é
é




ˆ



 
 
£
¦
¦
¦
©
²
²
²
º
º
º
Â
Â
Â
Æ
Æ
Æ
Ó
Ó
Ó
Ø
Û
Û
Û
Ý
Ý
Ý
à
à
ÈëP8S8V8Á8žÕÖØÅÅ‹*Ç¥*Ÿƒ8}Æ4ÿcÉRÐìÉRµßÉRÉRÉR
ÅÅ‹*Ç¥*Ÿƒ8}Æ4Ñ+‘+ÅÅ‹*Ç¥*Ÿƒ8}Æ4Ü+ØÚÚ½+ܳ
Ýç+Þò+±g+<`vë¿cœTÛåæçÉ,èéÝ,êëñ,ìˆíî-ïˆÿ ךˆ|ÊØöTŠ öT¿cöTÐìöTµßöTöT¿c¡¡À£‘.5¤5䜄­ýYœVÐìœVµßœVœVØœVÙ¡¡À£‘.5¤5䜄­ýY×2
¡¡À£‘.5¤5䜄­ýY‘+‘+¡¡À£‘.5¤5䜄­ýYœ+¯œVûûè-ü5ý‘.5ú›–©ll¯ 8œVàX
œVàXéœV àX¿àXµßàXàXàX¿càXÄcÀÀÁæ3 jgH—.%¿c…ZÄcÌÌÍ¿4ÎˆÏ ¼„®áÛ°  ¿c¼Z¿cüü•8þ²5wÿÍ5w«Ð‘ÞÑ5ؤ…[Ðì…[µß…[…[Ø…[Ùüü•8þ²5wÿÍ5w«Ð‘ÞÑ5ؤ×2
üü•8þ²5wÿÍ5w«Ð‘ÞÑ5ؤ‘+‘+üü•8þ²5wÿÍ5w«Ð‘ÞÑ5ؤœ+¯…[ÐÐå4Ñ“5w=UFèÏ
âi¯ 8…[É]
…[É]é…[ É]¿É]µßÉ]É]É]¿cÉ]Äcœ¬:žŸÌ: ¡ì:‘B9B³†‡’¿cã^Û§¨©»;ª«¬Ñ;­ÌæwÎYç=;غ_Š º_Ðìº_µßº_º_¿cº_º_žžžžžžž¿cÕÕö=Ø›>ÙÖÚ¥*ù¾õŒÅÀÙŒ/úñ¥aÐìaµßaaÙÕÕö=Ø›>ÙÖÚ¥*ù¾õŒÅÀÙŒ/úÕa×2
ÕÕö=Ø›>ÙÖÚ¥*ù¾õŒÅÀÙŒ/ú‘+¥‘+ÕÕö=Ø›>ÙÖÚ¥*ù¾õŒÅÀÙŒ/úœ+¸cŠ úúŸ@ûº@üÌ@ýè@þ‚AÿšA¬AÕj2˜~_ÿÛ¢dØ¢d¿c¢d¢dÐì¢dµß¢d¢dÙ¢d×2
¢d‘+¢dðº_¼`ØÕÕö=Ø›>ÙÖÚ¥*ù¾õŒÅÀÙŒ/ú8ÕaÐ옘ÚBšûB»Îí°°<‹¹2¥µßÏfÏfÏf¿cÏfØÏf¿cªªñC­¢D®­D6Ë-¢gëÕaùMªªñC­¢D®­D6Ë-¢g8Õa¿c³³ÛD„E“6‹–<¸:íñÕaÖÏhñÕaÕÏhð ñÏh ñaðÏha¿c»»®E¾„EL<™Ãå>2MñÕaÖÒiñÕaÕÒið ñÒi´iðÒia¿cÃÃÄýE øù f%úpä¿cÇÊË»;̈ÍÎÑ;ψ$>=¶9䤊 ÔáäGâå ãä„Håæ HçèÇHXJd2€ï¤ÛÖkØÖkÄcÖk¿cÖkÐìÖkµßÖkÖk¾ÖkùM··„)ºùµ»¾)µ©Ò*½#·_šÕaÈÅßÚñå°¡ü¯§ƒúÎÕ§˜×ÔËÅâÚô奡ŸûÅÀÊÌüúÐ¥µ§ÛÕú¤˜¯ª·³¿»ÅÃÐÇÜÔÎÅöå«¡ü²§ãÕúœ˜ÞÔÐÅ÷å­¡œûˆü÷г§æÕŠúž˜ßÔÓŨ¡žûƒüùз§ßÕú¡˜Öż¡¡üéüôÕúðå®§úÖÔóå±§úÕÔ³¡ŽüêÕŒúþ¡ˆ
Øüâ
¡ìüûðÐÃÀÈÌ£ÚÔ¹½ÁÅÉÍÑ¥§ì
ñ³ÿ
»ÑªÀ·â³ö»é³ü»ÔØ
ä¿cFÐì Œµß ? M
?Û1Š Ù¯é¿Äcžð"ùMÖÕ¾0Æ`0x30ÁÆ`0x10ÁüØ* „Ø 
Æ`¼ë  Æ`( *
Æ`( Æ`OÆ`ü¼G  Æ`Ò Æ`.
Æ`ƒ Æ`š
Æ` Æ`”¨   Æ` ¹ Æ`( + Æ`)Æ`PÆ`üŒ/ 
Æ`¢ Çu+ Æ` Æ`€Æ`0x8000Áÿ?Æ`0x3fffÁ´À
”À
Æ` Õ
Æ`( +Æ`)Æ`PÆ`ü›
< Æ`º
Çu+Æ`Æ`ÿÆ`0xffÁüÊ $ ìË ¼Ì Æ` æ Æ`. +Æ`)Æ`VÆ`n ì î`Ð`Ð`¥ <î`ÄYî` í ü¹ 5   Æ`   Æ`=Æ`Tü ` Æ`³ Æ`^Æ`]ÇueÐ`v}ÇuŸRvÆ`Æ`´ Æ`¾ Æ`ÀÆ`0x7fc0ÁÿÆ`0x7fffÁÿûÆ`0xfbffÁ´À
”À
Æ` Õ
Æ`( +Æ`)Æ`PÆ`ü›
< Æ`º
Çu+Æ`Æ`ÿÿÆ`0xffffÁÿÿÐ`0xFFFFÁùwé³M 
ùwé³-
Î
R
R
SPotentialCodePointÁ
Tˆ
 ÑÁ:U¢íäñw—´ù 
   RawBytesULEÁ˜ ˆ dãÉfKx+o™tŒ€]ÕÙùvŸº>

QvѺ
˾avѺ vܺ üæÅF¬¬ZeroVecÁ¯Â¿°marker1Á¿±marker2Á¿àAáš1&0¾Üþ ÄÄÅ ZeroSliceÁLjÀ Hr)¡>
¾óÀ‚üјùŒ€Œ€¡wŸ´ ™w ´aw£´üÜ!
äÜ
ùÐ`9H
Oü¹ 
Yl w®´{üÿ) EÐ` ¦Ð`0  -EÐ`+Ð`Z Ð`r
yäÿúƒƒ §!
)Û¯„ºC ØY  w²´ œªŒ€> w´´Áw´ù
Œ€ ™t©‡«‡¾¾žÐ`Ð`¨£EÐ`®EÐ`ùyé³M 
ùyé³-¸ñy—´úŒ€Œ€KOùxŸº>

QxѺaxѺ xܺ ü€ ÇGÚÜ À‚ÊÀ‚Ò6¯úŒ€Œ€¡yŸ´ ™y ´ay£´üí !
äí úƒŠ
Ð`8G
NüÊ ¯„Wj y®´yü
4´­
”­
  
Ó2Ð`(
  Â
Ð`F 
 #Ð`h
Ð`C 
ä
úƒ¨ Ã
3
;ÎU ìk  y²´ ¡®¼Œ€> y´´Áy´ú Œ€©‡©‡«‡ ¾¾¡Ð` Ð` ÿ‡±|¤Ó2™tø{ 2
 
À   ˜ ˆ dãÉfKx+o™t_es™t~¢™t™t¾ Ì™t*™tç™tø™t™t%*™tˆ™tA™tŸ™tho
w}ÚŽ™tµ Ä™tÝ™t ø™t™tÛ‘$,™tU
]cÚt{Š™tž³½˜™t™t٠蘙tG™t™tš&™t2Û‘;CH˜™t¦™t`˜™t¾™tDûN$…O¼ôN ¡ ŠO‘OLüéM¨¡¡À£‘.5¤5䜄­ýY$åNÚD›NÐ`$ÑNÚÄÐ`¸‘.$(´Åf”ÅfLÆfÓ2Ð`( ÚfÐ`F #Ð`hÐ`CüfY ¡<ªfGÚ åfìfMüèe„¹—$þeÐ`×Ð`Öÿ‡æ/ØÓ2gGÚ™t2usizeÁ™t2usizeÁ™t™t2usizeÁ™t™t™t2usizeÁ™t2usizeÁ™t2usizeÁ\Í*Dæ*ü›*^ ü ø*ÿ*ü‚)ýüü•8þ²5wÿÍ5w«Ð‘ÞÑ5ؤ$Œ*¹—\­)ââã
VarZeroVecÁçˆ Ó 7)ºëØjÐ Ð Ñ Index16Á àl;Dá)¹—.ò$²5Í5+÷
4÷^,_$ž_\°_üä^b ÕÕa Å_Ì_¬ü§[¥ ÕÕö=Ø›>ÙÖÚ¥*ù¾õŒÅÀÙŒ/úÕa$è\¢d4å[¬¬ä€¯Â¿°¿±¿àAáš1&0Æ`,Š\¬¬ä€¯Â¿°¿±¿àAáš1&0Õa$®\Õa\Ï\¢dÀÞ¡²¢¬Õa¡›>ßÖ˜¥*Q¾UxtÞ‰ §ü‰+åº_DÓ‰'TrieType::FastÁ|âž §üÆž,ùº_Dמ'TrieType::SmallÁî`¤ñ

î`Ð`' Ð`7  ñ
Ð`Gî`a(Ð`mî`üÄB
ŽÐ`ë
Ð`«±2±î`¼î`Çî`üô
Üô
ŽÐ` 
Ð`, .ŽÐ`,Ð`WÐ`üÏE
Ð`î
ÿ‡Ž-ŽÐ`˜ŽÐ`ÿÿÐ`0xffffÁÿÐ`0xfffÁÐ`Ð`Ô‘

î`Ð`' Ð`7 <
Ð`Gî`a(Ð`mî`üï=
Ð`
Ð`«±2±î`¼î`Çî`Ð`0x1000Áôø
|‡
î`Ð`' Ð`7 
Ð`Eî`_&Ð`iî`üÔ C
Ð`ò
Ð`§­2­î`Ð`Ãî`Ð`Ùî`Ð`
 ¹
Ð`
Ð`+ .Ð`,Ð`VÐ`ü  %
˜Ð`³
ÿ‡-}Ð`ˆÐ`\•

Ð`<™
˜Ð`+ .Ð`,˜Ð`VÐ`üü %
Ð`
ÿ‡-}˜Ð`ˆ˜Ð`Œ§

˜Ð`
Ð`) ,˜Ð`*Ð`RÐ`üŒ
-
šÐ`¡
ÿ‡-˜Ð`Ð`Ÿ˜Ð`œÐ`Œ¿
<¿
Ð`
˜Ð`) ,Ð`*˜Ð`RÐ`ü¤-
Ð`¹
ÿ‡-Ð`˜Ð`ŸÐ`œ˜Ð`”ö
<
Ð` Ð`) 
Ð`9Ð`S(Ð`_Ð`üÊ?
œÐ`ð
œ+œÐ`§Ð`²Ð`

Ð` Ð`)  ä
Ð`9Ð`S(Ð`_Ð`ü¾5
Ð`Þ
œ+œÐ`§Ð`²Ð`ÄØ
¤Ø
Ð` ï
Ð`+ .Ð`,Ð`VÐ`üº7
žÐ`Ò
ÿ‡-Ð`˜Ð`

˜Ð` Ð`)  Ö
Ð`9˜Ð`S(Ð`_˜Ð`ü°3
ŸÐ`Ð
œ+œ˜Ð`§˜Ð`²˜Ð`

šÐ` Ð`)  ¾
Ð`9šÐ`S(Ð`_šÐ`ü˜5
 Ð`¸
œ+œšÐ`§šÐ`²šÐ`IJ
¤²
 Ð` É
Ð`+ . Ð`,Ð`VÐ`ü”7
¡Ð`¬
ÿ‡- Ð`˜ Ð`

Ð` Ð`)  «
Ð`9Ð`S(Ð`_Ð`ü‚6
¢Ð`¥
œ+œÐ`§Ð`²Ð`Ü£
¼£
¢Ð` ½
Ð`+ .¢Ð`,Ð`VÐ`ü‚=
£Ð`
ÿ‡-¢Ð`˜¢Ð`ÿÿÐ`0x10ffffÁüþŒg
¨ ¼`™t 6CP 
¼` ‰jüÚ±g¨ÕÁšÁœšÁ¤œÁüÿ‹gšÁ¸K' ¼` ¼`м`$@¼`¼`š¼`Ÿ¼`¤¼`©¼`®¼`³¼`¸¼`½¼`¼`Ǽ`̼`Ѽ`Ö¼`Û¼`à¼`é¼`î¼`ó¼`ø¼`ý¼`¼`¼`Œ¼`¼`¼`¼` ¼`¥¼`ª¼`¯¼`´¼`¹¼`¾¼`ü`̼`Ѽ`Ö¼`Û¼`à¼`å¼`ê¼`ï¼`ô¼`ù¼`þ¼`ƒ¼`ˆ¼`¼`¼`¼`œ¼`¡¼`¦¼`¯¼`´¼`¹¼`¾¼`ü`ȼ`ͼ`Ò¼`×¼`ܼ`á¼`æ¼`ë¼`ð¼`õ¼`ú¼`ÿ¼`¼`¼`¼`¼`œ¼`¡¼`¦¼`«¼`°¼`µ¼`º¼`¿¼`ļ`ɼ`μ`Ó¼`ؼ`ݼ`â¼`ç¼`ì¼`õ¼`ú¼`ÿ¼`¼`¼`޼`¼`˜¼`¼`¢¼`§¼`¬¼`±¼`¼`»¼`À¼`ż`ʼ`ϼ`ؼ`ݼ`â¼`ç¼`ì¼`ñ¼`ö¼`û¼`¼`¼`м`¼`¼`¼`ˆ¼`¤¼`¼`¯¼`¼`¾¼`¼`ɼ`°¼`Ô¼`°¼`ß¼`°¼`ê¼`°¼`õ¼`м`¼`$… м` ¼`$ м`š ¼`м`¥ ¼`ð¼`° ¼`ð¼`» ¼`ð¼`Æ ¼`ð¼`Ñ ¼`¼`Ü ¼`¼`ç ¼`¼`ò ¼`¼`
¼`$†
0¼`Œ
¼`$
0¼`
¼`
0¼`¢
¼`
0¼`­
¼`
P¼`¸
¼`
P¼`Ã
¼`
P¼`Î
¼`
P¼`Ý
¼`
p¼`è
¼`
p¼`ó
¼`
p¼`þ
¼` p¼` ¼` ¼` ¼`$™ ¼`Ÿ ¼` ¼`ª ¼` ¼`µ ¼` °¼`Ä ¼` °¼`Ï ¼` °¼`Ú ¼` °¼`å ¼` м`ð ¼` м`û ¼`$€ м` ¼`$‹ м` ¼`$– ð¼`  ¼` ð¼`« ¼` ð¼` ¼` ð¼`Á ¼` ¼`Ì ¼` ¼`× ¼` ¼`â ¼` ¼`í ¼` 0¼`ø ¼`$
0¼`
¼`
0¼`
¼`$—
0¼`
¼`
P¼`¨
¼`$­
P¼`³
¼`$¸
P¼`¾
¼`
P¼`É
¼`
p¼`Ô
¼`
p¼`ã
¼`
p¼`î
¼`
p¼`ù
¼`þ
¼`ƒ¼`¼`޼`$“ ¼`¼`0¼`¤¼`@¼`¯¼`P¼`º¼``¼`ɼ`p¼`Ô¼`Ù¼`Þ¼`¼`é¼` ¼`ô¼`0¼`ÿ¼`¼`¼`¼`¼`$™ ¼`£¼`0¼`®¼`³¼`¸¼`¼`ü` ¼`μ`0¼`Ù¼`Þ¼`ã¼`¼`î¼` ¼`ù¼`$‚0¼`ˆ¼`¼`¼`$—¼`¼` ¼`¨¼`0¼`³¼`¸¼`½¼`¼`ȼ` ¼`Ó¼`0¼`â¼`ç¼`ì¼`¼`÷¼` ¼`¼`$‡0¼`¼`¼`¼`¼`¢¼` ¼`­¼`0¼`¸¼`€¼`Ǽ`€¼`Ò¼`€¼`ݼ`€¼`è¼`€¼`ó¼`€¼`þ¼`€¼`¼`€¼`¼`$™€¼`£¼`€¼`®¼`€¼`¹¼`€¼`ļ`€¼`ϼ`€¼`Ú¼`€¼`å¼`€¼`ð¼`€¼`û¼`$„€¼`м`$€¼`¼`€¼` ¼`€¼`«¼`€¼`¼`€¼`Á¼`€¼`̼`€¼`×¼`€¼`æ¼`€¼`ñ¼`€¼`ü¼`$€¼`¼`€¼`¼`$—€¼`¼`€¼`¨¼`¼`³¼`¼`¾¼`¼`ͼ`¼`ؼ`¼`ã¼`¼`î¼`¼`ù¼`¼`¼`$‰¼`¼`$”¼`š¼`¼`©¼`¼`´¼`¼`¿¼`¼`ʼ`¼`Õ¼`¼`à¼`¼`ë¼`¼`ö¼`¼`¼`¼`¼`$•¼`¼`¼`¦¼`¼`±¼`¼`¼¼`¼`Ǽ`¼`Ò¼`¼`ݼ`¼`ì¼`¼`÷¼`¼`¼`$‡¼`¼`$’¼`˜¼`$ ¼`£¼` ¼`®¼` ¼`¹¼` ¼`ļ` ¼`Ó¼` ¼`Þ¼` ¼`é¼` ¼`ô¼` ¼`ÿ¼`$„ ¼`м`$ ¼`¼` ¼` ¼` ¼`¯¼` ¼`º¼`$¿ ¼`ż` ¼`м` ¼`Û¼` ¼`æ¼` ¼`ñ¼` ¼`ü¼`$
š It is an implementation of the existing [ICU4C UnicodeSet API](https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1UnicodeSet.html).ÁÙ úüÝ ƒ ICU4X [`Char16Trie`](`crate::char16trie::Char16Trie`) provides a data structure for a space-efficient and time-efficient lookup ofÁüä NK sequences of 16-bit units (commonly but not necessarily UTF-16 code units)Áü³
 which map to integer values.ÁüÔ
˜ It is an implementation of the existing [ICU4C UCharsTrie](https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1UCharsTrie.html)Áüízw / [ICU4J CharsTrie](https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/util/CharsTrie.html) API.Á4wµí¡¤§”˜üË\ Y This module provides a data structure for a space-efficient and time-efficient lookup ofÁü¨N ˾ü÷ £¿˜ úüœ˜ οüµz ñÀ° úœ´  ## ArchitectureÁÈ úüÌr o ICU4X [`Char16Trie`] is designed to provide a read-only view of `UCharsTrie` data that is exported from ICU4C.Á¿ ú ## ExamplesÁÓ úü×  ### Querying a `Char16Trie`Á÷ ú  ```rustÁü‡? < use icu::collections::char16trie::{Char16Trie, TrieResult};ÁÌÇ  use zerovec::ZeroVec;Áá úüåM J // A Char16Trie containing the ASCII characters mapping 'a' to 1 and 'ab'Á // to 100.ÁüÂ- * let trie_data = [48, 97, 176, 98, 32868];ÁüðI F let trie = Char16Trie::new(ZeroVec::from_slice_or_alloc(&trie_data));Áº úü¾   let mut iter = trie.iter();ÁìÞ  let res = iter.next('a');Áüü 1 . assert_eq!(res, TrieResult::Intermediate(1));Áì®
 let res = iter.next('b');ÁüÌ
1 . assert_eq!(res, TrieResult::FinalValue(100));Áìþ
 let res = iter.next('c');Áüœ ) & assert_eq!(res, TrieResult::NoMatch);Á  ```ÁÎ úüÒ  [`ICU4X`]: ../icu/index.htmlÁT *T Å1½+”§ Ú2·,TÉ å3Dô 
ÅÚåZeroFromÁDÙ 
ÎÌ4Ð Ää€ ¬”Ï M<ç .0 ü§. ü­! ™tÜ´ „º Æ`üØ" ¼Þ Æ`̼ Æ`ÌŒ t’ Æ`Ìí Æ`ìò ”ø Æ`ü›
" ¼¡
Æ`üã
" ¼é
Æ`ü ' ä• Æ`üû % Ô Æ`ü¬ ¬² Æ`ìó ”ù Æ`ü›
" ¼¡
Æ`üâ

Æ`üŽ- T ™tÆ`™t
ç+œ leadÁ$¨ üÕ2 |Ø ™tÆ`™t
ç+è ¨Ð ì‘ ÉR, ü- üµE B Returns a new [`Char16Trie`] with ownership of the provided data.Á ¬¬ä€¯Â¿°¿±¿àAáš1&0Æ`ÉR
¥*$˜ üÆ, üÞU R Returns a new [`Char16TrieIterator`] backed by borrowed data from the `trie` dataÁ$Í é éÉRÚÚ½+ܳ
Ýç+Þò+±g+<`vé Ò 
 üî)& Dñ) î`Æ`

supplementaryÁlú) ü§,& Dª, î`Æ`
µÕl³, Äí. \ú.  †/ ÷0  Œ/ ™/ , / 8³
4Ž/ & ”/ 8$•/ */  ž/ ô0 8,¨/ , ®/ 8³
4¯/  ¶/ î0 8Û$Ä/  È/ Ê/ 8à É/ *Ì/ 8à Ï/ $ Ð/ 8©$Þ/ *ã/  æ/ ä0  8 debug_assertÁd0  ¢0  £0 ©0 8 ,¤0 % ª0 84¼0 8·,TÃ0 'Í0 8É,<Ï0 % Ö0 % õ0 üú0 ë""œT#$%&'()*+,-./0ÿ0 üˆ2, ü 1U R Returns a new [`Char16TrieIterator`] backed by borrowed data for the `trie` arrayÁ2  ëÄÄÅÐLjÀ Hr)¡>
Æ`œT!!
#ë³
$“2 üŽ9- ü±3B ? Traverses the trie from the current state for this input char.Áø3 út€4 # ExamplesÁ“4 ú<4 ±Ëü§4? óÅÌë4 »Æ‰5 úü‘5@ = // A Char16Trie containing the ASCII characters 'a' and 'b'.ÁüÖ5- ØÇüˆ6I ÈÖ6 úüÞ6 îÈì‚7 –Éü¤71 ½ÉìÚ7 ÷Éüü71 žÊì²8 ØÊüÔ8) ÿÊ<9 ±Ë$•9 ê êœTöT! š9 !
$ë$Ÿ9 ® ¥9 üþA. ü¡<B ÿÚè< útð< ÖÛƒ= ú<= ±Ëü—=? óÅÌÛ= »Æù= úü>@ ®ÜüÆ>- ØÇüø>I ÈÆ? úüÎ? îÈìò? –Éü”@1 ½ÉìÊ@ ÷Éüì@1 žÊì¢A ØÊüÄA) ÿÊ<òA ±Ë4…B ë ëœTÐ`öT! ŒB !
%ë$B ® —B üK. ü‰EB ÿÚÐE útØE ÖÛëE ú<óE ±ËüÿE? óÅÌÃF »ÆáF úüéF@ ®Üü®G- ØÇüàGI È®H úü¶H îÈüÚH& # let res = iter.next16('a' as u16);Áü…I1 ½Éü»I& # let res = iter.next16('b' as u16);ÁüæI1 žÊüœJ& # let res = iter.next16('c' as u16);ÁüÇJ) ÿÊ<õJ ±Ë4ˆK ì ìœTÆ`öT! K !
&ë$”K ® šK üØRP \ÛR í íœT™t™tÆ`öT! çR !
'ë$ìR ç+òR lengthÁ4þR in_unitÁ<S ü³h? L¶h î îœT™tÆ`öT! Àh !
(ë$Åh ç+Ëh æ<×h ”¼t $¿t ï ïœT! Ät !
)ë$Ét ü¼u4 l¿u ð ðœT™tÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ™t! Íu !
*ë$Îu ç+Ôu üøz1 Tûz ñ ñœT™t”é! †{ !
+ë$‡{ ç+{ üá|1 Tä| ò òœT™t”é! ï| !
,ë$ð| ç+ö| ü™0 dœ ó óœT™töT! © !
-ë ç+° üü5 Lÿ ô ôœT™tÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙöT! ‰‚ !
.ë$Š‚ ç+ üÒ…? TÕ… õ õœT™tÆ`Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙî`! à… !
/ë$á… ç+ç…  lead_unitÁLó… üЉD |Ó‰ ö öœT™tÆ`“î! ㉠!
0ë$ä‰ ç+ê‰ ‹îLö‰ „‡ Ä¡ „à ĬüËmj This module provides necessary functionality for highly efficient querying of sets of Unicode characters.Á¹úü½EB It is an implementation of the code point portion of the existingÁüƒur [ICU4C UnicodeSet API](https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1UnicodeSet.html).Áùú”ý # ArchitectureÁü ICU4X [`CodePointInversionList`] is split up into independent levels, with [`CodePointInversionList`] representing the membership/query API,Áü¡GD and [`CodePointInversionListBuilder`] representing the builder API.Áéú # Examples:Áýúü*' ## Creating a `CodePointInversionList`Á¬úü°a^ `CodePointSets` are created from either serialized [`CodePointSets`](CodePointInversionList),Áü’jg represented by [inversion lists](https://unicode-org.github.io/icu/userguide/strings/properties.html),ÁüýFC the [`CodePointInversionListBuilder`], or from the Properties API.ÁÄú±ËüÐ-* use icu::collections::codepointinvlist::{Áüþ>; CodePointInversionList, CodePointInversionListBuilder,Á };ÁÄ úüÈ ;8 let mut builder = CodePointInversionListBuilder::new();Áü„
! builder.add_range('A'..='Z');Áü¦
63 let set: CodePointInversionList = builder.build();ÁÝ
úüá
 assert!(set.contains('A'));Á< ±Ë úü *' ## Querying a `CodePointInversionList`Á¸ úü¼ Œ Currently, you can check if a character/range of characters exists in the [`CodePointInversionList`], or iterate through the characters.ÁÉ ú ±ËüÕ -Ð÷üƒ
>‡ø
ÎøÉ
úüÍ
;êøü‰!¯ùü«6Úùâúüæ¦úü†+( assert!(set.contains_range('A'..='C'));Áü²30 assert_eq!(set.iter_chars().next(), Some('A'));Á±Ëîúüò ÎË„´5fÀÁÂÇÌÍÀ´š¡tè-ÌÅûut<ð {4vló4EFG¡ûÿ­157 RangeBoundsÁ\ò¤#58¾t„½£59É~”¨
R5:YokeableÁDÆÙ5;–€ P5;ÎÌ
5<ÎÌ45<AsULEÁ,ûµ5>ñ<5?ä€<¬5@æ3|¡À5Aæ3Á5A³Œ× q5C o5D$à47„í œÿü™!õ”ÔÕ<쥧–´š‰ô¶ik[]”è5Ð`üæ3„ì5¬¬ä€¯Â¿°¿±¿àAáš1&0¾ü€ *<† 5èƒü’:)IIœVJLMNORUXYZ[\]^_abd,—:üÞF|üÂ:sp Returns a new [`CodePointInversionList`] from an [inversion list](https://en.wikipedia.org/wiki/Inversion_list)Áüº;LI represented as a [`ZeroVec`]`<`[`PotentialCodePoint`]`>` of code points.Á<úü“<PM The inversion list must be of even length, sorted ascending non-overlapping,Áüè<YV and within the bounds of `0x0 -> 0x10FFFF` inclusive, and end points being exclusive.ÁÆ=útÎ=ÖÛá=ú<é=±Ëüõ=C@ use icu::collections::codepointinvlist::CodePointInversionList;Áü½><9 use icu::collections::codepointinvlist::InvalidSetError;Áüþ>*' use potential_utf::PotentialCodePoint;ÁÌ­?»ÆË?úüÓ? let valid = [0x0, 0x10000];Áü÷?52 let inv_list: ZeroVec<PotentialCodePoint> = validÁ¤±@ .into_iter()ÁüÊ@*' .map(PotentialCodePoint::from_u24)Áœù@ .collect();Áü‘AKH let result = CodePointInversionList::try_from_inversion_list(inv_list);ÁüáA63 assert!(matches!(result, CodePointInversionList));ÁœBúü¤B'$ let invalid = vec![0x0, 0x80, 0x3];ÁüÐB74 let inv_list: ZeroVec<PotentialCodePoint> = invalidÁ|ŒC .iter()ÁŒ C .copied()Áü¶C*ÕŠœåCˆ‹üýCK¥‹üÍD74 assert!(matches!(result, Err(InvalidSetError(_))));Áü‰E2/ if let Err(InvalidSetError(actual)) = result {ÁœÀE assert_eq!(Á¬ØE &invalid,ÁüòEB? &actual.into_iter().map(u32::from).collect::<Vec<_>>()ÁT¹F );Á,ÈF<ÒF±Ë¼åF¬¬ä€¯Â¿°¿±¿àAáš1&0¾Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
œV…ZHH
J.D†Gd§IJ<closure_kind>ÁK<closure_signature>ÁK<upvars>ÁKKJKä`Œ€Ð`üéM€üñLKH Safety: no actual safety invariants, however has correctness invariantsÁ4ÇM¤ýMÔ‘Ð`œVHH
L.}K†KÔèeü aDA Returns [`CodePointInversionList`] spanning entire Unicode rangeÁéaúüña52 The range spans from `0x0 -> 0x10FFFF` inclusive.Á,«b ÁtµbÖÛÈbú<Ðb±ËüÜbCð‡¤cúü¬c1. let expected = [0x0, (char::MAX as u32) + 1];Á|âc assert_eq!(Áüöc?< CodePointInversionList::all().get_inversion_list_vec(),Á„ºd
expectedÁ4Ïd );Á|Úd‘—üîd-* CodePointInversionList::all().size(),Áü e,) (expected[1] - expected[0]) as usizeÁ4Ñe‹˜<Üe±ËõeœVHH
M¤Íküòf96 Returns [`CodePointInversionList`] spanning BMP rangeÁ°gúü¸g30 The range spans from `0x0 -> 0xFFFF` inclusive.ÁðgútøgÖÛhú<“h±ËüŸhCð‡çhúüïh  const BMP_MAX: u32 = 0xFFFF;Á”iúüœi&# let expected = [0x0, BMP_MAX + 1];Á|Çi‘—üÛi?< CodePointInversionList::bmp().get_inversion_list_vec(),Á„Ÿjò—4´j‹˜|¿j‘—üÓj-* CodePointInversionList::bmp().size(),Áü…k,ߘ4¶k‹˜<Ák±ËÔkœVHH
Nü¦t;üÊn\Y Yields an [`Iterator`] going through the character set in the [`CodePointInversionList`]Á«oút³oÖÛÆoú<Îo±ËüÚoCð‡ü¢p0- let example_list = [0x41, 0x44, 0x45, 0x46];Áü×pLI let example = CodePointInversionList::try_f
chunk_sizeÁ™lŽœü€ìj¼Q8££¹ƒ£¹„£þ-'ºˆÉ¬gÐ`Qä` 8Ž€ì§
Ú2Íì8PpùMר¬ÇtרúM\Ðtר8ßtϨ¦ì¨.ü¨#©O4ùuO¶’QÎ’Që’QQOQä`“”ì§ü’TüØwKH Yields an [`Iterator`] returning the ranges of the code points that areÁü¨x.+ included in the [`CodePointInversionList`]ÁÛxúüãxHE Ranges are returned as [`RangeInclusive`], which is inclusive of itsÁü°yDA `end` bound value. An end-inclusive behavior matches the ICU4C/JÁüùy[X behavior of ranges, ex: `CodePointInversionList::contains(UChar32 start, UChar32 end)`.ÁÙzúláz
# ExampleÁózú<ûz±Ëü‡{Cð‡üÏ{0æŸü„|L  ´Õ|õ ,ð|”¡tú|¢¡ü}85 let mut example_iter_ranges = example.iter_ranges();ÁüÊ}>; assert_eq!(Some(0x41..=0x43), example_iter_ranges.next());Áü~>; assert_eq!(Some(0x45..=0x45), example_iter_ranges.next());ÁüÐ~1. assert_eq!(None, example_iter_ranges.next());Á<†±Ë\™ø øœVøSH ¥H
RøÏ¯7R8ÉÉRâ­â­MapÁå­ùæ­±Å@Iœóë ¶¥•§Tä`´¨½£½£¾¿£¹À£þÁ£ exhaustedÁ1¥œMu7·PÐ`Íì8SèÃM›³ü´-›³úM¹²ÔÆ›³8䓳 ¯³1À³#Ó³R4Ò€R¶’TÎ’Të’TTRTä`“”¹²üâŠXüÉ‚K§©ü™ƒ41 *not* included in the [`CodePointInversionList`]ÁÒƒúüÚƒHÀªü§„D’«üð„[à«Ð…úlØ…Ьê…ú<ò…±Ëüþ…Cð‡üƆ0æŸüû†L  ´Ì‡õ ,燔¡tñ‡¢¡ü„ˆEB let mut example_iter_ranges = example.iter_ranges_complemented();ÁüΈ;8 assert_eq!(Some(0..=0x40), example_iter_ranges.next());Áüމ>; assert_eq!(Some(0x44..=0x44), example_iter_ranges.next());ÁüщJG assert_eq!(Some(0x46..=char::MAX as u32), example_iter_ranges.next());Áü Š1£¯<ÖŠ±ËÄéŠù ùœVùVH ‚‹H
U$ƒ‹øÖŒ‹.U8ÊÊUð¬ð¬ChainÁó¬¬Ü6ô¬­Ü6r_­koiÖð¬ð¬ß¹ó¬¬Ü6ô¬­Ü6r_­koiÖ€½€½IntoIterÁ‚½„E‰T˜)ƒ¾É—V¹²â­â­ñ°å­ùæ­±Å@Iœóë ¶¥•§Wä`³²Õ»Íì8VQùMñ¼ü‘‹$ñ¼úM¹²Ôš‹ñ¼8¸‹é¼†½4˜½%¬½U4ΑU¶’WÎ’Wë’WWUWä`Ï´üÏ”&üý“MJ Returns the number of ranges contained in this [`CodePointInversionList`]Á|Ö”ú úœV™tH æ”H
X$ç”üœ–Fü£•SP Returns a specific range contained in this [`CodePointInversionList`] by index.Áäû• Intended for use in FFI.Ál£–û ûœV™tÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¹²H ±–H
Y$²–idxÁ¸–Ü—™üΘDA Returns the number of elements of the [`CodePointInversionList`]Á$ž™ü üœV™tH £™H
Z$¤™ôßšü˜šB? Returns whether or not the [`CodePointInversionList`] is emptyÁDæšý ýœVH ïšH
[$ðšü5t’5þ þœVÐ`”éH ¡H
\queryÁ,¨ü³¦+üÇ¡@= Checks to see the query is in the [`CodePointInversionList`]ÁŒ¢úü”¢WT Runs a binary search in `O(log(n))` where `n` is the number of start and end pointsÁüð¢,) in the set using [`core`] implementationÁ¡£út©£ÖÛ¼£ú<Ä£±ËüУCð‡ü˜¤0- let example_list = [0x41, 0x43, 0x44, 0x45];ÁüͤL  ´ž¥õ ,¹¥”¡tÃ¥¢¡üÖ¥# assert!(example.contains('A'));Áüþ¥$! assert!(!example.contains('C'));Á<§¦±ËDº¦ÿ ÿœVH æH
]$ĦÅÄ,ʦü‡¯,ü §mj Checks to see the unsigned int is in the [`CodePointInversionList::all()`](CodePointInversionList::all())Á’¨úüš¨OL Note: Even though [`u32`] and [`prim@char`] in Rust are non-negative 4-byteÁüî¨MJ values, there is an important difference. A [`u32`] can take values up toÁüÀ©QN a very large integer value, while a [`prim@char`] in Rust
Rflè€,¿µfm䀬fnIncludedÁEÚ¬xé£fjìóê£fjExcludedÁE®xì£fjŸôí£fj UnboundedÁMÞ¯xï£fjÒôð£fj$ÏüþÌÏôöüŠ!ꜱÝ„ÊÏüÐIˆ ˆ¬¬ä€¯Â¿°¿±¿àAáš1&0¾ ð
o inv_list_zvÁ\ã<—o¶’pÎ’pë’ppopä`“”üädŒëÒÐ`Ð`¥rÒssrÍìƒg ýÍì×øœ‡ æƒgÐ`Š ƒg¤#×øƒg
qƒg×øûB,€ \^XZü!=üº$
=œä=üÆ"üË_\ This module provides functionality for querying of sets of Unicode code points and strings.Á«úü¯`] It depends on [`CodePointInversionList`] to efficiently represent Unicode code points, whileÁü30 it also maintains a list of strings in the set.ÁÄúüÈ…¼ÔÎÐïü¢À´Û¡wytè-Ìóûwzut< {w{–€Ùw|–€ Pw|ÎÌ
w}ÎÌ4w} VarZeroSliceÁdÒwâw¼Á¾À¬®œƒŸtœ‘”°q<ÈGI79ü„6…[ƒˆŒŽ,‰üðüÁhe Returns a new [`CodePointInversionListAndStringList`] from both a [`CodePointInversionList`] for theÁü®=: code points and a [`VarZeroVec`]`<`[`str`]`>` of strings.ÁD÷œVââãçˆ Ó 7)ºëØj±žÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
…[ã^
ƒ²5\‰Í5D½ü‚)Ž4à(¤)œVó€…[
²5lNÍ5ÞNܯ,ü…+A> Returns the number of elements in this set (its cardinality).ÁüË+?< Note than the elements of a set may include both individualÁÜ, codepoints and strings.Á$¶,Š Š…[™t »,
$¼,üå-!üŽ-RO Return true if this set contains multi-code point strings or the empty string.Á\ì- …[ ø-
$ù-üÙ5+¶.út¾.ÖÛ<Ñ.±ËüÝ.Cð‡ü¥/ZW use icu::collections::codepointinvliststringlist::CodePointInversionListAndStringList;Áä„0 use zerovec::VarZeroVec;Á¥0úü­085 let cp_slice = &[0, 0x1_0000, 0x10_FFFF, 0x11_0000];ÁŒê0 let cp_list =Áü€1TQ CodePointInversionList::try_from_u32_inversion_list_slice(cp_slice).unwrap();ÁüÙ1<9 let str_slice = &["", "bmp_max", "unicode_max", "zero"];Áüš263 let str_list = VarZeroVec::<str>::from(str_slice);ÁÕ2úüÝ2[X let cpilsl = CodePointInversionListAndStringList::try_from(cp_list, str_list).unwrap();Á½3úüÅ3,) assert!(cpilsl.contains_str("bmp_max"));Áüö3%" assert!(cpilsl.contains_str(""));Áü 4&# assert!(cpilsl.contains_str("A"));ÁüË4JG assert!(cpilsl.contains_str("ቔ")); // U+1254 ETHIOPIC SYLLABLE QHEEÁüš5.+ assert!(!cpilsl.contains_str("bazinga!"));Á<Í5±Ëdà5Œ Œ…[  í5
$î5¾ ô5üª8-ô‡8 See [`Self::contains_str`]Ál±8Ž Ž…[ ×Á ¿8
ˆ$À8¾ Æ8´æ8\ñ8ø:ˆ¶’ŠÎ’Šë’ŠŠˆŠä` ¿ßÀßÁßLessÁÂßÃßÄß~Å߯ßÇßGreaterÁÈßåºÝÈnûê7ÕÁüèA)±;út¹;ÖÛ<Ì;±ËüØ;Cð‡ü <Z¨†äÿ<‹‡ =úü¨=FC let cp_slice = &[0, 0x80, 0xFFFF, 0x1_0000, 0x10_FFFF, 0x11_0000];ÁŒó=þ‡ü‰>UR CodePointInversionList::try_from_u32_inversion_list_slice(cp_slice).unwrap();Áüã>IF let str_slice = &["", "ascii_max", "bmp_max", "unicode_max", "zero"];Áü±?6½‰ì?úüô?[‰ŠÔ@úüÜ@" assert!(cpilsl.contains32(0));ÁüƒA'$ assert!(cpilsl.contains32(0x0042));Áü¯A(% assert!(!cpilsl.contains32(0x0080));Á<ÜA±ËTïA …[Ð` úA
$ûAcpÁBüËI(ÇBútÏBÖÛ<âB±ËüîBCð‡ü¶CZ¨†ä•D‹‡¶Dúü¾D8½‡ŒûDþ‡ü‘ET™ˆüêE<÷ˆü«F6½‰æFúüîF[‰ŠÎGúüÖG" assert!(cpilsl.contains('A'));ÁüýGFC assert!(cpilsl.contains('ቔ')); // U+1254 ETHIOPIC SYLLABLE QHEEÁüÈH,) assert!(!cpilsl.contains('\u{1_0000}'));ÁüùHMJ assert!(!cpilsl.contains('🨫')); // U+1FA2B NEUTRAL CHESS TURNED QUEENÁDÒI …[ ÛI
Œ$ÜIchÁâIüÞJ;ü¤J52 Access the underlying [`CodePointInversionList`].Á\åJ …[ œV ñJ
$òJüçK+üÁK! Access the contained strings.Á<îK …[ 
˜ªñCÌñ
ª«ö=lœ Õ¬Ÿ@œ» ú­ÛDŒà ³®®E”ƒ »¯«;D§ §°½ ž±®F,Ü Ç²­”ó Ö³CodePointTrieErrorÁ”Ÿ
Ô´ž£ÕÖ˜ªÕú³»§ÇÃÄÏÔCharTryFromErrorÁ„ü›ª
InfallibleÁT¡ˆêíðt<ØÄcTryFromIntErrorÁ|¨€“¾½£˜–€Ù–€ PÎÌ
šÎÌ4šè€,–µÐĜ䀬‰#|Õ
 #ÜÎ
ŽÃ#œÙ
Þ#ÜÍ
$ä±
¥$Üï
È$Ô—
ê$„ù
‚%\¸
•%”Þ
¯%<Ø
¾%<ª
˜Í%<†
Ü%L–
ší%L®
þ%ÔÔ
œ &¤È
¼&dÄ
žÐ&¤º
Ÿì&¤¢
 ˆ'dž
¡œ'¼Œ
¢»'|Œ
£Ò'tË
¤üÏ"fü÷ äðMÌ’4´±%”ÍÔû̽ìܔ𹜈”׈„ïyü¥<üŸTQ A trait representing the values stored in the data array of a [`CodePointTrie`].ÁüôMJ This trait is used as a type parameter in constructing a `CodePointTrie`.ÁÂúüÆ^[ This trait can be implemented on anything that can be represented as a u32s worth of data.ÁžžÎìü¥ãŠ ˜³˜³Áµß˜³˜³µ˜³˜³ž³j¤³^´³TijEÙ³;é³6³ޤ³´³xijiÙ³_é³ ¡Ÿ ¡Í옳ŸôšÄcá´Ù´ñ´ ¡ìšüèNK Last-resort fallback value to return if we cannot read data from the trie.Á»úüÃUR In most cases, the error value is read from the last element of the `data` array,Áü52 this value is used for empty codepointtrie arraysÁü×>; Error type when converting from a u32 to this `TrieValue`.Á|Ÿžžüª?ü½OL A parsing function that is primarily motivated by deserialization contexts.Áü‘RO When the serialization type width is smaller than 32 bits, then it is expectedÁüè=: that the call site will widen the value to a `u32` first.Ád­Ð`Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
˜³á´žž
 ˜³´ º¼ïüïFC A method for converting back to a `u32` that can roundtrip throughÁüºFC [`Self::try_from_u32()`]. The default implementation of this traitÁü…>; method panics in debug mode and returns 0 in release mode.ÁÈúüÐJG This method is allowed to have GIGO behavior when fed a value that hasÁüŸKH no corresponding `u32` (since such values cannot be stored in the trie)Á4ò˜³Ð`žž
¡˜³üŠ&Ì— ± ¥# · Ð , ¸8 primitiveÁ& Â8´Ã$ Å, Ç8à"& Í8´Î*Ò Õ ¢#88½8
î, ò8›¾ ý œ#8!$ 8Î|    , ¢ 8à"% ¨ 8 8å Å  Ì 8´ Æ & Ç 8ÔÉ (Î 8Í × 8$ Ü 8'â 8Î ó  õ  ¥!8$‡!'!8ªD! •! —!8´ !+ ´! µ! Ò!8«,¶! »! Ñ!8trivial_numeric_castsÁ¬¼!8 à!8ù4ã! é! î!8$ê!(ð!8Ôó! ÷! #8$ú"8ÿ"8Ô#% £#üÚ)U”Ý)ƒgƒgƒgƒg¥¤¤ˆù ð)žƒgLó)
£ƒg»,þ)trie_null_valueÁ|ˆ*šATœ*BDìŸLº_¦§òó§TÃL,ÈL¥¥ÖküÜL9DßL¼`Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
º_Ök¥¥
§
trie_type_intÁlèLtÈR ÕR ÖR ™Y  ùS ‰T , úS8¬ ûS& üS8¯ýS €T, T8­ ƒT& „T8$…T*T ŽT ÓU ˜T ÍU+ ¦T §T ¼T8«,¨T ­T »T8
unused_parensÁl®T8ÊT8¬ ÎT ÐT, ÒT8¬ ÓT% ÔT8âT8­ æT èT, êT8­ ëT% ìT8ä×dúT †U ‡U ¢U8¬ ˆU ‰U8 checked_addÁ\ŠU •U —U8­ U ˜U8is_someÁ<™U  U ¡U% £U, ±U8¬ ²U ³U8æd´U ÀU ÃU, ÁU8­ ÂU% ÔU ÚU êU , ÛU8¬ ÜU& ÝU8¯ÞU áU, ãU8­ äU& åU8$æU*ìU ïU µW úU ¯W+ ˆV ‰V žV8«,ŠV V V8­ÇlV8¬V8¬ °V ²V, ´V8¬ µV% ¶V8ÄV8­ ÈV ÊV, ÌV8­ ÍV% ÎV8ä×dÜV èV éV „W8¬ êV ëV8 checked_subÁ\ìV ÷V ùV8­ øV úV8–É<ûV W ƒW% …W, “W8¬ ”W •W8ëdW ¢W ¥W, £W8­ ¤W% ¶W ¼W ÌW , ½W8¬ ¾W& ¿W8¯ÀW
ÃW, ÅW8­ ÆW& ÇW8$ÈW*ÎW ÑW
ÕaÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÕaÖk© Ðh©
®ñÕa>4ÈhÖ,îh¥*$Žiü¤†YüÂ…OL Turns this trie into a version whose trie type is encoded in the Rust type.ÁD«†aÇÊË»;̈ÍÎÑ;ψ$>=¶9äÏhÒi©©
¯ñÕa$´†ü͉oüÚˆ`] Obtains a reference to this trie as a Rust type that encodes the trie type in the Rust type.ÁdÔ‰ aÇÊË»;̈ÍÎÑ;ψ$>=¶9ä Ïh Òi© ꉩ
°ñÕa$ë‰üð%¤ó˜ ˜aÐ`© ˆ‘©
±ñÕa$‰‘üû“6¤þ“ aÐ`Ð`© “”©
²ñÕa$””
code_pointÁTš”ü„¯-\‡¯š šaÐ`Ð`© “¯©
³ñÕa$”¯¿áTš¯ü˶,Tζ aÐ`Ð`© Ù¶©
´ñÕa$Ú¶¿áTà¶ü®½;œ±½œ œaÐ`Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÕa© Ž©
µñÕa$ƽ¿áT̽ü¥Ç@̯Ç aÐ`Õa© ÉÇ©
ñÕa$ÊÇ¿áTÐÇüúÕ9ÌýÕž žaÐ`Õa© —Ö©
·ñÕa$˜Ö¿áTžÖü’Ü4¤•ÜŸ ŸaÐ`Õa© ªÜ©
¸ñÕa$«Ü¿áT±Üüñã)üÿßUR Returns the value that is associated with `code_point` in this [`CodePointTrie`].ÁÙàútáàÖÛôàú<üà±Ëüˆá0££ü½á)Ý£ëáúüóá2œ¤üªâ6ؤüåâ8˜¥<¢ã±Ë,øã   aÐ`Õa© þã©
¹ñÕa$ÿã¿áT…äüÌéü–æOL Returns the value that is associated with `char` in this [`CodePointTrie`].ÁêæútòæÖÛ…çú<ç±Ëü™ç0££üÎç)Ý£üçúü„è/, assert_eq!(0, trie.get('A')); // 'A' as u32Áü¸è30 assert_eq!(0, trie.get('á ')); // 'á ' as u32Áüðè52 assert_eq!(1, trie.get('ð„')); // 'ð„' as u32Á<ªé±ËÓé¡ ¡aÕa© ×é©
ºñÕa$Øé® Þéüáí"üøìNK Returns the value that is associated with `bmp` in this [`CodePointTrie`].Á,èí¢ ¢aÆ`Õa© îí©
»ñÕa$ïí°õíüâó:ü’ñC@ Lookup trie value by non-Basic Multilingual Plane Scalar Value.ÁÚñúüâñ`] The return value may be bogus (not necessarily `error_value`) is the argument is actually inÁüÇòB? the Basic Multilingual Plane or above the Unicode Scalar ValueÁüŽó96 range (panics instead with debug assertions enabled).Áœéó£ £aÐ`Õa© ýó©
¼ñÕa$þóµÕl„ôüüù;üÂõol Returns a reference to the ULE of the value that is associated with `code_point` in this [`CodePointTrie`].Á¶öút¾öÖÛÑöú<Ùö±Ëüåö0££üš÷)Ý£È÷úüÐ÷=: assert_eq!(Some(&0), trie.get32_ule(0x41)); // 'A' as u32Áü’øA> assert_eq!(Some(&0), trie.get32_ule(0x13E0)); // 'á ' as u32ÁüØøC@ assert_eq!(Some(&1), trie.get32_ule(0x10044)); // 'ð„' as u32Á< ù±ËLƒú¤ ¤aÐ`Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ¤Õa© ú©
½ñÕa$Žú¿áT”úüЬCü¬šKH Returns a [`CodePointMapRange`] struct which represents a range of codeÁüüšJG points associated with the same trie value. The returned range will beÁüË›KH the longest stretch of consecutive code points starting at `start` thatÁ¬›œ share this value.Áµœúü½œ:7 This method is designed to use the internal details ofÁüüœKH the structure of [`CodePointTrie`] to be optimally efficient. This willÁüÌHE outperform a naive approach that just uses [`CodePointTrie::get()`].Á™žúü¡žJG This method provides lower-level functionality that can be used in theÁüðžIF implementation of other methods that are more convenient to the user.Áü¾Ÿ>; To obtain an optimal partition of the code point space forÁü ;8 this trie resulting in the fewest number of ranges, seeÁüÁ %" [`CodePointTrie::iter_ranges()`].Áë útó ÖÛ†¡ú<Ž¡±Ëüš¡0££Ï¡úüס)Ý£…¢úü¢)& const CODE_POINT_MAX: u32 = 0x10ffff;ÁÌ»¢ let start = 0x1_0000;ÁÜÙ¢ let exp_end = 0x1_ffff;Áù¢úü£&
C[î`üÄ*
@[Ð`üÏ"
=[Ð`üÃ*
:[Ð`ü§+
7[Ð`üå*
4[Ð`ü)
1[Ð`üï
.[Ð`Ô®
*[Ð`üÔ !
'[Ð`´Î
#[Ð`´ 
[Ð`´ü
[Ð`ÄŒ
[Ð`Ĥ
[Ð`üÊ)
[Ð`ü¾#

[Ð`ܺ
 [Ð`ü°#
[Ð`ü˜#
[Ð`Ü”
ÿZÐ`ü‚&
üZÐ`ô‚
øZÐ`ìÁ
ôZÐ`tÞ üËQN Sample data for [`CodePointTrie`] that returns the code point's plane number.Á¨©ä€¬¥§½èYž¥¦­§Ö¥¦«;D›§¥¦ö=lÃ.Õ¥¦Ÿ@œë>ú¥¦ÚBŒ¼×˜¥¦ñCÌþÙª¥¦ÛDŒ•ˆ³¥¦®E”—»¥¦ýE¼‹ªÃ¥¦ýEÄ¥¦®F,¾«Ç¥¦ä¢„ÇüÚ!¤à¥ ×Áüùl6üjHE Return a [`CodePointTrie`] that returns the Unicode plane number, anÁüÖj52 integer from 0-16 inclusive, for each code point.ÁŒkúÄk This `CodePointTrie`Áü©kKH does not actually represent any Unicode property, but it is provided inÁüõkFC case it is useful to users of `CodePointTrie` for testing or otherÁü¼l<9 purposes. See <https://www.unicode.org/glossary/#plane>.Á|€mÕÕö=Ø›>ÙÖÚ¥*ù¾õŒÅÀÙŒ/ú¼`
©ÌÆ
$cüé
!c¬” cܳ cÌØ ùbÔû îb„Ÿ ãbŒ¹ ØblÔ ÍbÔë Âbd
¥bì‚t‘·ÚBŒå˜µªüÏ'üÚ2Ô울¥¹¸¹Íì½m Ó Šƒm©Ò*½#·_º»'),.<“$“µ··½mü "$ µ··ÊüÇcš½¥¾¾½½múMŽÜÓ ÏÕaÒùM½mü„%Úî ̃m¿
 >@ܱ¸½mƒm¼¼
¿½mÕaùüúpšÁ¥ÂÁÂŒðÜÍÓ ¦ðµðüÄ%Úî ÿƒmÃÄúMûMÄ?AÀÀŽü˜($›¹ ¹ƒmÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙƒmúMÀ  À
ĽmÕaäÌ ü«N K This struct represents a de-serialized `Char16Trie` that was exported fromÁ¤ú  ICU binary data.Á úü“G D Light-weight, non-const reader class for a `CharsTrie`. Traverses aÁüÛN K char-serialized data structure with minimal state, for mapping 16-bit-unitÁüª- * sequences to non-negative integer values.ÁØ úÌÜ  For more information:Áüör o - [ICU4C UCharsTrie](https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1UCharsTrie.html)Áüéz w - [ICU4J CharsTrie](https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/util/CharsTrie.html) API.ÁT× ÆÆÆ`ýü ÉRŸƒ8}Æ4ÃÇ ìï üï- * An array of u16 containing the trie data.Á  ÅÅÓ( Ä QÉÉÉRÊÙÊ¢¤24º ºÉRÉRÈ Ä È
Ê„( Ë RÌÌÉRÍÀcÍ(+46»¼½ »ÉR ¼ c cˆ¢cµ
 `£cbufÁ `àB¤GS
½Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŸÈŸÈ ÈÏ éBLË Ë Ë
ÍV±]H
Ò SÏÏÉR})-SÑÑÉRÒ·ßÒ¯²[]¾¿ ¾ÉR ¿ÉRÐ
Ò Ð
Ò½¹
ÃÝ TÔÔÉRÕÕMP4:OÀ ÀÉRÓÝ Ó
ÕŸ@á U‘+ל+ØØ×­SÙ
Ù68:<>@ ‘+äS­SÖÖ
Ù‘+œ+thisÁü€! üª= : This struct represents an iterator over a [`Char16Trie`].Á”‹ ëÛÛœT±g+<`vÜÝÞž Äè ÚÚÛ”× × ÚÚ”éüÒ % ´Ò ÚÚ”é(ñ VëààœTáÙáˆ24Á ÁœTœTßñ ß
áë„(ø WëããœTäÀcä 46ÂÃÄ ÂœT àc cˆ¢cµ
 `£cèû `àB¤GS
Äýâø â
äëÞ±䜓" üü J G An enum representing the return value from a lookup in [`Char16Trie`].ÁTœ" öTÿ ךˆ|Êæçèéêëíîçéëìî`öTîïî`öT<î# ü­"9 6 The input unit(s) did not continue a matching string.Áüë"N K Once `next()` returns `TrieResult::NoMatch`, all further calls to `next()`Áü¾#+ ( will also return `TrieResult::NoMatch`.ÁÖååöTéëååöT<% üû#K H The input unit(s) matched a string but there is no value for the stringÁüË$1 . so far. (It is a prefix of a longer string.)ÁååöT©«ååöTÂ×üŽ%J G The input unit(s) continued a matching string and there is a value forÁüÝ%I F the string so far. No further input byte/unit can continue a matchingÁ\«&  string.ÁÂ×åå
ëÂ×Â×î`öTååéÆ& ååî`ØüÐ&J ¥‹üŸ'G D the string so far. Another input byte/unit can continue a matchingÁ\ë' ËŒØåå
îØØî`öTå很( ååî`(Ð! 
XöT/3XöTòÙòMOÅ ÅöTöTñÐ! ñ
ò˜ ×! YöT(Ý! ZöTõÀcõ!#ÆÇÈ ÆöT Ç c cˆ¢cµ
 `£cèû `àB¤GS
ÈýôÝ! ô