Files
boc/aamos-ledger-rust/target/debug/deps/libicu_provider-d781c4307358ffc0.rlib
T

2974 lines
754 KiB
Plaintext
Raw Normal View History

!<arch>
/ 0 0 0 0 12060 `
uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold17h47851c98bfe9645fE_ZN4core4iter6traits8iterator8Iterator8try_fold17h48e1722795e3dd65E_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold17h775d12ded4f147a6E_ZN4core4iter6traits8iterator8Iterator8try_fold17h61c9ee79ddb3c0feE_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold17haa78cfc57d41db8bE_ZN4core4iter6traits8iterator8Iterator8try_fold17h3e3107dd8b9d035eE_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold17hd408430455efbd49E_ZN4core4iter6traits8iterator8Iterator8try_fold17h9c8eddd6efe1e1c9E_ZN12icu_provider11marker_full12DataMarkerId9from_name17h21b11eb6b07c9b15E_ZN12icu_provider11marker_full9fxhash_3217h5643845ffec90d82E_ZN12icu_provider11marker_full14DataMarkerInfo11make_locale17he8e57bb0a1d5f96fE_ZN12icu_provider11marker_full14DataMarkerInfo12match_marker17h8f128820823f0ffeE_ZN12icu_provider11marker_full14DataMarkerInfo7from_id17h16d9ee30cf32a4d9E_ZN12icu_provider8fallback20LocaleFallbackConfig7default17hb9157517da704dacE_ZN12icu_provider11marker_full16DataMarkerIdHash8to_bytes17ha1ce3ed63b56ff6bE_ZN4core10intrinsics11rotate_left17h5700d77744c7393bE_ZN12icu_provider3buf12BufferFormat15check_available17h887020b94abb6ab2E_ZN12icu_provider5baked8zerotrie9get_index17hcd7ab8e0aba0112bE_ZN8zerotrie6cursor70_$LT$impl$u20$zerotrie..zerotrie..ZeroTrieSimpleAscii$LT$Store$GT$$GT$6cursor17h367d97d288169558E_ZN74_$LT$icu_locale_core..data..DataLocale$u20$as$u20$writeable..Writeable$GT$8write_to17h50306b94ddd2112eE_ZN9writeable5impls54_$LT$impl$u20$writeable..Writeable$u20$for$u20$str$GT$8write_to17ha1592cb2f91b3887E_ZN4core6result19Result$LT$T$C$E$GT$2ok17hc70250ede74481f8E_ZN75_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..ops..try_trait..Try$GT$6branch17h3876813dcd583456E_ZN4core6option15Option$LT$T$GT$7is_none17h1e500d44252126d0E_ZN12icu_provider5error1_83_$LT$impl$u20$core..fmt..Display$u20$for$u20$icu_provider..error..DataErrorKind$GT$3fmt17h5bd23429be532ea2E_ZN4core3fmt2rt8Argument9new_debug17h202c7e1c5e639bfeE_ZN4core3fmt9Arguments3new17h57454f076189b18dE_ZN4core3fmt2rt8Argument11new_display17h51e6c60718e30efeE_ZN4core3fmt9Arguments3new17h509ba34be399a1c2E_ZN12icu_provider5error9DataError8with_req17hac739fc5670e77a9E_ZN4core3cmp9PartialEq2ne17h1762fd1e79d82a14E_ZN12icu_provider7request20DataMarkerAttributes12try_from_str17h9ca83699e2569ca0E_ZN12icu_provider7request20DataMarkerAttributes13try_from_utf817hb850e7adf42809f2E_ZN12icu_provider7request20DataMarkerAttributes8validate17h577c5e44d5cd5c21E_ZN12icu_provider7request20DataMarkerAttributes17from_str_or_panic17h38cd9fb93e879904E_ZN12icu_provider7request20DataMarkerAttributes5empty17h8863312b11483537E_ZN12icu_provider7request20DataMarkerAttributes6as_str17ha7be8f0f7bae1a27E_ZN12icu_provider7request22DataIdentifierBorrowed10for_locale17h3b6e8ad0604494a3E_ZN12icu_provider7request22DataIdentifierBorrowed21for_marker_attributes17hb05c6695110e0771E_ZN12icu_provider7request22DataIdentifierBorrowed32for_marker_attributes_and_locale17h04c726b9a8b0d138E_ZN12icu_provider8fallback22LocaleFallbackPriority7default17hb752c44ed70176a3E_ZN12icu_provider8response20DataResponseMetadata13with_checksum17h411c25b163922aaaE_ZN4yoke4yoke17Yoke$LT$Y$C$C$GT$12replace_cart17hfba61d792c87ae94E_ZN4core6option15Option$LT$T$G
icu_provider-d781c4307358ffc0.icu_provider.41170f15664f55bf-cgu.0.rcgu.o/
lib.rmeta/ 0 0 0 644 410864 `
ELF·pC@@GNUÀrust
È@#rustc 1.96.0 (ac68faa20 2026-05-25)ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁzerotrieÁóôö¬µŠKì|t§×(c-2e59e106bf8bcf22Á
displaydocÁ©$-.ÿæ§ï=[œiF-53df79815c011341ÁzerofromÁ“zÂÚ¤‰ÔžˆÁÕÁpâ-ebe6d0d4f33b764dÁzerofrom_deriveÁŸæþÇŽá2?M¥e (-abe85a41d9dcc735Á¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁyokeÁ0²Àë[éQ¿ d|Ù‘õ-e00e8f69447c8036Ástable_deref_traitÁê7#JÙ iÕ‰~òÏ-e121373445e25e3fÁ yoke_deriveÁ×ã„Ô„ýT·+CIƒ•sÙ-ad663b8de2c8c776ÁzerovecÁþzôs3û]0oøºÑê±-05e7744103b7d51dÁzerovec_deriveÁ£½+d“ð΃-m*¸]-09ac241eaa4a8700Á writeableÁFLÛ
9>2!fiQxMíHn-0dc003cbca78f018Áicu_locale_coreÁ< &üþsímÿõf§§-cbe933ed93688d5eÁlitemapÁTøUs•a÷á¶…ø¤½-0ffcf6145090791aÁtinystrÁ1
ðìñ3Ðï4;µQ-98301aa19023b8fcÁ¤,¦$»¤Œ…$ß»¤Œùù
»¤Œ°
:serdeÁ,½»æŒ¥exportÁ4®%»”‘% hello_worldÁ\Ø%»¤Œ¼%serde_borrow_de_utilsÁ¬Õ&»æŒ–&PBoxÁ«»¤Œ…PIterableDataProviderÁ¤µ»¤Œ—PIterableDynamicDataProviderÁÜ¢D»¤Œ„DP$„e$ùd¤Í(»¤Œ¡(¬Üã(»¤´oø»¤ŒÑ´ToOwnedÁ<ª»¤Œƒ´éß»¤Œ¹´ß4‘»¤Œê´®»¤ŒŸ´VarULEÁ4廤Œ¿´DataIdentifierCowÁŒÆ!»¤Œ§!Öé໤ŒºÖr,û¤Œ Ö
SelectedRcÁTÔ»¤ŒÖ »¤ŒæÖ CartInnerÁLì/»¤ŒÈ/áEncodeAsVarULEÁtø»”Ñá ZeroMapKVÁLÑ»¤Œ©áZeroMapÁ<Ü»¤ á ZeroMap2dÁL廤<MaybeEncodeAsVarULEÁœ¿
»” 
ñÝ œÆ1»1óAsDeserializingBufferProviderÁìƒ3»æŒ×2ó±
ŒÂ8»¤Œò7ó¤Õ8»¤ó¬Üë8»¤,.logÁ‡;»loggingÁœé:£<»¤Œë;íbakedÁ_ ID_SEPARATORÁ  get_indexÁžfrom_trie_and_values_uncheckedÁžžgetÁ žfrom_trie_and_refs_uncheckedÁž ž ÿ" DataForVarULEsÁ$ž$trieÁ$¼(ž*ž*Ä-ž-ÿ/  DataStoreÁ5ž5ÿprivateÁ8SealedÁbufÁ::<
DataStructÁ:BufferProviderÁ:?¡:Acheck_availableÁ constructorsÁCgen_buffer_unstable_docsÁCgen_buffer_data_constructorsÁdynutilÁFUpcastDataPayloadÁGžGupcastÁF__impl_casting_upcastÁFF__impl_dynamic_data_providerÁFF%__impl_iterable_dynamic_data_providerÁF
data_providerÁPPPP DataProviderÁTžT¬PWžW¡W¬PDryDataProviderÁ[ž[dry_loadÁP^ž^¡^àPDynamicDataProviderÁbžb load_dataÁPeže¡e©PDynamicDryDataProviderÁiži
dry_load_dataÁPlžl¡löPBoundDataProviderÁpžp
load_boundÁp bound_markerÁPtžt¡tÂtÓPyžy¡yæ P}ž}M0Á}ª}¡}'aÁ}Â}ÓerrorÁŒŒŒŒŒŒŒ×Œ
into_errorÁ with_markerÁwith_str_contextÁwith_type_contextÁ¥with_reqÁŒœcustomÁœÃœÖœî ¥œœwith_display_contextÁ£œwith_debug_contextÁ¥œfor_typeÁ§¥ŒŒResultDataErrorÁª¥ªallow_identifier_not_foundÁŒ­¥­Ü 
 requestÁ´´´´´´´»×´½Á½
for_localeÁ½for_marker_attributesÁ½ for_marker_attributes_and_localeÁ´Â>´ÄåÄ´´Ç×´ÉvalidateÁÉ try_from_strÁÉ
try_from_utf8ÁÉfrom_str_or_panicÁÉemptyÁÉas_strÁ 
responseÁÖÖÖÖÖÖÖÖÖß
with_checksumÁÖ DataPayloadÁá
ážáˆÖ
DataPayloadOrÁå
åžå åˆÖDataPayloadInnerÁêžêYokeÁì
ìˆê StaticRefÁï
ïˆÖDataPayloadOrInnerÁòžò òà õ
õˆòInnerÁø
øˆÖDataPayloadOrInnerInnerÁûžû ûÜ þ
þˆû¯
ˆÖ¾ ÖÖ unwrap_cartÁªÁ Š ÖŒžŒÁŒ×Öž Á×  ÖžÁƒÖž ÁƒÖ ž Á Ö¤ž¤ ¤Á¤Ö ©ž©ÁÖ
¬ž¬ ¬ÁÖ °ž°
from_ownedÁ°from_static_refÁ°with_mutÁ´Á´´'bÁ°ÿ¸Á°
get_staticÁ° map_projectÁ»M2Á»»Á°map_project_clonedÁ¿'thisÁ¿&¿¿Á°try_map_projectÁÄ&ÄÄÄÁ°try_map_project_clonedÁɶ&É&ÉÉÉÁ°castÁÏ&°cast_refÁÑ&° dynamic_castÁÓ&°dynamic_cast_mutÁÕ&Ö ×from_yoked_bufferÁ×from_static_bufferÁÖ
ÚžÚ>ÖÝžÝ Ý from_payloadÁÝ
from_otherÁÝ
is_payloadÁÝÿãÁÝ
into_innerÁÖæžæŒ
æ
get_optionÁéÁÖ DataResponseÁëžëmetadataÁëpayloadÁÖïžïØ'ñ&ï„(ó&ÖõžõÁõ×ÖùžùÁùƒ marker_fullÁƒƒƒƒƒƒƒƒƒƒ ƒ
ƒ ƒ ƒ
ƒDynamicDataMarkerÁ˜Áƒ
DataMarkerÁINFOÁƒ
DataMarkerExtÁbindÁ˜¡ make_localeÁƒž˜-¡¬-ƒ ª Á ˜ƒ¤ª¤Á¤÷,ƒ!__impl_data_provider_never_markerÁƒƒª LEADING_TAGÁªto_bytesÁ¬ ƒ fxhash_32Á® hash_word_32Á¯ROTATEÁ¯SEED32Áƒ²ULEÁ² to_unalignedÁ²from_unalignedÁƒƒ·ƒ¹ƒ»ï
ƒ ½§¾ƒ
À from_nameÁÀhashedÁƒ Ãï
ƒ Ń
ǧȃÊfrom_idÁÊ match_markerÁʬ-ƒ data_markerÁƒÏ׃јÑÁјÚÙÙÙÙÙÙÙ
varule_traitsÁáá
MaybeAsVarULEÁã
EncodedStructÁá data_structÁáæ¥æŸæ æÝ2áëÝ2áíÁí§íÝ2uleÁñ¥ óóóóóóóóóó ó
ó ó ó
óóóóóóóóóóóóóóóó¸>>>>_internal_noop_logÁDataÁ¢ž¢ø¢¼ ¦ž¦×DataRefÁ©ž©ø©¼
­ž­×: BufferMarkerÁ°
:²×: BufferFormatÁ´JsonÁµ
´Bincode1Á·
´ Postcard1Á¹
:»×::¾:ÀÖ:§Ãù: :
: ǃPDataProviderWithMarkerÁɞɡÉinnerÁÉ_markerÁPΞΡÎ׌
DataErrorKindÁŒŒÔƒŒŒ×ÖŒ Œ
ÚŒÜÝ׌ ß×ÒMarkerNotFoundÁá
ÒIdentifierNotFoundÁã
ÒInvalidRequestÁå
ÒInconsistentDataÁç
çˆÒDowncastÁê
êˆÒ DeserializeÁí
ÒCustomÁï
Œ DataErrorÁññÚñ str_contextÁñsilentÁŒ Œ
÷ƒŒŒúÖŒŒýŒÿ×´ DataRequestÁÁidÁÆ*´Á>´ˆÁˆ×´Á´ Áƒ´
Á´ Á´ Á´
ÁÖ´DataRequestMetadataÁšé;šattributes_prefix_matchÁ´>´Ÿ×´´¢ƒ´´´¦´¨Ö´ªï
´¬´DataIdentifierBorrowedÁ®Á®marker_attributesÁ®localeÁ´²Á²>´µÁµ×´¸Á´ºÁºƒ´½Á´¿Á´ÁÁÁ´ÄÁÄÖ´DataMarkerAttributesÁÇ»´ ´!Ê´"ÌÖ´#δ$Ðï
´%Ò§Óù´AttributeParseErrorÁÕ
´&××ÖDataResponseMetadataÁÙà?Ù
buffer_formatÁÙchecksumÁÖÝ×Ö߃ÖÖâÖä>ÖCartÁæ
æˆÖéƒÖë׃ NeverMarkerÁí
íªíˆƒñªñ׃ôªƒöªöƒƒDataMarkerIdHashÁù
ùˆû ƒý׃ƒƒÖƒ ƒï
ƒƒƒƒƒŒ ƒŽ§ùƒvalidate_bytesÁSIZEÁZEROÁSIZE_0Á OFFSET_0Á ƒ DataMarkerIdÁ§ ƒ×ƒ ƒ!ƒ"¡ƒ¢ ƒ#¤Ö¥ ƒDataMarkerInfoÁ§Õ<§ is_singletonÁ§ has_checksumÁ§fallback_configÁƒ$ƒ%ƒ&®ƒƒ'ƒ(±ƒ)³Öƒ ErasedMarkerÁµ
µ˜µÁµˆƒ*º˜ºÁºƒƒ+¾˜¾Áƒ,Á˜ÁÁƒ-ĘÄÁă.ȘÈÁÈÖƒ/̘ÌÁ̧Ïùƒ0јÑÁÑ×LocaleFallbackPriorityÁÕLanguageÁÖ
ÕScriptÁØ
ÕRegionÁÚ
Ü×ßáÖ 
åƒ çï
 éLocaleFallbackConfigÁëpriorityÁ
í×ðƒóõÖ


"
"
/
/
7
7
B
V
V
W
Z
Z
]
]
^
a
a
d
d
e
h
h
k
k
l
o
o
r
r
s
t
w
w
x
ƒ
ƒ





¢
£
¥
»
¼
¼
¼
Â
Æ
È
È
È
Ê
Ë
Ì
Í
Ï






š
Ÿ
£
£
¨
¨
º
Ñ
Õ
â
ø
ø
ø
ü
®
¸
¸
º
º
¼
¼
¾
¾
Ä
Ä
Æ
Æ
È
È
Ð
Ð
Ð
¨
¨
¨
¯
¯
¯
³
³
³
¼
¼
¼
¿
¿
Á
Ã
Ã
È
Ñ
Ñ
Ñ
Õ
Ø
Û
Û
Þ
Þ
Þ
à
à
à
ø
û
þ
þ



Š
Š
Š




 
 
 
£
§
§
©
«
«
­
­
·
·
·
¼
Ã
Ã
Æ
Ë
Ë
Í
Ï
Ï
Ñ
Ñ
Ó
Ó
Ø
Ø
Ø
Þ
Þ
Þ
à
ã
ã
ê
ì
ì
ì
ó
ó
ó
ø
þ
þ
þ


ƒ


ˆ
ˆ
Œ



ž
ž
ž
¢
¥
¯
²
²
´
½
Ç
Ç
Ë
Ï
Ï
Ô
Ô
Ô
Ý
Ý
Ý
à
à
â
æ
è
è
ê
ê
î
î
î
ñ
ô
ô
ö
59>GT[bipªã¿c¢¢í5¤ø¥¼š
aŒG¿Ež9ÔV5ÔVŒW¿c©©¤6«ø¬¼»u”D9žŒW9®W5®WŒW9$$Ü&ø'¼ü:KÍz´ŒW5„XŒW¿c°°±Þ6 Ê]~ù‡‹ÎX>¡¿c´µ–7·¸§7¹º¼7t^@ždÖÐì‘Yµß‘Y‘Y‘Yše‘YŠ ‘YÛ‘YØ‘YT 8¡ž[¨Z´Zb¨Z´Zi¨Z´Zp¨Z´Z¿cÉÉ¡8ÌÏ8PÍÜ8Pù¼¸AŸZzŒW¡pÉÉ¡8ÌÏ8PÍÜ8Pù¼¸AŸZzŒW¡ªÛÒáâó9ãäŽ:åæ­:çèÈ:éˆêëí:ìˆíîŠ;ïð¢;¡G¿š3“çN؆\Š †\†\Ðì†\µß†\†\Äc†\¿c†\Ûññµ;òóÚôÖ;õé; º+•Øð]Š ð]ð]Ðìð]µßð]ð]¿cð]Äcð]¾ð]ªÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¥ð]à_³º<ƒÕ<Æ*b´øbz1* Á¿có_Ûó_Øó_Š ó_Ðìó_µßó_ó_ó_³ššö=é;œ™>X!BD{³ž¿cÿ`Ûÿ`Øÿ`Š ÿ`Ðìÿ`µßÿ`ÿ`ÿ`íßÿ`ÿ`ºÿ`³®®¡?°Ç?±à? +ˆ ‰ëökÁ¿cbÛbØbŠ bÐìbµßbbbÄc®®¡?°Ç?±à? +ˆ ‰ëök8ÐìÇÇý@È»´I²Ê¨v¤©dµßêcêcêcºêcíßêcêcšeêc³ 8êcé!êc¿cêc¿cÕÕÖïA ª(Ê„ÑZ¿cÙÙœBÚà?ÛÀBÜÕBVíÓ C¬§ØªeÐìªeµßªeªe³ªeØææçCèˆÖ ¨|©ÏûÆ]¿c›fï›f¿cááâÉäˆ ž–ò)ˆ‚´ŒW¿cååæñéˆ ­”FÀ܃JŒW ØèfØ£gµßèfèfµß£g£gèf£g³èf¿cëëª*íÆ*îÖ*œÙÚ
¹Ÿ»ŒWزhŒW¿cííîÐCðˆƒ gíI”FZ1ªŠ „iØ„i„i„i¿cùùú¯Dûˆƒ Ÿ©¨ÐìëiµßëiëiëiíßëiëiºëiŠ ëiÛëiØëišeëi
°ëi
µëi
¹ëi¿c°Fšƒ§ƒ®•ÄJ‚šâ–Š ¥kÛ¥kØ¥k¥kµß¥k¥kº¥kíߥk¥kše¥kŠ §§”G¨Õ<©²GªÆG«ÚG&öGì yÛ¾lؾlÐì¾lµß¾l¾l¾líß¾l¾lº¾lše¾l¿c¾lصµ§H¹ˆƒ ‰#d9u¨9˜Š îmÐìîmµßîmîmîmšeîm¿cîmîmãà_Ÿãã

VarZeroCowÁ
@

marker1Á
úÜrè‰ÄƒËÁ§¿cÕÖ×¹JØÙÎJÚÛáJ¦:¶¥¾SÐìéoµßéoéoéoŠ éoÛéoØéoíßéoéoºéo³éo¿cëëÑKìíKn"i˜Û™qØ™qÐì™qµß™q™q™qŠ ™q³™q¦¢­©²°»´ÎÉßÒÿñˆŸšµ®ÇÇ×ÕÝÙëæŒáåõëñíýùϧѵÜÕí뢩($¢ ©-$<° íѵ?½´ÙÒüñ¥š¿®ÉÇáÙÿù°§ÁµÞÕòë¾´ÚÒýñ¦šÁ®ÊÇâÙ á¤åù·±§ÄµßÕóëÀ´×Òúñ¨šÄ®ÌÇ©á¬åù¤³§ÈµáÕõë´ÒÇŽù½Ç§ÌµÅ´ÖÒùñ¤š½®ôíùŸ¬§¾µãÕ÷ëÆ´ÓÒöñ¡š¸®Šù ­§äÕïëÇ´ÔÒ÷ñ¢šº®ßÙéæáåùëöíù¡®§ºµåÕðëW
^
e
l
t
}ÉÝÒñ»®©ñ­Ö¿š²®Â
äÙÚáÕ몚ÐÇù»Ã§çÕ¬šÎÇù¹Å§éÕÄÇæ¤íù²ùùæëí
¿cè9¨5>Ðì
µß[pšeiŠ
*Û [ØMT~[bipÄc
¾ª³íß6º*é!*ï
°
µ
¹ã0x1EÁ(«  ø­( µ|··ZeroTrieSimpleAsciiÁ¹È; «Ûôz¸ 
•|i ¿cøÛ  µ|
 
ŒW2 
> °}êï
ûcõú|#°¨; Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŸÈŸÈ ÈErrorÁ O˜éBLà ÔVÎ  c cˆ¢cµ
 `£c `àB¤GS
µ|µ| °} Þ|µ|£°}«  á}¹ï€Âf±tÒ€°}u퀰}û˜~¬à ¢ŒWûü¸ÃÔVÞ|á}ø¼D¦ ¢ŒW ô²°ÔV¬Þ|ªá}¨Þ|~á}røÉ¼ÍøL‰Þ|üÿ1Lÿ
+¼˜-ü+á} ŒW ä}á}üÿÊ
·TWç„÷„¤xü™0üÿù×
·Tî„èf
³ŒWräÛè… ü×!þüó Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙèf´Þë®®¡?°Ç?±à? +ˆ ‰ëök¼¶Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙî„Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙNÞ|jŸ….á}ùÕ<Ô™>Ù „ ’…6Û…ôá}äª
€tä}0 Ä„¶Èßî„ Ÿ…ö žá}´ self__valuesÁ$„á}:쉩_ref__self__valuesÁ(ƒ µ|øˆ( µ|Þ|'°}ø) µ|
 
î„, 
8 °}˜~§¬œ¡otȈ¯ß ç~ê ®Wôöûµ|µ|õ°}üÒ€µ|Õ°}Ü  —ŒêÕòG±U`Ò€°}XÓ°}*˜~|¬Ü  ©ŒW÷ ü­Ê®WÞ|—Œ4™ ø¼E§ ©ŒW ð ³±®W­Þ|«—Œ©Þ|—ŒtøÌ¼ÏûL‹#Þ|ü#1L# „*#¼š#,üŸ$+ —Œ #ŒWê„ î„—Œ ü›$
·TÕ‘#ŒWϑߑ¥zü›$0ü4Ù$
üTî„hDÙ$ü#ï$Û…Fäó$è… üï$!%"üõ!¡
®†´à",…"…‡”"¼¸"ɇªÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÕ‘@—ˆ»Þ|׈’œ—ŒŒÕ<˜™>Ó „ û‘¡Ä’_Û…7\¬$—Œä¬$l¸$
€tî„2 Æ$„¸$Ê$#UÕ‘¢$ˆ’l  $—Œ~´߉$†"—Œ§È•¡Š¬à1 $ŒWû1,ü„X$Ñ1Þ|$½0 

 VarZeroSliceÁ
Ú

 entire_sliceÁ
wF°ß.¿kBä}ä
ä 
ä 
å Index32Á P
º*ÝÃ@4ï0øž¼Í$ç14í1. $ŒW ô1;,:„X7Þ|6µ—­Þ|ƒµ—xøX¼ÔˆLØ4Þ|üÎ41LÎ4 „*ã4¼ç4,üì5+ µ— 0ŒWê„ ‰˜µ— üÎ4Êè5
·T0ŒW—›§›¥züè50üÎ4õ¦6
·Tä}

ä}‰˜wĪ6™œ ì¦6üÎ4ŸÑ6
·Tä}èf
²ŒWt¼Õ6äœ äÑ6ó6/üÂ3±
®†´­4 „X,Ò3…‡á3¼…4Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙä}Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ´—ˆ/Þ|KЛµ—ÑÚÕ<Ý™>â „ÛŒœÔØœ\ù5µ—äù5l…6
¤‰˜“˜3 “6„…6—60Ëï5Лâ í5µ—ô´߉$Ó3µ—… ¢Š(Ð  µ|
êc-2:Õ³Qç~\ ÎXfömµ|t}±ŠÊ¡ž(Ì$*2 µ|ÐHPµ|ckµ|9Ê¡ŸÑ¼ç~Á ‘YËöÒµ|Ùàé±öÊ¡ HÓÜ¿;@FQ–¤Y–¤ahox¹
 __self_discrÁž __arg1_discrÁµ½àÁÞµ–¤) â!
›eù8=EæÃ\aµm–¤u ®§ šº§ø¤µ½¥§Ç(îóÈ"Y-–¤5>H< Œ 
V­Z´Z,­·ZüÏhÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ëëª*íÆ*îÖ*œÙÚ
¹Ÿ»´Zð]üó"  ­Z,׺<ƒÕ<Æ*b´øbz1* Þ–«FOreqÁ# Æ©Y¬¼
]­Z´Z,Í×aüâuÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ªeð]üŠ'”«£«õ–«÷ª!Ÿ»¬ë<Î&ôÎ&LÖ&
d­Z´Z,4à&è&´Ö&ò&hüÁ%±…ªü¡&"”«,×%¾l4æ%£«†&–«&Ú*÷ª.fÁ®¹<æ7üæ7"lî7
k­Z´Z-4ü7„8Ôî7Ž8oüÐ6¾ú¬ü´7'”«,ê6¾l4ù6£«™7–«&Ú*÷ª.f–°º<ûR¼ûRTƒS
r­Z´Z,ŽS|ƒS˜Swü¤Rt…ªüÎR"”«,²R£«¹R–«÷ª!Oê±<ÞS´ÞSdæS
s­Z´Z,tæSúSxü«SO¾ltÅS”«,»S–«
5 ³z(•^ µ|@Ë^  µ|¬[&°}¸Ù^ 
µ|
 PhantomDataÁFu\»ŸŒWW 
c °}ÀŘ~ÑÖÆËšŸòš^Ñ  ç~ ñZ ö(µ|0µ|#°}+ ¬[6µ|°}  …µù¶(}±ܶ°}Ž÷¶°}a˜~²üÝ`E ÉŒW¬[…µ¨a|ü°`xñZ$Î`¬[,Á`Ï8 -,ð`\Œa ŒW¡ ÉŒW¬[ ¡a§|¥ñZ¢¬[ ¬[ƒ…µxÏ8¹ÚTêcó[¤êc$õc
Vó[ŒW1úcLõcüêc,ÿc
Ú[²hð]ëëª*íÆ*îÖ*œÙÚ
¹Ÿ»ù[
ñŒWù[”ƒd» ¼ÿcœdƒü’cŠÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Öºð]ü¼c# ¸[, c£«§cÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
²hð] ó[´y÷ª}ÿ–ºËʺŸ<âd
ŒW¾lïdü¯d@¾ltÉd²¼,¿d -]ŒW¾l(ŠÕ"'-†\9 †\CLVصš¿"+5 H *8 Hš¿X e u}˜¤«š¿»ÈÖš¿æó` ª š¿í:µ|*š¿:í:µ|Q]kp
·ß µ|–ÃŽp “
š¿
È:¾l*š¿: È:¾lQ 
]
 kp
·ß ¾l°Ä 
Ž ŸÛHNU\coš¿xš¿˜š¿š¿¦®¾°Ä,°Ä5 °ÄAîÅJ–Ãí–Ãö –Ã•Æ š¿š¿š¿'š¿0š¿9š¿Bš¿KU¹
cø¤r¥__self_0Áø
__arg1_0Á  ¢Æ³¶ÆÀÊÃÔ©ÄAµ
(2ª,2: µ|FKÊ¡X] eiq µ|}Ê¡ œ`2ª  í:µ|º Â
µ|, 8
°}êï
‡d 
l p2“
È:¾l3<µ|.
: 
°}ek€Êy l µ|¨®Ê¡¼Â ËÐÙµ|æìÊ¡ú  µ|$*Ê¡8> Gà_elç~yš¿öе|šµ|¢µ|ª°Äšµ|»°}ªîų–Ã5µ|ݰ}E•ÆNµ|öµ|þ±¢Æ ¢Æ ; Ê¡FÊ¡M•ư}€Ê]îŰ}M€ÊmÊ¡tÊ¡{Ê¡(3ø"'-39ð]E ð]OXbûµ&âÏ.7A€6¦!2¸6“†\†\',
·ß†\†\AFNTø6ç 
Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¥kZ ¡Òns
·ß¡Ò¡Ò
Š   ø6¸% Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙµ|Z
ÌÓns
·ßÌÓÌÓ Š
£¯þH6®
âÏâÏ9@Gš¿š¿ Å ¡ÒÑÙÕÚ ÌÓ;îÕD¹
œÞÑ|‡Ó!²Ô}(7¹  µ|¸7“ µ|†\&°}ø7ç  µ| ¡Ò( °}ø7¸%
  µ| ÌÓ(  °}€7¦
 µ|%1°}þ
ÿc
 âç
´ ¹
Nfç~râÏ{öƒµ|µ|~°}š¿µ|a°}iÙÕrµ|B°}JîÕSµ|#°}+  8°ÚA±š¿°}ÙÕ°}êîÕ°}»®Ú°}ŒÍØN Û¼¥k Û¼µ|üþ ñüɼð]†\¡ÒŒÌÓ}=
ÈÎ Û¼¥kÌÒ Û¼µ|Ð ñÌ þÞÜð]؆\Ö†\ª¡ÒgÌÓYøŒ£
ü£%
žAœµÎüÕyð]L†\¾lð]ÚI¿Þ»éޘ˺Àâ
éç¿Þãá ³ÈÎö
ýúéÞ7÷õ Çð]þ†\ü¾lúð]†\z¾lS$Ú)TŒë ¿Þüë +„ý 
Ÿ?<Ž!Ìý œ!˜ü™ ƒð]†\µ|ð]contextÁ&Q¿ÞÁ³â ÑÂÈè
ïí¿Þëé û ÐÖþ
³â? •!
˜ ð] †\µ|ð]†\µ|b2¡â8dŒ£"T¨"¿Þ$£"d¨"ü£"*Œµ"
 à_Cĵ"Ó"üê!ið]L"†\$†"ð]ƒ3¿Þ ŽæŒö#Tû#¿Þ$ö#dû#üö#'Dˆ$
¢?4‘$™$¬ˆ$£$üŸ#„ð]Lâ#†\$¯#¾l4µ#£«Í#ð]¡%Ú)÷ª-b¿ÞÙÀ縬ü% Ò$§& Û¼¥kŒÆ& Û¼µ|üã%š ñ,í&ƒ'ü¢%áð]$Ô%µ|\¶%†\¡¡ÒÌÓÖ;#E
ÓÙ Ò×Ý Û¼¥kÛ\Ë&ö Û¼µ| Ö&ü ñø ü&
 ð]µ|†\¥¡ÒÌÓµ|´Ö;1TLÆ(†\Lê(¥k|å( Û¼¥k)ÌÓ\µ)ü­(ž ñÑ)žüä'íð]$ž(ð]$ý'¾l4ƒ(†\»¡Ò¡¥k¹ÌÓŠ8Ú<g
†\û¥k Û¼¥k ó(&ÌÓ%,+ ñ Ê)BžAð]>ð]=¾l<†\ö¡ÒÝ¥köÌÓÔÉxÚ}©L+†\\º+¡Òlà+ Û¼µ|\ƒ,ü‚+— ñŸ,Ÿüµ*êð]$ó*ð]$Ó*µ|<Ù*†\ª¡Ò¡ÌÓƒ1¡â6aïõ†\óù¡Ò÷<å+ Û¼µ| ì+  ñ ˜,6Ÿ5ð]2ð]1µ|0†\Ù¡ÒÑÌÓȵ|Ó¼k¡âqÜÙ.ÌÙ.
«&à_üÃ.2„È.³â$Ã.AüÈ.-û. üš-áð]$¿-ð]$¶-µ|ƒ4Úõ ³â$º;Ä;£üŽ:¶ð]$Ú:ð]$Ä: <Ê:¡âJ$?›?¥üç=´ð]$¯>ð]$™>¹÷<Ÿ>¡âEܘ@̘@Úõü€@4 Ò$Ê@ Û¼¥k$é@ Û¼µ|üâ?± ñ,ƒA™A§ü¯?êð]LÎ?†\µ|½¡ÒÌÓ6ÚõÞ$³FT­F"(ð]†\3 ðGð]4öG Ö¿Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙà_ð] ûG$ÙG Û¼à_DÖG Ö¿Èûð] ÝG ÉF«à_<ÒF Û¼à_\ÏF Ö¿Èûð] ÙFH¯üßE®¤ÆF„ìGÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Èûð]ä†F’_$ýEüŽG!,ÆFà_ÈûôÈûSð]Þ?¿2°Ûø@©" 
´…‡ø@• ! 
´ÿ`8@á /£«;…‡ˆÿ`kQÊÿ îÿ(Aê  µ|øA©" µ|…‡(°}øA• ! µ|
ÿ`' 
3 °}˜~£¨˜joÄŠÛ ç~æ £«ñöøµ|ÿµ|ñ°}ø …‡µ|Ó°}Ú  ÿ`皃ïE±S^þ‚°}V˜ƒ°}'˜~z(Bñ"'-£«:ׂBKUøD©"…‡…‡*/
·ß…‡…‡FKSYøD• !ÿ`ÿ`(-
·ßÿ`ÿ`BGOS[gD‡HDþ
ׂׂ þ‚þ‚šƒ¿šƒÇO¹
\f‹…Xð…øE‹E‰µׂ"+5€F¼ 
´øFš
! §ˆ8FÞ
 š
ž-ÿ`8{`K§ˆ§ˆw(Gç
 µ|€G¼  µ|%°}øGš
! µ|
& 
2 °}Ž˜~Ÿ¤inÀ
 × ç~⚃êöñµ|øµ|ê°}ñ°Úùµ|˰}Ò®ÚÚ°Úâ5±CN°Ú°}F®Ú°}˜~j(Hî

£"'ÿ`3šƒ;DN€J¼ !2øJš
!"3:BNJ„ §HJû

šƒšƒËÑ×£D¹
Q[ ©K† µšƒ%/€L¼ %*
ïß=BJNZj Û¿ßÀßÁßLessÁÂßÃßÄß~Å߯ßÇßGreaterÁÈßåºÝÈnûê7÷øLš
! &+¢7 <DL” PLŠ «p
Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ…‘išƒqšƒyí’Û°Úä°Úíõý°Ú°Ú
¿¹
Ì3â¢F¢H€M¼ %*
»:?GKWe øMš
!&+û”7<DM™ ­M– ß …‘šƒšƒ%…‘°Ú
°Ú°Ú«°Ú³a¹
nRû”eû”ðøN”/ 
´ êc ÐNá
´ 
Ö
Ö
DataLocaleÁ
×languageÁ
ØscriptÁ
ÙregionÁ
ÚvariantÁ
Û subdivisionÁéþ–Jˆ¥8Nþ
 ®N…´/…‡;Ù—þ—ëSÓ—"ø—(O‡ µ|øO”/ µ|Ù—(°}ÐOá µ|
þ—' 
3 °}˜~£¨˜joÄ·Û ç~æþ‚îöõµ|üµ|î°}õ Ù—µ|а}×  þ—夜íC±Q\ˆœ°}T¢œ°}%˜~x(PŽP“¼"'-…‡:þ‚BKUøR”/ٗٗ*/
·ßٗٗFKSYÐRáþ—þ—).
·ßþ—þ—EJRV^jÃHR
þ‚þ‚ˆœˆœ ¤œÂ¤œÊO¹
\f–ž[üžûƵþ‚"+5PVÍ=%*
·ß=BJVª<ËHV¡<
ٗٗµ|µ|Œ4¹
AKÕ¡W®<ÍW¬<µÙ—%/PXÍ=%*
»:?GX³<ÏX°<…‘ٗٗµ|µ|6¹
CM磵PYÍ=%*
ïß=BJY¿<ÑPYµ<í’ٗٗµ|µ|Ž6¹
CM§¥¸PZÍ=
›e®§. ZÁ<>ZÅ<Ó"µ-Ù—5ø§=µ|wMºZdÚ¦¡\É?Ú?Æüž?<µ|l±?Ù—,§? -TÙ@ŒÙ@ä@
Àc- è@4ä@ð@Èü–@Zç~\Ã@Ù—,@ö ¤@µ|~±Jé¨([“A µ|Ê¡).6[˜AØMç~X ýdböiµ|py±Ê¡š,ûB ƒC
üŽCÿ \”C ”C<˜C ˜C
$šC
Ús•|4,šC žCm~'-üåCŠ ù\¾|` 
ôC  $òC 
  
 \øC •|•|a   )\} 
 
\†D •|•|A  
\”D •|•|0   ‰\¾|  -_ G V•|•|9e ¡ °•|•|Z¿  *•|•|z: !\ø| 
 
º

­D œÌD ÕÄÈD Ö¿µýd ßD îD
 ·ŒE ŒE ¡E¢Ey ïD 
µK
Q 4üD E$ 'Jü Cí µŽ
 &-ø·ŽCÿ µöüø™E 4–E Ö¿µýd ›E-,6Êü®Bôü÷B«˜Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
µýdüÍBœ} ÀBâµÆµÁÁœ}µIFC8? ÕÜ07ü¯D@ýdÇ=³µ»Âµœ¾Ì´²dd»G »G#
*D½G
à|1T½GM ÆGü§G!

ϤG
Ì' ÇG ÍGÎGËüÔFzÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Ù—ýdüúF"µ| îFœ}"œ}*µ|$¾$˜Ô±LTÀL
$t±L
Ê1A ÊLM4¨L ‰M ÎMTúMüÛM*

ôÛM
¸v4'PœêL ÕÄæL Ö¿Ù—ýd ýLüßL „NüÌN- üÕN"
ü×N  |ØN ØN   êc öN @
 M 
üÉN1 Ö¿Ù—ýd ùN ÿN 
€O ÌüÆKºü¤LÜüÊM¶
¢¸ü÷K"œ}TáKüÑL8ýdLš´œ}˵|»œ}»Ù—+Ù—+м+ +
code_unitsÁt¾ ¸¬úU V
$”úU
Ë1Aù`@#
 á`#
ÜWùaž"#/ ŽV,òU õU«Ù— ÖV àV æVçV)¤
ù¹ž"#
¶cüªV! µ| ÂÍü…Uâù`Üì#üîUyü¶U± Ù—,°Uµ| ¤Uü•VA:äÈäÈ ArgumentsÁæÈtemplateÁ `çÈÀ `üöMõô]TdmÙ—B¢¸çµ|çk¾½sâ
üX#ü’X!„“X“X!µ|7м ²XWd ºX»XÎü W›Ù—l¸WÙ—±Š¼°¾¯µ|®8\©Y ¹YºYÏüüX>µ|$šYÙ—,Yµ|`4 (b„ "µ|ðb¶ µ|Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ€˜l°}øb±3 #
µ| Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ‘Yl °}ÈbÉ 
 $µ|
Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙk 
w  °}œ
ýc®´¥«5;
Å Êßb‰Þ÷ç~ ªeöµ|µ|°} …Æ%µ|±°}¹ ‚Çŵ|Q°}Y  ýÇhºÊqˆ±¡€Ê°}œÊ°}&¸Ê°}³ðÈÇðc¶…Æ
Ù…Æ.6øc±3‚Ç
Ù‚Ç/7ÈcÉ ýÇ
ÙýÇ.6(c Ùcà0ªe;ÕÉC…Æú€Ê‚ÇÑœÊÙýǦºÊ®}ÁË@üË
¶ÌÙðd¶…Æ…Æ).
·ß…Æ…ÆEJRXød±3‚Ç‚Ç*/
·ß‚Ç‚ÇFKSYÈdÉ  ýÇ
ýÇ).
·ßýÇýÇ E
JRV^jdãHd 
ÕÉÕÉt€Ê}€Ê'œÊ0œÊ9ºÊÛºÊãh¹
u¬ÎÚ“Ï{ùÏðe¶
´…Æøe±3 
´‚ÇÈeÉ 
´ýÇ8e Ùå0ªe;…Æ«‚ÇýÇtZüÑÌ Ò¯ÃÒHf‰/ µ(fÖ. æfÛ.ê*›f5 ›f?ãÓj ãÓu[e
ÙãÓ˜(gÝ. %µ|Hg‰/ãÓ!°}HM€ÊZ_Olgâ.ìƒç~Ž®Ôöµ|¤°} ÀÔ¡ÀԩDZÔÞ¤Ö°}Õ€ÊðT­>²>
¸ŒW$­>,²>*Œ­>¸>
Àc ä}Û^ ¼>4¸>Ä>üÞ=fç~Œ‘> èf,å=ö ì= ¾×µ¾×½'±+X€×ç¸×µT´@¹@
ãŒW×g$´@,¹@¬Ð@ ŒW×g¾×ç~öü´@2Ì@
Ú[¾× ×gç~ŒW×g±Ù¿ÙšrÔÌ@¤ƒA ŒW×gãÙç~¿Ùü´@dtô@
„\ç~ãÙŒW×g±Ú¿Ùµküô@$žAüå?¹ç~Œ˜@ £g,ì?ö ó?Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ç~ãÙZÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¾×ãÙìÙïåÚxÛ±ß
úØQÙÙúØÚß@ ã@öŒÔ@TÔ@¸×6-"å@ç~Ó@ìÙ­¾× Ñ@ ØöÇÁ±¯öí¸×_ref__fÁ •Aö„‡AT‡A
Àc×g A4)—Aßç~†AåÚõãÙ „AöÁ±oö-ÇߘšÞ<ŒEêìíà îˆïðÜ ñˆ•z 0ð§ÄŒW_l†E FÜ î„²Fü–F êŒW ´F$¹Eà ŒŒà yokeableÁcartÁŠ+Ô[
•Fä}CartableOptionPointerÁÏ8Œ _cartableÁ+@{ÐöFãÓdÙE,ÞE
ÙÉâ$ÙE<ÞEüÂE$ êŒW åEü áŒWÇFšüßDèü¢EDüôEA èf$òD‹Ø,èDðàü†Eº ðàPä¢E ÉâÉâàÕ‘ðî„ùRÕýŸüã' <Hòõöà ÷ˆøù¹!úˆžº©Õ„“qªŒW×gblHƒ¹!ûþÿÜ ˆ¯ƒˆÓ†üewîŒW×g èJ
¹!¼ç¯×gLºK,¼K
Ù×g
ºK <¼K ºI¹!¼çÜ î„J
üíI& ûŒW×g
üÓIA òŒW×g  ¡J$ÀHà ÉâdâH,çHüã$âH<çHüÉH& òŒW×g îHü›K) ûŒW×g üKD òŒW×g  ÒKü†HØ åŒW×gäKŸüäG€ü§HHüýH¥ü¯J¤£g$÷GºÛ,íG±æü‹HÒ ±æõü—I%ô§H¾åJÉâ7Õ‘Ô¼çªãÙ6¼ç×g!î„}ÕŸ½#º
áÔèlüãµT M¥M€×$ M,¥M%\®M´M€×,®M,´M%Ì M
·ß¾×¾×V+¿M£üóLL$‘M‹Ø,ùL‹Ø,€M ØÒ¾×ڠد¾×·5¹
8c€×€×è¹î»
T”O™OúØ$”O,™O\ O¦OúØ, O,¦OÌ“O ©ÜüO ,ŽP
S©ÜA t©Üb  æO
©ÜãÙ îO©ÜãÙ õO
úO4õO
·ßãÙãÙ<3+ ¿O ©Ü«¾× ÆO
©Ü«¾× ÍO  ÒO 
4ÍO¹î 1 ( ¤PüàNĨĻOÔáO$þNºÛ,æNºÛ,íN©Ü©Üñ©ÜF©Ü(,ÃO4êO,¼O¾×
¾×ù Øä ØÞãÙ³ãÙ  ãÙ—õ˜¹
Ãp Ä_
Ã

ÄýúØúØî¸òå¹îe¬Ã]|Ã]
ãä}ãÓ$Ó])üÃ]8üÙ] 
éä}ãÓOüÙ]"üŸ]g êŒWüš]m áŒW^²üá\¬èf$‹]ä}$ó\ðàiÉâ ŒŒà ÜáðáŠ+Ô[
•Fä}Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙãÓ[dataÁ­Ïµö~åöVüá_! êŒWüÜ_' áŒW‰`³ü_zèf$Í_î„$¬_ðàiŠø7Œ$ý_§ êŒW `¬ áŒW ‚`±³¯èf¬î„ªðàî„ˆŠøÆèüÁjñ 4éjðàôÈj äjðàÜ î„ü¿k ì¿k

ä}ä} Ýk
*ü¯k1|¯kµöG
 ü¯kiüök åö=
üök"ü‡k  êŒW4þjðàðà11ðàD
\Ál ðà
 Œ»l
 ùj½D#Áj½#
àWùjÖ*#&(µ|

0$òl  Ã Éâ ‰m
 „ûlD€m
Ðä}’ã $ûl N

\€m½müåhØ ¼m  .´<üðjÂüÛl0µi èfdüh‰€ Ši~î„uðàáÉâù÷@ä}x ðàŸäÛl ÉâJ‰€8ŽÑ±ƒ½óÕ ðüóµöÊåö«ðànÿôúÿ‰€><­rðàl§r5 —sÜ î„±s ¼sœs
Üä} ,$$Úrà ÉâTãrèr
Éä}’ã$ãr,èr. ìrˆ ³sü§r˜Ås¸üÕqðüÃr*üûr9
¾×üñq+‹ØDäq¾×X©åcäÃr¾åè¾×ÔÕ‘J¾×)î„\PÕ!½ŸýƒhÁ„+<”vðàlŽv5 õvÜ î„”w¼€wœ€wýƒ%$Çv Û¼¾×ìûv Û¼¾× —w©wºüªuÿüÙv?Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¾×üÆu=‹Ø,¼u©åR̪vÕ‘)¾×î„;8½R·ýƒ; üŸˆº 
 4ɈðàdÈ) ´‰ðàÜ î„üʉ ìʉðü è‰

$$ùˆðàà Éâ$‚‰ …‰üº‰1|º‰µö
{ 
"üº‰iüŠ åö A 
üŠ" ÌŠ   üÈ\ÀŠ
ä}’ã‚&‰€üÈï _
tÀŠ êü“ˆÇ áàŠü¸…¨ ߊ   »@üâˆ$ü˜‰
ááâÉäˆ ž–ò)ˆ‚´|á…èf$Ò…‰€ Ø…êìíà îˆïðÜ ñˆ•z 0ð§ÄÜŒŒà ÜáðáŠ+Ô[
•Fƒ’ã×Éâ­äâˆÉâ¡î„òù÷yä}㉀8û±ýÕï½CÆðü7µöÜåö»öŒv‰€à ü••
<²•ðàl¬•7 ¬–Ü î„ ”— 
ª—¼–—œ–—ýƒ(   $ß•à ÉâÔè•”í•
ä}’ã‚&$è• €–¬í•ü”—'  s[“´Fu\»ŸãÓBJV
™"ú“¾×´”
8 }   º— 䫚¤«š
Þí“ 4Àš
+ÌÛš|Ûš
ãí“ãÓ
Dëš-üÛš<üõš 
éí“ãÓVüõš"h êð“ü‰•¨ áð“·›üÕ’âþ

¿4üÈ•:üüÄ–áüƒš¢ááâÉäˆ ž–ò)ˆ‚´ð“|““‹Ø\ý’ú“ Š“êìíà îˆïðÜ ñˆ•z 0ð§Äð“´ŒŒà ÜáðáŠ+Ô[
•Fí“’ãü¬•ƒ©åóäÈ•¾åYÕ‘Òí“Û4È–ú“Ôˆ•¾×µí“D‡šŒŒà ÜáðáŠ+Ô[
•F퓸ø§î„^ÿq±tÕ½»
¿ Üá¥
`ýƒvÞ“<þ”ôÏ•Z€–0´–ú“ü„¨Ì
4º¨ðàd´¨s[ ¥©
ðàÜ î„ü»© 컩ðü
Ù© $$ê¨ ðàà Éâ$ó¨  ö¨ü«©1|«©µö { "ü«©iüò© åö Aüò©" Áª 
ü´¨|±ª
ä}’ド€ü´¨ï
\”±ªøº´¨ 
ž$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
÷¯Ÿ¼y}
ü´¨l÷ü¨¿ êk áü¨Ð Ö¿ÑŽ¯Ÿ Öª »ê[Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ˆê)?ÈXM´­¯Ÿ˜
¡$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÑŽ¯Ÿ¢ïתü‰¥Î! 2
èZ ÄIüÓ¨$ü‰©mt{ý¢Ô¹¥èf$ª¥‰€ °¥ÑŽb¢•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜¢÷*ëŸÉâXäÓ¨ÉâIù÷!ä}‰€àc¢l÷óì±îÕ± ½
Ž ¸¹BÃðüµöåöšŸPåŸ ÷¢‰€ ü­¸
<Ö¸ðàlиs[ Õ¹Ü î„ ½º Óº¼¿ºœ¿ºýƒ( $ƒ¹à ÉâôŒ¹´‘¹
ä}’ãí“ú“$Œ¹ ¨¹
Ì‘¹ø¼Œ¹ 
ž$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¦™”ª
» w{   üŒ¹
 l¦™
 ª¹½ª¹  [Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Ï¢”ª5t
¡$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÿ—”ª–¬ Ü«ü½º' s[´”#/¢þ”¯G P 㺠ø¾½º( 
ž$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
˜š”ªÚ
w{ ü½º(l˜š !+ 4ì¼ ä×¼¤×¼Ï•:!¿äº[–¬0 "ù¬.
J »½ s[ü¾¼8|¾¼€–üμ'&ü¾¼püŒ½ ´–EüŒ½"wü¹¸Ž êð“Y áð“üª¸Ÿ Ö¿ÿ—”ª νϽüÙµö!˜©É Wüì¸? Qü¹¹ƒüí¹ÏÖÝäh
ÿ¬Ôž¶‹Ø\ˆ¶ú“ •¶ÿ—јV¦™üиö©åä츾åä•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜–¬¦™ÕϪ*–¬(¦™aÕ‘Ú˜š4ñ¹•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜–¬˜šKꮿú“6ˆ•Ѿ×c–¬l˜šòÒš"퓘š×î„¡eÒ ­±°ÕeŽ A ¹}
½ù»
"Ž  ¹
à ýƒåý©«ɪfù¬mþ”Ää®`Ï•xù¬n€–´–à˜š4ú“¡4ûÅðàdõÅ) öÆðàÜ î„ôüÆ ê ™Ç$§Æðàà Éâä°Æ ê ËÆüéŽ á¬ÇÏüíÄ¿üÆ<üÚÆ@ÑŽ|†Åèf$ýÄ¢üõŰäÆÉâÆî„4Õå½5$¹Ìü¸Ì9 ÑŽü¶Ì;ùÌÑü³ÊÆ ÑŽ„ÑÊ‹Ø,ÇÊ„½c èfì¹Ì I|øß TŠà Û¼èf¼³à  ۼю|æàüåà, ì%üåà;d’á
ü%®†>t’á.<Ûà ààÛ ®†„¿á
ü¯á$|¯á
×®†
0 Ñá /Tïá ¤ïá<úá
£TÑŽ . Lúá/ ÉmÔS  ÿs['&µ|s[
&T¥âL™âžâ ÛÑŽ<Éâ Ö¿ÑŽð] Åã  ÜöâÌöâ
§ "Ü£ãÌ£ã
«&ŒW
!üöâI„’ã³âgD ü’ã-üòâN Ö¿ÑŽð]ÃÏÆãìüùÞÍ ->ÛÑŽ
Z
kÛÑŽ

§ÓµüôßÒüžà¨ü¡áÈü°â/Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÑŽð]üšß"èf$‘ß®†oÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÑŽt¢àÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙô¿ƒ¿ª úÆÆdô¿Zµ4ô¿O úÆÔ£ÑŽð]âð]9µ|nv~D option_selfÁÁ
option_outÁÃ
º
Ü
¡Èƒ¿š£¿žÀ
áÀÐÿ˜®† ÝÂê…Ãɳ⩮†%®†,ÑŽ3ÑŽ: $ƒóƒ¿œ¥ódªó
ü%ÑŽ$¥ótªó/T˜ó$óÛ ÑŽDÇó Ö¿åËð]ü‘ó´ÜñóÌñóÝÂÜžôÌžô…ÃüñóIô³âZ>üô-üíóN Ö¿åËð]ŸËôüÖñõÕüßòìü¹ó  Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
åËð]ü€ò'Lòñƒ¿$ãòÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙåË*÷åËíð]hð]²µ|ŽthisÁêÎ,Eƒ¿§’˘ÝÂ…Ãì³âÒ”ñý„ñý
´ä}üàý$„àýäœ>!ŠþÜüÁýIèf$Ñýä}v ÍÐäœhLâÿðà|Üÿ) è€ðàÜ î„üž% ûŒW×güó€_ òŒW×güî€e åŒW×g Ò$‘€ðàà ÉâôŸ€ òŒW×güš€$ åŒW×g ½€äàüÿÇüúÿDüÌ€£g$Íÿèf<±ÿäúÿÉâ½±æ§î„R±æ¼çFÖ*BÕ÷½ü‚ƒ< ûŒW×güè‚W òŒW×güã‚] åŒW×gƃáüµ‚£g$Ô‚×g,Ç‚±æu¼ç¹
A<Í„±ælÇ„7=¹!¼ç3,ª† $Ø… $‚… À†âüœ„¤$¸„ºÛ,®„ì÷ü®…%Üã„)M <ˆ±ælŠˆ7=¹!¼ç3 ©Š ¹!¼ç¯×g4°Š Ö¿¾×ãÙ  µŠ ¡‰¹!¼çÜ î„щ
¼½‰œ½‰ýƒ
($¿ˆà ÉâTˈЈÁ„$ˈ,ЈtȈ Ö¿¾×ãÙ Õˆܺ‰ Ö¿¾×ãÙ â‰ÇŠãü©‡žü¦ˆ0üäˆüð‰F ©ÜüŇ:ºÛD¸‡ìüþˆ%ô¦ˆ¾å¾×Õ‘¾×SãÙä`ÕY½¿º Éýƒ§Á„n 4‘Œ±æd‹Œ)/±æ¹!¼ç7 ÜŽ
±æ¹!¼ç¯×g4㎠ֿèf×g
 èŽ À±æ¹!¼çÜ î„ôè êŒWüÜ+ áŒW üÙ/ Ö¿èf×g •Ž$¿Œ±æà Éâä׌ êŒWüËŒ) áŒWüÈŒ- Ö¿èf×g ôŒ ùŽ ±æ úŽ1åüÌ‹®ü¦ŒOüƒü£ŽF Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
èf×gÌç‹£g$Þ‹ü%ô¦ŒÉâhèf8ðà[î„ èfÐðàó×gv%eÕº½Oº­
¤µ„µ
áŒWµs[µÆ1Ïèü•:ååæñéˆ ­”FÀ܃JŒWµMêäŸT•’
ãŒWµ$,•’|›’
Ö[¾×ãÓT$›’¥’éü¯‘vÞˆüÒ‘3 ­åDőֿٿڿ«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¾×ãÓòf•æÈæãl¶šªedÚšèfœÚš$çš
ÏŒW44çšü‘šg ëþšñü”™êëëª*íÆ*îÖ*œÙÚ
¹Ÿ»„­™²h$¤™ªeàÑŽÂèfÝ"{ÜèælœŸªedÀŸèfÜÀŸdÍŸ
ÓŒW4tÍŸàÀÀŸ

ž$ŠÆM$(4FäÀŸ lÑŽü÷žp ë üôžt Ö¿ºéð] íŸÁÛŸ[Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Ï¢ð]s
¡$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ºéð]ÙìÚîŸóüøö |
Áíü™ž#²h$žºéˆªeK•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜ÙìÑŽNŠÆˆèf¤¸ÙìÁÑŽ-¢Ž á¹P üóêà£ë»í½¬¢ªe»¢èfñÃö¨  B ÕÉ Ã‡¢

Èbªe r&h
‹Ø Ö¢

Èbèf
˜ &Ž ‚È‚ÈArgumentÁ„È´ÀbökÏ®ÝWj´ Ù
á( •|, 
«c,
C IRùoç¨. Ioì¨ 
ëc Ý¡ñpö¨ ùoì¨) ×¢øüú Ýµ¼ç~Œ­¡ ²h,¡ö ˆ¡ÐÁjÕÉ‹ØøÕÉ-‹Ø Ÿò!ŸòŸòÏõò< ˜õHÕÉQ‹ØZޱÀ~ÀŠèÁñuýñ@¥ó«÷óYlÚ¦ªe¬Ú¦,è¦
Ùªe2<è¦d†§èf¤†§,“§
Ùèf2<“§ü½¦h ëŒW«§üü›¦²h$®¦Ùô,¤¦ªeÃÕÉáèf‹Ø¯*Oíö÷®÷¼ü›%Ü›
|ŒW¬[(Æü©ñZüĬ[D´providerÁ7÷øÜŽ\–
ÍŒW¾lœ–¯ŸüÌc€˜
Æ
ÆLocalePreferencesÁ
Ç

È®—

ɽ—

ÊÌ—

Ëregion_overrideÁ
ù¬r§Là? ¨äŒW¾lú(q¦& ) µ|pqÕ&“´Fu\»Ÿ¶i;G°}ns€Êuq«&ó©ç~´ „i¾öŵ|̰}¾  ³üÌæýÔò±ÿ äý°}€ÊpsÕ&³ü
Ù³ü.6s¸&ø(s³&„iÅý³ükæýs/9×þüÙ(ˆdÎ)\Ï)* •|7M l±)) µ| à)üÁ(¡
 ¼Á(
Ë( á)ü¤(¿§¾lt°(¥k×€€ÕþÿÕ=(t¦7 +µ|8tä8•|".°}UZ€Êgl\yt«7þç~ ëi¥ö¬µ|³°}¥  ³§ƒ»Ù±æð¥ƒ°}ç€Ê8uä8).
·ßEJRu¶7Hu­7
†ƒ†ƒ§ƒŽ§ƒ6¹
CM¨„Àvº7ƒv¸7µ†ƒ%/8wä8).
ïßEJRwÆ7Pw¼7í’†ƒ†ƒ§ƒ§ƒ˜8¹
EO؆Â8xä8).
»@EMxË7ˆxÈ7…‘†ƒ†ƒ§ƒ§ƒ8¹
EO¥ˆ½(zÓ7zØ7Œ"'ëi3†ƒ;DN8{ä8
›e®§2 {Ú7B{Þ7"µ-†ƒ5ø§=§ƒ|Nº[eÌŠ¦}à7$8 H
T`lŽœ¡
Ëëi²º¾ Ö¿µ
ó
ô
InvalidLengthÁ
õ´
ö
÷
ParseErrorÁ
ø´'ËC9“â½s[BH
˜t•|Z^j sÔà7 
ÊLÆÎÆÎ ChunksExactÁÉÎÁ™lÊ΃ ™lËÎ
chunk_sizeÁ™l²(‰KÿÇ•| ö
 
±
ûMêŽ à ËÏ
 Û

s[n Ûœ}Ž<ä8« º, Ö Ö¿µ¬s[µ}ã7Õà7 £.@F
üs•|££¹ƒ£¹„£þ-'ºˆÉ¬g
¡¦³ ÄÛœ}Üâ
±õþØà7 
ž$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
µ¬quy}à7 Ùâ7[Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Ï¢¬s
¡$õ“Ž•)5;
ÉëiPU Ö¿µ¬t1ß

 9ç

ï–Þ
 Aÿ
ï–I ï–I® 
Q» 
!É­ 
 !
ùè ! 
" ǽáÌ  $ Û¼ÐÁùŒ]  ùŒ 
òW"!­ Q³ Y¿ $`#JÃ ÍÓ`gnïY`g ùþ
Œ ùÝ Ÿ 
%õ“3œ};BJRY¬bjêŽùêŽ|êŽ Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙœ}X êŽdlœ}îæš÷±’ë•¶œ}!•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜Ž•µuõ“ƒîŽ•÷¬ï–ï–÷ï–8ï–$ï–ýï–ñÁëâǽȽɽ}ʽ˽NeÁ̽ͽMatchÁBÙe±æµé!á 
ÛÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÐÁF bytesÁ§ ù;
chunkÁÆ üÓ Ž B¹ë s[µleft_valÁ<
 right_valÁ<
è ".

3
?
K
W
Èo
à
øŸ
 ¡¬±
¡¬¸
¿
ªŽÆ
äŽS ŒZ ¨’Û
Ä“â
ï“äñ•ë÷
à˜
 Å ï–³T Ãa Úã0
ï–;$ K1 à
è î 
Àëi 
 % - V
^ d 
Àz   œ ¤ Í × I
ó 
t

1
@
L
•¶U
]
b
Ó
z
ë
<ì9,§ƒ%2œ} ò9üÍ9'«œ},ä9§ƒx§ƒ5b"tdmh"Á4Ø:ä:¬ü§:=<Æ:ëi$½: -T¹J ÆJ
ÑJ,×J\×J
 ÝJ¡¬1,ÝJ áJDìJ ÷J
üÿJ‰ Œ…Kd…K …K

4K  . 
?  
 V   K 
{  •K$ $¥K
ü¿KƒlÍK4ÓK'8 KŒèKTîK4îK ÷K= 'cKŒ °Œ‡LTL4L –L= 'cKŒ  °Œ¦LT¬L 4¬L!!"! µL= "!'
c "K!#Œ$ # $# °  •| ÁLü¬K—
 ”¬K
«Òñ
 * ÂL ÃL ÄÔL%$áL&&$çL''
.
5dÔL
¯&B'4%
W ëL'&üÍL%%\öL( €M$ ('J(ü—Kñ µ ‡M
ćMè
ð^ øÄÿJ‰* µ=*CQüŽM¬,Œ‘M-dM.M//4—M00.1/0? 1/0V.1 œM0/{-. ¡M-$.$±M2üËM"3lÌM44ÒM556'7568 765K45ŒÛM8TáM94áM::;: êM= ;:'c9;K:<Œ=9< =<9°89 3 •|48 ìM84ü¸M6

”¸M
ƒÑ3a2) íM3 îM95üÿM>$ŒN??\N@$NAA2@A œNAM
TdÿMå²?^@P>t N@?üøM&>>\¨NB ²N$ B'JBü£M—, µ ¹N2XÏ.ºN,
µ{
5-;,üÀNUCŒÃNDdÃNEÃNFF4ÉNGG.HFG? HFGVEH ÎNGF{DE ÓND
$EüæN(I$óNJJ¤ùNKlùNL4ÿNMMN'OMN8 ONMKLMaKL ŒOL
šdæNå²J¤KIº OKJüßN/II ŽOMüÕN@C µ·/E•OC
µÚ ”ODC$O  O¡O®üþB£ üµJìüÍJÔüèJ¹ü¡Kçü­MP¢Cœ},‘CÅ © œ}© j µR µ{M M M B •¶f Å
Æ
•|Ä
Ä
Ô
Û
•|Š
Š
Š
•¶
«
²
•|ü ü ü •¶

$
•|n n n •¶   ]]R•¶ùjµryµSPPPE•¶iˆoÈ•|Ö•|ÕÕåì•|•¶¬¼Ã©¨ˆo•¶0µŠˆˆˆ}•¶¡ÿô•|ôô üˆcursorÁXþ@§ý
wordÁ)

ŸÅ2$$ÃIÄÃI\ÈI
®Ñ'4ÔI°
œÈIü¼IdåI $JÌ‚Jd‡J
øÑ'4”J±
¤‡JüûI $¥J¯J¯ü±HþäHDÇH$ÖHñœ²§2ŸÅ7b°º±æÆJÊÇí[qxu
}|æÆŸy°y ÚI$íI  ðI¥¬©
±°ÊÇÓ­±¹­ šJ´¸·¯³²±¡¸éTk§ìŸÅòϰw±¹y7ž
0x9e_37_79_b9Á$ÃRÍR´ü–R7ëiL¯Rëi$¦R ,LšS©SµüàRIëi$SëiLòR unalignedÁ6(ìU - µ|˜‚ÙV .µ|µ|'°}hòV /µ|
€€( 
4 °}˜˜~¤©˜kpÅñUžÝ ç~è ¥kòöùµ|µ|ò°}ù–õ|Ò°}Ù þÿäþÿìB±P[–ð}R‹Ñ°}$˜~w(„ùUþU¢$)/¥k;ÍÐCLV‚V¥€V µÍÐ#,6LåW€€TòW€€¼åW
·ß€€€€H9+X¸ü¸WJ$ÖWÍÐ,¾WÍÐ,ÅWþÿþÿŠ%¹
(S€ÔžLñX€€\ÿX€€ÔñXûX
»€€E6„ûX‘Yºü´X]…‘œÓXÍÐ,»XÍÐ,ÂXþÿþÿ%¹
(UÕÕŸ|œZ¡Z
»¥k$œZ,¥ZT¡Z¬—Z Û¼…‘²Z¼üÊYhí’ÜñYÍÐ,ÙYÍÐ,àY…‘¹
 M×µL°[€€¬°[$º[
›e€€7,¿[\º[Ë[¾üñZZµ¥[ÍÐ,[ áØ,—[þÿ º Oר¡$üÑ^oüÕ^0üÕ^|Õ^$Õ^
$DÚ^ž·/TÚ^ ã^tå^Tå^$å^  
$ê^
×| 1,ê^ î^ W
 ò^y 
'Ÿ
K
   )   =V
^tõ^
ó k„õ^ „_À_
µ ¿_,Í_TÕ_$Õ_
$Ú_•Û/ ,Ú_ ¬Ÿ_< _0µ| T©_$©_
$®_•Û/,®_ ²_  ³_Ô›_ Ö¿¥kµ| ´_ µ_>Es[# Þ_tÕ_ â_$ '
JKüí_M  üó_'´ó_|ó_$ó_
$Dø_ž·/ Tø_ `,ƒ` ƒ` ‡`= '
cKÍ Ù! ê ! ý
tŠ`éÜ(„Š`B ™`4©`" ®`$ "'J"ü›` µÅ¹`í
õ š ¦øÅí_M$ µG$M ¹`üÃ`O&ôÆ`'´Æ`(|Æ`)$Æ`**
$DË`ž·*/)TË` Ô`*,Ö`+ Ö`,,-, Ú`= -,'c+-K,Í.)Ù/+.ê /.+ý()+'($à`V•|/' ã`+)(Dþ`1ÿ`2331µ| 23 „a44H1 24 …a42lú` Ö¿¥kÙß1 †a1 ‡a3 a'& ücs[#È+Î)Ô(a&
µD'J&, a5ì¨a5
«œ}$Óa6ÔÚa7|äa89$äa::#
*Déaž·:/9TéaK89 òa:h
oLÚa
®8|7Œ óa8üÚa(

\õa
¥Ò7¸6lõa b7 b9ü;$èb<<ü€ck=Dc> ˜c??*@56A?@G A@?Z>5?DœcB ¢cCC*D56ECDG EDCZB5CD¦cF ¬cGG*H56IGHG IHGZF5GD°cJ ¶cKK*L56MKLG MLKZJ5K<ºcN ¿cOO*PO6L PVOpN6O<ÃcQ ÈcRR*SR6L SVR pQ6R<ÌcT ÑcUU*VU6L VVU!pT6U<ÕcW ÚcXX*YX6L YVX"pW6X= •|>BFJNQTW êcWTQNJ F&B,>; <= õc=<ü Ö¿¥kÙß; öc;6¤5«²X¹UÀRÇOÎKÕGÜCã?ýc# ÁüÉ]´üÉ_´üœaáüÏa®ZÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¥kÙßü÷]#µ|$à]µRP •|Rœ}Qµ|Qµ|•¶-ü†_:Ùß µ| µ|Ž i µ|i 

µ|
•¶Ö µ µG| Óö| œ}| µ|| ? ? •¶P ­ ´ •¶a
Ð µØ ß µ¸ •|œ}µ|y y •¶Š ç î üå`-Ùßµ|µ|¾œ}òÝÝœ}Ýœ}åµ|ߥk'µ|%€€•|*1•|ÑÑáè•|ˆˆ˜Ÿ•|??OV•|öö•|Ÿ•|**9•|ÄÄÓÐ Ë´QmagicÁ6 5§$ 6ˆH «œ}×g€€Óg€€Ïg€€Ëg€€h •|üðg" ù˜hÂüŠgŽüÂgVëi„§g¥k$žg•|ƒ•| •|½•|ÚŠ/h1Á¸h2ÁÛh3Áþh4Á!8?€€>E€€DK€€JQ€€P‚h†hŠh  Žh

£ •| 
h
 ¼ ù ‘h —hÜÂÛØ ëiÖ¥kÕ•|W•|u•|•|±b•|•|•|ý•|ñ&Íý¯ÚýÒçýõôý(‡—mœm¯$)/5¾lA°ÄIR\°ˆõn"3°ˆÙo"3 ˆÿm
¥k ¥k(-
·ß¥k¥k
B G OU øˆ§p) ™q
™q).
·ß™q™q C
HPT\hˆ§m²žm°Ä°ÄŒš`gn4ÍÐ=ÍÐF ™qö|¹
¥…ƒ‰†'«m´©m µ!°Ä)2<<®v¥kœ®v$¶v
›e¥káØ3,»v\¶vÇvÈüïuXµ£v°Ä,Žv¯Ù,•vÍк L‹‰Òwüów
ìów
˜(ü¿w¹ §,®x,Ïx ÷yþyËü†wø¾l$°w¥k›w¥k³™q§Õ<<¸Š³œ“´Fu\»Ÿ n?D
Ù‘ŒV^ŠÔ›½Ï›îm îm‘Œ ‘Œ¤6@ÇŒÁ¸Œ³œ‘Œ‘Œ+0
·ß‘Œ‘ŒGLTŒå›ÇÜ›œ8¹
EOÿÆé›Ëç›
µ'1¸Ž³œ‘Œ
›e‘Œù6 Žë›HŽï›Ï&µ19 DUºbl±(ñ›
2 µ|¸³œ‘Œ#°}LQ€Ê^cQpö›Ôç~œö£µ|ª°}š ¥­Í±Úäá’°}Ù€Êö(Þ %+33µ|â JR4µ|em5µ|:Ê¡¡ã ݹç~Ä éoÎöÕµ|Üãì±ùÊ¡H‘å î à=BHSõ”[õ”cjqz¹
ø¤¥¡©ò âð µõ” *(”ú ÿ æ$éo/õ”7@JP• &49
ïßNS[ èsx~í’õ”õ”¢©Ѝ±Š¨¹Â¹
Ïø¤Ý¥éñã˜û &49
»JOW êotz…‘õ”õ”ž¥Ѝ­Š¨µ¾¹
Ëø¤Ù¥åíéš÷ Õœ üß
= éo
(—Ï  6µ|ø—!$ 
7µ|éo(4°}\a
ùcrwfkÔ î¡ç~¬¾‡´ö»µ|µ|³°}º õ”Åõ”Íì±ùÊž°}úÝÖ ˜Û ñ$)™q5¾‡=FPø™!$ éoéo).
·ßéoéoCHPæ ôH™Ý ¾‡¾‡õ”Žõ”7¹
DNª Àšê öšè  µ¾‡&0üÎ"! 
üÎ" 
)ü±"I ë ù" €# ˜üˆ"x ™q$¢" éou„‚
 Òè%†\0¾l7>  Òë%†\0µ|7>üÅ, áŒWâ)èf4ðà<Cü”(1 åŒW×gæ,£g7±æ?F$ª) êŒWí(ðà4Éâ<CLë) êŒWð(ðà4î„<C$Ó* òŒW×gö+±æ7Éâ?F,”+ òŒW×gù+±æ7¼ç?FL„, ûŒW×gÿ+¼ç7î„?F,«, ûŒW×g+¼ç7×g>E|å. æç%f0ãÓ8?Ì»& í¶iî(„i3³ü;BÜÈ8 ùú%ëi08?üù›9 µ n*îm5‘Œ=D:CFPŒ´ÖƒÙáñóíöIJ(
Däƒ5
Eò¬ý JäÔ L¹üü0% N£Œ'pd°'T¡8´¾'ɈÃ|Ö'[ˆœç'bŠÒ´€(iµ;L)ñ±‡9l¨)Ò²½|·)ª³Š—Té)
ÖѺý@¤õ)ÇÒº<\*Óö=œ˜*šÔñl“+åýñæýC$µ+æÿÉ\»+áÉâª*dÈ+ëœB¤Ö+Ùž.ü¸0!¨¸1\ÊŠÎå,T¬,Ö”Gt¸,§×¼,ŒÈ,Øò2\žå»5”»?œ¡?´È®ÕïAœ¸AÕÕïAÖÕü²±@ü§41 `icu_provider` is one of the `ICU4X` components.ÁÜúüà_\ Unicode's experience with ICU4X's parent projects, ICU4C and ICU4J, led the team to realizeÁüÀli that data management is the most critical aspect of deploying internationalization, and that it requiresÁü­^[ a high level of customization for the needs of the platform it is embedded in. As a resultÁüŒ_\ ICU4X comes with a selection of providers that should allow for ICU4X to naturally fit intoÁüì<9 different business and technological needs of customers.Á©úü­\Y `icu_provider` defines traits and structs for transmitting data through the ICU4X localeÁüŠ RO data pipeline. The primary trait is [`DataProvider`]. It is parameterized by aÁüÝ if [`DataMarker`], which is the type-system-level data identifier. [`DataProvider`] has a single method,ÁüÇ
WT [`DataProvider::load`], which transforms a [`DataRequest`] into a [`DataResponse`].ÁŸ úü£ fc - [`DataRequest`] contains selectors to choose a specific variant of the marker, such as a locale.ÁüŠ GD - [`DataResponse`] contains the data if the request was successful.ÁÒ úüÖ OL The most common types required for this crate are included via the prelude:Á¦
ú
 ```Áü²
! use icu_provider::prelude::*;Á
ǺÜ
úìà
 ## Dynamic Data ProvidersÁþ
úü‚da If the type system cannot be leveraged to load data (such as when dynamically loading from I/O),Áüçqn there's another form of the [`DataProvider`]: [`DynamicDataProvider`]. While [`DataProvider`] is parametrizedÁüÙda on the type-system level by a [`DataMarker`] (which are distinct types implementing this trait),Áü¾yv [`DynamicDataProvider`]s are parametrized at runtime by a [`DataMarkerInfo`] struct, which essentially is the runtimeÁü¸.+ representation of the [`DataMarker`] type.Áçúüëmj The [`DynamicDataProvider`] is still type-level parametrized by the type that it loads, and there are twoÁüÙ-* implementations that should be called outÁúü‹{x - [`DynamicDataProvider<BufferMarker>`], a.k.a. [`BufferProvider`](buf::BufferProvider) returns data as `[u8]` buffers.Áúü‹30 ### [`BufferProvider`](prelude::BufferProvider)Á¿úüÃQN These providers are able to return unstructured data typically represented asÁü•XU [`serde`]-serialized buffers. Users can call [`as_deserializing()`] to get an objectÁüî@= implementing [`DataProvider`] by invoking Serde Deserialize.Á¯úü³=: Examples of [`BufferProvider`](prelude::BufferProvider)s:ÁñúüõFC - [`FsDataProvider`] reads individual buffers from the filesystem.Áü¼EB - [`BlobDataProvider`] reads buffers from a large in-memory blob.ÁúĆ ## Provider AdaptersÁŸúü£SP ICU4X offers several built-in modules to combine providers in interesting ways.Áü÷>; These can be found in the [`icu_provider_adapters`] crate.Áú¼º ## Testing ProviderÁÒúüÖLI This crate also contains a concrete provider for demonstration purposes:Á£úü§PM - [`HelloWorldProvider`] returns "hello world" strings in several languages.ÁøúÔü ## Types and LifetimesÁúü›c` Types compatible with [`Yokeable`] can be passed through the data provider, so long as they areÁüÿEB associated with a marker type implementing [`DynamicDataMarker`].ÁÅúüÉ`] Data structs should generally have one lifetime argument: `'data`. This lifetime allows dataÁüª%" structs to borrow zero-copy data.ÁÐúüÔol [`FixedProvider`]: https://docs.rs/icu_provider_adapters/latest/fixed/any_payload/struct.FixedProvider.htmlÁüÄ;8 [`HelloWorldProvider`]: hello_world::HelloWorldProviderÁü€  [`Yokeable`]: yoke::YokeableÁü¡HE [`impl_dynamic_data_provider!`]: dynutil::impl_dynamic_data_providerÁüêli [`icu_provider_adapters`]: https://docs.rs/icu_provider_adapters/latest/icu_provider_adapters/index.htmlÁü× yv [`SourceDataProvider`]: https://docs.rs/icu_provider_source/latest/icu_provider_source/struct.SourceDataProvider.htmlÁüÑ!PM [`as_deserializing()`]: buf::AsDeserializingBufferProvider::as_deserializingÁü¢"if [`FsDataProvider`]: https://docs.rs/icu_provider_fs/latest/icu_provider_fs/struct.FsDataProvider.htmlÁüŒ#qn [`BlobDataProvider`]: https://docs.rs/icu_provider_blob/latest/icu_provider_blob/struct.BlobDataProvider.htmlÁ:CFPŒ´ÖƒÙáñóíîöïDîEòíJìL¹ëN£épèT¡8çÉˆÃæ[ˆåbŠÒäiµ;ãñ±‡9âÒ²½áª³Š—à
ÖѺý@ßÇÒº<Þ
databake.Á­ úü±N K It can be glob-imported, and includes the [`icu_provider`](crate) prelude.Á úü„3 0 This needs the `"baked"` feature to be enabled.Á»ØŒ´$Ì®$,Ð$58¡?´à ®2üå,Tø 3ÖÉ\„ á4Éâ4„¹ üË-* Data stored as as [`ZeroTrieSimpleAscii`]Á ©¼,Œ’ØZeroFromÁDÊ
 ÷Ý4 È2láã òè{œº· ¡—
ä ¡—
å Á–
©tß3>
ö¸1\£4Î
øò2\°4å
ùƒ-lÅ4
úÜ£Œ›5p
ýŠ—TÈ5
Ö
Ѻå,TÜ5
ÖÉ\Ž6á
Éâ
d›6T
ª*dÓ6ë
ˆÃ|÷6[
Šˆœ£7b
ŒŠÒ´¸7i
½|Ð7ª
޳Š|²9

Õ$å9
ÃD:
Þ6dÑ3°
õÞ6±
õïAœÝ4Õ
ûïAÖ
û¡?´ƒ5®
üµ;L®5ñ
þ±‡9l¹5Ò
ÿ²ý@¤è5Ç
Ò”Gtþ5§
ƒ×º<\©6
Óö=œ¾6š
ÔœB¤á6Ù
ÔßüúDA This is a valid separator as `DataLocale` will never produce it.Á¿úÜà Mostly for internal useÁdé•|Ä‹5¤©”À'Ô”Üì°þ÷ÒÕüüLÿø··è{¹È; «Ûôz¸ ž}®®¡?°Ç?±à? +ˆ ‰ëökø—ˆ´À „øÕ<¼™>¼Ü¤˜Ü€žÍìŒW ŒWÔVü¸ü¢$! Construct from a trie and valuesÁËú # SafetyÁüäOL The actual values contained in the trie must be valid indices into `values`ÁôÌôç ã}ÔV
ŒWø@¼™@üÿ6ž²é ÂéT‡ÔVü¹3ž²é ¾ÂéÔV7üóöùú ùÔV®®¡?°Ç?±à? +ˆ ‰ëökú®† ƒ
ŒWíDÕ<;C™>CC<closure_kind>Á<closure_signature>Á<upvars>ÁŸ…ôäž²é éÂé®Wü­¤ü‰2/ Construct from a trie and references to valuesÁÀú¬éüÙOÂéäÁôç 
ä}®W
ŒWøõF¼ÿFüû 9ž²é €!ÂéTƒ!®Wü¸!6ž!!²é ½!ÂéTÀ!®W"7"üõ!ø!ûü û®W®®¡?°Ç?±à? +ˆ ‰ëökü®†  …"
"ŒWÀJÕ<LI™>TIŸ$"í#µí#Òí##"ˆ’üî((üÑ'LI Optimized data stored as a single [`VarZeroSlice`] to reduce token countÁtù(ž%%²é ˆ)ÂéT‹)ãä}l°)
ä}‰˜üÒ)B„Xü:KÍz´&'IKüñ*($ñ*$$ôçüŸ+W4Ÿ+$$ ·—üû+¿ž))²é €,ÂéTƒ,ÝôlÕ,ìôü÷,B„X "üÀ-¤ž++²é Å-ÂéTÈ-Ýôlÿ-ìôü¡.B„X,"$üüë.$óè”/údœ/¬éü­/OÂéô•0ôç×õ„X**
,ŒWø/K¼ÁKüÿ1¼ž..²é „2ÂéT‡2ÝôlÖ2ìôüø2B„X/7/(*üÂ3Å3ýþ ý„X®®¡?°Ç?±à? +ˆ ‰ëökþ®†- Ò3-
/ŒWþOÕ<CN™>KNì5/í0µí0Òí00/Л ˜orü¶3 ü“"  A backing store for baked dataÁ 5ž656Îìü¶â 9¼û Íì´Z Ê ´Z 5´ûGÈû<´ûSÈûH777ACüƒ Üð  Get the value for a keyÁ ÿ ÿ¼û®®¡?°Ç?±à? +ˆ ‰ëökÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙááâÉäˆ ž–ò)ˆ‚´´Z5   5
7¼û´Z ÷ª¯ ™>¼Ô ´š 9„· 99´ûœ· 9´û´û\×$üË:7 Traits for data providers that produce opaque buffers.Áß$±´¸1Î:;øò2å:;ùƒ-:;úÜ£ÿp:;ýŠ—þ
Ö:;Ѻå,ý:;ÖÉüá:;Éâ:;üT:;ª*ûë:;ˆÃú[:;м,Œ7:;؈b:;ŒŠÒi:;½ª:;޳Š
:;Õ:;Ã:;ïAàÕ:;ûïAöÖ:;û¡?à®:;üµ;ßñ:;þ±‡9ÞÒ:;ÿ²ý@ÝÇ:;Ò”Gܧ:;ƒ×º<Û:;Óö=Úš:;ÔœBÙÙ:;tüò'ÎX=| <<Ÿèüý;üÄ.+ A data provider that returns opaque bytes.Áóúü÷YV Generally, these bytes are expected to be deserializable with Serde. To get an objectÁüÑHE implementing [`DataProvider`] via Serde, use [`as_deserializing()`].Ášúüž[X Passing a `BufferProvider` to a `*_with_buffer_provider` constructor requires enablingÁüúA> the deserialization Cargo feature for the expected format(s):Áļ - `deserialize_json`ÁôÕ - `deserialize_postcard_1`Áìô - `deserialize_bincode_1`Á úü– ZW Along with [`DataProvider`], this is one of the two foundational traits in this crate.Áñ úüõ LI [`BufferProvider`] can be made into a trait object. It is used over FFI.ÁÂ
ú
 # ExamplesÁÕ
ú
Ǻüá
,) # #[cfg(feature = "deserialize_json")] {ÁüŽ  use icu_locale_core::langid;Áü¯ %" use icu_provider::hello_world::*;ÁüÕ !غÌ÷  use std::borrow::Cow;Á úü• B? let buffer_provider = HelloWorldProvider.into_json_provider();ÁØ úìÜ  // Deserializing manuallyÁ  assert_eq!(ÁüŠ
-* serde_json::from_slice::<HelloWorld>(Áܸ
 buffer_providerÁÜÔ
 .load_data(Áüð
'$ HelloWorldV1::INFO,Áü˜! DataRequest {Áüº?< id: DataIdentifierBorrowed::for_locale(Áüú1. &langid!("de").into()ÁÔ¬ ),ÁüÇ,) ..Default::default()Á¬ôŒŠüœ.+ .expect("load should succeed")ÁÄË .payloadÁ´ä .get()Áü…&# .expect("should deserialize"),Á¤¬ HelloWorld {ÁüÁ1. message: Cow::Borrowed("Hallo Welt"),Á },Á );Áúü‰  // Deserialize automaticallyÁüªA> let deserializing_provider: &dyn DataProvider<HelloWorldV1> =Áüì,) &buffer_provider.as_deserializing();Áú|™Žô­ deserializing_providerÁüÌ .load(DataRequest {ÁüìNK id: DataIdentifierBorrowed::for_locale(&langid!("de").into()),Áü»$! ..Default::default()Á })Áüï*' .expect("load should succeed")Á¤š .payloadÁœ¯ .get(),Á¬Ã &HelloWorld {ÁüÙ1ù“T‹³”4–Æ”< # }ÁǺ­úü±KH [`as_deserializing()`]: AsDeserializingBufferProvider::as_deserializingÁt‡>>´ûüý>b¼ûÎXü—!>´û+Þ›´û7Þ›*ü½H¡@@Îì„Y Âb„YÎXüÅ!„YŒë‘YBüÁ6üƒ96 Returns an error if the buffer format is not enabled.Á|È ‘YÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
µð]A ØA
B¤ä$üË>
; 📚 *This module documents ICU4X constructor signatures.*ÁŠ
úüŽ`
] One of the key differences between ICU4X and its parent projects, ICU4C and ICU4J, is in howÁôï
 it deals with locale data.ÁŽ
úü’V
S In ICU4X, data can always be explicitly passed to any function that requires data.ÁüéC
@ This enables ICU4X to achieve the following value propositions:Á­
úü±Z
W 1. Configurable data sources (machine-readable data file, baked into code, JSON, etc).ÁüŒ=
: 2. Dynamic data loading at runtime (load data on demand).ÁüÊS
P 3. Reduced overhead and code size (data is resolved locally at each call site).ÁüžB
? 4. Explicit support for multiple ICU4X instances sharing data.Áá
úüåW
T However, as manual data management can be tedious, ICU4X also has a `compiled_data`Áü½Q
N default Cargo feature that includes data and makes ICU4X work out-of-the box.Á
úü“Q
N Subsequently, there are 3 versions of all Rust ICU4X functions that use data:Áå
ú
 1. `*`Áœô
 2. `*_unstable`Áüˆ 
 3. `*_with_buffer_provider`Á¨
úü¬ %
" # Which constructor should I use?ÁÒ
ú´Ö
 ## When to use `*`Áí
úüñ [
X If you don't want to customize data at runtime (i.e. if you don't care about code size,ÁüÍ
c
` updating your data, etc.) you can use the `compiled_data` Cargo feature and don't have to thinkÁü± %
" about where your data comes from.Á×
úüÛ c
` These constructors are sometimes `const` functions, this way Rust can most effectively optimizeÁÄ¿
 your usage of ICU4X.ÁØ
úüÜ 
 ## When to use `*_unstable`Áü
úü€
\
Y Use this constructor if your data provider implements the [`DataProvider`] trait for allÁüÝ
B
? data structs in *current and future* ICU4X versions. Examples:Á 
úü¤I
F 1. `BakedDataProvider` generated for the specific ICU4X minor versionÁüî6
3 2. Anything with a _blanket_ [`DataProvider`] implÁ¥
úü©]
Z Since the exact set of bounds may change at any time, including in minor SemVer releases,Áü‡R
O it is the client's responsibility to guarantee that the requirement is upheld.ÁÚ
úüÞ+
( ## When to use `*_with_buffer_provider`ÁŠ
úüŽ^
[ Use this constructor if your data originates as byte buffers that need to be deserialized.ÁüíE
B All such providers should implement [`BufferProvider`]. Examples:Á³
úÜ·
 1. [`BlobDataProvider`]ÁÌÓ
 2. [`FsDataProvider`]ÁüíU
R 3. [`ForkByMarkerProvider`] between two providers implementing [`BufferProvider`]ÁÃ
úüÇa
^ Please note that you must enable the `serde` Cargo feature on each crate in which you use theÁü©)
& `*_with_buffer_provider` constructor.ÁÓ
úä×
 # Data Versioning PolicyÁô
úüøF
C The `*_with_buffer_provider` functions will succeed to compile andÁü¿\
Y run if given a data provider supporting all of the markers required for the object beingÁüœa
^ constructed, either the current or any previous version within the same SemVer major release.Áüþc
` For example, if a data file is built to support `FooFormatter` version 1.1, then `FooFormatter`Áüâc
` version 1.2 will be able to read the same data file. Likewise, backwards-compatible markers can矮R
O always be included by `icu_provider_export` to support older library versions.Á
úüi
f The `*_unstable` functions are only guaranteed to work on data built for the exact same minor versionÁü‡b
_ of ICU4X. The advantage of the `*_unstable` functions is that they result in the smallest codeÁüêa
^ size and allow for automatic data slicing when `BakedDataProvider` is used. However, the typeÁüÌ]
Z bounds of this function may change over time, breaking SemVer guarantees. These functions矻`
] should therefore only be used when you have full control over your data lifecycle at compileÁL
 time.Á
úì™
 # Data Providers Over FFIÁ·
úü»_
\ Over FFI, there is only one data provider type: [`ICU4XDataProvider`]. Internally, it is anÁü›L
I `enum` between`dyn `[`BufferProvider`] and a unit compiled data variant.Áè
úüìb
_ To control for code size, there are two Cargo features, `compiled_data` and `buffer_provider`,ÁüÏ4
1 that enable the corresponding items in the enum.Á
úüˆ A
> In Rust ICU4X, a similar enum approach was not taken because:ÁÊ
úüÎ C
@ 1. Feature-gating the enum branches gets complex across crates.Áü’![
X 2. Without feature gating, users need to carry Serde code even if they're not using it,Áüî!=
: violating one of the core value propositions of ICU4X.Áü¬"^
[ 3. We could reduce the number of constructors from 4 to 2 but not to 1, so the educationalÁÔ‹#
 benefit is limited.Á¦#
úüª#)
& [`DataProvider`]: crate::DataProviderÁüÔ#2
/ [`BufferProvider`]: crate::buf::BufferProviderÁü‡$R
O [`FixedProvider`]: ../../icu_provider_adapters/fixed/struct.FixedProvider.htmlÁüÚ$_
\ [`ForkByMarkerProvider`]: ../../icu_provider_adapters/fork/struct.ForkByMarkerProvider.html矼%N
K [`BlobDataProvider`]: ../../icu_provider_blob/struct.BlobDataProvider.htmlÁü‰&R
O [`StaticDataProvider`]: ../../icu_provider_blob/struct.StaticDataProvider.html矆&J
G [`FsDataProvider`]: ../../icu_provider_blob/struct.FsDataProvider.htmlÁü§'T
Q [`ICU4XDataProvider`]: ../../icu_capi/provider/ffi/struct.ICU4XDataProvider.htmlÁdì$ü¥(%
4ƒ(
(|•(
ÈO Ë(
È.
 Ñ(
ä(
8BUFFERÁ4Ò(
$ Ø(
, Ú(
8Šø$Û(
& ß(
8õ
$à(
*æ(
 é(
+
8¨4ó(
 ù(
 ú(
—+
7A version of [`ÁŒˆ)
$ ™)
8ÔL)
 ¤)
 ¥)
«)
, ¦)
8Šø$§)
$ ¬)
7`] that uses custom data ÁÜ®)
$ É)
7%provided by a [`BufferProvider`].\n\nÁü×)'
$ þ)
71✨ *Enabled with the `serde` Cargo feature.*\n\nÁüŒ*3
$ ¿*
7>[📚 Help choosing a constructor](icu_provider::constructors)ÁüÍ*@
$ +
% ž+
 ¤+
¹+
8UNSTABLEÁD¥+
$ ­+
, ¯+
8Šø$°+
& ´+
8õ
$µ+
*»+
 ¾+
Å.
8¨4È+
 Î+
 Ï+
¿.
7‰ÌŒÝ+
$ î+
8ÔLð+
 ù+
 ú+
€,
, û+
8Šø$ü+
$ ,
7äÌ܃,
$ ž,
7#provided by a [`DataProvider`].\n\nÁü¬,%
$ Ñ,
7B[📚 Help choosing a constructor](icu_provider::constructors)\n\nÁüß,D
$ £-
7ƒ<div class=\"stab unstable\">âš ï¸ The bounds on <tt>provider</tt> may change over time, including in SemVer minor releases.</div>Áü±-…
% Æ.
üö4)
TË.
 Usage:ÁÖ.
ú”Ú.
 ```rust,ignoreÁüí.T
Q gen_buffer_data_constructors!((locale, options: FooOptions) -> error: DataError,Á¤Â/
 /// Some docsÁü×/J
G functions: [try_new, try_new_with_buffer_provider, try_new_unstable]Á4¢0
Æ”<©0
Ǻ±0
úüµ0
Š `functions` can be omitted if using standard names. If `locale` is omitted, the method will not take a locale. You can specify any numberÁüÃ1)
& of options arguments, including zero.Áí1
úüñ1a
^ By default the macro will generate a `try_new`. If you wish to skip it, write `try_new: skip`ÁÓ2
úü×2ˆ
 Errors can be specified as `error: SomeError` or `result: SomeType`, where `error` will get it wrapped in `Result<Self, SomeError>`.Á4Ô4
(|æ4
áV  5
§P
 Ð5
”6
 Ñ5
Þ5
, Ò5
 Ó5
Ü5
, Ô5
8À$Õ5
& Ù5
8¯Ú5

Ý5
(à5
, ã5
8
error_kindÁTä5
& î5
8¼,ï5
& ô5
, ö5
8error_tyÁD÷5
& ÿ5
8´€6
$ 6
, „6
 …6
6
+ †6
 ‡6
6
, ˆ6
8Ó‰6
& Œ6
8û$6

“6
*6
 ™6
Ê8
, £6
8,¤6
'©6
8ä«6
 Ç6
 È6
Ã8
 Ö6
à6
, ×6
 Ø6
Þ6
, Ù6
8À$Ú6

ß6
(â6
, å6
8šÚTæ6
& ð6
, ò6
8ÏÚDó6
$ û6
, ‰7
 Š7
7
+ 7
 Œ7
7
, 7
8ÓŽ7

“7
8 functionsÁL¡7
& ª7
 ¬7
¹8
8try_newÁ<¾7
$ Å7
8try_new_with_buffer_providerÁä×7
$ ó7
8try_new_unstableÁ„…8
$ •8
8$§8
$ «8
% Ä8
% Ë8
 Š9
®:
 9
˜9
, Œ9
 9
9
, Ž9
8À$9
& “9
8¯”9

—9
(š9
8ô,9
& ¢9
, ¤9
8ÏÚD¥9
& ­9
8õ
$®9
$ ²9
, ´9
 µ9
Â9
+ ¶9
 ·9
Á9
, ¸9
8Ó¹9
& ¼9
8û$½9

Ã9
8ÏÝLÅ9
& Î9
 Ð9
­:
, Ñ9
8Ø,Ò9
& ×9
8¼,Ø9
, Ý9
 Þ9
ñ9
& ß9
, á9
8 baked_cmdÁLâ9
& ë9
8¼,ì9
- ò9
$ ó9
, õ9
8bufferÁ4ö9
& ü9
8¼,ý9
$ :
, „:
8šD…:
& :
8¼,Ž:
, ”:
 •:
¥:
$ :
, ˜:
84™:
& Ÿ:
8¼, :
- ¦:
, ¨:
 ©:
«:
$ ª:
- ¬:
*°:
 ³:
ç<
, ½:
8,¾:
'Ã:
8äÅ:
 á:
 â:
à<
 ð:
ú:
, ñ:
 ò:
ø:
, ó:
8À$ô:

ù:
(ü:
8 4ÿ:
& …;
8Í4‡;
 ;
8$Ž;
$ ;
, ”;
8ÏÚD•;
 ;
$ ž;
, ¬;
 ­;
µ;
+ ®;
 ¯;
´;
, °;
8Ó±;

¶;
8ÏÝLÄ;
& Í;
 Ï;
Ö<
, á;
8Ø,â;
, ç;
 è;
õ;
& é;
, ë;
8ÖáLì;
- ö;
$ ÷;
, ‰<
8‘â4Š<
$ <
, ¢<
8šD£<
, ¼<
 ½<
Ç<
$ ¾<
, À<
84Á<
- È<
% á<
% è<
 ‡=
³>
 ˆ=
=
8à?4‰=
$ =
, =
 =
=
, “=
8À$”=
& ˜=
8¯™=

œ=
(Ÿ=
8 4¢=
& ¨=
, ª=
8 result_tyÁL«=
& ´=
8´µ=
$ ·=
, ¹=
 º=
Ç=
+ »=
 ¼=
Æ=
, ½=
8Ó¾=
& Á=
8û$Â=

È=
8ÏÝLÊ=
& Ó=
 Õ=
²>
, Ö=
8Ø,×=
& Ü=
8¼,Ý=
, â=
 ã=
ö=
& ä=
, æ=
8ÖáLç=
& ð=
8¼,ñ=
- ÷=
$ ø=
, ú=
8‘â4û=
& >
8¼,>
$ ‡>
, ‰>
8šDŠ>
& >
8¼,“>
, ™>
 š>
ª>
$ >
, >
84ž>
& ¤>
8¼,¥>
- «>
, ­>
 ®>
°>
$ ¯>
- ±>
*µ>
 ¸>
ü@
, Â>
8,Ã>
'È>
8äÊ>
 æ>
 ç>
õ@

 õ>
œ?
 8à?4ö>
& ü>
 þ>
, ÿ>
8,€?
'…?
8Š—T‡?
$ ?
, “?
 ”?
š?
, •?
8À$?

?
(ž?
8 4¡?
& §?
, ©?
8ÏèLª?
$ ³?
, Á?
 Â?
Ê?
+ Ã?
 Ä?
É?
, Å?
8ÓÆ?

Ë?
8ÏÝLÙ?
& â?
 ä?
ë@
, ö?
8Ø,÷?
, ü?
 ý?
Š@
& þ?
, €@
8ÖáL@
- @
$ Œ@
, ž@
8‘â4Ÿ@
$ ¥@
, ·@
8šD¸@
, Ñ@
 Ò@
Ü@
$ Ó@
, Õ@
84Ö@
- Ý@
% ö@
% ý@
 ƒA
¡B
 „A
A
8à?4…A
(A
8 4A
& A
, ˜A
8ÏèL™A
& ¢A
8´£A
$ ¥A
, §A
 ¨A
µA
+ ©A
 ªA
´A
, «A
8Ó¬A
& ¯A
8û$°A

¶A
8ÏÝL¸A
& ÁA
 ÃA
 B
, ÄA
8Ø,ÅA
& ÊA
8¼,ËA
, ÐA
 ÑA
äA
& ÒA
, ÔA
8ÖáLÕA
& ÞA
8¼,ßA
- åA
$ æA
, èA
8‘â4éA
& ïA
8¼,ðA
$ õA
, ÷A
8šDøA
& €B
8¼,B
, ‡B
 ˆB
˜B
$ ‰B
, B
84ŒB
& B
8¼,“B
- ™B
, B
 œB
žB
$ B
- ŸB
*£B
 ¦B
ßD
, °B
8,±B
'¶B
8ä¸B
 ÔB
 ÕB
ØD

 ãB
ÿB
8à?4äB
& êB
 ìB
, íB
8,îB
'óB
8Š—TõB
(C
8 4„C
& ŠC
, ŒC
8ÏèLC
$ C
, ¤C
 ¥C
­C
+ ¦C
 §C
¬C
, ¨C
8Ó©C

®C
8ÏÝL¼C
& ÅC
 ÇC
ÎD
, ÙC
8Ø,ÚC
, ßC
 àC
íC
& áC
, ãC
8ÖáLäC
- îC
$ ïC
, D
8‘â4D
$ ˆD
, šD
8šDD
, ´D
 µD
¿D
$ ¶D
, ¸D
84¹D
- ÀD
% ÙD
% àD
 èD
F
 éD
E
, êD
 ëD
ŽE
 , ìD
8 options_argÁ\íD
& øD
8¼,ùD
& þD
, €E
8
options_tyÁTE
& E
8´ŒE
$ E

E
(“E
8 4E
& œE
, žE
8ÏèLŸE
& ¨E
8´©E
$ «E
, ­E
 ®E
»E
+ ¯E
 °E
ºE
, ±E
8Ó²E
& µE
8û$¶E

¼E
8ÏÝL¾E
& ÇE
 ÉE
F
, ÊE
8Ø,ËE
& ÐE
8¼,ÑE
$ ÖE
, ØE
8‘â4ÙE
& ßE
8¼,àE
$ åE
, çE
8šDèE
& ðE
8¼,ñE
, ÷E
 øE
ˆF
$ ùE
, ûE
84üE
& F
8¼,ƒF
- ‰F
, F
 ŒF
ŽF
$ F
- F
*“F
 F
ÐK
+  F
 ¡F
ÀF
8â¢F
 ¥F
¿F
8»<¦F
®F
7
compiled_dataÁ|°F
, ÊF
 ËF
ÓF
+ ÌF
 ÍF
ÒF
, ÎF
8ÓÏF

ÔF
<úÞF
<6 ✨ *Enabled with the `compiled_data` Cargo feature.*ÁüêF9
<ú¬G
<? [📚 Help choosing a constructor](icu_provider::constructors)Áü¸GB
8ƒH
8 ‡H
, ŠH
8Ø,H
 H
°H
, H
 H
¬H
, “H
8Ïø\”H
& ŸH
, ¡H
8…ùT¢H
$ ­H

®H
(²H
, µH
8ÏèL¶H
 ÀH
I
, ÎH
 ÏH
ÛH
, ÐH
84ÑH
'ØH
- ÜH
, ÞH
8šDßH
 çH
“I
  èH
8,éH
'îH
8ÈøDðH
'øH
8BakedÁ,úH
, €I
 I
I
$ I
, „I
8Ïø\…I

I
, ¨I
8,©I
'®I
8ä°I
 ÌI
 ÍI
ÉK

 ÛI
úI
, ÜI
 ÝI
÷I
, ÞI
8Ïø\ßI
& êI
, ìI
8…ùTíI
$ øI

ùI
(üI
8 4ÿI
& …J
, ‡J
8ÏèLˆJ
$ J
, ŸJ
  J
¨J
+ ¡J
 ¢J
§J
, £J
8Ó¤J

©J
8ÏÝL·J
& ÀJ
 ÂJ
¿K

, ÔJ
8Ø,ÕJ
& ÚJ
8skipÁ$ÜJ
$ àJ
, òJ
8‘â4óJ
$ ùJ
, K
8šDŒK
, ¥K
 ¦K
°K
$ §K
, ©K
84ªK
- ±K
% ÊK
% ÑK
 ×K
†M
 ØK
€L
, ÙK
 ÚK
ýK
 , ÛK
8Ïø\ÜK
& çK
8¼,èK
& íK
, ïK
8…ùTðK
& úK
8´ûK
$ þK

ÿK
(L
8 4…L
& L
, L
8ÏèLŽL
& —L
8´˜L
$ šL
, œL
 L
ªL
+ žL
 ŸL
©L
,  L
8Ó¡L
& ¤L
8û$¥L

«L
8ÏÝL­L
& ¶L
 ¸L
…M
, ¹L
8Ø,ºL
& ¿L
8¼,ÀL
& ÅL
8Ò„$ÇL
$ ËL
, ÍL
8‘â4ÎL
& ÔL
8¼,ÕL
$ ÚL
, ÜL
8šDÝL
& åL
8¼,æL
, ìL
 íL
ýL
$ îL
, ðL
84ñL
& ÷L
8¼,øL
- þL
, €M
 M
ƒM
$ M
- „M
*ˆM
 M
¤P

+ •M
 M
­M
8â—M
 šM
¬M
8»<M
£M
7æ<¥M
+ ·M
 ¸M
ÿM
8Ó¹M
½M
, ¿M
8,ÀM
'ÅM
8öÄÇM
 ßM
 àM
þM
8˜Ë4áM
$ çM
, éM
 êM
õM
, ëM
84ìM
'óM
- öM
, øM
8Ø,ùM
8‰N
8 N
, N
8‘â4N
 —N
ïN
8ÈøD˜N
&  N
 ¢N
 £N
ÍN

8$¤N
, ©N
8,ªN
'¯N
8±N
'´N
8©t¶N
ÅN
- ÇN
8Ø,ÈN
, ÏN
 ÐN
ìN
$ ÑN
, ÓN
8Ïø\ÔN
& ßN
, áN
8…ùTâN

íN
(ñN
, ôN
8ÏèLõN
 ÿN
žP
8#O
, O
8,O
'—O
8™O
'œO
8ž
ìžO
% »O
, ÉO
 ÊO
ÖO
, ËO
84ÌO
'ÓO
- ×O
, ÙO
8šDÚO
 âO
”P
 ãO
8ÈøDäO
 ìO
8as_deserializingÁ„íO
 ýO
þO
, P
 P
P
$ ƒP
, …P
8Ïø\†P

P
% ¥P
|ú$üË9 6 Utilities for using trait objects with `DataPayload`.Á<%Gimpl_casting_upcastÁœ„ JKimpl_dynamic_data_providerÁÔª0 LM#impl_iterable_dynamic_data_providerÁüô7# NOô± ü†H E Trait to allow conversion from `DataPayload<T>` to `DataPayload<S>`.ÁÏ úüÓ] Z This trait can be manually implemented in order to enable [`impl_dynamic_data_provider`].ÁŒ» GžHHG´ûü± ×û Í ´ZÄÝ Íì¼û, ¼ûĉ G´ûQÄ•-Õ•#´ûcÄ•?Õ•5IIInpüD ü©S P Upcast a `DataPayload<T>` to a `DataPayload<S>` where `T` implements trait `S`.Á4„ þááâÉäˆ ž–ò)ˆ‚´¼ûGG
I¼û´Z¹
, üð " üÉV S Implements [`UpcastDataPayload`] from several data markers to a single data markerÁü > ; that all share the same [`DynamicDataMarker::DataStruct`].Áß ú  ‹ò ú Ǻüþ! غÌ  팺 úŒ¾  struct FooV1;ÁüÐ& # impl DynamicDataMarker for FooV1 {Áü÷' $ type DataStruct = Foo<'static>;Á ü¥4 1 icu_provider::data_marker!(BarV1, Foo<'static>);ÁüÚ4 1 icu_provider::data_marker!(BazV1, Foo<'static>);Á úì“  #[derive(yoke::Yokeable)]Áܱ  pub struct Foo<'data> {ÁüÍ !  message: Cow<'data, str>,Á  };Áö úüú ( % icu_provider::data_struct!(Foo<'_>);Á£
úü§
H E icu_provider::dynutil::impl_casting_upcast!(FooV1, [BarV1, BazV1,]);Á
Ǻø
úüü
K H [`DynamicDataMarker::DataStruct`]: crate::DynamicDataMarker::DataStructÁ(|È  yy Ò  À , š 8dyn_mÁ, &   8õ
$ ¥  § ¿ , ©  ª º , « 8struct_mÁ & ´ 8¼ $ »  ¼ $ ½ *  Å Ð , Ï  Ð É 8 , ã 8 'é 8¸ 'ò 8ÆŒô 
,
8¿ŸD‡

8

,
8îž,
 œ
¿ 
8 ®
8å
 ·
Ý

8¹
,¸
& ½
, ¿
8
'Å
8É
 Ò
, Ó
8¿Ÿ
 Ü
(ß
, â
8
'è
8É
 õ
, ö
8îž
 ü
 þ
± 8¹
,”   8Ø'  ž Ÿ  Ê ¬ë êüÇ) üš^ [ Implements [`DynamicDataProvider`] for a marker type `S` on a type that already implementsÁüùa ^ [`DynamicDataProvider`] or [`DataProvider`] for one or more `M`, where `M` is a concrete typeÁüÛ9 6 that is convertible to `S` via [`UpcastDataPayload`].Á úä™  ## Wrapping DataProviderÁ úüº\ Y If your type implements [`DataProvider`], pass a list of markers as the second argument.Áü—] Z This results in a `DynamicDataProvider` that delegates to a specific marker if the markerÁüõ> ; matches or else returns [`DataErrorKind::MarkerNotFound`].Á´ úü¸7 4 [`DynamicDataProvider`]: crate::DynamicDataProviderÁüð) ½ÅüšM J [`DataErrorKind::MarkerNotFound`]: (crate::DataErrorKind::MarkerNotFound)Áüè6 3 [`SerializeMarker`]: (crate::buf::SerializeMarker)Á (|· R ñ ñ/   ¸ ë , ¹ 8Èø &  8´Ã $ Å , Ç 8armsÁ & Ì 8¯Í $ Ï , Ñ 8oneÁÒ & Õ 8õ
 $ Ú , Ü  Ý è , Þ 8restÁ & ã 8õ
 $ é  ê *í  ð õ , ú 8 ' 8¸< ' 8Ò‘Ô‹  ¥  ¦ ë , ´ 8Èø $ ½ , Ë 8‚« $ Ð , Þ 8±«ß % ì , ÷ 8 'ý 8¸<ÿ ' 8Ò‘Ôˆ  ¢  £ î 
, ± 8Èø $ º , È 8‚« $ Í , Û  Ü â , Ý 8ó« $ ã  ä % ï % ö  ý â  , þ 8ÈøDÿ &  8´ˆ $ Š  Œ Ö , Ž   » ,  8¼, &  8¼,—  , Ÿ 8Ú4  & ¦ 8õ
 *¬ , ¯ 8¿Ÿ & ¸ 8´¹ $ ¼  ½ $ ¾ , À  Á Ô 8 Â *Ä , Ç 8struct_dÁ & Ð 8´Ñ $ Ó - Õ $ × , Ù 8îž & ß 8´à *ä  ç À& 
8 , ö 8 'ü 8ˆœþ   ,  8îž,“  ˜ 8
š , ž 8Èø  ° ¹& 8 ¾ 8©  Ê É  Ü 8 $ á 8Ú & ù , û 8 ' 8”G $  8÷ª£ & ¦ , ¨ 8 '® 8º< $ » (Ë 8Í  Ô , æ 8 'ì 8ª*  ú , û 8îž   $  ,  8,• 'š 8µ; $ ¥  ³  µ ¯& 8 8Ú  Ó 8Õ<Ô  Ö 8Ë0  Ý Þ  à ¡&  , ö  ÷ —! 
8³  8 8³  ˜ ,  8Ú  ¢ 8Õ<£  ¥ 8Ë0  ¬ ­ *¯  ² ! 8Ð 8  & Ú , Ü 8 'â 8ª*  ð , ñ 8¿Ÿ  ú ü , ž 8 '¤ 8ˆœ¦ '¹  » , ¼ 8¿Ÿ  Å 'Æ 8©  Ñ ã 8 $ Ö 8Ú $ Þ 8÷ªà - ä % å 8«ƒ   ç ,  8,‡ 'Œ 8ª*   æ 8Æ* & Å 8   Í 8Æ* $ Ö 8Ö* & ÿ , 8, ' 8¸<‰ ' 8ÆŒ’ '£  ¥ , ¦ 8¿Ÿ  ¯ '° 8å  ¸ Ç 8  ¿ 8Ö* $ È ˜! $ ™! , ¯!  °! ´% 8 Ê! *Ì!  Ï! ž% 8í! 8 4ñ! & ÷! , ù! 8,ú! 'ÿ! 8ª*d"  " , Ž" 8¥±D"  —" ™" , »" 8,¼" 'Á" 8ˆœÃ" 'Ö"  Ø" , Ù" 8¥±DÚ"  â" 'ã" 8©Lå"  î" €# 8$ï" $ ó" 8Ú4õ" $ û" 8÷ªý" - # % # 8« #  ¢# „% , £# 8,¤# '©# 8ª*d«#  ¸# ƒ% 8Æ*DÚ# & â# 8 4ä#  ê# 8Æ*Dë# $ ó# 8Ö*<•$ & œ$ , ž$ 8,Ÿ$ '¤$ 8¸<¦$ '­$ 8ÆŒ¯$ 'À$  Â$ , Ã$ 8¥±DÄ$  Ì$ 'Í$ 8å4Ï$  Õ$ ä$ 8 4Ö$  Ü$ 8Ö*<Ý$ $ å$ - µ% 8 Ë% *Í% 8Ð%  Ó% &  , Ô% 8,Õ% 'Ú% 8‡9lÜ% 'é% 8ó9të%  ù% 8Dú%  & Ž& 8Ú4ƒ& $ ‰& 8÷ª& % Á&  Ç& Š'  , È& 8ÈøDÉ& & Ñ& 8´Ò& $ Ô&  Ö& ü& , Ø&  Ù& ÷& , Ú&  Û& è& + Ü&  Ý& ç& , Þ& 8âß& & â& 8û$ã& - é& , ë& 8¿ŸDì& & ô& 8´õ& $ ø&  ù& $ ú& $ ý& , ÿ& 8îž,€' & …' 8õ
$†' *Œ'  ' î/ 
8$™' , ž' 8,Ÿ' '¤' 8ˆœ¦'  ¹' , º' 8îž,»'  À' 8
Â' , Æ' 8ÈøDÇ'  Ø' è/ 8 æ' 8©Lé'  ò' ñ(  „( 8$…( $ ‰( 8Ú4( & ¡( , £( 8,¤( '©( 8”Gt«( $ ¹( 8÷ªË( & Î( , Ð( 8,Ñ( 'Ö( 8º<\Ø( $ ã( (ó( 8Í4ö(  ü( , Ž) 8,) '”) 8ª*d)  ¢) , £) 8îž,¤)  ©) $ ª) , ¼) 8,½) 'Â) 8µ;LÄ) $ Í)  Û)  Ý) Þ/ 8,ï) 8Ú4õ)  û) 8Õ<ü)  þ) 8Ë04ÿ)  …* †*  ˆ* Ð/ , ž*  Ÿ* â. , ¹*  º* Â* + »*  ¼* Á* , ½* 8â¾* - Ã* 8³ Ý* 8ß* 8³ â* ä*  ç* , è* 8¿ŸDé* 8ò* , õ* 8,ö* 'û* 8å,Tý*  ‡+ 'ˆ+ 8÷,$Š+  Ž+ 8Õ<+  + 8Ë04+  ˜+ ™+ *+  ž+ Ì. 8¼+ 8 4À+ & Æ+ , È+ 8,É+ 'Î+ 8ª*dÐ+  Ü+ , Ý+ 8¿ŸDÞ+  æ+ è+ , Š, 8,, ', 8d, 'ž, 8¬$ ,  ¤, ®, 8$¥, $ ©, 8÷ª«, - ¯, % °, 8«Î,  Ð, ². , Ñ, 8,Ò, '×, 8ª*dÙ,  æ, ±. 8Æ*Dˆ- & - 8 4-  ˜- 8Æ*D™- $ ¡- 8Ö*<Ã- & Ê- , Ì- 8,Í- 'Ò- 8¸<Ô- 'Û- 8ÆŒÝ- 'î-  ð- , ñ- 8¿ŸDò-  ú- 'û- 8å4ý-  ƒ. . 8 4„.  Š. 8Ö*<. $ “. ã. $ ä. 8 ú. *ü. 8ÿ.  / ¾/  , ƒ/ 8,„/ '‰/ 8‡9l/ '˜/ 8ó9tš/  ¨/ 8D©/  ±/ ½/ 8Ú4²/ $ ¸/ 8÷ªº/ % ï/ äŠ0 \üï02 4Í0 (|ß0 †’ ¢1 ²7  ¨1 ë1  , ©1 8ÈøDª1 & ²1 8´³1 $ µ1  ·1 Ý1 , ¹1  º1 Ø1 , »1  ¼1 É1 + ½1  ¾1 È1 , ¿1 8âÀ1 & Ã1 8û$Ä1 - Ê1 , Ì1 8¿ŸDÍ1 & Õ1 8´Ö1 $ Ù1  Ú1 $ Û1 $ Þ1 , à1 8îž,á1 & æ1 8õ
$ç1 *í1  ð1 °7 
8$ú1 , ÿ1 8,€2 '…2 8¬܇2  ¢2 , £2 8îž,¤2  ©2 8
«2 , ¯2 8ÈøD°2  ¹2 ª7 8 Ç2 8iter_ids_for_markerÁœÊ2  Ý2 ƒ3   Þ2 8$ß2 $ ã2 8Ú4å2 & ë2 , í2 8,î2 'ó2 8”Gtõ2 (…3 8Í4ˆ3  Ž3 8¤,3 '”3 8 collectionsÁ\3 '¡3 8BTreeSetÁD£3  «3 , ¬3 8,­3 '²3 8±
Œ´3  Å3 :8Æ3 È3 $ Ê3 , Ì3 8,Í3 'Ò3 8µ;LÔ3  Ý3  ß3  7 8,ñ3 8Ú4÷3  ý3 8Õ<þ3  €4 8Ë044  ‡4 ˆ4  Š4 7 ,  4  ¡4 ¦6 , »4  ¼4 Ä4 + ½4  ¾4 Ã4 , ¿4 8âÀ4 - Å4 8³ ß4 8á4 8³ ä4 æ4  é4 , ê4 8¿ŸDë4 8ô4 , ÷4 8,ø4 'ý4 8å,Tÿ4  ‰5 'Š5 8÷,$Œ5  5 8Õ<5  “5 8Ë04”5  š5 5 *5   5 6  , ¾5 8,¿5 'Ä5 8¤Æ5 'Ú5  Ü5 , Ý5 8¿ŸDÞ5  æ5 'ç5 8iter_idsÁDé5  ñ5 ö5 8$ò5  §6 $ ¨6 8 ¾6 *À6 8Ã6  Æ6 €7  , Ç6 8,È6 'Í6 8‡9lÏ6 'Ü6 8ó9tÞ6  ì6 8Ã\í6  ø6 ÿ6 8Ú4ù6 üË7% æ$Œí&lñ&T[bipÉ“´PQ“´ PQYokeableÁDôÙPRÇÜ PPRÕPS©>PSö¸1ÎPSøò2åPSùƒ-PSúÜŠ—å~
ÖPSѺå,ä~PSÖÉã~áPSÉý~âPSª*É~ëPSˆ¼,µnPSؽ”~ªPS޳Г~
PSÃ|~PSÞ6{~°PSõÞ6‘~±PSõïA{~ÕPSûïA‘~ÖPSû¡?{~®PSüµ;z~ñPSþ±‡9y~ÒPSÿ²ý@x~ÇPSÒ”Gw~§PSƒ×º<v~PSÓö=u~šPSÔœBt~ÙPSÌÏÙ±ÌüÉFC A data provider that loads data for a specific [`DataMarkerInfo`].ÁTžUUT´ûüÍ×û §çûT´û)´û/VVV.0ü”GüÉ63 Query the provider for data, returning the result.ÁúüŒ^[ Returns [`Ok`] if the request successfully loaded data. If data failed to load, returns anÁüï  Error with more information.Á$—ƒ ¼ûº<ƒÕ<Æ*b´øbz1* ƒ…ªT œT
V¼û´Z$÷ª£üß[8žX¡YXY×û äÎì­Z ççûT­Z´Z¨ZZVZ8:57üÏF ¨Zº<ƒÕ<Æ*b´øbz1* …ªW ×W
Z8´Z­Z÷ªYUüù9üå
XU A data provider that can determine whether it can load a particular data identifier,Áü¾:7 potentially cheaper than actually performing the load.Á[ž\[\´ûüùñT¼û´Z×û çûT–[´û;âë-´ûGâë9]]]:<ü˜Pü¹TQ This method goes through the motions of [`load`], but only returns the metadata.ÁúüšLI If `dry_load` returns an error, [`load`] must return the same error, butÁüëSP not vice-versa. Concretely, [`load`] could return deserialization or I/O errorsÁüÃ# that `dry_load` cannot predict.Áëúüó  [`load`]: DataProvider::loadÁDˆ ¼ûº<ƒÕ<Æ*b´øbz1* ˆú¬[ ¤[
]¼û´Z÷ª«üìa8ž_¡`_`×û ñè ôçû[­Z´Z”±¨Za]a0257üâOРЍZº<ƒÕ<Æ*b´øbz1* ú¬^ î^
a8´Z­Z÷ªcVü£! ü =: A data provider that loads data for a specific data type.Á¿ úüà _\ Unlike [`DataProvider`], there may be multiple markers corresponding to the same data type.Áœ­!bžcbc´ûü£!—×û Á!µ•ŒÑ!b´û)´û/ddd.0üµ#ƒüê!6Þã¥"úü­"^ªäü# ’åL¸#Œ Œ¼û¾lº<ƒÕ<Æ*b´øbz1* …ªb Ë#b
d¼û´Z$Ì#Ú4Ú#÷ª
ŒWªtbù[þt¸bÍìþ ¸aÍìó[ »aÂéÔ‚b²é ±aù[ü¦b!Íìù[´aÙþ¤ÐbTó[ŒW|íb¸rsƒjlWY¤¦¡£Ôbü’cMT•cž ¸[º<ƒÕ<Æ*b´øbz1* žÖ»}  c}
ƒŒWù[þó[$¡c÷ªÂ]ü¯d(d²dŸ Ÿ¸[¾l} ¿d}
ŒWù[þó[$Àdlˆ'þ³´ó³ö³è³ë³ܳß³ѳÔ³ƳɳL‚),†)ªñÒÜÖŒ°FdïŒÝ× `Œt<©{Œ©>Œö¸1ÎŒøò2åŒùƒ-ŒúÜ£pŒýŠ—

֌Ѻå, ŒÖÉ áŒÉ(›âŒTŒª*댈Ã[ŒŠ¼,ŒØˆ/›bŒŒŠÒ0›iŒŠ
ŒÕŒÃŒÞ6°ŒõÞ61›±ŒõïAÕŒûïA5›ÖŒû¡?!›®Œüý@ìšÇŒÒ”Gíš§Œƒ×º<Óö=ïššŒÔœBðšÙŒB¤ç8*œü»ð]”Åcüá8ä ¡¢  ð] ¡ c cˆ¢cµ
 `£c `àB¤GS
¢ç~ è
± †\–˜üÉ*ü¬96 Converts this [`DataErrorKind`] into a [`DataError`].ÁêúüòDA If possible, you should attach context using a `with_` function.ÁTÖ†\ð]¿ÞŸmüÕCü‹74 Creates a [`DataError`] with a data marker context.Á\â†\¾lð]
0oÚ9oü™ GüÔ2/ Creates a [`DataError`] with a string context.Á„¦ †\ ð]
˜ûp¡âqüê!.ü¢!52 Creates a [`DataError`] with a type name context.ÁŒñ!†\ð]¥ššÍìà_ ƒ"
à_ÑrüŸ#LüÙ"30 Creates a [`DataError`] with a request context.ÁD¦#£†\¾lº<ƒÕ<Æ*b´øbz1* £ð]\Ò#
sÚ˜s÷ª¢st§$ð]žŸ ¢£¥§ü¢%6ü¼$SP Returns a new, empty [`DataError`] with kind Custom and a string error message.Á4¯%Ë¡ð]œœ
Ö;Œtüä'>ü‰'HE Sets the data marker of a [`DataError`], returning a modified error.Á\ñ'ð]¾lð]œœéÞvÚˆvüµ*Bü×)KH Sets the string context of a [`DataError`], returning a modified error.Á„Â*ð]Ë¡ð]œœ³â¶x¡â¿xüš-)ü¥,b_ Sets the string context of a [`DataError`] to the given type name, returning a modified error.ÁŒ¡-ð]ð]œ¥¡¡œû¢ ³-ŽæÅz
üœ1Kü/^[ Logs the data error with the given request, returning an error containing the data marker.Áä/úüì/WT If the "logging" Cargo feature is enabled, this logs the whole request. Either way,ÁüÈ0OL it returns an error with the data marker portion of the request as context.ÁD£1¤ð]¾lº<ƒÕ<Æ*b´øbz1* ¤ð]œ\Ó1œÀç$°1Ú4¶1÷ªÎ1üŽ:Püñ7A> Logs the data error with the given context, then return self.Á·8úü¿8RO This does not modify the error, but if the "logging" Cargo feature is enabled,Áü–9" it will print out the context.Á¤•:¥ð] ¥»÷ð]œ¤¤ Ó:œÎì»÷ ª:Äc»÷d­:
£»÷3{¡âB{+-üç=LüÊ;A­<úü˜<Rò­üï<"ή”î=¦ð] ¦»÷ð]œ¦¦ ¨>œǰ >¿c»÷T„>
¥»÷«{¡âµ{+-ü¯?(D½?ð]œ¥¨¨œû¢ Æ?
§à_ üA%ð]üÂC#ü’C/, Extension trait for `Result<T, DataError>`.Á|ÌCª¥««ªÄ•,àCÍì¥ ÜCªÄ•+Ä•¬¬*,üÝDDüìCli Propagates all errors other than [`DataErrorKind::IdentifierNotFound`], and returns `None` in that case.ÁÔàD¼ûÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÆ´ð]ªª
¬¼ûÆ´$ûDü¥E3¥®®û¢ ªE’_¯¬¯üßECÔâE’_ìý­­
¯à_Ê~,•)Å‚ÅjÅ\Ê)<Î)ÇšÕÖ®q<ß³´µqµ´µ×ò `´p,†¿c´·pÂc´·Ž$še´¸Ž e´¸r,²é!´¹Š—T‡
Öº´ÐµLì“„û…„‘c„§AÜö1ü€08§§©c¼Åc¼ü·4º¨©ª ¨©c © c cˆ¢cµ
 `£c `àB¤GS
ªç~» ¾»
¼8$¿± Åü¬#Á¾¾b¿ÀÁ±ü¢1üÖGD Creates a [`DataIdentifierBorrowed`] for a borrowed [`DataLocale`].ÁT© Á€˜b½½
¿Áà?4´ü…Qü¯QN Creates a [`DataIdentifierBorrowed`] for a borrowed [`DataMarkerAttributes`].Á¬Œ Áêcb½½
ÀÁÇ?Œ¢ü¦ü½da Creates a [`DataIdentifierBorrowed`] for a borrowed [`DataMarkerAttributes`] and [`DataLocale`].Áü­ ¿ä½b½½
ÁÁÇ?Œ×à?4ŒüÜ=&8««Ùdôä‰><Œ>ÙdÂÂ
Ã8üÏ>#êcÅÆê!ë!Æ\ù>4þ>ÄÄüž? ,¡?¬ ¬êc ¬êcê!Ä §?Ä
Æ$¨?üÞ?#êcÈÀcÈü–@8™@­®¯ ­êc ® c cˆ¢cµ
 `£c `àB¤GS
¯ç~Ç @Ç
È$ž@±<”ÌÎAêcÊËÌÍÎÏü®B>D·B´° °ž}š´É ÃBÉì¹¾ø™üÔFHü¨EGD Creates a borrowed [`DataMarkerAttributes`] from a borrowed string.ÁôEúüüESP Returns an error if the string contains characters other than `[a-zA-Z0-9_\-]`.ÁdáF± ±Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ±êcýdÉ ñFÉü¾¾œüÆKSüÔGda Attempts to create a borrowed [`DataMarkerAttributes`] from a borrowed UTF-8 encoded byte slice.Á½HútÅH ‹ØHú<àHǺüìH!غ’IúôšI let bytes = b"long-meter";Áü½IEB let marker = DataMarkerAttributes::try_from_utf8(bytes).unwrap();Áü‡J1. assert_eq!(marker.to_string(), "long-meter");Á<½JǺÉJúdÑJ # ErrorsÁâJúüêJWT Returns an error if the byte slice contains code units other than `[a-zA-Z0-9_\-]`.ÁlÓK² ²ž}Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ²êcýdÉ íKÉà·½5žü…U0üãSGÝįTúü·TIF Panics if the string contains characters other than `[a-zA-Z0-9_\-]`.ÁŒ’U³ ³ ³êcÉ §UÉ
;: ü W%üíV.+ Creates an empty [`DataMarkerAttributes`].Á,­W êcÉÉ
ÎüüX"üÁX63 Returns this [`DataMarkerAttributes`] as a `&str`.Á4‰Y´ ´êc ´É YÉ
Ï$‘Y<ß)®Ñ±ÑžÑ¡Ñ’ѕцщѭ*d²*D¶*áâåæêòûëæçÙÞ6dÛ°Ö×Þ6±Ö×µ;LôñÖØ±Š—
ÖÖÙѺ¼,Œ¡ÖÚØp,ô¿cÖÛpÂcÖÛ“´\ÖÜ“´ÖÜœâ¬âÖÝ cartable_ptrÁeÜÖÞeitherÁ5ò2ÖÞÇÜÙÖÞÇÜ PÖÞ
CloneableCartÁmðïÖÞà %ÿŒÖÞÄÏ„íaŒƒNÄš8„é'ÌÿüÎ)á$ýÌç ªeàü¢
1´‡
 Sets the checksum.Ál©
ªeªeßß
à
ÕBD½
 Ùü± @= A container for data payloads returned from a data provider.Áò úüö `] [`DataPayload`] is built on top of the [`yoke`] framework, which allows for cheap, zero-copyÁü× 63 operations on data via the use of self-references.ÁŽ
úü’
mj The type of the data stored in [`DataPayload`] is determined by the [`DynamicDataMarker`] type parameter.ÁúÌ„ ## Accessing the dataÁžúü¢b_ To get a reference to the data inside [`DataPayload`], use [`DataPayload::get()`]. If you needÁü…c` to store the data for later use, you need to store the [`DataPayload`] itself, since `get` onlyÁüé30 returns a reference with an ephemeral lifetime.ÁúÄ¡ ## Mutating the dataÁºúü¾TQ To modify the data stored in a [`DataPayload`], use [`DataPayload::with_mut()`].Áúü—0- ## Transforming the data to a different typeÁÈúüÌ`] To transform a [`DataPayload`] to a different type backed by the same data store (cart), useÁü­@= [`DataPayload::map_project()`] or one of its sister methods.ÁîúÜò # Cargo feature: `sync`ÁŽúü’c` By default, the payload uses non-concurrent reference counting internally, and hence is neitherÁüöa^ [`Sync`] nor [`Send`]; if these traits are required, the `sync` Cargo feature can be enabled.ÁØú ‹ëúüï1. Basic usage, using the `HelloWorldV1` marker:Á¡úǺü­%±ŒüÓ!غÌõíŒúü“FC let payload = DataPayload::<HelloWorldV1>::from_owned(HelloWorld {ÁüÚ'$ message: Cow::Borrowed("Demo"),Á< });ÁŠúüŽ.+ assert_eq!("Demo", payload.get().message);ÁǺžãã²é ÜŒWŒßèfž–ò)ˆ‚´âäðàèf]ðàèfáá
âŒWvxôòááðàŽàü”B? A container for data payloads with storage for something else.Á×úüÛMJ The type parameter `O` is stored as part of the interior enum, leading toÁü©NK better stack size optimization. `O` can be as large as the [`DataPayload`]Áüø1. minus two words without impacting stack size.Áªú ‹½úüÁ%" Create and use [`DataPayloadOr`]:ÁçúǺüó ‡Œü”%±Œüº!غüÜ$! use icu_provider::DataPayloadOr;Áúü…A> let response: DataResponse<HelloWorldV1> = HelloWorldProviderÁÜÇ .load(DataRequest {ÁüãJG id: DataIdentifierBorrowed::for_locale(&langid!("de").into()),Áü®  ..Default::default()Á })ÁüÚ*' .expect("Loading should succeed");Áú´‰ let payload_some =Áü JG DataPayloadOr::<HelloWorldV1, ()>::from_payload(response.payload);ÁüëIF let payload_none = DataPayloadOr::<HelloWorldV1, ()>::from_other(());Áµú™ŽÜÉ payload_some.get(),ÁÄå Ok(&HelloWorld {Áüþ(% message: "Hallo Welt".into()Á¢ëÆ”ü¹ -* assert_eq!(payload_none.get(), Err(&()));ÁǺï úÔó  Stack size comparison:ÁŽ!ú<’!Ǻüš!!غü¼!$üèá!úüå!(% const W: usize = size_of::<usize>();ÁŽ"úô’" // Data struct is 3 words:Áü±"52 icu_provider::data_marker!(SampleV1, [usize; 3]);Áç"úüë"63 // DataPayload adds a word for a total of 4 words:Áü¢#:7 assert_eq!(W * 4, size_of::<DataPayload<SampleV1>>());ÁÝ#úüá#/, // Option<DataPayload> balloons to 5 words:Áü‘$B? assert_eq!(W * 5, size_of::<Option<DataPayload<SampleV1>>>());ÁÔ$úüØ$@= // But, using DataPayloadOr is the same size as DataPayload:Áü™%@= assert_eq!(W * 4, size_of::<DataPayloadOr<SampleV1, ()>>());ÁÚ%úüÞ%RO // The largest optimized Other type is two words
 `£c `àB¤GS
·ç~Œ å=Œ
ŒW$æ=±š«üÈ>–ž ²é Í>—ù Ð>þäŒþ>¿c ä}Û,Ê?¿c×g,Ø?£g”Àc_adf™?üå?Dè?¸¹º ¸£g ¹ c cˆ¢cµ
 `£c `àB¤GS
ºç~ ì?
ŒW×g$í?±I­Ð@íµíÒíìÙƒAíµíÒíåÚüÜC|ü¢A=: Cloning a [`DataPayload`] is generally a cheap operation.ÁüàA/, See notes in the `Clone` impl for [`Yoke`].ÁBút”B ‹£Búl§B
```no_runÁüµB%±ŒüÛB!غýBúüC30 let resp1: DataPayload<HelloWorldV1> = todo!();ÁôµC let resp2 = resp1.clone();Á<ÔCǺž˜˜²é áCþ䌊DØä}Û,ÒDèfšÙš>@¥D¼ßD,âD» »èfèf èD
šŒW$éDüËF’žœ œ²é ÐF—ù ÓFþäŒGžØä}žÛ,ÉGØ×g,×G£gŸÙŸUWZ\œG¼äG,çG¼ ¼£g£g íG
ŸŒW×g$îGüèK„ž¡¡²é íKþ䌚L¢µßä}¢Û¿— LâLèf£·ß£DFµLüóL"öL½¾ ½èf ¾èf  ùL 
£ŒW$úL¹
·üÂM—ž¥ ¦¥¦²é ÇM—ù ÊMþäŒüM§µßä}§Û¾™ LÄN×gÖN£g¨·ß¨[]`b—NüàN"ãN¿À ¿£g À£g¤ æN¤
¨ŒW×g$çN¹
£¹ü¨Pvžªª²é ­PþäŒÓP«ä}«Û›Qèf35îPü¤Q‰ž­ ®­®²é ©Q—ù ¬QþäŒ×Q¯ä}¯ÛŸRÚ™ ªR£gCEHJòQüÙW6ž±±²é ÞWþäŒýWèf²³´¸º»¿ÄÉÏÑÓÕ68üá\.ü–XIF Convert a fully owned (`'static`) data struct into a [`DataPayload`].ÁäXúüìX0- This constructor creates `'static` payloads.Á¡Yút©Y ‹¼Yú<ÄYǺüÐY%±ŒüúY!غÌ Z팾ZúüÆZ# let local_struct = HelloWorld {ÁüîZ2/ message: Cow::Owned("example".to_owned()),Á4¥[˜œ°[úü¸[PM let payload = DataPayload::<HelloWorldV1>::from_owned(local_struct.clone());Á\úü•\-* assert_eq!(payload.get(), &local_struct);Á<Ç\ǺTè\ä}èf°°äœŠøc»ü_Bü“^85 Construct a [`DataPayload`] from a static reference.ÁÐ^úüØ^$! This is mainly used by databake.Á|œ_·ðèf°°è…Šø–¼üåhÍü`63 Mutate the data contained in this [`DataPayload`].ÁÊ`úüÒ`\Y For safety, all mutation operations must take place within a helper function that cannotÁü³a-* borrow data from the surrounding context.Áåaútía ‹€bú„ˆb
Basic usage:Ábú<¥bǺü±b0- use icu_provider::hello_world::HelloWorldV1;Áüæb!غŒcúü”cLI let mut payload = DataPayload::<HelloWorldV1>::from_static_str("Hello");Áåcúüíc@= payload.with_mut(|s| s.message.to_mut().push_str(" World"));Á²dúüºd52 assert_eq!("Hello World", payload.get().message);Á<ôdǺ€eúüˆeSP To transfer data from the context into the data struct, use the `move` keyword:Áàeú<èeǺüôe0ç¥ ü©f!غÏfúü×fL»¦ ¨gúÔ°g let suffix = " World";ÁüÏgC@ payload.with_mut(move |s| s.message.to_mut().push_str(suffix));Á—húüŸh5ó§ <ÙhǺDìh Áèf‰€µ°Áµµ°Í쉀 ùh‰€<¥i·"‰€ ·ä}ÁÛü¯i?·‰€”­ ˜"µü·i7
ä}ä}ü‡j*
´ŒWÁ‰€$„i±õh³iüÕqGüÃm  Borrows the underlying data.Áèmúüðm_\ This function should be used like [`Deref`] would normally be used. For more information onÁüÔnIF why [`DataPayload`] cannot implement [`Deref`], see the `yoke` crate.Á¢oútªo ‹½oú<ÅoǺüÑo0ç¥ ü†p!غ¬púü´pGD let payload = DataPayload::<HelloWorldV1>::from_static_str("Demo");Á€qúüˆq.œã<»qǺÜq¹ ¹èf ¹ä}¹Û°àq°€×$èqüªuYüËs74 Borrows the underlying data statically if possible.Á‡túütol This will succeed if [`DataPayload`] is constructed with [`DataPayload::from_static_ref`], which is used byÁ¤ƒu baked providers.ÁT±uÁ ÁèfÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ä}Û° ¼u°
ºŒW$½uü¸…Ìü¯w[X Maps `DataPayload<M>` to `DataPayload<M2>` by projecting it with [`Yoke::map_project`].Áxúü—xYV This is accomplished by a function that takes `M`'s data type and returns `M2`'s dataÁüõxYV type. The function takes a second argument which should be ignored. For more details,ÁüÓy  see [`Yoke::map_project()`].Áøyúü€z\Y The standard [`DataPayload::map_project()`] function moves `self` and cannot capture anyÁüázXU data from its context. Use one of the sister methods if you need these capabilities:Á¾{úüÆ{QN - [`DataPayload::map_project_cloned()`] if you don't have ownership of `self`Áüœ|>; - [`DataPayload::try_map_project()`] to bubble up an errorÁüß|GD - [`DataPayload::try_map_project_cloned()`] to do both of the aboveÁ«}út³} ‹Æ}úüÎ}FC Map from `HelloWorld` to a `Cow<str>` containing just the message:Á™~ú<¡~Ǻü­~%±Œü×~!غÌý~íŒúü£^[ // A custom marker type is required when using `map_project`. The DataStruct should be theÁü†€QN // target type, and the Cart should correspond to the type being transformed.ÁÜ€úüä€%" struct HelloWorldV1MessageMarker;ÁüŽ:7 impl DynamicDataMarker for HelloWorldV1MessageMarker {ÁüÍ,) type DataStruct = Cow<'static, str>;Ášˆ‚úüLI let p1: DataPayload<HelloWorldV1> = DataPayload::from_owned(HelloWorld {Áüá‚.+ message: Cow::Borrowed("Hello World"),Á<”ƒÿâ ƒúü¨ƒ0- assert_eq!("Hello World", p1.get().message);Á݃úüåƒZW let p2: DataPayload<HelloWorldV1MessageMarker> = p1.map_project(|obj, _| obj.message);ÁÄ„úüÌ„.+ // Note: at this point, p1 has been moved.Áüÿ„(% assert_eq!("Hello World", p2.get());Á<¬…Ǻ\¿…èf‰€Ñް‚&¼½¼½°ÍìË…è¬ Ï…Œ‡†¾–"‰€ä}¾Û“´Fu\»Ÿ ¾µü¥†¾‰€åÅ ˜"ƒ¾Ûü˜‡(Ò­ üÙ‡*
»ŒW‰€Ç±ÇÔÖØÚ©†üÕ’¥üæŠ[X Version of [`DataPayload::map_project()`] that borrows `self` instead of moving `self`.ÁÆ‹út΋ ‹á‹úüé‹B? Same example as above, but this time, do not move out of `p1`:Á°Œú<¸ŒǺüÄŒ,) // Same imports and definitions as aboveÁüõŒ'$ # use icu_provider::hello_world::*;Áü¡# # use icu_provider::prelude::*;ÁÜÉ # use std::borrow::Cow;Áüé'$ # struct HelloWorldV1MessageMarker;Áü•Ž<9 # impl DynamicDataMarker for HelloWorldV1MessageMarker {ÁüÖŽ.+ # type DataStruct = Cow<'static, str>;Á<‰Å™úüL€À üî.×À ÿâ­úüµ0«Á êúüò41 let p2: DataPayload<HelloWorldV1MessageMarker> =Áü«‘<9
ü¬£<9 obj.message.to_mut().push_str(string_to_append);ÁÜí£ Ok(obj.message)Ád¤ })?;Áž¤úü¦¤-* assert_eq!("Hello WorldExtra", p2.get());Áüؤ  # Ok::<(), &'static str>(())Á<ý¤Ǻ|¥èf‰€ý¢°‚&ÅÆÇÆÅǰ©Å  ¥è¬ ¤¥Í쯟 §¥ÄÅ Œê¥È–"‰€ä}ÈÛ“´Fu\»Ÿ ȵüˆ¦¦È‰€ÖÚ ˜"Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ƒÈÛ¯Ÿüû¦3Ò­ üǧ*
ÄŒW‰€¯ŸÒ±Ò47:=7:Œ¦üÙµÂüݪXU Version of [`DataPayload::map_project_cloned()`] that bubbles up an error from `f`.Áº«út« ‹Õ«úüÝ«2žÒ ”¬ú<œ¬Ǻü¨¬,³È üÙ¬'êÈ ü…­#œÉ Ü­­ÉÉ üÍ­'ïÉ üù­<¡Ê üº®.èÊ <í®Å™ù®úü¯L€À üÒ¯.×À <…°ÿâ‘°úü™°0«Á ΰúüÖ°#ÎÔ üþ°74 let p2: DataPayload<HelloWorldV1MessageMarker> = p1Áüº±*' .try_map_project_cloned(|obj, _| {Áüé±'¿Õ ü•²,ñÕ lƲ§Ö üز2/ let mut message = obj.message.clone();Áü³85 message.to_mut().push_str(string_to_append);Á¼Ì³ Ok(message)Ádè³ª× ù³úü´?< // Note: p1 is still valid, but the values no longer equal.ÁüÅ´,) assert_ne!(p1.get().message, *p2.get());Áüö´-Î× ü¨µ †Ø <͵Ǻ´àµ¦Ï ú“ÿ¬°¶&Ê&ËÌÍÍËÌʰòÏ þµ„Ð ‚¶Í씪 …¶–Ð ŒÏ¶Î–"ú“ ¶&ä}ÎÛ“´Fu\»Ÿ εüí¶­Îú“åå ˜"Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
í“ÎÛ”ªüç·3
ÉŒW¶&ð“ú“”ª$±÷Ù,÷µ@CFICFñ¶üíÄmüÕ½WT Convert between two [`DynamicDataMarker`] types that are compatible with each otherÁü±¾$! with compile-time type checking.ÁÚ¾úüâ¾SP This happens if they both have the same [`DynamicDataMarker::DataStruct`] type.Áº¿úü¿`] Can be used to erase the marker of a data payload in cases where multiple markers correspondÁä§À to the same data struct.ÁÈÀúüÐÀIF For runtime dynamic casting, use [`DataPayload::dynamic_cast_mut()`].ÁžÁút¦Á ‹¹ÁúlÁÁ˜‘ üÓÁ%±ŒüýÁ!غ£Âúô«Â struct CustomHelloWorldV1;ÁüÎÂ30 impl DynamicDataMarker for CustomHelloWorldV1 {Áü†Ã.+ type DataStruct = HelloWorld<'static>;Á,¹ÃšÃÃúüËÃ96 let hello_world: DataPayload<HelloWorldV1> = todo!();Áü‰ÄEB let custom: DataPayload<CustomHelloWorldV1> = hello_world.cast();Á<ÓÄǺ$ôÄèfÑŽ°‚&Ðа©Å ùÄÄÅ ü¬Å-ä}Ô¾ÅÜè‚Ý+-ü³Êsü²ÇW±ç üŽÈ$“è ·Èúü¿ÈSÏè —ÉúüŸÉ`ºé ä„ʤê DºÊ Âèf ÂÑŽ°‚&ÒÒ Çʰ©Å ÃÊÄÅ üøÊ-³ð ÔŠË
ÑŒW$ÈÊ,.üùÞlüÿÌQN Convert a [`DataPayload`] to one of the same type with runtime type checking.ÁÕÍúüÝÍIF Primarily useful to convert from a generic to a concrete marker type.Á«Îúü³Î]Z If the `M2` type argument does not match the true marker type, a `DataError` is returned.Á•ÏúüÏA> For compile-time static casting, use [`DataPayload::cast()`].ÁãÏútëÏ ‹þÏúü†ÐGD Short-circuit a data request request based on the marker, returningÁüÒÐ,) a result from a different data provider:Á
,ƒïšïúô•ï let provider = MyWrapper {Áü¸ï" inner: HelloWorldProvider,Á4ßœêïÌ‚
ü‚ðNê‚
´Õðƒ
ððúüøð?< assert_eq!(formatter.format_to_string(), "✨ Hallo Welt");Á<¼ñǺ„Ýñà ÃèfÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ÃÑŽð]°‚&ÖÖ òñ°©Å îñÄÅ Œ¾ò
ÕŒW$÷ñ"$ôÏôááâÉäˆ ž–ò)ˆ‚´ÎXØÙüîøIü¥øDA Converts a yoked byte buffer into a `DataPayload<BufferMarker>`.ÁŒõøŒŒà ÜáðáŠ+Ô[
•FŸè˜† …•
××
ØÕ$‡ùü û8üÖúEB Converts a static byte buffer into a `DataPayload<BufferMarker>`.Á”§ûŸè…•
××
Ù‘â4ºûüÜü^žÛÛ²é áüþ䌌ý³ä}<²ýèfÜ´Ü,.¤Áý<ÄýèfÚÚ
ÜŒWüŽþ>žÞ ßÞß²é “þ—ù –þþ䌺þ£gàáâãå)+-/üÿ4üÓþ74 Creates a [`DataPayloadOr`] from a [`DataPayload`].Ád¤ÿèf£gÝÝ
àŒW×gÖ*±éüµ‚#üê85 Creates a [`DataPayloadOr`] from the other type `O`.ÁT¼‚×g£gÝÝ
áŒW×g¹
«êüœ„ ü̃=: Returns whether this object represents a [`DataPayload`].ÁT£„Ä Ä£gÝ ®„Ý
âŒW×g$¯„ü©‡VüƆPM Gets the value from this [`DataPayload`] as `Ok` or the other type as `Err`.Á°‡ä ä£gÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ää}äÛ ä×gÝ´‡ÝúØ$¼‡üÌ‹4üÍŠA> Consumes this [`DataPayloadOr`], returning either the wrappedÁü“‹&# [`DataPayload`] or the other type.ÁTÓ‹£gÖâÝÝ
åŒW×g4ñüþŽ<žçç²é ƒþ䌨­åè鬕üÁA> Convenience function to return the other type with value `()`Á$œ­åææ
èŒWü¯‘VüÕGD Convenience function to return `Some` or `None` for other type `()`ÁT¶‘ê ê­åÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ êä}êÛæÁ‘æ
éŒW$ɑԲ“ü©’LI A response object containing an object as payload and metadata about it.Ád½“žìì²é Ê“þäŒÚ“²hœÙÚ
¹Ÿ»íî)+üŸ”"üó“'$ Metadata about the returned object.ÁD£”ëëªeÜ┬Ȕ The object itselfÁ<æ”ëëèfü‚•7žðð²é ‡•þ䌧•²hñóü”™nüÀ•W±ç üœ–$“è Å–úüÍ–SÏè ¥—úü­—`ºé ä’˜¤ê ³˜úü»˜FC For runtime dynamic casting, use [`DataResponse::dynamic_cast()`].Á$›™²hºéï‚&òòï©Å  ™ÄÅ üÔ™-³ð Ôæ™
ñŒW*,üømü„›RO Convert a [`DataResponse`] to one of the same type with runtime type checking.ÁÛ›úüã›IÝò ±œúü¹œ]¾ó úü£B? For compile-time static casting, use [`DataResponse::cast()`].Ádÿ²hÁíï‚&ôôï©Å ŒžÄÅ ŒÓž
óŒWõö "üòŸžöö²é ÷Ÿþ䌡 ÷¿c ÷ä}÷Û,í ²høÀcøKM¼ üú Dý ÅÆÇ Ųh Æ c cˆ¢cµ
 `£c `àB¤GS
Çç~õ ¡õ
øŒW$‚¡±éùü—¥}üÛ¢>; Cloning a [`DataResponse`] is generally a cheap operation.Áüš£/» Ê£útΣ ‹Ý£úlᣘ‘ üï£%±Œü•¤!غ·¤úü»¤41 let resp1: DataResponse<HelloWorldV1> = todo!();Áô𤓒 <¥Ǻžúú²é œ¥þäŒÆ¥ûØä}ûÛ,ަ²hüÙüAC᥼›¦,ž¦È Ȳh²hù ¤¦ù
üŒW$¥¦¼‰+ºBDª+œB BBBtBxBjBnB|„,\ˆ,®§ùúµíîÑK¤á냛J´÷Õƒµ;Lœñƒˆ±‡9l§Òƒ²Š—
ÖƒŠÑºTƒ¡8´ÐɃŒˆ×ó `ƒ“´ƒŽ“´ƒŽßùŒ¹
ƃÇÜÙƒÇÜ Pƒimpl_data_provider_never_markerÁüõ5¨©°
ôƒtuplevarÁEÞ
øƒvartupleÁEð
ƒ¿/ä

°ƒAsULEÁ-¦4

µƒEqULEÁ-ÝA

¹ƒ
SliceAsULEÁUƒC

ºƒ
5Öd

¿ƒUleErrorÁE›‡

óƒCharULEÁ=‰

²
ƒÞ 

¯ƒMultiFieldsULEÁu

Ì
ƒ
NicheBytesÁU¡

ƒ NichedOptionÁe­

à
ƒ¸¹

á
ƒNichedOptionULEÁ}»

ƒ OptionULEÁMÞ

Óƒ OptionVarULEÁeé

òƒ RawBytesULEÁ]‡

ƒÖº

ƒ¿/ºƒ
 ·ƒ
5Π
 ¸ƒÏÒÀÃ,”µ¸¢¥ŽwzehVÌüGü›/#ü‘$üöc` Trait marker for data structs. All types delivered by the data provider must be associated withÁüÚ&# something implementing this trait.Áúü…WT Data markers normally generated with the [`data_marker`](crate::data_marker) macro.ÁÝúäá Also see [`DataMarker`].Áþúü‚gd Note: [`DynamicDataMarker`]s are quasi-const-generic compile-time objects, and as such are expectedÁüê\Y to be unit structs. As this is not something that can be enforced by the type system, weÁüÇYV currently only have a `'static` bound on them (which is needed by a lot of our code).Á¡ú ‹´úü¸B? Manually implementing [`DynamicDataMarker`] for a custom type:Áûú<ÿǺü‡ !غÌ© íŒà úüÇ 1. #[derive(yoke::Yokeable, zerofrom::ZeroFrom)]Áüù  struct MyDataStruct<'data> {Áüš
!î›
šÂ
úôÆ
 struct MyDataStructMarker;Áå
úüé
30 impl DynamicDataMarker for MyDataStructMarker {Áü 0- type DataStruct = MyDataStruct<'static>;Á šÔ úüØ 52 // We can now use MyDataStruct with DataProvider:ÁÔŽ  let s = MyDataStruct {Áü© 2/ message: Cow::Owned("Hello World".into()),Á ˜œüã C@ let payload = DataPayload::<MyDataStructMarker>::from_owned(s);Áü§
52 assert_eq!(payload.get().message, "Hello World");Á
Ǻå
úüé
'$ [`data_struct`]: crate::data_structÁŒ›´ûü‘ɼû´û%¾É
´û1¾É
*“Íì¼ûü²&ÙþÉ
¤ÃöÉ
'”Ê
ü²%ü¼\Y A type that implements [`Yokeable`]. This should typically be the `'static` version of aÁ
data struct.ÁT·ÇüÆ'üÜ?< A [`DynamicDataMarker`] with a [`DataMarkerInfo`] attached.Áœúü [X Structs implementing this trait are normally generated with the [`data_struct!`] macro.Áüúü€`] Implementing this trait enables this marker to be used with the main [`DataProvider`] trait.Áüá`] Most markers should be associated with a specific marker and should therefore implement thisÁ trait.ÁÍúüÑTQ [`BufferMarker`] is an example of a marker that does _not_ implement this trait.Á¦úüª^[ Note: `DataMarker`s are quasi-const-generic compile-time objects, and as such are expectedÁü‰\׿
üæY½À
ÀúüÄ(% [`data_struct!`]: crate::data_structÁüí)½Åü—.+ [`BufferMarker`]: crate::buf::BufferMarkerÁ´ûüÆŽÕ•ŒÜ´û"Õ•´û.Õ•*–Ô·üô>; The single [`DataMarkerInfo`] associated with this marker.Á$½¾lüˆ+üÖ1. Extension trait for methods on [`DataMarker`]ÁlÄ•¼ûÄ•(¯Ô
Ä•4¯Ô
š˜š˜šüöcüº74 Binds a [`DataMarker`] to a provider supporting it.Á$ù¬[ÉÉ¡8ÌÏ8PÍÜ8Pù¼¸AŸZz¼û¬[¡ÃŽ þT¬[¼û”Æ
˜¼û¬[ÈøD+-ü·8üÞTQ Constructs a [`DataLocale`] using fallback preferences from this [`DataMarker`].Á\ºÕú€˜
š¼ûà?4Æüó/žœœ²éÂéŒWŸ˜šŸ øü©c¬[ñZ¡žžÃŽ ±ÛŽ”ù
ŒW¬[Èø!üÌ7Õú€˜
ŸŒWà?Rýüç&Oª¡¡‡ˆ ì&¢Ù¶i¢d©'„i£+-¢'|½'TÂ'  ¶iüÕ'Hª¥¥‡ˆ Ú'¦Ù¶i¦d(„i§+-‰(Ô¤($ª(¤¤¾lü«0.üç):7 Implements `DataProvider<NeverMarker<Y>>` on a struct.Á¢*úü¦*.+ For more information, see [`NeverMarker`].ÁÕ*útÙ* ‹è*ú<ì*Ǻüô* ‡Œü•+%±Œü»+*' use icu_provider::marker::NeverMarker;Áüæ+!غˆ,ú´Œ, struct MyProvider;Á£,úü§,GD icu_provider::marker::impl_data_provider_never_marker!(MyProvider);Áï,úüó,HE let result = DataProvider::<NeverMarker<HelloWorld<'static>>>::load(Á¤¼- &MyProvider,Á¬Ñ- DataRequest {Áüç-KH id: DataIdentifierBorrowed::for_locale(&langid!("und").into()),Áü³. ùêTÔ.³”4ß.Æ”æ.ú¬ê. assert!(matches!(Á|€/ result,Á¼/ Err(DataError {Áü¨/0- kind: DataErrorKind::MarkerNotFound,ÁtÙ/ ..ÁTè/¢ë<ó/ ));Á<û/Ǻ4‰0(|0jW Ú0 ·5 à0 é0, á08´â0& ä08õ
$å0*ë0 î0 ´5)8$ø0 ü08ª ý0 þ0, €18,1'†18dˆ1 ”1, •18,1'18Ú41'£18ÐC\¥1 °18ª ±1²18
µ1, ¹18´º18$,Å18
×1 Ú1:ÁÛ1 Ý18ª ß1& à1, â18,ã1'è18¥ <ê1'ñ18Õ$ó1'÷18ÇÜDù1 2:Á2 „2$ …2 2 ®58 28¬$ 2 ¤2 ó2
 ¶28$·2$ »28÷ªÍ2& Ð2, Ò28,Ó2'Ø28º<\Ú2$ å2(õ28Í4ø2 þ2, ÿ28,€3'…38ª*d‡3 “3, ”38,•3'š38Ú4œ3'¢38ÐC\¤3 ¯38ª °3±3$ ³3, µ38,¶3'»38µ;L½3 Æ3 Ô3 ¤58æ3 é3 5 , ê38,ë3'ð38‡9lò3'ÿ38ó9t4 48D4 ˜4 •5 ®4, ¯48,°4'µ48Ú4·4'½48ÐC\¿4 Ê48ª Ë4 Ì48Î4, Ñ48,Ò4'×48å,TÙ4 ã4'ä48÷,$æ4$ ê48÷ª€5$ ƒ5% µ5üÐ5!O¬ï8ëi«¬äÍ9ü‹9=: Magic bytes to locate [`DataMarkerIdHash`]es in binaries.Á\×9ªªŸèü§:&üú9(% Gets the hash value as a byte array.ÁD´:ëiªª
¬ï Ë:üþB'L‡CƒÉ Éž} ˜C“ëüáü±H6dºHƒå²§$ËHŸÅÀ#ŒòH4øHƒŒ‘I4—IƒüÍQëi³´µ

·
¸µ´DóQøQ²²ëiü–R"d™Rëiëi
²²
´E&üàR/tãR¶ð
ëi²²
µ©ÍŸ&üÓS&ëiü„W¥k¸·ß¸ü¸W"»WÊË Ê¥k Ë¥k· ¾W·
¸$¿W¹
Ö)̆X¥kº»ºü´X2·XÌÍ Ì¥k Í¥k…‘¹ »X¹
º$¼X¹
ª*ü•Y ¥k¼ïß¼üÊYB\ÍYÎÏ Î¥k Ï¥kí’» ÙY»
¼$ÚY¹
t+ü¶Z&¥k¾e¾üñZ4$ôZÐÑ Ð¥k ÑáØµ½¿¿ [½ÍìáØ ùZ¢eáØ”üZ
¾áØ$[º6,,.ŒÏ[¥kÁÂüÉ]Q4í[LÖ]ˡֿٿڿ«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¥kË¡ÀÀ
ÁÐ ¾:üŠg-üƒd;8 Gets a platform-independent hash of a [`DataMarkerId`].ÁÃdúüËd74 The hash is 4 bytes and allows for fast comparison.Á‡eúle
# ExampleÁ¡eú<©eǺüµe!غÛeúüãe41 icu_provider::data_marker!(FooV1, &'static str);Áœfúü¤fGD assert_eq!(FooV1::INFO.id.hashed().to_bytes(), [198, 217, 86, 48]);Á<ðfǺ4—g¥këiÀÀ
“>ü¬s"¾lÄïßÄüÕsB\ØsÒÓ Ò¾l Ó¾lí’à äsÃ
Ä$ås¹
,ësÜÁt¾lÆ»Æüãt2ætÔÕ Ô¾l Õ¾l…‘Å êtÅ
Æ$ët¹
,ñtüÀu(¾lÈeÈüïu4$òuÖ× Ö¾l ×áØµÇÉÉ ŽvÇÕõ
÷uæõ
”úu
ÈáØ$vºdD$&œËv¾lËÌÍü†w.äåv See [`Default::default`]Á<“w¥k¾lÊÊÝ€Õ<MEüª‚@ü„zVS Returns [`Ok`] if this data marker matches the argument, or the appropriate error.ÁßzúüçzSP Convenience method for data providers that support a single [`DataMarkerInfo`].Á¿{útÇ{ ‹Ú{ú<â{Ǻüî{%±Œü˜|!غ¾|úüÆ| icu_provider::data_marker!(Á„ê|
DummyV1,Áüÿ|74 <HelloWorldV1 as DynamicDataMarker>::DataStructÁ4»}Æ”Æ}ú¬Î}ñà
üè}<9 HelloWorldV1::INFO.match_marker(HelloWorldV1::INFO),Át©~ Ok(())Á<¼~¥â
¬È~ñà
üâ~74 HelloWorldV1::INFO.match_marker(DummyV1::INFO),Á¼ž§á
üº0Èá
â
T‚€¢ë<‘€¥â
úü¥€/, // The error context contains the argument:Á|Ù€™ŽÔí€ HelloWorldV1::INFOÁüŒ(% .match_marker(DummyV1::INFO)Á̹ .unwrap_err()Á¤× .marker,Áôð Some(DummyV1::INFO.id)Á4“‚Æ”<ž‚Ǻd±‚¾l¾lìÊÊ
Ì$¾‚Ú4Ä‚üÆ„Aü…„<9 Constructs a [`DataLocale`] for this [`DataMarkerInfo`].Á\Í„¾lÕú€˜ÊÊú$Ù„à?4ß„ĽŠÔå† Creates a data marker.Á€‡út„‡ ‹“‡ú<—‡ǺüŸ‡63 icu_provider::data_marker!(DummyV1, &'static str);Á<Ö‡ǺÞ‡úüâ‡_\ The identifier needs to end with a `V` followed by one or more digits (the version number).Áˆúüƈgd Invalid identifiers are compile-time errors (as [`data_marker!`](crate::data_marker) uses `const`).Á®‰ú̲‰ ```compile_fail,E0080Áü̉41 icu_provider::data_marker!(Dummy, &'static str);Á<ŠǺ(|‰Š{W ÖŠ ☠܊ Ú‹, ÝŠ ÞŠ ëŠ+ ߊ àŠ êŠ, áŠ8ÓâŠ& åŠ8û$æŠ
ìŠ, îŠ8Ð $ïŠ& óŠ8¼,ôŠ$ ùŠ, ûŠ üŠ Œ‹, ýŠ8,þŠ& ƒ‹8«<„‹$ ‹‹- , 84& –‹8´—‹, š‹ ›‹ Ò‹
$ œ‹, ž‹ Ÿ‹ ­‹+  ‹ ¡‹ ¬‹, ¢‹8û$£‹& §‹8û$¨‹
®‹, °‹8
info_fieldÁT±‹& »‹8¼,¼‹ ‹, Ä‹8info_valÁDÅ‹& Í‹8$΋
Ó‹, Õ‹ Ö‹ Ø‹$ ׋- Ù‹*Ü‹ ß‹ à˜, é‹ ê‹ ò‹+ ë‹ ì‹ ñ‹, í‹8Óî‹
ó‹+ ý‹ þ‹ Œ8
tÿ‹8—Œ84›Œ, ¢Œ8Ð $£Œ% §Œ8$±Œ, ¶Œ8,·Œ'¼Œ8¼,Œ¾Œ8
ÐŒ, ÔŒ8Ð $ÕŒ ÚŒ 8!$èŒ8˜TíŒ øŒ, úŒ84ûŒ% 8$•, š8,' 8å,8
­, ±8Ð  · Ú˜
88÷,& Ï, Ñ8'×8”G è ê Ϙ, ü ý < ```rustÁ\“Ž+ ³Ž ´Ž îŽ8ÓµŽ ¹Ž8¨4»Ž ÁŽ ÂŽ íŽ7let ident = \"Á„ÃŽ$ ÓŽ8ÔLÕŽ ÞŽ ߎ åŽ, àŽ8Ð $áŽ$ æŽ7\";Á,èŽ+   ´8Ó Š8¨   ³7let debug = \"Á„”$ ¤, ¦8$ ¬7³— <™Ž< debug.split('/').map(|s| {Áüî"<9 let mut b = s.to_ascii_lowercase().into_bytes();Áü¥<<* b[0] = b[0].to_ascii_uppercase();Áüö-<& String::from_utf8(b).unwrap()Áü¸‘)<¢ëTö‘< .collect::<Vec<_>>()Áä•’< .join(""),Á”Æ’<
identÁlí’<Æ”4<Ǻ<ª“+ Æ“ Ç“ Ø“8«,È“ Í“ ד8LΓ84î“8 DebugTestÁLõ“% þ“- ‘”+ £” ¤” ¶”8«,¥” ª” µ”8
unused_mutÁT«”8…•8‰•8infoÁ$ ’•8,”• š• °—, œ•8,'¢•8”Gt¤•'²•81<´• »• ¯— 8,Ò•, Ø•8,Ù•'Þ•8Ú4à•'æ•8°Fdè•'ô•8º0Lö• ÿ• ‘–8ÔL€– ‰– Š– , ‹–8Ð $Œ– “– ®— 8«­– ¯– ´–8õ
$°–*¶–8õ
$¹–$ ½–8×– Ú– Ü–8 Û–*Þ–8Á
,á– æ– ç– ›—8¨4è– î– ï– š—7Invalid marker name: Á¼ð–$ ‡—8ÔL‰— ’— “— ™—, ”—8Ð $•—$ œ—% ±—, × Ä— «˜, Ú— Û— ä—+ Ü— Ý— ã—, Þ—8û$ß—
å— û— ™˜8š $ü— €˜, ˜8¸ T‚˜ ˜, ˜8ò D˜% ˜˜
¬˜8š $¾˜% Иüå˜"¾lÐÀcÐüŽ™4‘™ØÙÚ Ø¾l Ù c cˆ¢cµ
 `£c `àB¤GS
Úç~Ï •™Ï
Ð$–™± œ™üÍœU˜ÒÒÍì nTÒœÓÙ nÓ¤ÞœîmÔ-/âœÑÑ n\ž,ŒWŒWžWžW°W°WtÜ,üñ,96 Additional [`DataMarker`](super::DataMarker) helpers.Á4ä,›¶
üß-¨Ú©ƒ-lª.ܰFd¹.ݯD„Ç.ùÞ§HdÙ.µßÐC\ç.íàüË-3t”Œ.bdTVFH8:*,Œþ.l/ã

¿áâ
 ¸á⤌*¼ÊüòA> A trait that associates a [`VarULE`] type with a data struct.Á´úü¸JG Some data structs can be represented compactly as a single [`VarULE`],ÁüƒKH such as `str` or a packed pattern. This trait allows for data providersÁüÏ(% to use optimizations for such types.ÁøúüüSP â— Not all data structs benefit from this optimization. It works best when theÁüÐNK data struct is multiplied across a large number of data marker attributes.ÁŸúü£LI Both [`MaybeAsVarULE`] and [`MaybeEncodeAsVarULE`] should be implementedÁüðYV on all data structs. The [`data_struct!`](crate::data_struct) macro provides an impl.Áãã´ûüʳã´û´û ääÎì¼ûäü×$
¿æ¯ Þ¯ ÷¯ ü×#üè74 The [`VarULE`] type for this data struct, or `[()]`Áü¤.+ if it cannot be represented as [`VarULE`].ÁlÜããÄ‘üŒPM Implements required traits on data structs, such as [`MaybeEncodeAsVarULE`].Á(|ÝÂW ª Ý  ° í ±, ²8genericÁ& º8¼& À, Â8boundÁ& È8¯É Ë, Í8´Î& Ð8õ
, Ö × ë$ Ø, Ú Û é+ Ü Ý è, Þ8& ã8û
ê- ì*ï ò '8 , 8¶± <& , 8è±  , 8,”'8Ð3'ž8È2l 8
®, ²8´³  ç8!8Ý2 × Ù Ü Ú Û% Ý, ñ ò ÿ, ó ô ý+ õ ö ü, ÷8
þ- 8 Ž, 8¶± <& , 8è±  Ÿ, ¡8'§8Ð3©'¬8Ý œ®8
Â, Æ8´Ç Ê 8!8EncodeableStructÁ„Ý í:Ã%î ð ò ô:Ã%õ ø û ù ú8$8& :Ã%% 8 8maybe_as_encodeableÁœœ ¯:Ã%° ² ³ ¼ ´:Ã%µ8$¸(¾8¬ Ç8'Ì8§· „Î Þ:Ã%ßá ä 8©% ˜ ž ¿, Ÿ8´ & ¢8õ
, ¨ © ½$ ª, ¬ ­ »+ ® ¯ º, °8& µ8û
¼- ¾*Á Ä Å8, Ó8'Ù8Ð3Û'Þ8È28
î, ò8´ó ö §8!$„8Ý2l‰   œ š % , ± ² ¿, ³ ´ ½+ µ  ¼, ·8$¸
¾- À8, Ï8'Õ8Ð3×'Ú8Ý œÜ8
ð, ô8´õ ø ¿8!$†8§· „‹ :Ã%œ ž   ¢:Ã%£ ¦ © § ¨8$8& µ:Ã%·% ¹8 Ç8Ÿ œÊ Ý:Ã%Þ à á ê â:Ã%ã8(ì8¬ õ8'ú8§· „ü Œ:Ã%  µ8©% Æ Ì É, Ö8´×& Ù8´Ú$ Ü8varuleÁ& ì, î8ÃÁ & õ8´ö$ ø,  ƒ +   , 8$‡& 8û
8encode_as_varuleÁ„œ& ¬, ®8Ú „¯& ¿8*Ë Î Ú8 Ü:'dataÁ â, ä8'ê8Ð3ì'ï8È28
ÿ, ƒ8´  »8!$•8Ý2 ¨, ª8ÃÁ % ±, Å Æ Ï+ Ç È Î, É8
Ð8 Þ:ÆÃ  ä, æ8'ì8Ð3î'ñ8Ý œó8
, 8´Œ  Ô8!$8§· „¢ ²:Ã%³ µ · ¹:Ã%º, ½8ÃÁ 8$8& Ï:Ã%Ñ% Ó8 á8Ÿ œä ÷:Ã%ø ú û  ü:Ã%ý8$€(8¬4‰ 8$'8§· „– ¦:Ã%§© ¬ Ê8 ¥8bind_lifetimesÁ 8 · ¸ ¹ ¾8± º& »8 ½(À8 Ã8$8 Ë& Ì8
Î Ñ:ÆÃ  ×8Ù Û æ Ü:ÆÃ , ã8´ä(è ë:ÆÃ , ò8ÃÁ  ú þ8± ü8Û$  ¼8úÈ t• £ µ, ¤8Ú „¥  »8% ÛüØ&0¥çŸèçèû¢ Ý&Ÿtà&ønêä æ&'l”'ææ
µÔµ)ˆoìä”Ö)lÛ)ëëÎ üæ+IÁî§ïïîÎìÜo ï+
¿Üo4ò+’oðäë+#%”¶,l»,ííÜo\/ü£/IF Traits that data provider implementations can use to optimize storageÁüñ/.+ by using [`VarULE`](zerovec::ule::VarULE).Á¤0úü¬0&# See [`MaybeAsVarULE`] for details.Á™/È2lö0ãòüà0#|¥2üÞ1FC Core selection of APIs and structures for the ICU4X data provider.Á<­2Þ6Wq°õÞ6Wq±õ©‰o>ö¸1ŸoÎøò2¸oåùƒ-ÑoúÜïA…qÕûïA…qÖû¡?³q®ü£ìopýµ;Êqñþ±‡9åqÒÿ²Š—p
ÖѺå,&pÖý@rÇÒ”Gr§ƒ×ÉApáÉApâwpTº<6rÓö=QršÔª*‘p눜BlrÙìp[м,Ái؈ÆpbŒŠÒàpi½úpªŽ³Šq
Õ+qÃAqTÄ3WqWq‰o‰o,4ŸoŸo¸o¸o¬½4ÑoäÔ4…qüú4³qìoìoÊqÊqåqåqpp&p&prrrrApApwpwp6r6rQrQrpplrlr¬p¬pøjüjÆpÆpàpàpúpúpqq+q+qAqAq„µ:üË) & Options to define fallback behaviour.Áõ úüùS P These options are consumed by the `LocaleFallbacker` in the `icu_locales` crateÁüÍc ` (or the `icu::locales` module), but are defined here because they are used by `DataMarkerInfo`.Á4 :D½:ëÕÜ…
éo”ôß
ü§
3 0 Const-friendly version of [`Default::default`].Á<ì
éo²¢ü  ' éo´¤Î éo
̹! ™q˜ôˆ" üÙ!* ' Const version of [`Default::default`].Á<•" ™qÒŠü„#% ™qš´š¤°# <³# ™q
š\ˆ?»¡œ‡>¬†>„©>»¤Œ»>úŒ
”Ò>¤Ñ>ü¨>?ü¤>Düý=müô=x4ó>?ô,@œÕ$Í@œžš $ü@œŸ,«Aœ traceÁ,ÛAœ¡ü®?(|š?ÒW Î? ò? Ø? å?, Ù? Ú? â?, Û?8¿ Ü?& Ý?8$Þ?$ ã?
ä?*ç? ê? ë?% ì?Ì€@ô̰@æÌß@×ÌŽAÉ̾A¶ô³üá@= Regular baked data: a trie for lookups and a slice of valuesÁž££²é ÃÂéÔVš
aŒG¿E¤¥')ü­($­¢¢ôçüÛ ¢¢®ë£=£=-ž§§²é¿cŒWÃÂ響cä}£=ÔV¨Àc¨ÅÇ£=£=ÛÜÝ ÛÔV Ü c cˆ¢cµ
 `£c `àB¤GS
Ýç~¦«¦
¨ŒW£=±£=ü‹!ü¹@æà <–žªª²é žÂé®W»u”D9ž«¬')üˆ(©©ôçü¶)©©´ð'E'E.ž®®²éÜã žÂé˜òã 'E®W¯Àc¯·¹'E'EÞßà Þ®W ß c cˆ¢cµ
 `£c `àB¤GS
àç~­ƒ­
¯ŒW'E±'E¼Øü÷JG [`DynamicDataMarker`] for raw buffers. Returned by [`BufferProvider`].ÁÂúüÆFC The data is expected to be deserialized before it can be used; seeÁü'$ [`DataPayload::into_deserialized`].Á9ŒµÎXÊ]~ù‡‹±)°°ÎX(P(P/ÎX³Àc³(P(Páâã áÎX â c cˆ¢cµ
 `£c `àB¤GS
ãç~²Ð²
³(P±(P¬ÙüŠ85 An enum expressing all Serde formats known to ICU4X.Á9ŒÇ‘Yt^@ždÖµ·¸¹º¸ºüõVS Serialize using JavaScript Object Notation (JSON), using the [`serde_json`] crate.Áf´´‘Yy{´´‘YD”üÚ52 Serialize using the [`bincode`] crate, version 1.ÁE´´‘YXZ´´‘YLÝü¢63 Serialize using the [`postcard`] crate, version 1.ÁF´´‘YY[´´‘YÑPÑP0‘Y¼Àc¼ÑPÑPäåæ ä‘Y å c cˆ¢cµ
 `£c `àB¤GS
æç~»Ì»
¼ÑP±ÑPèQèQ1YèQèQ1‘Y¿·ß¿èQèQçè ç‘Y è‘Y¾Ó¾
¿èQ¹
èQÇRÇR2‘YÁÁÇRÇRÇRé é‘YµÀÞÀ
ÁÇRÿRÿR3‘YÛeÃÿRÿRêë ê‘Y ë®§µÂùÄÄâÂÍì®§ÿR¢e®§ÿR
î§ÿRºÿRÿRÿR è4‘YÑSÑSÑS5YÑSÑS5‘YÈÙÈÑSÑSì ì‘Y‘YÇîÇ
ÈÑSü^'ü¨]96 A [`DataProvider`] associated with a specific marker.Áâ]úüæ]%" Implements [`BoundDataProvider`].Á´¨^žÊ¡ËÊË²é ¿^ÃŽ Â^ñZù¼¸AŸZzÌÍ'),.DË^,Ë^PÉɬ[¼Ù^<Ù^PÉÉ…µ—Y—Y6žÏ¡ÐÏвéªÃލÜã ¿^¿c¬[Â^ñZÑÀcÑÙÛÞà—Y—Yíîï íñZ î c cˆ¢cµ
 `£c `àB¤GS
ïç~Ε^Î
ÑŒW¬[—Y±—Y´Äü³@= A list specifying general categories of data provider error.ÁôúüøNK Errors may be caused either by a malformed request or by the data providerÁüÇ41 not being able to fulfill a well-formed request.Á9Œ²†\¡G¿š3“çNáâãäåæçèêëíîïðâäæèé¾l†\ëìË¡†\îðÝ^Ý^Ý^7†\Ý^Ý^7†\ÕÙÕÝ^Ý^ð ð†\†\ÔÔ
ÕÝ^ Œ8†\U_U_9†\ØØU_U_U_ñ ñ†\µ××
ØU_™_™_:†\™_™_:†\Û·ßÛ™_™_òó ò†\ ó†\ÚÚ
Û™_¹
™_8"¡Œµ;†\ÞÅcÞ.0ôõö ô†\ õ c cˆ¢cµ
 `£c `àB¤GS
öç~ÝÝ
ÞÏ formatterÁÞcc<†\àÀcà‹c‹c÷øù ÷†\ ø c cˆ¢cµ
 `£c `àB¤GS
ùç~ßß
à‹c±‹ctïüá\Y No data for the requested data marker. This is only returned by [`DynamicDataProvider`].Á=lÒÒ†\ÒÒ†\”ü„SP There is data for the data marker, but not for this particular data identifier.Á>cÒÒ†\vxÒÒ†\t²ü¦b_ The request is invalid, such as a request for a singleton marker containing a data identifier.Á?rÒÒ†\ÒÒ†\QüÇ74 The data for two [`DataMarker`]s is not consistent.Á@QÒÒ
èQQ¾l†\ÒÒÜ‹ t“
ÒÒ¾ljQü©
@= An error occured during [`Any`](core::any::Any) downcasting.ÁAjQÒÒ
ëjQjQË¡†\ÒÒ ÒÒË¡ ü¾ 63 An error occured during [`serde`] deserialization.Áù úü 63 Check debug logs for potentially more information.ÁBÒÒ†\¥§ÒÒ†\4õ
üï " An unspecified error occurred.Á
úüž
6Ä CLÒÒ†\_aÒÒ†\¤Óü–63 The error type for ICU4X data provider operations.ÁÍúüÑa^ To create one of these, either start with a [`DataErrorKind`] or use [`DataError::custom()`].Á³ú“ø
ÅúüÉ_\ Create a [`DataErrorKind::IdentifierNotFound`] error and attach a data request for context:Á©ú˜‘ ü»#œÉ üß2/ let marker: DataMarkerInfo = unimplemented!();Áü’,) let req: DataRequest = unimplemented!();Áü¿<9 DataErrorKind::IdentifierNotFound.with_req(marker, req);ÁǺúüˆ  Create a named custom error:Á©úǺüµ#œÉ üÙ2/ DataError::custom("This is an example error");ÁǺ9ŒÁð] º+•òóôõ¼“üî  Broad category of the error.Á$—ññ†\üç ü±1. The data marker of the request, if available.Á4ëññ¡Òü¸%üŽ%" Additional context, if available.Á\¼ññÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙË¡„¦üä=: Whether this error was created in silent mode to not log.Á4ªññgggRð]ggRð]øÙøggú úð]ð]÷3÷
øg 4¤Sð]ggTð]ûûgggû ûð]µúú
ûgjjUð]jjUð]þ·ßþjjüý üð] ýð]ýý
þj¹
jÃjÃjVð]€ÀcÃjÃjþÿ þð] ÿ c cˆ¢cµ
 `£c `àB¤GS
ç~ÿÿ
Ãj±ÃjÔÊü”C@ The request type passed into all data provider implementations.ÁÁó_b´øbz1* ƒáü©"üë/, The data identifier for which to load data.ÁŸúü§XU If locale fallback is enabled, the resulting data may be from a different identifierÁü„  than the one requested here.Á­bü• !üÑ?< Metadata that may affect the behavior of the data provider.ÁD™ ÿ`[Áó_‡´ó_
Áíí\Áó_ŠÀcŠïòííƒ ó_  c cˆ¢cµ
 `£c `àB¤GS
ƒç~ˆˆ
ŠÁí±ísss]ÁŒŒó_åèss]ÁŽŽó_Ùss ó_ó_
Ás^Áó_˜¿‚¿‚_Áó_Àÿ‚¿‚_Áó_–·ßô÷¿‚¿‚ ó_ ó_
Á¿‚¹
¿‚`Á˜˜ó_™˜ ó_µE‰
ÁTƒô® ü» \Y Metadata for data requests. This is currently empty, but it may be extended with optionsÁü˜
<9 for tuning locale fallback, buffer layout, and so forth.Á9Œœ œ¹ ÿ`X!BD{³žœ„¼ üÓ da Silent requests do not log errors. This can be used for exploratory querying, such as fallbacks.Á4À ššüš
!üÒ C@ Whether to allow prefix matches for the data marker attributes.Á¼ž
šš׃׃aÿ`ž´ž׃׃ÿ`
ž=„=„bÿ` Àc =„=„ˆŠ ˆÿ`  c cˆ¢cµ
 `£c `àB¤GS
Šç~Ÿ
Ÿ
 =„±=„³…³…³…cÿ`³…³…cÿ`£Ù£³…³… ÿ`ÿ`¢
¢
£³… Iõ
dÿ`¸†¸†eÿ`¸†¸†eÿ`§·ß§¸†¸†Œ Œÿ` ÿ`¦
¦
§¸†¹
¸†5‡5‡fÿ`©©5‡5‡5‡Ž Žÿ`µ¨K† ¨
©5‡͈͈gÿ`«ïß«͈͈ ÿ` ÿ`í’ª ª
«͈¹
͈£Š£Šhÿ`­»­£Š£Š ÿ` ÿ`…‘¬M– ¬
­£Š¹
£Šü½%üÀ
41 The borrowed version of a [`DataIdentifierCow`].Á9Œ«âWÁ¯¯b +ˆ ‰ëök°±ßü”/üé&# Marker-specific request attributesÁŒ˜®®¿ÔáœÉ The CLDR localeÁ4å®®ä½
Œ
ŒiÁ³³´´´
Œ
Œb²²
´ÁjÁÀc· # b  c cˆ¢cµ
 `£c `àB¤GS
ç~µO‡µ
·Á±þþþkÁ¹¹bþþkÁ»»Ù¼ILþþ bbºº
¼Áþ Q•lÁ¾¾bÉÌMMmÁÀÀbñôMMmÁ·ßÃ%(MM˜ b ˜bÁR›Á
ÃÁM¹
MâânÁÅÅÆÆÉâââ bµÄÄ
ÆÁâüÝ<üæ:?< An additional key to identify data beyond a [`DataLocale`].Á¦;úüª;mj The is a loose wrapper around a string, with semantics defined by each [`DataMarker`](crate::DataMarker).Á¤è<êcI²Ê¨v¤©dÈTÍ=,Í=´ÇÇpêcpêcË·ßËš šêc êcÊV¡<Ê
˹
úúqêcÍÍúúúœ œêcµÌW¬<Ì
Íú–‘–‘rêcϻϖ‘–‘ž êc žêc…‘ÎX°<Î
Ï–‘¹
–‘Y’Y’sêcÑïßÑY’Y’Ÿ  Ÿêc  êcí’ÐYµ<Ð
ÑY¹
Y’î’î’têcÓ›eÓî’î’¡¢ ¡êc ¢®§µÒùÔÔZÁ<Ò°ö î’Àö î’
Ó®§î’ºî’î’î’ô­A¬ô@ Invalid characterÁ9Œ›AôWýdª(Ê„ÑZÖPôWÕÕýdz”z”uýdØÀcØz”z”£¤¥ £ýd ¤ c cˆ¢cµ
 `£c `àB¤GS
¥ç~×[“A×
Øz”±z”ü¹ü¸B? A response object containing metadata about the returned data.Á9Œ§¤ÄªeVíÓ C¬§ÚÛÜô¶üßRO The resolved locale of the returned data, if locale fallbacking was performed.Á4ºÙÙ…Æü±3üÚRO The format of the buffer for buffer-backed data, if known (for example, JSON).ÁlµÙÙ‚ÇÌÉ üêZW An optional checksum. This can be used to ensure consistency across different markers.ÁDÍ ÙÙýÇxªeÞÀcÞ¦§¨ ¦ªe § c cˆ¢cµ
 `£c `àB¤GS
¨ç~Ýb„Ý
ޱϥϥyªeàÙàϥϥ© ©ªeªeßc‹ß
àÏ¥ʧʧzªeʧʧzªeã·ßãʧʧª« ªªe «ªeâd’â
ãʧ¹
ʧרר{ªeå´åררªeää
åLTü¸,;8 The type of the "cart" that is used by [`DataPayload`].Áô,úüø,GD This type is public but the inner cart type is private. To create aÁüÀ-GD [`Yoke`] with this cart, use [`Cart::try_make_yoke`]. Then, convertÁüˆ.DA it to a [`DataPayload`] with [`DataPayload::from_yoked_buffer`].Á$ð.f¨|©ÏûÆ]çèžü›fLT6Öžü›fææ
çL‰/Öææžü|›fêÙê¬ ¬›f›féfÖ.é
êõ©õ©}›fìÀcìõ©õ©­®¯ ­›f ® c cˆ¢cµ
 `£c `àB¤GS
¯ç~ëgÝ.ë
ìõ©±õ©™Tü³41 A [`DynamicDataMarker`] that never returns data.ÁèúüìYV All types that have non-blanket impls of `DataProvider<M>` are expected to explicitlyÁüÆZW implement `DataProvider<NeverMarker<Y>>`, returning [`DataErrorKind::MarkerNotFound`].Áü¡-* See [`impl_data_provider_never_marker!`].ÁÏúüÓKH [`DataErrorKind::MarkerNotFound`]: crate::DataErrorKind::MarkerNotFoundÁüŸ XU [`impl_data_provider_never_marker!`]: crate::marker::impl_data_provider_never_markerÁø ú ‹!ú<!Ǻü—! ‡Œü¸!%±ŒüÞ!*†Ý
ü‰"!غ«"úü¯"Bœò"úüö"HÜÞ
ü¿#,) &buffer_provider.as_deserializing(),Á¬ì#Êß
ü‚$JG id: DataIdentifierBorrowed::for_locale(&langid!("en").into()),ÁüÍ$ ùêTî$³”4ù$Æ”€%ú¬„%ñà
|š%á
¼ª%§á
üÂ%0Èá
tó%â
T&¢ë<&¥â
<•&Ǻ!\Æ&ªï Ò&„igíI”FZ1îð³ü„i™TOƒ³ü„iíí
î¶iiktÕ&ƒíí³üýýªòò‡ˆ ¿c¶iqÒ&„ióÀcóÖØýý°±² °„i ± c cˆ¢cµ
 `£c `àB¤GS
²ç~ñq¦&ñ
ó¶iý±ý r­&ƒªõõ‡ˆ »Š ¶irÒ&„iÑÔÿÿª÷÷‡ˆ ضisÒ&„iøÙø'*ÿÿ³ ³„i„iös³&ö
ø¶iÿéTü—6DA A compact hash of a [`DataMarkerInfo`]. Useful for keys in maps.ÁÜ6úüà6<9 The hash will be stable over time within major releases.Á"„Ó8ëiŸ©¨úûëiéT6ƒëiùù
ú÷÷ƒùù é8ggëiþÀcþgg´µ ´ëi µ c cˆ¢cµ
 `£c `àB¤GS
ç~ýt¦7ý
þg±gÞÞëiÞÞëi·ßÞÞ·¸ ·ëi ¸ëiu­7
Þ¹
ÞSSëiƒƒSSS¹ ¹ëiµv¸7
ƒSˆëi†ïߺ» ºëi »ëií’w¼7
¹
ÖÖëiˆ»ˆÖÖ¼½ ¼ëi ½ëi…‘xÈ7
ˆÖ¹
Ö yÍ7Šëi:::ëi::ëiŒÙŒ::¾ ¾ëiëizÓ7
Œ:
ââŒëi›eââ¿À ¿ëi À®§µŽù{Ú7ްö âÀö â
®§âºâââ\ëi
±\\Á Áž}õ“}à7
ü\\\ƒ\\ƒ\÷ƒ\÷ƒ²¼…VäþS The ID of a data marker.ÁTúüŸT_\ This is generally a [`DataMarkerIdHash`]. If debug assertions or the `export` Cargo featureÁüÿTc` are enabled, this also contains a human-readable string for an improved `Debug` implementation.Á#dV¥k®•ÄJ‚šâ–šœÙV»”­V„ÁVü¬V&ü£V1,ÙVƒË¡lòV$òVƒ€€ ýVá&á&¥kžÀcžá&á&ÂÃÄ Â¥k àc cˆ¢cµ
 `£c `àB¤GS
Äç~ìU
žá&±á& ƒóU¥kd(d(d(¥kd(d(¥k¢Ù¢d(d(Šťk¥k¡ùU¡
¢d(¦ñ(ñ(¥k¥¥ñ(ñ(ñ(Æ Æ¥kµ¤€V¤
¥ñ(FÌÀmüþi=: Used for loading data from a dynamic ICU4X data provider.Á¼júüÀjXU A data marker is tightly coupled with the code that uses it to load data at runtime.Áü™ka^ Executables can be searched for [`DataMarkerInfo`] instances to produce optimized data files.Áüûkfc Therefore, users should not generally create [`DataMarkerInfo`] instances; they should instead useÁüâl%" the ones exported by a component.Á9Œ®m$tËm¾l&öGì y¨©ª«¤ÿmÔàm The ID of this marker.Áƒn§§¥k´õnü™nWT Whether this data marker only has a single payload, not keyed by a data identifier.Ádùn§§´Ùoü‘oC@ Whether this data marker uses checksums for integrity purposes.ÁdÝo§§ü§p)üõo-* The fallback to use for this data marker.Á|«p§§™q †‘m¾lAAA¾lAA¾l¯Ù¯AAÇ Ç¾l¾l®—m®
¯AÙBÙB¾lÙBÙB¾l²·ß²ÙBÙBÈÉ È¾l ɾl±ˆžm±
²ÙB¹
ÙBCC˜¾l´´CCCÊ Ê¾lµ³©m³
´C6Uü(% A marker for the given `DataStruct`.Á%d„œ˜··¹¦ T‘œ¸Ù n¸¤œîm‰#d9u¨9¹‘Œîm6Uoƒ‘Œîmµµ
 nˆŠ¡œ¼³œƒµµ‘ŒõEõE˜»»¹¦ ߨ n‘œ¼Ù n¼îîm½Ù½˜õEõEË ËîmîmºŠÏ›º
½ nõEÖ› š˜¿¿¹¦ ±Š  nP‹‘œÀÙ nÀÁîmåè_b·F·F˜Â¹¦ "ÃÙ nà îmDG¾Á·F·F˜Åʦ µß n n‘œÆÙ nÆîmÇ·ßÇÅÈ?B·F·FÌÍ Ìîm ÍîmČܛÄ
Ç n·F¹
·F0G0Gœ˜Éɹ¦ s nP‘œÊÙ nʃîmË˲µ,/0G0G0GÎ ÎîmµÈç›È
Ë n0G«G«G˜Í͹¦ cše n‘œÎÙ nÎsîmÏ›eÏ¢¥«G«GÏÐ Ïîm еÌùÐÐŽë›ÌÍì«G¢e«G
Ï n«Gº«G«G«G,H,Hž˜ÒÒ¹¦ ˜¿c nP‘œÓÙ nÓ¨îmÔÀcÔ×ÚQT,H,HÑÒÓ Ñîm Ò c cˆ¢cµ
 `£c `àB¤GS
Óç~Ññ›Ñ
Ô n,H±,Hü¥ ü²8 5 Hint for which subtag to prioritize during fallback.Áë úüïS P For example, `"en-US"` might fall back to either `"en"` or `"und-US"` dependingÁŒÃ  on this enum.Á9Œ“ *´® éo¦:¶¥¾SÖרÙÚÛ×ÙÛD× üË: 7 Prioritize the language. This is the default behavior.ÁŠ úü’@ = For example, `"en-US"` should go to `"en"` and then `"und"`.Á* ÕÕéo³µÕÕéo4ç Ôå  Prioritize the script.Á úüŒV S For example, `"en-US"` should go to `"en"` and then `"und-Latn"` and then `"und"`.Á*ÕÕéo¨ªÕÕéo4ú Ôó  Prioritize the region.Á úüšD A For example, `"en-US"` should go to `"und-US"` and then `"und"`.Áã úüëŠ  This should be used for [data that is region-specific](https://github.com/unicode-org/cldr/blob/main/common/supplemental/rgScope.xml).Á*%ÕÕéo9<ÕÕéo-I-IŸéoÝÀcÝ-I-IÔÕÖ Ôéo Õ c cˆ¢cµ
 `£c `àB¤GS
Öç~ÜÞ Ü
Ý-I±-IGJGJ éoGJGJ éoà·ßàGJGJר ×éo Øéoßå ß
àGJ¹
GJKK¡éoââKKKÙ Ùéoµáð á
âKô ¢éoLKLKLK£éoLKLK£éoæÙæLKLKÚ Úéoéoåú å
æLK¥K¥K¤éoèïßè¥K¥KÛÜ Ûéo Üéoí’ç ç
è¥K¹
¥K«L«L¥éoê»ê«L«LÝÞ Ýéo Þéo…‘é é
ê«L¹
«Lü…
 ü† ? < Configuration settings for a particular fallback operation.Á9Œó
™qn"i˜ìü!$ ü«
G D Strategy for choosing which subtags to drop during locale fallback.Á÷
útÿ
 ‹ úüš@ = Retain the language and script subtags until the final step:Áß ú Ǻüó4 1 use icu::locale::fallback::LocaleFallbackConfig;Áü¬6 3 use icu::locale::fallback::LocaleFallbackPriority;Áäç  use icu::locale::locale;Áüˆ& # use icu::locale::LocaleFallbacker;Á³ úü»$ ! // Set up the fallback iterator.Áüä- * let fallbacker = LocaleFallbacker::new();Áü–5 2 let mut config = LocaleFallbackConfig::default();ÁüÐ7 4 config.priority = LocaleFallbackPriority::Language;ÁüŒ* ' let mut fallback_iterator = fallbackerÁÜ»  .for_config(config)ÁüÛ8 5 .fallback_for(locale!("ca-ES-valencia").into());Á˜ úü / , // Run the algorithm and check the results.ÁüÔK H assert_eq!(fallback_iterator.get(), &locale!("ca-ES-valencia").into());Áì¤  fallback_iterator.step();ÁüÆB ? assert_eq!(fallback_iterator.get(), &locale!("ca-ES").into());Áì Ì«
ü¯H E assert_eq!(fallback_iterator.get(), &locale!("ca-valencia").into());Áìü Ì«
üž? < assert_eq!(fallback_iterator.get(), &locale!("ca").into());Áìâ Ì«
ü„@ = assert_eq!(fallback_iterator.get(), &locale!("und").into());Á ǺÕ úüÝ2 / Retain the region subtag until the final step:Á ú Ǻü¨4 Õ¥
üá6 “¦
äœ Ò¦
ü½& ø¦
è úüð$ ´§
ü™- â§
üË5 ™¨
ü…5 2 config.priority = LocaleFallbackPriority::Region;Áü¿* ™©
Üî Ì©
üŽ8 ñ©
Ë úüÓ/ ¿ª
ü‡K øª
ì× Ì«
üùB ó«
ìÀ Ì«
üâL I assert_eq!(fallback_iterator.get(), &locale!("und-ES-valencia").into());Áì³ Ì«
üÕC @ assert_eq!(fallback_iterator.get(), &locale!("und-ES").into());Áì Ì«
ü¿ @ ®
<„! ǺD”! ëëéoöMöM¦™qîÀcîöMöMßàá ß™q à c cˆ¢cµ
 `£c `àB¤GS
áç~íÏ í
îöM±öMOOO§™qOO§™qñÙñOOâ â™q™qð˜Ö ð
ñOßOßO¨™qßOßO¨™qô·ßôßOßOãä ã™q ä™qóÝ ó
ôßO¹
ßOVPVP©™qööVPVPVPå å™qµõšè õ
öVPì ª™qíss[]vs[´–s[çxs[´˜"s[W|s[´å3s[Í~s[´´ s[ÊŽs[©is[\¨s[ þs[Žhs[\ãs[:es[\°s[ Žs['ds[\ús["bs[\ÿ#s[ â$s[as[\&s[©]s[\ƒ5s[ î5s[\s[\ž7s[6Ys[\íOs[Xs[ ÇQs[rWs[\¾Rs[Ws['Ts[\¬cs[ËSs[_Os[ òs[s[êKs[^Gs[Fs[?Es[­s[>@s[ Ès[LÒs[ í=s[ =s[L<s[ §@s[»@s[á;s[:s[Ô7s[7s[6s[s[ ï=s[‰>s[/s[ ö?s[@s[}s[s[©s[ ‡Ms[s[ ôNs[Ks[üås[äÔs[s[Çs[ ‹¡s[¥¡s[s[þ§s[s[ ÌWs[²¥s[ ÉXs[s[ çYs[§¤s[ ž[s[s[ òss[Þ s[ øts[Q s[ œvs[­Œs[ Ÿ™s[L©™s[ms[ms[£=s[wks[}ks['Es[|is[is[(Ps[fs[“fs[ÑPs[fs[fs[}es[ñds[÷ds[ds[Äas[Êas[—Ys[©_s[_s[^s[…^s[²]s[¸]s[{^s[ð\s[ö\s[cs[Ss[€Rs[ðQs[öQs[/Qs[5Qs[Ãjs[Ns[Ns[ís[TMs[nLs[tLs[ÏKs[êHs[ðHs[=„s[VHs[°Gs[¶Gs[+Gs[®Fs[´Fs[1Fs[7Fs[èCs[îCs[s['Cs[ABs[GBs[¢As[ú?s[@s[u?s[ù>s[ÿ>s[{>s[>s[î=s[ô=s[<s[—<s[z”s[é9s[ï9s[s[„9s[ô8s[ú8s[g6s[§5s[­5s[õ©s[$0s[*0s[ýs[9/s[1-s[7-s[gs[,s[£,s[,s[+s[…+s[û*s[+s[?*s[Ÿ)s[¥)s[
)s[6&s[<&s[á&s[%s[å$s[º s[ s[& s[s[¹s[s[
s[s['s[-s[Ês[Ðs[,Hs[âs[ès[-Is[Ms[Ss[¿s[s[s[s[ús[s[âs[ès[öMs[Cs[©s[¯s[s[*Ay•œ½Éß°×ÝæïªÀÊf¸æ¥ FsDataProviderÁQhttps://docs.rs/icu_provider_fs/latest/icu_provider_fs/struct.FsDataProvider.htmlÁBlobDataProviderÁDataProvider::loadÁˆb!DynamicDataProvider<BufferMarker>Ábuf::BufferProviderÁ>º<hello_world::HelloWorldProviderÁyoke::YokeableÁXhttps://docs.rs/icu_provider_adapters/latest/fixed/any_payload/struct.FixedProvider.htmlÁ¸"buf::AsDeserializingBufferProviderÁ¹Å
¥ óÌÅ
ª*HelloWorldProviderÁ·Æ
Vׯ
º<Mhttps://docs.rs/icu_provider_adapters/latest/icu_provider_adapters/index.htmlÁžÇ
ÇÜÂÇ
Ù¼,4buf::AsDeserializingBufferProvider::as_deserializingÁ¼È
¹Å
¸Fª*ƒÉ
·Æ
º<icu_provider_adaptersÁ´É
”GžÇ
ÇÜas_deserializing()Á¢Ê
¼È
¼,#dynutil::impl_dynamic_data_providerÁLª*ëƒÉ
TÕWhttps://docs.rs/icu_provider_blob/latest/icu_provider_blob/struct.BlobDataProvider.htmlÁ•Ë
©:å,”G´É
prelude::BufferProviderÁÆË
¢Ê
Çܼ,]https://docs.rs/icu_provider_source/latest/icu_provider_source/struct.SourceDataProvider.htmlÁîË
Õæ¢Æ
¹Ì
•Ë
©å,ˆ”G§ýÆ
¹Í
ÆË
ÕÇ
ñÍ
îË
Õæ¥ ÌÅ
¢Æ
¹Ì
©å,ˆׯ
ýÆ
¹Í
>ÂÇ
 PÕÇ
ñÍ
 icu_providerÁ¯Ð
¯Ð
è{·Á–è{Á–Á–
è{!/AsDeserializingBufferProvider::as_deserializingÁÉbincodeÁpostcardÁTž
©¼,DataPayload::into_deserializedÁÆË

serde_jsonÁýÐ
Éá¶Ñ
ž
ÂÑ
©•Ò
ÆË
¼,ìÑ
ýÐ
ɶÑ
ÂÑ
ž
©>•Ò
¼,ìÑ
ÆË
0
crate::bufÁ:¹Å
4../../icu_provider_blob/struct.BlobDataProvider.html碮
2../../icu_provider_blob/struct.FsDataProvider.htmlÁForkByMarkerProviderÁA../../icu_provider_adapters/fork/struct.ForkByMarkerProvider.htmlÁ©ICU4XDataProviderÁ9../../icu_capi/provider/ffi/struct.ICU4XDataProvider.htmlÁ;../../icu_provider_adapters/fixed/struct.FixedProvider.htmlÁcrate::DataProviderÁcrate::buf::BufferProviderÁ>6../../icu_provider_blob/struct.StaticDataProvider.htmlÁ¨Ó
ÁÓ
¹Å
…Ô
¢Æ
¼Ô
©ÕÔ
 Õ
¶Õ
øÕ
¸Ö
TóÖ
ÐÖ
¨Ó
ÁÓ
¹Å
¢Æ
…Ô
¼Ô
©ÕÔ
 Õ
¶Õ
øÕ
óÖ
¸Ö
ÐÖ
6$crate::DynamicDataMarker::DataStructÁ ¸Ö
 (crate::bufÁcrate::DynamicDataMarkerÁcrate::DynamicDataProviderÁDataErrorKind::MarkerNotFoundÁ‡9Æ&(crate::DataErrorKind::MarkerNotFound)Á(crateÁˆ¼,(crate::DataErrorKindÁDynamicDataMarker::DataStructÁÒ‘¸Ö
(crate::buf::SerializeMarker)畯
³Ù
ÐÙ
b‡9£Ù
ÆGôÙ
 Ú
ËÚ
ˆäÚ
¬Û
¼,¸Ö
TþÚ
Ò‘LïØ
³Ù
£Ù
‡9ÐÙ
ôÙ
 Ú
ƈËÚ
äÚ
¼,¬Û
þÚ
Ò‘!¬©TDynamicDataProvider::load_dataÁ£«¡8·Æ
ˆbå,”G£p©¬ÀÝ
«Ù¿·Æ
V¡8å,”G§ˆ©¬£ÀÝ
d·Æ
¡8É«ˆå,”G$AnyÁ core::anyÁæ‡9DataError::custom()Áµ;DataError::customÁcore::any::AnyÁ!DataErrorKind::IdentifierNotFoundÁíˆbå,Ÿß
§ß
‡9Ò¿ß
µ;æòß
Üß
í…à
ãå,ˆŸß
§ß
à%µ;ñ‡9æ¿ß
òß
ì%íÜß
…à
ˆå,crate::DataMarkerÁý@å,¡?®Š—ý@DZ
åá
å,¡?±
Š—ý@å,åá
Š—
Ö¡?±
lDataResponse::castÁDataPayload::castÁDataPayload::map_project()ÁDataResponse::dynamic_castÁDataPayload::map_projectÁDataResponse::cast()Á#DataPayload::try_map_project_clonedÁDataPayload::dynamic_cast_mut()ÁDataPayload::get()Áúâ
!DataPayload::map_project_cloned()ÁDataPayload::map_project_clonedÁþÚ
 ‘ã
DataResponse::dynamic_cast()ÁDataPayload::with_mutÁ§ã
ª*%DataPayload::try_map_project_cloned()ÁÆã
݊
úâ
çä
Yoke::map_project()Á„å
¼,DataPayload::cast()Á‘ã
۾
ɧã
DataPayload::try_map_project紾
ßå
ª*Yoke::map_projectÁÖDataPayload::from_yoked_bufferÁçæ
„å
¼,ãDataPayload::dynamic_cast_mutÁDataPayload::with_mut()Ár€æ
Cɹç
Õà ¥æ
Šç
ßå
DataPayload::from_static_refÁÖCart::try_make_yokeÁ†è
ëç
çæ
¼,ã¿è
DataPayload::getÁáè
ñCÉárÕDataPayload::try_map_project()Áà ¹ç
Šç
³é
åã
ÖÌìÙé
†è
ëç
Ãä
ã ¿è
˜ê
áè
ñCærªå
Ðê
Õà ŒþÚ
³é
åã
Ùé
݊
Ãä
ª*ëÆã
çä
‚ä
˜ê
‚ä
ªå
ñåÐê
þÚ
W impl_data_provider_never_marker!Á‡9.crate::marker::impl_data_provider_never_markerÁ
crate::markerÁÙ°FÞ6«Default::defaultÁ´ data_struct!Ácrate::buf::BufferMarkerÁ data_marker!Ácrate::DataErrorKindÁêì
¨Ó
‡9Ò”í
ôÙ
«Ù¿ÐCÇÜ Pcrate::data_structÁåòí
Δ
¼,î
°$crate::DataErrorKind::MarkerNotFoundÁËî
¨Ó
êì
ôÙ
Š—ÐCcrate::data_markerÁθ1¦ï
Çܼ,”Gßï
Ëî
ÒŒî
¨Ó
:¸Ö
TôÙ
á¯DÐC튗°ð
¸1å,¦ï
¼,ÇÜÙ”G¸Ö
ßï
áqµ°F¯DÇí
Š—
ÖÞ6°ð
¸1å,”G§¸Ö
Tqºî
°F‡9”í
¨Çí
¯DùÞ6«å,òí
q³î
ºî
 å,super::DataMarkerÁå,¼ó
å,¼ó
È2Ý ¦ï
åŒî

 ¸È2¦ï
Ý 

¿Œî
È2ãÝ Œî

¦ï
È2zerovec::ule::VarULEÁ ¸ zerovec::uleÁñ

ûô

¿È2šõ

ñÈ2ãûô
šõ


ñ Mhttps://github.com/unicode-org/cldr/blob/main/common/supplemental/rgScope.xmlÁòí
´data that is region-specificÁòí
qµÿõ
qÜö
ÿõ
òí
q³Üö
pT[biªÃLðìŠ  غãàéæ³Œ""“""Û Þ ã ŒMÃMÐLÇLùMÌìÍì“íµßíß>pT[biªÃLðìŠ  غãàéæ³Œ""“""Û Þ ã ŒMÃMÐLÇLùMÌìÍì“íµßíßÃLðìŠ  غãàéæ³Œ""“""Û Þ ã ŒMÃMÐLÇLùMÌìÍì“íµßíßGÃLðìŠ  غãàéæ³Œ""“""Û Þ ã ŒMÃMÐLÇLùMÌìÍì“íµßíßÙT[bip>ªÃLðìŠ  غãàéæ³Œ""“""Û Þ ã ŒMÃMÐLÇLùMÌìÍì“íµßíߪ>pT[biÃLðìŠ  غãàéæ³Œ""“""Û Þ ã ŒMÃMÐLÇLùMÌìÍì“íµßíß³¿cšeé!ÃLðìŠ  غãàéæ³Œ""“""Û Þ ã ŒMÃMÐLÇLùMÌìÍì“íµßíß¿cÙïÃLðìŠ  غãàéæ³Œ""“""Û Þ ã ŒMÃMÐLÇLùMÌìÍì“íµßíßTÙ
°
µ
¹
º
¿
¯
ÃLðìŠ  غãàéæ³Œ""“""Û Þ ã ŒMÃMÐLÇLùMÌìÍì“íµßíßÃLðìŠ  غãàéæ³Œ""“""Û Þ ã ŒMÃMÐLÇLùMÌìÍì“íµßíß
¿ãÃLðìŠ  غãàéæ³Œ""“""Û Þ ã ŒMÃMÐLÇLùMÌìÍì“íµßíßãÃLðìŠ  غãàéæ³Œ""“""Û Þ ã ŒMÃMÐLÇLùMÌìÍì“íµßíßÃLðìŠ  غãàéæ³Œ""“""Û Þ ã ŒMÃMÐLÇLùMÌìÍì“íµßíßDatatrievaluesDataRef BufferMarker Postcard1 Bincode1JsonDataProviderWithMarkerinner_markerCustom Deserialize DowncastInconsistentDataInvalidRequestIdentifierNotFoundMarkerNotFound DataError kindmarker str_context silent DataRequest idmetadataDataRequestMetadataattributes_prefix_matchDataIdentifierBorrowedmarker_attributeslocaleAttributeParseErrorInvalid marker attribute syntaxDataResponseMetadata
buffer_format
checksumCart(internal error: entered unreachable code(&assertion failed: option_out.is_some()&,DataResponse { metadata: À , payload: À }, NeverMarker nevermarDataMarkerIdHashtdmh DataMarkerId debughash[0-9]V ErasedMarker RegionScriptLanguageLocaleFallbackConfigpriority±‚¼‚ǂԂâ‚õ‚…ƒ”ƒŸƒ¼ƒȃÖƒãƒõƒ„„›„°„Ʉބî„ù„†…˜…¥…·…À…Ï…é…‡†¤†¼†Ɇㆉ‡«‡¿‡·Ù‡ˆˆµˆèˆúˆ‰‰ ‰«‰¾‰ʉÕ‰á‰é‰ü‰‰Š–Š¥ŠÀŠ¿UOfA×c•D²«ï§ôlIßó‰'ÇWi#@P³õ–;ýw´ Ö!9³WI0ÒZg3&°Qè* Põ)õÔ¡€±¿UF\±øË?'Þ¸…½$
‚¶ Tc9XUô=Ä#Q»rZ5@…Ün‰9š›tØæˆÝiqz… R` àd—®B²7ë Í=8÷‡@µäI}œå+í$ufd‚‹Ÿ¥mžB…ú®N¢æúrÅ <T K+rÖxA&»ø¥IQçÑâŽB±wÆ¡?ÊT™Ë&„HiŸD»Û=ÖËRVñ=j@u_ìÛÈM[¥‚…Óˆå<-´€« >ÖYûjäoÐmá°€áš%k2¤òñ²*úûLÀ.ëw}
ŒR“¿9]š:‡XógÒýðþ]CÞ¨s]͇î€`%)5Ú$³0SQ¿±I¬î1ÚÄZµßÖ7—«…J
ÝÕ)ý1+ôÑ-"F+zÅŠ’"“P_j#ZôA‰œ,þŠ[%F†>À»±`gÁüy#Ä~ܺ¬ÉOrŽÆ­¯#Rââ‡;: †$™s„dìEÉP4övCQ+¼ÀØÀk“Yý÷•;ÅG,2Ð @}¬y…
Ü1åØû±£„i¥c>éY71QÚJÜo.´þ8`wŽ› ðÕ˜oAü•—Ðø(~ÿÅì"l¸àÉ ½Òüî(j]ع$#<]™ñ‡}”ð”Œ6ü¢Àãüvc†GV
ÞAź±š:¼ÿ膬Žãûr
Á…u§M}ŸäHÀÄ J8 yþoøèˆ1P#òÈ¡§Ü’8|¶BgßC?úAÀŒ(& 0sÞ(Òx ¡[dRá((*ß>nïqƽ(Üüâês’ýTªƒÓì•™Êúª€Mîž`—ó‡ÛežMÖ#á«:þ»B
™n¾Ãxï#‚‡æßÌuŠÌÇÜ‘Rð N.Õûx²| ±ø§åV I:NCk¢‡ÿ¿]4¯¼%‹
»7%|%Û­Í“À„âw‚´Â«H&tUHÐÝñ4ˆ½z± ;DÄ}E»È1ZŠ<*Ò°zC…Š{\üm`©ë
ºó´›
ŽOa/ˆ³42°¥…
ݱƒžÇøå¶Ù0´w§Ž·Ì\ˆBW¨ fn¾xLm»-E+!µ`úÛ¬&yÇgŽ–e9mSŠ NËnµ°TÇ1ƒþÓýש§[§&gÎ>¥
RC©ö^"åÎé jW t“ÿ9y0>üOázïç0se£( i¾ó
X²}§6ïÓà/Oç"#¦^¹~·z ® î䉱2Ø‚©Ø^íÌO>B¤´ôÏ^oõÖgso“þJÅÍT
ðg~—Iï­ýE*|¸G´Rº½¿¯84Ú.7%ØÕ·ŒúÕV¤#¨Äy@!ÑÜw”TUOUUv€ܘ?F 1
úTL#+lr@v'cµž»pSË
'À’­í–>vsh¢ÞÝ”Õ[瓵Qï\Œ¡~kŠtq§)p'Û©ªõîr¹l þh}$Iw£G•DOígòÂ3é¦È‚^/µ¬5ýç–øÎ¤)Æó P9Ýêpm®  ¦ÙŽ
Ž!d÷â€ÙæhýáÕÖÅMåw=Ø Ô÷™½—'Ø’"®BޤóT+IµWÅG5`™VÐ~T#šãŽòdc`gN{!dš¸£©'åQÝä'5˜Ì6ìØåy7‡=@!,µc¿1¿ÃÍݦ}
î}ùÓù*RŸ/î$¾ RÏ8_)<=yŽÏ|†”×ÖÊ–ã”߀:©ÕY‘þìm¥´6QYÓÀ–H{±½œ<© .“unÏ?>‹‡>èLÇ×P„Oé±°°ÇC¼ÍGƒ¢áìs/q–gÄ òBnøge$˜—¼­Lb%â!+}Rñ8­Ýª¹Þß„Yöˆ´“Ñä%ñ^óu$éüêNÍ÷Ê÷WÀ¤ ïØpù•æ¹ò,;©IìÃQåÕ(ÜÌ$ÔGß¡ý
!;¯¸¨9¨£ Ox¶¬8Š*ÛKÀÛ»ZÙ] ˵.è€Q!Ò*ÆOEe£` "C9zCF{Ö‰ö¿zGËP–ˆ¡%“«p´á†Æ•LA26w)J PxóY]_¿槦j‰
ʃ¢.©$Á‚’Šì$X›µ¼ Š×QÂ{#—·Ý¡RÀP§’…%ÒºS¡ÇšÐ¯î啨4TKo¢†gß§ðâ u£”ÎåÍÐ(QkéÜÓâë›Çì`‘ÉS†´oj—Š–^¶©¬,ý£oâhgŽn[À힢å£ßÔdþ¤¦¿=lKU‰a¨¿éZ=ñ &¨ï&ÛÏmðsez£³ÃæÐ%®#gp“Xì¯>‡á2ŸBà‹˜+!t}{yh.#øÓ¬d%[¦®Ñ9åXyýÅÂb“7x~ÒH÷T+ Î/“ÝA’ùf@r gÔ¤pž“R 4®¯ kí\Œ‘ª­°v™-{¾••a¹»¢Df,ç
<˜8guñWüë¤*mÐñ°Œì[}Ͷ„媥‡×dëü.¡JLy§¿ðaKŽb"Ykú{gÃ@ÊtÄÔ&˜–…37Á<Ê6K3ðÛ€ è(Xá58¼lÛ+çºrج&cñHåzi
”à4¸’-f\O9†`)5—ï¶­ý­c&hÁZ.äÌzÓÓ®—vES¨åÔ‚/¿¥÷p¨E_À˜l-³ÈÝ-‰ewçÙräZ½ÖÓú;h!õ±äùçîévb-Z¼Hû^&;ÓNúv“|_”ÈÁí¡ÈV}.«M¦Yñlmô´«àil'ƒÿ£N-оӹ0ùwô‰}"1W7~ý÷{l"šÒ‘Á™ü–S•'rLVFœfWß|…Òe|Éx{_}ptnèKhÄTI¤Xˆ)îÕ5¹æukþ\kd_Ù‚ºl¦š?^è•|–‚Ê[¢5—ÕbÙ³L{Ä5RÕ™,pdFZ;Šg…2pÆ%ë°zÃ%as×Ëò^†ÅHoõúGíí¢œVNÖ°ôWª¾Ždµá?ó™9‡²¨»qPËHrA;ñWýH•TèõÎÚÖ•â4B¼«3M`dÙsø%€NS—~‚;Ìÿ¹ðeðÑ»`“¼µB½à¡ŒºŽa’G“Q²Ö=ð—жÄÇSÎò­2áÕ&”êå t{¼kmÔþLò| >õƒî!E@J‹æ{/ Ÿê
p’‡œIcžŒ‡³Fn'<ºQšëâšö’ãˆã=S —Þþ®i§ð“2˜†2ÎJ|Ìl–üÞ\ðb½Rx‰ü?Ø?¼­ò9óM]’£þ/‰õròBF?]´¬u åql¦’s¸*f ¹ù‡#bÑÞ„Ä'a{i”ÃÍ[!WÎj@¯Ÿ"Dì6Ù=hœûhÛ4ˆûß
^ÙNZËQmˆÚRí³‚ Çâ*=êOSuŠC…] WsØçƆ˜­“aiµÄ1ª¶¥MÉ¿í2óeÐ!é™n¸)(Øûb ›¶KÃáx‚û”6êCÌ ËïŠüö{]-ßJm ÈÁcöÚÜ6qÄðÔDQè€yGÀ‡åzl´O!K+„ÜcšW&owÙ(o'{èÕsÁ4_eäF%7Èòš„·àòM™û_×bé†8DtD æ3ahÀÜ0´‡B›°.=>Ek¡¬žôpRÄrQ_Øì×Ò‹Zø•þø§þ-DjL¿e+†tO‡…Ÿw«³RØ(÷U£+âÄmä!_««ãhoüÂ\xýaq
ï9$I"—âü¹8ž¨êWPLt®Š%㲕šçÁ½$S¦±Ì@VÜŒQÃZa®é xqàL£Mç¬ES¤duÉ04 ¥OSzì¥ßÜVú¨Ø?£â0.Úƒ¿ª^¹ÝãúˆŸ¾%#®íq)ÈXò~’fŸõ;Qù~ w¢žýà Lðͨ»³3jøcDÿ!`«Î‹®#% y!ú­ÏÍ’AŒÈñAž‹‡p´Oß’DÌ£ ݶjm%éÒ‰¯êÕÿ;BMÚ97:f@«i¡ŒñâZØú(u¸0`µØtì'>!ň=9«Z|¼a&=ñ(ûð|«Pš\ŠB¼ª”ÿÂ}†RPùÂIR”@:.èëÀ–Nâ ¹ý'†Î$u~ÐOUˆ§†žØÂ ðFžÍ™FwŸrG«+ »mÛütÔ¡dKHÞ¢š|ŒKºXýT¹²X|kÓ¶PuÀª»÷íF&q ²ò9—üG.ü!ÓžEÊP4_f0:XÖdh\ÑÌ1y;*¾ð¹ì|›NÇÙ-åâìHËë­Y)ŠöØþ*éW‡™ÅÈaí<åjžrùÉÃ:Lç«ÿ<@¼0zÊ{¿5,üº\\ÚB²Ìÿí
PnJ•œ´âAÏâø@Rs% &sÆ_4ÉlAM[<54|ÌmúV± ù
è…±6@êaJm®±3„ˆÐ}/P¸ûm2î ˆÛQ!r(]e³ÛLpU™±E E›ts›Å¨Uû¿Õ©ì„(}#®¾¼€. U£ˆb“ƃXô3Æ6Žw þ1©Vuǧ¦†ŸÉKÞ¡#챩||Ø‘»Gé™Þ‘ûjôŠñŠWXúU«¾ ½´m©cîÓ a}\šeð˜S•%[s3«P›£P?Q2«³-¿¤
WiPñ†eD§8Unêw!«ºœ£Û^áñ6
1×­›äÚ•+ëk
žU½nåÛç !Rt(mž-&>I:Ê‘¡¦8½)?5ç#à`ç–`Ý”¦d˜Ð8[™9+…»Se•C»ÄŒžSϼÝáÉéÏÞö”1 ¾`„ø¢l2?åìö#ûfÓ×x^:ñ7Ì=ìB}¥ŠÒ„›qsäÿPüZgdëQüõ×nuœúbs$.a¤Ñ8í°‹ÇU¯½ˆ5¯®ÇêCC³C&X…XÛXÖ6jíÀ›™ Ò'­áùµ
9VÚ/b/K»ß_Æ?îì±0Ø ºœ€3Ú4{J¡ëù ŒŽƒCûkJæ«R™„§ç<÷…@Òèp¿#oˆ‚n"ŠÍ…Qdí'€5