ó
    0hîhäg  ã                   óÚ  • S SK JrJrJrJr  S SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKrS SKrS SKrS SKrS SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr   S SKrSr  " S S\\RD                  5      r# " S S\\RD                  5      r$ " S S\\RD                  5      r% " S S\\RD                  5      r& " S S\\\\RD                  5      r' " S S\(5      r) " S S\\)\RD                  5      r* " S  S!\\)\RD                  5      r+ " S" S#\\RD                  5      r, " S$ S%\\RD                  5      r- " S& S'\\RD                  5      r. " S( S)\\RD                  5      r/\ (       Ga   " S* S+\\RD                  5      r0 " S, S-\$5      r1 " S. S/\%5      r2 " S0 S1\&5      r3 " S2 S3\*5      r4 " S4 S5\+5      r5 " S6 S7\&5      r6 " S8 S9\&5      r7 " S: S;\\RD                  5      r8 " S< S=\\RD                  5      r9 " S> S?\\RD                  5      r: " S@ SA\\RD                  5      r;\Rx                   " SB SC\RD                  5      5       r=\Rx                   " SD SE\RD                  5      5       r>1 SFkr?1 SGkr@SH rASI rBSJ rCSK rDSL rE " SM SN\RD                  5      rFSO rG\HSP:X  a  \R’                  " 5         gg! \! a    Sr  GN_f = f)Qé    )ÚIMPORT_MAPPINGÚREVERSE_IMPORT_MAPPINGÚNAME_MAPPINGÚREVERSE_NAME_MAPPINGN)Úsupport)Úimport_helper)ÚAbstractHookTests)ÚAbstractUnpickleTests)ÚAbstractPicklingErrorTests)ÚAbstractPickleTests)ÚAbstractPickleModuleTests)ÚAbstractPersistentPicklerTests)Ú&AbstractIdentityPersistentPicklerTests)Ú#AbstractPicklerUnpicklerObjectTests)ÚAbstractDispatchTableTests)ÚAbstractCustomPicklerClass)ÚBigmemPickleTestsTFc                   óÔ   • \ rS rSr\" \R                  5      r\" \R                  5      r	\" \R                  5      r\" \R                  5      r\R                  r\R                   rSrg)ÚPyPickleTestsé$   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚstaticmethodÚpickleÚ_dumpÚdumpÚ_dumpsÚdumpsÚ_loadÚloadÚ_loadsÚloadsÚ_PicklerÚPicklerÚ
_UnpicklerÚ	UnpicklerÚ__static_attributes__r   ó    Ú9/opt/python-3.13.8/usr/lib/python3.13/test/test_pickle.pyr   r   $   sN   † Ù˜Ÿ™Ó%€DÙ˜Ÿ™Ó'€EÙ˜Ÿ™Ó%€DÙ˜Ÿ™Ó'€EØo‰o€GØ×!Ñ!ƒIr+   r   c                   ór   • \ rS rSr\R
                  r\4r\R                  \
\\\R                  \\4rS rSrg)ÚPyUnpicklerTestsé-   c                 ót   • [         R                  " U5      nU R                  " U40 UD6nUR                  5       $ ©N©ÚioÚBytesIOÚ	unpicklerr#   ©ÚselfÚbufÚkwdsÚfÚus        r,   r%   ÚPyUnpicklerTests.loads5   ó-   € ÜJŠJs‹OˆØNŠN˜1Ñ% Ñ%ˆØv‰v‹xˆr+   r   N)r   r   r   r   r   r(   r5   Ú
IndexErrorÚbad_stack_errorsÚUnpicklingErrorÚEOFErrorÚAttributeErrorÚ
ValueErrorÚstructÚerrorÚImportErrorÚtruncated_errorsr%   r*   r   r+   r,   r.   r.   -   s=   † à×!Ñ!€IØ"}ÐØ×.Ñ.°Ø&¨
ØŸ™ j°+ð?Ðõr+   r.   c                   ó6   • \ rS rSr\R
                  rSS jrSrg)ÚPyPicklingErrorTestsé;   Nc                 óÈ   • [         R                  " 5       nU R                  " XB40 UD6nUR                  U5        UR	                  S5        [        UR                  5       5      $ ©Nr   ©r3   r4   Úpicklerr   ÚseekÚbytesÚread©r7   ÚargÚprotoÚkwargsr:   Úps         r,   r!   ÚPyPicklingErrorTests.dumps?   óF   € ÜJŠJ‹LˆØLŠL˜Ñ, VÑ,ˆØ	‰ˆsŒØ	‰ˆqŒ	ÜQ—V‘V“X‹Ðr+   r   r1   )	r   r   r   r   r   r&   rN   r!   r*   r   r+   r,   rI   rI   ;   s   † ào‰o€G÷r+   rI   c                   óT   • \ rS rSr\R
                  r\R                  rSS jr	S r
Srg)ÚPyPicklerTestséG   Nc                 óÈ   • [         R                  " 5       nU R                  " XB40 UD6nUR                  U5        UR	                  S5        [        UR                  5       5      $ rL   rM   rR   s         r,   r!   ÚPyPicklerTests.dumpsL   rX   r+   c                 ót   • [         R                  " U5      nU R                  " U40 UD6nUR                  5       $ r1   r2   r6   s        r,   r%   ÚPyPicklerTests.loadsS   r=   r+   r   r1   )r   r   r   r   r   r&   rN   r(   r5   r!   r%   r*   r   r+   r,   rZ   rZ   G   s    † ào‰o€GØ×!Ñ!€Iôõr+   rZ   c                   ó†   • \ rS rSr\R
                  \4r\R
                  \\	\
\R                  \\4rSS jrS rSrSrSrSrg)ÚInMemoryPickleTestséY   Nc                 ó0   • [         R                  " X40 UD6$ r1   )r   r!   )r7   rS   ÚprotocolrU   s       r,   r!   ÚInMemoryPickleTests.dumpsa   s   € Ü|Š|˜CÑ4¨VÑ4Ð4r+   c                 ó0   • [         R                  " U40 UD6$ r1   )r   r%   )r7   r8   r9   s      r,   r%   ÚInMemoryPickleTests.loadsd   s   € Ü|Š|˜CÑ( 4Ñ(Ð(r+   r   r1   )r   r   r   r   r   r@   r>   r?   rA   rB   rC   rD   rE   rF   rG   r!   r%   Ú+test_framed_write_sizes_with_delayed_writerÚtest_find_classÚtest_custom_find_classr*   r   r+   r,   ra   ra   Y   sU   † ð ×.Ñ.°
Ð;ÐØ×.Ñ.°Ø&¨
ØŸ™ j°+ð?Ðô5ò)ð 37Ð/Ø€OØ!Ór+   ra   c                   ó$   • \ rS rSrSS jrS rSrg)ÚPersistentPicklerUnpicklerMixinél   Nc                 ó°   ^ •  " U 4S jST R                   5      n[        R                  " 5       nU" XB5      nUR                  U5        UR	                  5       $ )Nc                   ó"   >• \ rS rSrU 4S jrSrg)Ú:PersistentPicklerUnpicklerMixin.dumps.<locals>.PersPickleréo   c                 ó&   >• TR                  U5      $ r1   )Úpersistent_id©ÚsubselfÚobjr7   s     €r,   rs   ÚHPersistentPicklerUnpicklerMixin.dumps.<locals>.PersPickler.persistent_idp   s   ø€ Ø×)Ñ)¨#Ó.Ð.r+   r   N©r   r   r   r   rs   r*   ©r7   s   €r,   ÚPersPicklerrp   o   s   ø† ÷/ð /r+   rz   )rN   r3   r4   r   Úgetvalue)r7   rS   rT   rz   r:   rV   s   `     r,   r!   Ú%PersistentPicklerUnpicklerMixin.dumpsn   sA   ø€ ÷	/˜$Ÿ,™,ô 	/ô JŠJ‹LˆÙ˜Ó!ˆØ	‰ˆsŒØz‰z‹|Ðr+   c                 ó’   ^ •  " U 4S jST R                   5      n[        R                  " U5      nU" U40 UD6nUR                  5       $ )Nc                   ó"   >• \ rS rSrU 4S jrSrg)Ú<PersistentPicklerUnpicklerMixin.loads.<locals>.PersUnpickleréx   c                 ó&   >• TR                  U5      $ r1   )Úpersistent_loadrt   s     €r,   r‚   ÚLPersistentPicklerUnpicklerMixin.loads.<locals>.PersUnpickler.persistent_loady   s   ø€ Ø×+Ñ+¨CÓ0Ð0r+   r   N©r   r   r   r   r‚   r*   ry   s   €r,   ÚPersUnpicklerr   x   s   ø† ÷1ð 1r+   r…   )r5   r3   r4   r#   )r7   r8   r9   r…   r:   r;   s   `     r,   r%   Ú%PersistentPicklerUnpicklerMixin.loadsw   s<   ø€ ÷	1˜DŸN™Nô 	1ô JŠJs‹OˆÙ˜!Ñ$˜tÑ$ˆØv‰v‹xˆr+   r   r1   )r   r   r   r   r!   r%   r*   r   r+   r,   rl   rl   l   s   † ôõr+   rl   c                   óD   • \ rS rSr\R
                  r\R                  rSr	g)ÚPyPersPicklerTestsé€   r   N)
r   r   r   r   r   r&   rN   r(   r5   r*   r   r+   r,   rˆ   rˆ   €   s   † ð o‰o€GØ×!Ñ!ƒIr+   rˆ   c                   óì   • \ rS rSr\R
                  r\R                  r\R                  r
\R                  S 5       r\R                  S 5       r\R                  S 5       rS rS rS rS rS	 rS
 rSrg)ÚPyIdPersPicklerTestsé‡   c                 óÀ   ^ • U 4S jn " S ST R                   5      nU" U5         " S ST R                   5      nU" U5         " S ST R                   5      nU" U5        g )Nc                 óØ  >• [        [        R                  S-   5       H`  n[        R                  " 5       nU " X!5      nUR                  S5        TR                  TR                  UR                  5       5      S5        Mb     U " [        R                  " 5       5      nTR                  UR                  S5      S5        [        R                  " U5      nATR                  U" 5       5        g ©Né   ÚabcÚdef)Úranger   ÚHIGHEST_PROTOCOLr3   r4   r   ÚassertEqualr%   r{   rs   ÚweakrefÚrefÚassertIsNone)r'   rT   r:   rN   Úrr7   s        €r,   ÚcheckÚ@PyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.check   s«   ø€ Üœv×6Ñ6¸Ñ:Ö;Ü—J’J“LÙ! !Ó+Ø—‘˜UÔ#Ø× Ñ  §¡¨A¯J©J«LÓ!9¸5ÖAñ	 <ñ
 œbŸjšj›lÓ+ˆGØ×Ñ˜W×2Ñ2°5Ó9¸5ÔAÜ—’˜GÓ$ˆAØØ×Ñ™a›cÕ"r+   c                   ó   • \ rS rSrS rSrg)ÚFPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPickleréœ   c                 ó   • U$ r1   r   ©ru   rv   s     r,   rs   ÚTPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPickler.persistent_id   ó   € Ø
r+   r   Nrx   r   r+   r,   rz   r   œ   ó   † õr+   rz   c                   ó$   • \ rS rSr\S 5       rSrg)r   é¡   c                 ó   • U$ r1   r   )Úclsrv   s     r,   rs   r¡   ¢   ó   € à
r+   r   N)r   r   r   r   Úclassmethodrs   r*   r   r+   r,   rz   r   ¡   ó   † Øñó ór+   c                   ó$   • \ rS rSr\S 5       rSrg)r   é§   c                 ó   • U $ r1   r   )rv   s    r,   rs   r¡   ¨   r¨   r+   r   N)r   r   r   r   r   rs   r*   r   r+   r,   rz   r   §   ó   † Øñó ór+   )rN   )r7   rš   rz   s   `  r,   Útest_pickler_reference_cycleÚ1PyIdPersPicklerTests.test_pickler_reference_cycleŽ   sV   ø€ õ
	#ô	˜$Ÿ,™,ô 	ñ 	ˆkÔô	˜$Ÿ,™,ô 	ñ 	ˆkÔô	˜$Ÿ,™,ô 	ñ 	ˆkÕr+   c                 óx  ^•  " U4S jSU R                   5      n " S S5      nU" 5       mU" [        R                  " 5       5      nU R                  UR                  T5        [
        R                  " T5      nU R                  U" 5       5        A@[        R                  " 5         U R                  U" 5       5        g )Nc                   ó,   >^ • \ rS rSrU U4S jrSrU =r$ )ÚPPyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleak.<locals>.Pickleré±   c                 ó4   >• TU l         [        TU ]  " U0 UD6  g r1   )Údispatch_tableÚsuperÚ__init__)r7   ÚargsrU   Ú	__class__Útables      €€r,   r¸   ÚYPyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleak.<locals>.Pickler.__init__²   s   ø€ Ø&+Ô#Ü‘Ò  $Ð1¨&Ó1r+   )r¶   )r   r   r   r   r¸   r*   Ú__classcell__)rº   r»   s   @€r,   r'   r³   ±   s   ù† ÷2ô 2r+   r'   c                   ó   • \ rS rSrSrg)ÚVPyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleak.<locals>.DispatchTableé¶   r   N©r   r   r   r   r*   r   r+   r,   ÚDispatchTabler¿   ¶   ó   † Úr+   rÂ   )rN   r3   r4   ÚassertIsr¶   r–   r—   ÚassertIsNotNoner   Ú
gc_collectr˜   )r7   r'   rÂ   rN   Ú	table_refr»   s        @r,   Ú*test_custom_pickler_dispatch_table_memleakÚ?PyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleak­   sŠ   ø€ ÷	2d—l‘lô 	2÷
	ñ 	ñ “ˆÙœ"Ÿ*š*›,Ó'ˆØ‰g×,Ñ,¨eÔ4Ü—K’K Ó&ˆ	Ø×Ñ™Y›[Ô)ØØÜ×ÒÔØ×Ñ™)›+Õ&r+   c                 óÀ   ^ • U 4S jn " S ST R                   5      nU" U5         " S ST R                   5      nU" U5         " S ST R                   5      nU" U5        g )Nc           	      ó¶  >• [        [        R                  S-   5       HO  nU " [        R                  " TR                  SU5      5      5      nTR                  UR                  5       S5        MQ     U " [        R                  " 5       5      nTR                  UR                  S5      S5        [        R                  " U5      nATR                  U" 5       5        g r   )r“   r   r”   r3   r4   r!   r•   r#   r‚   r–   r—   r˜   )r)   rT   r5   r™   r7   s       €r,   rš   ÚBPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.checkÅ   s    ø€ Üœv×6Ñ6¸Ñ:Ö;Ù%¤b§j¢j°·±¸EÀ5Ó1IÓ&JÓK	Ø× Ñ  §¡Ó!1°5Ö9ñ <ñ "¤"§*¢*£,Ó/ˆIØ×Ñ˜Y×6Ñ6°uÓ=¸uÔEÜ—’˜IÓ&ˆAØØ×Ñ™a›cÕ"r+   c                   ó   • \ rS rSrS rSrg)ÚJPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpickleréÏ   c                 ó   • U$ r1   r   ©ru   Úpids     r,   r‚   ÚZPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpickler.persistent_loadÐ   r¢   r+   r   Nr„   r   r+   r,   r…   rÎ   Ï   r£   r+   r…   c                   ó$   • \ rS rSr\S 5       rSrg)rÎ   éÔ   c                 ó   • U$ r1   r   )r§   rÒ   s     r,   r‚   rÓ   Õ   r¨   r+   r   N)r   r   r   r   r©   r‚   r*   r   r+   r,   r…   rÎ   Ô   rª   r+   c                   ó$   • \ rS rSr\S 5       rSrg)rÎ   éÚ   c                 ó   • U $ r1   r   )rÒ   s    r,   r‚   rÓ   Û   r¨   r+   r   N)r   r   r   r   r   r‚   r*   r   r+   r,   r…   rÎ   Ú   r®   r+   )r5   )r7   rš   r…   s   `  r,   Útest_unpickler_reference_cycleÚ3PyIdPersPicklerTests.test_unpickler_reference_cycleÃ   sV   ø€ õ	#ô	˜DŸN™Nô 	ñ 	ˆmÔô	˜DŸN™Nô 	ñ 	ˆmÔô	˜DŸN™Nô 	ñ 	ˆmÕr+   c                 ód  ^ ^•  " UU 4S jST R                   5      n[        [        R                  S-   5       Hu  n[        R
                  " 5       nU" X25      n/ mUR                  S5        T R                  TS/5        T R                  T R                  UR                  5       5      S5        Mw     g )Nc                   ó.   >^ • \ rS rSrU UU4S jrSrU =r$ )Ú<PyIdPersPicklerTests.test_pickler_super.<locals>.PersPickleréá   c                 óf   >• TR                  U5        TR                  [        TU ]  U5      5        U$ r1   ©Úappendr˜   r·   rs   ©ru   rv   rº   Úcalledr7   s     €€€r,   rs   ÚJPyIdPersPicklerTests.test_pickler_super.<locals>.PersPickler.persistent_idâ   ó,   ø€ Ø—‘˜cÔ"Ø×!Ñ!¤%¡'Ñ"7¸Ó"<Ô=Ø
r+   r   )r   r   r   r   rs   r*   r½   ©rº   rä   r7   s   @€€r,   rz   rÞ   á   s   ù† ÷õ r+   rz   r   r‘   )
rN   r“   r   r”   r3   r4   r   r•   r%   r{   )r7   rz   rT   r:   rN   rä   s   `    @r,   Útest_pickler_superÚ'PyIdPersPicklerTests.test_pickler_superà   s‹   ù€ ÷	ð 	˜$Ÿ,™,ô 	ô œ6×2Ñ2°QÑ6Ö7ˆEÜ—
’
“ˆAÙ! !Ó+ˆGØˆFØL‰L˜ÔØ×Ñ˜V e WÔ-Ø×Ñ˜TŸZ™Z¨¯
©
«Ó5°uÖ=ò 8r+   c           	      óB  ^ ^•  " UU 4S jST R                   5      n[        [        R                  S-   5       Hd  nU" [        R
                  " T R                  SU5      5      5      n/ mT R                  UR                  5       S5        T R                  TS/5        Mf     g )Nc                   ó.   >^ • \ rS rSrU UU4S jrSrU =r$ )Ú@PyIdPersPicklerTests.test_unpickler_super.<locals>.PersUnpickleréð   c                 ó´   >• TR                  U5        TR                  TR                  5         [        TU ]  U5        S S S 5        U$ ! , (       d  f       U$ = fr1   ©râ   ÚassertRaisesÚpersistent_load_errorr·   r‚   ©ru   rÒ   rº   rä   r7   s     €€€r,   r‚   ÚPPyIdPersPicklerTests.test_unpickler_super.<locals>.PersUnpickler.persistent_loadñ   óJ   ø€ Ø—‘˜cÔ"Ø×&Ñ& t×'AÑ'AÕBÜ‘GÑ+¨CÔ0÷ Cà
÷ CÔBà
úó   ®AÁ
Ar   )r   r   r   r   r‚   r*   r½   rç   s   @€€r,   r…   rì   ð   s   ù† ÷õ r+   r…   r   r‘   )	r5   r“   r   r”   r3   r4   r!   r•   r#   )r7   r…   rT   r5   rä   s   `   @r,   Útest_unpickler_superÚ)PyIdPersPicklerTests.test_unpickler_superï   s€   ù€ ÷	ð 	˜DŸN™Nô 	ô œ6×2Ñ2°QÑ6Ö7ˆEÙ%¤b§j¢j°·±¸EÀ5Ó1IÓ&JÓKˆIØˆFØ×Ñ˜YŸ^™^Ó-¨uÔ5Ø×Ñ˜V e WÖ-ò	 8r+   c                 óæ  ^• U4S jn[        [        R                  S-   5       HÊ  n[        R                  " 5       nU R                  X25      n/ mUR                  nXl        U R                  UR                  U5        UR                  S5        U R                  TS/5        U R                  U R                  UR                  5       5      S5        U?U R                  UR                  U5        MÌ     g )Nc                 ó*   >• TR                  U 5        U $ r1   ©râ   )rv   rä   s    €r,   rs   ÚKPyIdPersPicklerTests.test_pickler_instance_attribute.<locals>.persistent_idþ   ó   ø€ ØM‰M˜#ÔØˆJr+   r   r‘   )r“   r   r”   r3   r4   rN   rs   r•   r   r%   r{   )r7   rs   rT   r:   rN   Úold_persistent_idrä   s         @r,   Útest_pickler_instance_attributeÚ4PyIdPersPicklerTests.test_pickler_instance_attributeý   sÄ   ø€ õ	ô œ6×2Ñ2°QÑ6Ö7ˆEÜ—
’
“ˆAØ—l‘l 1Ó,ˆGØˆFØ '× 5Ñ 5ÐØ$1Ô!Ø×Ñ˜W×2Ñ2°MÔBØL‰L˜ÔØ×Ñ˜V e WÔ-Ø×Ñ˜TŸZ™Z¨¯
©
«Ó5°uÔ=ØÐ%Ø×Ñ˜W×2Ñ2Ð4EÖFò 8r+   c           	      óÄ  ^• U4S jn[        [        R                  S-   5       H¹  nU R                  [        R
                  " U R                  SU5      5      5      n/ mUR                  nXl        U R                  UR                  U5        U R                  UR                  5       S5        U R                  TS/5        U?U R                  UR                  U5        M»     g )Nc                 ó*   >• TR                  U 5        U $ r1   rú   )rÒ   rä   s    €r,   r‚   ÚOPyIdPersPicklerTests.test_unpickler_instance_attribute.<locals>.persistent_load  rü   r+   r   r‘   )
r“   r   r”   r5   r3   r4   r!   r‚   r•   r#   )r7   r‚   rT   r5   Úold_persistent_loadrä   s        @r,   Ú!test_unpickler_instance_attributeÚ6PyIdPersPicklerTests.test_unpickler_instance_attribute  s¹   ø€ õ	ô œ6×2Ñ2°QÑ6Ö7ˆEØŸ™¤r§z¢z°$·*±*¸UÀEÓ2JÓ'KÓLˆIØˆFØ"+×";Ñ";ÐØ(7Ô%Ø×Ñ˜Y×6Ñ6¸ÔHØ×Ñ˜YŸ^™^Ó-¨uÔ5Ø×Ñ˜V e WÔ-ØÐ)Ø×Ñ˜Y×6Ñ6Ð8KÖLò 8r+   c                 ó&  ^ ^•  " UU 4S jST R                   5      n[        [        R                  S-   5       HÖ  n[        R
                  " 5       nU" X25      n/ mUR                  nUR                  Ul        T R                  UR                  UR                  5        UR                  S5        T R                  TS/5        T R                  T R                  UR                  5       5      S5        U?T R                  UR                  U5        MØ     g )Nc                   ó4   >^ • \ rS rSrS rU UU4S jrSrU =r$ )ÚOPyIdPersPicklerTests.test_pickler_super_instance_attribute.<locals>.PersPickleri   c                 ó   • [        S5      e©Nzshould never be called©ÚAssertionErrorr    s     r,   rs   Ú]PyIdPersPicklerTests.test_pickler_super_instance_attribute.<locals>.PersPickler.persistent_id!  ó   € Ü$Ð%=Ó>Ð>r+   c                 óf   >• TR                  U5        TR                  [        TU ]  U5      5        U$ r1   rá   rã   s     €€€r,   Ú_persistent_idÚ^PyIdPersPicklerTests.test_pickler_super_instance_attribute.<locals>.PersPickler._persistent_id#  ræ   r+   r   )r   r   r   r   rs   r  r*   r½   rç   s   @€€r,   rz   r     s   ù† ò?÷õ r+   rz   r   r‘   )rN   r“   r   r”   r3   r4   rs   r  r•   r   r%   r{   )r7   rz   rT   r:   rN   rý   rä   s   `     @r,   Ú%test_pickler_super_instance_attributeÚ:PyIdPersPicklerTests.test_pickler_super_instance_attribute  sÞ   ù€ ÷	ð 	˜$Ÿ,™,ô 	ô œ6×2Ñ2°QÑ6Ö7ˆEÜ—
’
“ˆAÙ! !Ó+ˆGØˆFØ '× 5Ñ 5ÐØ$+×$:Ñ$:ˆGÔ!Ø×Ñ˜W×2Ñ2°G×4JÑ4JÔKØL‰L˜ÔØ×Ñ˜V e WÔ-Ø×Ñ˜TŸZ™Z¨¯
©
«Ó5°uÔ=ØÐ%Ø×Ñ˜W×2Ñ2Ð4EÖFò 8r+   c           	      ó  ^ ^•  " UU 4S jST R                   5      n[        [        R                  S-   5       HÅ  nU" [        R
                  " T R                  SU5      5      5      n/ mUR                  nUR                  Ul        T R                  UR                  UR                  5        T R                  UR                  5       S5        T R                  TS/5        U?T R                  UR                  U5        MÇ     g )Nc                   ó4   >^ • \ rS rSrS rU UU4S jrSrU =r$ )ÚSPyIdPersPicklerTests.test_unpickler_super_instance_attribute.<locals>.PersUnpickleri6  c                 ó   • [        S5      er
  r  rÑ   s     r,   r‚   ÚcPyIdPersPicklerTests.test_unpickler_super_instance_attribute.<locals>.PersUnpickler.persistent_load7  r  r+   c                 ó´   >• TR                  U5        TR                  TR                  5         [        TU ]  U5        S S S 5        U$ ! , (       d  f       U$ = fr1   rï   rò   s     €€€r,   Ú_persistent_loadÚdPyIdPersPicklerTests.test_unpickler_super_instance_attribute.<locals>.PersUnpickler._persistent_load9  rô   rõ   r   )r   r   r   r   r‚   r  r*   r½   rç   s   @€€r,   r…   r  6  s   ù† ò?÷õ r+   r…   r   r‘   )r5   r“   r   r”   r3   r4   r!   r‚   r  r•   r#   )r7   r…   rT   r5   r  rä   s   `    @r,   Ú'test_unpickler_super_instance_attributeÚ<PyIdPersPicklerTests.test_unpickler_super_instance_attribute5  sÓ   ù€ ÷	ð 	˜DŸN™Nô 	ô œ6×2Ñ2°QÑ6Ö7ˆEÙ%¤b§j¢j°·±¸EÀ5Ó1IÓ&JÓKˆIØˆFØ"+×";Ñ";ÐØ(1×(BÑ(BˆIÔ%Ø×Ñ˜Y×6Ñ6¸	×8RÑ8RÔSØ×Ñ˜YŸ^™^Ó-¨uÔ5Ø×Ñ˜V e WÔ-ØÐ)Ø×Ñ˜Y×6Ñ6Ð8KÖLò 8r+   r   N)r   r   r   r   r   r&   rN   r(   r5   r@   rñ   r   Úcpython_onlyr¯   rÈ   rÚ   rè   rö   rþ   r  r  r  r*   r   r+   r,   r‹   r‹   ‡   s’   † ð o‰o€GØ×!Ñ!€IØ"×2Ñ2Ðà×Ññó ðð< ×Ññ'ó ð'ð* ×Ññó ðò8>ò.òGò$Mò Gõ,Mr+   r‹   c                   óD   • \ rS rSr\R
                  r\R                  rSr	g)ÚPyPicklerUnpicklerObjectTestsiK  r   N)
r   r   r   r   r   r&   Úpickler_classr(   Úunpickler_classr*   r   r+   r,   r   r   K  s   † à—O‘O€MØ×'Ñ'ƒOr+   r   c                   ó2   • \ rS rSr\R
                  rS rSrg)ÚPyDispatchTableTestsiQ  c                 ó>   • [         R                  R                  5       $ r1   ©r   r¶   Úcopyry   s    r,   Úget_dispatch_tableÚ'PyDispatchTableTests.get_dispatch_tableU  s   € Ü×$Ñ$×)Ñ)Ó+Ð+r+   r   N©	r   r   r   r   r   r&   r!  r(  r*   r   r+   r,   r$  r$  Q  s   † à—O‘O€Mõ,r+   r$  c                   ó2   • \ rS rSr\R
                  rS rSrg)ÚPyChainDispatchTableTestsiY  c                 óL   • [         R                  " 0 [        R                  5      $ r1   ©ÚcollectionsÚChainMapr   r¶   ry   s    r,   r(  Ú,PyChainDispatchTableTests.get_dispatch_table]  s   € Ü×#Ò# B¬×(=Ñ(=Ó>Ð>r+   r   Nr*  r   r+   r,   r,  r,  Y  s   † à—O‘O€Mõ?r+   r,  c                   óD   • \ rS rSr " S S\R
                  \5      r\rSr	g)ÚPyPicklerHookTestsia  c                   ó   • \ rS rSrSrg)Ú'PyPicklerHookTests.CustomPyPicklerClassib  r   NrÁ   r   r+   r,   ÚCustomPyPicklerClassr5  b  s   † âr+   r6  r   N)
r   r   r   r   r   r&   r   r6  r!  r*   r   r+   r,   r3  r3  a  s   † ô˜vŸ™Ø9ôð )ƒMr+   r3  c                   ó4   • \ rS rSrSSKJrJrJrJrJ	r	J
r
  Srg)ÚCPickleTestsii  r   )r   r!   r#   r%   r'   r)   r   N)r   r   r   r   Ú_pickler   r!   r#   r%   r'   r)   r*   r   r+   r,   r8  r8  i  s   † ßH×HÒHr+   r8  c                   ó`   • \ rS rSr\R
                  r\R                  4r	\R                  4r
Srg)ÚCUnpicklerTestsil  r   N)r   r   r   r   r9  r)   r5   r   r@   r?   rG   r*   r   r+   r,   r;  r;  l  s+   † Ø×%Ñ%ˆ	Ø"×2Ñ2Ð4ÐØ"×2Ñ2Ð4Ór+   r;  c                   ó,   • \ rS rSr\R
                  rSrg)ÚCPicklingErrorTestsiq  r   N)r   r   r   r   r9  r'   rN   r*   r   r+   r,   r=  r=  q  s   † Ø—/‘/‹r+   r=  c                   óD   • \ rS rSr\R
                  r\R                  rSr	g)ÚCPicklerTestsit  r   N©
r   r   r   r   r9  r'   rN   r)   r5   r*   r   r+   r,   r?  r?  t  ó   † Ø—/‘/ˆØ×%Ñ%‹	r+   r?  c                   óD   • \ rS rSr\R
                  r\R                  rSr	g)ÚCPersPicklerTestsix  r   Nr@  r   r+   r,   rC  rC  x  rA  r+   rC  c                   ó\   • \ rS rSr\R
                  r\R                  r\R                  r
Srg)ÚCIdPersPicklerTestsi|  r   N)r   r   r   r   r9  r'   rN   r)   r5   r@   rñ   r*   r   r+   r,   rE  rE  |  s"   † Ø—/‘/ˆØ×%Ñ%ˆ	Ø '× 7Ñ 7Ór+   rE  c                   óD   • \ rS rSr\R
                  r\R                  r	Sr
g)ÚCDumpPickle_LoadPicklei  r   N)r   r   r   r   r9  r'   rN   r   r(   r5   r*   r   r+   r,   rG  rG    s   † Ø—/‘/ˆØ×%Ñ%‹	r+   rG  c                   óD   • \ rS rSr\R
                  r\R                  r	Sr
g)ÚDumpPickle_CLoadPicklei…  r   N)r   r   r   r   r   r&   rN   r9  r)   r5   r*   r   r+   r,   rI  rI  …  s   † Ø—/‘/ˆØ×%Ñ%‹	r+   rI  c                   óJ   • \ rS rSr\R
                  r\R                  rS r	Sr
g)ÚCPicklerUnpicklerObjectTestsi‰  c                 óB  • U R                  [        R                  " 5       5      nU R                  [        5         [
        Ul        S S S 5        U R                  [        5         SS 0Ul        S S S 5        SS 0Ul        g ! , (       d  f       N?= f! , (       d  f       N)= f)Néÿÿÿÿr   )r"  r3   r4   rð   Ú	TypeErrorÚobjectÚmemorC   )r7   r5   s     r,   Útest_issue18339Ú,CPicklerUnpicklerObjectTests.test_issue18339  so   € Ø×,Ñ,¬R¯ZªZ«\Ó:ˆIØ×"Ñ"¤9Õ-Ü!'	”÷ .ð ×"Ñ"¤:Õ.Ø"$ d 	”÷ /à ˜YˆIN÷ .Õ-ú÷ /Õ.ús   ºA?Á#
BÁ?
BÂ
Br   N)r   r   r   r   r9  r'   r!  r)   r"  rQ  r*   r   r+   r,   rK  rK  ‰  s   † ØŸ™ˆØ!×+Ñ+ˆõ	'r+   rK  c                   ó2   • \ rS rSr\R
                  rS rSrg)ÚCDispatchTableTestsi–  c                 ó>   • [         R                  R                  5       $ r1   r&  ry   s    r,   r(  Ú&CDispatchTableTests.get_dispatch_table˜  s   € Ü×(Ñ(×-Ñ-Ó/Ð/r+   r   N©	r   r   r   r   r   r'   r!  r(  r*   r   r+   r,   rT  rT  –  s   † ØŸ™ˆõ	0r+   rT  c                   ó2   • \ rS rSr\R
                  rS rSrg)ÚCChainDispatchTableTestsi›  c                 óL   • [         R                  " 0 [        R                  5      $ r1   r.  ry   s    r,   r(  Ú+CChainDispatchTableTests.get_dispatch_table  s   € Ü×'Ò'¨¬F×,AÑ,AÓBÐBr+   r   NrW  r   r+   r,   rY  rY  ›  s   † ØŸ™ˆõ	Cr+   rY  c                   óD   • \ rS rSr " S S\R
                  \5      r\rSr	g)ÚCPicklerHookTestsi   c                   ó   • \ rS rSrSrg)Ú%CPicklerHookTests.CustomCPicklerClassi¡  r   NrÁ   r   r+   r,   ÚCustomCPicklerClassr_  ¡  rÃ   r+   r`  r   N)
r   r   r   r   r9  r'   r   r`  r!  r*   r   r+   r,   r]  r]     s   † ô	 '§/¡/Ð3Mô 	à+‹r+   r]  c                   ó&   • \ rS rSrS rS rS rSrg)ÚHeapTypesTestsi¥  c                 óB  • [         R                  " [        R                  " 5       5      n[         R                  " [        R                  " 5       5      n[         R                  [         R                  [        UR                  5      [        UR                  5      4U l        g r1   )r9  r'   r3   r4   r)   ÚtyperP  Ú_types)r7   rN   r5   s      r,   ÚsetUpÚHeapTypesTests.setUp§  s_   € Ü—o’o¤b§j¢j£lÓ3ˆGÜ×)Ò)¬"¯*ª*«,Ó7ˆIô —‘Ü×!Ñ!ÜW—\‘\Ó"ÜY—^‘^Ó$ð	ˆDKr+   c                 óÆ   • SS K nU R                   H;  nU R                  US9   U R                  UR	                  U5      5        S S S 5        M=     g ! , (       d  f       MO  = f)Nr   ©Útp)Úgcre  ÚsubTestÚ
assertTrueÚ
is_tracked)r7   rk  rj  s      r,   Útest_have_gcÚHeapTypesTests.test_have_gcµ  sE   € ÛØ—k”kØ—\‘\ R\Ò(Ø—O‘O B§M¡M°"Ó$5Ô6÷ )Ñ(ò "ß(Ö(ús   £!AÁ
A 	c                 óì   • U R                    HA  nU R                  US9   U R                  [        S5         SUl        S S S 5        S S S 5        MC     g ! , (       d  f       N= f! , (       d  f       Mf  = f)Nri  Ú	immutableÚbar)re  rl  ÚassertRaisesRegexrN  Úfoo)r7   rj  s     r,   Útest_immutableÚHeapTypesTests.test_immutable»  sS   € Ø—k”kØ—\‘\ R\Ò(Ø×/Ñ/´	¸;ÕGØ!&˜œ÷ H÷ )Ñ(ò "çGÕGú÷ )Ö(ús!   ŸA$¶A¾A$Á
A!ÁA$Á$
A3	)re  N)r   r   r   r   rf  ro  rv  r*   r   r+   r,   rb  rb  ¥  s   † ò	ò	7õ	'r+   rb  c                   ó8   • \ rS rSr\R
                  rS rS rSrg)ÚSizeofTestsiÁ  c                 ó  • [         R                  " S5      n[        R                  " [        R
                  " 5       5      nU R                  [        R                  U5      U5        [        R                  " S5      n[        R                  " S5      nU R                  nU" X!U-   SU-  -   [        R                  " S5      -   5        [        S5       H  nUR                  [!        U5      5        M     U" X!U-   SU-  -   S-   5        g )	NÚ7P2n3i2n3i2PÚ3nP0nÚPn0Pé   s   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxé   é    r   )r   Úcalcobjsizer9  r'   r3   r4   r•   rO  Ú
__sizeof__rD   ÚcalcsizeÚcheck_sizeofÚsysÚ	getsizeofr“   r   Úchr)r7   ÚbasesizerV   ÚMT_sizeÚME_sizerš   Úis          r,   Útest_picklerÚSizeofTests.test_picklerÅ  sÞ   € Ü×*Ò*¨>Ó:ˆHÜ—’¤§
¢
£Ó-ˆAØ×ÑœV×.Ñ.¨qÓ1°8Ô<Ü—o’o gÓ.ˆGÜ—o’o fÓ-ˆGØ×%Ñ%ˆEÙ!ØñØ˜g™+ñ&ä—’˜iÓ(ñ)ô *ô ˜1–XØ—‘”s˜1“v–ñ á!ØñØ˜w™,ñ'ð ñõ r+   c           	      óR  ^^	^
^^• [         R                  " S5      n[        R                  m[        R
                  " S5      m[        R
                  " S5      m
U R                  m	S Hw  nS Hn  nT" [        R                  " 5       X#S9nU R                  [        R                  U5      U5        T	" XAST-  -   [        U5      -   S-   [        U5      -   S-   5        Mp     My     U[        S	5      -   S-   [        S
5      -   S-   mUU	U
UU4S jnU" SSS5        U" S/S-  SS5        U" [        S5       Vs/ s H  n[        U5      PM     snSS5        S nU" U" S5      SS5        U" U" S5      SS5        U" U" S5      SS5        U" U" S5      SS5        [         R                  (       a  [         R                   (       d  U" U" S5      SS5        T" [        R                  " ["        R$                  " SS5      5      S	S
S9nUR'                  5         T	" UTST-  -   S-   S-   5        g s  snf )Nz2P2n2P 2P2n2i5P 2P3n8P2n2iÚPÚn)ÚASCIIzUTF-16zlatin-1)ÚstrictÚreplace©ÚencodingÚerrorsr€  r   r‘  r’  c                 ó´   >• [         R                  " U 5      nT	" [        R                  " U5      SSS9nUR	                  5         T" UTUT-  -   UT-  -   5        g )Nr‘  r’  r”  )r   r!   r3   r4   r#   )
ÚdataÚ	memo_sizeÚ
marks_sizer   r;   r  rš   r  Ústdsizer5   s
        €€€€€r,   Úcheck_unpicklerÚ3SizeofTests.test_unpickler.<locals>.check_unpickleræ  sQ   ø€ Ü—|’| DÓ)ÙœbŸjšj¨Ó.Ø'.°xñAà—‘”Ùa˜ 9¨q¡=Ñ0°:À±>ÑAÕBr+   r   éd   é   r‰   c                 ó4   • Sn[        U 5       H  nX/nM     U$ rL   )r“   )Údeepr˜  r‹  s      r,   ÚrecurseÚ+SizeofTests.test_unpickler.<locals>.recurseò  s!   € ØÜ˜tžAØ ˜<’Dñ %àr+   é2   é@   é<   éŒ   Úaé   )r   r  r9  r)   rD   rƒ  r„  r3   r4   r•   rO  r‚  Úlenr“   r‡  Úis_wasiÚPy_DEBUGr   r!   r#   )r7   rˆ  r•  r–  r;   rœ  r‹  r¢  r  rš   r  r›  r5   s           @@@@@r,   Útest_unpicklerÚSizeofTests.test_unpicklerÖ  só  ü€ Ü×*Ò*Ð+GÓHˆHÜ×)Ñ)ˆIÜ—’ Ó$ˆAÜ—’ Ó$ˆAØ×%Ñ%ˆEÛ8Û1FÙ!¤"§*¢*£,Ø+3ñDAà×$Ñ$¤V×%6Ñ%6°qÓ%9¸8ÔDÙ˜!Ø !™Vñ$ä  ›]ñ+à-.ñ/ä14°V³ñ=à?@ñAö Bó	 2ñ 9ð ¤ W£Ñ-°Ñ1´C¸³MÑAÀAÑEˆG÷Cñ Cñ ˜A˜r 1Ô%á˜Q˜C #™I r¨2Ô.á¬U°3¬ZÓ8ªZ¨œS žV©ZÑ8¸#¸rÔBòñ
 ™G A›J¨¨AÔ.Ù™G A›J¨¨BÔ/Ù™G B›K¨¨RÔ0Ù™G B›K¨¨RÔ0Ü—O—O¬×(8×(8á¡¨£¨c°3Ô7áœ"Ÿ*š*¤V§\¢\°#°qÓ%9Ó:Ø#*°8ñ=ˆAàF‰FŒHÙ!W˜r A™vÑ%¨Ñ)¨AÑ-Õ.ùò# 9s   Ä2H$r   N)	r   r   r   r   r   r„  rŒ  r­  r*   r   r+   r,   ry  ry  Á  s   † à×+Ñ+ˆò	õ",	/r+   ry  >   ©ÚcPickler   ©ÚStringIOr3   ©Ú	cStringIOr3   ©Ú_elementtreezxml.etree.ElementTree>   ©ÚsocketÚ_socketobjectr¸  Ú
SocketType©ÚUserDictr¼  r/  r¼  ©Ú
exceptionsÚStandardErrorÚbuiltinsÚ	Exception©Ú__builtin__Ú
basestringrÀ  Ústrc                 ób   • X4[         ;   a  [         X4   u  pX4$ U [        ;   a	  [        U    n X4$ r1   )r   r   ©ÚmoduleÚnames     r,   ÚmappingrÊ    s@   € Ø€~œÓ%Ü# V NÑ3‰ˆð ˆ<Ðð 
”>Ó	!Ü Ñ'ˆØˆ<Ðr+   c                 ób   • X4[         ;   a  [         X4   u  pX4$ U [        ;   a	  [        U    n X4$ r1   )r   r   rÇ  s     r,   Úreverse_mappingrÌ    sB   € Ø€~Ô-Ó-Ü+¨V¨NÑ;‰ˆð ˆ<Ðð 
Ô)Ó	)Ü'¨Ñ/ˆØˆ<Ðr+   c                 ó,  •  [         R                  U    $ ! [         aô     [        R                  " 5          [
        R                  (       a  SOSn[        R                  " U[        5        [        U 5        S S S 5        O! , (       d  f       Oq= f! [         a3  n[
        R                  (       a  [        SU < SU< 35        [        eS nAf[         a&  n[
        R                  (       a  [        U5        e S nAff = f[         R                  U    s $ f = f)NÚalwaysÚignorezCan't import module z: )r…  ÚmodulesÚKeyErrorÚwarningsÚcatch_warningsr   ÚverboseÚsimplefilterÚDeprecationWarningÚ
__import__rB   ÚprintrF   )rÈ  ÚactionÚexcs      r,   Ú	getmodulerÛ  !  s¾   € ð#Ü{‰{˜6Ñ"Ð"øÜó #ð	Ü×(Ò(Õ*Ü%,§_§_™¸(Ü×%Ò% fÔ.@ÔAÜ˜6Ô"÷ +×*Ö*ûô ó 	ÜÝ³fºcÐBÔCÜÐûÜó 	ÜÜc”
Øûð	úô {‰{˜6Ñ"Ò"ð#úsb   ‚ •
D BµA A>Á5BÁ=DÁ>
B	ÂBÂDÂBÂ
C:Â.CÃC:Ã!C5Ã5C:Ã:DÄDc                 ób   • [        U 5      nUR                  S5       H  n[        X#5      nM     U$ )NÚ.)rÛ  ÚsplitÚgetattr)rÈ  rÉ  rv   r  s       r,   Úgetattributerà  4  s,   € Ü
FÓ
€CØZ‰Z˜Ž_ˆÜc‹oŠñ à€Jr+   c              #   ó¬   #   • [        U 5       HA  n[        X5      n[        U[        5      (       d  M%  [	        U[
        5      (       d  M<  X4v •  MC     g 7fr1   )Údirrß  Ú
isinstancerd  Ú
issubclassÚBaseException)ÚmodrÉ  Úattrs      r,   Úget_exceptionsrè  :  s>   é € ÜC–ˆÜsÓ!ˆÜdœD×!Ó!¤j°´}×&EÓ&EØ*Ôò ùs   ‚-A³AÁ

Ac                   ó>   • \ rS rSrS rS rS rS rS rS r	S r
S	rg
)ÚCompatPickleTestsi@  c                 ó^  • [        [        R                  " 5       5      nU[        [        5      -  nU[         VVs1 s H  u  p#UiM	     snn-  nU[
        R                  " 5        VVs1 s H  u  p#UiM	     snn-  nU H  n [        U5        M     g s  snnf s  snnf ! [         a     M-  f = fr1   )Úsetr   Úvaluesr   r   r   rÛ  rF   )r7   rÐ  rÈ  rÉ  s       r,   Útest_importÚCompatPickleTests.test_importA  s   € Ü”n×+Ò+Ó-Ó.ˆØ”3Ô-Ó.Ñ.ˆØÕ/CÔDÒ/C™|˜v“FÑ/CÒDÑDˆØ¬|×/BÒ/BÔ/DÔEÒ/D™|˜v“FÑ/DÒEÑEˆÛˆFðÜ˜&Ö!ò ùó EùÛEøô ó Úðús   »BÁ(BÂBÂ
B,Â+B,c                 óB  • [         R                  " 5        Hd  u  pU R                  X45          [        U5        US S S:w  a/  U R                  U[        5        U R                  [        U   U5        S S S 5        Mf     g ! [         a     NQf = f! , (       d  f       Mˆ  = f)Nr   Ú_)r   Úitemsrl  rÛ  rF   ÚassertInr   r•   )r7   Úmodule3Úmodule2s      r,   Útest_import_mappingÚ%CompatPickleTests.test_import_mappingL  sŒ   € Ü 6× <Ò <Ö >ÑˆGØ—‘˜wÐ0Õ1ðÜ˜gÔ&ð ˜2˜A; #Ó%Ø—M‘M '¬>Ô:Ø×$Ñ$¤^°GÑ%<¸gÔF÷ 2Ñ1ò !?øô #ó Ùðú÷ 2Ö1ús-   ­B¯A?º8BÁ?
BÂ	BÂBÂBÂ
B	c                 ó6  • [         R                  " 5        HÝ  u  u  pu  p4U R                  X4X4445         X44S:X  a+  [        X5      nU R	                  [        U[        5      5        OƒX44S:X  a+  [        X5      nU R	                  [        U[        5      5        OQ[        X45      u  pgUS S S:w  a  U R                  Xg4X45         [        X5      nU R                  [        Xg5      U5        S S S 5        Mß     g ! [         a     Nf = f! , (       d  f       GM  = f)N©r¾  ÚOSError©r¾  rF   r   rñ  )
r   rò  rl  rà  rm  rä  rú  rF   rÊ  r•   )r7   rô  Úname3rõ  Úname2rç  rÈ  rÉ  s           r,   Útest_name_mappingÚ#CompatPickleTests.test_name_mappingW  s  € Ü2F×2LÒ2LÖ2NÑ.ÑˆWÑ.˜wØ—‘ Ð/°'Ð1AÐBÕCØÐ#Ð'@Ó@Ü'¨Ó7DØ—O‘O¤J¨t´WÓ$=Õ>ØÐ%Ð)FÓFÜ'¨Ó7DØ—O‘O¤J¨t´[Ó$AÕBä#*¨7Ó#:‘LFØ˜r { cÓ)Ø×(Ñ(¨&¨¸'Ð9IÔJðKÜ+¨GÓ;˜ð ×(Ñ(¬°fÓ)CÀTÔJ÷! DÑCò 3Oøô 'ó Ùðú÷ D×Cús0   µBDÃC8ÃDÃ8
DÄDÄDÄDÄ
D	c                 ót  • [         R                  " 5        HÕ  u  pU R                  X45          [        U5        X4[        ;  aa  [        R                  " US 5      U:w  aF  [        R                  " 5        H  u  u  pEu  pgX!4XF4:X  d  M    O   U R                  SU< SU< 35        [        R                  " X"5      n[         R                  " Xˆ5      nU R                  X‚5        S S S 5        M×     g ! [         a*  n[
        R                  (       a  [        U5         S nANåS nAff = f! , (       d  f       GM!  = f)NzNo reverse mapping from z to )r   rò  rl  rÛ  rF   r   rÔ  rØ  ÚALT_IMPORT_MAPPINGr   Úgetr   Úfailr•   )	r7   rõ  rô  rÚ  Úm3Ún3Úm2Ún2rÈ  s	            r,   Útest_reverse_import_mappingÚ-CompatPickleTests.test_reverse_import_mappingk  sü   € Ü .× 4Ò 4Ö 6ÑˆGØ—‘˜wÐ0Õ1ð#Ü˜gÔ&ð Ð&Ô.@Ó@Ü*×.Ò.¨w¸Ó=ÀÓHÜ.B×.HÒ.HÖ.JÑ*™˜¡( 2Ø#Ð-°"°Õ9Ù!ñ /Kð Ÿ	š	Û#*ªGð#5ô 6ä/×3Ò3°GÓEÜ'×+Ò+¨FÓ;Ø× Ñ  Ô1÷! 2Ñ1ò !7øô #ó #Ü——Ü˜cœ
ÿøð#ú÷ 2×1ús;   ­D'¯C0ºAD'Â	AD'Ã0
D$Ã: DÄD'ÄD$Ä$D'Ä'
D7	c                 ó~  • [         R                  " 5        H‚  u  u  pu  p4U R                  X4X4445          [        X45      n[        X45      u  pgXX44[        ;  a  U R                  Xg4X45        [        Xg5      u  pgU R                  Xg4X445        S S S 5        M„     g ! [         a     Ngf = f! , (       d  f       M¦  = fr1   )	r   rò  rl  rà  rF   rÌ  ÚALT_NAME_MAPPINGr•   rÊ  )r7   rõ  rý  rô  rü  rç  rÈ  rÉ  s           r,   Útest_reverse_name_mappingÚ+CompatPickleTests.test_reverse_name_mapping  sÀ   € Ü2>×2DÒ2DÖ2FÑ.ÑˆWÑ.˜wØ—‘ Ð/°'Ð1AÐBÕCðÜ'¨Ó7Dô  /¨wÓ>‘Ø GÐ3Ô;KÓKØ×$Ñ$ f ^°gÐ5EÔFÜ& vÓ4‘Ø× Ñ  & °'Ð1AÔB÷ DÑCò 3Gøô #ó Ùðú÷ DÖCús/   µB-·BÁAB-Â
B*Â'B-Â)B*Â*B-Â-
B<	c                 óÆ  • U R                  [        SS5      S5        U R                  [        SS5      S5        U R                  [        SS5      S5        U R                  [        SS5      S5        U R                  [        SS5      S	5        [        [        5       GH.  u  pU R                  U5         U[        [        [        [        [        [        [        [        [        4	;   a   S S S 5        MV  U[        La2  [!        U[        5      (       a  U R                  [        SU5      S	5        O•U["        LaP  [!        U["        5      (       a;  U R                  [        SU5      S
5        U R                  [        SU5      SU45        O<U R                  [        SU5      SU45        U R                  [        SU5      SU45        S S S 5        GM1     g ! , (       d  f       GMD  = f)Nr¾  r¿  )rÀ  rÁ  rÁ  rÀ  )r¾  rÁ  rú  )rÀ  rú  rù  rû  )r•   rÊ  rÌ  rè  rÀ  rl  ÚBlockingIOErrorÚResourceWarningÚStopAsyncIterationÚPythonFinalizationErrorÚRecursionErrorÚEncodingWarningÚBaseExceptionGroupÚExceptionGroupÚ_IncompleteInputErrorrú  rä  rF   )r7   rÉ  rÚ  s      r,   Útest_exceptionsÚ!CompatPickleTests.test_exceptionsŒ  s¥  € Ø×Ñœ ¨Ó?Ø2ô	4à×Ñœ ¨{Ó;Ø2ô	4à×Ñœ¨°[ÓAØ4ô	6à×Ñœ ¨yÓ9Ø0ô	2à×Ñœ¨°YÓ?Ø2ô	4ô (¬×1‰IˆDØ—‘˜dÕ#Øœ?Ü*Ü-Ü2Ü)Ü*Ü-Ü)Ü0ð2ó 2ð ÷ $Ñ#ð œgÒ%¬*°S¼'×*BÑ*BØ×$Ñ$¤_°ZÀÓ%FØ%>õ@à¤Ò+´
¸3Ä×0LÑ0LØ×$Ñ$¤_°ZÀÓ%FØ%BôDà×$Ñ$¤W¨\¸4Ó%@Ø&2°DÐ%9õ;ð ×$Ñ$¤_°ZÀÓ%FØ&2°DÐ%9ô;à×$Ñ$¤W¨\¸4Ó%@Ø&0°$Ð%7ô9÷- $Ò#ò 2ß#×#ús   Â35GÃ2CGÇ
G 	c                 óV  • [         R                  " S5      n[        U5       Hr  u  p#[        U[        5      (       a  M  U R                  U5         U R                  [        SU5      SU45        U R                  [        SU5      SU45        S S S 5        Mt     g ! , (       d  f       M†  = f)Nzmultiprocessing.contextÚmultiprocessing)	r   Úimport_modulerè  rä  ÚWarningrl  r•   rÌ  rÊ  )r7   rÈ  rÉ  rÚ  s       r,   Útest_multiprocessing_exceptionsÚ1CompatPickleTests.test_multiprocessing_exceptions²  s’   € Ü×,Ò,Ð-FÓGˆÜ'¨Ö/‰IˆDÜ˜#œw×'Ñ'ÙØ—‘˜dÕ#Ø× Ñ ¤Ð1JÈDÓ!QØ"3°TÐ!:ô<à× Ñ ¤Ð):¸DÓ!AØ";¸TÐ!BôD÷ $Ñ#ò 0÷ $Ö#ús   Á=BÂ
B(	r   N)r   r   r   r   rî  rö  rþ  r  r  r  r  r*   r   r+   r,   rê  rê  @  s*   † ò	ò	GòKò(2ò(Cò$9õL	Dr+   rê  c                 óX   • UR                  [        R                  " [        5      5        U$ r1   )ÚaddTestÚdoctestÚDocTestSuiter   )ÚloaderÚtestsÚpatterns      r,   Ú
load_testsr'  ¾  s   € Ø	‡MM”'×&Ò&¤vÓ.Ô/Ø€Lr+   Ú__main__)JÚ_compat_pickler   r   r   r   rÀ  r   r3   r/  rD   r…  rÒ  r–   r"  ÚunittestÚtestr   Útest.supportr   Útest.pickletesterr	   r
   r   r   r   r   r   r   r   r   r   r9  Úhas_c_implementationrF   ÚTestCaser   r.   rI   rZ   ra   rO  rl   rˆ   r‹   r   r$  r,  r3  r8  r;  r=  r?  rC  rE  rG  rI  rK  rT  rY  r]  r  rb  ry  r  r  rÊ  rÌ  rÛ  rà  rè  rê  r'  r   Úmainr   r+   r,   Ú<module>r1     sù  ð÷@ó @ã Û Û 	Û Û Û 
Û Û ã Û Ý Ý &å /Ý 3Ý 8Ý 1Ý 7Ý <Ý DÝ AÝ 8Ý 8Ý /ð!ÛØÐô
"Ð-¨x×/@Ñ/@ô "ôÐ,¨h×.?Ñ.?ô ô	Ð5°x×7HÑ7Hô 	ôÐ(¨(×*;Ñ*;ô ô$"Ð-Ð/DØ+¨X×->Ñ->ô"ô& fô ô("Ð7Ø8¸(×:KÑ:Kô"ôAMÐAØ:¸H×<MÑ<MôAMôH(Ð$GÈ×IZÑIZô (ô,Ð5°x×7HÑ7Hô ,ô?Ð :¸H×<MÑ<Mô ?ô)Ð*¨H×,=Ñ,=ô )÷ ôIÐ0°(×2CÑ2Cô Iô5Ð*ô 5ô
"Ð2ô "ô&˜ô &ô&Ð.ô &ô8Ð2ô 8ô
& ô &ô& ô &ô'Ð'JÈH×L]ÑL]ô 'ô0Ð8¸(×:KÑ:Kô 0ô
CÐ#=¸x×?PÑ?Pô Cô
,Ð-¨x×/@Ñ/@ô ,ð
 ×Ñô'˜×*Ñ*ó 'ó ð'ð6 ×Ñô@/h×'Ñ'ó @/ó ð@/òFÐ òÐ òòò#ò&òô{D˜×)Ñ)ô {Dò|ð
 ˆzÓØ‡M‚M…Oð øðG ó !Ø Óð!ús   ÂK ËK*Ë)K*