Files
archy/core/target/debug/deps/libicu_provider-c09eceb372036d81.rlib
T

2823 lines
542 KiB
Plaintext
Raw Normal View History

!<arch>
#1/12 0 0 0 0 8788 `
__.SYMDEFàpMLpMpMïpM;pMŠpMÈpMpMRpMÚpMpMmpMÁpMpMdpM°pMþpMQpM¯pMpMfpMpM pMpMúpMJpMpMÜpM% pMn pM· pM
pMQ
pMˆ
pMÂ
pM pMt pMæ pM pMP pM pMÃ pMû pM?
pM¡
pMÞ
pMpM>pMnpMžpMÎpMpMpMpMupMpMIpMpMÄpMûpM5pMpMápM6pMzpMîpMJpMœpMñpMdpM½pM!pMpMîpMRpM»pM)pMµpM"pMpMùpMfpMápMTpMÎpMJpMÂpMpM{pMøpMrpMópM]__ZN12icu_provider11marker_full12DataMarkerId9from_name17hd1cde7a2090f7714E__ZN12icu_provider11marker_full14DataMarkerInfo11make_locale17h70cef8f3483a2c03E__ZN12icu_provider11marker_full14DataMarkerInfo12match_marker17h5b9c239f8c86962cE__ZN12icu_provider11marker_full14DataMarkerInfo7from_id17hef5862e1f47ac123E__ZN12icu_provider11marker_full16DataMarkerIdHash8to_bytes17hb37b041132fe7ce6E__ZN12icu_provider11marker_full9fxhash_3217h2099399f681e13e3E__ZN12icu_provider3buf12BufferFormat15check_available17h4ef52cfc6cdb0290E__ZN12icu_provider5baked8zerotrie9get_index17h89b443b8bbf9d785E__ZN12icu_provider5error1_83_$LT$impl$u20$core..fmt..Display$u20$for$u20$icu_provider..error..DataErrorKind$GT$3fmt17h75d56125972fce2fE__ZN12icu_provider5error9DataError8with_req17h6793a74ca83888b8E__ZN12icu_provider7request20DataMarkerAttributes12try_from_str17h9b2cac8e8015e4b1E__ZN12icu_provider7request20DataMarkerAttributes13try_from_utf817hcc4f5cf3cfa6193fE__ZN12icu_provider7request20DataMarkerAttributes17from_str_or_panic17hd1ae6a5ba7b76290E__ZN12icu_provider7request20DataMarkerAttributes5empty17h5d45e5dd33fa6f21E__ZN12icu_provider7request20DataMarkerAttributes6as_str17h72fc9a1cf97ed188E__ZN12icu_provider7request20DataMarkerAttributes8validate17h832da45c3a3b2e43E__ZN12icu_provider7request22DataIdentifierBorrowed10for_locale17h0a90cff1c8f50a4dE__ZN12icu_provider7request22DataIdentifierBorrowed21for_marker_attributes17he8fb9540ea11c3c1E__ZN12icu_provider7request22DataIdentifierBorrowed32for_marker_attributes_and_locale17h7283b5b470aa2b36E__ZN12icu_provider8fallback20LocaleFallbackConfig7default17h7ade442cd4b8d4aeE__ZN12icu_provider8fallback22LocaleFallbackPriority7default17h7206233d4af81232E__ZN12icu_provider8response20DataResponseMetadata13with_checksum17hf5dc3b018ac00c79E__ZN12icu_provider8response50DataPayload$LT$icu_provider..buf..BufferMarker$GT$17from_yoked_buffer17hda327bd9dc24b9efE__ZN12icu_provider8response50DataPayload$LT$icu_provider..buf..BufferMarker$GT$18from_static_buffer17ha1054605c8fc55e9E__ZN15icu_locale_core4data10DataLocale19for_each_subtag_str17h4b5c36411b7c94d0E__ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6f0e2c4cf068d7d9E__ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7ca6162b5d0bb8c4E__ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hadfff965e367f217E__ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hae75197f1a714a1aE__ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17he286882efefbe6f2E__ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h09326365d4bf656aE__ZN48_$LT$$u5b$T$u5d$$u20$as$u20$core..fmt..Debug$GT$3fmt17h4d27119ceec3dec0E__ZN4core10intrinsics11rotate_left17hc3a9a4952a217764E__ZN4core10intrinsics14disjoint_bitor17h0b552afc610e28c1E__ZN4core10intrinsics20unchecked_funnel_shl17hfd2d5b8937e5026aE__ZN4core3cmp5impls69_$LT$impl$u20$core..cmp..PartialEq$LT$$RF$B$GT$$u20$for$u20$$RF$A$GT$2eq17h8ed08eb740566b4fE__ZN4core3cmp5impls69_$LT$impl$u20$core..cmp..PartialEq$LT$$RF$B$GT$$u20$for$u20$$RF$A$GT$2eq17ha9ed150d702ca338E__ZN4core3cmp9PartialEq2ne17hc3bc8877374086d6E__ZN4core3fmt2rt8Argument11new_display17h83103d8471161dc3E__ZN4core3fmt2rt8Argument11new_display17h97b2c71509b76556E__ZN4core3fmt2rt8Argument9new_debug17haf98940241a79522E__ZN4core3fmt2rt8Argument9new_debug17hc35c140f46de7723E__ZN4core3fmt8builders11DebugStruct10field_with17h444ec9e4ad1ee9e9E__ZN4core3fmt8builders11DebugStruct10field_with28_$u7b$$u7b$closure$u7d$$u7d$17h41d0a91c369be813E__ZN4core3fmt8builders9DebugList7entries17h4367560d95fca49bE__ZN4core3fmt9Arguments3new17h23e9c9e233ec9064E__ZN4core3fmt9Arguments3new17h3
lib.rmetaÏúíþ ˜I)8I).rmeta__DWARFI)82 ˆ*ˆ* Prust
O'#rustc 1.93.0 (254b59607 2026-01-19)Á³VOÐêùÿ²?ÑL¼§Ì±-a7a40eb546f9e2b0ÁzerotrieÁ¿Ò»ËНzW
¾¶&oŠ®€-50c1fe5d1758a3fcÁ
displaydocÁßn1 nŸûŒÝ“õCùÁ-8a7302fc0e16b6baÁzerofromÁ‚‰£öLPgx}6Qè²-8998c451274698dcÁzerofrom_deriveÁb«íºê3
,³VˆX-03b1dd1f2d87713aÁë&Gf·Ã ¬ëñq:¤»b-bb76018b1173caf6ÁyokeÁ÷dϧ;š„q8EqJþ-811845a015b10826Ástable_deref_traitÁV0bŽp°r†fÜ 6}{~^-109e7c4905ab6911Á yoke_deriveÁbŽÆÚÒ
¨à‹x -5e7d4687001d5481ÁzerovecÁ†…º®ÆåeSÈÐë{±-f21325e801e70a46Ázerovec_deriveÁÎ¥ìóJÏ?æE²ËÖªÜl-f6b5d17a820a0cf7Á writeableÁæib´ãnøi`?«-0240f565982d0564Áicu_locale_coreÁSY¥YÓ q!”Šö(-87733dade6be5503ÁlitemapÁ2¹¯öƒ£ýü¨¾_H½--b94f5ff2c438a28aÁtinystrÁiòµ\ÎÌÕ€fªvLF-6cc38c7a808c90efÁá,€%<ß$á<é$Œß$£ $¤
áŒê 8serdeÁ,½àŒ¥exportÁ4ˆ&<ë%ƒDõ%”ë% hello_worldÁ\²&<&á< &Œ–&serde_borrow_de_utilsÁ¬¯'<ð&à<ú&Œð&NIterableDataProviderÁ¤Ÿ<á<ŒNIterableDynamicDataProviderÁܨD<ŠDá<”DŒŠDNà$¦eà$›eƒ¤§)<û(á<…)Œû(µܽ)á²øáŒÑ²œá<Œƒ²BoxÁßጹ²4áŒê²Õጟ²VarULEÁ4å<¿áŒ¿²DataIdentifierCowÁŒÆ!<§!á<±!Œ§!Ôø àጺÔ< áŒ Ô
SelectedRcÁTÔ<á<—ŒÔë áŒæÔ CartInnerÁL„0<à/á<ê/Œà/ß ZeroMapKVÁL”áŒìßZeroMapÁ<Ÿ&á$" ZeroMap2dÁL¨HáFDMaybeEncodeAsVarULEÁœ‚
ƒ”ã ëÅ
œ 2<é1ƒDó1”é1íAsDeserializingBufferProviderÁìÝ3<±3à<»3Œ±3íý
Œœ9<Ì8á<Ö8ŒÌ8탤¯9áíµÜÅ98á646logÁá;<Ã;loggingÁLÍ;œÃ;¢ý<<Å<á<Ï<ŒÅ<³bakedÁ_ ID_SEPARATORÁ get_indexÁfrom_trie_and_values_uncheckedÁÕÕgetÁ Õfrom_trie_and_refs_uncheckedÁÕÕ˜ DataForVarULEsÁ"Õ"trieÁ"&Õ(Õ(Ý+Õ+˜-  DataStoreÁ3Õ3˜privateÁ6SealedÁbufÁ88:
DataStructÁ8BufferProviderÁ8=8?check_availableÁ constructorsÁAgen_buffer_unstable_docsÁAgen_buffer_data_constructorsÁdynutilÁDUpcastDataPayloadÁEÕEupcastÁD__impl_casting_upcastÁDD__impl_dynamic_data_providerÁDD%__impl_iterable_dynamic_data_providerÁD
data_providerÁNNNN DataProviderÁRÕRÙ NUÕUÛUÙ NDryDataProviderÁYÕYdry_loadÁN\Õ\Û\úNDynamicDataProviderÁ`Õ` load_dataÁNcÕcÛcÃNDynamicDryDataProviderÁgÕg
dry_load_dataÁNjÕjÛjNBoundDataProviderÁnÕn
load_boundÁn bound_markerÁNrÕrÛrÜríNwÕwÛw N{Õ{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ÁÇ 
responseÁÔÔÔÔÔÔÔÔÔÝ
with_checksumÁÔ DataPayloadÁß
ßÕßìÔ
DataPayloadOrÁã
ãÕããìÔDataPayloadInnerÁèÕèYokeÁê
êìè StaticRefÁí
íìÔDataPayloadOrInnerÁðÕð©!ðÚ!ó
óìðInnerÁö
öìÔDataPayloadOrInnerInnerÁùÕù©!ùó!ü
üìùOtherÁÿ
ÿìÔ³ ÔÔ 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Á Á¤  ÃÐ
Å¢ÆË1Èfrom_idÁÈ match_markerÁÈÊ. data_markerÁÍÍϱÏÜϱ
×××××××
varule_traitsÁßß
MaybeAsVarULEÁá
EncodedStructÁß data_structÁßääÍä äü3ßéü3uleÁëâ íííííííííí í
í í í
íííííííííííííííí³Œ>Œ>Œ>Œ>¢_internal_noop_logÁDataÁœÕœœ  Õ ÍDataRefÁ£Õ££
§Õ§Í8 BufferMarkerÁª
8¬Í8 BufferFormatÁ®JsonÁ¯
®Bincode1Á±
® Postcard1Á³
8µÍ88¸Õ8º˜8¼¢½µ8 8
8 ÁÈNDataProviderWithMarkerÁÃÕÃÛÃinnerÁÃ_markerÁNÈÕÈÛÈÍŠ
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ÁŒ
çÍŒŒêÈŒŒíՌ




-
-
5
5
@
T
T
U
X
X
[
[
\
_
_
b
b
c
f
f
i
i
j
m
m
p
p
q
r
u
u
v







 
¡
£
¹
º
º
º
À
Ä
Æ
Æ
Æ
È
É
Ê
Ë
Í






˜

¡
¡
¦
¦
¸
Ï
Ó
à
ö
ö
ö
ú
¬


¸
¸
º
º
¼
¼
Â
Â
Ä
Ä
Æ
Æ
Î
Î
Î
¢
¢
¢
©
©
©
­
­
­



¹
¹
»
½
½
Â
Ë
Ë
Ë
Ï
Ò
Õ
Õ
Ø
Ø
Ø
Ú
Ú
Ú
ò
õ
ø
ø
ú
ú
ú







š
š
š

¡
¡
£
¥
¥
§
§
±
±
±

½
½
À
Å
Å
Ç
É
É
Ë
Ë
Í
Í
Ò
Ò
Ò
Ø
Ø
Ø
Ú
Ý
Ý
ä
æ
æ
æ
í
í
í
ò
ø
ø
ø
û
û
ý







Œ
˜
˜
˜
œ
Ÿ
©
¬
¬
®
·
Á
Á
Å
É
É
Î
Î
Î
×
×
×
Ú
Ú
Ü
à
â
â
ä
ä
è
è
è
ë
î
î
ð
37<ERY`gn¨áà`œœï6žŸÄýxÿÕÈ}Õ7ÖW3ÖWXà`££¦7¥¦$ƒ«“ ÄX7¯X3¯XX7""õ$%êKl+\ÇõX3„YXà`ªª«à7 $¤3_VQÍY<Ûà`®¯°˜8±²©8³´¾8šøè訳b¬âZžZZ£Z»bZþZáZÞZR 8ÛÕY¤[°[`¤[°[g¤[°[n¤[°[à`Ãã9ÆÑ9NÇÞ9NÐÞ³Ò‹C-XÛnÃã9ÆÑ9NÇÞ9NÐÞ³Ò‹C-XÛÄáÌÛÜõ:ÝÞ;ßà¯;áâÊ;ãìäåï;æìçèŒ<éê¤<r¡½ë‘k,Þ€]þ€]£€]¬â€]ž€]€]å`€]à`€]áëë·<ì¯ í
îØ<ïë<·U)šÿ9
Þè^þè^£è^¬âè^žè^è^à`è^å`è^Ïè^¨ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶è^Ö`Äûû¼=ý×=þä+#qþ›PýbÜà`é`áé`Þé`þé`¬âé`žé`é`£é`Äø>ë<?I^u²¶z,à`óaáóaÞóaþóa¬âóažóaóa£óaÉóaóaÃóaĨ¨£@ªÉ@«â@õý*êÜ ½ÒÜà`ŽcáŽcÞŽcþŽc¬âŽcžŽcŽc£Žcå`¨¨£@ªÉ@«â@õý*êÜ ½Ò8¬âÁÁÿA˜²S^Á†Y&žØdØd£ØdÃØdÉØdØd»bØdÄ 8ØdìØdà`Ødà`ÏÏÐñB ¥š½3ú±à`ÓÓžCÔâ@ÕÂCÖ×ChŠãÙÝ(9Þ”f¬â”fž”f”fÄ”fÞààáŸDâìÔ ¬£m³ÖƒÝ­à`ƒgÔƒgà`ßßàß âì 5Üæ"À³ÐXà`ããä‡!çì <Õ¶îônX©!ÞÏgÞ‰hžÏgÏgž‰h‰h£Ïg£‰hÄÏgà`ééÈ+ëä+ìô+*Óß³ŠA‹XÞ•iXà`ççèÒDêì MŒ¬.®HÕªÍþæiÞæiæiæià`óóô±Eõì ÓøÛò¿¸¸¬âÌjžÌjÌj£ÌjÉÌjÌjÃÌjþÌjáÌjÞÌj»bÌj
ÄÌj
ÉÌj
ÍÌjà`²Gã¢< ™ Õ '«þƒláƒlÞƒl£ƒlžƒlƒlÃlɃlƒl»bƒlþ¡¡–H¢×=£´H¤ÈH¥ÜH¢[hŒ#á™mÞ™m¬â™mž™m™m£™mÉ™m™mÙm»b™mà`™mÞ¯¯°©I³ì ˜Á?ŒCÓA8±þÆn¬âÆnžÆnÆn£Æn»bÆnà`ÆnÆnáÖ`Íáà`ÏÐÑ»KÒÓÐKÔÕãK™ž­Ü=Ù¬âèožèoèo£èoþèoáèoÞèoÉèoèoÃèoÄèoà`ååÓLæïL66Ì;á•qÞ•q¬â•qž•q•q£•qþ•qÄ•q œ§£¬ªµ®ÈÃÙÌùëû¯¨ÅÁÑÏ×ÓåàŠßŽãóéëç÷ó͡˯ÖÏç圣&"œ£+":ªžçϯ=·®ÓÌöëŒûŸ¹¨ÃÁÛÓù󪡻¯ØÏì帮ÔÌ÷ëŽû »¨ÄÁÜӞߢãú󵫡¾¯ÙÏí庮ÑÌôëû¢¾¨ÆÁ§ßªãü󞭡¯ÛÏïå¼®ÌÁˆó»Å¡Æ¯¿®ÐÌóëŠûž·¨îçƒó¦¡¸¯ÝÏñåÀ®ÍÌðëû²¨óš§¡ÞÏéåÁ®ÎÌñëûœ´¨ÙÓãàßã÷éðç󨡴¯ßÏêåU
\
c
j
r
{Ã×Ì빨§ë«ê³ÿû¬¨À
ÞÓØßÏå¤ÊÁÿó¹Á¡áϦÈÁó·Ã¡ãÏÂÁƒà¢çó°ó´óäéà`â7¨3<¬â
ž[£p»biþ
*á [ÞMR~Y`gnå`
ϨÄÉ6Ã*ì*Ô
Ä
É
Íá0x1EÁ(ô  øö( §|¾¾ZeroTrieSimpleAsciiÁÀB—áó2Â 
‡|h à`ø¤  §|
 
X2 
> ¡}éî
œaÿóø{!ù¢9 ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ѼѼÒ¼ štÀ.» ÖWÆ Á`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:• §|§|¡}
 Ð|§|¡}£  Ò}±Ø€º]þkv»€¡}lÖ€¡}ó‰~¬©
œXÄüÃÖWÐ|Ò}D¥
œX ½±¯ÖW«Ð|©Ò}§Ð|}Ò}qÈÌ÷Ð|üÈ1
+ݼá-üæ+Ò}
X Õ}Ò}üÈÊâ
™RÕ„X΄Þ„¤xüâ0üÈù 
™RÕ„Ïg
±Xrä¤Ï… ü !Çü¼ ø°ú°û°Ðü°ý°þ°ìHˈXêE>Ïg´§Õ¨¨£@ªÉ@«â@õý*êÜ ½ÒÛ¼ÿø°ú°û°Ðü°ý°þ°ìHˈXêE>Õ„ø°ú°û°Ðü°ý°þ°ìHˈXêE>JÐ|f†…*Ò}öÿ×=Ñ›?Ö‡„ù„1Â…ïÒ}äólÿ
ƒqÕ}0 „ÿÚՄ醅ñ çÒ}» self__valuesÁ$ÍÒ}5Ή©_ref__self__valuesÁ(Û §|øà( §|Ð|'¡}øŽ) §|
 
Õ„, 
8 ¡}‰~§¬œ¡otÈà©ß ×~ê ¯Xôàû§|§|õ¡}ü»€§|Õ¡}Ü  ù‹ê·òGþU`»€¡}Xµ¡}*‰~|¬´ 
£XÏ ü…ʯXÐ|$¿ù‹E¦
£X È ²°¯X¬Ð|ªù‹¨Ð|~ù‹sËÎúLã"Ð|üÙ"1LÙ"‡„*î"¼ò",ü÷#+ ù‹
!XÑ„ Õ„ù‹ üÙ"Êó#
™Rµ‘!X¯‘¿‘¥züó#0üÙ"à4±$
ÖRÕ„hD±$üÙ"Ç$Â…FäË$Ï… üÇ$!î$ üÍ!¡
•†´¸"÷Œ,Ý!ë†ì!¼"®‡ªø°ú°û°Ðü°ý°þ°ìHˈXêE>µ‘?û‡ºÐ|Öè‘ù‹×=›?œÒ‡„ Û‘ ¤’^Â…6\„$ù‹ä„$l$
ƒqÕ„2 ž$$¢$!Tµ‘ú#è‘k ø#ù‹}»Á‰$Þ!ù‹¦§•¡ò‰¬±1
"XÌ1*üÛ/ñ„Y$¢1Ð|$—0 

 VarZeroSliceÁ



 entire_sliceÁ
Ì<oåziÕ}â
ä 
ä 
å Index16Á ¨ò7+±¸h4É0œË$¸14¾1+
"X Å18*7„Y4Ð|3“—¬Ð|“—wUÓL©4Ð|üŸ41LŸ4‡„*´4¼¸4,ü½5+ “—
.XÑ„ æ—“— üŸ4ʹ5
™Røš.Xòš‚›¥zü¹50üŸ4õ÷5
™RøšÕ}

Õ}æ—wÄû5ô› ì÷5üŸ4Ÿ¢6
™RÕ}Ïg
°Xt¼¦6¿œ ä¢6Ä6-ü“3±
•†´þ3 „Y,£3놲3¼Ö3ø°ú°û°Ðü°ý°þ°ìHˈXêE>Õ}ø°ú°û°Ðü°ý°þ°ìHˈXêE>øš²û‡-Ð|I«›“—ÏØ×=Û›?à‡„ž›ç›Ò³œ\Ê5“—äÊ5lÖ5
¢æ—ð—3 ä5„Ö5è5.ÉøšÀ5«›à ¾5“—ò»Á‰$¤3“—ÞŸ¢ò‰(Ð  §|
a-2:Õ­Q×~\ ÍYfàm§|t}þŠ£¡ž(Ì $*2 §|ÐHP§|ck§|9£¡ŸÑ×~Á ZËàÒ§|Ùàéþö£¡ HÓ  ܹ;@FQï£Yï£ahoxî  __self_discrÁž __arg1_discrÁµ½à»Þ¥ï£) â !
¼bµ8=Eæ½\a¥mï£u ‡§ š§Ѥµ½þ¦Ç(îóÂ"Z-ï£5>HŒî
T©[°[,ûXühê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ééÈ+ëä+ìô+*Óß³ŠA‹°[è^üÁ"  ©[ûû¼=ý×=þä+#qþ›Pýb¬îªENreqÁ#
Ÿ©W¬˜
[©[°[,©l ³_ü¾uê³í³î³Òï³ìð³ñ³ò³ìäs{©¶”fè^üæ'ìªûªÑîªΪ!Ÿ’¬ë<¸&ô¸&LÀ&
b©[°[,4Ê&Ò&´À&Ü&fü«%±Þ©ü‹&"ìª,Á%™m4Ð%ûªð%îª&
*Ϊ.f˜®¹<Þ7üÞ7"læ7
i©[°[-4ô7ü7Ôæ7†8müÈ6¾Ѭü¬7'ìª,â6™m4ñ6ûª‘7îª&
*Ϊ.fí¯º<S¼ST—S
p©[°[,¢S|—S¬Suü¸RtÞ©üâR"ìª,ÆRûªÍRîªΪ!OÁ±<òS´òSdúS
q©[°[,túSŽTvü¿SO™mtÙSìª,ÏSîª
5÷²z(·^ §|@í^  §|§\&¡}¸û^ 
§|
Š PhantomDataÁÑ{·Ë…YÚXV 
b ¡}¿Ä‰~ÐÕÅÊžñ¼^Ë ×~ í[à'§|/§|"¡}* §\5§|¡}  Ü´϶'|þв¶¡}Ͷ¡}`‰~±üÿ`E
ÃX§\Ü´ÊazüÒ`xí[$ð`§\,ã`Ñ9 -,a\®a
X 
ÃX§\ Ãa¦z¤í[¡§\Ÿ§\Ü´wÑ9¸ÙTŒdí\¤Œd$—d
Tí\X1œdL—düŒd,¡d
«Y•iè^ééÈ+ëä+ìô+*Óß³ŠA‹ó\
ïXó\”¥dຠ¼¡d¾dü´cŠê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ªºè^üÞc# ³\,ÂcûªÉcê³í³î³Òï³ìð³ñ³ò³ìäs{©¶•iè^ í\³yΪ}ÿê¹Êžºž<„e
X™m‘eüÑd@™mtëd…¼,ád -\X™m(ŠÏ"'-€]9 €]CLVÒ¥ë¾"+5 H   *8
Hë¾X e u}˜¤«ë¾» ÈÖë¾æ ó` ª ë¾ï;§|*ë¾:ï;§|Q]kp
  §|æÂˆp “
ë¾
Ê;™m*ë¾: Ê;™mQ 
]
 kp
  ™mÿÃ ˆ
 ŸÕFLSZamë¾vë¾ë¾ë¾¤¬´¼ÿÃ+ÿÃ4 ÿÃ@½ÅIæÂëæÂô æÂäÅ ë¾ë¾ë¾%ë¾.ë¾7ë¾@ë¾ISî aѤpè¤}__self_0Á÷
__arg1_0Á  ñű…ƾÈàÂÒùÃ@¥
(2ª ,2: §|FK£¡X] eiq §|}£¡ œ`2ª  ï;§|º Â
§|, 8
¡}êï
¨a 
l p2“
Ê;™m3<§|.
: 
¡}ekÏÉy l §|¨®£¡¼Â ËÐÙ§|æì£¡ú  §|$*£¡8> GÚ_el×~yë¾àЧ|š§|¢§|ªÿÚ§|»¡}ª½Å³æÂ5§|Ý¡}EäÅN§|ö§|þþñÅ ñÅ ; £¡F£¡MäÅ¡}ÏÉ]½Å¡}MÏÉm£¡t£¡{£¡(3Š3ò"'-39è^E è^OXb5™õ5—¥&±Ï.7A€6“!2¸6€€]€]',
 €]€]@EMSø6Ô 
ø°ú°û°Ðü°ý°þ°ìHˈXêE>ƒlY ïÑmr
 ïÑïÑ
ˆ   ø6¥% ø°ú°û°Ðü°ý°þ°ìHˈXêE>§|Y
˜Ómr
 ˜Ó˜Ó ˆ
¡­øH6
±Ï±Ï4;B ë¾ë¾Á ïÑÍ£ÕÖ ˜Ó9¸ÕBî œ­ÑwÔÒýÓ{(7¦  §|¸7€ §|€]&¡}ø7Ô  §| ïÑ( ¡}ø7¥%
  §| ˜Ó(  ¡}€7“
 §|%1¡}þ
 a
 âç
´ ¹
Núf×~r±Ï{àƒ§|§|~¡}ë¾§|a¡}i£Õr§|B¡}J¸ÕS§|#¡}+  8úÙAþ뾡}£Õ¡}ê¸Õ¡}»øÙ¡}Œ—ØN$›
ø°ƒl
ø°§|üã
ëêü®¼è^€]ïÑŒ˜Ó}=
$ÈÎ
ø°ƒlÌÒ
ø°§|Ð
ëÌ ãÞÜè^Ø€]Ö€]ªïÑg˜ÓYøŒ„T‰
$„d‰ü„%\–
œAœ–¯ü¶yè^€]™mè^
I‰Þ»³Þ˜ËºÀâ
éç‰Þãá ÈÎö
ýú³Þ7÷õ ¨è^þ€]ü™múè^€]z™mS$
)TŒÈ ‰ÞüÈ +„Ú 
?ÌÚ ù üöƒè^€]$” §|è^contextÁ&Q‰ÞÁýá ÑÂÈè
ïí‰Þëé Ø ÐÖþ
ýá? ò 
 è^ €]§|è^€]§|b2ëá8dŒü!T"‰Þ$ü!d"üü!*ŒŽ"
žÖ`CÄŽ"¬"üÃ!iè^Lè!€]$ß!è^ƒ3‰Þ ØåŒË#TÐ#‰Þ$Ë#dÐ#üË#'DÝ#
 ?4æ#î#¬Ý#ø#üô"„è^L·#€]$„#™m4Š#ûª¢#è^¡%
)Ϊ-b‰Þي縬Í%
Ì$ø%
ø°ƒlŒ—&
ø°§|ü´%š
ë,¾&Ô&üó$áè^$¥%§|\‡%€]¡ïÑ˜ÓØ<#E
ÓÙ
Ì×Ý
ø°ƒlÛ\œ&ö
ø°§| §&ü
ëø Í&
 è^§|€]¥ïјӧ|´Ø<1TL“(€]L·(ƒl|²(
ø°ƒl„Ü(˜Ó\‚)üú'ž
ëž)œü±'íè^$ë'è^$Ê'™m4Ð'€]»ïÑ¡ƒl¹˜ÓŠ8
<g
€]ûƒl
ø°ƒl À(&˜Ó%,+
ë —)BœAè^>è^=™m<€]öïÑ݃lö˜ÓÔÉx
}©Lä*€]\ƒ+ïÑl©+
ø°§|\Ì+üË*—
ëè+üþ)êè^$¼*è^$œ*§|<¢*€]ªïÑ¡˜Óƒ1ëá6aïõ€]óùïÑ÷<®+
ø°§| µ+ 
ë á+65è^2è^1§|0€]ÙïÑјÓȧ|Ó¼këáqÜž.Ìž.
£$Ö`üˆ.2.ýá$ˆ.@ü.-À.žüß,áè^$„-è^$û,§|4£õŸýá$ÿ:‰;¡üÓ9¶è^$Ÿ:è^$‰: <:ëáJ$Ö>à>£ü¬=´è^$ô=è^$Þ=‚÷<ä=ëáEÜÝ?ÌÝ?£õüÅ?4
Ì$@
ø°ƒl$®@
ø°§|ü§?±
ë,È@Þ@¥üô>êè^L“?€]§|¼ïјÓ6£õÝ$øE TòE"( è^€]4 µGè^4»G
ê³ø°ú°û°Ðü°ý°þ°ìHˈXêE>Ö`è^ ÀG$žG
ø°Ö`D›G
ê³’ûè^ ¢G ŽFÒÖ`<—F
ø°Ö`\”F
ê³’ûè^ žFÒG­ü¤E®¤‹F„±Gê³í³î³Òï³ìð³ñ³ò³ìäs{©¶’ûè^äËEˆ`$ÂEüÓF!,‹FÖ`’ûô’ûSè^Þ?3¿Üø@©" 
Åë†ø@• ! 
Åóa8@á
û/ûª;놈óakQ”ÿ ¸ÿ(Aê  §|øA©" §|ë†(¡}øA• ! §|
óa' 
3 ¡}‰~£¨˜joÄÛ ×~æ ûªñàø§|ÿ§|ñ¡}ø 놧|Ó¡}Ú  óaçä‚ïEþS^È‚¡}Vâ‚¡}'‰~z(Bñ"'-ûª:¡‚BKUøD©"ë†ë†*/
 ë†ë†EJRXøD• !óaóa(-
 óaóaAFNRZfD‡HDþ
¡‚¡‚ È‚È‚ä‚¾ä‚ÆOî \fÕ„V¹…÷E‹E‰¥¡‚"+5€F¼ 
ÅøFš
! ï‡8FÞ


˜-óa8{`Kï‡ï‡w(Gç
 §|€G¼  §|%¡}øGš
! §|
& 
2 ¡}މ~Ÿ¤inÀ
š× ×~âä‚êàñ§|ø§|ê¡}ñúÙù§|Ë¡}ÒøÙÚúÙâ5þCNúÙ¡}FøÙ¡}‰~j(Hî

"'óa3ä‚;DN€J¼ !2øJš
!"3:BNJ„ ¡HJû

ä‚ä‚ËÑ×£Dî Q[ £K† ¥ä‚%/€L¼ %*
Ë<AIM Yi  üÕýÕþÕLessÁÿÕ€ÖÖ‚ÖƒÖ„ÖGreaterÁ…ÖiÒ6’<ËöøLš
! &+ê7 <DL” PLŠ ¥o
ø°ú°û°Ðü°ý°þ°ìHˈXêE>Ìhä‚pä‚x´’ÙúÙâúÙëóûúÙúÙ ¾î ËÐ1áêDêG€M¼ %*
Ä:?GK We øMš
!&+Á”7<DM™ §M– ß Ìä‚ä‚%ÌúÙ
úÙúÙ«úÙ³aî nÐRÁ”eÁ”ðøN”/ 
Å Ød ÐNá
Å 
´
´
DataLocaleÁ
µlanguageÁ
scriptÁ
·regionÁ
¸variantÁ
¹ subdivisionÁwô]øú±wš8Nþ

¨N…®/ë†;Ÿ—Ä—êS™—!¾—(O‡ §|øO”/ §|Ÿ—(¡}ÐOá §|
Ä—' 
3 ¡}‰~£¨˜joÄ±Û ×~æÈ‚îàõ§|ü§|î¡}õ Ÿ—§|С}×  Ä—åé›íCþQ\Í›¡}T盡}%‰~x(PŽP“"'-ë†:È‚BKUøR”/Ÿ—Ÿ—*/
 Ÿ—Ÿ—EJRXÐRáÄ—Ä—).
 Ä—Ä—DIQU]i½HR
ȂȂ ͛͛é›Áé›ÉOî \fÛYÀžúÀ¥È‚"+5PVÍ=%*
 <AIVª<ÅHV¡<
Ÿ—Ÿ—§|§|4î AK˜¡µW®<ÇW¬<¥Ÿ—%/PXÍ=%*
Ä:?GX³<ÉX°<ÌŸ—Ÿ—§|§|6î CM©£µPYÍ=%*
Ë<AIY¿<ËPYµ<´’Ÿ—Ÿ—§|§|6î CM餷PZÍ=
¼b‡§. ZÁ<>ZÅ<Í"¥-Ÿ—5ѧ=§|wMZd›¦¡\É?Ú?Äüž?<§|l±?Ÿ—,§? -TÙ@ŒÙ@ä@
á`- è@4ä@ð@Æü–@Z×~\Ã@Ÿ—,@à ¤@§|~þJª¨([“A §|£¡).6[˜AÒM×~X èebài§|pyþ£¡š,ûB ƒC
üŽCÿ \”C ”C<˜C ˜C
$šC
Ýp‡|4,šC žCm~'-üåCŠ ù\~` 
ôC  $òC 
  
 \øC ‡|‡|a   )\á~ 
 
\†D ‡|‡|A  
\”D ‡|‡|0   ‰\~  -_ G V‡|‡|9e ¡ °‡|‡|Z¿  *‡|‡|z: !\Ê~ 
 
º

­D œÌD
ÏÄÈD
ê³¥èe ßD îD
 µŒE ŒE ¡E¢Ey ïD 
¥K
Q 4üD E$ 'Jü Cí ¥Ž
 &-øµŽCÿ ¥öüø™E
4E
ê³¥èe ›E-,6Èü®Bôü÷B«˜ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶¥èeüÍB} ÀBâ¥Æ¥ÁÁ}¥IFC8? ÕÜ07ü¯D@èeÇ=³¥»Â¥œöÌ»²dd»G »G#
*D½G
¹y1T½GM ÆGü§G!

ϤG
Ê' ÇG ÍGÎGÉüÔFzê³í³î³Òï³ìð³ñ³ò³ìäs{©¶Ÿ—èeüúF"§| îF}"}*§|$ö$˜Ô±LTÀL
$t±L
È1A ÊLM 4¨L ‰M ÎMTúMüÛM*

ôÛM
¤s4'PœêL
ÏÄæL
곟—èe ýLüßL „NüÌN- üÕN"
ü×N  |ØN ØN   Ød öN @
 M 
üÉN1
곟—èe ùN ÿN 
€O ÊüÆKºü¤LÜüÊM¶
ã·ü÷K"}TáKüÑL8èeLÛ³}˧|»}»Ÿ—+Ÿ—+Ë»+ +
code_unitsÁtö ¸¬ÌU ßU
$”ÌU
É1Aù`@#
 á`#
¯Uùa¨"#/ àU ,ÄU ÇUÒŸ— ¨V ²V ¸V¹V)¤
ù·¨"#
×`üüU! §| ÂËü…U´üÀUy Ÿ—,°U§| ¤UüçUA$–½–½ ArgumentsÁ˜½templateÁÁ]™½þÁ]¤í¤>ÜIšÐVŸ—+ã·Ð§|ÐTö]Ì
üâW#üäW!„åWåW!§|7Ë» „XWd ŒXXÌüòV›Ÿ—lŠWŸ—±Ë»°ѽ¯§|®8\ûX ‹YŒYÍüÎX>§|$ìXŸ—,âX§|`4 (b„ "§|ðb¶ §|ø°ú°û°Ðü°ý°þ°ìHˈXêE>Æ—k¡}øb±3 #
§| ø°ú°û°Ðü°ý°þ°ìHˈXêE>Zk ¡}ÈbÉ 
 $§|
ø°ú°û°Ðü°ý°þ°ìHˈXêE>j 
v  ¡}
ža«±¢¨39
Ä ÉÜb‰Øô×~ ”f à§|§|¡} °Å"§|¯¡}· ¬ÆÃ§|P¡}X  ¦ÇgâÉpþž¨É¡}ÄÉ¡}$àÉ¡}²˜ÈÄðc¶°Å
ß°Å.6øc±3¬Æ
߬Æ/7ÈcÉ ¦Ç
ߦÇ.6(c
ÓcÚ0”f;ýÈC°Åú¨É¬ÆÑÄÉ٦ǦâÉ®}éÊ@¤Ë
ÞËÙðd¶°Å°Å).
 °Å°ÅDIQWød±3¬Æ¬Æ*/
 ¬Æ¬ÆEJRXÈdÉ  ¦Ç
¦Ç).
 ¦Ç¦Ç D
IQU]idÝHd 
ýÈýÈq¨Éz¨Éƒ%ÄÉ.ÄÉ7âÉÚâÉâhî uÔÍ׺ÎyŸÏðe¶
ŰŸe±3 
ŬÆÈeÉ 
ŦÇ8e
Óß0”f;°Å«¬Æ¦ÇtZ¡ÑÌÅѯèÑHf¡/ ¥(fî.
àfó.ä*ƒg5 ƒg?ˆÓj ˆÓu[e
߈Ә(gõ. %§|Hg¡/ˆÓ!¡}HMÏÉZ_Olgú.æƒ×~ŽÓÓà§|¤¡} åÓ¡åÓ©ÇþÔÞÉÕ¡}ÕÏÉðTË>Ð>
X$Ë>,Ð>*ŒË>Ö>
á` Õ}Â^ Ú>4Ö>â>üü=f×~Œ¯> Ïg,ƒ>à Š> ãÖµãÖ½'þ+X¥ÖçÝÖµTÒ@×@
áX¼h$Ò@,×@¬î@
X¼hãÖ×~àüÒ@2ê@
«YãÖ ¼h×~X¼hÖØäØšrÔê@¤¡A
X¼hˆÙ×~äØüÒ@dt’A
ÕY×~ˆÙX¼hÖÙ䨵kü’A$¼Aüƒ@¹×~Œ¶@ ‰h,Š@à ‘@ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶×~ˆÙZê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ãÖˆÙ‘ÙïŠÚxÛþß
ŸØQþØúýÙý@ AàŒò@Tò@ÝÖ6-"ƒA×~ñ@‘Ù­ãÖ ï@Å×àÇþ°àîÝÖš_ref__fÁ ³Aà„¥AT¥A
á`¼h °A4)µAà×~¤AŠÚöˆÙ ¢AàŽÝþqà/íÞÀÝ<¦EèêëÚ!ììíîó!ïì-ø™ƒÁß}FX^ l E ªFó!Õ„ÌFü°F
èX ÎF$ÓEÚ!ŽŽÚ!yokeableÁƒcartÁƒãɪQÂFVÕ}ððCartableOptionPointerÁòÑ9ó _cartableÁM'tš>X®ˆÓdóE,øE
ßïá$óE<øEüÜE$
èX ÿEü›EÀ
ßXáF˜üùDèü¼EDüŽFA Ïg$ŒE°×,‚E—àü Eº —àLä¼E ïáïáßµ‘íÕ„öRÕÀƒÁ  ã' <«HðóôÚ!õìö÷Ð"øì³5°
ó™X¼ha l¥Hˆ Ð"ùüýó!þìÿ®#ìÒõ’)3º
X¼h K
Ð"ßæ®#¼hLÔK,ÖK
ß¼h
ÔK <ÖK ÔIÐ"ßæó!Õ„ªJ
ü‡J&
ùX¼h
üíIA
ðX¼h  »J$ÚHÚ!ïádüH,I ã$üH<IüãH&
ðX¼h ˆIüµK)
ùX¼h ü›KD
ðX¼h  ìKü HØ
ãX¼hþKüþG€üÁHHü—I¥üÉJ¤‰h$‘HßÚ,‡HÕåü¥HÒ Õåòü±I%ôÁHáäIïá6µ‘Óßæ©ˆÙ5ßæ
¼h Õ„ÿ}ÕžƒÁ#
ãöçm ãTºM¿M¥Ö$ºM,¿M%\ÈMÎM¥Ö,ÈM,ÎM%̺M
 ãÖãÖƒU*ÙM¡üML$«M°×,“M°×,šMÅ×ÑãÖÙÅ×®ãÖ5î 8c¥Ö¥ÖçÜíº
T®O³OŸØ$®O,³O\ºOÀOŸØ,ºO,ÀOÌ­O
 ÎÛü§O ,¨P
S ÎÛA t ÎÛb  €P
ÎÛˆÙ ˆPÎÛˆÙ P
”P4P
 ˆÙˆÙ;2* ÙO ÎÛÒãÖ àO
ÎÛÒãÖ çO  ìO 
4çOÜí 1 ( ¾PüúNĦÄÕOÔûO$˜OßÚ,€OßÚ,‡OÎÛÎÛòÎÛGÎÛ),ÝO4„P,ÖOãÖ
ãÖùÅ×äÅ×ÞˆÙ´ˆÙ  ˆÙºôŠ˜î q a
ìó
ùóŸØŸØóÜñèÜíi¬Ù]|Ù]
ÈÕ}ˆÓ$é])üÙ]8üï] 
ÎÕ}ˆÓOüï]"üµ]g
èXü°]m
ßX£^°ü÷\¬Ïg$¡]Õ}$‰]—àhï៎ŽÚ!‚ზáƒãɪQÂFVÕ}ø°ú°û°Ðü°ý°þ°ìHˈXêE>ˆÓXdataÁ«ÍÜõ{ŒöSü÷_!
èXüò_'
ßXŸ`±ü¥_zÏg$ã_Õ„$Â_—àh®÷7$“`¦
èX —`«
ßX ˜`°±®Ïg«Õ„©—àÕ„®÷ÅçüÓjñ 4ûj —àôÚj öj—àó!Õ„üÑk ìÑk

Õ}Õ} ïk
*üÁk1|ÁkÜõG
 üÁkiüˆl Œö=
üˆl"ü™k 
èX4k—à—à11—àD
\Ól —à
ŒÍl
 ùjÑD#ÁjÑ#
³Uùjê*#&(§|

0$„m  Ú!ïá ›m
 mDm
µÕ}·â×& $m N

\’mÏmü÷hØ Îm  .²<ü‚kÂüíl0¥¡i ÏgdŽi«ÿ œi~Õ„u—àáïáŸ÷@Õ}x —àŸäíl ïáJ«ÿ8ŽÑþƒƒÁôÕ ’üôÜõËŒö¬—ào±þõœÿŒ«ÿ?<·r—à l±r5 ¡só!Õ„»s ¼§sœ§s
ÃÕ} ,$$ärÚ!ïáTíròr
®Õ}·â$ír,òr. örˆ ½sü±r˜ÏsüßqðüÍr*ü…s9
ãÖüûq+°×DîqãÖXÌäcäÍráäèãÖÔµ‘JãÖ)Õ„\PÕ!ƒÁ  ƒiäƒ,<žv—à l˜v5 ÿvó!Õ„žw¼ŠwœŠw ƒ%$Ñv
ø°ãÖì…w
ø°ãÖ ¡w³w¸ü´uÿüãv?ø°ú°û°Ðü°ý°þ°ìHˈXêE>ãÖüÐu=°×,ÆuÌäQÌ´vµ‘(ãÖÕ„:8ƒÁR· ƒ; ü©ˆº 
 4Óˆ —àd͈) ¾‰—àó!Õ„üÔ‰ ìÔ‰’ü ò‰

$$ƒ‰—àÚ!ïá$Œ‰ üĉ1|ĉÜõ
{ 
"üĉiü‹Š Œö A 
ü‹Š" ÖŠ   ü͈\ÊŠ
åÕ}·âŸ'«ÿü͈ï _
tÊŠ
諌üˆÇ
ß«ŒêŠüÂ…¨ éŠ   ¹@üìˆ$ü¢‰
ßßàß âì 5Üæ"À³Ð«Œ|ë…Ïg$Ü…«ÿ â…èêëÚ!ììíîó!ïì-ø™ƒÁß}F«ŒÚŽŽÚ!‚ზáƒãɪQÂFV§Œ·âÔïáªäìˆïážÕ„ïŸ÷vÕ}à«ÿ5}ùþûÕìƒÁAÄ’ü5ÜõÚŒö¹šŒt«ÿÞ üŸ•
<¼•—à l¶•7 ¶–ó!Õ„ ž— 
´—¼ —œ — ƒ(   $é•Ú!ïáÔò•”÷•
êÕ}·âŸ'×&$ò• Š–¬÷•üž—'
 H[Šê³Ñ{·Ë…YÚˆÓAIU
œ œ“ãÖÖ“
7 |   Ä— 䵚¤µš
Å 4Êš
+Ìåš|åš
ȈÓ
Dõš-üåš<üÿš 
ΈÓVüÿš"g
è““ü“•¨
ß““Á›üß’âþ

½4üÒ•:üš–üΖáüš¢ßßàß âì 5Üæ"À³Ð““|°×\‡“œ“ ”“èêëÚ!ììíîó!ïì-ø™ƒÁß}F““±ŽŽÚ!‚ზáƒãɪQÂFV·âü¶•ƒÌäïäÒ•áäUµ‘ÎÂ4Ò–œ“Щ”ãÖ±D‘šŽŽÚ!‚ზáƒãɪQÂFVÝ÷£Õ„YûnþqÕƒÁoutputÁÅ ‚á«
c ƒx€“>Ÿ”öð”]¡•3Õ•œ“üލÌ
4Ĩ —àd¾¨H[ ¯©
—àó!Õ„üÅ© ìÅ©’ü
ã© $$ô¨ —àÚ!ïá$ý¨  €©üµ©1|µ©Üõ { "üµ©iüü© Œö Aüü©" ˪ 
ü¾¨|»ª
ðÕ}·â§Œ«ÿŸ(ü¾¨ï
\”»ªø¸¾¨ 
¡"ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶Óž¼y} 
ü¾¨}üš¨¿
諌k
ß«Œü‹¨Ð
ê³õÓž ઠ¹ͪiê³í³î³Òï³ìð³ñ³ò³ìäs{©¶äߌi•Î/WfìÓž
¤"ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶õÓž¥¡îáªü“¥Î  1
çY ÂIüݨ$ü“©lsøÿ ¢ÔÃ¥Ïg$´¥«ÿ º¥õaÅŽâ—å—æ—}ç—ìè—é—iê—ìºÀe?=c&¥¡(Ÿ}ïáVäݨïáGÕ„˜Ÿ÷Õ}«ÿÞa¥¡jñëþíÕ¯ ƒÁ
Ú
·AÃ’üÜõµŒö¾žO‰Ÿ
š¢«ÿ ü·¸
<ทà lÚ¸H[ ß¹ó!Õ„ Ǻ ݺ¼ÉºœÉº ƒ( $¹Ú!ïáô–¹´›¹
öÕ}·âœ“Ÿ($–¹ ²¹
Ì›¹øº–¹ 
¡"ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶Ř·©
» w{  ü–¹
 }Ř
 ´¹»´¹  iê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ó¡·©5t
¤"ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ —·©¹« Ü«üǺ'
H[Ö“#/¢Ÿ”¯G P íº ø¼Ǻ( 
¡"ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶¶™·©Ú
w{  üǺ(}¶™ !+ 4ö¼ äἤá¼ð”:!½îºi¹«0 "œ¬.
J Ž H[üȼ8|ȼ¡•üؼ'&üȼpü–½ Õ•Eü–½"wüøŽ
è““Y
ß““ü´¸Ÿ
ê³ —·© ؽÙ½üãµö!˜©Ç Wüö¸? JQüùƒü÷¹ÏÖÝah
¢¬Ô¨¶°×\’¶œ“ Ÿ¶ —ñ—VŘüÚ¸öÌääö¸áääâ—å—æ—}ç—ìè—é—iê—ìºÀe?=c&¹«ŘÔò©)¹«'Ř`µ‘Ù¶™4û¹â—å—æ—}ç—ìè—é—iê—ìºÀe?=c&¹«¶™I®½œ“4©”ÏãÖa¹«j¶™ðð™ ¶™ÕÕ„ŸcÐ «þ®ÕcÚ
? {
ƒÁø€š#Ú
 
à  ƒå ©«ì©fœ¬mŸ”ć®`ð”xœ¬n¡•Õ•à¶™4œ“¡4…Æ —àdÿÅ) €Ç—àó!Õ„ô†Ç
諌 £Ç$±Æ—àÚ!ïáäºÆ
諌 ÕÆüóŽ
ß«Œ¶ÇÍü÷Ä¿üšÆ<üäÆ@õ|ÅÏg$‡ÅÅŽüÿÅ°äšÆïáÆÕ„4ÕåƒÁ6ÔÀÌ  õâÌÏü½Ê¥˜¼„Ûʰ×,ÑÊ 2|áß Tóß
ø°Ïg¼œà 
ø°õ|ÏàüÎà, è#üÎà;dûà
ø#•†>tûà. <Äà Éà •†„¨á
ü˜á$|˜á
¯•†
0 ºá /TØá ¤Øá<ãá
…Rõ . Lãá/ ÉmÜT  ±þH['&§|H[
&TŽâ L‚â‡â õ<²â
ê³õè^ ®ã  ÜßâÌßâ
¥«Œ !ÜŒãÌŒã
£$X
 üßâI„ûâýáeC üûâ-üÛâN
ê³õè^Á ͯãêüâÞÍ +<õ
X
iõ
ƒ 
§ÑµüÝßÒü‡à¨üŠáÈü™â/ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶õè^üƒß"Ïg$úÞ•†lø°ú°û°Ðü°ý°þ°ìHˈXêE>õt‹àø°ú°û°Ðü°ý°þ°ìHˈXêE>à¾}ヲ äÅÂ`à¾V¥0à¾Kü äÅПõè^àè^5§|jrzB option_selfÁ¼
option_outÁìóï Û
‰Çï½¾~Š¿
Ϳͱþ•†ÈÁçïÁÇýᨕ†"•†)õ0õ7 $ìò|Žód“ó
ø#õ$Žót“ó/ Tó$†ó õD°ó
ê³ÎÊè^üúò´ÜÚóÌÚóÈÁ܇ô̇ôïÁüÚóI„öóýáX=üöó-üÖóN
ê³ÎÊè^´ôü¿ñõÓüÈòìü¢ó  ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ÎÊè^üéñ'¶€LÛñï½$Ìòø°ú°û°Ðü°ý°þ°ìHˈXêE>ÎÊ'ôÎÊêè^gè^¯§|thisÁÐÍ)D¶€ï½¤ûÉÈÁïÁêýáÑ”Úý„Úý
ÅÕ}üÉý$„Éý¿œ>!óýÚüªýIÏg$ºýÕ}v ³Ï¿œhLËÿ —à|Åÿ) Ñ€—àó!Õ„ü‡%
ùX¼hüÜ€_
ðX¼hü×€e
ãX¼h »$úÿ—àÚ!ïáôˆ€
ðX¼hüƒ€$
ãX¼h ¦€ÍÞü†ÿÇüãÿDüµ€‰h$¶ÿÏg<šÿäãÿïá¼Õå¦Õ„PÕåßæDô+BÕöƒÁüë‚<
ùX¼hüÑ‚W
ðX¼hüÌ‚]
ãX¼h¯ƒßüž‚‰h$½‚¼h,°‚Õåtßæšî A<¶„Õå l°„7= Ð"ßæ1H[R$ë„ ©†àü…„¤$¡„ßÚ,—„°ëÑü—…%ÜÌ„)M <ù‡Õå ló‡7= Ð"ßæ3 ’Š Ð"ßæ®#¼h4™Š
ê³ãÖˆÙ  žŠ ЉÐ"ßæó!Õ„º‰
¼¦‰œ¦‰ ƒ
($¨ˆÚ!ïáT´ˆ¹ˆäƒ$´ˆ,¹ˆt±ˆ
ê³ãÖˆÙ ¾ˆÜ£‰
ê³ãÖˆÙ ˉ°Šáü’‡žüˆ0ü͈üÙ‰F ÎÛü®‡:ßÚD¡‡°ëüçˆ%ôˆáäãÖµ‘ãÖSˆÙäÕ„œ`ÕYƒÁÀ¿ë Ë ƒ©äƒp 4ú‹ Õådô‹)/ ÕåÐ"ßæ7 ÅŽ
ÕåÐ"ßæ®#¼h4ÌŽ
ê³Ïg¼h
 ÑŽ ©ÕåÐ"ßæó!Õ„ôÑ
èXüÅ+
ßX üÂ/
ê³Ïg¼h þ$¨ŒÕåÚ!ïáäÀŒ
èXü´Œ)
ßXü±Œ-
ê³Ïg¼h ÝŒ ⎠Õå ãŽ1ãüµ‹®üŒOüìŒüŒŽF ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶Ïg¼hÌЋ‰h$Ç‹ü†%ôŒïáhÏg8—à[Õ„ ÏgЗàó¼hv%eÕºƒÁP¿ë¯
¤ž„ž
ßX¥H[¥¯1¸æüþ:ããä‡!çì <Õ¶îônX¥$L¬ãžTù‘þ‘
áX¥$ù‘,þ‘|ù‘„’
§YãÖˆÓT$„’Ž’çü˜‘v‚ˆü»‘3 ïãD®‘ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ãÖˆÓòfÖä‰åãlŸš”fdÚÏgœÃš$К
ÍX«Œ44Кüú™g
髌çšïüý˜êééÈ+ëä+ìô+*Óß³ŠA‹«Œ„–™•i$”fßõÁÏgÜ"zçål…Ÿ”fd©ŸÏgÜ©Ÿd¶Ÿ
ÑX«Œ4t¶Ÿà¾©Ÿ

¡"ôÄM$( 4F䩟 }õüàžp
髌 üÝžt
ê³ûçè^ ÖŸ¿ÄŸiê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ó¡è^s
¤"ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ûçè^™ëÚןñüáö u|
ìü‚ž#•iû爔fKâ—å—æ—}ç—ìè—é—iê—ìºÀe?=c&™ëõMôÄÏg£·™ëÀõ,¡Ú
àO û³éßãéµû뼕¢”f¤¢ÏgñÁçª 
B ýÈ Áð¡

é_”f r&h
°× Áÿ¡

é_Ïg
˜ &Ž
´¼´¼K¶¼á_’raÎ$Àl¸ Ï
×( ‡|,ö 

Ì`,
8 >Gùoت. Ioݪ 
Œa Æ¡ñpçª ùoݪ) À¢öüã Ýª±×~Œ–¡ •i,ê à ñ ûÀjýȰ×íýÈ"°×ÞðÞð÷ÞðĪñ1 Ìó=ýÈF°×OŽþþsþè€ðj¼ð5Ùñ «òYl¿¦”f¬¿¦,ͦ
ß”f2<ͦdë¦Ïg¤ë¦,ø¦
ßÏg2<ø¦ü¢¦h
éX§úü€¦•i$“¦ó,‰¦”fÂýÈàÏg°×®*O¡õöâõ»ü•%Ü•
zX§\(Àü£í[ü¾§\providerÁ7ª÷܈\
Ë<ˆX™mœ©üÆcÆ—
Û
ÛLocalePreferencesÁ
Üã–

Ýô–

Þƒ—

ß’—

ࢗ

á ue_regionÁ
ÙÍ€;?aD{â@ ­èX™m´ø(q & ) §|pqÏ&Šê³Ñ{·Ë…YÚ—j:F¡}mrÏÉtq¥&í¨×~³ æi½àħ|Ë¡}½  éúË›üÓñþþ™ü¡}ÏÉpsÏ&éú
ßéú.6s²&ò(s­&æiúûéúk›üs/9ŒýüÓ(ˆdÈ)\É)* ‡|7M
l«)) §| Ú)ü»(¡
 ¼»(
É( Û)üž(¿¥™mtª(ƒl×µþÕ³þÕ=(t 7 +§|8tÞ8‡|".¡}UZÏÉgl\yt¥7ø×~ Ìj¥à¬§|³¡}¥  €³Ü»ÙþæðÚ¡}çÏÉ8uÞ8€€).
 €€DIQu°7ûHu§7
»»ÜÜ6î CMÝ‚¿v´7ýv²7¥»%/8wÞ8€€).
Ë€€DIQwÀ7Pw¶7´’»»ÜÜ8î EOŒ…Á8xÞ8€€).
Ä€@EMxÅ7xÂ7Ì»»ÜÜ8î EO؆½(zÍ7zÒ7"'Ìj3»;DN8{Þ8€
¼b€‡§2 {Ô7B{Ø7"¥-»5ѧ=Ü|N[eÿˆ¦}Ú7$8 H
T`lŽœ¡
ßÌj²º¾
ê³¥
Ê
Ë
InvalidLengthÁ
Ì
; 
Î
ParseErrorÁ
ϺSºCΨ?H[AG
q‡|Y]i rÒÚ7 
±JøÂøÂ ChunksExactÁûÂŽÝ®iüÂÏ
®iýÂ
chunk_sizeÁ®ið÷•qÁN°l‡| õ
 
±
àKœ à ËÏ
Û

H[m }ƒŽ<Þ8ª ¹Ž, Õ
곥ߋH[¥}Ý7ÓÚ7
Θ-Ž?E
ÿp‡|ΘΘæИŒјÏ‰’ûÜžûñ'ƒ
Ÿ¤ ± Â}Úà
Å€óüÖÚ7 
¡"ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶¥ß‹ouy }Ú7 ×Ü7iê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ó¡ß‹s
¤"¦’¿“)39
ÝÌjNS
곥ߋr1ß

Œ 9ç

Œ •Þ

Aÿ
 •I  •I® 
Q» 
!É­ 
 !
ùè ! 
"
Û±áÌ  $
ø°ûÀùŒ]  ùŒ 
ÅU"!­ Q³ Y¿ $`#JÂŒ ËÑ_fæíY` ùþ
Œ ùÝ Ÿ 
%¦’1}9@HPWß‹`hœøœzœ
ø°ú°û°Ðü°ý°þ°ìHˈXêE>}V œbj}ë—™ôãéÖµ}â—å—æ—}ç—ìè—é—iê—ìºÀe?=c&¿“¥s¦’ì¿“õß‹ • •õ •6 •" •û •ï¿éàÛ±ܱݱޱ߱NeÁà±á±MatchÁÞXktW%X{!á 
Ùø°ú°û°Ðü°ý°þ°ìHˈXêE>ûÀC bytesÁ¢ £ 7
chunkÁÁ ªœÎ Ú
?æ H[¥left_valÁ9
 right_valÁ9
¯ ç ")

.
:
F
R
ŽÄj
ŽÜ
Žôš
 ⫬
⫳
µ‹º
ÜŒÁ
O ¾ŽV ÚÖ
õ‘Ý
 ’ᢔèΔò
‘—  Œ:  •°O À\ Öß Œ¥  •8 H- Û
ã é 
˜Ìjþ    ( Q
Y _ 
˜€u |   Ÿ È Ò ŽE
î ý Žp

,
;
G
ÖµP
X
]
ŽÏ
u
Žç
<æ9,Ü%2} ì9üÇ9'©},Þ9ÜxÜ5b"tdmh"Á4Ò:€Þ:ªü¡:=€<À:Ìj$·: -T«J ¸J
ÃJ,ÉJ\ÉJ
 ÏJâ«1,ÏJ ÓJDÞJ éJ
üñJ‰ Œ÷Jd÷J ÷J

4ýJ  . 
?  
 V   K 
{  ‡K$ $—K
ü±Kƒl¿K4ÅK'8 KŒÚKTàK4àK éK= 'cKŒ °ŒùKTÿK4ÿK ˆ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( òL$ ('J(ü‰Kñ ¥ ùL
ÂùLè
ð^ øÂñJ‰* ¥=*CQü€M¬,ŒƒM-dƒM.ƒ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>$þM??\„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 þNL
šdØN“±J¤K–Iº ÿNKJüÑ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 $ôIÌôIdùI
ÞÊ'4†J¯
¤ùIüí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ÌjL¡RÌj$˜R ,LŒS›S³üÒRIÌj$ýRÌjLäR unalignedÁ6(ÞU - §|˜‚ËV .§|§|'¡}häV /§|
µþ( 
4 ¡}˜‰~¤©˜kpÅãU˜Ý ×~è ƒlòàù§|§|ò¡}ùæÂ§|Ò¡}Ù ³þä³þìBþP[æÂ¡}R¹Ï¡}$‰~w(„ëUðUœ$)/ƒl;ûÎCLVôUŸòU ¥ûÎ#,6L×WµþTäWµþ¼×W
 µþµþG8*ôWüªWJ$ÈWûÎ,°WûÎ,·W³þ³þ%î (S®ÒLãXµþ\ñXµþÔãXíX
ĵþE6„íXƒY¸ü¦X]ÌœÅXûÎ,­XûÎ,´X³þ³þ%î (U‚ÔŸ|ŽZ“Z
ăl$ŽZ,—ZT“Z¬‰Z
ø°Ì¤Zºü¼Yh´’ÜãYûÎ,ËYûÎ,ÒYÌî  M®ÕµL¢[µþ¬¢[$¬[
¼bµþË17,±[\¬[½[¼üãZZ¥—[ûÎ,‚[ Ž×,‰[³þ  O„ס$üÃ^oüÇ^0üÇ^|Ç^$Ç^
$DÌ^ß¶/TÌ^ Õ^t×^T×^$×^  
$Ü^
°y 1,Ü^ à^ W
 ä^y 
'Ÿ
K
   )   =V
^tç^
 k„ç^ ö^²_
¥ ±_,¿_TÇ_$Ç_
$Ì_ÂÙ/ ,Ì_ ¬‘_<_0§| T_$_
$ _ÂÙ/, _ ¤_
 ¥_Ô_
곃l§| ¦_ §_>EH[# Ð_tÇ_ Ô_$ '
JKüß_M  üå_'´å_|å_$å_
$Dê_ß¶/ Tê_ ó_,õ_ õ_ ù_= '
cKÍ Ù! ê ! ý
tü_–Û(„ü_B `4`"  `$ "'J"ü` ¥Ã«`í
õ š ¦øÃß_M$ ¥G$M «`üµ`O&ô¸`'´¸`(|¸`)$¸`**
$D½`ß¶*/)T½` Æ`*,È`+ È`,,-, Ì`= -,'c+-K,Í.)Ù/+.ê /.+ý()+'($Ò`V‡|/' Õ`+)(Dð`1ñ`2331§| 23 ö`44H1
24 ÷`42lì`
곃l†Þ1 ø`1 ù`3 ƒa'& îcH[#È+Î)Ô(„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 óa7 ôa9ü‚bæ;$Úb<<üòbk=D„c> Š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=<üÿaê
곃l†Þ; èc;6¤5«²X¹UÀRÇOÎKÕGÜCã?ïc# ¿ü»]´ü»_´üŽaáüÁa®Zê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ƒl†Þüé]#§|$Ò]¥RP ‡|R}Q§|Q§|Öµ-üø^:†Þ §| §|Ž i §|i 

§|
ÖµÖ ¥ ¥G| €õ| }| §|| ? ? ÖµP ­ ´ Öµa
Ð ¥Ø ß ¥¸ ‡|}§|y y ֵРç î ü×`-†Þ§|§|¾}ò€ÝÝ}Ý}å§|߃l'§|%µþ‡|*1‡|ÑÑáè‡|ˆˆ˜Ÿ‡|??OV‡|öö‡|Ÿ‡|**9‡|ÄÄÓÿ
Ë»QmagicÁ6 5¢$ 6ˆH ©}ÉgµþÅgµþÁgµþ½gµþ„óg
‡|üâg"
óŠhÀüüfŽü´gVÌj„™gƒl$g‡|ƒ‡| ‡|½‡|Ú€Š/h1Á¸h2ÁÛh3Áþh4Á!8?µþ>EµþDKµþJQµþPôgøgüg  €h

£
‡| 
h
 ¼
ó ƒh ‰hÜÀÛØ ÌjÖƒlÕ‡|W‡|u‡|‡|±€b‡|‡|‡|ý‡|ñ&úû¯‡üÒ”üõ¡ü(‡ƒmˆm©$)/5™mAÿÃIR\°ˆán"3°ˆÅo"3 ˆëm
ƒl ƒl(-
 ƒlƒl
A F NT øˆ“p) •q
•q).
 •q•q B
GOS[gˆ“m¬ŠmÿÃÿʘ^el2ûÎ;ûÎD •qíé…õ|î Òƒµ„&—m®•m ¥!ÿÃ)2<<švƒlœšv$¢v
¼bƒlŽ×3,§v\¢v³vÆüÛuX¥vÿÃ,úuÜ×,vûÎ L¶‡¾wüßw
ìßw
(ü«w¹
¡,šx,»x ãyêyÉüòvø™m$œwƒl‡wƒl³•q§×=<¸ŠŸœŠê³Ñ{·Ë…YÚ÷n>C
ß¼ŠU]ŠÀ›·»›Æn Æn¼Š˜ ¼Š£6@ñŠÀ¸ŒŸœ¼Š¼Š+0
 ¼Š¼ŠFKSŒÑ›ÁÈ›³‹³‹Å‹Å‹8î EO©ŒÅÕ›ÅÓ›
¥³‹'1¸ŽŸœ¼Š
¼b¼Šµ6 Ž×›HŽÛ›É&¥1³‹9 ÆŽDÅ‹Ubl¼Ž±(Ý›
2 §|¸Ÿœ¼Š#¡}LQÏÉ^cQpâ›Î×~³‹œà£§|ª¡}š Å‹¥Å‹­ÍþÚ䊑¡}ÙÏÉö(Þ  %+33§|â JR4§|em5§|:£¡¡ã ×¹×~Ä èoÎàÕ§|Üãìþù£¡H‘å   î Ú=BHSž“[ž“cjqzî Ѥ褡©ò Ü𠥞“ *(”ú ÿ à$èo/ž“7@JP•   &49
ËMRZ ârw}´’Šž“ž“š¡¨ã§°ã§¸Áî ÎѤÜè¤èðŒ—ú   &49
ÄJOW äotzÌž“ž“ž¥ã§­ã§µ¾î ËѤÙè¤åí‘™÷
Ï
ŽüÈ = èo(—¸  6§|ø—ù$ 
7§|èo(4¡}\a
šarwfk½ è¡×~¬é…´à»§|§|³¡}º ž“Åž“Íìþùòœ¡}ú…œ¿ ˜Ä ë$)•q5é…=FPø™ù$ èoèo).
 èoèoBGOÏ îH™Æ é…é…ž“ž“7î DNÒž¿šÓ ðšÑ  ¥é…&0ü·!! 
ü·! 
Ž)üš!I
å â! é! üñ x •q$! èou„‚

Ìâ%€]0™m7>L
Ìbâo€]z™mˆ 
Ìå%€]0§|7>L
Ìbåo€]z§|ˆüÅ,
ßXà)Ïg4—à<CQ
ßXjàwÏg—àŠü¬(1
ãX¼hä,‰h7Õå?FT
ãX¼hpä}‰hˆÕå$Â)
èXë(—à4ïá<CQ
èXjëw—àƒïáLƒ*
èXî(—à4Õ„<CQ
èXjîw—àƒÕ„$ë*
ðX¼hô+Õå7ïá?FT
ðX¼hpô}Õåïá˜,¬+
ðX¼h÷+Õå7ßæ?FT
ðX¼hp÷}Õåßæ˜Lœ,
ùX¼hý+ßæ7Õ„?FT
ùX¼hpý}ßæÕ„˜,Ã,
ùX¼h+ßæ7¼h>ES
ùX¼ho|ßæˆ¼h|ý.
àá%ƒg0ˆÓ8?M
àcápƒg{ˆÓƒŠ̵&
ç—jè(æi3éú;BP
ç—jièvæiéúÜÂ8
óô%Ìj0€8?M
ócôpÌj{€ƒŠüå›9
¯÷n°*Æn5¼Š=DR
¯÷nk°xÆnƒ¼Š8ADNвÔ×ßë팳Į(
B¯äù4
CŒ¬ý H¬äÔ JÓüü0% L½Œ÷'n£dŠ(R£9´˜(ÃÝ|°(Y¢œÁ(`ˆì´Ú(g·<L÷)믉:l‚*̰Ù|‘*¨±ЖTÃ*
´Ï¸ÿA¤Ï*Áм=\å*ûÑø>œò*Ò‡!lí+ãû‡!äûŸD$,àýß \•,ßþß àþÈ+d¢,éÿžC¤°,Ó¼/ü²0!¦×2\¶ŠÌƒ.T†-Ô–Ht’-¡ÕÚ-Œ¢-Ö‘4\¤
ã½6”•@£@´È¨ÓñBœ¸AÏÓñBÐÓüËò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.Á«Ë´¯ ### 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 BufferProviders:ÁÛËüß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Á8ADNвÔ×ßë팳ghB¯gCŒfH¬eJÓdL½bn£aR£9`ÃÝ_Y¢^`ˆì]g·<\믉:[̰ÙZ¨±ЖY
´Ï¸ÿAXÁм=WûÑø>VÒ‡!Uãû‡!fäûŸDUàýß Tßþß eàþÈ+TéÿžCSÓ¼/R¦×2P̃.NÔ–HM¡ÕÚ-LÖ‘4Kã½6J£@I¨ÓñBHÏÓñBYÐÓ½ÀÃl¢%»Š% % Ÿ%8<Ž% %7ø<˜%̈%üËS P This module contains scaffolding for baked providers, typically generated usingÁ
databake.Á­ Ëü±C @ It can be glob-imported, and includes the icu_provider prelude.Áõ Ëüù3 0 This needs the `"baked"` feature to be enabled.Á,ª%36£@´Õ ¨0öƒ.Tí 1ûÔß \ù ß2þþß à2þþ„® üË-* Data stored as as [`ZeroTrieSimpleAscii`]Á £Ú-Œ’ÖZeroFromÁDÊ
 õã5 ç3láá ìÚ{œ…¾ Ÿ–

Ât¹4<
ð×2\ý4Ì
ò‘4\Š5ã
ó¡.lŸ5
ôÚ½Œõ5n
÷ЖT¢6
´
úϸƒ.T¶6
ûÔß \è6ß
þþß à
þþ£dõ6R
ÿÈ+d­7é
ÿÝ|Ñ7Y
¢œý7`
ˆì´’8g
Ù|ª8¨
ˆ±Š|Œ:

Õ$¿:
ŠÃDç:
à7d«4ª
ïà7«
ïñBœ·5Ï
õñBÐ
õ£@´Ý5¨
ö·<Lˆ6ë
ø¯‰:l“6Ì
ù°ÿA¤Â6Á
üЖHtØ6¡
ýÕ¼=\ƒ7û
Ñø>œ˜7
ÒžC¤»7Ó
ƒÔßüúDA This is a valid separator as `DataLocale` will never produce it.Á¿ËÜà Mostly for internal useÁdé‡|Ä‹
ü©H”ÀûÔ”ÜâìûÒ¬žÇü¶ò¾¾Ú{ÀB—áó2 }¨¨£@ªÉ@«â@õý*êÜ ½Òòû‡´ú‡„×=ö›?¼–¤ÒÜÉÕ©âX ÎXÖWüüë$! Construct from a trie and valuesÁË # SafetyÁü­OL The actual values contained in the trie must be valid indices into `values`Áô•»í Ô}ÖW
Xx@@üÈ6Õ÷î ͇ïÖWü‚3Õ÷î ‡ïÖW5ü¼¿óô óÖW¨¨£@ªÉ@«â@õý*êÜ ½Òô•† Ì
XÏD×= C?(Cæ<closure_kind>Á<closure_signature>Á<upvars>Á†…ô¼Õ÷î Á‡ï¯Xü…¤üá2/ Construct from a trie and references to valuesÁ˜Ëîîü±Oƒïä™»í 
Õ}¯X
XÖFàFüÓ 9Õ÷î Ø ‡ï¯Xü!6Õ÷î •!‡ïT˜!¯X 5 üÍ!Ð!õö õ¯X¨¨£@ªÉ@«â@õý*êÜ ½Òö•† Ý!
XŸJ×=,I?4I÷# Úò!òò!ó!! è‘üÑ((ü¸'HE Optimized data stored as a single VarZeroSlice to reduce token countÁtÜ(Õ##÷î ë(‡ïTî(áÕ}l“)
Õ}æ—üµ)B„YêKl+\Çõ$%HJüÔ*($Ô*""»íü‚+N4+"" •—üÕ+¿Õ''÷î Ú+‡ïTÝ+úl¯,œúüÑ,B„Y "üš-¤Õ))÷î Ÿ-‡ïT¢-úlÙ-œúüû-B„Y*"$üÛ/ËüÅ.$·îî.Ëdö.îîü‡/Oƒïôï/»í†û„Y((
*X
KKüÐ1¼Õ,,÷î Õ1‡ïTØ1úl§2œúüÉ2B„Y-5-(*ü“33÷ø ÷„Y¨¨£@ªÉ@«â@õý*êÜ ½Òø•†+ £3+
-X×O×=N?&N½5-Úò.òò.ó..-«›üÄA >A-0ü«3 üˆ"  A backing store for baked dataÁ 3Õ434ªâü«â 7〠©â°[ ¿ °[ 3Û€Gï€<Û€Sï€H555ACü…ƒ Üå  Get the value for a keyÁˆ ùú ù〨¨£@ªÉ@«â@õý*êÜ ½Òúø°ú°û°Ðü°ý°þ°ìHˈXêE>ßßàß âì 5Üæ"À³Ð°[3  3
5〰[$– Ϊ¤ ›?¼É ´ 7„¬ 77Û€œ¬ 7Û€Û€\±%üË:7 Traits for data providers that produce opaque buffers.Á¹%«®×2ÍÌ89ò‘4Ìã89ó¡.Ë89ôÚ½Ên89÷ЖÉ
´89úϸƒ.È89ûÔß Çß89þþß áà89þþ£ÇR89ÿÈ+Æé89ÿÝÅY89Ú-Œê789Ö¢ß`89ˆìÞg89Ùݨ89ˆ±ŠÜ
89ÕÛ89ŠÃÚ89ñB«Ï89õñBÁÐ89õ£@«¨89ö·<ªë89ø¯‰:©Ì89ù°ÿA¨Á89üЖH§¡89ýÕ¼=¦û89Ñø>¥89ÒžC¤Ó89ƒtüò'ÍY;| ::åíüý;üÄ.+ 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‡<<Û€üý>`ã€ÍYü—!<Û€+¹ Û€7¹ *ü½HÛ>>ªâZ Â`‚ZÍYüÅ!‚ZŒëZ@üÁ6üƒ96 Returns an error if the buffer format is not enabled.Á|Èû ûZê³í³î³Òï³ìð³ñ³ò³ìäs{©¶¥è^? Ø?
@¤¾%üË>
; 📚 *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.Áüþ_
\ 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Æ%ü¡(%
¡û'
 þ'
…(
8°4ÿ'
tù'
&|(
WN Ç(
¾.
 Í(
à(
8BUFFERÁ4Î(
$ Ô(
, Ö(
8®÷$×(
& Û(
8ª $Ü(
*â(
 å(
“+
8ï4ï(
 õ(
 ö(
+
7A version of [`ÁŒ„)
$ •)
8µL—)
  )
 ¡)
§)
, ¢)
8®÷$£)
$ ¨)
7`] that uses custom data 熻)
$ Å)
7%provided by a [`BufferProvider`].\n\nÁüÓ)'
$ ú)
7+✨ *Enabled with the `serde` feature.*\n\nÁüˆ*-
$ µ*
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
8°4Ê4
tÄ4
&|Ü4
fU 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ö5
$ ø5
, ú5
 û5
ˆ6
+ ü5
 ý5
‡6
, þ5
8¡ÿ5
& 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
, ÿ6
 €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Á„û7
$ 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ÅÞD9
& £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
$ ø9
, ú9
8÷Dû9
& ƒ:
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Ì@
- Ó@
% ì@
% ó@
 ù@
—B
 ú@
A
8â@4û@
(ƒA
8Û
4†A
& ŒA
, ŽA
8ÅìLA
& ˜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
& öA
8Û,÷A
, ýA
 þA
ŽB
$ ÿA
, B
84B
& ˆ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
(÷B
8Û
4úB
& €C
, C
8ÅìLƒC
$ Œ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
, ÷C
8‡æ4øC
$ þC
, 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
, öD
8
options_tyÁT÷D
& E
8E
$ …E

†E
(‰E
8Û
4ŒE
& 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
þE
$ ïE
, ñE
84òE
& øE
8Û,ùE
- ÿE
, 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ùG
8 ýG
, €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
, öH
 ÷H
†I
$ øH
, úH
8Åü\ûH

‡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
& ûI
, ýI
8ÅìLþI
$ ‡J
, •J
 J
žJ
+ —J
 ˜J
J
, ™J
8¡šJ

ŸJ
8ÅáL­J
& ¶J
 ¸J
µK

, ÊJ
8ø,ËJ
& ÐJ
8í$ÒJ
$ ÖJ
, èJ
8‡æ4éJ
$ ïJ
, K
8÷DK
, K
 œK
¦K
$ K
, ŸK
84 K
- §K
% ÀK
% ÇK
 ÍK
üL
 ÎK
öK
, ÏK
 ÐK
óK
 , ÑK
8Åü\ÒK
& ÝK
8Û,ÞK
& ãK
, åK
8ûüTæK
& ðK
8ñK
$ ôK

õK
(øK
8Û
4ûK
& 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
ûL
, ¯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
, öL
 ÷L
ùL
$ øL
- úL
*þL
 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ÿM
8 ƒN
, †N
8‡æ4‡N
 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
, ÷O
 øO
‡P
$ ùO
, ûO
8Åü\üO

ˆP
% P
|Ô%üË9 6 Utilities for using trait objects with `DataPayload`.Á<Ü%Eimpl_casting_upcastÁœ„ HIimpl_dynamic_data_providerÁÔª0 JK#impl_iterable_dynamic_data_providerÁüô7# LMô± ü†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`].ÁŒ» EÕFEFÛ€ü± þ€ Í °[ÄÝ ©âã€, ã€ĉ EÛ€Q±™-™#Û€c±™?™5GGGnpüD ü©S P Upcast a `DataPayload<T>` to a `DataPayload<S>` where `T` implements trait `S`.Á4„ ²ƒßßàß âì 5Üæ"À³Ðã€EE
G〰[î ,‹ üð " üÉ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Á¡Ú  Ý ä 8°  &|È âw Ò  À , š 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)Á¡¡  ¤ « 8°  &|· ¸} ñ ñ/   ¸ ë , ¹ 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 ' 8H $  8Ϊ£ & ¦ , ¨ 8 '® 8¼= $ » (Ë 8ý  Ô , æ 8 'ì 8È+  ú , û 8È¢   $  ,  8,• 'š 8·< $ ¥  ³  µ ¯& 8 8
  Ó 8×=Ô  Ö 8ê1  Ý Þ  à ¡&  , ö  ÷ —! 
8  8 8£º  ˜ ,  8
  ¢ 8×=£  ¥ 8ê1  ¬ ­ *¯  ² ! 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‰:lÜ% 'é% 8õ:të%  ù% 8ªDú%  & Ž& 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,¤( '©( 8Ht«( $ ¹( 8ΪË( & Î( , Ð( 8,Ñ( 'Ö( 8¼=\Ø( $ ã( (ó( 8ý4ö(  ü( , Ž) 8,) '”) 8È+d)  ¢) , £) 8È¢,¤)  ©) $ ª) , ¼) 8,½) 'Â) 8·<LÄ) $ Í)  Û)  Ý) Þ/ 8,ï) 8
4õ)  û) 8×=ü)  þ) 8ê14ÿ)  …* †*  ˆ* Ð/ , ž*  Ÿ* â. , ¹*  º* Â* + »*  ¼* Á* , ½* 8¢¾* - Ã* 8£º Ý* 8ß* 8£º â* ä*  ç* , è* 8™£Dé* 8ò* , õ* 8,ö* 'û* 8ƒ.Tý*  ‡+ 'ˆ+ 8•.$Š+  Ž+ 8×=+  + 8ê14+  ˜+ ™+ *+  ž+ Ì. 8¼+ 8Û
4À+ & Æ+ , È+ 8,É+ 'Î+ 8È+dÐ+  Ü+ , Ý+ 8™£DÞ+  æ+ è+ , Š, 8,, ', 8£d, 'ž, 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‰:l/ '˜/ 8õ:tš/  ¨/ 8ªD©/  ±/ ½/ 8
4²/ $ ¸/ 8Ϊº/ % ï/ äŠ0 Iüï02 ¡É0  Ì0 Ó0 8°4Í0 tÇ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 8Htõ2 (…3 8ý4ˆ3  Ž3 8á,3 '”3 8 collectionsÁ\3 '¡3 8eD£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ê144  ‡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ê14”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‰:lÏ6 'Ü6 8õ:tÞ6  ì6 8Þ\í6  ø6 ÿ6 8
4ù6 üË7% Ø$ŒÇ'lË'RY`gnÃê³NO곊NOYokeableÁDôÀNP©à (NPÕNQŠÂ~<NQð×2~ÌNQò4
~ãNQó¡. ~NQôÚЖñ}
´NQúϸƒ.ð}NQûÔß ï}ßNQþþß  ~àNQþþÈ+Õ}éNQÿÚ-ömNQÖÙ }¨NQˆ±ŠŸ}
NQÈ}NQà7‡}ªNQïà7}«NQïñB‡}ÏNQõñB}ÐNQõ£@‡}¨NQö·<†}ëNQø¯‰:…}ÌNQù°ÿA„}ÁNQüЖHƒ}¡NQýÕ¼=‚}ûNQÑø>}NQÒžC€}ÓNQƒÌÏÙ±ÌÞü—FC A data provider that loads data for a specific [`DataMarkerInfo`].ÁRÕSRSÛ€üÞÍþ€ õŽT…RÛ€)Û€/TTT.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.Á$åüý üã€ûû¼=ý×=þä+#qþ›PýbýÞ©R êR
T〰[Ϊñü­[8þÕVÛWWVþþ€ ²ªâ©[ µŽR©[°[¤[XTX8:57üF$ ÿ ÿ¤[ûû¼=ý×=þä+#qþ›PýbÞ©U ¥U
X8°[©[Ϊ0UüÕ9üÁ
XU A data provider that can determine whether it can load a particular data identifier,Áüš:7 potentially cheaper than actually performing the load.ÁYÕZYZÛ€üÕñR〰[|ÿþ€ ïŽYÛ€;¹ï-Û€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÷ ã€ûû¼=ý×=þä+#qþ›PýbѬY Y
[〰[$ΪüÈa8ƒÕ]Û^]ƒ^þ€ Íêë ÐŽY©[°[¤[_[_0257ü¾O ¤[ûû¼=ý×=þä+#qþ›PýbѬ\ Ê\
_8°[©[Ϊ:Vü! üë=: A data provider that loads data for a specific data type.Á© Ëü­ _\ Unlike [`DataProvider`], there may be multiple markers corresponding to the same data type.Áœ—!`Õaa`Û€ü!—þ€ «!¢™Œ»!`Û€)Û€/bbb.0üŸ#ƒüÔ!6¾ç"Ëü—"^ˆèüú" ïèL¢# 〙mûû¼=ý×=þä+#qþ›PýbÞ©` µ#`
b〰[$¶#
4Ä#Ϊä#ü¦$p8ˆÕdÛedeˆþ€ «$êë ®$¢™ŒÜ$`©[°[´ö$¤[fbf0257ü«%L®%Š ¤[™mûû¼=ý×=þä+#qþ›PýbŠÞ©c Á%c
f8°[©[$Â%
÷VΪWüÏ0Nü²/a^ A dynanmic data provider that can determine whether it can load a particular data identifier,Áü”0:Íí´Ù0gÕhghÛ€üÏ0ì`〰[´‡1þ€ ð0¢™Œó0gÛ€;Ëþ-Û€GËþ9iii:<ü­4Œü¤1YV This method goes through the motions of [`load_data`], but only returns the metadata.Á2ËüŠ2VS If `dry_load_data` returns an error, [`load_data`] must return the same error, butÁüå2XU not vice-versa. Concretely, [`load_data`] could return deserialization or I/O errorsÁüÂ3(% that `dry_load_data` cannot predict.Áï3Ëü÷31. [`load_data`]: DynamicDataProvider::load_dataÁl°4Œ 〙mûû¼=ý×=þä+#qþ›PýbŒѬg Ç4g
i〰[$È4
4Ö4Ϊö4ü½5v8ÕkÛllkþ€ Â5êë Å5¢™Œö5g©[°[Ì6¤[mim0257üÈ6lË6Ž Ž¤[™mûû¼=ý×=þä+#qþ›PýbѬj â6j
m8°[©[$ã6
ÌWΪÖWô×MüáI=éõŸJËü£JVS Unlike [`DataProvider`], the provider is bound to a specific marker ahead of time.ÁúJËüþJc` This crate provides [`DataProviderWithMarker`] which implements this trait on a single providerÁüâKda with a single marker. However, this trait can also be implemented on providers that fork betweenÁüÇL_\ multiple markers that all return the same data type. For example, it can abstract over manyÁü§M/, calendar systems in the datetime formatter.ÁŒáMnÕonoÛ€ü×MÞþ€ óM¢™ŒƒNnÛ€)Û€/pqpqpq46üçOMüœN6¾ç×NËüßN^ˆèüÂO ïèTêO ã€ûû¼=ý×=þä+#qþ›PýbÞ©n õOn
p〰[$öOΪüOüŠQ)ü¹PLI Returns the [`DataMarkerInfo`] that this provider uses for loading data.ÁdQ 〙mn šQn
q〰[$›Qü·Ql8ÕsÛtstþ€ ¼Qêë ¿Q¢™ŒëQn©[°[¤…R¤[uvpquv8:=?ü¸RLT»R ¤[ûû¼=ý×=þä+#qþ›PýbÞ©r ÆRr
u8°[©[$ÇRΪ™Xü¿S(dÂS ¤[™mr ÏSr
v8°[©[$ÐSü—_XÕxÛyyx÷î œ_©â§\ Ÿ_‡ïTÌ_R§\X|ß_í[z24/1üÒ`"üö_WT Creates a [`DataProviderWithMarker`] from a [`DataProvider`] with a [`DataMarker`].Áß`§\í[wwª÷Ñ9x[üÎaÑÕ|Ä}Í~Û}|~
XÍt¯bó\™”tÚb©â™” Úa©âí\ Ýa‡ïÔ¤b÷î Óaó\üÈb!©âó\ÖaÀ™”¤òbRí\X|c³\pqjlWY¤¦¡£öbü´cMT·c˜ ³\ûû¼=ý×=þä+#qþ›Pýb˜©»{ Âc{
Xó\™”í\$ÃcΪ•]üÑd(dÔd ³\™m{ ád{
Xó\™”í\$âdüâ'²²²²²²ú±ý±ï±ò±LÜ),à)¨ëÌÖ¢ÖŠ²GdïŠÛÍÁ]ŠvŠÂÊ™<ŠŽð×2˙̊Žò‘4̙㊎ó¡.Í™ŠŽôÚ½ΙnŠŽ÷ЖÏ™
´ŠŽúϸƒ.ЙŠŽûÔß Ñ™ßŠŽþþß í™àŠŽþþ£Õ™RŠŽÿÈ+֙銎ÿÝ×™YŠŽÚ-ŠŠŽÖ¢ô™`ŠŽˆìõ™gŠŽŠÛ™
ŠŽÕÜ™ŠŽŠÃÝ™ŠŽà7Þ™ªŠŽïà7ö™«ŠŽïñBâ™ÏŠŽõñBú™ÐŠŽõ£@æ™¨ŠŽöÿA±™ÁŠŽüЖH²™¡ŠŽýÕ¼=³™ûŠŽÑø>´™ŠŽÒžCµ™ÓŠŽƒCüß)¤ç:,œü¨è^’æ`üÎ8Ñšœ šè^ Á`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•œ×~ Õ
þ Ü”€€]”ü®*ü™1. Converts this DataErrorKind into a DataError.ÁÏËü×DA If possible, you should attach context using a `with_` function.ÁT»€]è^‰Þimü¶Cüð30 Creates a DataError with a data marker context.Á\À]™mè^
ún
oüöGüµ.+ Creates a DataError with a string context.Á„ƒ €] è^
ÅpëáÎpüÃ!.üÿ 1. Creates a DataError with a type name context.ÁŒÊ!€]è^˜˜©âÖ` Ü!
Ö`›rüô"Lü²"/, Creates a DataError with a request context.ÁDû"€]™mûû¼=ý×=þä+#qþ›Pýbè^\§#
Ys
bsΪlstü#è^›œž ¡£¥üó$6ü‘$OL Returns a new, empty DataError with kind Custom and a string error message.Á4€%ͤè^šš
Ø<Vtü±'>üÚ&DA Sets the data marker of a DataError, returning a modified error.Á\¾'è^™mè^šš³ÞIv
Rvüþ)Bü¤)GD Sets the string context of a DataError, returning a modified error.Á„‹*è^ͤè^ššýá€xëá‰xüß,)üî+^[ Sets the string context of a DataError to the given type name, returning a modified error.ÁŒæ,è^è^šŸŸš÷¥ ø,ØåŽz
üá0KüÆ.^[ 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è0žè^™mûû¼=ý×=þä+#qþ›Pýbžè^š\˜1šŠç$õ0
4û0Ϊ“1üÓ9Pü¶7A> Logs the data error with the given context, then return self.Áü7Ëü„8RO This does not modify the error, but if the "logging" Cargo feature is enabled,ÁüÛ8" it will print out the context.Á¤Ú9Ÿè^ Ÿ„÷è^𢢠˜:šªâ„÷ ï9å`„÷dò9
¡„÷üzëá {+-ü¬=Lü;Añ¯Õ;ËüÝ;Rưü´<"¡±”³= è^  „÷è^𤤠í=š—³ Æ=à`„÷TÉ=
£„÷t{ëá~{+-üô>(D?è^š¦¦š÷¥ ‹?
¥Ö` üâ@%è^ü‡C#ü×B/, 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ã€ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ø°ú°û°Ðü°ý°þ°ìHˈXêE>·è^¨¨
ªã€·$ÀDüêD3¬¬÷¥ ïDˆ`­ª­ü¤ECÔ§Eˆ`µý««
­Ö`“~üï)2=Ã\¤*<¨*ÁûÏШIJ³Æ²³ÍòÁ]²´,†à`²µã`²µ¦$»b²¦Áb²ì²·ЖT‡
´¸´Ð¹Lì–„û‡„‘d„§AÜö1ü€08¡¡˜dºæ`ºü·4º¢£¤ ¢˜d £Á`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•¤×~¹ ¾¹
º8$¿þ Åü¬#ܼ¼Žc½¾¿±ü¢1üÖGD Creates a [`DataIdentifierBorrowed`] for a borrowed [`DataLocale`].ÁT© ÜÆ—Žc»»
½Üâ@4´ü…Qü¯QN Creates a [`DataIdentifierBorrowed`] for a borrowed [`DataMarkerAttributes`].Á¬Œ ÜØdŽc»»
¾ÜÉ@Œ¢ü¦ü½da Creates a [`DataIdentifierBorrowed`] for a borrowed [`DataMarkerAttributes`] and [`DataLocale`].Áü­ ÒÁ©ÀŽc»»
¿ÜÉ@Œ×â@4ŒüÜ=&8¥¥ÄeÁÅÁ¤‰><Œ>ÄeÀÀ
Á8üÏ>#ØdÃÄíîÄ\ù>4þ>ÂÂüž? ,¡?¦ ¦Ød ¦Ødí §?Â
Ä$¨?üÞ?#ØdÆá`Æü–@8™@§¨© §Ød ¨Á`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•©×~Å @Å
Æ$ž@þý“ÌÎAØdÈÉÊËÌÍü®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« «ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ «ØdèeÇ ñ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¬ ¬}ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ ¬ØdèeÇ íKÇ¡·Þ¼öü…U0üãSG˜Ç¯TËü·TIF Panics if the string conta
1´‡
 Sets the checksum.Ál©
”f”fÝÝ
Þ
×CD½
ü± @= 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);Á¥ÁÕáá÷î ÜXŒßÏg5Üæ"À³Ðàâ—àÏg·á\—àÏgßß
àXtvôòßß—àü”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:ÁŠ!Ë<Ž!¥ÁÜ–! use core::mem::size_of;Áü²!!µÁüÔ!$Þêù!Ëüý!(% 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 smaller than the DataPayload:ÁüÉ&HE assert_eq!(W * 4, size_of::
ó™óôö÷ôõùüÕå÷øßæÕåXZ]_ðð
ôX¼hùüÕåððÅ üð*5ððùü ììðð
÷X¼hßæÕåð𼂠ì²+ððßæüÕ+@¼å+Õú©!ûúû÷î ý+îú “,õ挀,ßæÒõ’)3º
üýÿýþïõßæ¼hßæWY\^ƒìˆìùù
ýX¼h¦ì©ìïõßæùùÜ„ ´¦,ùùïõùù
X¼h¼hßæùùÒ… É,ùù¼hÌÆ0»©0 ¬0 Ã08Æ ­0 °0 Â08<±0 ¹07á<»0ô§0LÖ0ðýü¶1(ƒgL†4ƒg…üê9‚\ø9ŽŽÚ!‚ზáƒãɪQÂFV—jø°ú°û°Ðü°ý°þ°ìHˈXêE>ƒgŽŽÚ!‚ზáƒãɪQÂFV—jø°ú°û°Ðü°ý°þ°ìHˈXêE>ðýÍ©â—j „:À—jdß:
—jÕ$‡:13Ø:l¼<Úòˆòòˆóˆˆˆ—j™ˆ Ý÷¥4Ú<Úòòòó—jƒgˆÓ¥üõ<€Õ÷î ú<õ挣=Œà` ŒÕ}ŒÂ,ï=Ïgá`HJ¾=üü=Dÿ=¯°± ¯Ïg °Á`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•±×~Š ƒ>Š
X$„>þ?«üæ>Õ©!÷î ë>îú î>õ挜?à` Õ}Â,è?à`¼h,ö?‰há`_adf·?üƒ@D†@²³´ ²‰h ³Á`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•´×~Ž Š@Ž
X¼h$‹@þî¬î@Úòòòó‘Ù¡AÚòòòóŠÚüöC|üÀA96 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!µÁ—CËü›C30 let resp1: DataPayload<HelloWorldV1> = todo!();ÁôÏC let resp2 = resp1.clone();Á<îC¥ÁÕ÷î ûCõ挤DÞÕ}Â,ìDÏg˜ß˜>@¿D¼ùD,üDµ µÏgÏg ‚E
˜X$ƒEüåF’Õš©!š÷î êFîú íFõ挛GœÞÕ}œÂ,ãGÞ¼h,ñG‰hßUWZ\¶G¼þG,H ‰h‰h ‡H
X¼h$ˆHü‚L„ÕŸŸ÷î ‡Lõ挴L žÕ} Â¢™ LüLÏg¡ ¡BDÏLüM"M·¸ ·Ïg ¸Ïgž “Mž
¡X$”Mî ±¶üÜM—Õ£©!¤£¤÷î áMîú äMõ挖N¥žÕ}¥Âž› LÞN£¼hðN‰h¦ ¦Y[^`±NüúN"ýN¹º ¹‰h º‰h¢ €O¢
¦X¼h$Oî F¹üÂPvÕ¨¨÷î ÇPõæŒíP©£Õ}©ÂµQÏg35ˆQü¾Q‰Õ«©!¬¬«÷î ÃQîú ÆQõæŒñQ­£Õ}­Â¹Rº› ÄR‰hCEHJŒRüóW6Õ¯¯÷î øWõ挗XÏg°±²¸¹½ÂÇÍÏÑÓ68ü÷\.ü°XEB Convert a fully owned (`'static`) data struct into a DataPayload.ÁúXËü‚Y0- This constructor creates `'static` payloads.Á·YËt¿Y±ÒYË<ÚY¥ÁüæY%½‘üZ!µÁ̶Z÷‘ÔZËüÜZ# let local_struct = HelloWorld {Áü„[2/ message: Cow::Owned("example".to_owned()),Á4»[îŸÆ[ËüÎ[PM let payload = DataPayload::<HelloWorldV1>::from_owned(local_struct.clone());Á£\Ëü«\-* assert_eq!(payload.get(), &local_struct);Á<Ý\¥ÁTþ\Õ}Ïg®®¿œ®÷ »ü¥_Bü©^85 Construct a [`DataPayload`] from a static reference.Áæ^Ëüî^$! This is mainly used by databake.Á|²_ïõÏg®®Ï…®÷9¼ü÷hÍü¥`2/ 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);Á<†e¥ÁeËüšeSP To transfer data from the context into the data struct, use the `move` keyword:ÁòeË<úe¥Áü†f0š§ ü»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 ÜÏg«ÿ¥®Ü³×&´´³®©â«ÿ ‹i«ÿ<·iµ«ÿ µÕ}ÜÂüÁi?µ«ÿ°® ¥üÉi7
Õ}Õ}ü™j*
²XÜ«ÿ$–iþÆ¿‡iÅiüßqGüÕm  Borrows the underlying data.ÁúmËü‚n]Z This function should be used like `Deref` would normally be used. For more information onÁüänC@ 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· ·Ïg ·Õ}·Â®ê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» »Ïgø°ú°û°Ðü°ý°þ°ìHˈXêE> Õ}® Æu®
¸X$Ç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()`].ÁzËüŠ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());Á<¶…¥Á\É…Ïg«ÿõ®Ÿ'º×&»º»®©â«ŒÕ…„® Ù…«ŒŒ‘†¼«ÿÕ}¼ÂŠê³Ñ{·Ë…YÚ ¼¥ü¯†¼«ÿ¹Æ §Œ¼Âü¢‡(î® üã‡*
¹X«Œ«ÿ³Æþ¾ÆÓÕ×Ù³†üß’¥üðŠ[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 p1.map_project_cloned(|obj, _| obj.message.clone());Áö‘Ëüþ‘ // Note: p1 is sti
ü¶£<9 obj.message.to_mut().push_str(string_to_append);ÁÜ÷£ Ok(obj.message)Ád—¤ })?;Á¨¤Ëü°¤-* assert_eq!("Hello WorldExtra", p2.get());Áü⤠ # Ok::<(), &'static str>(())Á<‡¥¥Á|š¥Ïg«ÿ ¢®Ÿ'Ã×&ÄŸ(ÅÃÄÅ®ýÅ ª¥„® ®¥©âÓž ±¥˜Æ Œô¥Æ«ÿÕ}ÆÂŠê³Ñ{·Ë…YÚ Æ¥ü’¦¦Æ«ÿçÚ ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶§ŒÆÂÓžü…§3î® üѧ*
ÂX«Œ«ÿÓž¨Ñþ³Ñ369<69–¦üãµÂüçª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());Áü€µ-â× ü²µ ™Ø <×µ¥Á´êµÜÏ œ“¢¬®Ó'ÈŸ'É×&ÊŸ(ËÈÉËÊ®¨Ð ˆ¶ºÐ Œ¶©â·© ÌÐ ŒÙ¶Ìœ“ Ó'Õ}ÌŠê³Ñ{·Ë…YÚ Ì¥ü÷¶­Ìœ“Îå ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶Ì·©üñ·3
ÇXÓ'““œ“·©$™¶þšÙ,?BEHBEû¶ü÷Ä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();Á<ÝÄ¥Á$þÄÏgõ®Ÿ'ÎήýÅ ƒÅ˜Æ ü¶Å-«ŒÕ}ÔÈÅç+-ü½Êsü¼ÇW˜ç ü˜È$ùç ÁÈËüÉÈS³è ¡ÉËü©É`œé äŽÊ…ê DÄʼ ¼Ïg ¼õ®Ÿ'ÐÐ ÑÊ®ýÅ ÍÊ˜Æ ü‚Ë-‚ð Ô”Ë
ÏX«Œ$ÒÊ,.üâÞ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:ÁìÐË<ôÐ¥ÁÔ€Ñ use core::any::TypeId;ÁüŸÑ  use icu_locale_core::loc
üëïNù
´¾ðЂ
ÙðËüáð?< assert_eq!(formatter.format_to_string(), "✨ Hallo Welt");Á<¥ñ¥Á„Æñ½ ½Ïgê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ ½õè^®Ÿ'ÔÔ Ûñ®ýÅ ×ñ˜Æ Œ§ò
ÓX«Œ$àñ"$ô¸ôßßàß âì 5Üæ"À³ÐÍYÖ×ü×øIüŽøDA Converts a yoked byte buffer into a `DataPayload<BufferMarker>`.ÁŒÞøŽŽÚ!‚ზáƒãɪQÂFVå홈 Ù“
ÕÕ
ÖÕ$ðøü‰û8ü¿úEB Converts a static byte buffer into a `DataPayload<BufferMarker>`.Á”ûåíÙ“
ÕÕ
ׇæ4£ûüÅü^ÕÙÙ÷î ÊüõæŒõüÄÕ}<›ýÏgÚÅÚ,.¤ªý<­ýÏgØØ
ÚXü÷ý>ÕÜ©!ÝÜÝ÷î üýîú ÿýõ挣þ‰hÞßàáã)+-/ü†ÿ4ü¼þ74 Creates a [`DataPayloadOr`] from a [`DataPayload`].ÁdÿÏg‰hÛÛ
ÞX¼hô+éüž‚#üÓ85 Creates a [`DataPayloadOr`] from the other type `O`.ÁT¥‚¼h‰hÛÛ
ßX¼hî êü…„ üµƒ=: Returns whether this object represents a [`DataPayload`].ÁTŒ„¾ ¾‰hÛ —„Û
àX¼h$˜„ü’‡Vü¯†PM Gets the value from this [`DataPayload`] as `Ok` or the other type as `Err`.Á™‡â â‰hê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ âÕ}â â¼hÛÛŸØ$¥‡üµ‹4ü¶ŠA> Consumes this [`DataPayloadOr`], returning either the wrappedÁüüŠ&# [`DataPayload`] or the other type.ÁT¼‹‰h–áÛÛ
ãX¼htðüçŽ<Õåå÷î ìŽõ挑ïãæç¬þüªA> Convenience function to return the other type with value `()`Á$…ïãää
æXü˜‘Vü¾GD Convenience function to return `Some` or `None` for other type `()`ÁTŸ‘è èïãø°ú°û°Ðü°ý°þ°ìHˈXêE> èÕ}èÂ䪑ä
çX$²‘Ô›“ü’’LI A response object containing an object as payload and metadata about it.Ád¦“Õêê÷î ³“õæŒÃ“•i*Óß³ŠA‹ëì(*üˆ”"üÜ“'$ Metadata about the returned object.ÁDŒ”éé”fÜË”¬±” The object itselfÁ<Ï”ééÏgüë”7Õîî÷î ð”õ挕iïñüý˜nü©•W˜ç ü…–$ùç ®–Ëü¶–S³è Ž—Ëü–—`œé äû—…ê œ˜Ëü¤˜FC For runtime dynamic casting, use [`DataResponse::dynamic_cast()`].Á$„™•iûçíŸ'ððíýÅ ‰™˜Æ ü½™-‚ð ÔÏ™
ïX«Œ¼ó*,üá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è•iìíŸ'òòíýÅ õ˜Æ Œ¼ž
ñX«Œ "üÛŸÕôô÷î àŸõ挊 õà` õÕ}õÂ,Ö •iöá`öKM¥ üã Dæ ¿ÀÁ ¿•i ÀÁ`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•Á×~ó ê ó
öX$ë þùüü¤}üÄ¢:7 Cloning a DataResponse is generally a cheap operation.Áüÿ¢/«’ ¯£Ët³£±£ËlÆ£„“ üÔ£%½‘üú£!µÁœ¤Ëü ¤41 let resp1: DataResponse<HelloWorldV1> = todo!();ÁôÕ¤ú“ <ô¤¥ÁÕøø÷î ¥õ挫¥ùÞÕ}ùÂ,ó¥•iúßúACÆ¥¼€¦,ƒ¦Â •i•i÷ ‰¦÷
úX$Ц¼ã+]>ü„,A@>D>6>:>>>>>|Þ,\â,¬¡óô¯°çèÓL¤áåƒK´÷Ï·<Lœë¯‰:l§Ì°Ж
´ˆÏ¸£R£9´ÐÊÍóÁ]곌곊Œ‘øŒ¹
Û©àÀŽ©à (Žimpl_data_provider_never_markerÁüï5¦§
tuplevarÁEÞ
vartupleÁEð
Ý0·

ÄAsULEÁ-§4

ÉEqULEÁ-ÞA

Í
SliceAsULEÁU„C

ÎØ
5Ýd

ÓUleErrorÁE؇

ÊCharULEÁ=‰

Æ
EncodeAsVarULEÁuâ

­MultiFieldsULEÁu

à

NicheBytesÁU¡

 NichedOptionÁe­

ô
Û·

õ
NichedOptionULEÁ}»

 OptionULEÁMÞ

× OptionVarULEÁeé

ö RawBytesULEÁ]‡

© ù¸

ª Ý0÷ƒ
 ·Ø
5Ɇ
 ¸üÏ?ÞáÏÒü”SÅȲµž¡ŠuxfÌüWü›/3$ü‹$üö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`].ÁþËü‚eb 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).ÁŸË±²Ëü¶>; 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.Á$·™mü‚+üÐ1. Extension trait for methods on [`DataMarker`]Á±™ã€T›±™(’Ò
±™4’Ò
*–˜˜˜üðcü´74 Binds a [`DataMarker`] to a provider supporting it.Á$ó§\Ãã9ÆÑ9NÇÞ9NÐÞ³Ò‹C-〧\Ûä‘ øR§\〔À
〧\ûö+-ü±8üØTQ Constructs a [`DataLocale`] using fallback preferences from this [`DataMarker`].Á\´‡ùÆ—
˜ã€â@4Àüí/Õšš÷î,‚‡ïX›˜ òü£c§\í[Ûœœä‘ «ü‘”ó
X§\ûö!üÆ7‡ùÆ—
Xâ@‰üüá&OÍŸŸ…Š æ& À—j d£'æi¡+-œ'|·'T¼'žž—jüÏ'HÍ££…Š Ô'¤À—j¤dŠ(æi¥+-ƒ(Ôž($¤(¢¢™mü¥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â/þì<í/ ));Á<õ/¥Á¡ÿ/ ‚0 ‰08°4ƒ0tý/&|•0FU Ô0 ±5 Ú0 ã0, Û08Ü0& Þ08ª $ß0*å0 è0 ®5)8$ò0 ö08Í ÷0 ø0, ú08,û0'€18£d1 Ž1, 18,1'•18
4—1'18ÒD\Ÿ1 ª18Í «1¬18
¯1, ³18´18$,¿18
Ñ1 Ô1:ÜÕ1 ×18Í Ù1& Ú1, Ü18,Ý1'â18â <ä1'ë18Õ$í1'ñ18©àDó1 û1:Üü1 þ1$ ÿ1 ‰2 ¨58 —28Ù $š2 ž2 í2
 °28$±2$ µ28ΪÇ2& Ê2, Ì28,Í2'Ò28¼=\Ô2$ ß2(ï28ý4ò2 ø2, ù28,ú2'ÿ28È+d3 3, Ž38,3'”38
43'œ38ÒD\ž3 ©38Í ª3«3$ ­3, ¯38,°3'µ38·<L·3 À3 Î3 ž58à3 ã3 5 , ä38,å3'ê38‰:lì3'ù38õ:tû3 ‰48ªDŠ4 4 5 ¨4, ©48,ª4'¯48
4±4'·48ÒD\¹4 Ä48Í Å4 Æ48È4, Ë48,Ì4'Ñ48ƒ.TÓ4 Ý4'Þ48•.$à4$ ä48Ϊú4$ ý4% ¯5üÊ5!¬é8Ìj©ªäÇ9ü…9=: Magic bytes to locate [`DataMarkerIdHash`]es in binaries.Á\Ñ9¨¨åíü¡:&üô9(% Gets the hash value as a byte array.ÁD®:Ìj€¨¨
ª Å:üðB'LùBà Ã} ŠCÀ骜ü£H6d¬H“±¢$½HÍÃî"ŒäH4êHŒƒI4‰Iü¿QÌj±²³
Ê
Ë
̲³DåQêQ°°ÌjüˆR"dRÌjÌj
桡
²s%üÒR/tÕRøí
Ìj°°
³×ËÍ%üÅS&ÌjüöVƒl¶ üªW"­WÄŠăl Ńlµ °Wµ
$±Wî )ÌøWƒl¸Ä¸ü¦X2©XÆÇ ƃl ǃlÌ· ­X·
¸$®Xî ×)ü‡Y ƒlºËºü¼YB\¿YÈÉ Èƒl Ƀl´’¹ ËY¹
º$ÌYî ¡*ü¨Z&ƒl¼¼b¼üãZ4$æZÊË Êƒl ˎץ»Ë1½½ ‚[»©âŽ× ëZÃbŽ×”îZ
¼Ž×$ƒ[c+,.ŒÁ[ƒl¿Àü»]Q¡Û[ Þ[ å[8°4ß[tÙ[LÈ]ͤê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ƒlͤ¾¾
¿ÿ
ë9üüf-üõc;8 Gets a platform-independent hash of a [`DataMarkerId`].ÁµdËü½d74 The hash is 4 bytes and allows for fast comparison.ÁùdË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ƒlÌj¾¾
ÀÀ=ü˜s"™mÂËÂüÁsB\ÄsÌÍ Ì™m Í™m´’Á ÐsÁ
Â$Ñsî ,×sÜ­t™mÄÄÄüÏt2ÒtÎÏ Î™m Ï™mÌà ÖtÃ
Ä$×tî ,Ýtü¬u(™mƼbÆüÛu4$ÞuÐÑ Ð™m юץÅË1ÇÇ úuÅó
ãu¡ó
Ӿu
ÆŽ×$ûuC$&œ·v™mÉÊËüòv.äÑv See [`Default::default`]Á<ÿvƒl™mÈÈ’ÿ×=xDü–‚@üðyVS 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ˆß
Àß
þìâß
‰€Ëü‘€/, // The error context contains the argument:Á|Å€ž“ÔÙ€ HelloWorldV1::INFOÁüø€(% .match_marker(DummyV1::INFO)ÁÌ¥ .unwrap_err()Á¤Ã .marker,ÁôÜ Some(DummyV1::INFO.id)Á4ÿ·™<Š‚¥Ád™m™mÅ¢ÈÈ
Ê$ª‚
4°‚ü²„Aüñƒ<9 Constructs a [`DataLocale`] for this [`DataMarkerInfo`].Á\¹„™m‡ùÆ—ÈÈ´ø$Å„â@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);Á<퉥Á&|õ‰ìZ Š Θ ÈŠ Æ‹, ÉŠ ÊŠ ׊+ ËŠ ÌŠ ÖŠ, ÍŠ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'Ã8H Ô Ö »˜, è é ü“< ```rustÁ\ÿ+ ŸŽ  Ž ÚŽ8¡¡Ž ¥Ž8ï4§Ž ­Ž ®Ž ÙŽ7let ident = \"Á„¯Ž$ ¿Ž8µLÁŽ ÊŽ ËŽ ÑŽ, ÌŽ8ÿ
$ÍŽ$ ÒŽ7\";Á,ÔŽ+ ðŽ ñŽ  8¡òŽ öŽ8ï4øŽ þŽ ÿŽ Ÿ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è,´“ ¹“ Ó8áLº“84Ú“8 DebugTestÁLá“% ê“- ý“+   ¢”8è,‘” –” ¡”8
unused_mutÁT—”8ñ”8õ”8infoÁ$ù” þ”8,€• †• œ—, ˆ•8,‰•'Ž•8Ht'ž•8¬2< • §• ›— 8,¾•, Ä•8,Å•'Ê•8
4Ì•'Ò•8²GdÔ•'à•8Ù1Lâ• ë• ý•8µLì• õ• ö• ü•, ÷•8ÿ
$ø• ÿ• š— 8Ò™– ›–  –8ª $œ–*¢–8ª $¥–$ ©–8Ö Æ– È–8 Ç–*Ê–8õ ,Í– Ò– Ó– ‡—8ï4Ô– Ú– Û– †—7Invalid marker name: Á¼Ü–$ ó–8µLõ– þ– ÿ– …—, €—8ÿ
$$ ˆ—% , ¯— °— —˜, Æ— Ç— З+ È— É— Ï—, Ê—8«
$Ë—
Ñ— ç— …˜8“š $è— ì—, í—8± Tî— ù—, û—8ë Dü—% „˜
˜˜8“š $ª˜% ¼˜üј"™mÎá`Îüú˜4ý˜ÒÓÔ Ò™m ÓÁ`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•Ô×~Í Í
Î$‚™þ ˆ™ü¹œU±ÐЩâ÷nT¾œÑÀ÷nѤʜÆnÒ-/Μ|•ÏÏ÷nüø,<ýZýZ[[![![t¶-üË-96 Additional [`DataMarker`](super::DataMarker) helpers.Á4¾-°´
ü¹.¦Ø§¡.l„/Ú²Gd“/Û±E„¡/óÜ©Id³/¯ÝÒD\Á/çÞü¥.3tüæ.mceUWGI9;+-ŒØ/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.Ál—ááÛ€ü³áÛ€Û€ ââªâã€âüš$
ÓÔ¬ ̬ å¬ üš#ü«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`].Á&|ã 3[ °
 ÿ 
 ó
 ·
, ¸
8genericÁ
& À
8Û
& Æ
, È
8boundÁ
& Î
8Ï
 Ñ
, Ó
8Ô
& Ö
8ª $×
, Ü
 Ý
 ñ
$ Þ
, à
 á
 ï
+ â
 ã
 î
, ä
8Î
& é
8«

ð
- ò
*õ
 ø
 Ò'8$ , 8¡® <ˆ& , 8Ó® ,’ , 8'Ÿ8Ò4¡'¤8ç38
´, ¸8¹ ¼ í8!8ü3 Ý ß â à á% ã, ÷ ø , ù ú ƒ+ û ü , ý8Î
- 8$ , 8¡® <& , Ÿ8Ó®  ¥, §8'­8Ò4¯'²8Å
ϫ8
È, Ì8Í Ð Ì 8 Þ8maybe_encode_as_varuleÁ´á ÷ ý ø8(ÿ8Ó4‚ ˆ 8'Ž8ü3l  Ÿ Â8Ð% Ó Ù ú, Ú8Û& Ý8ª , ã ä ø$ å, ç è ö+ é ê õ, ë8Î& ð8«

÷- ù*ü ÿ µ8$‰, Ž8,'8Ò4'8ç3l8
©, ­8® ± â8!$¿8ü3 Ò Ô × Õ Ö% Ø, ì í ú, î ï ø+ ð ñ ÷, ò8Î
ù- û8$…, Š8,'8Ò4'8Å
œ—8
«, ¯8° ³ ¯ 8 Á8’´ ´Ä Ú à Û8(â8Ó ë ì8'ñ8ü3   ¥8Ð$”%  ¼ ¹, Æ8Ç& É8Ê$ Ì8varuleÁ& Ü, Þ8¤» & å8æ$ è, ò ó + ô õ , ö8Î& û8«

8encode_as_varuleÁ„Œ& œ, ž8»¼ „Ÿ& ¯8ï*» ¾ ü8 Ì:'dataÁ Ò, Ô8'Ú8Ò4Ü'ß8ç38
ï, ó8ô ÷ «8!$…8ü3 ˜, š8¤» 4›% ¡, µ  ¿+ · ¸ ¾, ¹8Î
À8 Î:§½  Ô, Ö8,×'Ü8Ò4Þ'á8Å
ϋ8
÷, û8ü ÿ ö 8 8’´ ´ ¦ ¬ §8(®8Ó · ¸8'½8ü3l¿ Ì Î ì8 Ç8bind_lifetimesÁ Ø8×& Ù Ú Û à8þ Ü& Ý8×& ß(â8×& å8$8×& í& î8
ð ó:§½  ù8û ý ˆ þ:§½ ,ÿ, 8(Š :§½ , 8¤» 4• œ  8þ ž8  Þ8£Á  Å ×, Æ8»¼ „Ç Ø Ý8% ýüÌ!0åÍæåæ÷¥ Ñ!ÍtÔ!Îoèâ Ú!”ƒ"lˆ"ää
¥ÔÒ#Þoêâ”ó#lø#ééªÆ \ë/üý/IF Traits that data provider implementations can use to optimize storageÁüË0.+ by using [`VarULE`](zerovec::ule::VarULE).Áþ0Ëü†1&# See [`MaybeAsVarULE`] for details.Áó/ç3lÐ1áìüº1#|ÿ2ü¸2FC Core selection of APIs and structures for the ICU4X data provider.Á<‡3à7öoªïà7p«ïÂìq<ð×2çqÌò‘4âqãó¡.ÝqôÚñB?pÏõñBQpÐõ£@9p¨ö½rn÷·<Ipëø¯‰:DpÌù°Ж9r
´úϸƒ.4rûÔÿAppÁüЖHkp¡ýÕß [rßþþß qràþþ£UrRÿ¼=«pûÑø>¦pÒÈ+|réÿžC·pÓƒÝrYÚ-ÄbÖ¢žr`ˆì™rgÙ”r¨ˆ±Šr
ÕŠrŠÃ…rüž4*r†r_r_rüì4ÔururŽrŽr¬—5§rä®5†rüÔ5arÂrÂrVrZrCrGrÝrÝrürür@rDr-r1rssMsMs*r.rrrgsgs rrssþcdœsœs¶s¶s¦sªs“s—s…s‰sws{s;¡ö: ù: €;8°4ú:tô:üË) & 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`.ÁD—;åÏÜî èoŽôÈ ü 3 0 Const-friendly version of [`Default::default`].Á<Õ èoÙ ü‰
' èoŤ·
èo
Ì¢ •q’ôñ ü * ' Const version of [`Default::default`].Á<þ •qýˆüí!% •q”Ť™" <œ" •q
\â?»Ð> Ó> Ä?8àÔ> ×> Ã?8Æ Ý> à> ô>8<á> é>7µLë>$ õ>8Æ û> þ> Á?8àÿ> ? À? 8焃?$ “?8<•? ?7á<Ÿ?$ ¦?8Æ ¨? «? ¾?8ØL¬? ¶?7¾ 4¸?$ ¿?üÎ>x¡É? Ì? Ó?8°4Í?tÇ?ê?,÷@º$§A˜“š $ÖAã,…BštraceÁ,µBüˆ@&|ô?C[ ¨@ Ì@ ²@ ¿@, ³@ ´@ ¼@, µ@8Ýý ¶@& ·@8ï$¸@$ ½@
¾@*Á@ Ä@ Å@% Æ@ÌÚ@õÌŠAç̹AØÌèAÊ̘B·ôüüª@= Regular baked data: a trie for lookups and a slice of valuesÁ$‡Õ÷î Œ‡ïTÖWÄýxÿÕÈ}žŸ&(üö(œœ»íü¤ œœîð•=•=-Õ¡¡÷îà`X•=‡ïœà`Õ}•=ÖW¢á`¢ÂÄ•=•=ÕÖ× ÕÖW ÖÁ`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•××~ ô 
¢Xþ•=üã!ü‘@ÛÙ Õ¤¤÷î ö‡ï¯X$ƒ«“ Ä¥¦&(üà(££»íüŽ)££ìõ E E.Õ¨¨÷îÐÜ  E‡ïäÜ  E¯X©á`©´ E EØÙÚ Ø¯X ÙÁ`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•Ú×~§Û§
©Xþ 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`].Á2ŒµÍY$¤3_VQ«(ªªÍYPP/ÍY­á`­PPÛÜÝ ÛÍY ÜÁ`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•Ý×~¬Ð¬
­þP¬ÙüŠ85 An enum expressing all Serde formats known to ICU4X.Á2ŒÇZšøè訳b¯°±²³´°²´üõVS Serialize using JavaScript Object Notation (JSON), using the [`serde_json`] crate.Áe®®Zxz®®ZD”üÚ52 Serialize using the [`bincode`] crate, version 1.ÁD®®ZWY®®ZLÝü¢63 Serialize using the [`postcard`] crate, version 1.ÁE®®ZXZ®®ZªPªP0á`ªPªPÞßà ÞZ ßÁ`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•à×~µÌµ
þªPÁQÁQ1ZÁQÁQ1 ¹ÁQÁQáâ áZ âZ¸Ó¸
¹î ÁQ R R2¤» R¡ R R R R8° R R Rã ãZ¥ºÞº
»ÞØRØR3¼b½ØRØRäå äZ 凧¥¼µ¾¾â¼©â‡§ØRÃb‡§ØR
½‡§ØRØRØR è4ZªS¡ªSªSªSªS8°ªSªSªS5ZªSªS5ߪSªSæ æZZÁîÁ
Âü¿^'üÊ]96 A [`DataProvider`] associated with a specific marker.Á„^Ëüˆ^%" Implements [`BoundDataProvider`].Á´Ê^ÕÄÛÅÅÄ÷î á^ä‘ ä^í[ÐÞ³Ò‹C-ÆÇ&(+-Dí^,í^NÃç\¼û^<û^NÃÃÜ´nYnY6ÕÉÛÊÉÊ÷î©ä‘§ÐÜ
ÌÌ™mÛPü©
@= An error occured during [`Any`](core::any::Any) downcasting.Á
 ú
 š 7Downcast: expected {0}, foundÁüû
üî
.AÛPÌÌ
åÛPÛPͤ€]ÌÌ‚‰ ÌÌͤ ü¾ 63 An error occured during [`serde`] deserialization.Áù Ëü 63 Check debug logs for potentially more information.Á  È  Ö 7Œ< ä¼ BÌÌ€]ÉËÌÌ€]4õ
üï " An unspecified error occurred.Á
Ëüž
6¯‰ 
 å
 î
7¤<
¼Ù
CpÌÌ€]ƒÌÌ€]¤Àü–63 The error type for ICU4X data provider operations.ÁÍËüÑa^ To create one of these, either start with a [`DataErrorKind`] or use [`DataError::custom()`].Á³ËÓõ
ÅËüÉLI Create a 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");Á¥Á2Œ®è^·U)šÿ9’
ìíîï¼€üÛ  Broad category of the error.Á$„ëë€]üÔ üž1. The data marker of the request, if available.Á4ØëëïÑü¥%üû%" Additional context, if available.Á\©ëëø°ú°û°Ðü°ý°þ°ìHˈXêE>ͤ„“üÑ=: Whether this error was created in silent mode to not log.Á4—ëëèf¡èfèfèfèf8°èfèfèfRè^èfèfRè^òßòèfèfô ôè^è^ññ
ò 4‘Sè^lglgTè^õ¤õlg¡lglglglg8°lglglgõ õè^¥ô5—ô
õÍiÍiUè^ÍiÍiUè^ø øÍiÍiö÷ öè^ ÷è^÷6›÷
øLî ÍijjVè^úá`újjøùú øè^ ùÁ`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•ú×~ùù
úþjÔÊü”C@ The request type passed into all data provider implementations.ÁÜüüé`#qþ›Pýbýþáü©"üë/, 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.Á­ûûŽcü• !üÑ?< Metadata that may affect the behavior of the data provider.ÁD™ ûûóaKK[Üé`Å|KKé`ÿÿ
Ü··\܃ƒé`„á`éì··ûüý ûé` üÁ`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•ý×~
Üþ·=¡====8°===]Üé`æé==]܈ˆé`‰ß==þ þé`é`
Ü^Üé`œ‡‚‡‚_Üé`Á悇‚_Üé` ô÷‡‚‡‚ÿ ÿé` é`ŽŽ
Üî ‡‚ƒƒ`Üé`“¤˜ƒ¡ƒƒƒƒ8°ƒƒƒ é`¥E‰
Üô® ü» \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.Á2Œœ œ¹ óaI^u²¶z,„¼ üÓ 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óa˜Å˜ŸƒŸƒóa
˜bóašá`šƒ óa ƒÁ`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•×~

š
þ{…¡{…{…{…{…8°{…{…{…cóa{…{…cóaß{…{… óaóaœ
œ


dóa€†€†eóa€†€†eóa¡ ¡€†€† óa óa 
 
¡
î €†ý†ý†fóa£¤£ý†¡ý†ý†ý†ý†8°ý†ý†ý†ˆ ˆóa¥¢K† ¢
£ ”ˆ”ˆgóa¥Ë¥”ˆ”ˆŠ óa Šóa´’¤ ¤
¥ î ”ˆhóa§Ä§Œ óa Œóa̦M– ¦
§ î iŠü½%üÀ
41 The borrowed version of a [`DataIdentifierCow`].Á2Œ«S[Ü©©Žcõý*êÜ ½Òª«ßü”/üé&# Marker-specific request attributesÁŒ˜¨¨ÒÁÔáœÉ The CLDR localeÁ4娨©ÀϋϋiÜ­­Žc®Å®²´Ï‹Ï‹Žc¬¬
®Üjܰ°Žc±á`± Ž Žc ŽÁ`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•×~¯O‡¯
±Ü,‡þáÃÃÃÃ8°ÃÃÃkܳ³ŽcÃÃkܵµŽc¶ßMPÃà ŽcŽc´´
Ü Q•lܸ¸ŽcÍÐmܺºŽcõømܼ¼Žc½ ½(+ Žc Žc»R›»
½ÜL›î ¥¥nÜ¿¿ŽcÀ¤ÀÉÌ¥¡¥¥¥¥8°¥¥¥ Žc¥¾¾
ÀܦüÝ<üæ:?< 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).Á¤è<ØdS^Á†Y&ÂTÍ=,Í=²ÁÁIIpØdIIpØdÅ ÅII Ød ØdÄV¡<Ä
ÅL¡<î I¼¼qØdǤǼ¡¼¼¼¼8°¼¼¼ Ød¥ÆW¬<Æ
Ǭ<XXrØdÉÄÉX‘X‘˜ Ød ˜ØdÌÈX°<È
ɰ<î X‘sØdËËËš Ød šØd´’ÊYµ<Ê
ËTµ<î ¯’¯’tØdͼbͯ’¯’œ Ød œ‡§¥ÌµÎÎZÁ<Ìï ¯’ ï ¯’
͇§$Á<¯’¯’¯’ô­A¬ô@ Invalid characterÁ2Œ›Ae[èe¥š½3ú±ÐNe[ÏÏèe;”;”uèeÒá`Ò;”;”žŸ èe žÁ`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•Ÿ×~Ñ[“AÑ
Ò,“Aþ;”ü¹ü¸B? A response object containing metadata about the returned data.Á2Œ§¤Ä”fhŠãÙÝ(9ÔÕÖô¶üß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”fØá`Øø¡ø¡ ¡¢  ”f ¡Á`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•¢×~×b„×
Ø,„þø¡y”fÚßÚ£ £”f”fÙc‹Ù
Ú,‹z”fz”fݠݤ¥ ¤”f ¥”fÜd’Ü
ÝL’î {”fßÅß”fÞÞ
ßVüÐ,;8 The type of the "cart" that i
üƒ"!µÁ¥"Ëü©"B¤’ì"Ëüð"H§Ü
ü¹#,) &buffer_provider.as_deserializing(),Á¬æ#“Ý
üü#JG id: DataIdentifierBorrowed::for_locale(&langid!("en").into()),ÁüÇ$ ÖìTè$¥™4ó$·™ú$ˬþ$´Þ
|”%ÑÞ
¼¤%èÞ
ü¼%0ˆß
tí%Àß
Tü%þì<‡&âß
<&¥Á!\À&Íéé…Š Ì&æiMŒ¬.®HÕªèêéúæi#WNéúæiçç
è—jgitÏ&ççéúÃüÃüÍìì…Š ´à`—jÃüæiíá`íÒÔÃüÃüª«¬ ªæi «Á`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•¬×~ëq &ë
í—j, &þÃü r§&ƒÍïï…Š þ—j5æiÉÌÍññ…Š þÞ—j8þæiòßò ­ ­æiæiðs­&ð
ò—j,­&ÁWü‘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ÌjÓøÛò¿¸¸ôõ€ÌjÁW5€Ìjóó
ô))óó€ ã8œÿœÿÌjøá`øœÿœÿ®¯° ®Ìj ¯Á`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•°×~÷t 7÷
ø, 7þœÿÌjÌjû û±² ±Ìj ²Ìjúu§7ú
ûL§7î Ìjý¤ý¡8°³ ³Ìj¥üv²7ü
ý²7AAˆÌj€ËAA´µ ´Ìj µÌj´’ÿw¶7ÿ
T¶7î A  Ìj‚Ä  · Ìj ·ÌjÌxÂ7
Â7î   yÇ7ŠÌjm¡mmmm8°mmmÌjmmÌj†ßmm¸ ¸ÌjÌjzÍ7
,Í7ŒÌj‰¼b¹º ¹Ìj º‡§¥ˆµŠŠ{Ô7ˆï  ï 
‡§$Ô7ÌjŒ
ÅŒ» »}¦’}Ú7
Œªœ))¼¼÷Uäð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ƒl< ™ Õ '«œËV»—V šV ÄV8÷V žV ÃV8<ŸV §V7ƒD©V$ ±V8焳Vü•V1,ËVͤläV$äVµþ ïV&&ƒl˜á`˜&&¼½¾ ¼ƒl ½Á`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•¾×~ÞU
˜,ÞUþ& ƒåUƒl'¡''''8°'''ƒl''ƒlœßœ''¿ ¿ƒlƒlëU
œ,ëU°((ƒlŸ¤Ÿ(¡((((8°(((À Àƒl¥žòUž
ŸòU\̬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.Áü‹k_\ Executables can be searched for `DataMarkerInfo` instances to produce optimized data files.Áüëkb_ Therefore, users should not generally create DataMarkerInfo instances; they should instead useÁüÎl%" the ones exported by a component.Á2Œšm$t·m™m¢[hŒ#¢£¤¥¤ëmÔÌm The ID of this marker.Áïm¡¡ƒl´ánü…nWT Whether this data marker only has a single payload, not keyed by a data identifier.Ádån¡¡´ÅoüýnC@ Whether this data marker uses checksums for integrity purposes.ÁdÉo¡¡ü“p)üáo-* The fallback to use for this data marker.Á|—p¡¡•q †ýl™m3@¡3@3@3@3@8°3@3@3@™m3@3@™m©ß©3@3@Á Á™m™m¨ƒm¨
©,ƒmBB™mBB™m¬ ¬BBÂà ™m Ùm«ˆŠm«
¬LŠmî BÈBÈB˜™m®¤®ÈB¡ÈBÈBÈBÈB8°ÈBÈBÈBÄ Ä™m¥­•m­
®•mYXü‰›(% A marker for the given `DataStruct`.Á%dð›±±±±£ Tý›²À÷n²¤‰œÆn˜Á?ŒCÓA8°³¼ŠÆnYXn¼ŠÆn¯¯
°÷nˆœ¼Ÿœ¯¯¼ŠEE±µµ±£ ÝÞ÷nEÀ÷néÆn·ß·EEÅ ÅÆnÆn´Š»›´
·÷n,»›› š±¹¹±£ ¬þ÷n7ºÀ÷nº·ÆnÛÞWZàEàE±¼¼±£ ½À÷n½Æn:=¹àEàE±¿¿±£ wž÷n÷nàEÀÀ÷nÀÆnÁ Á¹25àEàEÆÇ ÆÆn ÇÆn¾ŒÈ›¾
Á÷nLÈ›î àEYFYFœ±Ãñ£ d£÷nYFÄÀ÷nÄqÆnŤŠ£YF¡YFYFYFYF8°YFYFYFÈ ÈÆn¥ÂÓ›Â
Å÷nÓ›ÔFÔF±ÇDZ£ ^»b÷nÔFÈÀ÷nÈkÆnɼbÉšÔFÔFÉÊ ÉÆn ÊÆŽ¥ÆµÊÊŽ×›Æ©âÆŽÔFÃbÆŽÔF
É÷
? < Configuration settings for a particular fallback operation.Á2ŒÜ +¤ù •q66Ì;æüù$ ü” G D Strategy for choosing which subtags to drop during locale fallback.Áà Ë ±û Ëüƒ
@ = 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());Áì† Ŧ
ü¨@ ó¨
 ¥Á ååèoMM¦•qèá`èMMÙÚÛ Ù•q ÚÁ`Á`œÃ`è Á]Ä`ŸÁ]Ê­\É:•Û×~ç¸ ç
è,¸ þM@N¡@N@N@N@N8°@N@N@N§•q@N@N§•qëßë@N@NÜ Ü•q•q꘿ ê
ë,¿ OO¨•qOO¨•qî îOOÝÞ Ý•q Þ•qíÆ í
î î O}O}O©•qð¤ð}O¡}O}O}O}O8°}O}O}Oß ß•q¥ïšÑ ï
ðÑ Õ ª•q²vH[yH[´ßH[{H[´ð!H[ÿ~H[´¶3H[oH[´© H[#H[7eH[\öH[ ÌH[dH[\±H[Õ`H[\ŒH[ êH[Ä_H[\ÖH[È]H[\é#H[ Ì$H[¬\H[\õ%H[\YH[\û4H[ æ5H[@XH[\7H[ùTH[\PH[PTH[ ÛQH[9SH[\ÒRH[âRH[÷OH[\ÎcH[œOH[.KH[ ßH[óH[ÞGH[pCH[(BH[_AH[­H[`<H[ ÈH[LÒH[ í=H[59H[x8H[ §@H[»@H[8H[²6H[4H[V3H[O2H[ïH[ >H[§>H[ H[ ”@H[®@H[H[ H[1H[ ¡MH[&H[ ŽOH[6H[žãH[ùÒH[H[H[ ô H[Ž¡H[ÃH[£¦H[ؤH[ ¾WH[H[ »XH[á£H[ ÙYH[H[ [H[ H[ ÞsH[“ŸH[ ätH[ŸH[ ˆvH[ž‹H[ ‹™H[L•™H[ nH[nH[•=H[ulH[{lH[ EH[jH[‡jH[PH[gH[£gH[ªPH[gH[gH[†fH[úeH[fH[eH[ÎbH[ÔbH[nYH[°`H[`H[_H[…_H[³^H[¹^H[z_H[ó]H[ù]H[ZcH[vRH[ÔQH[EQH[KQH[…PH[PH[jH[tMH[zMH[·H[«LH[ÆKH[ÌKH[KH[AHH[GHH[H[¥GH[GH[GH[sFH[÷EH[ýEH[zEH[€EH[7CH[=CH[H[nBH[‰AH[AH[â@H[??H[E?H[²>H[6>H[<>H[¹=H[¿=H[,=H[2=H[Ó;H[Ù;H[;”H[19H[79H[ø¡H[Ì8H[=8H[C8H[¸5H[ù4H[ÿ4H[š©H[ž/H[¤/H[ÃüH[¸.H[¼,H[Â,H[œÿH[*,H[0,H[+H[+H[+H[*H[…*H[·)H[)H[)H[‡(H
serde_jsonÁÂÚ-àÊ
ŽË
¨Ã
ß ßÂË
ÓË
£îË
ÂàÊ
Ú-ŽË
¨Ã
ÂË
ÓË
ß îË
£Â<0¤Æ
6../../icu_provider_blob/struct.StaticDataProvider.htmlÁcrate::DataProviderÁcrate::buf::BufferProviderÁ
crate::bufÁ84../../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Á‘Í
ƒÎ
–Î
ÏÎ
†Ï
®Ï
ôÏ
µÂ
£¤Æ
Ð
ãÐ
ÌÍ
R‘Í
äÍ