+
    Bi                     j   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ]P,                  ]P.                  3t]P,                  ]P2                  ! R4      ]P.                  ]P2                  ! R4      R]P2                  ! R	4      /tR
t. RNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NR/NR0NR1NR2NR3NR4NR5NR6NR7NR8NR9NR:NR;NR<NR=NR>NR?Nt ! R R]P:                  4      t ! R R]P:                  4      t ! R R]P:                  4      t  ! R R]P:                  4      t!]PD                  ! ]PF                  R8H  R4       ! R R]P:                  4      4       t$]%R8X  d   ]PL                  ! 4        R# R# )@    N)support)	os_helper)BytesIO)UIDs  
        PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NU
        WVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VO
        IiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4w
        LmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+YUJp
        Z0ludDwva2V5PgoJPGludGVnZXI+OTIyMzM3MjAzNjg1NDc3NTc2NDwvaW50
        ZWdlcj4KCTxrZXk+YUJpZ0ludDI8L2tleT4KCTxpbnRlZ2VyPjkyMjMzNzIw
        MzY4NTQ3NzU4NTI8L2ludGVnZXI+Cgk8a2V5PmFEYXRlPC9rZXk+Cgk8ZGF0
        ZT4yMDA0LTEwLTI2VDEwOjMzOjMzWjwvZGF0ZT4KCTxrZXk+YURpY3Q8L2tl
        eT4KCTxkaWN0PgoJCTxrZXk+YUZhbHNlVmFsdWU8L2tleT4KCQk8ZmFsc2Uv
        PgoJCTxrZXk+YVRydWVWYWx1ZTwva2V5PgoJCTx0cnVlLz4KCQk8a2V5PmFV
        bmljb2RlVmFsdWU8L2tleT4KCQk8c3RyaW5nPk3DpHNzaWcsIE1hw588L3N0
        cmluZz4KCQk8a2V5PmFub3RoZXJTdHJpbmc8L2tleT4KCQk8c3RyaW5nPiZs
        dDtoZWxsbyAmYW1wOyAnaGknIHRoZXJlISZndDs8L3N0cmluZz4KCQk8a2V5
        PmRlZXBlckRpY3Q8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5hPC9rZXk+CgkJ
        CTxpbnRlZ2VyPjE3PC9pbnRlZ2VyPgoJCQk8a2V5PmI8L2tleT4KCQkJPHJl
        YWw+MzIuNTwvcmVhbD4KCQkJPGtleT5jPC9rZXk+CgkJCTxhcnJheT4KCQkJ
        CTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8aW50ZWdlcj4yPC9pbnRlZ2Vy
        PgoJCQkJPHN0cmluZz50ZXh0PC9zdHJpbmc+CgkJCTwvYXJyYXk+CgkJPC9k
        aWN0PgoJPC9kaWN0PgoJPGtleT5hRmxvYXQ8L2tleT4KCTxyZWFsPjAuNTwv
        cmVhbD4KCTxrZXk+YUxpc3Q8L2tleT4KCTxhcnJheT4KCQk8c3RyaW5nPkE8
        L3N0cmluZz4KCQk8c3RyaW5nPkI8L3N0cmluZz4KCQk8aW50ZWdlcj4xMjwv
        aW50ZWdlcj4KCQk8cmVhbD4zMi41PC9yZWFsPgoJCTxhcnJheT4KCQkJPGlu
        dGVnZXI+MTwvaW50ZWdlcj4KCQkJPGludGVnZXI+MjwvaW50ZWdlcj4KCQkJ
        PGludGVnZXI+MzwvaW50ZWdlcj4KCQk8L2FycmF5PgoJPC9hcnJheT4KCTxr
        ZXk+YU5lZ2F0aXZlQmlnSW50PC9rZXk+Cgk8aW50ZWdlcj4tODAwMDAwMDAw
        MDA8L2ludGVnZXI+Cgk8a2V5PmFOZWdhdGl2ZUludDwva2V5PgoJPGludGVn
        ZXI+LTU8L2ludGVnZXI+Cgk8a2V5PmFTdHJpbmc8L2tleT4KCTxzdHJpbmc+
        RG9vZGFoPC9zdHJpbmc+Cgk8a2V5PmFuRW1wdHlEaWN0PC9rZXk+Cgk8ZGlj
        dC8+Cgk8a2V5PmFuRW1wdHlMaXN0PC9rZXk+Cgk8YXJyYXkvPgoJPGtleT5h
        bkludDwva2V5PgoJPGludGVnZXI+NzI4PC9pbnRlZ2VyPgoJPGtleT5uZXN0
        ZWREYXRhPC9rZXk+Cgk8YXJyYXk+CgkJPGRhdGE+CgkJUEd4dmRITWdiMlln
        WW1sdVlYSjVJR2QxYm1zK0FBRUNBenhzYjNSeklHOW1JR0pwYm1GeWVTQm5k
        VzVyCgkJUGdBQkFnTThiRzkwY3lCdlppQmlhVzVoY25rZ1ozVnVhejRBQVFJ
        RFBHeHZkSE1nYjJZZ1ltbHVZWEo1CgkJSUdkMWJtcytBQUVDQXp4c2IzUnpJ
        RzltSUdKcGJtRnllU0JuZFc1clBnQUJBZ004Ykc5MGN5QnZaaUJpCgkJYVc1
        aGNua2daM1Z1YXo0QUFRSURQR3h2ZEhNZ2IyWWdZbWx1WVhKNUlHZDFibXMr
        QUFFQ0F6eHNiM1J6CgkJSUc5bUlHSnBibUZ5ZVNCbmRXNXJQZ0FCQWdNOGJH
        OTBjeUJ2WmlCaWFXNWhjbmtnWjNWdWF6NEFBUUlECgkJUEd4dmRITWdiMlln
        WW1sdVlYSjVJR2QxYm1zK0FBRUNBdz09CgkJPC9kYXRhPgoJPC9hcnJheT4K
        CTxrZXk+c29tZURhdGE8L2tleT4KCTxkYXRhPgoJUEdKcGJtRnllU0JuZFc1
        clBnPT0KCTwvZGF0YT4KCTxrZXk+c29tZU1vcmVEYXRhPC9rZXk+Cgk8ZGF0
        YT4KCVBHeHZkSE1nYjJZZ1ltbHVZWEo1SUdkMWJtcytBQUVDQXp4c2IzUnpJ
        RzltSUdKcGJtRnllU0JuZFc1clBnQUJBZ004CgliRzkwY3lCdlppQmlhVzVo
        Y25rZ1ozVnVhejRBQVFJRFBHeHZkSE1nYjJZZ1ltbHVZWEo1SUdkMWJtcytB
        QUVDQXp4cwoJYjNSeklHOW1JR0pwYm1GeWVTQm5kVzVyUGdBQkFnTThiRzkw
        Y3lCdlppQmlhVzVoY25rZ1ozVnVhejRBQVFJRFBHeHYKCWRITWdiMllnWW1s
        dVlYSjVJR2QxYm1zK0FBRUNBenhzYjNSeklHOW1JR0pwYm1GeWVTQm5kVzVy
        UGdBQkFnTThiRzkwCgljeUJ2WmlCaWFXNWhjbmtnWjNWdWF6NEFBUUlEUEd4
        dmRITWdiMllnWW1sdVlYSjVJR2QxYm1zK0FBRUNBdz09Cgk8L2RhdGE+Cgk8
        a2V5PsOFYmVucmFhPC9rZXk+Cgk8c3RyaW5nPlRoYXQgd2FzIGEgdW5pY29k
        ZSBrZXkuPC9zdHJpbmc+CjwvZGljdD4KPC9wbGlzdD4Ks\  
        YnBsaXN0MDDfEBABAgMEBQYHCAkKCwwNDg8QERITFCgpLzAxMjM0NTc2OFdh
        QmlnSW50WGFCaWdJbnQyVWFEYXRlVWFEaWN0VmFGbG9hdFVhTGlzdF8QD2FO
        ZWdhdGl2ZUJpZ0ludFxhTmVnYXRpdmVJbnRXYVN0cmluZ1thbkVtcHR5RGlj
        dFthbkVtcHR5TGlzdFVhbkludFpuZXN0ZWREYXRhWHNvbWVEYXRhXHNvbWVN
        b3JlRGF0YWcAxQBiAGUAbgByAGEAYRN/////////1BQAAAAAAAAAAIAAAAAA
        AAAsM0GcuX30AAAA1RUWFxgZGhscHR5bYUZhbHNlVmFsdWVaYVRydWVWYWx1
        ZV1hVW5pY29kZVZhbHVlXWFub3RoZXJTdHJpbmdaZGVlcGVyRGljdAgJawBN
        AOQAcwBzAGkAZwAsACAATQBhAN9fEBU8aGVsbG8gJiAnaGknIHRoZXJlIT7T
        HyAhIiMkUWFRYlFjEBEjQEBAAAAAAACjJSYnEAEQAlR0ZXh0Iz/gAAAAAAAA
        pSorLCMtUUFRQhAMoyUmLhADE////+1foOAAE//////////7VkRvb2RhaNCg
        EQLYoTZPEPo8bG90cyBvZiBiaW5hcnkgZ3Vuaz4AAQIDPGxvdHMgb2YgYmlu
        YXJ5IGd1bms+AAECAzxsb3RzIG9mIGJpbmFyeSBndW5rPgABAgM8bG90cyBv
        ZiBiaW5hcnkgZ3Vuaz4AAQIDPGxvdHMgb2YgYmluYXJ5IGd1bms+AAECAzxs
        b3RzIG9mIGJpbmFyeSBndW5rPgABAgM8bG90cyBvZiBiaW5hcnkgZ3Vuaz4A
        AQIDPGxvdHMgb2YgYmluYXJ5IGd1bms+AAECAzxsb3RzIG9mIGJpbmFyeSBn
        dW5rPgABAgM8bG90cyBvZiBiaW5hcnkgZ3Vuaz4AAQIDTTxiaW5hcnkgZ3Vu
        az5fEBdUaGF0IHdhcyBhIHVuaWNvZGUga2V5LgAIACsAMwA8AEIASABPAFUA
        ZwB0AHwAiACUAJoApQCuALsAygDTAOQA7QD4AQQBDwEdASsBNgE3ATgBTwFn
        AW4BcAFyAXQBdgF/AYMBhQGHAYwBlQGbAZ0BnwGhAaUBpwGwAbkBwAHBAcIB
        xQHHAsQC0gAAAAAAAAIBAAAAAAAAADkAAAAAAAAAAAAAAAAAAALsKEYED_ARCHIVEs~  
        YnBsaXN0MDDUAQIDBAUGHB1YJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVy
        VCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVnB5dHlwZVYkY2xhc3NZTlMu
        c3RyaW5nEAGAAl8QE0tleUFyY2hpdmUgVUlEIFRlc3TTEBESExQZWiRjbGFz
        c25hbWVYJGNsYXNzZXNbJGNsYXNzaGludHNfEBdPQ19CdWlsdGluUHl0aG9u
        VW5pY29kZaQVFhcYXxAXT0NfQnVpbHRpblB5dGhvblVuaWNvZGVfEBBPQ19Q
        eXRob25Vbmljb2RlWE5TU3RyaW5nWE5TT2JqZWN0ohobXxAPT0NfUHl0aG9u
        U3RyaW5nWE5TU3RyaW5nXxAPTlNLZXllZEFyY2hpdmVy0R4fVHJvb3SAAQAI
        ABEAGgAjAC0AMgA3ADsAQQBIAE8AVgBgAGIAZAB6AIEAjACVAKEAuwDAANoA
        7QD2AP8BAgEUAR0BLwEyATcAAAAAAAACAQAAAAAAAAAgAAAAAAAAAAAAAAAA
        AAABOQ==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" [
   <!ENTITY entity "replacement text">
  ]>
<plist version="1.0">
  <dict>
    <key>A</key>
    <string>&entity;</string>
  </dict>
</plist>
c                     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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 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/ t0R0 t1R1 t2R2 t3]4Pj                  ! R3]6Pn                  ! 4       9   R44      R5 4       t8R6 t9]4Pj                  ! R3]6Pn                  ! 4       9   R44      R7 4       t:R8 t;R9 t<R:t=V t>R# )<TestPlistlibi  c                `     \         P                  ! \        P                  4       R #     R # ; iN)osunlinkr   TESTFNselfs   &)/usr/lib/python3.14/test/test_plistlib.pytearDownTestPlistlib.tearDown  s#    	IIi&&'	s   $( -Nc                    \        R RR^R. RO.RRRRRR\        RRRR	\        ^R. ROR
7      R7      RRR.\        P                  ! R^
^^
^!^!4      \        4       \        4       R7      pRVR&   V# )DoodahABg     @@@g      ?i  z<hello & 'hi' there!>u   Mässig, MaßTFabc)anotherStringaUnicodeValue
aTrueValueaFalseValue
deeperDict   <binary gunk>  )aStringaListaFloatanIntaBigIntaBigInt2aNegativeIntaNegativeBigIntaDictsomeDatasomeMoreData
nestedDataaDateanEmptyDictanEmptyListzThat was a unicode key.u   Åbenraa)         l    l   ,        l  @J )r2   r3   text   <lots of binary gunk> <lots of binary gunk> <lots of binary gunk> <lots of binary gunk> <lots of binary gunk> <lots of binary gunk> <lots of binary gunk> <lots of binary gunk> <lots of binary gunk> <lots of binary gunk> )dictdatetimelist)r   fmtpls   && r   _createTestPlistlib._create  s    Ry1"#*51!"? (@?@%%dBBB?&&+
. 5<	    c                    V P                  4       pV P                  VR ,          R4       V P                  VR,          R,          R4       R# )r#   r   r+   r   FN)r=   assertEqual)r   r<   s   & r   test_createTestPlistlib.test_create  s:    \\^I1G]3U;r?   c                T   V P                  4       p\        \        P                  R 4      ;_uu_ 4       p\        P
                  ! W4       RRR4       \        \        P                  R4      ;_uu_ 4       p\        P                  ! V4      pRRR4       V P                  \        V4      \        X4      4       V P                  \        \        P
                  VR4       V P                  \        \        P                  R4       R#   + '       g   i     L; i  + '       g   i     L; i)wbNrbfilename)r=   openr   r   plistlibdumploadrA   r8   assertRaisesAttributeError)r   r<   fppl2s   &   r   test_ioTestPlistlib.test_io  s    \\^)""D))RMM"! * )""D))R--#C * 	b49-.(--ZH.(--D *) *)s   D4DD	D'	c           
         \        4       .p\         FL  pV P                  VR 7      ;_uu_ 4        V P                  \        \
        P                  WR 7       RRR4       KN  	  R#   + '       g   i     Kc  ; ir;   N)objectALL_FORMATSsubTestrL   	TypeErrorrI   dumps)r   r<   r;   s   &  r   test_invalid_typeTestPlistlib.test_invalid_type  sQ    x\C#&&!!)X^^R!I '& &&&s   'A$$A5c                   V P                  \        4      ;_uu_ 4        \        R 4       RRR4       V P                  \        4      ;_uu_ 4        \        R4       RRR4       V P                  \        4      ;_uu_ 4        \        R4       RRR4       R#   + '       g   i     Lt; i  + '       g   i     LV; i  + '       g   i     R# ; i)z
not an intN            i)rL   rX   r   
ValueErrorr   s   &r   test_invalid_uidTestPlistlib.test_invalid_uid  sw    y)) *z**L +z**H +*	 *)*****s#   BB) B<B&	)B9	<C	c                   R F  p\          F  pV P                  WR7      ;_uu_ 4        \        P                  ! WR7      p\        P                  ! V4      pV P                  V\        4       V P                  W4       \        P                  ! WBR7      pV P                  W54       RRR4       K  	  K  	  \          Fo  pR^^,          ^,
          R^^,          ) 3 FL  pV P                  WR7      ;_uu_ 4        V P                  \        \        P                  WR7       RRR4       KN  	  Kq  	  R#   + '       g   i     EK7  ; i  + '       g   i     K|  ; i)r   r<   r;   rT   N)r         i     l            l    l    r2   l         l           l         )
rV   rW   rI   rY   loadsassertIsInstanceintrA   rL   OverflowErrorr   r<   r;   datarO   data2s   &     r   test_intTestPlistlib.test_int  s   0B"\\R\11#>>"6D"...C))#s3$$R-$NN38E$$T1 21 #0 C"AHQJc	B\\R\11%%mX^^&( & 3 21 C  211 211s   A=D1	8'E	1EEc           	        R F  p\          F  pV P                  WR7      ;_uu_ 4        \        P                  ! \	        V4      VR7      p\        P
                  ! V4      pV P                  V\        4       V P                  WA4       \        P                  ! WBR7      pV P                  W54       RRR4       K  	  K  	  R#   + '       g   i     K  ; i)r!   rb   rT   N)r!   r7   )	rV   rW   rI   rY   	bytearrayrg   rh   bytesrA   rk   s   &     r   test_bytearrayTestPlistlib.test_bytearray  s    KB"\\R\11#>>)B-SAD"...C))#u5$$S-$NN38E$$T1 21 # L111s   BC	Cc                   V P                  4       p\        P                  ! V4      p\        P                  ! V4      pV P	                  \        V4      \        V4      4       \        P                  ! V4      pV P	                  W$4       R # r   )r=   rI   rY   rg   rA   r8   )r   r<   rl   rO   rm   s   &    r   
test_bytesTestPlistlib.test_bytes  s]    \\^~~b!nnT"b49-s#%r?   c                    V P                  4       p\        P                  ! V4      pVP                  4       pV P	                  V\
        4       \        P                  ! V4      pV P                  W4       R # r   )r=   rI   rY   decoderh   strrg   rA   )r   r<   r   srO   s   &    r   test_loads_str_with_xml_fmt(TestPlistlib.test_loads_str_with_xml_fmt   sR    \\^NN2HHJa%nnQ!r?   c                    R pV P                  \        V4      ;_uu_ 4        \        P                  ! R\        P                  R7       RRR4       R#   + '       g   i     R# ; i)z6value must be bytes-like object when fmt is FMT_BINARYtestrT   N)assertRaisesRegexrX   rI   rg   
FMT_BINARY)r   msgs   & r   test_loads_str_with_binary_fmt+TestPlistlib.test_loads_str_with_binary_fmt  s=    F##Is33NN6x':':; 4333s   'AA#	c                    R R/........pV P                  \        P                  ! \        P                  ! V4      4      V4       R# )r      aaaaaaNrA   rI   rg   rY   r   rl   s   & r   test_indentation_array#TestPlistlib.test_indentation_array  sF    	*+,-./012t(<=tDr?   c           
         R RRRRRRRRR	/////////pV P                  \        P                  ! \        P                  ! V4      4      V4       R
# )123456789r   Nr   r   s   & r   test_indentation_dict"TestPlistlib.test_indentation_dict  sV    cC#cC#Y?O9P3Q-R'S!TUVWt(<=tDr?   c                    R RRRR/....././/pV P                  \        P                  ! \        P                  ! V4      4      V4       R# )r   r   r   r   r   Nr   r   s   & r   test_indentation_dict_mix&TestPlistlib.test_indentation_dict_mix  sO    cS	':&;%<$=#>"?@ABCt(<=tDr?   c                   \        ^4      pV P                  \        P                  ! \        P                  ! V\        P
                  R7      4      V4       R\        ^ 4      R\        ^4      R\        R	4      R\        R
4      R\        R4      R\        R4      /pV P                  \        P                  ! \        P                  ! V\        P
                  R7      4      V4       R# )r2   rT   uid0uid2uid8uid16uid32uid63Nrd   re   rf   l            )r   rA   rI   rg   rY   r   )r   rl   	dict_datas   &  r   test_uidTestPlistlib.test_uid  s    1vtATAT(UVX\]CFCFCKS\S\S\
	 	yhFYFY(Z[]fgr?   c                T    \        ^4      pV P                  VP                  ^4       R# r2   N)r   rA   rl   )r   uids   & r   test_uid_dataTestPlistlib.test_uid_data&  s    !f1%r?   c                    V P                  \        ^4      \        ^4      4       V P                  \        ^4      \        ^4      4       V P                  \        ^4      R4       R# )r2   znot uidN)rA   r   assertNotEqualr   s   &r   test_uid_eqTestPlistlib.test_uid_eq*  sF    QQ(CFCF+CFI.r?   c                r    V P                  \        \        ^4      4      \        \        ^4      4      4       R# r   )rA   hashr   r   s   &r   test_uid_hashTestPlistlib.test_uid_hash/  s"    c!ftCF|4r?   c                N    V P                  \        \        ^4      4      R4       R# )r2   zUID(1)N)rA   reprr   r   s   &r   test_uid_reprTestPlistlib.test_uid_repr2  s    c!fx0r?   c                d    V P                  \        P                  ! \        ^4      4      ^4       R# r   )rA   operatorindexr   r   s   &r   test_uid_indexTestPlistlib.test_uid_index5  s    A/3r?   c           
         \        \        P                  ^,           4       FQ  pV P                  \        P                  ! \        P
                  ! \        ^4      VR7      4      \        ^4      4       KS  	  R# )r2   )protocolN)rangepickleHIGHEST_PROTOCOLrA   rg   rY   r   )r   protos   & r   test_uid_pickleTestPlistlib.test_uid_pickle8  sK    622Q67EV\\&,,s2w*OPRUVXRYZ 8r?   c                    V P                  \        P                  ! \        ^4      4      \        ^4      4       V P                  \        P                  ! \        ^4      4      \        ^4      4       R# r   )rA   copyr   deepcopyr   s   &r   test_uid_copyTestPlistlib.test_uid_copy<  sD    3q6*CF3s1v.A7r?   c                :   \          F|  pV P                  VR 7      ;_uu_ 4        \        P                  ! \        V,          4      p\        P
                  ! W!R 7      pV P                  V\        V,          R4       RRR4       K~  	  R#   + '       g   i     K  ; i)rT   2generated data was not identical to Apple's outputN)rV   rW   rI   rg   TESTDATArY   rA   )r   r;   r<   rl   s   &   r   test_appleformatting!TestPlistlib.test_appleformatting@  si    C#&&^^HSM2~~b2  x}HJ '& &&&s   AB		Bc           	        R V n         \         F  pV P                  VR7      ;_uu_ 4        V P                  VR7      p\        P
                  ! \        V,          VR7      pV P                  \        V4      \        V4      R4       \        P
                  ! \        V,          4      pV P                  \        V4      \        V4      R4       R R R 4       K  	  R #   + '       g   i     K  ; i)NrT   r   )	maxDiffrV   rW   r=   rI   rg   r   rA   r8   )r   r;   r<   rO   s   &   r   test_appleformattingfromliteral,TestPlistlib.test_appleformattingfromliteralI  s    C#&&\\c\*nnXc]<  b49HJnnXc]3  b49HJ '& &&&s   B!CC+c           	     B   \          F  pV P                  VR 7      ;_uu_ 4        \        4       pV P                  VR 7      p\        P
                  ! W2VR 7       \        P                  ! \        VP                  4       4      VR 7      pV P                  \        V4      \        V4      4       \        P                  ! \        VP                  4       4      4      pV P                  \        V4      \        V4      4       RRR4       EK  	  R#   + '       g   i     EK  ; irS   )
rV   rW   r   r=   rI   rJ   rK   getvaluerA   r8   )r   r;   r   r<   rO   s   &    r   test_bytesioTestPlistlib.test_bytesioU  s    C#&&I\\c\*b-mmGAJJL$9sC  b495mmGAJJL$9:  b495 '& &&&s   CDDc                   \         P                  ! 4       p^VR&   ^VR&   ^VR&   \         EF  pR EF	  pV P                  W#R7      ;_uu_ 4        \	        4       p\
        P                  ! WW#R7       \
        P                  ! \	        VP                  4       4      \         P                  R7      pV P                  \        V4      \        V4      4       V'       d-   V P                  \        VP                  4       4      . RO4       M+V P                  \        VP                  4       4      . R	O4       RRR4       EK  	  EK  	  R#   + '       g   i     EK'  ; i
r2   r   r   r   )r;   	sort_keys)	dict_typeN)FTr   )r   r   r   )collectionsOrderedDictrV   rW   r   rI   rJ   rK   r   rA   r8   r:   keys)r   r<   r;   r   r   rO   s   &     r   test_keysort_bytesio!TestPlistlib.test_keysort_bytesio`  s    $$&333;C*	\\c\??	AMM"SF"--

(="-"9"9;C $$T"XtCy9 ((chhj)9?K((chhj)9?K @? + ???s   C#E	Ec           
     l   \         P                  ! 4       p^VR&   ^VR&   ^VR&   \         F  pR F  pV P                  W#R7      ;_uu_ 4        \        P
                  ! WVR7      p\        P                  ! V\         P                  R7      pV P                  \        V4      \        V4      4       V'       d-   V P                  \        VP                  4       4      . RO4       M+V P                  \        VP                  4       4      . R	O4       RRR4       K  	  K  	  R#   + '       g   i     EK  ; ir   )r   r   rV   rW   rI   rY   rg   rA   r8   r:   r   )r   r<   r;   r   rl   rO   s   &     r   test_keysortTestPlistlib.test_keysortu  s    $$&333C*	\\c\??#>>"KD"..9P9PQC$$T"XtCy9 ((chhj)9?K((chhj)9?K @? + ???s   CD!	!D3c                D   ^*R/p\          F}  pV P                  VR7      ;_uu_ 4        V P                  \        \        P
                  WR7       \        4       pV P                  \        \        P                  WVR7       RRR4       K  	  R#   + '       g   i     K  ; i)*   aNumberrT   N)rV   rW   rL   rX   rI   rY   r   rJ   )r   r<   r;   r   s   &   r   test_keys_no_string TestPlistlib.test_keys_no_string  st    9C#&&!!)X^^R!II!!)X]]Bs!K	 '& &&&s   ABBc                   ^*RRR/p\          F  pV P                  VR7      ;_uu_ 4        \        P                  ! WRRR7      p\        P                  ! V4      pV P                  VRR/4       \        4       p\        P                  ! WVRRR7       VP                  4       p\        P                  ! VP                  4       4      pV P                  VRR/4       RRR4       K  	  R#   + '       g   i     K  ; i)	r   r   snakeaWordrT   TF)r;   skipkeysr   N)	rV   rW   rI   rY   rg   rA   r   rJ   r   )r   r<   r;   rl   rO   rN   s   &     r   test_skipkeysTestPlistlib.test_skipkeys  s    	W

 C#&&~~$%A nnT*  w&89YdeE{{}nnR[[]3  w&89 '& &&&s   B0C((C9c                   R RRRRR/p\          F  pV P                  VR7      ;_uu_ 4        \        P                  ! WR7      p\        P                  ! V4      pV P                  VR ^^.R^^.R^^./4       V\        P                  8w  d!   V P                  VR ,          VR,          4       RRR4       K  	  R#   + '       g   i     K  ; i)firstsecondthirdrT   N)r2   r3   )r4      )rV   rW   rI   rY   rg   rA   r   assertIsNotr   r<   r;   rl   rO   s   &    r   test_tuple_membersTestPlistlib.test_tuple_members  s    VfV
 C#&&~~b2nnT*  aVq!faV' 
 (---$$S\3x=A '& &&&s   BB;;Cc                   R ^^.R^^.R^^./p\          F  pV P                  VR7      ;_uu_ 4        \        P                  ! WR7      p\        P                  ! V4      pV P                  VR ^^.R^^.R^^./4       V P                  VR ,          VR,          4       RRR4       K  	  R#   + '       g   i     K  ; i)r   r   r   rT   NrV   rW   rI   rY   rg   rA   r   r   s   &    r   test_list_membersTestPlistlib.test_list_members  s    aVq!faV
 C#&&~~b2nnT*  aVq!faV' 
   Ws8}= '& &&&   A,B,,B=c                   R R^/RR^/RR^//p\          F  pV P                  VR7      ;_uu_ 4        \        P                  ! WR7      p\        P                  ! V4      pV P                  VR R^/RR^/RR^//4       V P                  VR ,          VR,          4       RRR4       K  	  R#   + '       g   i     K  ; i)r   r   r   r   r   rT   Nr   r   s   &    r   test_dict_membersTestPlistlib.test_dict_members  s    c1XsAhc1Y
 C#&&~~b2nnT*  c1XsAhc1Y' 
   Ws8}= '& &&&r   c                    \        ^4       F  p\        V4      pRV,          pV^ 8  g   VR9   dU   \        P                  ! V\        P                  R7      pVR8w  d'   V P                  \        P                  ! V4      V4       MLV P                  \        4      ;_uu_ 4        \        P                  ! V\        P                  R7       RRR4       \        P                  ! V\        P                  R7       K  	  R#   + '       g   i     L<; i)   zstring containing %sz
	rT   N)
r   chrrI   rY   FMT_XMLrA   rg   rL   r^   r   )r   ir   
testStringrl   s   &    r   test_controlcharacters#TestPlistlib.test_controlcharacters  s    sAAA/!3JBw!x-~~jh6F6FG9$$X^^D%9:F&&z22NN:83C3CD 3NN:8+>+>?  32s   "'C==Dc                   R R/p\          Fc  pV P                  VR7      ;_uu_ 4        \        P                  ! WR7      pV P	                  \        P
                  ! V4      V4       RRR4       Ke  	  R#   + '       g   i     Kz  ; i)pythonu   🐍rT   N)rV   rW   rI   rY   rA   rg   )r   r<   r;   rl   s   &   r   test_non_bmp_characters$TestPlistlib.test_non_bmp_characters  s`    %C#&&~~b2  !5r: '& &&&s   >A44Bc           
        \          F  pV P                  VR 7      ;_uu_ 4        V P                  \        4      ;_uu_ 4        \        P
                  ! RVR 7       RRR4       V P                  \        4      ;_uu_ 4        \        P
                  ! RVR 7       RRR4       RRR4       K  	  R#   + '       g   i     L\; i  + '       g   i     L1; i  + '       g   i     K  ; i)rT   u   Nu   )rV   rW   rL   UnicodeEncodeErrorrI   rY   )r   r;   s   & r   test_lone_surrogates!TestPlistlib.test_lone_surrogates  s    C#&&&&'9::NN85 ;&&'9::NN85 ; '& :::: '&&s;   CB/%C CC/B?:CCCC&c           
        \          F  pV P                  VR 7      ;_uu_ 4        Rp. ROp\        P                  ! \        P                  ! W!R 7      4      p\        P                  ! \        P                  ! W1R 7      4      pV P                  W$4       V P                  W54       RRR4       K  	  R#   + '       g   i     K  ; i)rT   abcN)r2   r3   r4   r  )rV   rW   rI   rg   rY   rA   )r   r;   test1test2result1result2s   &     r   test_nondictrootTestPlistlib.test_nondictroot  s    C#&&("..)GH"..)GH  0  0 '& &&&s   A?B11Cc                    R F=  pV P                  \        \        P                  RV,          P	                  4       4       K?  	  R# )<key>key inside an array</key>z <plist><array>%s</array></plist>N)r  z-<key>key inside an array2</key><real>3</real>z&<true/><key>key inside an array3</key>rL   r^   rI   rg   encoder   r  s   & r   test_invalidarrayTestPlistlib.test_invalidarray  s8    <A j(..A!CKKMO<r?   c                    R Fw  pV P                  \        \        P                  RV,          P	                  4       4       V P                  \        \        P                  RV,          P	                  4       4       Ky  	  R# )0<key><true/>k</key><string>compound key</string>z<plist><dict>%s</dict></plist>z-<plist><array><dict>%s</dict></array></plist>N)r  z<key>single key</key>z<string>missing key</string>ze<key>k1</key><string>v1</string><real>5.3</real><key>k1</key><key>k2</key><string>double key</string>r  r  s   & r   test_invaliddictTestPlistlib.test_invaliddict  sb    KA
 j(..?AIIKMj(..NqPXXZ\Kr?   c                P    V P                  \        \        P                  R 4       R# )s-   <plist><integer>not integer</integer></plist>NrL   r^   rI   rg   r   s   &r   test_invalidinteger TestPlistlib.test_invalidinteger  s    *hnnJ	Lr?   c                P    V P                  \        \        P                  R 4       R# )s*   <plist><integer>not real</integer></plist>Nr!  r   s   &r   test_invalidrealTestPlistlib.test_invalidreal  s    *hnnG	Ir?   c                   R p\         P                  ! V4      pV P                  VR4       Rp\         P                  ! V4      pV P                  V^
4       Rp\         P                  ! V4      pV P                  V^{4       R# )s%   <plist><integer>456</integer></plist>i  s%   <plist><integer>0xa</integer></plist>s&   <plist><integer>0123</integer></plist>N)rI   rg   rA   )r   r<   values   &  r   test_integer_notations#TestPlistlib.test_integer_notations  sk    5r"$5r"#6r"$r?   c           	     R   \         \        P                  ,          pR R\        P                  3RR\        P
                  3RR\        P                  33 F  w  r#pV P                  \        P                  R7      pV P                  VR7      ;_uu_ 4        VP                  RV4      pWFP                  R4      P                  V4      ,           p\        P                  ! V4      pV P                  \        V4      \        V4      4       RRR4       K  	  R#   + '       g   i     K  ; i)	s   utf-8zutf-8s   utf-16z	utf-16-lez	utf-16-berT   )encodings   UTF-8N)r   rI   r   codecsBOM_UTF8BOM_UTF16_LEBOM_UTF16_BEr=   rW   replacery   r  rg   rA   r8   )r   basexml_encodingr,  bomr<   rl   rO   s   &       r   test_xml_encodingsTestPlistlib.test_xml_encodings+  s    (() w8V-@-@AV-@-@A,'LC ("2"23Bx00||Hl;[[188BBnnT*  b495	 10, 100s   A3DD&c                    V P                  \        4      ;_uu_ 4        \        P                  ! / R R7       RRR4       R#   + '       g   i     R# ; i)blahrT   N)rL   r^   rI   rY   r   s   &r   test_dump_invalid_format%TestPlistlib.test_dump_invalid_format>  s0    z**NN26* +***s   AA	c                    V P                  \        P                  4      ;_uu_ 4        \        P                  ! R 4       RRR4       R#   + '       g   i     R# ; i)s!   these are not plist file contentsN)rL   rI   InvalidFileExceptionrg   r   s   &r   test_load_invalid_file#TestPlistlib.test_load_invalid_fileB  s5    x<<==NN?@ >===s   A		A	c                    \        ^4      pRVn        V P                  \        4      ;_uu_ 4        \        P
                  ! V\        P                  R7       RRR4       R#   + '       g   i     R# ; i)r2   rT   N)r   rl   rL   r^   rI   rY   r   )r   neg_uids   & r   test_modified_uid_negative'TestPlistlib.test_modified_uid_negativeF  sF    a&z**NN7(;(;< +***   'A!!A2	c                    \        ^4      pRVn        V P                  \        4      ;_uu_ 4        \        P
                  ! V\        P                  R7       RRR4       R#   + '       g   i     R# ; i)r2   rT   Nr]   )r   rl   rL   rj   rI   rY   r   )r   huge_uids   & r   test_modified_uid_huge#TestPlistlib.test_modified_uid_hugeL  sF    q6}--NN8)<)<= .---rD  c                    V P                  \        P                  R 4      ;_uu_ 4        \        P                  ! \        \        P
                  R7       RRR4       R#   + '       g   i     R# ; i)z)XML entity declarations are not supportedrT   N)r   rI   r<  rg   XML_PLIST_WITH_ENTITYr   r   s   &r   test_xml_plist_with_entity_decl,TestPlistlib.test_xml_plist_with_entity_declR  sP    ##H$A$A$OQ QNN0h6F6FGQ Q Q Qs   +AA/	c                    \         P                  ! R RR7      pV P                  VP                  \        P
                  4       R# )s0   <plist><date>2023-12-10T08:03:30Z</date></plist>Taware_datetimeN)rI   rg   rA   tzinfor9   UTC)r   dts   & r   test_load_aware_datetime%TestPlistlib.test_load_aware_datetimeW  s.    ^^O+/1HLL1r?   America/Los_AngelesCan't find timezone datebasec                X   \         P                   ! R ^^^^	^
\        P                  ! R4      R7      p\         Fn  p\        P
                  ! WRR7      p\        P                  ! W2RR7      pV P                  VP                  \         P                  4       V P                  WA4       Kp  	  R# ))	  rU  rP  Tr;   rO  N)
r9   zoneinfoZoneInforV   rI   rY   rg   rA   rP  rQ  r   rR  r;   r{   	loaded_dts   &    r   test_dump_aware_datetime%TestPlistlib.test_dump_aware_datetime\  s     tQ1a&.&7&78M&NPCr4@A q$GIY--x||<Y+	 r?   c           
     L   \         P                   ! R ^^^^	^
\         P                  R7      p\         Fn  p\        P                  ! WRR7      p\        P
                  ! W2RR7      pV P                  VP                  \         P                  4       V P                  WA4       Kp  	  R# )rX  rY  TrZ  N)r9   rQ  rV   rI   rY   rg   rA   rP  r]  s   &    r   test_dump_utc_aware_datetime)TestPlistlib.test_dump_utc_aware_datetimeg  st    tQ1aHLLICr4@A q$GIY--x||<Y+	 r?   c           	         \         P                   ! R ^^^\        P                  ! R4      R7      p\        P                  ! V\        P
                  RR7      pV P                  RV4       R# )rX  rU  rY  FrZ     2345-06-07T08:00:00ZN)r9   r[  r\  rI   rY   r   assertInr   rR  r{   s   &  r   6test_dump_aware_datetime_without_aware_datetime_optionCTestPlistlib.test_dump_aware_datetime_without_aware_datetime_optiono  sS     tQ1&.&7&78M&NPNN28#3#3EJ-q1r?   c                    \         P                   ! R ^^^\         P                  R7      p\        P                  ! V\        P                  RR7      pV P                  RV4       R# )rX  rY  FrZ  re  N)r9   rQ  rI   rY   r   rf  rg  s   &  r   :test_dump_utc_aware_datetime_without_aware_datetime_optionGTestPlistlib.test_dump_utc_aware_datetime_without_aware_datetime_optionw  sE    tQ1X\\BNN28#3#3EJ-q1r?   c                6   \         P                   ! R ^^^RR7      p\         Fs  p\        P                  ! WRR7      p\        P                  ! VRR7      pVP                  \         P                  4      P                  RR7      pV P                  WE4       Ku  	  R# )i  NrY  TrZ  FrN  )	r9   rV   rI   rY   rg   
astimezonerQ  r1  rA   )r   rR  r;   r{   parsedexpecteds   &     r   3test_dump_naive_datetime_with_aware_datetime_option@TestPlistlib.test_dump_naive_datetime_with_aware_datetime_option|  st     tQ1T:Cr4@A^^Ae<F}}X\\2::$:GHV.	 r?   )r   r   )?__name__
__module____qualname____firstlineno__r   r=   rB   rP   rZ   r_   rn   rs   rv   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r"  r%  r)  r5  r9  r=  rB  rG  rK  rS  unittest
skipUnlessr[  available_timezonesr_  rb  rh  rk  rq  __static_attributes____classdictcell____classdict__s   @r   r	   r	     s    6<
EJ3$	2&"<
EEEh&/
514[8J
J	6L*L$L:*B&>$>$@;61O	\LI%6&+A=>H
2
 .(2N2N2PP79,9,, .(2N2N2PP792922
	/ 	/r?   r	   c                      a  ] tR tRt o ]R^R^/R l4       tR tR tR tR t	R	 t
R
 tR tR tR tR tR t]P$                  ! R]P(                  ! 4       9   R4      R 4       tR tRtV tR# )TestBinaryPlistlibi  offset_sizeref_sizec                   R .p^p. pV FG  pVP                  VP                  V R4      4       VP                  V4       V\        V4      ,          pKI  	  \        P                  ! RW\        V4      ^ V4      pVP                  V4       VP                  V4       \        P                  ! RP                  V4      \        P                  R7      # )   bplist00bigz>6xBBQQQr?   rT   )
appendto_byteslenstructpackextendrI   rg   joinr   )r  r  objectsrl   offsetoffsetsxtails   $$*     r   ry   TestBinaryPlistlib.decode  s    }ANN6??;>?KKNc!fF  {{:{w<F4GD~~chhtn(2E2EFFr?   c                Z    R pV P                  \        P                  ! V4      RR/4       R# )s<   bplist00    QaQb                                  r   r   N)rA   rI   rg   r   s   & r   test_nonstandard_refs_size-TestBinaryPlistlib.test_nonstandard_refs_size  s(    4 	-Sz:r?   c                   R RRRRRRR\         P                   ! R^
^^
^!^!4      \        R4      ^R	.RR
R	/3 Fy  pV P                  VR7      ;_uu_ 4        \        P                  ! V.R,          \        P
                  R7      pV P                  \        V4      R\        V4      4       R R R 4       K{  	  R #   + '       g   i     K  ; i)NFT90  ^@abcdeu
   абвгд   abcder"   Y  12r  i  rT   iL     r  )	r9   rq   rW   rI   rY   r   
assertLessr  r   )r   r  rl   s   &  r   test_dump_duplicates'TestBinaryPlistlib.test_dump_duplicates  s    tUFG\8##D"b"b"=H%Cy)dC[JA ""~~qc$hH4G4GHD	4d< #"J #""s   AB55Cc                   R RRRRRR\         P                   ! R^
^^
^!^!4      \        R4      ^R.RR	R/3 F  pV P                  VR
7      ;_uu_ 4        \        P                  ! V.^,          \        P
                  R7      p\        P                  ! V4      w  r4\        V\        4      '       d   \        V4      pV P                  W14       V P                  WA4       V P                  W44       R R R 4       K  	  R #   + '       g   i     K  ; i)NFTr  r  r  r  r"   r  r  r  rT   r  )r9   rq   rW   rI   rY   r   rg   
isinstancetupler:   rA   assertIs)r   r  rl   r   r   s   &    r   test_identity TestBinaryPlistlib.test_identity  s    tUFGX##D"b"b"=H%Cy)dC[JA ""~~qc!e1D1DE~~d+a''QA  &  &a# #"J #""s   BC;;Dc                n   . pVP                  V4       \        P                  ! \        P                  ! V\        P                  R 7      4      pV P                  V^ ,          V4       . 3pV^ ,          P                  V4       \        P                  ! \        P                  ! V\        P                  R 7      4      pV P                  V^ ,          ^ ,          V4       / pWR&   \        P                  ! \        P                  ! V\        P                  R 7      4      pV P                  VR,          V4       R# )rT   r  N)r  rI   rg   rY   r   r  )r   r   r   s   &  r   test_cyclesTestBinaryPlistlib.test_cycles  s    	NN8>>!1D1DEFadAE	!ANN8>>!1D1DEFad1gq!#NN8>>!1D1DEFafa r?   c           	        R F  p\        V4       Uu. uF#  pRV^,           P                  ^R4      ,           NK%  	  pp V P                  ! . VORN5R^R^/ p\        V4       F=  pV P                  V\        4       V P                  \        V4      ^4       V^ ,          pK?  	  V P                  VR4       K  	  R# u upi   \         d*    T P                  T\        P                  ! 4       4        K  i ; i)	2      r  s   Tseedr  r  seedN)r  i,  順 )r   r  ry   rh   r:   rA   r  RecursionErrorassertGreatersysgetrecursionlimit)r   Nr  chunksresults   &    r   test_deep_nesting$TestBinaryPlistlib.test_deep_nesting  s    #ADI!HMHqgQ 0 0E :::HFM	1UfUkUqUSTU qA))&$7$$S[!4#AYF "   0 $M " ?""1c&;&;&=>?s   )B<C0C54C5c           
        R F  pV P                  VR7      ;_uu_ 4        \        P                  ! R^^^ ^ 4      \        P                  ! VR7      ,           p\        P                  ! V\        P
                  R7      pV P                  \        P                  ! V4      V4       RRR4       K  	  R#   + '       g   i     K  ; i)r3   )tsi  )secondsrT   N)l    l        )rW   r9   	timedeltarI   rY   r   rA   rg   )r   r  drl   s   &   r   test_large_timestamp'TestBinaryPlistlib.test_large_timestamp  s    !B$$&&tQ1a8''34~~aX-@-@A  !5q9	 %$ "$$$s   BB11Cc                   V P                  V P                  R 4      R4       V P                  V P                  R4      R4       V P                  V P                  R4      R4       V P                  V P                  R4      R4       R# )    N   F   	T   r?   )r  ry   rA   r   s   &r   test_load_singletons'TestBinaryPlistlib.test_load_singletons  s`    dkk'*D1dkk'*E2dkk'*D1W-s3r?   c                   V P                  V P                  R 4      ^ 4       V P                  V P                  R4      ^4       V P                  V P                  R4      R4       V P                  V P                  R4      R4       V P                  V P                  R4      R4       V P                  V P                  R4      R
4       R	# )s    s   s   i  s   ܺl   :} s	   #Egl   MW	s	   ܺvT2NlMW	)rA   ry   r   s   &r   test_load_int TestBinaryPlistlib.test_load_int  s    [115[148_5v>%<=zJ%LM+	-%LM+	-r?   c           
       a . \        ^^4      O\        ^
^4      O^ N^!N\        ^$^34      O\        ^4^@4      OpR F'  oVP                  V3R l\        ^4       4       4       K)  	  V F{  pV P                  RVR 24      ;_uu_ 4        V P                  \        P
                  4      ;_uu_ 4        V P                  \        V.4      R,           4       RRR4       RRR4       K}  	  R#   + '       g   i     L; i  + '       g   i     K  ; i)r2   c              3   6   <"   T F  pSV,           x  K  	  R # 5ir    ).0jr  s   & r   	<genexpr>6TestBinaryPlistlib.test_unsupported.<locals>.<genexpr>  s     8iq1uuis   ztoken 02xN)p                  s                   )r   r  rW   rL   rI   r<  ry   rr   )r   unsupportedtokenr  s   &  @r   test_unsupported#TestBinaryPlistlib.test_unsupported  s    Ka KeBm KK!K$)$$5K8=dD8IK5A8eBi88 6 EuSk233&&x'D'DEEKKug ;< F 43 !EE 433s$   (C;/#C(C;(C83C;;Dc           
     p   \          F  w  rV P                  V4      ;_uu_ 4        V P                  \        P                  4      ;_uu_ 4        \        P
                  ! R V,           \        P                  R7       RRR4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     K  ; i)r  rT   N)INVALID_BINARY_PLISTSrW   rL   rI   r<  rg   r   )r   namerl   s   &  r   test_invalid_binary&TestBinaryPlistlib.test_invalid_binary  sn    /JDd##&&x'D'DEENN;#58;N;NO F $# 0EE $##s#   (B$.B;B$B!B$$B5c                    R pV P                  \        P                  ! VRR7      \        P                  ! R^^^\        P                  R7      4       R# )s2   bplist003B>d                               TrN  rX  rY  N)rA   rI   rg   r9   rQ  r   s   & r   rS  +TestBinaryPlistlib.test_load_aware_datetime  sB    @ 	TB!**4AqN	Pr?   rU  rV  c           	     ,   \         P                   ! R ^^^\        P                  ! R4      R7      pRpV P                  \        V4      ;_uu_ 4        \
        P                  ! V\
        P                  RR7       RRR4       R#   + '       g   i     R# ; i)rX  rU  rY  6can't subtract offset-naive and offset-aware datetimesFrZ  N)r9   r[  r\  r   rX   rI   rY   r   r   rR  r   s   &  r   rh  ITestBinaryPlistlib.test_dump_aware_datetime_without_aware_datetime_option
  si     tQ1&.&7&78M&NPF##Is33NN28#6#6uM 4333s   (BB	c                    \         P                   ! R ^^^\         P                  R7      pRpV P                  \        V4      ;_uu_ 4        \        P
                  ! V\        P                  RR7       RRR4       R#   + '       g   i     R# ; i)rX  rY  r  FrZ  N)r9   rQ  r   rX   rI   rY   r   r  s   &  r   rk  MTestBinaryPlistlib.test_dump_utc_aware_datetime_without_aware_datetime_option  s[    tQ1X\\BF##Is33NN28#6#6uM 4333s   
(A<<B	r  N)rs  rt  ru  rv  staticmethodry   r  r  r  r  r  r  r  r  r  r  rS  rw  rx  r[  ry  rh  rk  rz  r{  r|  s   @r   r  r    s     GQ G G G
;=$!"1:4-=PP .(2N2N2PP79N9NN Nr?   r  c                   &   a  ] tR tRt o R tRtV tR# )TestKeyedArchivei  c                    R RRRR^R\        ^4      RR/RR	R
. RORRR./.RRRR\        ^4      //pV P                  \        P                  ! \        R,          4      V4       R# )z$versionr  z$objectsz$nullpytypez$classz	NS.stringzKeyArchive UID Testz
$classnameOC_BuiltinPythonUnicodez$classesNSStringz$classhintsOC_PythonStringz	$archiverNSKeyedArchiverz$toprootr   N)r  OC_PythonUnicoder  NSObject)r   rA   rI   rg   r   r   s   & r   test_keyed_archive_data(TestKeyedArchive.test_keyed_archive_data  s     ac!f!6 !"; ! "):$& *A-
4 	(ABDIr?   r  N)rs  rt  ru  rv  r  rz  r{  r|  s   @r   r  r    s     J Jr?   r  c                   &   a  ] tR tRt o R tRtV tR# )MiscTestCasei:  c                H    R R0p\         P                  ! V \        VR7       R# )PlistFormatPLISTHEADER)not_exportedN)r   check__all__rI   )r   r  s   & r   test__all__MiscTestCase.test__all__;  s    %}5T8,Gr?   r  N)rs  rt  ru  rv  r  rz  r{  r|  s   @r   r  r  :  s     H Hr?   r  darwinzplutil utility is for Mac osc            	          a  ] tR tRt o RtRRRRRR^dR	^//tRRRRRR^dR	^//tR
RR^S/t]V 3R lR l4       t	]V 3R lR l4       t
R tR tR tR tR tR tR tR tRtV tR# )
TestPlutili?  zplutil_test.plistfnameHlnamer   marksr   r   HexType  IntTypec                   < V ^8  d   QhRR/# r3   returnNr  )formatr}  s   "r   __annotate__TestPlutil.__annotate__R  s     F F4 Fr?   c                    \        V P                  R 4      ;_uu_ 4       p\        P                  ! V P                  V\        P
                  R7       RRR4       R#   + '       g   i     R# ; i)rE   rT   N)rH   	file_namerI   rJ   
propertiesr   )clsfs   & r   
setUpClassTestPlutil.setUpClassQ  s@     #--%%MM#..!1D1DE &%%%   2AA,	c                   < V ^8  d   QhRR/# r  r  )r  r}  s   "r   r  r  X  s     ! !d !r?   c                F    \         P                  ! V P                  4       R # r   )r   remover  )r  s   &r   tearDownClassTestPlutil.tearDownClassW  s    
		#-- r?   c                b    \         P                  ! R RV P                  .RRR7      P                  # )plutilz-lintT)capture_outputr6   )
subprocessrunr  stdoutr   s   &r   get_lint_statusTestPlutil.get_lint_status[  s(    ~~x$..ARV]abiiir?   c                N    \         P                  ! RRRV P                  .4       R# )z1Convert binary file to json using plutil
        r  -convertjsonNr   r!  r  r   s   &r   convert_to_jsonTestPlutil.convert_to_json^  s     	*fdnnEFr?   c                N    \         P                  ! RRRV P                  .4       R# )z,Convert file to binary using plutil
        r  r&  binary1Nr(  r   s   &r   convert_to_binTestPlutil.convert_to_binc  s     	*iHIr?   c                    \        V P                  R4      ;_uu_ 4       p\        P                  ! V P                  V\        P
                  R7       RRR4       R#   + '       g   i     R# ; i)z6Write Hex properties to file using writePlist
        rE   rT   N)rH   r  rI   rJ   r<   r   r   r  s   & r   write_plTestPlutil.write_plh  s@     $..$''1MM$''1(*=*=> ('''r  c                `    V P                  V P                   R 2V P                  4       4       R# )z: OK
N)rA   r  r#  r   s   &r   test_lint_statusTestPlutil.test_lint_statusn  s'    DNN+62D4H4H4JKr?   c                   V P                  4        \        V P                  4      ;_uu_ 4       p\        P                  ! VP                  4       4      pV P                  W P                  4       R R R 4       R #   + '       g   i     R # ; ir   )r)  rH   r  r'  rg   readrA   exptected_properties)r   r  ffs   &  r   check_contentTestPlutil.check_contentr  sV    $..!!QAFFH%BR!:!:; "!!!s   A A88B		c                    V P                  4        \        V P                  R 4      ;_uu_ 4       pV P                  \        P
                  ! V4      V P                  4       RRR4       R#   + '       g   i     R# ; i)rF   N)r-  rH   r  rA   rI   rK   r8  r0  s   & r   check_plistlib_parseTestPlutil.check_plistlib_parsey  sO    $..$''1X]]1-t/H/HI ('''s   1A**A;	c                   V P                  4        V P                  4        \        V P                  R 4      ;_uu_ 4       p\        P
                  ! VP                  4       4      pV P                  VP                  R4      R4       V P                  VP                  R4      ^S4       RRR4       R#   + '       g   i     R# ; i)rr  r  r	  N)	r1  r)  rH   r  r'  rg   r7  rA   get)r   r  ps   &  r   test_octal_and_hexTestPlutil.test_octal_and_hex  s    $..#&&!

1668$AQUU9-x8QUU9-r2 '&&&s   A'B00C	r  N)rs  rt  ru  rv  r  r  r8  r<   classmethodr  r  r#  r)  r-  r1  r4  r:  r=  rC  rz  r{  r|  s   @r   r  r  ?  s     #IcCs3D)
J 	#3sC# 


B
 F F
 ! !jG
J
?L<J3 3r?   r  __main__)ztoo short datar?   )z1too large offset_table_offset and offset_size = 1s"                                *)z9too large offset_table_offset and nonstandard offset_sizes$                                  ,)z'integer overflow in offset_table_offsets"                         )ztoo large top_objects"                               	)zinteger overflow in top_objects"                        	)z)too large num_objects and offset_size = 1s"                                	)z1too large num_objects and nonstandard offset_sizes$                                  	)z%extremally large num_objects (32 bit)s"                             	)z%extremally large num_objects (64 bit)s"                            	)zinteger overflow in num_objectss"                         	)zoffset_size = 0s"                                 	)zref_size = 0s%    
                             )ztoo large offsets"    *                            	)zinteger overflow in offsets)                                	)ztoo large array sizes'                                 )z$extremally large array size (32-bit)s*                                )z$extremally large array size (64-bit)s.                                   )zinteger overflow in array sizes.                                )ztoo large reference indexs%    
                            )z#integer overflow in reference indexs,                                )ztoo large bytes sizes%   O #A                            )z$extremally large bytes size (32-bit)s(   OA                            )z$extremally large bytes size (64-bit)s,   O   A                            )zinteger overflow in bytes sizes,   OA                            )ztoo large ASCII sizes%   _ #A                            )z$extremally large ASCII size (32-bit)s(   _A                            )z$extremally large ASCII size (64-bit)s,   _   A                            )zinteger overflow in ASCII sizes,   _A                            )zinvalid ASCIIs#   Q                            
)ztoo large UTF-16 sizes'   o                               )z%extremally large UTF-16 size (32-bit)s*   oO                              )z%extremally large UTF-16 size (64-bit)s.   o                                 )zinteger overflow in UTF-16 sizes.   o                              )zinvalid UTF-16s$   a                             )znon-hashable keys&                               )z&too large datetime (datetime overflow)s*   3BP                                  )z'too large datetime (timedelta overflow)s*   3B                                  )zinvalid datetime (Infinity)s*   3                                  )zinvalid datetime (NaN)s*   3                                  )'r   r   r   r  rw  rI   r   r  r'  r9   r-  r   binasciir   r[  r   r   test.supportr   ior   r   r   r   rV   
a2b_base64r   rJ  r  TestCaser	   r  r  r  rx  platformr  rs  mainr  r?   r   <module>rN     sl         	 
         "  x223
 h)) 3+8 39h ,, .@ A* X(( 
* 
UU
n UU	UU$%U23U@AUNOU\]UjkUxyUFGUTUUbcUpqU~ULMUZ[UhiUvwUDEURSU`aUnoU|}UJKUXYUfgUtuUBCUPQU^_UlmUz{UHIUVWUdeUrsU@AUNOU\]U pn/8$$ n/bON** ONdJx(( J@H8$$ H
 
S\\X-/MNE3"" E3 OE3P zMMO r?   