Files
boc/aamos-ledger-rust/target/debug/deps/libicu_collections-c77f08d8df9bda58.rlib
T

1531 lines
915 KiB
Plaintext
Raw Normal View History

!<arch>
/ 0 0 0 0 57936 `

Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\
Œ\ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$13get_unchecked17hd5770298d3b17346E_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$3get17h160df9d560384cf6E_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$3get17h45c933fd2aa5c014E_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$3get17he06159fca70f5c20E_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17he3663754f8fcfc90E_ZN106_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..double_ended..DoubleEndedIterator$GT$9next_back17h3449abbe2379f699E_ZN108_$LT$core..ops..range..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$13get_unchecked17h546716c6dd1d4f21E_ZN108_$LT$core..ops..range..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$3get17hde6a09af76e86702E_ZN108_$LT$core..ops..range..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hcd73cac14b7f1bebE_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$13get_unchecked17h260a4f41bfe077c8E_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$3get17h51e315d8c0dc75f0E_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hb5241dc91e3452c4E_ZN121_$LT$zerovec..varzerovec..components..VarZeroSliceIter$LT$T$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h723ba18deecc685bE_ZN7zerovec10varzerovec10components33VarZeroVecComponents$LT$T$C$F$GT$3len17hf7d45060d5b73aaeE_ZN7zerovec10varzerovec10components33VarZeroVecComponents$LT$T$C$F$GT$13indices_slice17hd248289a125baa08E_ZN148_$LT$icu_collections..char16trie..trie..Char16Trie$u20$as$u20$zerofrom..zero_from..ZeroFrom$LT$icu_collections..char16trie..trie..Char16Trie$GT$$GT$9zero_from17hab1d97c364bea8e1E_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17hd43d76220b70a2c7E_ZN15icu_collections10char16trie4trie18Char16TrieIterator4next17h823c4393c10be7c2E_ZN15icu_collections10char16trie4trie18Char16TrieIterator6next1617hee1025ee6f1caaa9E_ZN15icu_collections10char16trie4trie18Char16TrieIterator6next3217hbca369375b5fd139E_ZN4core3cmp10PartialOrd2gt17h177c08a67f6a6ba5E_ZN4core3cmp3Ord3min17h6a5ee90ffb4c12a1E_ZN4core3cmp6max_by17h069c353dd161bdefE_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17h61d211ab185da08aE_ZN4core3ops5range25RangeInclusive$LT$Idx$GT$3end17hc3a0bec3fad863f3E_ZN4core3ops5range25RangeInclusive$LT$Idx$GT$3new17ha5c8520f18ac6d1dE_ZN4core3ops5range25RangeInclusive$LT$Idx$GT$5start17he315485af8f90988E_ZN4core3ops8function5FnMut8call_mut17h0208558ab8d18943E_ZN4core3ops8function5FnMut8call_mut17hcf0f3fa14131c08fE_ZN4core3ops8function6FnOnce9call_once17h3acb4c20ba4968ceE_ZN4core3ops8function6FnOnce9call_once17h5da842d1ed6c41a5E_ZN4core3ops8function6FnOnce9call_once17h7ce392e773f08b47E_ZN4core3ops8
icu_collections-c77f08d8df9bda58.icu_collections.7389088bbac2ad9d-cgu.0.rcgu.o/
icu_collections-c77f08d8df9bda58.icu_collections.7389088bbac2ad9d-cgu.1.rcgu.o/
icu_collections-c77f08d8df9bda58.icu_collections.7389088bbac2ad9d-cgu.2.rcgu.o/
icu_collections-c77f08d8df9bda58.icu_collections.7389088bbac2ad9d-cgu.3.rcgu.o/
lib.rmeta/ 0 0 0 644 414608 `
ELF·R@@GNUÀrust
_O#rustc 1.96.0 (ac68faa20 2026-05-25)ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁzerofromÁ äg¾ºS„áοy!-876114c6fba55d61Ázerofrom_deriveÁŸæþÇŽá2?M¥e (-abe85a41d9dcc735Á¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁzerovecÁ†2^IQ9'ASÎ}Q-55e09d459561daa1Ázerovec_deriveÁ£½+d“ð΃-m*¸]-09ac241eaa4a8700ÁyokeÁ“G|¸]œØ2¸0è}-0c87d26cc99a02a9Ástable_deref_traitÁFq¬tÆíe×í-1c580af2549d9002Á yoke_deriveÁ×ã„Ô„ýT·+CIƒ•sÙ-ad663b8de2c8c776Á
potential_utfÁéðCq ;_IQ¦lôÊ-0c3f29542bb52cbcÁ
displaydocÁ©$-.ÿæ§ï=[œiF-53df79815c011341Á utf8_iterÁÏZWn0ËÖå|0r<-db7f48c645980ef1Á¤,»¤Œï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žÕÖØÅÅ‹*Ç¥*̨²Ã(pwõ¿cÉRÐìÉRµßÉRÉRÉR
ÅÅ‹*Ç¥*̨²Ã(pwõ‘+‘+ÅÅ‹*Ç¥*̨²Ã(pwõœ+ØÚÚ½+ܳ
Ýç+Þò+ŒÜí=ë¿cœTÛåæçÉ,èéÝ,êëñ,ìˆíî-ïˆ.G&s"¿ØöTŠ öT¿cöTÐìöTµßöTöT¿c¡¡À£‘.5¤5<¶³L.žGœVÐìœVµßœVœVØœVÙ¡¡À£‘.5¤5<¶³L.žG×2
¡¡À£‘.5¤5<¶³L.žG+‘+¡¡À£‘.5¤5<¶³L.žGœ+¯œVûûè-ü5ý‘.5ˆ²\õõþ¯ 8œVàX
œVàXéœV àX¿àXµßàXàXàX¿càXÄcÀÀÁæ3 eSi>XÝ5¿c…ZÄcÌÌÍ¿4ÎˆÏ Á¼tŽÖíV¿c¼Z¿cüü•8þ²5wÿÍ5w…äRSð…[Ðì…[µß…[…[Ø…[Ùüü•8þ²5wÿÍ5w…äRSð×2
üü•8þ²5wÿÍ5w…äRSð‘+‘+üü•8þ²5wÿÍ5w…äRSðœ+¯…[ÐÐå4Ñ“5w«f²¿…ùï¯ 8…[É]
…[É]é…[ É]¿É]µßÉ]É]É]¿cÉ]Äcœ¬:žŸÌ: ¡ì:ÑTs'Q7ׯ¿cã^Û§¨©»;ª«¬Ñ;­B­‡k´8æØº_Š º_Ðìº_µßº_º_¿cº_º_žžžžžžž¿cÕÕö=Ø›>ÙÖÚ¥*ù¾v>_Ív§Úñ¥aÐìaµßaaÙÕÕö=Ø›>ÙÖÚ¥*ù¾v>_Ív§ÚÕa×2
ÕÕö=Ø›>ÙÖÚ¥*ù¾v>_Ív§Ú+¥‘+ÕÕö=Ø›>ÙÖÚ¥*ù¾v>_Ív§Úœ+¸cŠ úúŸ@ûº@üÌ@ýè@þ‚AÿšA¬A<×°vyfòÛ¢dØ¢d¿c¢d¢dÐì¢dµß¢d¢dÙ¢d×2
¢d‘+¢dðº_¼`ØÕÕö=Ø›>ÙÖÚ¥*ù¾v>_Ív§Ú8ÕaÐ옘ÚBšûB»¹+z*´ô(¥µßÏfÏfÏf¿cÏfØÏf¿cªªñC­¢D®­D· D3rq:ëÕaùMªªñC­¢D®­D· D3rq:8Õa¿c³³ÛD„E ÛqAt˜ñÕaÖÏhñÕaÕÏhð ñÏh ñaðÏha¿c»»®E¾„Eó)l™w ñÕaÖÒiñÕaÕÒið ñÒi´iðÒia¿cÃÃÄýE ¡¿==Jƒ¿cÇÊË»;̈ÍÎÑ;ψ »ô/—Ç¤Š ÔáäGâå ãä„Håæ HçèÇHÚÍþ†ìƒÛÖkØÖkÄcÖk¿cÖkÐìÖkµßÖkÖk¾ÖkùM··„)ºùµ»¾)µ²Iú9[újòšÕ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Áè ï ¬¬ZeroVecÁ¯Â¿°marker1Á¿±marker2Á¿Ê^DÄJT²ÖÆ`sx
ÙŠ( Ä Å É Ê,ÅÅ‹*Ç¥*̨²Ã(pwõa €lŠ Šˆö0( Ë  
è ï  ÇŠ'3 ¿cfk
ùc|ot Рֿͪٿڿ«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŸÈŸÈ ÈÏ éBL,ó€5  c cˆ¢cµ
 `£cbufÁ `àB¤GS
|ÇÇwŒ‚ Œ±ÄÏÑ„Œ‚Ʀ‚äè
ï ŠŠ',
·ßŠŠAFN
Û ÒH
Ò 
ó€ó€Š6¹
CMÖ…¼ß ÕÝ ó€%/ ÅØ üK € Š ¥* .T• Š
ë!Š+3üý# ¼ý 
#S"¦ üÆ` ÚÚ½+ܳ
Ýç+Þò+ŒÜí=´Ü ó€ ÄÄÅ ZeroSliceÁLjÀ Ÿ³¶Â£hjæÆ`Z¾È8íˆÀè ô‰× Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ™t[`
Ù¡‹rzøÒ % ¡‹õ‹)1(ñ Úö á2Ÿ‰> Ÿ‰Iô‰% ô‰1¡‹ ¡‹%¡‹°®¸Œ
Ùô‰zõ‹`õ‹é (ø  ÇÀè  Çô‰(Œ‚×  Ç ¡‹( Œ‚øÒ %
 Ç
¡‹) 
5  Œ‚ÐÕ
ýcæëÚß«°
| ý ä)ç‚6?ïƒHÇQÇDŒ‚MVÇ&Œ‚/®8ÇŒ‚ ®®&¸±ÆÑŒ‚É®Œ‚š ‘Œ‚kÝú(Ð! Õ! ò"'öT3 öT=FP(Ý! &ˆ(
-î`F N Ç-

9 
Œ‚x}
‡dŽ  l Æ& ñ,î`¾Æ
Ç- 9 Œ‚ðõê“j$Ç28
êcJPY^g Çu{¦•˜â! õ°½ç‚Ë¿’ÔïƒÝåÇîÇ÷ î`^Ç Œ‚p ã–|ã–ýÇ2Œ‚€—N±\__self_0ÁÎÏ–S
ˆ€—Œ‚jê“€—Œ‚ê“®¦•µ¦•¼ Hä! *8 H¿’X e u}˜¤«¿’»ÈÖ¿’æóˆ( ¿’-î`*¿’:-î`Q]kp
·ßã–ã–ŒÆ& ¿’
ñ,î`*¿’: ñ,î`Q 
]
 kp¥› |
í! ø9?FMT`¿’i¿’rz¿’¿’Ÿ§¯ã–ã–(€—1€—:ã–Ûã–䀗퀗ö¿’¿’ ¿’¿’¿’$¿’-¿’6@¹
N __self_discrÁh __arg1_discrÁÏ–ô
__arg1_0Á Ï–­ÆžºÄ¥›Î¥›=<é2  Û¼™t î2 ™t$3  Û¼™tü¿2f Ú«3 #üˆ2£ Ÿ‰$°2 ô‰$“2 ¡‹¡‹t³
@ÿÿÐ`0xFFFFÁùwé³M 
ùwé³-
Î
R
R
SPotentialCodePointÁ
Tˆ
 *1ªC1Ç­¦ñw—´ù 
   RawBytesULEÁ˜ ˆ -‡Vœ¸æö£™tæ¢]ÕÙùvŸº>

QvѺ
˘¢avѺ vܺ üæÅF¬¬”~¯Â¿°°~¿±Ã~¿Ê^DÄJT²Ö˜¢Üþ ÄÄÅ„‰ÇˆÀ Ÿ³¶Â£hj昢ه¥â~ùæ¢æ¢¡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—´úæ¢æ¢LPù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(}‰
 
Çø}ò,  ǵ¤)Œ‚H}¤  Ç
Ð`' 
3 Œ‚
ûc¬± ¥puÍ
§ä ç‚ð ¡¡À£‘.5¤5<¶³L.žG1ïƒ:ÇCÇ6Œ‚? µ¤KÇŒ‚#  Ð`1ï´:±¢­Ï´Œ‚¥í´Œ‚u–³Ì~’
ª~
é³"+5H¤Ð`Ð`#4øò,µ¤µ¤*/
·ßµ¤µ¤FKSW_k
¯H

é³é³êÐ`ñÐ`øÏ´¾Ï´ÆJ¹
Waš·ðø€ò,µ¤
Ùµ¤08H€¤Ð`(€Ÿ
 ¡¤
²1ë³=é³Eµ¤ªÏ´²Ð`}ï´mw„¹Þ
ÙÐ`­@‚¦
®
#(é³5é³=FP_[·zë³ë³Ž¡°¬¸Ëë³×ë³ß÷éó .4
™" ë³RXaW¹w}y½•½œ½¥ ë³°›½¹Ã±ÑÄßè½óùŽž"#ù’ž"#
°cù‰µ.#
9ù@#á#
ÜW]& ø{– 2£ é³(Õ.2wäÈäÈ ArgumentsÁæÈtemplateÁ `çÈÀ `üöMõô]Td cbÁ¦°í¾8ª¿€ÀÛ™tç
îó
À   ÷¡˜ ˆ -‡Vœ¸æö£™tCJY™temŒ™t™t© ¸™t,™tÔ™tæõ™t™t ™tŒ™t0™t£™tù™ž"#ù™ž"#í¾ù•µ.#
5ù˜@#á˜#ª¿W$ÑÏŠÞ£í é³ùÕ.wÀºö¿+6í¾調³ÒÅ`Y`
hnÍÁŽ™t¦ µ™tΙtñçö™t™t
ÚÃ1ß

 ™t9ç

›ÈÞ
 Aÿ
›ÈI ›ÈI® Q»  É­  ùè ! 
ǽáÌ  Û¼ÀùŒ] ùŒ 
òW™t™t
!­ Q³ Y¿  ` Jøš 2 —£™tñš™tŸ
üs¼`—£—£»™£¹< =áï_å™tâxðõ Ö¿óô
InvalidLengthÁõ´ö÷
ParseErrorÁø´©Ñ\’)r¤w
px Û 
¼`°º˜™t.™tÖ å˜™tY™t

ÉàX
$™tøœ 2 £™tN˜™t`f
üs¼`££¹ƒ£¹„£þ-'ºˆÉ¬g™t³ÁÆÓ  äÛýÌý
±ÓÁ
 øŸ 2

ž$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÜË vz{ 
 ÉÏ
À‰¥âë Ç [Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ˆê)?ÈXM´­ÜËI
¡$ÐÙÑœm¡ äͱ  Ö¿ÜËÕ ø¡ 2
ŠÐõ #a 
 Ö¿ÜËw ¢Ç  [ÙÑŠ
 ÏÒ ,£D

ùþ
Œ ùÝ Ÿ 
½
ÔÛâÙ
˜ žò
 !Ð ýÌ ›È›È¯›Èð›Èܛȵ›È©y™t£™tšǽȽɽ}ʽ˽NeÁ̽ͽMatchÁBÙe±æµé!á Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÀþÜË ýÌ Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙýÌc ‚Ëüt î×} ÉÎR™tŽ Úà Ÿ ý̨ •¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜ÙÑÚÐ
"ÙÑ+ÜË$
ÙNÐ6
ðÙÑù
bytesÁW
left_valÁð right_valÁðä
last_field_bytesÁª
¤Ù·
Ž Ó¹Ï
Ž  ¹í
1ü
h š™t
™t š™t%˜™t˜ ™t=˜™t° ™tU˜™t ŒÊE ùÊnäÍuÀÎ|ÞσŠÐc©ÑÏÒqäÍŸŠÐÇÏÒι™t

î›È®
™t¾
™t

š™t
 Y›È6 ™tÕ
F â
š™t™t£
«±ÍÁÂÉØ™täì ˜™t™t' 6˜™tª™tS™tešt™tÚØ™t ™t®˜™t!™tø£ 2 —£™tð™tÿ
€t¼`‚ËK)06
‰¥IRW ™t™tj™tz™tŒ
„t¼`¤
­´º
ër¼`
ÎÔ Ýâ ï  àX Ì%,3:  àXJýÌSýÌ\‚ˇ¥n™tv™t~·â ÿÌýÌ ¼`¥Ï㮤ٺ
unsized_bytesÁÕ unsized_refÁì_ptrÁümetadataÁentire_struct_as_sliceÁ2;@™tßáRâYìâ`”ãgDûN$…O¼ôN ¡ ŠO‘OLüéM¨ë³$åNµ¤D›NÐ`$ÑNµ¤ŽÐ`‘.$(U´Åf”ÅfLÆfÓ2Ð`( ÚfÐ`F #Ð`hÐ`CüfY ¡<ªfGµ¤ åfìfMüèe„ë³$þeÐ`×Ð`ÖÁªæ/ØÓ2gGµ¤ Äv
™t<¿v 2üœv+üœv"
¸˜¢_%ü’v6Lv
ëÐ`˜¢K( w 
™t<Œw

 
2  üév+üév"‡ë Y
üßv6Lßv²ë
< øÊ £Ð` £wQüùuª££¹ƒ£¹„£þ-'ºˆÉ¬gÐ`ÿu Qä`梲ílæ¢$úuÐ`˜¢µé¢™t$™tÐ`˜¢1é¢|™t ™tŒpairÁrð‡ë)²ë‡ë²ëd  « ™t 3üƒ+üƒ"‡ë\!üù€6Lù€²ë@!   ™t

  
3  üÙ+üÙ"‡ë \
!üÏ6²ë
@ !Œ¡‚  °‚Ð`"  $Ð`DÐ`øÎ“‚ 
‚#Ð`\“‚y,¼‚TüÒ€êüç€Õü½½£½£¾¿£¹À£þÁ£ exhaustedÁ1¥œMu7·PÐ`Ø€ Tä`‚îÒóšæ¢$Ó€Ð`\뀘¢F颙t·™t¢©Ð`˜¢Í颙t>™t)0Ð`©Áª²†î range_startÁ range_limitÁv ]‡ë÷²ëׇëY²ë9þòÆ  §’ ™t<¢’ 3üÿ‘+üÿ‘"‡ë\!üõ‘6Lõ‘²ë@! ý’  ™t<ø’

  
3  üÕ’+üÕ’"‡ë \
!üË’6LË’²ë
@ !Œ  ¬“Ð`"  $Ð`DÐ`øÕ þò\t'¸“WüΑêüã‘Õü¹’ÒóÔ‘ Wä`¹ôAæ¢$Ï‘Ð`\瑘¢èé¢4™tY™tDKÐ`\½’˜¢o颻™tà™tËÒÐ`KÁªT†îâôøôb ð‡ë²ëd‡ëæ²ëÆþòSľŒÂ¾
qž,Ô¾+$´¾Ð`$º¾Ð`dç¾,‰¿  îĄ̂¿t­¿
\$¨¿$¼¿¤­¿4ü¢¿V,Ù տ Û™tl€À µ¤Ô€À
ë!µ¤ 1 "<’À  ˜À™t&  (™t L
™tƒŽÀ
Õ˜¢ ´
|

dŽÀ±
<ö¿
 û¿
Û˜¢D»À$½À
蘢Ð` »À 4½À”±Àüï¿Çù£ž"#ùßž"#
¶cü·Á<6ù¢@#á¢#ª¿X#ïÂ_ü὎ü¯¾Àüпôü›À:$ ¾é³,÷½åü,þ½Ð`Ð` Ð`Ð`X ¡‹ÐLп™thÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ˜¢‡¥Ï´°™t{ÚÃõ˜¢ëÐ`ØOÀïûBñ÷ tillÁç+B ÃOtÞütöýãœÿAŸ€HŠd媿âœà 
¦#Òƒg0/ÌÚ Ã Ö

Ð`ù¦½D#Á¦½#
àWù¦Ö*#4
IncludedÁ ƒg$
\
$

èƒgÐ`-4

 Λ


§#œ†ƒg .

- 
¼ï
 
”ê  Ó2Ð`´ê  ÿ Ð`  #Ð`
 Â 
ExcludedÁׇ   û‡%   š 
ʆׇ 
  û‡%  |   ® Ð`  #Ð` C Ð`F? Ð`C $”  d   š  üä·aUq%üÏ ÌÔþ üä
·ô‘ Ô¹ Ÿƒœ†,€ Ð`ç£é£ê£ʆ룈ì£í£âˆî£ˆï£ð£ UnboundedÁiΉ£i7|ׇ  œ†<ׇƒgqÒÐ`
¸>­ŽW\ ׇ[Ð`:ƒgRÁª'ׇуg¹Ð`>Áª-Ð`ÜÐ`×ûB/÷4­7¢ ­ã
­CÝ£Ó2–†-˜‡¹û‡V·ˆ!û‡Nû‡œ†Hœ†OŒ Ǧ•+08¬ÆPç‚\ …ZfïƒnÇv±Œ¦•  
LjÐ`Œ‚Ð`!Œ‚qv
‰dŒzYž²Ë ç‚ ¼ZÌïƒÔÇÜŒ‚Íï´ÕŒ‚·í´¿ï´Ç
±&ï´Œ‚í´Œ‚­“E®
 ø¶µ*
 Çë³*Œ‚ø¶ì 
Ç
ââã
VarZeroVecÁçˆ B^xíÐ Ð Ñ Index16Á w¼ÚZAa 
ž Œ‚ –³ Ýâ<³
U ç‚b üü•8þ²5wÿÍ5w…äRSð¤ïƒ­ÇǨŒ‚±é³ºÇˆŒ‚  ú• ì˜©±é³Œ‚ꘌ‚ä–³=··
·µ
 é—#,6ø¸µ*ë³ë³+0
·ßë³ë³GLTZø¸ì ú•ú•+0
·ßú•ú•GLTX`l¸Â
ŠH¸¹
é—é—é³é³%ì˜Æì˜ÎP¹
]gÙš`Á›ÿø¹µ*ë³
Ùë³08ø¹ì ú•
Ùú•08Ä
 ü¹É
1ë—=é—Eë³Åé³Íú•옡nx¹úõÄË
»Ó
#(é—5é—=FP_[zë—ë—Ž¡°¬Ëë—×ë—ß÷éó .4
™"•½ ë—PV_Uu{wç¡•½šç¡£ 뗮塷Á±ÏÄÝæÛ¡ñ™t2usizeÁùÆž"#ùªž"#í¾ùµ.#
5ùÅ@#áÅ#ª¿W$´ì ø´® ?Úî¿é—'€À/sÀFö¿T^í¾ᪿ¬€Àˆ™t2usizeÁ™t™t2usizeÁùÑž"#ù®ž"#í¾ù͵.#
5ùÐ@#áÐ#ª¿W$@=äL»ÅY é—eÒÅnsÀö¿ í¾䪿¯ÒÅË™tß

ñ›Èç

ñ›È‰ÕÞ
 ÿ
›È ›È® »  ÉÕ­  ùÕè ! 
ǽáÕÌ  Û¼ÀùÕŒ] ùÕŒ ŒÊ
­ ³ ¿  X Bø¯® ? —£™t'ò™t6<ùÊIBW\ Ö¿ÜË
{ƒ ¡Ûý̺À
ÁÌ
Ì
Í
MultiFieldsULEÁÐ
ˆé Lá,qô À™t¹–!*17
ÉÉ]
Lø±® ?

ž$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 þ«ÜËÄz~´® 
.úlè­
ù™t¹–àX=A™tS \²ì [ÙÑ)!ÏÒ-Cø³® ?
ŠÐ³
#ï Þä
ù™t¹– VarZeroSliceÁÚ entire_sliceÁ?ÐóÞ‹¹–^b™tt}´ì [ÙÑ
!ÏÒ-øµ® ?
ŠÐÔ# þ Ö¿ÜË´0´í ì [ÙÑ ÏÒ,¤EñvùÕþ
Œ ùÕÝ Ÿ CJQ¹>E LÕ ®´
ºîÐüýÌâÕ›È@›È.›È›ÈûË™tõ™tì«Öá Ž×¼ÜËoýÌxîׂË}•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜ÙÑè­š­õœÙÑ¥è­ Ù{Ð! §ÙѰÙ}ÐD ÙÑ' ¤Ùa ·ÙNËÙF7
ìÙ multiÁ§ Ž R¹¿ Ž I ¹× y3Ž »
¹õ —3

ò™t
ï™t!
ò™t ŒÊlùÊ:
ø«A
ï¬H
”­üÑ®V
ÏÒ
ŠÐǰk
ÏÒՊлÏÒÂŒ

ï™t°¿ñÁ
›ÈÜ™tÖ
ìã
ï™t÷
 ò™t6 E ñ, ›Èb ™tA r N ò™t™t™t2usizeÁø·® ? —£™t© ï™t¸ ¾ ßáË BÙ à æ 
Âþ«ù    ·â ™t' ™t9 ? ìâL
U \ b Ӌ
o u ~ ƒ     É]¡  ŽôÀ Æ Í Ô Û   É]ë ýÌô ýÌý ‚Ëwè­
™t
™t
·â(
àä1
ýÌ:
ôäC
νL
¤ÙX
šäg
³ät
Êä
ÚäŽ
îä
¤
©
ï™tßá»
ž¼Â
ìâÉ
”ãÐ
™t2usizeÁ™t2usizeÁ\Í*Dæ*ü›*^ ü ø*ÿ*ü‚)ýë—$Œ*ë³\­)ú•Dá)ë³ú•²5&Í5)WÆU%+3ÇßÊUKSÇ goÇ<Ц•œ¤ßËU¦¼ç‚È ã^ÒïƒÚÇâéò±ÿ ¦•ÌàѰ$º_/ º_9BLÙââ´=BHS‹Å[‹Åcjqz¹
‰ž¡ž¡©ä#)1ÇãèIQÇ gl¦•y~ãéžç‚ª‹Å²ïƒºÇÂÉÒ±ß馕óäí¸äë‹Å *,¹*|Â*Ĺ*
·ßƒgƒg:1)/TÜ*ü¶*Q,ü*‰+£üÚ)¯ƒg ®*ƒg,þ)ƒg|ˆ*ƒgTœ*°ׇÖׇл4trie_null_valueÁGšAKàÉ. 
ÇøìÛ/&
Ç¢d)Œ‚øìî3%
Ç Š) Œ‚øì¤8"

Ç ¬¬”~¯Â¿°°~¿±Ã~¿Ê^DÄJT²ÖÕaq  Œ‚ÈìÏ9
  ÇÕa(4Œ‚TZ
ÿc
lrag39
  
©ì’.ÞÂç‚Ï ÕÕö=Ø›>ÙÖÚ¥*ù¾v>_Ív§ÚÕa*ïƒ3Ç<Ç.Œ‚7 ¢dBÇŒ‚#ÇòŒ‚û ˜ÍÇŽŒ‚  Õa¥’ѮűÓ޺Ќ‚ÕŒ‚¥òÐŒ‚uÑŒ‚ýÈÎí–.âí”. '»Ï/8B øîÛ/&¢d¢d).
·ß¢d¢dCHPVøîî3%ŠŠ).Ö…:?GMøî¤8"
˜Í ˜Í+0
·ß˜Í˜Í
G L TZ ÈîÏ9 Õa
Õa(-
·ßÕaÕa B
GOS[gî¡.é˜.»Ï»ÏͺÐÖºÐß@òÐIòÐR’Ñó’Ñû¹
œÓLÖ…ïÝÔÂÕ:£.ð«.î#(»Ï5»Ï=FP_[ïz½Ï½ÏŽ¡°¬ð˽Ï×½Ïß÷éó .4
™" ½ÏRXaWñw}yžÚ–ÚœžÚ¥ ½Ï°œÚ¹Ã±ÑÄßèÚóøó­.U¢døó­.ðŠøó­.‚¬¬”~¯Â¿°°~¿±Ã~¿Ê^DÄJT²Ö¸cøó­.Ã
¸c­.

ŠŠ-5;@

–Ü–ÜX`fk
Ù¸c| ˆ Õ¸c óµ.ø¾Ã
ÕÕö=Ø›>ÙÖÚ¥*ù¾v>_Ív§Ú¸c ÄÞ+ºÐ×Ê –Ü¿ ¸ck¢d\Šd–Üm¸cuthisÁ __binding_0Á@ __binding_1ÁA __binding_2ÁA __binding_3Áùë•Ýö¾ÝýèÝä=öé=$)/5¢dAºÐIR\ë=  Ç™t˜÷¢DÐ`Œ‚è÷éE
Æ` 
Œ‚Ø÷ÉG Æ`  Œ‚È÷ŒIÐ`
Œ‚˜÷—JÐ`Œ‚¸÷ƒLº_!Œ‚ Œ‚  
;H 
Œ‚^gÇs 
Ç
ƒd£©¯µ¾÷ð=×Ýäç‚òºÐûâ
Éä Œ‚™t0æ9Œ‚ï´ Œ‚ Æ`Œ‚ñÌæúŒ‚Ýï´æŒ‚Éï´ÒŒ‚µ ‹ÅÁ‹ÅÊǼôäÅϱÝÑ ë¼÷ï´Œ‚ãÌæŒ‚ÇÌæŒ‚«ï´Œ‚ï´Œ‚s–猂W‹åG  Çÿ Çü!Çù "
Ç ö ÿ# Ç 
  Çå$
Ç
+:J ‰âW‹â`ÇÇ!ÇÇ
ÇðÇùÇÜÇåÇÈÇÑÂøô=ˆøò= !ºÐ)2<˜ù¢DÐ`Ð`$5èùéEÆ`Æ`$5ØùÉG
Æ` Æ`$ 
 5 ÈùŒI
Ð`Ð`$ 
5 ˜ù—JÐ`Ð`$5¸ùƒLº_º_(-
·ßº_º_BGOS[gùÿ=ö=ºÐºÐõÐ`ýÐ`ÉÆ`ÑÆ`ÙÆ`¥Æ`­qÐ`yÐ`EÐ`MÐ`U‹Å‹Å$¬¹
¹Ã¢ïO>û‰>#ºÐ/ºÐ7@JYUt¢d¢d¨¤Ã¢d΢dÕöÞàêù 
™"•½ ¢d)/8.NIëóc•½léóu±˜ßó£üä^b ÕÕaÌ_¬ü§[¥½Ï$è\¢d4å[Š,Š\˜Í$®\Õa\Ï\>(Ö,¥*/¾3r
4÷^,_$ž_\°_ ÕÕa Å_¬ ½Ï¢dŠ˜ÍÕa¢dъŘͺÕa®›>XÖ]¥*a¾f¦ <Àb4ÉbÈ!),Ñb

ë!˜Í
' /üªb-¬ªb
®ÕaŽ ]0øâªb.

ž$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÕaÖk¢tx  üªb.
lÕaüÎck ÕÕa
DÃd Ö¿½ÏÖkÑdã×b [Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
§ÒÖkmr
¡$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
½ÏÖk¢ü Ùâñ­üä`íü˜b¹ ƒüªc§Šýüça&¢d4ü`Š,¡a˜Í$Åa•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜¢üÕa®¡úíºÐfô‰aj ÄÄÅ„‰ÇˆÀ Ÿ³¶Â£hjæÕa{òÐ ¢ü)Õa½Ï$®c›>Ö ¥*¾\œb
Ž } ¹î
³
[§ÈA»ùæùí›ú¾„ýÅ\Ùi$Þi
âÕa$Ùi4Þi´ëi ÔüÙi),åi
ÆTÕaÖk]8ìåiøäÙi*
›úI".ûXüÙi*
lÕa„Ÿv º_´™v å‚j [¢üž 
¡$¡ú¢ü 6ÁäŒw 
Ð` ÜÐv 
Ð` Døw Üøw|„xî`Ð`' Ð`7 :î`
T
Uî`Ìïz
™tìïz ‹{™t$ '™t J™tøèìz  £™t ìz™tüÌzAdßz
ÛÆ`,ÌzU üßz.ü¡{! ÔüÌzw,{
ÆTô‰Ökf:
ü›{(øæÌzx

ž$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ô‰Ök¢uyüÌzxlô‰ôÌ
ãÆ`çÃ{[¢üô
 ùƒ,
üÌ1ø
²O©
©
ª
ZeroSliceIterÁ­
ˆÀ wÚQ!
ªµnÆ`Áü‘€! ÔüÌg,‹€
ÆTÆ`Ök  ;ü‹€(øëÌh

ž$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Æ`Ök¢tx!!üÌh#lÆ`¬ÿ
&#™tô—‚
'œ˜‚Ð`™tüÿ6
(&'
(&'ì³€"[¢ü!"ùƒ".;g
%(™tT¹‚
¾‚
ÑÕa$¹‚),¾‚üÿD
$%)
$üÝ‚ 
* ÔüÙ‚%
Ö¿ÕaÖk*ò^
|§…
Ö¿ÕaÖk
¼… ®ü¡h›üÇiõ ZüŠv²üãwÙ
ü»z Y` g² ü»ˆ+¡ú„¬iºÐ4Èhô‰,îhãÿ$Žiæþ7¡úsÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÕaÿÖkÝ¢ü#ÕagÐ`DŽvt¾vÐ`tçwÐ`ÎÐ`ÉЕ¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜¢üô‰¦ú‡äÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙô‰yÉε™t™t.ÚÃ'ÖkrV¢ü_ô‰¬•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜¢üÆ`ÏŋۼݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÆ`ÜŽŠJÖkƒ9¢üBÆ`»×™t™t»™t²ÚÞ™t.Ökå>ØÖÜ¥*à¾\Ëi
Ž ¥  ¹í 
fast_maxÁ max_bit_prefixÁš
ÃT¿zŽ  ¹^ 
max_offsetÁT¿
#Ž F"¹Ã#Fà Ð`
Ð`Á î`Í î`Ù î`ÙÐ`í ­‚L ›ú ùƒ' ø† ¿‡Öô‡¨¢‰ùƒˆŠ©Š‹/¿‹ùƒ‘޽¬Ž‡¢dº_܈‡,ü ˆ" »Õaü“ˆ0 dz³ÛD„E ÛqAt˜Õa»»®E¾„Eó)l™w Õa ˆüЇ! ³Õaüć. Ç«šÞš ñ‡Ôˆ¯ü¤†°ÇÊË»;̈ÍÎÑ;ψ »ô/—Ç«šÞšü½†@½Ï$´†t²‡«šÚÞš'š¬ÇŒ¢dº_ÜÁŒ-$ËŽüÊŽO ÞšüÈŽQü¢Ž Ç «š Þš §ü¤N «šü¢PüýŒ Ç£žªž €Ž¹°ü͉ì ÇÊË»;̈ÍÎÑ;ψ »ô/—Ç£žªžüú‰B»Ï,ê‰t댣žÏážì ½Ïü¥&ªžUùs üËŽ&RÅLõ’˜Í|õ’»ù+"ÿ’‘ŽM,ÿ’´õ’Ð`üõ’5ÜÐ`!É‚ÔS 
˜‡h%GÇh'L¹“ ˜Í|¹“»ù +
"Ó‘Ž
M ,Óĸ“ Ð`øVÜÓ“Ð`€„êVX„ìV
ÂÑêVBp„ìV5
ЄêV8„ûV
£TÐ`
a H„ûV0 
ɇÔS 
˜‡h&,Çh'8˜Í6<»ù` RY8‘Žƒ 7´¹“Ð`˜„“W`„–W
öÑ/JÐ`V
€„–Wõ“±üðø„¬V„ø„úU¶ø„ÄVlÐ`’‘»Ï,ˆ‘Ð`¯™tüãÿòÐ%ŽÐ`°V™t_ãÿhòЈ ۼݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÐ`Uë§^Ð`ƒêÐ`n™tðãÿùòÐò¬Å­ÈVËÐ`^¢Ð`éÐ`õÐ` »ù2‘Ž9˜‡¹»ù~‘Žñ£´¤Ý˜‡¤»ù¡‘ލ‹¦"k¬¿–<Í–Ð` Ð`+ -Ð`HHÐ`¬á–¢dº_tú– ²Õa‹Åüá–' ¢ïM:"(ü¶—(ܶ—Ð`!´ï—
¢dÐ`üâ—# 
 É‹ÔS 
˜‡h'eÇh 'T±˜
ü¾˜-„¾˜Ð`ÔјœÐ`- .Ð`+œÐ`VÐ`ˆUXŠU
½Ñ
ˆUUpŠU9ЈU8™U´¤` H™U+
ÉÔS 
˜‡h(,Çh'±U!Ð`œÐ`G IÐ`GœÐ` sÐ`˜±U`´U
ôѦ 
´Uü¡˜K üÞ–Ê´ ™¢dÐ`ü“™#´º™¢dÐ`üº™$\Ó™Ð`!Tý™–U!”ŠšÐ`€”ˆUX”ŠU’®ˆU!? p”ŠUø’‹™T ˜‡h)]Çh(` ДˆU8”™U´¤H”™U+É—ÔS 
˜‡h(,Çh"'?#ÃU`”´U°°#fÐ`€”´Uüí™0äTÜš &ŠüÜš#  È&+%Tëš (œëš '(™tB çš
ÕÆ`%q'1$Äçšo )$„Éš )jTΚ *$ÛÆ`œ˜œ ,*Ð`¼®œ /<½œ˜Ð` Ð`+ /-˜Ð`ܽ›¤Â›
±Õa$½›i´Â›z .z˜Ð`ü®œ& - .dÈœžÐ`€™ˆU
X™ŠU’®,ˆU-U2p™ŠU6
12ЙˆU
8™™U´¤1]0H™™U+
0 ÉœÔS 

˜‡h(,Çh3'Œ™œ
4*Ð`n
7l˜Ð` Ð`
7˜Ð`!µ
6˜Ð`=
5 6:žÐ`ÃU
`™´U°°4§5w+"€™´U;Šü£) È;+:#̲<+™t4®²µ:^<,9$ô®\=9”Ž=%&jd“>9ÛÆ`œß8>Ð`¼ížA<üžÐ` Ð`+ A-Ð`'ÜŸž
¤¤žô¶$Ÿži´¤žs@sÐ`üíž&? @d‡Ÿ¡Ð`dÁŸE8¬ÁŸD E4ПÐ`ÔÁŸCD ÚŸÐ`"C2(T¿ IŠü¿ 6 ÈI+H)dÑ L8Tà M?€žˆUŠU’®LžˆUMžUP*ŠU6OPОˆU™U´¤O]N+™U+N,-É¡ÔS 
˜‡h(,ÇhQ'HR8ÆS?žÃU´U°°RzSòK.€ž´UüΠ&JK™tEÊ ²µHpJ/G/üÊ +pTG„¬ T01jT± UGÛÆ`ŒŒ¡FUÐ`üˆ øBFü¾ŸdÜÒ¡¤×¡ô¶$Ò¡i´×¡dý¢X8¼ü¢W X4Œ£ÿÐ`Tš£[?§£\ ¨£Ð`Œ™£Z [\T­£^?|­£_ »£î`Ð``_+ Ð`; `^=î`3Z]^Zî`€¤ˆUŠU’®Z¤ˆU]¤Uc4ŠU6bcФˆU™U´¤b]a5™U+a67ɧÔS 
˜‡h(,Çhd'kf?iggÐ`|š£e fgei?cjaî`Ð`~kj Ð`œ kiŸî`8½hi¾î`¤ÃU´U°°e¯hùY9€¤´U€£ˆUŠU’®W£ˆUY£Un:ŠU6mnУˆU™U´¤m]l;™U+l<=É«ÔS 
˜‡h(,Çho'/q8¬ý¢p q-ÿÐ`+t?)u'Ð`Às tu#w?!xî`Ð`<yxI Ð`Z yw]î`>{vw|î`€­ˆUŠU’®s­ˆUv­U|?p­ŠU6{|ЭˆU8­™U´¤{]z@H­™U+zABɰÔS 
˜‡h(,Çh}'Ž?ŒÐ`$~ ˆ?ƒî`Ð`£ƒ² Ð`à Èî`Cæéî`­ÃU´U°°~Ú&rD€­´U£ÃU´U°°prø­˜T¶VE€£´Uüê¢T8V|Ì£? ? Ú£Ð`T¤ˆŠü¤% Ȉ-‡FdŸ¤Š8¬Ÿ¤Š™tG›¤²µs0†GÔ›¤r„ý£HIjT‚¤ŒÛÆ`ŒÈ¤ŒÐ`üé£ÇBTÌ¥ŽBTî¥#?³ËX%$ç¥Ð`€³ËX%ÍX
ÈÑ=³ÙXJÍX܆¥¤‹¥ô¶$†¥i´‹¥c%гËX%ÜX´¤KÜX-%LMɶÔS %
˜‡h*,Çh( %?˜³ôX%÷X
øÑôXÐ`JN€³÷X²ˆU"$Ý¥Ð`€²ˆU"ŠU’®:²–UšOŠU5"šвˆU"™U´¤P™U-"˜QRɺÔS "
˜‡h(,Ç(+&ž?¼ËX(¢•XÐ`€¼ËX(ÍXÝТ9ž¼ÙX¡SÍX5( ¡мËX(ÜX´¤ TÜX-(ŸUVÉ¿ÔS (
˜‡h*,Ç((¤?¼†Y(÷XÉÒ÷Ð`¤AW€¼÷X²ÃU"´U°°ÛÐ`éø¼ÛW¶X€²´UüË¥0¥ Ð`" ¥ŽY9Žü¾¥GB <þ¥Ð`Œ“¦¦8 £¦Ð`# ¦8%Ð`ZF8¦Ð`Té¦)ªŠüé¦6) Ȫ[dû¦+­8TЧ*®?€ÁˆU,ŠU’®­ÁˆU®Á–U±\ŠU9,°±ÐÁˆU,™U´¤°]™U-,¯^_ÉÄÔS ,
˜‡h(,Ç(×,³8Ñ,´?ÁÃU,´U°°³ ´¬`€Á´Uüø¦&)«¬™tZ)ô¦²µ©«aüô¦+ˆ)µ¨„Ö¦)µbcjTÛ¦)¨ÛÆ`T¶§)·BœÃ§)¸Ð`ü¶§ )§
·¸ü²¦B§Ç
dÜ‹¨¤¨ô¶$‹¨i´¨TÊ©.¹Bäש-º |ä©£Ð`€ÆˆU/ŠU’®¹ÆˆUºÆ–U½eŠU9/¼½ÐƈU/™U´¤¼f™U-/»ghÉÉÔS /
˜‡h(,Ç(/¿Bá/À Þ£Ð`ÆÃU/´U°°¿IÀi€Æ´Uú©üû“ÿ²0ü¥–ÕøÊT„ø˜T¶øâTlø”ÊT„ø”˜T¶ø”âTlü±šÉü€›"üí›ø™ÊT„ø™˜T¶ø™âTl üßœ

üÍ3
üÓž§ üŸÝ
üö 9øžÊT„øž˜T¶øžâTlø£ÊT„ø£˜T¶ø£âTlø¤ÊT„ø¤˜T¶ø¤âTlø­ÊT„
ø­âTlü¶¤1ø²ÊT„ø²˜T¶ø²âTl ø³X„ ø³ÛW¶ ø³¥Xl#ø¼X„"B"ø¼¥Xl&ü §HøÁÊT„)øÁ˜T¶)øÁâTl*øÆÊT„øÆ˜T¶øÆâTl-ÁÐ`®”»Ï,“”Ð`Tš”Ð`t©–I¸‹Åù‹Åê\Ð`{FÐ`dÐ`ÎTÐ`æTÁª4é§Ýë§ækÐ`HÐ`dÁªmÐ`¨^Ð`}ßÐ`ÆÐ`ÎT¿é§6ë§?Ð`d¥Ð`Áô‰<™tÿÐ`ÃÆ`¸ Ð`„ñ›Ð`ÎT Ð`æT Ð`·¾Îé§ë§$¬Ð`Ð`\Ð`öýÐ`„ãœ
àô‰é™tÙšÆ`Ð`tמÐ`xÐ`t¡Ÿ¸Ð`àÐ`öÐ`ü¥ Ûô‰ ¿™tÐ`½Ð`žÎTÐ`žæTSé§ ë§©1Ð`VÐ`ЊÆ`Ð`øÐ`£ÎTÐ`(Ð`£æTÐ`¤ÎTÐ`Ð`Ð`¤æTÐ`öÐ`ð÷Dé§ë§š"Ð`ÚÐ`rÐ`lÐ`7Ð`MÐ`GNé§Rë§[ãÐ`´Ð`÷Ð`.Ð`­ÎTÐ`äÐ`ÞÐ`­æTÐ`ÂÐ`¼Ãíé§:ë§CËÐ`¦Ð`>Ð`8Ð`Ð`Ð`Ð`üö£º{ô‰¤™tcÐ`z%Æ`Ð`< Ð`ëÐ`gÐ`²æT Ð`³©X#_é§Ûë§äÐ` BÐ`*p
é§¾
ë§Ç
Ð`ï
S
Ð`Ù Ð`¼©X&Ð é§
ë§'
Ð`N
³ Ð` Áª  Ð`üϦêH ô‰Q q ™t
Ð`ñÐ`ÁÎT+Ð`ÁæT*û
é§M ë§V Ö
Ð`Ð`~ !
Æ`
)Ð`
Ð`ü Ð`ÆÎT.Ð`ÆæT-1 駃 ë§Œ  Ð`ï Ð`Ä %[
code_pointÁi
index1_posÁw¬4
­5¬Ç­æT Ð`
index1_valÁTµš*¥ñO *index3_block_idxÁ«
+¬­ ,­®
- index3_blockÁm8þñÔ>
index3_posÁS?
data_blockÁPB¬L­M¹òNU¬ËW­ÄY¬ÅZ­]¬s­v¹òpŒ¬²ÎT ÐÐ`­_"¬³X#EÐ`­|%¬¼X&DÐ`­9(ž¬Ä*­­Æ,®
index3_valÁ¯ )¬-¹­/ºñ
Þ%Ð`ê%Ð`ö%Ð`g"Ð`:"Ð`F"Ð`W%Ð`¿$Ð`¼$œÐ`×$Ð`Ô$œÐ`ï$Ð`ì$œÐ`%Ð`%œÐ`Ÿ ˜Ð`« ˜Ð`· ˜Ð`- žÐ`Ï ˜Ð`Û ˜Ð`ç ˜Ð`] žÐ`+Ð`7Ð`CÐ`À¡Ð`e
£Ð`q
£Ð`B¢ï´&˜‡&’®%´¤A%˜‡
%°°x$˜‡Q#’®Œ#´¤%#˜‡ñ"°°¿"È]"²µd"ô¶j!’®!´¤Ë ˜‡°°åȧ²µ®ô¶ÇÈú’®Â´¤˜‡Q°°²µô¶K’®:´¤ý˜‡É°°ê’®À´¤ƒ˜‡O’®H´¤ ˜‡×°°ð°°ÄÈP²µWô¶ÝÐU´¤é˜‡²ÉÒ~’®$´¤æ˜‡¯ÝÐ^´¤ ˜‡éÉÒµ°°|Èf’®*´¤è˜‡±°°q²µô¶v’®$´¤â˜‡«°°^§( §¹(È(²D‹Åå(º_í(õ( ´Í¯¢dÐ`ü¿¯$
Lö¯˜Í|ö¯»ù+"€°‘ŽM,€°Äõ¯Ð`ËøV Ô°Ð`€ËêVìVñ£ËêV ? ìV2
 ÐËêVûV´¤
Y ûV+ ÉÎÔS 
˜‡h&,Çh
'0˜Í.4»ùXJQ0‘Ž{ /´ö¯Ð`Ë¥W–W‹¦,?Ð`K €Ë–Wüɰ%¤Î°
²Õa$ɰTã° üΰ ‹±³ü„¯øË¬V„øËúU¶øËÄVlÐ`®¯»Ï,“¯Ð`Tš¯˜Ð`·Ð`˰V™tyãÿòТßé§(ë§1Ð`VÅÐ`I™tÃãÿÌòÐìºð˜¬Œ­ËÈV¬Ð`¾Ð`ÊÐ` »ù>‘ŽEñ£Ù´¤ ˜‡l»ùa‘Žh‹¦êÃ
ì·|«·î`Ð`) Ð`9 ;î`VVî`TЏŠüЏ( È+Ä™¸ ™t4•¸²µ^ ,앸\
¬ò·
 |÷· ÛÆ`üŹ   œÒ¹Ð`´…º
 Ð`€ÐˆU ŠU’®
ЈU ЖUŠUܹ¤†¹ô¶$¹ ´†¹a ÐЈU ™U´¤ˆ™U+  ÉÓÔS  
˜‡h(,Çh'ÐÃU ´U°°
- LÔº
€Ð´Utèºüº  ü˶±´
ü‚·úüÄ·¸ü³¸/üµ¹Çüï¹ü¥ºWøÐÊT„øÐ˜T¶øÐâTlÐ`ô¶»Ï,Ù¶Ð`Tà¶Ð`|†·Ð` '¬ô‰µÔ™t¥fÆ`[Ð`L¹¹Ð`|ó¹Ð`t©ºÇé§?ë§H¥
 ºð¤index_array_posÁindex_array_valÁ|È· É‹ö masked_cpÁ¨ É‹ª
fast_index_valÁ¹¬ÐÎT
­ÐæT ßNî`Zî`fî`WÐ`È ²µô¶’®\´¤ô˜‡À°°š ¬‰¾¢dº_܃¾-äû¾ Ð`Ü¿¾ Ð`D½¿´¯¿üãÂ*ÌèÂ
Õa$ãÂT‚ÃüèÂ%üÕÂ; Û¼Õaü¬¿$¹Ä Û¼Õa&Íĵü®½Ÿüô½Ù–‘LཻÏ,ŽÐ`T̽Ð`Dø½t­¾
Ð` ÕaüÚÂ5DºðHL}Ð`©Ð`ðI¬åÈ¢dº_ÜßÈ-äçÉ Ð`Ü£É Ð`üÁÈÕÉ×ÔS 
˜‡hÇh(¬¼Ê™tü¼Ê( |ÕÊî`Ð`
 *@Ð`: 
;î`WVî`T‰ËŠ„‰ËÈ*
"”Ë
ÑÆ`
Q  ,”ËìüÊ   
ÉÛÔS 
˜‡h,/Çh'TËÍŠÌËÍÈ* "dÖÍ
ÐÆ`Q
tÖÍüËÍ3låÍ
€t   ÷¡˜ ˆ -‡Vœ¸æö£™t™t§TóÍÌåÍüµÍSü¡Íhœ¡Í
¸Æ`/%ü•Íu\•Í
ë™tÆ`L)ü¥Î" œ³ÎÐ`ü¥Î+™t€ÝˆUŠU
´Õ݈UÝ–UŠU9Ð݈U™U
£T™te™U0ÉàÔS 
˜‡h(,Çh'ÝÃU´U
ëÕ¼5TÚрݴULŽÒ!˜Í|ŽÒ»ù!+ "˜Ò‘Ž M,˜ÒüýÑ ÉäÔS 
˜‡h-2Çh"'L¡Ô'˜ÍġԻù'+&"d«Ô
ÐÕa&R%t«Ôü¡Ô6lºÔ
€tÕa™t%stÈÔ$ìºÔü—ÔB#$ü…ÔUŒ…Ô
¸Õa#0&àÔü¥Ç»
ü«Êµ
üôÌìü”ÎÌü¬Ñ´øÝÊT„øÝ˜T¶øÝâTl(Õa äÇ»Ï,ÉÇÐ`TÐÇôÐ`üßÈ·t‘Éë™tT¯Ê™tÑÐ`ÈÏ™tYô‰b™tœøÌÆ`¡—  ¡—ü¶ÍR 
¡—úô‰"™tT˜ÎÐ`ö™tt°Ñ®Ý¡‹æf¯™tüãÿòÐ%«¨è ¨ü˜ÔA 
¨Žãÿòзgºðl
bit_prefixÁVbase_offset_to_dataÁ,
bit_suffixÁùoffset_to_dataÁ¬ÝÎT­ÝæTm Ð`5Ð`î`î`©î`VÐ`˜‡ÈV¾•]˜‡öȼí–Û—~Ÿ˜˘Ý«™ò™D˜‡ ßšå»ù ‘ާ˜‡D»ù ôœ¢Ëóü¾Ö%¤ÃÖ
¸Õa$¾ÖTØÖüÃÖ éÖ·üúÕoÕa ²Ö»Ï,—ÖÐ`TžÖºðH‚¥Ÿ
äßÜtíܤÐ` ÉèÔS 
˜‡h..Çh'¬ÄÝ¢dº_ܾÝ-äÆÞ Ð`Ü‚Þ Ð`ü¡ÝÔÉìÔS 
˜‡hÇh(L‰ß ˜Íü‰ßA »ù ,
 ä¤ß\©ß
³Õa$¤ßTµß

¼©ßü¤ß% 
™to ß
ÕÕa
Ÿ 2  ü ß*„âßÕaü‰ßjLØß
²TÕa Ï7 ÜØßù߸ü’ÜçÕa ÅÜ»Ï,ªÜÐ`T±Ü[2Ð`ü¾Ý·tðÝ–‘XãÿaòЙtÐ`WÕaåzºð~­Ï¤Ð`<Ð`hÐ`˜‡Ø˜‡»ùß…©ÃΩ핪Bü¶ä$œ»ä
µÕa$¶äTÏäü»ä:<¬ä ±äÛÕa éäü¥äåäýät‹å¤Ð` ü¨å*Ì­å
·Õa$¨åTÇåü­å%„ðåÕaüúäæüñ㟹ÌÛäÕa ™ä»Ï,þãÐ`T…ä–‘l.Õa#ö5ºð9ÁN¤Ð`嬯¢®d¿ëL¿ë
ëÐ` Éë*üæë$œëëå¬$æëTÿëüëë3<Üë áëÛÕa ™ìüÕëü¸ì*̽좮$¸ìT×ìü½ì%òìüÌ馺ü®ëÄÌ‹ìÕa êé»Ï,×é ÞéÐ`T²ë–‘#ìÕaà6®:ºð>Á¢À°¤å¬{¢®út×ïL×ï
ëÐ`Æ`áï+ü€ð$œ…ðå¬$€ðT™ðü…ð3<öï ûïÛÕa ³ðüïïüÒð*Ì×ð¢®$ÒðTñðü×ð%Œñüáí«»üÆïÆÌ¥ðÕa ‚î»Ï,îíÆ`õíÐ`TÊï–‘$íÕaá7°:ºð>Á£ÿ³¦å¬|¢®û´µô4ÅôÿÿÐ`"ÉðÔS 
˜‡h0(Çh'üäôtõô¤Ð`!ÉôÔS 
˜‡h11Çh'üŽõ(¤“õ‚¥$Žõl¨õü“õ#¼õ¼üâóÚÕa ›ô»Ï,ýóÐ`l„ô/àµ0
supplementaryÁ@o¤Ð`˜‡T˜‡ÿ‚¥Ø
¬¤ý¢dº_Üžý-ä–þ Ð`ÜÚý Ð`Dìþ´Þþüƒÿ"„ƒÿ
´Õa$”ÿTšÿ 3ä¸ÿtÆÿ¤Ð` üãÿ#Œãÿ…©$õÿTûÿ ,ܤ€¤©€ô¶$¤€ ´©€ ˜ÍÄŽ»ù +

"d˜ôœ
M  t˜
Œ« 
™tüŽ/§
üs¨™t  9 ´§Ã½üüùÇüý´üÇþüÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¼¡|¨ú»Ï,úÐ`T”úÐ`D“ýtÈýÐ`DËþSÐ`iË¡nãÿwòЙt5Ð`Kuºðy}data_posÁ|#Ð`-Ð`¤Ð`‚¼Ù…©yô¶N»ùôœÀ¾½Ô´¯t¯¤Ð` $­¯ Û¼˜˜ÚBšûB»¹+z*´ô(ÕahӴѯ¢dÐ`üȯL†° ˜Í|†°»ù +´§²¢dÐ`ü—²'|—²
 Õa7&e°‘Ž,°ü˜°%
Ô™°Ð`™tü†°7 
  
, ™tLÚ°˜ÍŒÚ°»ù+"ä°ΩMè°
 <ä°íÚ°

ž$–‘
k 
$( 4
h”Ú° lÕa°ï±±
þò,±±t¹±¤Ð`2žîë°
¡$Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¹ÂÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ§Òh’ȬÓXü†±g ˜Õaü±m Û¼¹Âüú°tÓü—²,¿²
Ö[ÕaÕaŸÝ$¿²øð—²- ¥ÆP#/ ü—²-lÕa Dì²  ÑÐ`D˳   ÑÐ`,¡´
”È´\Í´
ÊÕa$È´lÍ´Ô ñòÃÇh’ÈÓú”÷´\ü´©Ë$÷´lü´,®µ  ü¾µÙf ʽ&\ʽ%&4ϽÿÿÐ`"% ¬ê½(¢dº_tƒ¾) ¾Õa‹Åüê½' ¢ï(M):'"(' •¾+ü•¾!*+äš¾Ð`!* dÖ¾! á¾Ð` ù¾,¤ù¾-|þ¾î`Ð`.-) Ð`9 .,;î`Ìô¾",Yî`¬´¿1¢dº_tÍ¿2 ¾Õa‹Åü´¿' ¢ï1M2:0"(0„ò¿/ Ð`ü±¿£”°À/ Ð`%üŸ¿µ#/üæÀ/$ÜúÀŽÐ`üǽèS üÁ4düÁ5<ÂÐ` Ð`+ 54-Ð`!H34HÐ`¬Â7¢dº_t¶Â8 ¾Õa‹ÅüÂ' ¢ï7M8:6""(6)# òÂ:TéÂ94éÂÿÿÐ`:"9%$ ÷Â<´ûÂ=¢dÐ`Ô÷Â;<=;%&ÉøÔS 
˜‡h2:Çh>'­Ã@3¬­ÃA@„²ÃÐ`  A@"Ð`'@?AÐ`ü­Ã2B?ÔÅÜÐ`! B?"œÐ`(ü¨Ã73BÐ`üšÂ´. µÄD´¹ÄE¢dÐ`ÔµÄCDEC+*´ÓÄG¢dÐ`üÓÄ$FG\ìÄÐ`!F+,ÉüÔS 
˜‡h3TÇhH'Ä£ÅI3”©ÅÐ`  I3"Ð`-@3IÐ`.TíÅMŠÜíÅÈM*L/üÅO3\üÅNO™tAøÅ²µLkN,K0„øÅàòíÅ

ž$K‡J1$(PJ4P23 äíÅQJlÆ`\³ÆSQÐ` ÃÆVtÂÆW<ÈÆ˜Ð` Ð`+ WV-˜Ð`4ÄóˆÆÃÇh’ÈÓêtUVt˜Ð`üÁÆT UdÓÆžÐ`ü³Æ-XST XST5,RXÐ`TÇ\ŠüÇ% È\+[6¬ŸÇ]R™t4›Ç²µ[^],Z7Ô›Ç\^ZL„Ç^89 ‰Ç_ZÛÆ`TÌÇY_Ð`üòư!YD·Èa!lÃÈbÌ·È`ab`A:$‹È Û¼¹ÂhÓ ÕÈe\ÔÈfe fe;+dfÐ`üÔÈ#cd¤ãÈŸÐ`!cA< þÉiÔ‚Êk¤ƒÊŸÐ` šÊÐ`. k0ŸÐ`-Ð`=YjkÐ`üýÉ h ijüýÉ%gh ¡ÊÐ`#g>?É€ÔS 
˜‡h47Çhl'̹Êm¤¾ÊŸÐ`  m"ŸÐ`@@mÐ` ìÊo´ñÊp¢dÐ`ÜìÊnopn¼D°Ìq!Ä ÌqDÍÌs!ôÙÌu¢dÆ`üÙÌ%tuÐ`üÍÌ1rstrCBT»Ðv vID ×tŽ×<”×Ð` Ð`, /Ð`RTãÐx,ñÐyœãÐ
¸ßÕaÕax=y3wE*0wOF åÑ}<äÑ~} éÑÐ`" ~}$Ð`GD|~Ð`ÜÑ
þò,ÜÑ|s{H&,Òü¡Ñz ˜Õa{üœÑ Û¼¹ÂzhÓ´ Óƒ¢dÐ`üÓ'|Ӛă4‚J#üÓ,¸ÓÏÉBK$¸ÓøõÓ- ¥ÆC€L!%3MN üÓ-lÕaüƒÓ:TßÓ”×ÓŒƒÔ $Ôü¸ÐóO´ö¼ÓÃÇh’ÈÓÚäÍÔ¢dÐ`üÀÔ) „ÕÔƒÕŠ¤ˆÕŸÐ`" Š$ŸÐ`PDˆŠÐ`Ô¡Õ¤¢ÕŸÐ` ¹ÕÐ`/ 1ŸÐ`.Ð`Q[ŒÐ`Ü ÕŒüÿÔ< ˆ ÕÕ´ÚÕ¢dÐ`ÜÕÕŽŽ¼DFÐ`ü‰×"" dŸ×¡Ð`ü½×&#¤Ï× Ð`üõ×+$¼‰Ø¢Ð`É
SD¸Ù"!œ·Ù" 4ÃÙÐ`Ä·Ù" ÎÙÐ`$"ZTTÿÙ#ŠüÿÙ(# ÈUDÚ#ž!šÚ#Ÿ"|ŽÚ# žŸ#  žŸV1# Ð`ÄŽÚ#œ™t˜#ŠÚ²µšÄœ0™WìŠÚÃ#¡<õÙ#¡XY  úÙ#¢ÛÆ`DÂÚ#˜¢Ð`üæÙ¼"˜ü´Ù«"l$‡Û" Û¼¹Âh"ÓDºÜ"¦!œ¹Ü"¥ ¦4ÅÜÿÐ`ÐÜ"¨"ÕÜ"© ÖÜÐ`LÏÜ"§ ¨©ü¹Ü"ª¥§" ª¥§[2"¤ªÐ`ÜÜ"¬"LÛÜ"­ âÜî`Ð` "®­. Ð`>" ®¬Aî`\_"«¬`î`ü¹Ü+"¯¤«" ¯¤«]2"£¯Ð`ˆÝ$±"4ˆÝ$° ± ÝÐ`TÉÝ'µŠôÉÝ'ȵ,´^,ØÝ'·£tØÝ'·™tG'Ôݲµ´s_œÔÝr'¸³L½Ý'¸`b ÂÝ'¹³ÛÆ`T‚Þ'$†Þ
èÆ`Ð`¹‚Þ²a4†ÞD’ß&½ “ßÐ`°$& ½&Ð`°c$ÉÞ% Û¼¹Âh%Ól&¼½Ð`tß&¾ ŽßÐ`¼$& ¾&Ð`¼dH&»¾Ð`Ô‚ß&¿» Ð`!& ¿²»e8&º²»üúÞ,& º<ŸßÐ`T¼ß&À£ ÅßÐ`$& À£&Ð`fH&£ÀÐ`Tƒà)ÄŠüƒà%) ÈÄg,“à)Ç£d’à)Èǰ) Èǰh1)ÆÈÐ`¬’à)ÅÆ™tŠ)Žà²µÃÅiÔŽàµ)ÉÂTöß)Éjk $ûß)ÊÂÛÆ`\Ãà)ÁÊÐ`„¼á(
Á¬"l$‹á& Û¼¹Âh&Ó,—æ"ÌT æ"Íœ—æ"ËÌÍ"Ëtm ¯æ"Ð\®æ"ÑÐ" ÑÐn/"ÏÑÐ`Œ½æ"Ò$ü®æ "ÎÏÒ"Îto Íç"ÕŒÒç"×$¼Ñç"Ø× æçÐ`$" Ø×&Ð`pH"ÖØÐ`ìÌç"Ô ÕÖüÌç""ÓÔ íçÐ`%"ÓqrÉ„ÔS "
˜‡h54Ç(ŒŠè"Ú$´…è"ÛÚ" ÛÚs/"ÛÐ`ü”æ¦4"¹Œßè"Ý$¬ßè"ÞÝ óèÐ`$" ÞÝ&Ð`uH"ÜÞÐ`,—é*ß”Šé*ß,µé*áä¾é*â¢dÐ`üµé%*àáâ*àvTêë*ã *ã|wT–ì*å,¤ì*朖ì*°äå7æx$**äy  í*ê<Ÿí*ëê ¤íÐ`$* ëê&Ð`zH*éëÐ`—í*
þò,—íé{(,Ìí*ìüØìœ*ç ˜ÕaèìüÓì¢* Û¼¹Âçh*Ó´ïî*ð¢dÐ`üßî'*|ßî)šÄð}#üßî,*‡ïÏÉï~$‡ïøøßî-* ¥Æî!%*ñí3*ñ üßî-*òílÕaüÒî:*òT²ï*ó”ªï*óŒÚï* $çïüçëŸ*·,ù‹ïÃÇh’ÈÓÝ ¤ð*õŒ¨ð*ö$¼£ð*÷õö* ÷õöƒ2*ô÷Ð`T½ð*øÜüŸð(* ôøü²éö0*¹,ñ*ú ™ñ*ü|˜ñ*û üܼñ*ýúû* ýúû2*ùýÐ`LÛñ/˜ÍÔÛñ/»ù-éñ/ù\éñ/ƒ™tH/åñΩuƒ0€„åñØúÛñ/
¥Æÿˆ!%/ÿ3/Š ÜÛñ/ÿlÕa4þT“ò0 0Œ2ûõñÃÇh’ÈÓd¿ò0þTÏò0ŠÔ¿ò0°ä8Š%d’„0žþÌ…„0ždø„0 þ´¶…0¤¢dÐ`ü¦…'0|¦…/šÄ¤š$œ0ˆ Žd·ó0Žþ´ùó0¢dÐ`üéó'0|éó.šÄ4‘$üéó,0‘ôÏÉC$‘ôøüéó-0 ¥ÆD"&040 üéó-0lÕaT¼ô0üÿòê0”ÿò
£ÕaŽQ=6®6ý•ôÃÇh’ÈÓÔf0Œ,íô0üÿòó0
°äŒ/'-0 ‘ö0š<ö0š •öÐ`$0 š&Ð`—I0Ð`ˆö0
þò,ˆö˜),Áö0œüÅõ¨0 ˜Õa˜œüÀõ®0 Û¼¹Âü¹õµ0Ód…ƒ0þÌø‚0ü¼ò0 ü¦…,0Î…ÏÉ£1¢$Î…øÿ¦…-0 ¥Æ¢œ"&0¥¡40¥ž ü¦…-0¦¡lÕaTõ…0§üÄ„Ú0”Ą û¦L§Ÿ1©:Ò…ÃÇh’ÈÓÏü¼„â0ŸŒ¼†0 $ɆüòØ0 4‚‡0¨ ‡‡Ð`#0 ¨%Ð`¡G0¨Ð`ü¢‡ð0¢ ©‡0«|¨‡0ª «Ü¤¨‡0©ª »‡Ð`$0©¹£<Û‡0¬ù á‡Ð`$0 ¬ù&Ð`¤I0ù¬Ð`Lˆ0°˜ÍÔˆ0»ù°¥ˆ0²ù\ˆ0±²™tH0™ˆΩ¯u±¦„™ˆØ‚ˆ0
¥Æ®­§!%0³­30³¨© ܈0´­lÕaü€ˆ*0þ´dˈ0þTÛˆ0·Ôˈ0°ä8·ª%¾>ƒ©ˆÃÇh’ÈÓäW0µ·«dÉ0»þ´…Š0¿¢dÐ`üõ‰'0|õ‰0šÄ¿¬$üõ‰,0ŠÏɾ­$Šø„õ‰-0 ¥Æ½®"&0À¼40À¯° üõ‰-0Á¼lÕaTÈŠ0Âü‹‰ê0”‹‰Â» ÁL±1©B¡ŠÃÇh’ÈÓÏa0¹º,ùŠ0Ãü‹‰ó0
°ä¹˜Ã²'-0¸³ Œ0Ç<œŒ0ÈÇ ¡ŒÐ`$0 ÈÇ&Ð`´I0ÆÈÐ`x†”Œ0
þò,”ŒÆµ),ÍŒ0ÉüÑ‹¨0Ä ˜ÕaÅÉüÌ‹®0 Û¼¹ÂÄüÅ‹µ0Ód‘™0ÊþÌ„™0ÊüȈ0·4ñ™0Ë ö™Ð`#0 Ë%Ð`¸G0ËÐ`x0¢<Ìš"Ì" ÒšÐ`#" Ì"%Ð`ºG""ÌÐ`èš"Î"|îš"Ï#¬èš"ÍÎÏ"Í Ë›Ñ´Ð›Ò¢dÐ`ÜË›ÐÑÒмT¯œÓ Ó½¾ɈÔS 
˜‡h6Ç(LÖžÙ˜Í|Öž»ùÙ¿%àž‘ŽØÀ,àž´ÖžÖ×Ð`üÖž3ÚÖÔïžÐ`# ÚÖ$Ð`ÁFÕÚÐ`L§ŸEÞ˜ÍÔ§ŸE»ùÞÂ\µŸEßÕ™t8E±ŸΩÝeßıŸ؇§ŸE
¥ÆÜÄ!%EàÛ3EàÅÆ ܧŸEáÛlÕa´— Fè¢dÐ`ü‡ 'F|‡ 5šÄèÇ$£HˆÁŸÃÇh’ÈÓÉü‡ ,F¯ ÏÉçÈ$¯ ø‰‡ -F ¥ÆæÉ"&Féå4FéÊË ü‡ -FêålÕaT FëüÏŸˆF”ÏŸÂáTïŸêNëÌ3«Lг ÃÇh’ÈÓÑcFãä,Û FìüÏŸF
°äãšìÍ'-FâÐÎ4÷ Fí ü Ð`#F í%Ð`ÏGFíÐ`üÌŸíFÑ”œ¡Ft ¡¤Ð`)FÑ ö¡FðH‹î¡F
þò,î¡ðÒ),…¢FñüÇ¡NFî ˜Õaïñü¡TF Û¼¹ÂÓ
¾OüЬÌuüö¯ƒü˰®ú233e3üƒ²™p
111¹1
üϲÍoü±³ën ü´Œn
ü°´ìmüä´¸mü“µ‰müѵÆfüðµ§füŠfü³¶äeüêÁÅüßÅÐ*$*+*·*ü›Æü¶Ç2@#G#N#Ê# üÙªBü¨Ú8"ü¤Ü»"üúÜå$ü¤Ý»%üèÝ:%üÜ߃&ü©à;&üÊèð1"³*º+Á*>-üþðª)*üÁñç(//1ž/ô305070"9)0;p 0w =~ 0 ?&
0-
A4
0¢
CüÈžÔü“ŸE!E(G/E˜I:FAKHF¸MòÉÇä÷¬»Ï,á¬Ð`,è¬`8Ë7Ð`ê7™tú¯™t«7ãÿ´7òÐÔ7™t=7ÚÃ(7•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜’ÈÕaà6–‘87ãÿA7òÐa7`6Õa¾6¹Â·5Òó·6ÕaT‡²¢³O5–‘‘5Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÕaØÉ¡8Ð`Â8é4Õa‹5Ð`ŒÓ²Ð`tµ³ Ð`,”´
Õat´´ÕaLè´t—µÐ`DÕµÐ`4ôµÐ`|‘¶Ð`Œ·¶Ú4Ð`ð44‹ÅÂ4‹Å³4V4Ð`l4Ð`4Ð`44Ð`,3‚3‹ÅÃ3‹Å´3Ð`4îÁÐ`ò2ë2Z2‹Å›2‹ÅŒ2/2Ð`E2é1Ð`2Ð`2Ü1Ð`«1Ð`Á1Áª¼1Áªv1ö0Ð`#1Ð`1Ô0Ð`ó0²0Áª0•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜’ÈÆ`0ƒ0ô‰Œ0«0™to0Ð`…0y/Æ`0Ð`dŸÆÐ`0Ð`^/Ð`ò/Ð`00Áª_/Ð`üýÆ¥#/ô‰,/K/™t/Ý.Æ`Ò.„.Ð`¨.Ð`¢.
.Ð`O.Ð`e.Áª`.u-Ð`-Ð`.Ð`.Áª.j-ÁªH-Û,Ð`-Ð`-Ð`Ð,„,Ð`Ã,Ð`¦,Æ`Å,€,ï+’Ñ,’Ñ,¹Â1+Òór+Ð`Ï+Ð`å+Áªà+Õai+¢³®*–‘â*Ô´+Ð`6+*Õa”*Õar*Ð`
*Ð`Û)Ð`ò)Áªì)Ð`3)Ð`§)Áª°)þ(Ð`-)Ð`&)Ð`3-Ð`J-B-Ð`L”Ùb(Ð`Œ(Ð`£(Ð`üîÙ´=(ô‰F(f(™tÔ'Ð`(Ð`D(Ð`=(Áª7(¯'Æ`£'#Ð`L¨Ü"Ð`Ñ&Ð`='Ð`T'Ð`þ&Ð`3'Ð`,'Áª'Ð`¸&Ð`Ï&Ð`È&Ï&Áª]&Ð`þÜ$Ð`,&Ð`4¨Ý%÷%ô‰& &™tß%Ð`÷%¡%Æ`•%'Ð`x$Ð`Ù$Ð`^%Áªg%Áªó$¡$Áª=$Ð`<àß&à#ô‰é# $™t…#Ð`Ï#Ð`ç#Áªà#X#Æ`L#)Ä"Ð`ë"Ð`ã"W"Ð`®"Ð`Å"Áª¿"Ð`‡"Ì!Ð`é!Ð`h"Ð`R"Ð`i"Áªc"Æ!Ð`¢!Áªœ!Ð`LÎè"Ð``!ÁªZ!Ð` !É Ð`ù Ð`ñ ¸ } ’Ѩ ’Ñ¡ ¹Â¹ÒóýÐ`` Ð`w Áªq Õaò¢³2–‘fÔ´˜Ð`º˜Õa*ÕaôÐ`mÐ`Ð`ŒÁªÐ`KÐ`4‚ñ*Ð`(Ð`Ð`(Áª
Õa„Åñ/¢³O–‘Îãÿ×òÐø™tµÐ`ÍíÕaD/%»’Ñç’Ñ߯’Ñ>ÕaFÕa@¢³É–‘þÔ´1Ð`S8Õa¬0Õaš’ѹÂ0ÒóuÐ`ÙÐ`ðÁªêÕaiÕaÕaKÕaSÕa<¢³Ö–‘ Ô´-Ð`OJÕa¹0Õa§ÁªƒÐ` Ð`·Áªg¢³ˆ–‘ãÿòÐ1™tîÐ`øÕa}07’Ñc’Ñ[u’ÑÿÕaÕa¢³Š–‘¿Ô´òÐ`þÕam0Õa[’Ñä¹ÂöÒó;Ð`ŸÐ`Áª°Õa/ÕaØÁª³ÁªZìÐ`Ð` µÐ`äÐ`Ý¥ˆÐ`ÌžÐ` ™t^ãÿgòЈÁª¢³O–‘¾ãÿÇòÐè™tµÒÕa<E’Ñ%Õa-¢³¨–‘ÝÔ´<Ð`^ÕaFÕay’ÑÁª¹¹ÂëÒó0Ð`IÕa8ÿ ¹
diÁó »,ϰŽ ÄBh’ȹ-CšAa Ž Ø@h’ȹ…A

prev_i3_blockÁ 
prev_blockÁ
® 
trie_valueÁ% »' 
have_valueÁ4  i3_blockÁ> !i3ÁB "i3_block_lengthÁS #data_block_lengthÁf $i1Áû 3i2ÁãÅQŽ U:h’ȹí:Q i3_block_idxÁ÷
Ri3bÁg9_Ž 3h’ȹ4 ¸ "­M0#¢groupÁ´$£giÁX%°gi_valÁY&²givÁÁ-'¹ggi_valÁþ(ÁggivÁ
+)Ê data_maskÁH*ÜŽ =%+h’ȹÆ%-òßË/ù trie_value_2Ás0þŽ /#1h’ȹ#3Ž '!5h’ȹ¦!7Ž Â9h’ȹ<;¦Ž =h’ȹ«?´Ž ÕAh’ȹOCÁßËNEÕ
high_valueÁT—ŸFᎠåGh’ȹZIᎠKh’ȹ~Mêi,üH¤Ð`´D ÑÐ`©D ÑÐ`CÐ`fAÐ`rAÐ`~AÐ`é>Ð`š>Ð`¦>Ð`@Ð`)@Ð`å?œÐ`ñ?œÐ`‘=˜Ð`=˜Ð`©=˜Ð`%=žÐ`c;ŸÐ`"9Ð`.9Ð`:9Ð`â4¡Ð`Ó4 Ð`Ä4¢Ð`W6ŸÐ`c6ŸÐ`6ŸÐ`*6ŸÐ`®;ŸÐ`º;ŸÐ`ê:ŸÐ`ö:ŸÐ`-Dî`9Dî`EDî`YCÐ`ŠCÐ`5CŽÐ`hÐ`tÐ`¤Ð`—IÐ`oH¤Ð`X»ùJJšÄJ‘ŽXJ»ùgIΩnI¥Æ&IþòÇHÃÇ4IÏÉ“G¥ÆaG©ËÆFÃÇoG©ËvF¢ï»E¢ï|D¢ï)C˜‡sB˜‡AÈn@²µu@£Ù@ÃÇ@È©>²µ°>˜‡n<°ä¥:þò :šÄx9ÏÉV9¥Æ29ÃÇ99Èÿ5²µ6Èì2²µó2ÔõJ2Èk0²µr0˜‡¦-°ä ,þòn+šÄÔ*Ïɲ*¥ÆŽ*ÃÇ•*»ù–(Ω(¥Æ.(ÃÇ5(°ä_'šÄô&šÄ&ÏÉs&¥ÆN&Âã%ÃÇ\&°äk%þòÉ$ÏÉ$¥Æî#ƒ#ÃÇü#»ùÇ!ΩÎ!¥Æ_!°äÓ ÃÇm!šÄO ÏÉ, ¥Æ œÃÇ °ä)þò˜‡d»ù'‘Ž.»ùhΩo¥ÆšÄžÃÇÏÉV¥Æ1ÂÆÃÇ?°äQþò§F §¹FÈF¾^‹ÅåFº_íFõF¨E §ºEÉE¾®‹ÅæEº_îEöE£H §µHÄH¾‹ÅáHº_éHñH˜ŒÜ«
þòDÜ« ÑÐ`Dç« ÑÐ`=”„¬\‰¬©Ë$„¬l‰¬üµ«l ˜Õaü°«r Û¼¹Âü¬¬d ªÕa–­¿üת¿üŸ«÷ªªñC­¢D®­D· D3rq:Õaüôª »Ï,êªÉÇT£«¹ÂèÒó\Õa!0
init_rangeÁ<²} ÑÐ`x ÑÐ`þò±©Ëu”Þ³\ã³
¿Õa$Þ³lã³ü…´) ÂÕaä` ¹ÂÕaüÞ³Q4þ³
£NŒáÂÕaä`¨ã¾ãžsüþ³1üÞ³½´
™N£­£­FilterÁ¦­ù§­ predicateÁä9Jÿ ÃW^—ŒáäãÒóÃÕaä`¹ÂÒóÝhƒåÜÁ´ü½´ ã´Àüݲâ­â­MapÁå­ùæ­±Å@Iœóë ¶¥«äƒåü¥³.»Ï,ƒ³Õa,’³«äŒáøäãÑ1»4©ïâ,ÚãÉ¥ä|–´Õa,©´ÕaÄ–´ÂÕ>/!®´Âx•´ äã ¹ÂL‹´’Ñ’Ñ­D»ÕaÕÂÕ »|Í´ÒóÜ´ÃñÒóÌ´ ƒå ¹ÂL´­D
,”î¼\ó¼ïâ$î¼ló¼ü’½{ ÉÕa¦Žä`”嘘ÚBšûB»¹+z*´ô(±ê·êü½
™NŒáÆêÉÕa±ê·êä`Àêëà¼ü½ü·¼âü·¼6
¿â­â­ñäå­ùæ­±Å@Iœóë ¶¥Œá­ë±êÂoŸ¾Äü†»··„)ºùµ»¾)µ²Iú9[újò‚ì±êüý»/»ÏD¹»·ê<Ë»‚ìRŒáø­ëØ2Ø4¤ïâ,ŸëüëB\ʽÒóî½·ê\ò½Õa„î½ ?
•"·ê¾ãU2:üŸ½n ˜±ê¾ÉÈÆêž½ ­ëã¹Â,˜½Òó򱐤 ·êÚ¾ãºÕaÓûB7ØÏ»·êAïôØ„ÅÆÕaÛÆÊüœÆ?Õa ¹Æ»Ï,¯Æ 0´€Ò,…Ò
¹Õa$€ÒT‹ÒŒ…Òì€Ò$—Ò
èÕaÐ`Y4—Ò£ÒÍüÆÑ]Ð`òÑ»Ï,×ÑÐ`TÞÑÕa©ºð!OêñÔ¤ò \ÉÓ¢dTéÓŠ”éÓ,ôÓö,<ôÓLԘ͌Ô,™Ô
Ù˜Í4<™Ô„»ÔÕaü¥Ó± ÕÕaÜÔÐüƒÓÙ½Ï$–Ó»Ï,ŒÓ¢dŠã˜Í¸òÐ×Õa;aö´ôêðŠ“ØÒóÒó+0
·ßÒóÒóGLTZæØƒgƒg).àÉ:?GKS_ŠÒÖ ÉÖ Ïfø!
 Òó¨øׇÀׇÈV¹
cmÎöZàÉùÖÖ£ÔÖ
ø$-7ØÖ
7ÇðŒ“Ø
8ÇÒó*Œ‚æØ
9Ç
ƒg) 
5 Œ‚ –³­²Ÿ¤nsÎŒÝÖ¦ç ç‚óøûïƒÇ ÇýŒ‚¨øÇÜŒ‚ä ׇïׇ÷S±al¨øŒ‚b›üŒ‚1–³ð“ØÒó
ÙÒó08`æØƒg
Ùƒg.6(ßÖ ˜ƒgäÖ©4Ïf?øGÒóŨøÍƒg˜×‡ oyšýùÕýÃëÙ
:Ç莰Ú
;Ç»Ï*Œ‚øŽÇÞ'< Ç
ÉÇ+ 
7 Œ‚¢–³¯´¡¦puÐŽðÙ²é ç‚õ Œáïƒ ÇÇŒ‚  »ÏÇæŒ‚î  ÉÇüÈa±ozªŒ‚pÆŒ‚?–³ |«àÉǬ¥à7$Ââ Û¼¹Â $ÎàÛ¹ÂTíà Òó”íà,øà
ƒ#Ð` 3<øàœìàüìàDƒá ÑÐ`"D¢á»Ï¬¢áL«á
¾Õa4 µáÐ` d«áDåá»ÏTøá Òó„øáƒâ
„#Ð` 3 ,ƒâ¤øá
Ç ï´Ð` J ‹âÐ`
8üåá(LîáÇ„®
[ üîáü”à½ÉÇtµã
ÉÇ´µã,Äã
ÙÉÇ
4
<ÄãÑãÔüáßðüÉàäÉÇ”÷ß ŒáLéßÉÇü¥à¬ÈÂTÉà¥èvÐ`(ï´\¨ø|Ð`Uï´¨ø«Èï»Ïw»ÏˆcpmrÁäÌu ÑÐ`ǃÒÇ„Y²…õÜ…ÏÇ„˜÷†E´Üé,áé
Þ¸c$ÜéTçéŒáéüÜé4óé
¡¸c\DóéêÚü¦é[Ð`Îé Љ,³éÐ`Tºé¸c¯ºð!RʉÚŠŠ¡tðìLðìÿ³úì#ü™í$œží
ßЉ¸c$™íT²íüží><í ”íÛ¸c Ìíüˆí¨¬ëítðí
àЉ¸c$ëí„ðíüëí;Ìî
·¸cUT›îüî%¶îüþê¸Ûüßì×̾í¸c ›ëΊ,‡ëÆ`ŽëÐ`TãìÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¸c­k¸c`œß3°ºðÁòÿ³2á‹óŒªU¬úïtÿïóŒ$úï„ÿïüúï8œð
¼¸cJl¤ðüð"¸ðÜü¹ï¸c îïΊ,ÐïÐ`l×ïœß¤„¹"PóŒϸªd•óL•óÀ° Ÿó#ü¼ó$œÁóá‹$¼óTÕóüÁó3<²ó ·óÛ¸c ïóü«ó¨¬Žôt“ôóŒ$Žô„“ôüŽô;̤ôªCT¾ôü¤ô%Ùôü¦ñ³Ýü„óÕÌáó¸c ÀñΊ,­ñ ´ñÐ`TˆóµŽK¸c œßÜ@®DºðHÁA¬À°Ïá‹­óŒ,ª
ü†ö$œ‹öá‹$†öTŸöü‹ö3<üõ  öÛ¸c ¹öüõõäÍötÛö¤Ð` ¬øötýöóŒ$øö„ýöüøö;ÌŽ÷ªCT¨÷üŽ÷%¬Ñ÷tÖ÷óŒ$Ñ÷„Ö÷üÑ÷!¸cüÊö²‚øüÅõ½ÞÌ«ö ¸c éõΊ,ÎõÐ`TÕõµŽ²{¸cpCœßœßÈGºðKÁ­w¤Ð`á‹óŒoªKóŒ 1‘ß

ßЉ¸c‹Å¬œût¡ûóŒ$œû„¡û9‘ç
¢dº_‰‘Þ
 Aÿ
‹ÅI‘ ‹ÅÉ‘­ 
¢ïI‘® Q‘»  -3 ù‘è ! 
ǽá‘Ì  Û¼Àù‘Œ] ù‘Œ 
òWº_º_
!‘­ Q‘³ Y‘¿  ` J|âû ÙЉ¸cº_!¬ÜûBäÎü
 Ð`Ü’ü
 Ð`Dý
´‚ý ¬Û‚tà‚óŒ$Û‚
„à‚üÛ‚;Ìñ‚
¸cJT‹ƒ üñ‚%üÍ‚L Û¼¸cüÿüÑ
$„ Û¼¸c&
Ö„ßü´ú¢
ù‘þ
Œ ù‘Ý Ÿ üÍûµŽLæúΊ,ËúÐ`TÒú‹Å‹ÅÚ‹ÅL‹Åœß8‹Åé‹ÅÝÍ«Ö!‘á kŽ×Ð`DÑûº_8t€ü³Ð`ɸcüÒ‚Fœß«´ºð¸·Ù{ËÙs

>|‹ûÙЉ¸cº_ÕÙЉ¸cº_ƒÐ`¯Ð`óŒQ¢ïÔÅœeóŒdóž@t|ÙЉ¸cº_½Ìßô‹Åéº_ÆøÒÙЉ¸cº_(’í‡
=Çð’ˆ
>ǽÏ*6Œ‚af¦‚sxejŠò‡º£ç‚¯£ž·ïƒ¿ÇÇÇ·Œ‚¿ªÇ»ÏÏð±ýªŒ‚ý¦‚tÞ‰ §ü‰+åº_DÓ‰'TrieType::FastÁ\„‹½Ï•‹æüÅŠP»ÏÄኣž,׊ 1T˜Œ½Ï¨Œçüß‹I½Ï¼ö‹«š$í‹ 1œÜÿ³øÏÆ`-üÜ2ÜóÐ`!É•ÔS 
˜‡h?DÇh'1™ß

èÕa‹Å9™ç

èÕa‹Å‰™Þ
 A™ÿ
 ‹ÅI™ 
‹ÅÉ™­ 
¢ï I™® 
Q™»  -3 ù™è !  ǽá™Ì  Û¼Àù™Œ] ù™Œ Åœ !™­  Q™³ 
Y™¿ X
B¬åŽtêŽ
૚Õa$厄êŽß
¢dº_ç

èÕa‹Å‰œÞ
 ÿ
‹Å ‹ÅÉœ­ 
¢ï® » -3
ùœè !  ǽáœÌ  Û¼ÀùœŒ] ùœŒ Åœ­ ³ ¿ XBÿ³Á #¬ÿ“t„”Ú¬$ÿ“ „„”üÿ“;Ì•”ðCT¯”
ü•”%”èü¥ù™þ
Œ ù™Ý Ÿ ùœþ
Œ ùœÝ Ÿ ü¦œÕa £žÆ`µ Ð`EêÉ ˆ‹Åыź‹ÅŽ‹År«Ö!™á Ž×6É l‹Å¯»Ïì‹Å§‹Å{‹Åo_«Öá ýŽ×#Ð`»Ï¨ ê°í·ÙM ËÙE
¿ ·ÙËÙýŠºðz±pøÏÆ`RÐ`|ªŽÙ«šÕaº_
ÿ³½˜‡b¢ï½ÅœNÚ¬
¢ïeÅœöÿ³µÚ¬ðot §èk‹Å.º_H=t»Ž §ËÚèÇ‹Å÷º_H!*Ù«šÕaº_Sbè/‹Åº_uÙ«šÕaº_ÄÄ—dΗ
°ÕaLÄ—tΗ0ô¾—Q䩘 Ö¿£žÎjhÎj Ę$÷—»;£žD€˜ Ö¿£žÎj ‡˜Ö˜ðü§–¯ìë—Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
£žÎjüð–C»ÏL¼–ÅŸaŒë—£žìï (³
µÏ·ž„ñšD÷š
¯Õa,ñšT÷š0´ëšQäΛ Ö¿«šÎjhÎj é›$œ›»;«šD¥› Ö¿«šÎj ¬›û›õüæ™ìÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
«šÎjü¤š<½Ï,û™ŒœaŒ«šì»(³
µûºž(ïœ
@ÇðÅ
>ǽÏ*6Œ‚af¦‚sxejŠôœÂ£ç‚¯ªž·ïƒ¿ÇÇÇ·Œ‚¿ªÇ»ÏÏð±ýªŒ‚ý¦‚|âž §üÆž,ùº_Dמ'TrieType::SmallÁ\‰ ½Ïš úüÊŸP»ÏÄæŸªž,ÜŸ 1T¡½Ï­¡ûüä I½Ï¼û Þš$ò  1IJ¤d¼¤Ï·L²¤t¼¤)ô¬¤J$¢¥Ñ;ªžD«¥ Ö¿ªžÎj ²¥äë¤ Ö¿ªžÎjhÎj †¥Ä¥ƒü”£°ô•¥Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ªžÎjüÝ£D»ÏL©£ÅŸZtÙ¤ªžï )³
5Ï·˜„á§Dç§ûº,á§Tç§)´Û§J$ɨÑ;ÞšDÒ¨ Ö¿ÞšÎj ٨䒨 Ö¿ÞšÎjhÎj ­¨ë¨ˆüÕ¦ô¼¨Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÞšÎjü“§=½Ï,ꦌœZt€¨Þš»)³
5ûº˜æ©
AǦ•,19žë©ÆRç‚^ ÎjhïƒpÇx±Ž˜¦•¢­«$Ÿ¢¬Ñ;ÉkF NÇ/ ;
 Œ‚x}꓊ 
jœŸô«»;Ãk¼ÄÇ/;Œ‚îóê“lŸ²«Ó.4; ç‚I ûjTïƒ]e ÃkÐÇxŒ‚á ÌÍì ÉklÇŸŒ‚~ òÍŠ¾±ÌÏ–;Ï–¾ñÎŒ‚Õê“çÍŒ‚pê“ê
¡ï
Ø$)Ök5 Ök?HR(­ú
'- 5BÇBG¦•T Yae
mCÇz¦•Œ
 ¥DDz·¦•Ä ÉÑ ­¾
äGÇñùEÇ/7FÇBNŒ‚6<¦‚JPc­ÿ
Ý| 炾Ïª ÇáǾÇòŒ‚ú ŸÓÇãÇìÇõÿ±
Ï–G%¦•0¦•7¦•>ÃÓŒ‚s¦‚O
+9 I
¾ÏY
ft|ˆ£ª¾ÏºÇ ®¾
¾Ï äGÇ,¾Ï<
äGÇT  ` 
ns
·ßŸÓŸÓ Š ®Š
àŠ˜¤¾Ï­¾Ï¾ÆÍ¾Ï¾ÏÛãëŸÓŸÓ(ÃÓ1ÃÓ:¾Ï¾Ï!¾Ï*¾Ï3=¹
K‰žZ¡žgÏ–Ÿ Æž¬
Š˜×Àî`¤ñ  î`Ð`' Ð`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¼`¸¼`€¼`Ǽ`€¼`Ò¼`€¼`ݼ`€¼`è¼`€¼`ó¼`€¼`þ¼`€¼`¼`€¼`¼`$™€¼`£¼`€¼`®¼`€¼`¹¼`€¼`ļ`€¼`ϼ`€¼`Ú¼`€¼`å¼`€¼`ð¼`€¼`û¼`$„€¼`м`$€¼`¼`€¼` ¼`€¼`«¼`€¼`¼`€¼`Á¼`€¼`̼`€¼`×¼`€¼`æ¼`€¼`ñ¼`€¼`ü¼`$€¼`¼`€¼`¼`$—€¼`¼`€¼`¨¼`¼`³¼`¼`¾¼`¼`ͼ`¼`ؼ`¼`ã¼`¼`î¼`¼`ù¼`¼`¼`$‰¼`¼`$”¼`š¼`¼`©¼`¼`´¼`¼`¿¼`¼`ʼ`¼`Õ¼`¼`à¼`¼`ë¼`¼`ö¼`¼`¼`¼`¼`$•¼`¼`¼`¦¼`¼`±¼`¼`¼¼`¼`Ǽ`¼`Ò¼`¼`ݼ`¼`ì¼`¼`÷¼`¼`¼`$‡¼`¼`$’¼`˜¼`$ ¼`£¼` ¼`®¼` ¼`¹¼` ¼`ļ` ¼`Ó¼` ¼`Þ¼` ¼`é¼` ¼`ô¼` ¼`ÿ¼`$„ ¼`м`$ ¼`¼` ¼` ¼` ¼`¯¼` ¼`º¼`$¿ ¼`ż` ¼`м` ¼`Û¼` ¼`æ¼` ¼`ñ¼` ¼`ü¼`$
$ÉÇ„ç
äT¹Â2)Û¹Â$†%
üÓ×½m„®
ûM½m04¸(  
Û¹Â%

 $›  Û¼¹ÂhL„  ½m„„  èç +  $
 

 
$
 ۹ Òó”§  ǃ*
 œ¦  Òó Ç ²…*  œ½ Ü…9 Ï Ð` .ü¦ *
 Õa Õa¼Ô ÂÕ9,!' ÒóŒ¹  ǃ* ”¸  Òó„Î Ù ²…* ŒÍ ø¸ &
þòm+$ü¬ 2Òó ´
$
!
 Û¼¹Â!
ÉÇÉÇ ˜%
"L“ Û¼¹Â"­$µ ò~ÉÇ é%
# Û¼¹Â#]%eó;$Düí
È%£>Gü˜Ûž$îþ%NÄ\üÅ®äøä¿«ü•  &ÉÇ”® ƒm¹Â/ÉÇû ÉÇÚ¹ÂÑÉÇ ½m¡_¹ÂVÉÇçßòȹ¿èÐ`kï´˜¨øÐ`<ï´k¨øÛ’Ñ
’ÑÒó1Ð`ï´½¨øÛÐ`cï´¨ø®ÉǹÂ*¹ÂйÂhSEretÁ{¾)ó o
ó Á!ÇævèçÜèç%ǃ«²…kÜ…LÂÕÙǃ²…Vþò)¹ÂóÉÇ®¹Â¹ÂGT»& åë%öT0î`7>dû' åî%öT0î`7>ÔÕ ÀÁ"…Z-4¬ò ÌÍ(¼Z3Ð`:Ð`AHœ»W "ã^-4œ‚Y Ÿ"ã^-4œ’[ ¡"ã^-4$ï« ÇÃkÉkË,ûj7Ãk>E,œ¬ ÇÃkÉkÎ,ûj7Ék>E4wµíü²îü–+( Efficient collections for Unicode data.ÁÂúüÆ|y This module is published as its own crate ([`icu_collections`](https://docs.rs/icu_collections/latest/icu_collections/))ÁüÃ|y and as part of the [`icu`](https://docs.rs/icu/latest/icu/) crate. See the latter for more details on the ICU4X project.ÁÀúüă ICU4X [`CodePointTrie`](crate::codepointtrie::CodePointTrie) provides a read-only view of `CodePointTrie` data that is exportedÁüÈmj from ICU4C. Detailed information about the design of the data structure can be found in the documentationÁü¶JG for the [`CodePointTrie`](crate::codepointtrie::CodePointTrie) struct.Á úü… µ² ICU4X [`CodePointInversionList`](`crate::codepointinvlist::CodePointInversionList`) provides necessary functionality for highly efficient querying of sets of Unicode characters.Áü»
š 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„‰ Ä”~<ü ¬”Ï L<ç -/ ü§. ü­! ™tÜ´ „º Æ`üØ" ¼Þ Æ`̼ Æ`ÌŒ t’ Æ`Ìí Æ`ìò ”ø Æ`ü›
" ¼¡
Æ`üã
" ¼é
Æ`ü ' ä• Æ`üû % Ô Æ`ü¬ ¬² Æ`ìó ”ù Æ`ü›
" ¼¡
Æ`üâ

Æ`üŽ- T ™tÆ`™t
ç+œ leadÁ$¨ üÕ2 |Ø ™tÆ`™t
ç+è û• $ô ì‘ ÉR, ü- üµE B Returns a new [`Char16Trie`] with ownership of the provided data.Á ¬¬”~¯Â¿°°~¿±Ã~¿Ê^DÄJT²ÖÆ`ÉR
¥*CüÆ, üÞU R Returns a new [`Char16TrieIterator`] backed by borrowed data from the `trie` dataÁ$Í é éÉRÚÚ½+ܳ
Ýç+Þò+ŒÜí=é Ò 
 üî)& Dñ) î`Æ`
„¹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  ëö‰œT!!
#ë³
PüŽ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¡‹! Í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;¢’ DÞ
5<¢’ 45<AsULEÁ,ûµ5>ñ<5?”~<¬5@æ3|¡À5Aæ3Á5A³Œ× q5C o5D$à47„í œÿü™!ô”ÔÔ<쵤¦–´š‰ô¶ik[]”è5Ð`üæ3„ì5¬¬”~¯Â¿°°~¿±Ã~¿Ê^DÄJT²Ö˜¢ü€ *<† 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¬¬”~¯Â¿°°~¿±Ã~¿Ê^DÄJT²Ö˜¢Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†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.BsKsÔè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_from_u32
chunk_sizeÁ™lŽœü€ìj¼Q8颲íQä` 8袲í
Ú2Íì8P9ùMæì ¬Çtæì úM\Ðtæì 8ßtÞì oûì .‹í #œí O4ùuOþÖ Q–× Q³× QQOõíü’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â­â­ñäå­ùæ­±Å@Iœóë ¶¥Ûë Tä`Ãì ÒóÍì8SÃMÂö ü´-Âö úMÒóÔÆÂö 8äºö ÎÖö 0çö "úö R4Ò€RþÖ T–× T³× TTR¯ôüâŠ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³× WWUÙúüÏ”&üý“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 is defined to be inÁü–ª?< the range from 0 to the maximum valid Unicode Scalar Value.ÁÚªúüâªW¾ˆ
ü¾«, ‰
ï«út÷«æ  Ьú<’¬…‘ üž¬CºÌ üæ¬0œŠ
ü›­Læä ´ì­»å ,‡®Úå t‘®èå ü¤®&# assert!(example.contains32(0x41));ÁüÏ®'$ assert!(!example.contains32(0x43));Á<û®…‘ Tޝ œVÐ`H ™¯H
^$š¯ȇ
, ¯üá½Cüî¯C@ Checks to see if the range is in the [`CodePointInversionList`]Á¶°úü¾°W¾ˆ
üš±UR in the set using [`Vec`] implementation. Only runs the search once on the `start`Áüô±LI parameter, while the `end` parameter is checked in a single `O(1)` step.ÁŲútͲæ  à²ú<è²…‘ üô²CºÌ ü¼³0œŠ
üñ³Læä ´Â´»å ,Ý´Úå tç´èå üú´.+ assert!(example.contains_range('A'..'C'));Áü­µ/, assert!(example.contains_range('A'..='B'));Áüáµ0- assert!(!example.contains_range('A'..='C'));Á<–¶…‘ ¢¶úüª¶b_ Surrogate points (`0xD800 -> 0xDFFF`) will return [`false`] if the Range contains them but theÁü‘·(% [`CodePointInversionList`] does not.Á¾·úüÆ·KH Note: when comparing to ICU4C/J, keep in mind that `Range`s in Rust areÁü–¸JG constructed inclusive of start boundary and exclusive of end boundary.Áüå¸UR The ICU4C/J `CodePointInversionList::contains(UChar32 start, UChar32 end)` methodÁü¿¹*' differs by including the end boundary.Áî¹útö¹æ  ‰ºú<‘º…‘ üºCºÌ ”åº use std::char;Á|üº let check =Áü»IF char::from_u32(0xD7FE).unwrap()..char::from_u32(0xE001).unwrap();ÁüÞ»85 let example_list = [0xD7FE, 0xD7FF, 0xE000, 0xE001];Áü›¼Læä ´ì¼»å ,‡½Úå t‘½èå ü¤½,) assert!(!example.contains_range(check));Á<Õ½…‘ tè½ œVåüHž`` ÷½HÍìåü´…¾¤#åüŒŠ¾
_åü$ø½ûB57üžË.üõÂwt Check if the calling [`CodePointInversionList`] contains all the characters of the given [`CodePointInversionList`]ÁñÃútùÃæ  ŒÄú<”Ä…‘ ü ÄCºÌ üèÄ@= let example_list = [0x41, 0x46, 0x55, 0x5B]; // A - E, U - ZÁü­ÅLæä ´þÅ»å ,™ÆÚå t£Æèå ü¶ÆMJ let a_to_d = CodePointInversionList::try_from_u32_inversion_list_slice(&[ÁœˆÇ 0x41, 0x45,Á4 Ç ])Át«Çèå ü¾ÇMJ let f_to_t = CodePointInversionList::try_from_u32_inversion_list_slice(&[ÁœÈ 0x46, 0x55,Á4¨È¦¤
t³Èèå üÆÈMJ let r_to_x = CodePointInversionList::try_from_u32_inversion_list_slice(&[Áœ˜É 0x52, 0x58,Á4°É¦¤
t»Éèå üÎÉ;8 assert!(example.contains_set(&a_to_d)); // contains allÁüŽÊ=: assert!(!example.contains_set(&f_to_t)); // contains noneÁüÐÊ=: assert!(!example.contains_set(&r_to_x)); // contains someÁ<’Ë…‘ d¥Ëƒ œV ƒœVH ²ËH
a$³ËsetÁ¹ËüêÕ<üÝÐda Returns the end of the initial substring where the characters are either contained/not containedÁ|ÆÑ in the set.ÁÚÑútâÑæ  õÑú<ýÑ…‘ ü‰ÒCºÌ üÑÒ1. let example_list = [0x41, 0x44]; // {A, B, C}Áü‡ÓLæä ´ØÓ»å ,óÓÚå týÓèå üÔ0- assert_eq!(example.span("CABXYZ", true), 3);ÁüÅÔ/, assert_eq!(example.span("XYZC", false), 3);ÁüùÔ-* assert_eq!(example.span("XYZ", true), 0);Áü«Õ.+ assert_eq!(example.span("ABC", false), 0);Á<ÞÕ…‘ $ñÕ œV ™tH öÕH
b$÷Õspan_strÁDýÕ containedÁLÖ$çÖbþÖ c–× c³× ccbcä` é³ üïÜAü«×fc Returns the start of the trailing substring (starting from end of string) where the characters areÁü–Øc` either contained/not contained in the set. Returns the length of the string if no valid return.ÁþØút†Ùæ  ™Ùú<¡Ù…‘ ü­ÙCºÌ üõÙ1«
ü«ÚLæä ´üÚ»å ,—ÛÚå t¡Ûèå ü´Û52 assert_eq!(example.span_back("XYZCAB", true), 3);ÁüîÛ52 assert_eq!(example.span_back("ABCXYZ", true), 6);Áü¨Ü63 assert_eq!(example.span_back("CABXYZ", false), 3);Á<ãÜ…‘ LöÜ œV ™tH €ÝH
d$ÝÔ®
D‡Ýå®
L—Ý$­ÞdþÖ e–× e³× eedeä`ǰ
Û°
L,†4oqÿ­1fhžÄ \õ¤#fk£¡”™
RflµÅ ,¿µfm”~<Ó¬fnʆEÚ¬xé£fjʆê£fjâˆE®xì£fjâˆí£fjƒMÞ¯xï£fjƒð£fj$ÏæèÌÏÞàüŠ!Óœ±Æ„ʹüÐIˆ ˆ¬¬”~¯Â¿°°~¿±Ã~¿Ê^DÄJT²Ö˜¢ ð
o inv_list_zvÁ\ã<—oþÖ p–× p³× ppopä`‚îüädŒëœ†Ÿƒ¥rÒssrÍìƒg ýÍ윆œ‡ æƒgÐ`Š ƒg¤#œ†ƒg
qƒgœ†ûB)†[]WYü!(<üº$<œä<üÆ"üË_\ 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{ãÄ D¢Ùw|ãÄ  Pw|¢’ Dº
w}¢’ 4w}¿¯wˆ•âw¼Á³µ¡£œƒ”tœ†”°f<ÈGI79ü„6…[ƒˆŒŽ,‰üðüÁhe Returns a new [`CodePointInversionListAndStringList`] from both a [`CodePointInversionList`] for theÁü®=: code points and a [`VarZeroVec`]`<`[`str`]`>` of strings.ÁD÷œVââãˆ•çˆ B^xí¹–Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
…[ã^
ƒ²5\‰Í5D½ü‚)Ž4à(¤)œVÆÃ
…[
²5< Í5F Ü¯,ü…+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 …[ µ° öK
Ž$÷K¬êüËPM This module provides a data structure for an time-efficient lookup of valuesÁôœ associated to code points.Á»úü¿ It is an implementation of the existing [ICU4C UCPTrie](https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/ucptrie_8h.html)ÁüÉZW / [ICU4J CodePointTrie](https://unicode-org.github.io/icu-docs/apidoc/dev/icu4j/) API.Á¤ú”¨Û¶ »úü¿nk ICU4X [`CodePointTrie`] is designed to provide a read-only view of [`CodePointTrie`] data that is exportedÁü®mÀþüœ%" for the [`CodePointTrie`] struct.ÁÂúæ  ÕúüÙ! ## Querying a `CodePointTrie`Áûú<ÿ…‘ ü‡0- use icu::collections::codepointtrie::planes;Áü¸)& let trie = planes::get_planes_trie();Áâúüæ2/ assert_eq!(0, trie.get32(0x41)); // 'A' as u32Áü™63 assert_eq!(0, trie.get32(0x13E0)); // 'á ' as u32ÁüÐ85 assert_eq!(1, trie.get32(0x10044)); // 'ð„' as u32Á<‰ …‘ úü• ¢‘ Œ¥ÚBŒÎ
˜ªñCÌñ
ª«ö=lœ Õ¬Ÿ@œ» ú­ÛDŒà ³®®E”ƒ »¯«;D§ §°½ ž±®F,Ü Ç²­”ó Ö³CodePointTrieErrorÁ”Ÿ
Ô´ž£ÕÖ˜ªÕú³»§ÇÃÄÏÔCharTryFromErrorÁ„ü›ª
InfallibleÁT¡ˆêíðt<ØÄcTryFromIntErrorÁ|¨€“¾½£˜ãÄ DâÙãÄ  P¢’ Dú
𢒠4šµÅ ,–µ„‰Äœ”~<ø¬‰#|Õ  #ÜÎ ŽÃ#œÙ Þ#ÜÍ $ä± ¥$Üï È$Ô— ê$„ù ‚%\¸ •%”Þ ¯%<Ø
¾%<ª ˜Í%<† Ü%L–
ší%L® þ%ÔÔ œ &¤È ¼&dÄ žÐ&¤º Ÿì&¤¢  ˆ'dž ¡œ'¼Œ ¢»'|Œ £Ò'tË ¤üÏ"eü÷ äðLÌ’3´±$”ÍÔú̽ë۔𸜈”ׄï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¬õ
^¼õ
TÌõ
Eáõ
;ñõ
6™õ
ެõ
¼õ
xÌõ
iáõ
_ñõ
 ¡Ÿ ¡ÍìЉŸôšÄ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»ê¤©Êó¤šAü¤13ìŸ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 Y ÛW Y+ éW êW ÿW8«,ëW ðW þW8¤‰ lñW8X8¬ X “X, •X8¬ X% —X8¥X8­ ©X «X, ­X8­ ®X% ¯X8§ d½X ÉX ÊX åX8¬ ËX ÌX8 checked_mulÁ\ÍX ØX ÚX8­ ÙX ÛX8 <ÜX ãX äX% æX, ôX8¬ õX öX8èd÷X ƒY †Y, „Y8­ …Y% —YüY1ñª¥««ªÍìÕa ©YžÕaL¬Y­®¯°±²³´µ·¸¹º»¼½¾¿ÀÄÊ,¢Yacü§[ÅdýY # SafetyÁŽZúü–Z0- `header.trie_type`, `index`, and `data` mustÁüËZ0- satisfy the invariants for the fields of theÁü€[" same names on `CodePointTrie`.Á4ÛYü»[ ¢d¬¬”~¯Â¿°°~¿±Ã~¿Ê^DÄJT²ÖñÆ`¬¬”~¯Â¿°°~¿±Ã~¿Ê^DÄJT²ÖñÕaÕaa©©
¬ñÕa›>Ö¥*¾gºüä`©üÒ_KH Returns a new [`CodePointTrie`] backed by borrowed data for the `index`Áü¢`=: array and `data` array, whose data values have width `W`.Á<ë`¢d€˜ Θ Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
aÖk©©
­ñÕa›>;ÖÖ¾¥*à¾ü¡h›|¯h ¢d ö‰ åÿ¡ú© Ðh©
®ñÕa›>êÇÖôÇ¥*þÇü¤†YüÂ…OL Turns this trie into a version whose trie type is encoded in the Rust type.ÁD«†aÇÊË»;̈ÍÎÑ;ψ »ô/—ÇÏ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ÇÊË»;̈ÍÎÑ;ψ »ô/—Ç Ïh Òi© ꉩ
°ñÕa$ë‰üð%¤ó˜ ˜aÐ`© ˆ‘©
±ñÕa$‰‘üû“6¤þ“ aÐ`Ð`© “”©
²ñÕa$””ºðÝñü„¯-\‡¯š šaÐ`Ð`© “¯©
³ñÕa$”¯ºðÇü˶,Tζ aÐ`Ð`© Ù¶©
´ñÕa$Ú¶ºðü®½;œ±½œ œaÐ`–‘© Ž©
µñÕa$ƽºð(ü¥Ç@̯Ç aÐ`Õa© ÉÇ©
ü½á)çå
ëáúüóá2¦æ
üªâ6âæ
üåâ8¢ç
<¢ã…‘ ,øã   aÐ`Õa© þã©
¹ñÕa$ÿãºð5üÌéü–æ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$þó„¹Süüù;üÂõ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$ŽúºðxüЬ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;Áù¢úü£&# let start_val = trie.get32(start);Áü¬£/, assert_eq!(trie.get32(exp_end), start_val);Áüà£30 assert_ne!(trie.get32(exp_end + 1), start_val);Á˜¤úü ¤;8 use icu::collections::codepointtrie::CodePointMapRange;Áà¤úüè¤JG let cpm_range: CodePointMapRange<u8> = trie.get_range(start).unwrap();Á·¥úü¿¥0- assert_eq!(cpm_range.range.start(), &start);Áüô¥0- assert_eq!(cpm_range.range.end(), &exp_end);Áü©¦+( assert_eq!(cpm_range.value, start_val);ÁÙ¦úüá¦LI // `start` can be any code point, whether or not it lies on the boundaryÁü²§=: // of a maximally large range that still contains `start`Áô§úüü§,) let submaximal_1_start = start + 0x1234;Áü­¨C@ let submaximal_1 = trie.get_range(submaximal_1_start).unwrap();Áüõ¨63 assert_eq!(submaximal_1.range.start(), &0x1_1234);Áü°©41 assert_eq!(submaximal_1.range.end(), &0x1_ffff);Áüé©.+ assert_eq!(submaximal_1.value, start_val);Áœªúü¤ª,) let submaximal_2_start = start + 0xffff;ÁüÕªC@ let submaximal_2 = trie.get_range(submaximal_2_start).unwrap();Áü«63 assert_eq!(submaximal_2.range.start(), &0x1_ffff);ÁüØ«41 assert_eq!(submaximal_2.range.end(), &0x1_ffff);Áü‘¬.+ assert_eq!(submaximal_2.value, start_val);Á<Ĭ…‘ L׬¥ ¥aÐ`ÉÇ© ᬩ
¾ñÕa$⬹ÐXüת=ü¢¢KH Yields an [`Iterator`] returning ranges of consecutive code points thatÁüò¢>; share the same value in the [`CodePointTrie`], as given byÁüµ£# [`CodePointTrie::get_range()`].ÁÝ£út壿  ø£ú<€¤…‘ üŒ¤" use core::ops::RangeInclusive;Áü³¤0­å
üè¤;ü ¨¥úü°¥0- let planes_trie = planes::get_planes_trie();Áå¥úüí¥/, let mut ranges = planes_trie.iter_ranges();Á¡¦úÌ©¦ for plane in 0..=16 {ÁüǦ)& let exp_start = plane * 0x1_0000;Áüõ¦)& let exp_end = exp_start + 0xffff;Áœ£§ÙÓ Ô»§ ranges.next(),ÁüÚ§$! Some(CodePointMapRange {Áüƒ¨+( range: exp_start..=exp_end,Áü³¨" value: plane as u8ÁtÚ¨ })ÁTí¨ßÔ ,ü¨òÔ †©úüŽ©IF // Hitting the end of the iterator returns `None`, as will subsequentÁÄÜ© // calls to .next().Áüù©$! assert_eq!(ranges.next(), None);Áü¢ª$ŠÕ <˪…‘ \Þª¦ ¦aªªñC­¢D®­D· D3rq:¦Õa© ꪩ
¿ñÕa$ëªüݲvüœ­OL Yields an [`Iterator`] returning the ranges of the code points whose valuesÁüð­+( match `value` in the [`CodePointTrie`].Á ®út¨®æ  »®ú<î…‘ üÏ®0­å
„¯úüŒ¯)çå
º¯ú´Â¯ let plane_val = 2;ÁüݯIF let mut sip_range_iter = trie.iter_ranges_for_value(plane_val as u8);Á«°úü³°%" let start = plane_val * 0x1_0000;Áìݰ let end = start + 0xffff;Áÿ°úü‡±)& let sip_range = sip_range_iter.next()Áüµ±=: .expect("Plane 2 (SIP) should exist in planes data");Áü÷±'$ assert_eq!(start..=end, sip_range);Á£²úü«²-* assert!(sip_range_iter.next().is_none());Á¬ä²§ §aÕañÕa§Á© ƒ³©
ÀñÕa$„³»Ãrø¥³.À8ËËÀâ­â­ñäå­ùæ­±Å@Iœóë ¶¥£­£­·ã¦­ù§­Óãä9Jÿ ÃW^—ªªñC­¢D®­D· D3rq:8ÕaäãƒåÍìñÕa8Á ùMµà üª³$µà úMÒóÔ³³µà 8ѳ­à EÎà 4àà %ôà À„…´ÀþÖ Â–× Â³× ÂÂÀäã\Á´ÀþÖ Ã–× Ã³× ÃÃÀƒåü†»¦üé´PM Yields an [`Iterator`] returning the ranges of the code points after passingÁü¾µ)& the value through a mapping function.ÁìµúüôµNK This is preferable to calling `.get_ranges().map()` since it will coalesceÁìǶ adjacent ranges into one.Áé¶útñ¶æ  „·ú<Œ·…‘ ü˜·0­å
Í·úüÕ·)çå
ƒ¸ú´‹¸øØ ü¦¸sp let mut sip_range_iter = trie.iter_ranges_mapped(|value| value != plane_val as u8).filter(|range| range.value);Áž¹úü¦¹'$ let end = plane_val * 0x1_0000 - 1;ÁÒ¹úüÚ¹)ÞÚ üˆºKH .expect("Complemented planes data should have at least one entry");Áüغ)& assert_eq!(0..=end, sip_range.range);Á”» ëa·êñÕaë±ê·êëÈ©ëŦƎÇÅÆÇ©Íì±ê ¤»Íì·êôÔ»±ê§»±ê묻“"·ê¾ãlÙ»·ê¾ã˜"±ê 廊 ·ê$é»·êëð»
ÄñÕaë±ê·ê$½»ØÉw »¹»Å·¹ÅøŽý»/ÄëÇÇÄë몼ëë··„)ºùµ»¾)µ²Iú9[újòâ­â­ñäå­ùæ­±Å@Iœóë ¶¥ªªñC­¢D®­D· D3rq:ëÕaÉÕaë±ê·êä`Àêë±êÍìñÕaë±ê·êëÈYùMêí ü‚¼%êí úMÆêÜ‹¼êí ëWâí ’î 3¤î $¸î qÄd’½ÄþÖ É–× É³× ÉÉÄ­ëôœÆüÏÅ:7 Returns the value used as an error value for this trieÁ\£Æ¨ ¨aÕa© ¯Æ©
ÊñÕa$°ÆüåÌ38©¥Ì©Ì†• êÌ–• LíÌæÕaÐ`LùÌñeÍ')üÆÑ/üŸÍUR Returns the value that is associated with `code_point` for this [`CodePointTrie`]Á|ùÍ as a `u32`.ÁÎút•Îæ  ¨Îú<°Î…‘ ü¼Î0­å
üñÎ)çå
ŸÏúܧÏ let cp = 'ð‘–Ž' as u32;ÁäÇÏ assert_eq!(cp, 0x1158E);ÁèÏúüðÏ'$ let plane_num: u8 = trie.get32(cp);ÁüœÐ52 assert_eq!(trie.get32_u32(cp), plane_num as u32);Á<ÖÐ…‘ LÍѪ ªñeÐ`Ð`Ë ×ÑË
Í8Õa$ØÑºðùxü§ÒU8«¥ÏÏ«†• ¬Ò–• L¯Òب,öÒñeÐÙÐ-/¼ƒÓ,†Ó¬ ¬ñeñeÎ ŒÓÎ
Ð8Õa$ÓüóÞ@8­¥ÒÒ­†• øÞ–• LûÞ†hÓÔúMûMÔ#%Lºß$¿ßÑѹÂüáß($äß® ®†hÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ†húMÑ éßÑ
Ô8Õa$îßTïä$õäÕÕ™õ
lïäÕ™õ
™õ
üœæ7üþäA> Trait for writing trait bounds for monomorphizing over eitherÁüÀå0- `FastCodePointTrie` or `SmallCodePointTrie`.Á”¦æÖñ×¥ØØ×Ö™õ
üœæÕЉ$ÏæÍì¸c À枸cLÃæÖ™õ
Mëû @™õ
Yëû ÚÛÜÝÞßàáÙÚÛÜÝÞßàáÝàÜßÛÞÚá,¹æÌ•èüÚæ<9 The `TrieType` associated with this `TypedCodePointTrie`Á›çúì£ç # Safety Usable InvariantÁÅçúüÍçC@ This constant matches `self.as_untyped_ref().header.trie_type`.ÁL›èÖÖº_ü¦é+üµèVS Lookup trie value as `u32` by Unicode Scalar Value without branching on trie type.ÁL©é¯ ¯ЉÐ`Ð`Ö ³éÖ
ÚЉñ¸c$´éºð{ôþêü‡ê\Y Lookup trie value by Basic Multilingual Plane Code Point without branching on trie type.Á,ë° °ЉÆ`¸cÖ ‡ëÖ
ÛЉñ¸c$ˆë°zü¹ï6ü¼îb_ Lookup trie value by non-Basic Multilingual Plane Scalar Value without branching on trie type.Áœ¼ï± ±ЉÐ`¸cÖ ÐïÖ
ÜЉñ¸c$ÑŠyܦñü¾ðMJ Lookup trie value by Unicode Scalar Value without branching on trie type.Á©ñ² ²Љ¸cÖ ­ñÖ
ÝЉñ¸c$®ñ®ªxüÅõ%üßôKH Lookup trie value by Unicode Code Point without branching on trie type.Á,Èõ³ ³ЉÐ`¸cÖ ÎõÖ
ÞЉñ¸c$Ïõºð9wü´ú;üˆøTQ Returns the value that is associated with `code_point` in this [`CodePointTrie`]ÁüáøC@ if `code_point` uses fast-path lookup or `None` if `code_point`Áü©ùA> should use small-path lookup or is above the supported range.Áœ·ú´ ´ЉÐ`µŽÖ ËúÖ
ßЉñ¸c$ÌúºðÛtü˜…5üÜ„74 Returns a reference to the wrapped `CodePointTrie`.Át›…µ µЉ µÕÕö=Ø›>ÙÖÚ¥*ù¾v>_Ív§Úñ¸cÖ ª…Ö
àЉñ¸c$«…ü/üÓ…)& Extracts the wrapped `CodePointTrie`.ÁT„†Љ¢‹ ÖÖ
áЉñ¸c$üåˆVñã¥äã䆕 ñˆ–• LôˆÏhåæçèÙàáÛèæç,êˆ@B̉Lȉââº_üÅŠ4üó‰7³‰ tÈŠ Ïh aâ ׊â
æñÕa$ØŠüß‹.ü›‹)»‹ Tâ‹Ïhaââ
çñÕaÆsô¥ü®Œ\üÿ · ·ÏhÆ`Õaâ ®â
èñÕa°åoüÆ”>ñê¥ëê놕 Ò”–• LÕ”Ïh,Ë”ü‰•lñí¥îî톕 ••–• L˜•ªiïðòóð,Ž•*,Tü•,ììÎjü§–ŒDª–´iÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ªiÎjìì
ðñÕaï ùlüÚ˜Zñò¥óòó†• æ˜–• Lé˜Ïhôõòóõ,ߘ*,T»™,À™ññÎjüæ™zDé™aÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÏhÎjññ
õñÕa»nlüèWñ÷¥øø÷†• ô–• ÒiùúûÙàáúû57ÌÆžLÌžööº_üÊŸ4üøž7³‰ tÍŸ¸ ¸Òi ¸aö ÜŸö
úñÕa$ÝŸüä .ü  )»‹ Tç Òiaöö