+
    € ’eðv  ã            	       óÚ  € R t . R1Ot^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIt^ RI	t	^ RI
t
^ RIt^ RIHt ]P                  ! RR]R7      t]! 4       P%                  ]P&                  4       R2t ! R	 R4      tR
t]
P.                  ! R4      tR3R ltR t]
P.                  ! R]
P6                  4      tR tR tR tR t  ! R R4      t! ! R R4      t" ! R R]"4      t#R t$ ! R R]%4      t&^R^R^R^R/t'](! 4       t) ! R R 4      t*R! t+],]-].]P                  ]/3t0 ! R" R#](4      t1R$ t2]3]4! ]$]!]#R%7      ]5]4! ]2]*]1R%7      /t6R&RR']4R(R)/R* lt7R&RR']4R(R)/R+ lt8R&]3R,R-R.R)R(R)/R/ lt9R&]3R.R)R,R-R(R)/R0 lt:R# )4a>  plistlib.py -- a tool to generate and parse MacOSX .plist files.

The property list (.plist) file format is a simple XML pickle supporting
basic object types, like dictionaries, lists, numbers and strings.
Usually the top level object is a dictionary.

To write out a plist file, use the dump(value, file)
function. 'value' is the top level object, 'file' is
a (writable) file object.

To parse a plist from a file, use the load(file) function,
with a (readable) file object as the only argument. It
returns the top level object (again, usually a dictionary).

To work with plist data in bytes objects, you can use loads()
and dumps().

Values can be strings, integers, floats, booleans, tuples, lists,
dictionaries (but only with string keys), Data, bytes, bytearray, or
datetime.datetime objects.

Generate Plist example:

    import datetime as dt
    import plistlib

    pl = dict(
        aString = "Doodah",
        aList = ["A", "B", 12, 32.1, [1, 2, 3]],
        aFloat = 0.1,
        anInt = 728,
        aDict = dict(
            anotherString = "<hello & hi there!>",
            aThirdString = "M\xe4ssig, Ma\xdf",
            aTrueValue = True,
            aFalseValue = False,
        ),
        someData = b"<binary gunk>",
        someMoreData = b"<lots of binary gunk>" * 10,
        aDate = dt.datetime.now()
    )
    print(plistlib.dumps(pl).decode())

Parse Plist example:

    import plistlib

    plist = b'''<plist version="1.0">
    <dict>
        <key>foo</key>
        <string>bar</string>
    </dict>
    </plist>'''
    pl = plistlib.loads(plist)
    print(pl["foo"])
ÚInvalidFileExceptionÚUIDN)ÚBytesIO)ÚParserCreateÚPlistFormatzFMT_XML FMT_BINARY)Úmodulec                   óD   a € ] tR t^Pt o R tR tR tR tR tR t	Rt
V tR# )	r   c                óœ   € \        V\        4      '       g   \        R 4      hVR8¼  d   \        R4      hV^ 8  d   \        R4      hWn        R# )zdata must be an intzUIDs cannot be >= 2**64úUIDs must be positiveNì            )Ú
isinstanceÚintÚ	TypeErrorÚ
ValueErrorÚdata©Úselfr   s   &&ÚZC:\Users\johnn\AppData\Local\hermes\tools\python-3.14.9+20261021-win32-x64\Lib\plistlib.pyÚ__init__ÚUID.__init__Q   sF   € Ü˜$¤×$Ò$ÜÐ1Ó2Ð2Ø�7Œ?ÜÐ6Ó7Ð7Ø�!Œ8ÜÐ4Ó5Ð5ØŽ	ó    c                ó   € V P                   # ©N©r   ©r   s   &r   Ú	__index__ÚUID.__index__Z   s   € Ø�y‰yÐr   c                ód   € V P                   P                  : R \        V P                  4      : R2# )Ú(Ú))Ú	__class__Ú__name__Úreprr   r   s   &r   Ú__repr__ÚUID.__repr__]   s   € ØŸ>™>×2Ô2´D¸¿¹¶OÐDÐDr   c                ó4   € V P                   V P                  33# r   )r    r   r   s   &r   Ú
__reduce__ÚUID.__reduce__`   s   € Ø�~‰~ §	¡	˜|Ð+Ð+r   c                ól   € \        V\        4      '       g   \        # V P                  VP                  8H  # r   )r   r   ÚNotImplementedr   )r   Úothers   &&r   Ú__eq__Ú
UID.__eq__c   s(   € Ü˜%¤×%Ò%Ü!Ð!Ø�y‰y˜EŸJ™JÑ&Ð&r   c                ó,   € \        V P                  4      # r   )Úhashr   r   s   &r   Ú__hash__ÚUID.__hash__h   s   € Ü�D—I‘I‹Ðr   r   N)r!   Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r#   r&   r+   r/   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r   P   s)   ø‡ € òòòEò,ò'÷
ð r   sŽ   <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
zv[\x00\x01\x02\x03\x04\x05\x06\x07\x08\x0b\x0c\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f]c                 óà   € V^,          ^,          p. p\        ^ \        V 4      V4       F2  pWWB,            pVP                  \        P                  ! V4      4       K4  	  RP                  V4      # )é   r   )ÚrangeÚlenÚappendÚbinasciiÚ
b2a_base64Újoin)ÚsÚmaxlinelengthÚ
maxbinsizeÚpiecesÚiÚchunks   &&    r   Ú_encode_base64rF   |   sa   € à Õ" AÕ%€JØ€FÜ�1”c˜!“f˜jÖ)ˆØ�a•nÐ%ˆØ�‰”h×)Ò)¨%Ó0Ö1ñ *ð �8‰8�FÓÐr   c                 ó¤   € \        V \        4      '       d&   \        P                  ! V P	                  R 4      4      # \        P                  ! V 4      # )úutf-8)r   Ústrr=   Ú
a2b_base64Úencode)r@   s   &r   Ú_decode_base64rL   …   s<   € Ü�!”S×ÒÜ×"Ò" 1§8¡8¨GÓ#4Ó5Ð5ô ×"Ò" 1Ó%Ð%r   z{(?P<year>\d\d\d\d)(?:-(?P<month>\d\d)(?:-(?P<day>\d\d)(?:T(?P<hour>\d\d)(?::(?P<minute>\d\d)(?::(?P<second>\d\d))?)?)?)?)?Zc                 ó2  € Rp\         P                  V 4      P                  4       p. pV F+  pW5,          pVf    MVP                  \	        V4      4       K-  	  V'       d%   \
        P
                  ! VR\
        P                  / # \
        P
                  ! V!  # )ÚyearÚtzinfo)rN   ÚmonthÚdayÚhourÚminuteÚsecond)Ú_dateParserÚmatchÚ	groupdictr<   r   ÚdatetimeÚUTC)r@   Úaware_datetimeÚorderÚgdÚlstÚkeyÚvals   &&     r   Ú_date_from_stringr`   ’   s~   € Ø@€EÜ	×	Ñ	˜1Ó	×	'Ñ	'Ó	)€BØ
€CÛˆØ�gˆØŠ;ÙØ�
‰
”3�s“8Öñ	 ÷
 Ü× Ò  #Ð;¬h¯l©lÑ;Ð;Ü×Ò˜cÑ"Ð"r   c                 óæ   € V'       d    V P                  \        P                  4      p R V P                  V P                  V P
                  V P                  V P                  V P                  3,          # )z%04d-%02d-%02dT%02d:%02d:%02dZ)	Ú
astimezonerX   rY   rN   rP   rQ   rR   rS   rT   )ÚdrZ   s   &&r   Ú_date_to_stringrd       sO   € ßØ�L‰LœŸ™Ó&ˆØ+Ø	�‰�—‘˜Ÿ™Ø	�‰�—‘˜!Ÿ(™(ð/õ ð r   c                ó>  € V P                  4       pV'       d€   V'       dC   V Uu. uF$  p\        V^ ,          \        4      '       g   K"  VNK&  	  ppVP                  4        V# V  F$  p\        V\        4      '       d   K  \	        R4      h	  \        V4      pV# u upi )z¢Return the (key, value) pairs of a dict, sorted if needed.

Sorting fails for keys of different types, so non-string keys are
removed or reported before sorting.
úkeys must be strings)Úitemsr   rI   Úsortr   Úsorted)rc   Ú	sort_keysÚskipkeysrg   Úitemr^   s   &&&   r   Ú_dict_itemsrm   ¨   sƒ   € ð �G‰G‹I€EßßÙ&+ÓH¡e˜d¬z¸$¸q½'Ä3×/G—T�T¡eˆEÐHØ�J‰JŒLð €Ló	 �Ü! #¤s×+Ô+Ü#Ð$:Ó;Ð;ñ ô ˜5“MˆEØ€Lùò Is   ¥BÁ	Bc                 ó  € \         P                  V 4      pVe   \        R4      hV P                  RR4      p V P                  RR4      p V P                  RR4      p V P                  RR4      p V P                  R	R
4      p V # )Nz;strings can't contain control characters; use bytes insteadz
Ú
ÚÚ&z&amp;Ú<z&lt;Ú>z&gt;)Ú_controlCharPatÚsearchr   Úreplace)ÚtextÚms   & r   Ú_escapery   »   s~   € Ü×Ñ˜tÓ$€AØ‚}Üð -ó .ð 	.à�<‰<˜ Ó%€DØ�<‰<˜˜dÓ#€DØ�<‰<˜˜WÓ%€DØ�<‰<˜˜VÓ$€DØ�<‰<˜˜VÓ$€DØ€Kr   c                   óœ   a € ] tR t^Çt o RR ltR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tRtV tR# )Ú_PlistParserc                óH   € . V n         R V n        R V n        Wn        W n        R # r   )ÚstackÚcurrent_keyÚrootÚ
_dict_typeÚ_aware_datetime©r   Ú	dict_typerZ   s   &&&r   r   Ú_PlistParser.__init__È   s#   € ØˆŒ
ØˆÔØˆŒ	Ø#ŒØ-Ör   c                óF  € \        4       V n        V P                  V P                  n        V P                  V P                  n        V P                  V P                  n        V P                  V P                  n	        V P                  P                  V4       V P                  # r   )r   ÚparserÚhandle_begin_elementÚStartElementHandlerÚhandle_end_elementÚEndElementHandlerÚhandle_dataÚCharacterDataHandlerÚhandle_entity_declÚEntityDeclHandlerÚ	ParseFiler   )r   Úfileobjs   &&r   ÚparseÚ_PlistParser.parseÏ   so   € Ü"“nˆŒØ*.×*CÑ*Cˆ�‰Ô'Ø(,×(?Ñ(?ˆ�‰Ô%Ø+/×+;Ñ+;ˆ�‰Ô(Ø(,×(?Ñ(?ˆ�‰Ô%Ø�‰×Ñ˜gÔ&Ø�y‰yÐr   c                ó   € \        R 4      h)z8XML entity declarations are not supported in plist files)r   )r   Úentity_nameÚis_parameter_entityÚvalueÚbaseÚ	system_idÚ	public_idÚnotation_names   &&&&&&&&r   r�   Ú_PlistParser.handle_entity_declØ   s   € ô #Ð#]Ó^Ð^r   c                óX   € . V n         \        V R V,           R4      pVe   V! V4       R# R# )Úbegin_N)r   Úgetattr)r   ÚelementÚattrsÚhandlers   &&& r   r‡   Ú!_PlistParser.handle_begin_elementÞ   s.   € ØˆŒ	Ü˜$ ¨7Õ 2°DÓ9ˆØÒÙ�EŽNñ r   c                óH   € \        V R V,           R4      pVe
   V! 4        R# R# )Úend_N)rž   )r   rŸ   r¡   s   && r   r‰   Ú_PlistParser.handle_end_elementä   s%   € Ü˜$ ¨Õ 0°$Ó7ˆØÒÙŽIñ r   c                ó<   € V P                   P                  V4       R # r   )r   r<   r   s   &&r   r‹   Ú_PlistParser.handle_dataé   s   € Ø�	‰	×Ñ˜Ör   c                ó  € V P                   ev   \        V P                  R,          \        4      '       g'   \	        RV P
                  P                  ,          4      hWP                  R,          V P                   &   R V n         R # V P                  '       g	   Wn        R # \        V P                  R,          \        4      '       g'   \	        RV P
                  P                  ,          4      hV P                  R,          P                  V4       R # )Nzunexpected element at line %déÿÿÿÿ)
r~   r   r}   Údictr   r†   ÚCurrentLineNumberr   Úlistr<   ©r   r–   s   &&r   Ú
add_objectÚ_PlistParser.add_objectì   sÂ   € Ø×ÑÒ'Ü˜dŸj™j¨�n¬d×3Ò3Ü Ð!@Ø!%§¡×!>Ñ!>õ"?ó @ð @à/4�J‰J�r�N˜4×+Ñ+Ñ,Ø#ˆDÖØ——�àŽIä˜dŸj™j¨�n¬d×3Ò3Ü Ð!@Ø!%§¡×!>Ñ!>õ"?ó @ð @à�J‰J�r�N×!Ñ! %Ö(r   c                óJ   € R P                  V P                  4      p. V n        V# )Ú )r?   r   r   s   & r   Úget_dataÚ_PlistParser.get_dataü   s    € Ø�w‰w�t—y‘yÓ!ˆØˆŒ	Øˆr   c                ó~   € V P                  4       pV P                  V4       V P                  P                  V4       R # r   )r€   r®   r}   r<   )r   r    rc   s   && r   Ú
begin_dictÚ_PlistParser.begin_dict  s,   € Ø�O‰OÓˆØ�‰˜ÔØ�
‰
×Ñ˜!Ör   c                óÂ   € V P                   '       d3   \        R V P                   V P                  P                  3,          4      hV P                  P                  4        R# )z%missing value for key '%s' at line %dN)r~   r   r†   r«   r}   Úpopr   s   &r   Úend_dictÚ_PlistParser.end_dict  sL   € Ø××ÐÜÐDØ"×.Ñ.¨t¯{©{×/LÑ/LÐMõNó Oð Oà�
‰
�‰Ör   c                óî   € V P                   '       g(   \        V P                  R,          \        4      '       g'   \	        RV P
                  P                  ,          4      hV P                  4       V n         R# )é   zunexpected key at line %dNr©   )r~   r   r}   rª   r   r†   r«   r²   r   s   &r   Úend_keyÚ_PlistParser.end_key  sR   € Ø××Ð¤:¨d¯j©j¸­n¼d×#CÒ#CÜÐ8Ø!Ÿ[™[×:Ñ:õ;ó <ð <àŸ=™=›?ˆÖr   c                ób   € . pV P                  V4       V P                  P                  V4       R # r   )r®   r}   r<   )r   r    Úas   && r   Úbegin_arrayÚ_PlistParser.begin_array  s%   € ØˆØ�‰˜ÔØ�
‰
×Ñ˜!Ör   c                ó:   € V P                   P                  4        R # r   )r}   r¸   r   s   &r   Ú	end_arrayÚ_PlistParser.end_array  s   € Ø�
‰
�‰Ör   c                ó(   € V P                  R 4       R# )TN©r®   r   s   &r   Úend_trueÚ_PlistParser.end_true  s   € Ø�‰˜Ör   c                ó(   € V P                  R 4       R# )FNrÇ   r   s   &r   Ú	end_falseÚ_PlistParser.end_false  s   € Ø�‰˜Ör   c                óð   € V P                  4       pVP                  R 4      '       g   VP                  R4      '       d   V P                  \        V^4      4       R# V P                  \        V4      4       R# )Ú0xÚ0XN)r²   Ú
startswithr®   r   )r   Úraws   & r   Úend_integerÚ_PlistParser.end_integer"  sL   € Ø�m‰m‹oˆØ�>‰>˜$×Ò 3§>¡>°$×#7Ò#7Ø�O‰OœC  R›LÖ)à�O‰OœC ›HÖ%r   c                óV   € V P                  \        V P                  4       4      4       R # r   )r®   Úfloatr²   r   s   &r   Úend_realÚ_PlistParser.end_real)  s   € Ø�‰œ˜dŸm™m›oÓ.Ö/r   c                óD   € V P                  V P                  4       4       R # r   )r®   r²   r   s   &r   Ú
end_stringÚ_PlistParser.end_string,  s   € Ø�‰˜Ÿ™›Ö(r   c                óV   € V P                  \        V P                  4       4      4       R # r   )r®   rL   r²   r   s   &r   Úend_dataÚ_PlistParser.end_data/  s   € Ø�‰œ t§}¡}£Ó7Ö8r   c                ón   € V P                  \        V P                  4       V P                  R 7      4       R# ))rZ   N)r®   r`   r²   r�   r   s   &r   Úend_dateÚ_PlistParser.end_date2  s)   € Ø�‰Ô)¨$¯-©-«/Ø9=×9MÑ9MôOö 	Pr   )r�   r€   r~   r   r†   r   r}   N©F)r!   r1   r2   r3   r   r‘   r�   r‡   r‰   r‹   r®   r²   rµ   r¹   r½   rÁ   rÄ   rÈ   rË   rÒ   rÖ   rÙ   rÜ   rß   r4   r5   r6   s   @r   r{   r{   Ç   sq   ø‡ € ô.òò_òòò
ò)ò òò
ò+òò
òòò&ò0ò)ò9÷Pð Pr   r{   c                   óF   a € ] tR tRt o R	R ltR tR tR
R ltR tRt	V t
R# )Ú_DumbXMLWriteri7  c                ó8   € Wn         . V n        W n        W0n        R # r   )Úfiler}   Ú_indent_levelÚindent)r   rå   Úindent_levelrç   s   &&&&r   r   Ú_DumbXMLWriter.__init__8  s   € ØŒ	ØˆŒ
Ø)ÔØŽr   c                óž   € V P                   P                  V4       V P                  R V,          4       V ;P                  ^,          un        R# )z<%s>N)r}   r<   Úwritelnræ   ©r   rŸ   s   &&r   Úbegin_elementÚ_DumbXMLWriter.begin_element>  s6   € Ø�
‰
×Ñ˜'Ô"Ø�‰�V˜gÕ%Ô&Ø×Ò˜aÕ×r   c                óÐ   € V P                   ^ 8”  g   Q hV P                  P                  4       V8X  g   Q hV ;P                   ^,          un         V P                  RV,          4       R# )é    z</%s>N)ræ   r}   r¸   rë   rì   s   &&r   Úend_elementÚ_DumbXMLWriter.end_elementC  sQ   € Ø×!Ñ! AÔ%Ð%Ð%Ø�z‰z�~‰~Ó 7Ô*Ð*Ð*Ø×Ò˜aÕÕØ�‰�W˜wÕ&Ö'r   Nc           	     ó”   € Ve,   \        V4      pV P                  RV: RV: RV: R24       R # V P                  RV,          4       R # )Nrr   rs   z</z<%s/>)ry   rë   )r   rŸ   r–   s   &&&r   Úsimple_elementÚ_DumbXMLWriter.simple_elementI  s7   € ØÒÜ˜E“NˆEØ�LŠL«'³5»'ÐBÖCð �L‰L˜ 7Õ*Ö+r   c                ó<  € V'       dy   \        V\        4      '       d   VP                  R 4      pV P                  P	                  V P
                  V P                  ,          4       V P                  P	                  V4       V P                  P	                  R4       R# )rH   ó   
N)r   rI   rK   rå   Úwriteræ   rç   )r   Úlines   &&r   rë   Ú_DumbXMLWriter.writelnQ  sa   € ßô ˜$¤×$Ò$Ø—{‘{ 7Ó+�Ø�I‰I�O‰O˜D×.Ñ.°·±Õ<Ô=Ø�I‰I�O‰O˜DÔ!Ø�	‰	�‰˜Ör   )ræ   rå   rç   r}   )rð   Ú	r   )r!   r1   r2   r3   r   rí   rñ   rô   rë   r4   r5   r6   s   @r   rã   rã   7  s#   ø‡ € ôò ò
(ô,÷	ð 	r   rã   c                   óH   a € ] tR tRt o R
R ltR tR tR tR tR t	Rt
V tR	# )Ú_PlistWriteri]  c                ó�   € V'       d   VP                  \        4       \        P                  WW#4       WPn        W`n        Wpn        R # r   )rø   ÚPLISTHEADERrã   r   Ú
_sort_keysÚ	_skipkeysr�   )r   rå   rè   rç   ÚwriteHeaderrj   rk   rZ   s   &&&&&&&&r   r   Ú_PlistWriter.__init__^  s3   € ÷ Ø�J‰J”{Ô#Ü×Ñ ¨LÔAØ#ŒØ!ŒØ-Ör   c                ól   € V P                  R 4       V P                  V4       V P                  R4       R# )z<plist version="1.0">z</plist>N)rë   Úwrite_valuer­   s   &&r   rø   Ú_PlistWriter.writei  s)   € Ø�‰Ð.Ô/Ø×Ñ˜ÔØ�‰�ZÖ r   c                óŽ  € \        V\        4      '       d   V P                  R V4       R
# VRJ d   V P                  R4       R
# VRJ d   V P                  R4       R
# \        V\        4      '       d9   RTu;8:  d   R8  d   M MV P                  RRV,          4       R
# \	        V4      h\        V\
        4      '       d   V P                  R\        V4      4       R
# \        V\        4      '       d   V P                  V4       R
# \        V\        \        34      '       d   V P                  V4       R
# \        V\        P                  4      '       d(   V P                  R\        WP                  4      4       R
# \        V\        \         34      '       d   V P#                  V4       R
# \%        R	\'        V4      ,          4      h)ÚstringTÚtrueFÚfalseÚintegerz%dÚrealÚdatezunsupported type: %sNlûÿÿÿ         r   )r   rI   rô   r   ÚOverflowErrorrÕ   r"   rª   Ú
write_dictÚbytesÚ	bytearrayÚwrite_bytesrX   rd   r�   Útupler¬   Úwrite_arrayr   Útyper­   s   &&r   r  Ú_PlistWriter.write_valuen  sF  € Ü�eœS×!Ò!Ø×Ñ ¨%Ö0à�d‹]Ø×Ñ Ö'à�e‹^Ø×Ñ Ö(ä˜œs×#Ò#Ø˜5Ö* 7×*Ø×#Ñ# I¨t°e­|Ö<ä# EÓ*Ð*ä˜œu×%Ò%Ø×Ñ ¬¨U«Ö4ä˜œt×$Ò$Ø�O‰O˜EÖ"ä˜¤¤yÐ1×2Ò2Ø×Ñ˜UÖ#ä˜œx×0Ñ0×1Ò1Ø×Ñ Ü /°×7KÑ7KÓ LöNô ˜¤¤t˜}×-Ò-Ø×Ñ˜UÖ#ô Ð2´T¸%³[Õ@ÓAÐAr   c                ó°  € V P                  R 4       V ;P                  ^,          un        \        ^^L\        V P                  V P                  ,          P                  4       4      ,
          4      p\        W4      P                  R4       F  pV'       g   K  V P                  V4       K   	  V ;P                  ^,          un        V P                  R 4       R# )r   r÷   N)
rí   ræ   Úmaxr;   rç   Ú
expandtabsrF   Úsplitrë   rñ   )r   r   rA   rù   s   &&  r   r  Ú_PlistWriter.write_bytes‘  s£   € Ø×Ñ˜6Ô"Ø×Ò˜aÕÕÜØØ”�d—k‘k D×$6Ñ$6Õ6×BÑBÓDÓEÕEóGˆô # 4Ó7×=Ñ=¸eÖDˆDß‰tØ—‘˜TÖ"ñ Eð 	×Ò˜aÕÕØ×Ñ˜Ö r   c                ó†  € V'       d¨   V P                  R 4       \        WP                  V P                  4      pV F]  w  r4\	        V\
        4      '       g    V P                  '       d   K/  \        R4      hV P                  RV4       V P                  V4       K_  	  V P                  R 4       R# V P                  R 4       R# )rª   rf   r^   N)
rí   rm   r   r  r   rI   r   rô   r  rñ   )r   rc   rg   r^   r–   s   &&   r   r  Ú_PlistWriter.write_dictž  s–   € ßØ×Ñ˜vÔ&Ü §?¡?°D·N±NÓCˆEÛ#‘
�Ü! #¤s×+Ò+Ø—~—~�~Ù Ü#Ð$:Ó;Ð;Ø×#Ñ# E¨3Ô/Ø× Ñ  Ö'ñ $ð ×Ñ˜VÖ$ð ×Ñ Ö'r   c                ó´   € V'       d?   V P                  R 4       V F  pV P                  V4       K  	  V P                  R 4       R# V P                  R 4       R# )ÚarrayN)rí   r  rñ   rô   )r   r  r–   s   && r   r  Ú_PlistWriter.write_array®  sI   € ßØ×Ñ˜wÔ'Û�Ø× Ñ  Ö'ñ à×Ñ˜WÖ%ð ×Ñ Ö(r   )r�   r  r   N)rð   ó   	r¼   TFF)r!   r1   r2   r3   r   rø   r  r  r  r  r4   r5   r6   s   @r   rý   rý   ]  s*   ø‡ € ô	.ò!ò
!BòF!ò(÷ )ð )r   rý   c                 óŠ  € RpV F  pV P                  V4      '       g   K   R# 	  \        P                  R3\        P                  R3\        P                  R33 Fd  w  r4V P                  V4      '       g   K  V F@  pW5P                  R4      P                  V4      ,           pV R\        V4       V8X  g   K>    R# 	  Kf  	  R# )	ó   <?xmlTrH   z	utf-16-bez	utf-16-leÚasciiNF)r#  s   <plist)rÐ   ÚcodecsÚBOM_UTF8ÚBOM_UTF16_BEÚBOM_UTF16_LEÚdecoderK   r;   )ÚheaderÚprefixesÚpfxÚbomÚencodingÚstartÚprefixs   &      r   Ú_is_fmt_xmlr1  ¹  s´   € Ø$€HãˆØ×Ñ˜S×!Ô!Úñ ô —‘ 'Ð*Ü×$Ñ$ kÐ2Ü×$Ñ$ kÐ2ó‰ˆð × Ñ  ×%Ò%ÙãˆEØŸ<™<¨Ó0×7Ñ7¸ÓAÕAˆFØ�l”s˜6“{Ð# vÖ-Ûó ññ  r   c                   ó*   a € ] tR tRt o RR ltRtV tR# )r   iÚ  c                ó0   € \         P                  W4       R # r   )r   r   )r   Úmessages   &&r   r   ÚInvalidFileException.__init__Û  s   € Ü×Ñ˜DÖ*r   © N)zInvalid file)r!   r1   r2   r3   r   r4   r5   r6   s   @r   r   r   Ú  s   ø‡ € ÷+ò +r   ÚBÚHÚLÚQc                   óR   a € ] tR tRt o RtRR ltR tR tR tR t	R t
R	 tR
tV tR# )Ú_BinaryPlistParseriâ  zï
Read or write a binary plist file, following the description of the binary
format.  Raise InvalidFileException in case of error, otherwise return the
root object.

see also: http://opensource.apple.com/source/CF/CF-744.18/CFBinaryPList.c
c                ó   € Wn         W n        R # r   )r€   Ú_aware_datimer‚   s   &&&r   r   Ú_BinaryPlistParser.__init__ê  s   € Ø#ŒØ+Ör   c                ó(  €  Wn         V P                   P                  R\        P                  4       V P                   P	                  ^ 4      p\        V4      ^ 8w  d   \        4       h\        P                  ! RV4      w  q0n	        rEpV P                   P                  V4       V P                  WC4      V n        \        .V,          V n        V P                  V4      #   \        \         \        P"                  \$        \&        3 d    \        4       hi ; i)é    z>6xBBQQQiàÿÿÿ)Ú_fpÚseekÚosÚSEEK_ENDÚreadr;   r   ÚstructÚunpackÚ	_ref_sizeÚ
_read_intsÚ_object_offsetsÚ
_undefinedÚ_objectsÚ_read_objectÚOSErrorÚ
IndexErrorÚerrorr  r   )r   ÚfpÚtrailerÚoffset_sizeÚnum_objectsÚ
top_objectÚoffset_table_offsets   &&     r   r‘   Ú_BinaryPlistParser.parseî  sÕ   € ð	)ð ŒHØ�H‰H�M‰M˜#œrŸ{™{Ô+Ø—h‘h—m‘m BÓ'ˆGÜ�7‹|˜rÔ!Ü*Ó,Ð,ô —’˜j¨'Ó2ñØœ^¨[Ø#à�H‰H�M‰MÐ-Ô.Ø#'§?¡?°;Ó#LˆDÔ Ü'˜L¨;Õ6ˆDŒMØ×$Ñ$ ZÓ0Ð0øäœ¤V§\¡\´=Üðô 	)ä&Ó(Ð(ð	)ús   ‚CC Ã5Dc                ó  € V^8X  d}   V P                   P                  ^4      ^ ,          ^,          p^V,          pR\        V,          ,           p\        P                  ! W@P                   P                  V4      4      ^ ,          # V# )z#return the size of the next object.rs   )rB  rF  Ú_BINARY_FORMATrG  rH  )r   ÚtokenLrx   r@   Úfs   &&   r   Ú	_get_sizeÚ_BinaryPlistParser._get_size  sc   € à�SŒ=Ø—‘—‘˜aÓ  Õ# cÕ)ˆAØ�Q•ˆAØ”n QÕ'Õ'ˆAÜ—=’= §H¡H§M¡M°!Ó$4Ó5°aÕ8Ð8àˆr   c                ó  € \        V\        4      pV P                  P                  V4      p \	        V4      V8w  d   \
        hW!8X  d   V# \        W!V,
          4      pW0P                  P                  V4      ,          pW$,          pK\  )T)ÚminÚ_MIN_READ_BUF_SIZErB  rF  r;   r   )r   ÚsizeÚcursizer   Údeltas   &&   r   Ú_readÚ_BinaryPlistParser._read  sk   € Ü�dÔ.Ó/ˆØ�x‰x�}‰}˜WÓ%ˆØÜ�4‹y˜GÔ#Ü*Ð*ØŒØ�Ü˜¨¥Ó0ˆEØ—H‘H—M‘M %Ó(Õ(ˆDØÕŠGr   c                ón  aa€ V P                  SV,          4      oS\        9   d(   \        P                  ! R V \        S,           2S4      # S'       g   \	        4       h\
        ;QJ d*    . VV3R l\        ^ SV,          S4       4       F  NK  	  5# ! VV3R l\        ^ SV,          S4       4       4      # )rs   c              3   ób   <"  € T F$  p\         P                  SWS,            R 4      x € K&  	  R# 5i)ÚbigN)r   Ú
from_bytes)Ú.0rD   r   rb  s   & €€r   Ú	<genexpr>Ú0_BinaryPlistParser._read_ints.<locals>.<genexpr>$  s/   øé € ð <Ù":˜Qô Ÿ™¨¨Q°DµÐ(9¸5×AÐAÛ":ùs   ƒ,/)re  rZ  rG  rH  r   r  r:   )r   Únrb  r   s   &&f@r   rJ  Ú_BinaryPlistParser._read_ints  s—   ù€ Ø�z‰z˜$ �(Ó#ˆØ”>Ô!Ü—=’= 1 Q C¬°tÕ(<Ð'=Ð!>ÀÓEÐEçÜ*Ó,Ð,ß”5õ <Ü"'¨¨4°!­8°TÔ":ó<—5ð <�5õ <Ü"'¨¨4°!­8°TÔ":ó<ó <ð <r   c                ó8   € V P                  WP                  4      # r   )rJ  rI  )r   rn  s   &&r   Ú
_read_refsÚ_BinaryPlistParser._read_refs'  s   € Ø�‰˜q§.¡.Ó1Ð1r   c                ór  € V P                   V,          pV\        Jd   V# V P                  V,          pV P                  P	                  V4       V P                  P                  ^4      ^ ,          pV^ð,          V^,          reV^ 8X  d   RpEM„V^8X  d   RpEMyV^	8X  d   RpEMnV^8X  d   RpEMcV^8X  d>   \        P                  V P                  P                  ^V,          4      RV^8¬  R7      pEMV^"8X  d:   \        P                  ! RV P                  P                  ^4      4      ^ ,          pEMßV^#8X  d:   \        P                  ! RV P                  P                  ^4      4      ^ ,          pEMŸV^38X  d«   \        P                  ! RV P                  P                  ^4      4      ^ ,          pV P                  '       d*   \        P                  ! R	^^\        P                  R
7      pM\        P                  ! R	^^4      pV\        P                  ! VR7      ,           pEMîV^@8X  d%   V P                  V4      p	V P                  V	4      pEMÃV^P8X  d6   V P                  V4      p	V P                  V	4      p
V
P!                  R4      pEM‡V^`8X  d=   V P                  V4      ^,          p	V P                  V	4      p
V
P!                  R4      pEMDV^€8X  dA   \#        \        P                  V P                  P                  ^V,           4      R4      4      pMýV^ 8X  d]   V P                  V4      p	V P%                  V	4      p. pW P                   V&   V F#  pVP'                  V P)                  V4      4       K%  	  MšV^Ð8X  dŠ   V P                  V4      p	V P%                  V	4      pV P%                  V	4      pV P+                  4       pW P                   V&    \-        WÛ4       F'  w  rïV P)                  V4      W P)                  V4      &   K)  	  M
\1        4       hW P                   V&   V#   \.         d    \1        4       hi ; i)z`
read the object by reference.

May recursively read sub-objects (content of an array/dict/set)
NFTr   ri  ©Úsignedz>fz>déÑ  ©rO   )Úsecondsr$  úutf-16be)rM  rL  rK  rB  rC  rF  r   rj  rG  rH  r>  rX   rY   Ú	timedeltar]  re  r)  r   rq  r<   rN  r€   Úzipr   r   )r   ÚrefÚresultÚoffsetÚtokenÚtokenHr[  r\  Úepochr@   r   Úobj_refsÚxÚkey_refsÚkÚos   &&              r   rN  Ú_BinaryPlistParser._read_object*  sY  € ð —‘˜sÕ#ˆØœÓ#ØˆMà×%Ñ% cÕ*ˆØ�‰�‰�fÔØ—‘—‘˜aÓ  Õ#ˆØ � u¨t¥|�à�DŒ=ØŠFà�dŒ]ØŠFà�dŒ]ØŠFð
 �dŒ]ØŠFà�tŒ^Ü—^‘^ D§H¡H§M¡M°!°vµ+Ó$>Ø$)°&¸A±+ð $ó ?ŠFð �dŒ]Ü—]’] 4¨¯©¯©°qÓ)9Ó:¸1Õ=ŠFà�dŒ]Ü—]’] 4¨¯©¯©°qÓ)9Ó:¸1Õ=ŠFà�dŒ]Ü—’˜d D§H¡H§M¡M°!Ó$4Ó5°aÕ8ˆAð ×!×!Ð!Ü ×)Ò)¨$°°1¼X¿\¹\ÔJ‘ä ×)Ò)¨$°°1Ó5�ØœX×/Ò/¸Ô:Õ:ŠFà�tŒ^Ø—‘˜vÓ&ˆAØ—Z‘Z “]ŠFà�tŒ^Ø—‘˜vÓ&ˆAØ—:‘:˜a“=ˆDØ—[‘[ Ó)ŠFà�tŒ^Ø—‘˜vÓ&¨Õ*ˆAØ—:‘:˜a“=ˆDØ—[‘[ Ó,ŠFà�tŒ^äœŸ™¨¯©¯©°a¸&µjÓ(AÀ5ÓIÓJ‰Fà�tŒ^Ø—‘˜vÓ&ˆAØ—‘ qÓ)ˆHØˆFØ!'�M‰M˜#ÑÛ�Ø—‘˜d×/Ñ/°Ó2Ö3ò ð �tŒ^Ø—‘˜vÓ&ˆAØ—‘ qÓ)ˆHØ—‘ qÓ)ˆHØ—_‘_Ó&ˆFØ!'�M‰M˜#Ñð-Ü Ö3‘D�AØ37×3DÑ3DÀQÓ3G�F×,Ñ,¨QÓ/Ó0ò 4ô
 'Ó(Ð(à#�‰�cÑØˆøô ô -Ü*Ó,Ð,ð-ús   Ï6P  Ð P6)r>  r€   rB  rK  rM  rI  Nrá   )r!   r1   r2   r3   Ú__doc__r   r‘   r]  re  rJ  rq  rN  r4   r5   r6   s   @r   r<  r<  â  s4   ø‡ € ñô,ò)ò2ò
ò<ò2÷að ar   r<  c                 ó<   € V R8  d   ^# V R8  d   ^# V R8  d   ^# ^# )r¼   é   é   ì        r6  )Úcounts   &r   Ú_count_to_sizerŽ  �  s%   € Øˆv„~Ùà	�ŒÙà	�ŒÙñ r   c                   óH   a € ] tR tRt o R
R ltR tR tR tR tR t	Rt
V tR	# )Ú_BinaryPlistWriteriœ  c                ó6   € Wn         W n        W0n        W@n        R # r   )rB  r   r  r�   )r   rR  rj   rk   rZ   s   &&&&&r   r   Ú_BinaryPlistWriter.__init__�  s   € ØŒØ#ŒØ!ŒØ-Ör   c                ó  € . V n         / V n        / V n        V P                  V4       \	        V P                   4      p^ .V,          V n        \        V4      V n        \        V P                  ,          V n	        V P                  P                  R4       V P                    F  pV P                  V4       K  	  V P                  V4      pV P                  P                  4       p\        V4      pR\        V,          V,          ,           pV P                  P                  \        P                   ! V.V P
                  O5!  4       ^ pW†V P                  VWE3p	V P                  P                  \        P                   ! R.V	O5!  4       R# )rð   ó   bplist00rs   z	>5xBBBQQQN)Ú_objlistÚ	_objtableÚ_objidtableÚ_flattenr;   rK  rŽ  rI  rZ  Ú_ref_formatrB  rø   Ú_write_objectÚ
_getrefnumÚtellrG  Úpack)
r   r–   rU  ÚobjrV  rW  rT  Úoffset_formatÚsort_versionrS  s
   &&        r   rø   Ú_BinaryPlistWriter.write£  s4  € ð ˆŒð ˆŒØˆÔð 	�‰�eÔô ˜$Ÿ-™-Ó(ˆØ !˜s ;�ˆÔÜ'¨Ó4ˆŒä)¨$¯.©.Õ9ˆÔð 	�‰�‰�{Ô#ð —=”=ˆCØ×Ñ˜sÖ#ñ !ð —_‘_ UÓ+ˆ
Ø"Ÿh™hŸm™m›oÐÜ$Ð%8Ó9ˆØœn¨[Õ9¸KÕGÕGˆØ�‰�‰”v—{’{ =ÐH°4×3GÑ3GÓHÔIð ˆà t§~¡~°{Øð
ˆð 	�‰�‰”v—{’{ ;Ð9°Ó9Ö:r   c                óž  € \        V\        4      '       d    \        V4      V3V P                  9   d   R # M\	        V4      V P
                  9   d   R # \        V P                  4      pV P                  P                  V4       \        V\        4      '       d   W P                  \        V4      V3&   MW P
                  \	        V4      &   \        V\        4      '       d·   . p. p\        WP                  V P                  4      pV F\  w  rg\        V\        4      '       g    V P                  '       d   K/  \        R4      hVP                  V4       VP                  V4       K^  	  \        P                   ! W44       F  pV P#                  V4       K  	  R # \        V\$        \&        34      '       d   V F  pV P#                  V4       K  	  R # R # )Nrf   )r   Ú_scalarsr  r–  Úidr—  r;   r•  r<   rª   rm   r   r  rI   r   Ú	itertoolsÚchainr˜  r¬   r  )	r   r–   ÚrefnumÚkeysÚvaluesrg   r…  Úvr†  s	   &&       r   r˜  Ú_BinaryPlistWriter._flattenÐ  s_  € ô �eœX×&Ò&Ü�U“˜UÐ# t§~¡~Ô5Ùð 6ô �‹Y˜$×*Ñ*Ô*Ùô �T—]‘]Ó#ˆØ�‰×Ñ˜UÔ#Ü�eœX×&Ò&Ø39�N‰NœD ›K¨Ð/Ò0à*0×ÑœR ›YÑ'ô �eœT×"Ò"ØˆDØˆFÜ §¡¸¿¹ÓGˆEÛ‘�Ü! !¤S×)Ò)Ø—~—~�~Ù Ü#Ð$:Ó;Ð;Ø—‘˜A”Ø—‘˜aÖ ñ ô —_’_ TÖ2�Ø—‘˜aÖ ó 3ô ˜¤¤e˜}×-Ò-Û�Ø—‘˜aÖ ó ñ .r   c                ó¢   € \        V\        4      '       d   V P                  \        V4      V3,          # V P                  \        V4      ,          # r   )r   r£  r–  r  r—  r¤  r­   s   &&r   r›  Ú_BinaryPlistWriter._getrefnum÷  s<   € Ü�eœX×&Ò&Ø—>‘>¤4¨£;°Ð"6Õ7Ð7à×#Ñ#¤B u£IÕ.Ð.r   c                ó‚  € V^8  d9   V P                   P                  \        P                  ! RW,          4      4       R# VR8  d<   V P                   P                  \        P                  ! RV^,          ^V4      4       R# VR8  d<   V P                   P                  \        P                  ! RV^,          ^V4      4       R# VR	8  d<   V P                   P                  \        P                  ! RV^,          ^V4      4       R# V P                   P                  \        P                  ! RV^,          ^V4      4       R# )
é   z>Bz>BBBz>BBHz>BBLz>BBQNrŠ  r‹  rŒ  )rB  rø   rG  r�  )r   r  rb  s   &&&r   Ú_write_sizeÚ_BinaryPlistWriter._write_sizeý  sÉ   € Ø�"Œ9Ø�H‰H�N‰Nœ6Ÿ;š; t¨U­\Ó:Ö;à�FŒ]Ø�H‰H�N‰Nœ6Ÿ;š; v¨u°s­{¸DÀ$ÓGÖHà�GŒ^Ø�H‰H�N‰Nœ6Ÿ;š; v¨u°s­{¸DÀ$ÓGÖHà�GŒ^Ø�H‰H�N‰Nœ6Ÿ;š; v¨u°s­{¸DÀ$ÓGÖHð �H‰H�N‰Nœ6Ÿ;š; v¨u°s­{¸DÀ$ÓGÖHr   c           	     óÌ  € V P                  V4      pV P                  P                  4       V P                  V&   Vf   V P                  P	                  R4       R # VRJ d   V P                  P	                  R4       R # VRJ d   V P                  P	                  R4       R # \        V\        4      '       Edl   V^ 8  d5    V P                  P	                  \        P                  ! R^V4      4       R # VR8  d4   V P                  P	                  \        P                  ! R^V4      4       R # VR8  d4   V P                  P	                  \        P                  ! R^V4      4       R # VR8  d4   V P                  P	                  \        P                  ! R	^V4      4       R # VR8  d4   V P                  P	                  \        P                  ! R
^V4      4       R # VR8  d7   V P                  P	                  RVP                  ^RRR7      ,           4       R # \        V4      h\        V\        4      '       d4   V P                  P	                  \        P                  ! R^#V4      4       R # \        V\        P                  4      '       dÒ   V P                  '       d`   VP                  \        P                   4      pV\        P                  ! R^^\        P                   R7      ,
          pVP#                  4       pM-V\        P                  ! R^^4      ,
          P#                  4       pV P                  P	                  \        P                  ! R^3V4      4       R # \        V\$        \&        34      '       d9   V P)                  ^@\+        V4      4       V P                  P	                  V4       R # \        V\,        4      '       dK    VP/                  R4      pV P)                  ^P\+        V4      4       V P                  P	                  V4       R # \        V\2        4      '       Ed8   VP4                  ^ 8  d   \7        R4      hVP4                  R8  d4   V P                  P	                  \        P                  ! R^€V4      4       R # VP4                  R8  d4   V P                  P	                  \        P                  ! R^�V4      4       R # VP4                  R8  d4   V P                  P	                  \        P                  ! R	^ƒV4      4       R # VP4                  R8  d4   V P                  P	                  \        P                  ! R
^‡V4      4       R # \        V4      h\        V\8        \:        34      '       dˆ   V Uu. uF  qpP                  V4      NK  	  pp\+        V4      p	V P)                  ^ V	4       V P                  P	                  \        P                  ! RV P<                  V	,          ,           .VO5!  4       R # \        V\>        4      '       EdU   . . rº\A        WPB                  V PD                  4      pV Fz  w  rÞ\        V\,        4      '       g    V PD                  '       d   K/  \G        R4      hV
PI                  V P                  V4      4       VPI                  V P                  V4      4       K|  	  \+        V
4      p	V P)                  ^ÐV	4       V P                  P	                  \        P                  ! RV P<                  V	,          ,           .V
O5!  4       V P                  P	                  \        P                  ! RV P<                  V	,          ,           .VO5!  4       R # \G        V4      h  \        P                   d    \        T4      R hi ; i  \0         d8    TP/                  R4      pT P)                  ^`\+        T4      ^,          4        ELêi ; iu upi )Nó    Fó   Tr!  z>Bqz>BBz>BHz>BLz>BQó   ri  rt  z>Bdrv  rw  r$  ry  r
   rs   rf   rŠ  r‹  rŒ  l            r   )%r›  rB  rœ  rK  rø   r   r   rG  r�  rQ  r  Úto_bytesrÕ   rX   r�   rb   rY   Útotal_secondsr  r  r°  r;   rI   rK   ÚUnicodeEncodeErrorr   r   r   r¬   r  r™  rª   rm   r   r  r   r<   )r   r–   r|  Údtr~  r\  Útr†  Úrefsr@   ÚkeyRefsÚvalRefsÚ	rootItemsr…  rª  s   &&             r   rš  Ú _BinaryPlistWriter._write_object  s[  € Ø�o‰o˜eÓ$ˆØ$(§H¡H§M¡M£Oˆ×Ñ˜SÑ!ØŠ=Ø�H‰H�N‰N˜7Ö#à�e‹^Ø�H‰H�N‰N˜7Ö#à�d‹]Ø�H‰H�N‰N˜7Ö#ä˜œs×#Ó#Ø�qŒyð9Ø—H‘H—N‘N¤6§;¢;¨u°d¸EÓ#BÖCð ˜”Ø—‘—‘œvŸ{š{¨5°$¸Ó>Ö?Ø˜”Ø—‘—‘œvŸ{š{¨5°$¸Ó>Ö?Ø˜”Ø—‘—‘œvŸ{š{¨5°$¸Ó>Ö?Ø˜”Ø—‘—‘œvŸ{š{¨5°$¸Ó>Ö?Ø˜”Ø—‘—‘˜w¨¯©¸¸EÈ$¨Ó)OÕOÖPä# EÓ*Ð*ä˜œu×%Ò%Ø�H‰H�N‰Nœ6Ÿ;š; u¨d°EÓ:Ö;ä˜œx×0Ñ0×1Ò1Ø×#×#Ð#Ø×%Ñ%¤h§l¡lÓ3�Øœh×/Ò/°°a¸Ä8Ç<Á<ÔPÕP�Ø×(Ñ(Ó*‘àœX×.Ò.¨t°Q¸Ó:Õ:×IÑIÓK�Ø�H‰H�N‰Nœ6Ÿ;š; u¨d°AÓ6Ö7ä˜¤¤yÐ1×2Ò2Ø×Ñ˜T¤3 u£:Ô.Ø�H‰H�N‰N˜5Ö!ä˜œs×#Ò#ð4Ø—L‘L Ó)�Ø× Ñ  ¤s¨5£zÔ2ð
 �H‰H�N‰N˜1Öä˜œs×#Ó#Ø�z‰z˜AŒ~Ü Ð!8Ó9Ð9Ø—‘˜fÔ$Ø—‘—‘œvŸ{š{¨5°$¸Ó>Ö?Ø—‘˜gÔ%Ø—‘—‘œvŸ{š{¨5°$¸Ó>Ö?Ø—‘˜gÔ%Ø—‘—‘œvŸ{š{¨5°$¸Ó>Ö?Ø—‘˜gÔ%Ø—‘—‘œvŸ{š{¨5°$¸Ó>Ö?ä# EÓ*Ð*ä˜¤¤e˜}×-Ò-Ù05Ó6±¨1—O‘O AÖ&±ˆDÐ6Ü�D“	ˆAØ×Ñ˜T 1Ô%Ø�H‰H�N‰Nœ6Ÿ;š; s¨T×-=Ñ-=ÀÕ-AÕ'AÐIÀDÓIÖJä˜œt×$Ó$Ø! 2�Wä# E¯?©?¸D¿N¹NÓKˆIÛ!‘�Ü! !¤S×)Ò)Ø—~—~�~Ù Ü#Ð$:Ó;Ð;Ø—‘˜tŸ™¨qÓ1Ô2Ø—‘˜tŸ™¨qÓ1Ö2ñ "ô �G“ˆAØ×Ñ˜T 1Ô%Ø�H‰H�N‰Nœ6Ÿ;š; s¨T×-=Ñ-=ÀÕ-AÕ'AÐLÀGÓLÔMØ�H‰H�N‰Nœ6Ÿ;š; s¨T×-=Ñ-=ÀÕ-AÕ'AÐLÀGÓLÖMô ˜EÓ"Ð"øô_ —|‘|ô 9Ü'¨Ó.°DÐ8ð9ûôF &ô 4Ø—L‘L Ó,�Ø× Ñ  ¤s¨1£v°¥{×3ð4üò* 7s$   Â?1]7 Ï,^ Õ>_!Ý7"^Þ>_ß_)
r�   rB  rK  r—  r•  r–  r™  rI  r  r   Nrá   )r!   r1   r2   r3   r   rø   r˜  r›  r°  rš  r4   r5   r6   s   @r   r�  r�  œ  s-   ø‡ € ô.ò+;òZ%!òN/òI÷ _#ð _#r   r�  c                 ó   € V R ,          R8H  # ):Né   Nr”  r6  )r*  s   &r   Ú_is_fmt_binaryrÂ  o  s   € Ø�"�:˜Ñ$Ð$r   )Údetectr†   ÚwriterÚfmtrƒ   rZ   Fc               ó4  € Vfh   V P                  ^ 4      pV P                  ^ 4       \        P                  4        F#  pVR,          ! V4      '       g   K  VR,          p M 	  \	        4       h\        V,          R,          pV! W#R7      pVP                  V 4      # )z‡Read a .plist file. 'fp' should be a readable and binary file object.
Return the unpacked root object (which usually is a dictionary).
rÃ  r†   )rƒ   rZ   )rF  rC  Ú_FORMATSr©  r   r‘   )rR  rÅ  rƒ   rZ   r*  ÚinfoÚPÚps   &$$$    r   ÚloadrË  …  s€   € ð ‚{Ø—‘˜“ˆØ
�‰�Œ
Ü—O‘OÖ%ˆDØ�HŽ~˜f×%Ô%Ø˜•N�Ùñ &ô 'Ó(Ð(ô �S�M˜(Õ#ˆá	�IÔ=€AØ�7‰7�2‹;Ðr   c               óª   € \        V \        4      '       d'   V\        8X  d   \        R4      hV P	                  4       p \        V 4      p\        WAW#R7      # )ziRead a .plist file from a bytes object.
Return the unpacked root object (which usually is a dictionary).
z6value must be bytes-like object when fmt is FMT_BINARY)rÅ  rƒ   rZ   )r   rI   Ú
FMT_BINARYr   rK   r   rË  )r–   rÅ  rƒ   rZ   rR  s   &$$$ r   ÚloadsrÎ  ›  sL   € ô �%œ×ÒØ”*ÔÜð )ó *ð *à—‘“ˆÜ	�‹€BÜ� yÔPÐPr   rj   Trk   c               ó–   € V\         9  d   \        RV: 24      h\         V,          R,          ! WVVR7      pVP                  V 4       R# )zOWrite 'value' to a .plist file. 'fp' should be a writable,
binary file object.
zUnsupported format: rÄ  )rj   rk   rZ   N)rÇ  r   rø   )r–   rR  rÅ  rj   rk   rZ   rÄ  s   &&$$$$ r   ÚdumprÐ  ¨  sA   € ð
 ”(ÔÝ²3Ð8Ó9Ð9ä�c�]˜8Ö$ RÀxØ4BôD€Fà
‡L�L�Ör   c          	     óT   € \        4       p\        WWVVR7       VP                  4       # )z?Return a bytes object with the contents for a .plist file.
    )rÅ  rk   rj   rZ   )r   rÐ  Úgetvalue)r–   rÅ  rk   rj   rZ   rR  s   &$$$$ r   ÚdumpsrÓ  µ  s(   € ô 
‹€BÜˆ˜¸)Ø&õ(à�;‰;‹=Ðr   )r   ÚFMT_XMLrÍ  rË  rÐ  rÎ  rÓ  r   i   )éL   );rˆ  Ú__all__r=   r%  rX   ÚenumÚior   r¥  rD  ÚrerG  Úxml.parsers.expatr   ÚEnumr!   r   ÚglobalsÚupdateÚ__members__ra  r   rÿ   Úcompilert   rF   rL   ÚASCIIrU   r`   rd   rm   ry   r{   rã   rý   r1  r   r   rZ  ÚobjectrL  r<  rŽ  rI   r   rÕ   r  r£  r�  rÂ  rÔ  rª   rÍ  rÇ  rË  rÎ  rÐ  rÓ  r6  r   r   Ú<module>râ     s  ðñ7òp€ó Û Û Û Ý Û Û 	Û 	Û Ý *ð �iŠi˜Ð';ÀHÔM€Ù ƒ	× Ñ �×(Ñ(Ô )ð Ð ÷ñ ðB€ð —*’*ðIóJ€ôò&ð �jŠjð  Xð  Z\÷  Zbñ  Zbó  c€ò#òòò&
÷mPñ mP÷`#ñ #ôLY)�>ô Y)òxôB+˜Jô +ð �S˜!˜S ! S¨!¨SÐ1€á‹X€
÷iñ iòVð ��e˜X×.Ñ.°Ð6€ôP#˜&ô P#òf%ð ‰TØØØôð
 ‘ØØ!Ø!ôð
€ð�Dð  Dð ¸ô ð,
Q˜ð 
Q¨ð 
Q¸Uô 
Qð
˜7ð 
¨dð 
¸Uð 
Øô
ð˜ð ¨%ð ¸4ð Øör   