Ë
    dÿafýR  ã                   ó|  — d dl mZmZmZmZ d dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ 	 d dlZdZ G d„ deejB                  «      Z" G d„ deejB                  «      Z# G d„ deejB                  «      Z$ G d„ deeeejB                  «      Z% G d„ de&«      Z' G d„ dee'ejB                  «      Z( G d„ dee'ejB                  «      Z) G d„ d eejB                  «      Z* G d!„ d"eejB                  «      Z+ G d#„ d$eejB                  «      Z, G d%„ d&eejB                  «      Z-erø G d'„ d(eejB                  «      Z. G d)„ d*e#«      Z/ G d+„ d,e$«      Z0 G d-„ d.e(«      Z1 G d/„ d0e)«      Z2 G d1„ d2e$«      Z3 G d3„ d4e$«      Z4 G d5„ d6eejB                  «      Z5 G d7„ d8eejB                  «      Z6 G d9„ d:eejB                  «      Z7 G d;„ d<eejB                  «      Z8ejr                   G d=„ d>ejB                  «      «       Z:ejr                   G d?„ d@ejB                  «      «       Z;h dA£Z<h dB£Z=dC„ Z>dD„ Z?dE„ Z@dF„ ZAdG„ ZB G dH„ dIejB                  «      ZCdJ„ ZDeEdKk(  r ejŒ                  «        yy# e $ r dZY Œ6w xY w)Lé    )ÚIMPORT_MAPPINGÚREVERSE_IMPORT_MAPPINGÚNAME_MAPPINGÚREVERSE_NAME_MAPPINGN)Úsupport)Úimport_helper)ÚAbstractHookTests)ÚAbstractUnpickleTests)ÚAbstractPickleTests)ÚAbstractPickleModuleTests)ÚAbstractPersistentPicklerTests)Ú&AbstractIdentityPersistentPicklerTests)Ú#AbstractPicklerUnpicklerObjectTests)ÚAbstractDispatchTableTests)ÚAbstractCustomPicklerClass)ÚBigmemPickleTestsTFc                   óÌ   — e Zd Z eej
                  «      Z eej                  «      Z eej                  «      Z
 eej                  «      Zej                  Zej                  Zy)ÚPyPickleTestsN)Ú__name__Ú
__module__Ú__qualname__ÚstaticmethodÚpickleÚ_dumpÚdumpÚ_dumpsÚdumpsÚ_loadÚloadÚ_loadsÚloadsÚ_PicklerÚPicklerÚ
_UnpicklerÚ	Unpickler© ó    ú+/root/Python-3.12.4/Lib/test/test_pickle.pyr   r   #   sN   „ Ù˜Ÿ™Ó%€DÙ˜Ÿ™Ó'€EÙ˜Ÿ™Ó%€DÙ˜Ÿ™Ó'€EØo‰o€GØ×!Ñ!Ir'   r   c                   ój   — e Zd Zej                  ZefZej                  e	e
eej                  eefZd„ Zy)ÚPyUnpicklerTestsc                 ór   — t        j                  |«      } | j                  |fi |¤Ž}|j                  «       S ©N©ÚioÚBytesIOÚ	unpicklerr   ©ÚselfÚbufÚkwdsÚfÚus        r(   r!   zPyUnpicklerTests.loads4   ó/   € ÜJ‰Js‹OˆØˆDN‰N˜1Ñ% Ñ%ˆØv‰v‹xˆr'   N)r   r   r   r   r$   r0   Ú
IndexErrorÚbad_stack_errorsÚUnpicklingErrorÚEOFErrorÚAttributeErrorÚ
ValueErrorÚstructÚerrorÚImportErrorÚtruncated_errorsr!   r&   r'   r(   r*   r*   ,   s=   „ à×!Ñ!€IØ"}ÐØ×.Ñ.°Ø&¨
ØŸ™ j°+ð?Ðór'   r*   c                   óJ   — e Zd Zej                  Zej                  Zdd„Zd„ Z	y)ÚPyPicklerTestsNc                 óÈ   — t        j                  «       } | j                  ||fi |¤Ž}|j                  |«       |j	                  d«       t        |j                  «       «      S ©Nr   )r.   r/   Úpicklerr   ÚseekÚbytesÚread)r2   ÚargÚprotoÚkwargsr5   Úps         r(   r   zPyPicklerTests.dumps?   sJ   € ÜJ‰J‹LˆØˆDL‰L˜˜EÑ, VÑ,ˆØ	‰ˆsŒØ	‰ˆqŒ	ÜQ—V‘V“X‹Ðr'   c                 ór   — t        j                  |«      } | j                  |fi |¤Ž}|j                  «       S r,   r-   r1   s        r(   r!   zPyPicklerTests.loadsF   r7   r'   r,   )
r   r   r   r   r"   rF   r$   r0   r   r!   r&   r'   r(   rC   rC   :   s    „ ào‰o€GØ×!Ñ!€Ióór'   rC   c                   ót   — e Zd Zej                  efZej                  eee	e
j                  eefZdd„Zd„ ZdZy)ÚInMemoryPickleTestsNc                 ó0   — t        j                  ||fi |¤ŽS r,   )r   r   )r2   rJ   ÚprotocolrL   s       r(   r   zInMemoryPickleTests.dumpsT   s   € Ü|‰|˜C Ñ4¨VÑ4Ð4r'   c                 ó.   — t        j                  |fi |¤ŽS r,   )r   r!   )r2   r3   r4   s      r(   r!   zInMemoryPickleTests.loadsW   s   € Ü|‰|˜CÑ( 4Ñ(Ð(r'   r,   )r   r   r   r   r:   r8   r9   r;   r<   r=   r>   r?   r@   rA   r   r!   Ú+test_framed_write_sizes_with_delayed_writerr&   r'   r(   rP   rP   L   sJ   „ ð ×.Ñ.°
Ð;ÐØ×.Ñ.°Ø&¨
ØŸ™ j°+ð?Ðó5ò)ð 37Ñ/r'   rP   c                   ó   — e Zd Zdd„Zd„ Zy)ÚPersistentPicklerUnpicklerMixinNc                 ó®   ‡ —  G ˆ fd„d‰ j                   «      }t        j                  «       } |||«      }|j                  |«       |j	                  «       S )Nc                   ó   •— e Zd Zˆ fd„Zy)ú:PersistentPicklerUnpicklerMixin.dumps.<locals>.PersPicklerc                 ó&   •— ‰j                  |«      S r,   )Úpersistent_id©ÚsubselfÚobjr2   s     €r(   r[   zHPersistentPicklerUnpicklerMixin.dumps.<locals>.PersPickler.persistent_ida   s   ø€ Ø×)Ñ)¨#Ó.Ð.r'   N©r   r   r   r[   ©r2   s   €r(   ÚPersPicklerrY   `   s   ø„ õ/r'   ra   )rF   r.   r/   r   Úgetvalue)r2   rJ   rK   ra   r5   rM   s   `     r(   r   z%PersistentPicklerUnpicklerMixin.dumps_   sC   ø€ ö	/˜$Ÿ,™,ô 	/ô J‰J‹LˆÙ˜˜5Ó!ˆØ	‰ˆsŒØz‰z‹|Ðr'   c                 óŽ   ‡ —  G ˆ fd„d‰ j                   «      }t        j                  |«      } ||fi |¤Ž}|j                  «       S )Nc                   ó   •— e Zd Zˆ fd„Zy)ú<PersistentPicklerUnpicklerMixin.loads.<locals>.PersUnpicklerc                 ó&   •— ‰j                  |«      S r,   )Úpersistent_loadr\   s     €r(   rg   zLPersistentPicklerUnpicklerMixin.loads.<locals>.PersUnpickler.persistent_loadj   s   ø€ Ø×+Ñ+¨CÓ0Ð0r'   N©r   r   r   rg   r`   s   €r(   ÚPersUnpicklerre   i   s   ø„ õ1r'   ri   )r0   r.   r/   r   )r2   r3   r4   ri   r5   r6   s   `     r(   r!   z%PersistentPicklerUnpicklerMixin.loadsh   s<   ø€ ö	1˜DŸN™Nô 	1ô J‰Js‹OˆÙ˜!Ñ$˜tÑ$ˆØv‰v‹xˆr'   r,   )r   r   r   r   r!   r&   r'   r(   rV   rV   ]   s   „ óór'   rV   c                   ó<   — e Zd Zej                  Zej                  Zy)ÚPyPersPicklerTestsN)r   r   r   r   r"   rF   r$   r0   r&   r'   r(   rk   rk   q   s   „ ð o‰o€GØ×!Ñ!Ir'   rk   c                   ó¨   — e Zd Zej                  Zej                  Zej                  d„ «       Z
ej                  d„ «       Zej                  d„ «       Zy)ÚPyIdPersPicklerTestsc                 ó¾   ‡ — ˆ fd„} G d„ d‰ j                   «      } ||«        G d„ d‰ j                   «      } ||«        G d„ d‰ j                   «      } ||«       y )Nc                 óÐ  •— t        t        j                  dz   «      D ]_  }t        j                  «       } | ||«      }|j                  d«       ‰j                  ‰j                  |j                  «       «      d«       Œa  | t        j                  «       «      }‰j                  |j                  d«      d«       t        j                  |«      }~‰j                   |«       «       y ©Né   ÚabcÚdef)Úranger   ÚHIGHEST_PROTOCOLr.   r/   r   ÚassertEqualr!   rb   r[   ÚweakrefÚrefÚassertIsNone)r#   rK   r5   rF   Úrr2   s        €r(   Úcheckz@PyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.check€   s´   ø€ Üœv×6Ñ6¸Ñ:Ó;ò BÜ—J‘J“LÙ! ! UÓ+Ø—‘˜UÔ#Ø× Ñ  §¡¨A¯J©J«LÓ!9¸5ÕAð	Bñ
 œbŸj™j›lÓ+ˆGØ×Ñ˜W×2Ñ2°5Ó9¸5ÔAÜ—‘˜GÓ$ˆAØØ×Ñ™a›cÕ"r'   c                   ó   — e Zd Zd„ Zy)úFPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPicklerc                 ó   — |S r,   r&   )r]   r^   s     r(   r[   zTPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPickler.persistent_id   ó   € Ø
r'   Nr_   r&   r'   r(   ra   r}   Œ   ó   „ ór'   ra   c                   ó   — e Zd Zed„ «       Zy)r}   c                 ó   — |S r,   r&   )Úclsr^   s     r(   r[   zTPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPickler.persistent_id’   ó   € à
r'   N)r   r   r   Úclassmethodr[   r&   r'   r(   ra   zFPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPickler‘   ó   „ Øñó ñr'   c                   ó   — e Zd Zed„ «       Zy)r}   c                 ó   — | S r,   r&   )r^   s    r(   r[   zTPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPickler.persistent_id˜   r„   r'   N)r   r   r   r   r[   r&   r'   r(   ra   zFPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPickler—   ó   „ Øñó ñr'   )rF   )r2   r{   ra   s   `  r(   Útest_pickler_reference_cyclez1PyIdPersPicklerTests.test_pickler_reference_cycle~   sV   ø€ ô
	#ô	˜$Ÿ,™,ô 	ñ 	ˆkÔô	˜$Ÿ,™,ô 	ñ 	ˆkÔô	˜$Ÿ,™,ô 	ñ 	ˆkÕr'   c                 óp  ‡—  G ˆfd„d| j                   «      } G d„ d«      } |«       Š |t        j                  «       «      }| j                  |j                  ‰«       t        j                  ‰«      }| j                   |«       «       ~‹t        j                  «        | j                   |«       «       y )Nc                   ó"   •‡ — e Zd Zˆ ˆfd„Zˆ xZS )úPPyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleak.<locals>.Picklerc                 ó2   •— ‰| _         t        ‰|   |i |¤Ž y r,   )Údispatch_tableÚsuperÚ__init__)r2   ÚargsrL   Ú	__class__Útables      €€r(   r‘   zYPyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleak.<locals>.Pickler.__init__¢   s   ø€ Ø&+Ô#Ü‘Ñ  $Ð1¨&Ó1r'   )r   r   r   r‘   Ú__classcell__)r“   r”   s   @€r(   r#   r   ¡   s   ù„ ÷2ñ 2r'   r#   c                   ó   — e Zd Zy)úVPyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleak.<locals>.DispatchTableN©r   r   r   r&   r'   r(   ÚDispatchTabler—   ¦   ó   „ Ør'   r™   )rF   r.   r/   ÚassertIsr   rw   rx   ÚassertIsNotNoner   Ú
gc_collectry   )r2   r#   r™   rF   Ú	table_refr”   s        @r(   Ú*test_custom_pickler_dispatch_table_memleakz?PyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleak   sŠ   ø€ ö	2d—l‘lô 	2÷
	ñ 	ñ “ˆÙœ"Ÿ*™*›,Ó'ˆØ‰g×,Ñ,¨eÔ4Ü—K‘K Ó&ˆ	Ø×Ñ™Y›[Ô)ØØÜ×ÑÔØ×Ñ™)›+Õ&r'   c                 ó¾   ‡ — ˆ fd„} G d„ d‰ j                   «      } ||«        G d„ d‰ j                   «      } ||«        G d„ d‰ j                   «      } ||«       y )Nc           	      ó¬  •— t        t        j                  dz   «      D ]M  } | t        j                  ‰j                  d|«      «      «      }‰j                  |j                  «       d«       ŒO  | t        j                  «       «      }‰j                  |j                  d«      d«       t        j                  |«      }~‰j                   |«       «       y rp   )rt   r   ru   r.   r/   r   rv   r   rg   rw   rx   ry   )r%   rK   r0   rz   r2   s       €r(   r{   zBPyIdPersPicklerTests.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                   ó   — e Zd Zd„ Zy)úJPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpicklerc                 ó   — |S r,   r&   )r]   Úpids     r(   rg   zZPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpickler.persistent_loadÁ   r   r'   Nrh   r&   r'   r(   ri   r£   À   r€   r'   ri   c                   ó   — e Zd Zed„ «       Zy)r£   c                 ó   — |S r,   r&   )rƒ   r¥   s     r(   rg   zZPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpickler.persistent_loadÆ   r„   r'   N)r   r   r   r…   rg   r&   r'   r(   ri   zJPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpicklerÅ   r†   r'   c                   ó   — e Zd Zed„ «       Zy)r£   c                 ó   — | S r,   r&   )r¥   s    r(   rg   zZPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpickler.persistent_loadÌ   r„   r'   N)r   r   r   r   rg   r&   r'   r(   ri   zJPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpicklerË   r‰   r'   )r0   )r2   r{   ri   s   `  r(   Útest_unpickler_reference_cyclez3PyIdPersPicklerTests.test_unpickler_reference_cycle´   sV   ø€ ô	#ô	˜DŸN™Nô 	ñ 	ˆmÔô	˜DŸN™Nô 	ñ 	ˆmÔô	˜DŸN™Nô 	ñ 	ˆmÕr'   N)r   r   r   r   r"   rF   r$   r0   r   Úcpython_onlyrŠ   rŸ   rª   r&   r'   r(   rm   rm   x   sd   „ ð o‰o€GØ×!Ñ!€Ià×Ññó ðð< ×Ññ'ó ð'ð, ×Ññó ñr'   rm   c                   ó<   — e Zd Zej                  Zej                  Zy)ÚPyPicklerUnpicklerObjectTestsN)r   r   r   r   r"   Úpickler_classr$   Úunpickler_classr&   r'   r(   r­   r­   Ò   s   „ à—O‘O€MØ×'Ñ'Or'   r­   c                   ó*   — e Zd Zej                  Zd„ Zy)ÚPyDispatchTableTestsc                 ó>   — t         j                  j                  «       S r,   ©r   r   Úcopyr`   s    r(   Úget_dispatch_tablez'PyDispatchTableTests.get_dispatch_tableÜ   s   € Ü×$Ñ$×)Ñ)Ó+Ð+r'   N©r   r   r   r   r"   r®   rµ   r&   r'   r(   r±   r±   Ø   s   „ à—O‘O€Mó,r'   r±   c                   ó*   — e Zd Zej                  Zd„ Zy)ÚPyChainDispatchTableTestsc                 óJ   — t        j                  i t        j                  «      S r,   ©ÚcollectionsÚChainMapr   r   r`   s    r(   rµ   z,PyChainDispatchTableTests.get_dispatch_tableä   s   € Ü×#Ñ# B¬×(=Ñ(=Ó>Ð>r'   Nr¶   r&   r'   r(   r¸   r¸   à   s   „ à—O‘O€Mó?r'   r¸   c                   ó<   — e Zd Z G d„ dej                  e«      ZeZy)ÚPyPicklerHookTestsc                   ó   — e Zd Zy)ú'PyPicklerHookTests.CustomPyPicklerClassNr˜   r&   r'   r(   ÚCustomPyPicklerClassrÀ   é   s   „ àr'   rÁ   N)r   r   r   r   r"   r   rÁ   r®   r&   r'   r(   r¾   r¾   è   s   „ ô˜vŸ™Ø9ôð )Mr'   r¾   c                   ó,   — e Zd ZddlmZmZmZmZmZm	Z	 y)ÚCPickleTestsr   )r   r   r   r!   r#   r%   N)
r   r   r   Ú_pickler   r   r   r!   r#   r%   r&   r'   r(   rÃ   rÃ   ð   s   „ ßH×HÐHr'   rÃ   c                   óX   — e Zd Zej                  Zej                  fZej                  fZ	y)ÚCUnpicklerTestsN)
r   r   r   rÄ   r%   r0   r   r:   r9   rA   r&   r'   r(   rÆ   rÆ   ó   s+   „ Ø×%Ñ%ˆ	Ø"×2Ñ2Ð4ÐØ"×2Ñ2Ð4Ñr'   rÆ   c                   ó<   — e Zd Zej                  Zej                  Zy)ÚCPicklerTestsN©r   r   r   rÄ   r#   rF   r%   r0   r&   r'   r(   rÈ   rÈ   ø   ó   „ Ø—/‘/ˆØ×%Ñ%‰	r'   rÈ   c                   ó<   — e Zd Zej                  Zej                  Zy)ÚCPersPicklerTestsNrÉ   r&   r'   r(   rÌ   rÌ   ü   rÊ   r'   rÌ   c                   ó<   — e Zd Zej                  Zej                  Zy)ÚCIdPersPicklerTestsNrÉ   r&   r'   r(   rÎ   rÎ      rÊ   r'   rÎ   c                   ó<   — e Zd Zej                  Zej                  Zy)ÚCDumpPickle_LoadPickleN)	r   r   r   rÄ   r#   rF   r   r$   r0   r&   r'   r(   rÐ   rÐ     s   „ Ø—/‘/ˆØ×%Ñ%‰	r'   rÐ   c                   ó<   — e Zd Zej                  Zej                  Zy)ÚDumpPickle_CLoadPickleN)	r   r   r   r   r"   rF   rÄ   r%   r0   r&   r'   r(   rÒ   rÒ     s   „ Ø—/‘/ˆØ×%Ñ%‰	r'   rÒ   c                   óB   — e Zd Zej                  Zej                  Zd„ Zy)ÚCPicklerUnpicklerObjectTestsc                 ó,  — | j                  t        j                  «       «      }| j                  t        «      5  t
        |_        d d d «       | j                  t        «      5  dd i|_        d d d «       dd i|_        y # 1 sw Y   Œ:xY w# 1 sw Y   ŒxY w)Néÿÿÿÿrq   )r¯   r.   r/   ÚassertRaisesÚ	TypeErrorÚobjectÚmemor=   )r2   r0   s     r(   Útest_issue18339z,CPicklerUnpicklerObjectTests.test_issue18339  s}   € Ø×,Ñ,¬R¯Z©Z«\Ó:ˆIØ×"Ñ"¤9Ó-ñ (Ü!'	”÷(ð ×"Ñ"¤:Ó.ñ ,Ø"$ d 	”÷,à ˜YˆIN÷(ð (ú÷,ð ,ús   ¹A>Á"
B
Á>BÂ
BN)	r   r   r   rÄ   r#   r®   r%   r¯   rÛ   r&   r'   r(   rÔ   rÔ     s   „ ØŸ™ˆØ!×+Ñ+ˆó	'r'   rÔ   c                   ó*   — e Zd Zej                  Zd„ Zy)ÚCDispatchTableTestsc                 ó>   — t         j                  j                  «       S r,   r³   r`   s    r(   rµ   z&CDispatchTableTests.get_dispatch_table  s   € Ü×(Ñ(×-Ñ-Ó/Ð/r'   N©r   r   r   r   r#   r®   rµ   r&   r'   r(   rÝ   rÝ     s   „ ØŸ™ˆó	0r'   rÝ   c                   ó*   — e Zd Zej                  Zd„ Zy)ÚCChainDispatchTableTestsc                 óJ   — t        j                  i t        j                  «      S r,   rº   r`   s    r(   rµ   z+CChainDispatchTableTests.get_dispatch_table   s   € Ü×'Ñ'¨¬F×,AÑ,AÓBÐBr'   Nrß   r&   r'   r(   rá   rá     s   „ ØŸ™ˆó	Cr'   rá   c                   ó<   — e Zd Z G d„ dej                  e«      ZeZy)ÚCPicklerHookTestsc                   ó   — e Zd Zy)ú%CPicklerHookTests.CustomCPicklerClassNr˜   r&   r'   r(   ÚCustomCPicklerClassræ   $  rš   r'   rç   N)r   r   r   rÄ   r#   r   rç   r®   r&   r'   r(   rä   rä   #  s   „ ô	 '§/¡/Ð3Mô 	à+‰r'   rä   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚHeapTypesTestsc                 ó:  — t        j                  t        j                  «       «      }t        j                  t        j                  «       «      }t         j                  t         j                  t        |j                  «      t        |j                  «      f| _        y r,   )rÄ   r#   r.   r/   r%   ÚtyperÚ   Ú_types)r2   rF   r0   s      r(   ÚsetUpzHeapTypesTests.setUp*  s_   € Ü—o‘o¤b§j¡j£lÓ3ˆGÜ×)Ñ)¬"¯*©*«,Ó7ˆIô —‘Ü×!Ñ!ÜW—\‘\Ó"ÜY—^‘^Ó$ð	ˆDKr'   c                 ó¼   — dd l }| j                  D ]=  }| j                  |¬«      5  | j                  |j	                  |«      «       d d d «       Œ? y # 1 sw Y   ŒJxY w)Nr   ©Útp)Úgcrì   ÚsubTestÚ
assertTrueÚ
is_tracked)r2   rñ   rð   s      r(   Útest_have_gczHeapTypesTests.test_have_gc8  sU   € ÛØ—k‘kò 7Ø—\‘\ R\Ó(ñ 7Ø—O‘O B§M¡M°"Ó$5Ô6÷7ð 7ñ7÷7ð 7ús   ¦!AÁA	c                 óØ   — | j                   D ]C  }| j                  |¬«      5  | j                  t        d«      5  d|_        d d d «       d d d «       ŒE y # 1 sw Y   ŒxY w# 1 sw Y   Œ\xY w)Nrï   Ú	immutableÚbar)rì   rò   ÚassertRaisesRegexrØ   Úfoo)r2   rð   s     r(   Útest_immutablezHeapTypesTests.test_immutable>  si   € Ø—k‘kò 'Ø—\‘\ R\Ó(ñ 'Ø×/Ñ/´	¸;ÓGñ 'Ø!&˜œ÷'÷'ð 'ñ'÷'ð 'ú÷'ð 'ús"   ¢A ¹AÁA ÁAÁA Á A)	N)r   r   r   rí   rõ   rû   r&   r'   r(   ré   ré   (  s   „ ò	ò	7ó	'r'   ré   c                   ó0   — e Zd Zej                  Zd„ Zd„ Zy)ÚSizeofTestsc                 ó   — t        j                  d«      }t        j                  t	        j
                  «       «      }| j                  t        j                  |«      |«       t        j                  d«      }t        j                  d«      }| j                  } ||||z   d|z  z   t        j                  d«      z   «       t        d«      D ]  }|j                  t!        |«      «       Œ  ||||z   d|z  z   dz   «       y )	NÚ7P2n3i2n3i2PÚ3nP0nÚPn0Pé   s   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxé   é    r   )r   ÚcalcobjsizerÄ   r#   r.   r/   rv   rÙ   Ú
__sizeof__r>   ÚcalcsizeÚcheck_sizeofÚsysÚ	getsizeofrt   r   Úchr)r2   ÚbasesizerM   ÚMT_sizeÚME_sizer{   Úis          r(   Útest_picklerzSizeofTests.test_picklerH  sç   € Ü×*Ñ*¨>Ó:ˆHÜ—‘¤§
¡
£Ó-ˆAØ×ÑœV×.Ñ.¨qÓ1°8Ô<Ü—o‘o gÓ.ˆGÜ—o‘o fÓ-ˆGØ×%Ñ%ˆEÙ!XØñØ˜g™+ñ&ä—‘˜iÓ(ñ)ô *ô ˜1“Xò Ø—‘”s˜1“v•ðá!XØñØ˜w™,ñ'ð ñõ r'   c           	      óò  ‡‡	‡
‡‡— t        j                  d«      }t        j                  Št	        j
                  d«      Št	        j
                  d«      Š
| j                  Š	dD ]x  }dD ]q  } ‰t        j                  «       ||¬«      }| j                  t        j                  |«      |«        ‰	||d‰z  z   t        |«      z   dz   t        |«      z   dz   «       Œs Œz |t        d	«      z   dz   t        d
«      z   dz   Šˆˆ	ˆ
ˆˆfd„} |ddd«        |dgdz  dd«        |t        d«      D cg c]  }t        |«      ‘Œ c}dd«       d„ } | |d«      dd«        | |d«      dd«        | |d«      dd«        | |d«      dd«        | |d«      dd«        ‰t        j                  t        j                   dd«      «      d	d
¬«      }|j#                  «         ‰	|‰d‰z  z   dz   dz   «       y c c}w )Nz2P2n2P 2P2n2i5P 2P3n8P2n2iÚPÚn)ÚASCIIzUTF-16zlatin-1)ÚstrictÚreplace©ÚencodingÚerrorsr  rq   r  r  c                 ó¶   •— t        j                  | «      } ‰	t        j                  |«      dd¬«      }|j	                  «         ‰|‰|‰z  z   |‰z  z   «       y )Nr  r  r  )r   r   r.   r/   r   )
ÚdataÚ	memo_sizeÚ
marks_sizer   r6   r  r{   r  Ústdsizer0   s
        €€€€€r(   Úcheck_unpicklerz3SizeofTests.test_unpickler.<locals>.check_unpickleri  sQ   ø€ Ü—|‘| DÓ)ÙœbŸj™j¨Ó.Ø'.°xôAà—‘”Ùa˜ 9¨q¡=Ñ0°:À±>ÑAÕBr'   r   éd   é   é€   c                 ó2   — d}t        | «      D ]  }||g}Œ |S rE   )rt   )Údeepr  r  s      r(   Úrecursez+SizeofTests.test_unpickler.<locals>.recurseu  s(   € ØÜ˜t›ò (AØ  $˜<‘Dð(àr'   é2   é@   é<   éŒ   Úaé   )r   r  rÄ   r%   r>   r  r  r.   r/   rv   rÙ   r  Úlenrt   r  r   r   r   )r2   r  r  r  r6   r  r  r%  r  r{   r  r  r0   s           @@@@@r(   Útest_unpicklerzSizeofTests.test_unpicklerY  sò  ü€ Ü×*Ñ*Ð+GÓHˆHÜ×)Ñ)ˆIÜ—‘ Ó$ˆAÜ—‘ Ó$ˆAØ×%Ñ%ˆEØ8ò BØ1ò BFÙ!¤"§*¡*£,Ø+3¸FôDAà×$Ñ$¤V×%6Ñ%6°qÓ%9¸8ÔDÙ˜!˜XØ !™Vñ$ä  ›]ñ+à-.ñ/ä14°V³ñ=à?@ñAõ Bñ	BðBð ¤ W£Ñ-°Ñ1´C¸³MÑAÀAÑEˆG÷Cð Cñ ˜A˜r 1Ô%á˜Q˜C #™I r¨2Ô.á¬U°3«ZÖ8¨œS VÒ8¸#¸rÔBòñ
 ™G A›J¨¨AÔ.Ù™G A›J¨¨BÔ/Ù™G B›K¨¨RÔ0Ù™G B›K¨¨RÔ0Ù™G C›L¨#¨sÔ3áœ"Ÿ*™*¤V§\¡\°#°qÓ%9Ó:Ø#*°8ô=ˆAàF‰FŒHÙ!W˜r A™vÑ%¨Ñ)¨AÑ-Õ.ùò 9s   Ä.G4N)r   r   r   r   r  r  r-  r&   r'   r(   rý   rý   D  s   „ à×+Ñ+ˆò	ó"*	/r'   rý   >   ©ÚcPickler   ©ÚStringIOr.   ©Ú	cStringIOr.   ©Ú_elementtreezxml.etree.ElementTree>   ©ÚsocketÚ_socketobjectr7  Ú
SocketType©ÚUserDictr;  r»   r;  ©Ú
exceptionsÚStandardErrorÚbuiltinsÚ	Exception©Ú__builtin__Ú
basestringr?  Ústrc                 ód   — | |ft         v rt         | |f   \  } }| |fS | t        v r	t        |    } | |fS r,   )r   r   ©ÚmoduleÚnames     r(   ÚmappingrI  ”  sJ   € Ø€~œÑ%Ü# V¨T NÑ3‰ˆð 4ˆ<Ðð 
”>Ñ	!Ü Ñ'ˆØ4ˆ<Ðr'   c                 ód   — | |ft         v rt         | |f   \  } }| |fS | t        v r	t        |    } | |fS r,   )r   r   rF  s     r(   Úreverse_mappingrK  ›  sL   € Ø€~Ô-Ñ-Ü+¨V°T¨NÑ;‰ˆð 4ˆ<Ðð 
Ô)Ñ	)Ü'¨Ñ/ˆØ4ˆ<Ðr'   c                 óø  — 	 t         j                  |    S # t        $ rÛ 	 t        j                  «       5  t
        j                  rdnd}t        j                  |t        «       t        | «       d d d «       n# 1 sw Y   nxY wn`# t        $ r,}t
        j                  rt        d| ›d|›«       t        ‚d }~wt        $ r!}t
        j                  rt        |«       ‚ d }~ww xY wt         j                  |    cY S w xY w)NÚalwaysÚignorezCan't import module z: )r	  ÚmodulesÚKeyErrorÚwarningsÚcatch_warningsr   ÚverboseÚsimplefilterÚDeprecationWarningÚ
__import__r<   Úprintr@   )rG  ÚactionÚexcs      r(   Ú	getmodulerZ  ¢  sÇ   € ð#Ü{‰{˜6Ñ"Ð"øÜò #ð	Ü×(Ñ(Ó*ñ #Ü%,§_¢_™¸(Ü×%Ñ% fÔ.@ÔAÜ˜6Ô"÷#÷ #ñ #üô ò 	ÜŠÝ²f¹cÐBÔCÜÐûÜò 	ÜŠÜc”
Øûð	úô {‰{˜6Ñ"Ò"ð#úsU   ‚ •	C9ŸB³:A6Á-	BÁ6A?	Á;BÂC9Â	C Â'B3Â3C Â?CÃC Ã C9Ã8C9c                 ó`   — t        | «      }|j                  d«      D ]  }t        ||«      }Œ |S )Nú.)rZ  ÚsplitÚgetattr)rG  rH  r^   r  s       r(   Úgetattributer_  µ  s3   € Ü
FÓ
€CØZ‰Z˜‹_ò ˆÜc˜1‹o‰ðà€Jr'   c              #   ó”   K  — t        | «      D ]6  }t        | |«      }t        |t        «      sŒ t	        |t
        «      sŒ1||f–— Œ8 y ­wr,   )Údirr^  Ú
isinstancerë   Ú
issubclassÚBaseException)ÚmodrH  Úattrs      r(   Úget_exceptionsrg  »  sB   è ø€ ÜC“ò ˆÜs˜DÓ!ˆÜdœDÕ!¤j°´}Õ&EØ˜*Óñùs   ‚+A®A¿	Ac                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚCompatPickleTestsc                 óJ  — t        t        j                  «       «      }|t        t        «      z  }|t        D ch c]  \  }}|’Œ	 c}}z  }|t        j                  «       D ch c]  \  }}|’Œ	 c}}z  }|D ]  }	 t        |«       Œ y c c}}w c c}}w # t        $ r Y Œ)w xY wr,   )Úsetr   Úvaluesr   r   r   rZ  r@   )r2   rO  rG  rH  s       r(   Útest_importzCompatPickleTests.test_importÂ  sš   € Ü”n×+Ñ+Ó-Ó.ˆØ”3Ô-Ó.Ñ.ˆØÔ/C×D™|˜v t’FÓDÑDˆØ¬|×/BÑ/BÓ/D×E™|˜v t’FÓEÑEˆØò 	ˆFðÜ˜&Õ!ñ	ùó EùÛEøô ò Ùðús   ºB
Á$BÁ<BÂ	B"Â!B"c                 ó0  — t        j                  «       D ]d  \  }}| j                  ||f«      5  	 t        |«       |d d dk7  r/| j                  |t        «       | j                  t        |   |«       d d d «       Œf y # t        $ r Y ŒMw xY w# 1 sw Y   Œ€xY w)Nrq   Ú_)r   Úitemsrò   rZ  r@   ÚassertInr   rv   )r2   Úmodule3Úmodule2s      r(   Útest_import_mappingz%CompatPickleTests.test_import_mappingÍ  s¥   € Ü 6× <Ñ <Ó >ò 	GÑˆGWØ—‘˜w¨Ð0Ó1ñ GðÜ˜gÔ&ð ˜2˜A; #Ò%Ø—M‘M '¬>Ô:Ø×$Ñ$¤^°GÑ%<¸gÔF÷Gð Gñ	Gøô #ò Ùðú÷Gð Gús-   ®B°A=»7BÁ=	B	ÂBÂB	Â	BÂB	c                 ó8  — t        j                  «       D ]ç  \  \  }}\  }}| j                  ||f||ff«      5  ||fdk(  r,t        ||«      }| j	                  t        |t        «      «       n‰||fdk(  r,t        ||«      }| j	                  t        |t        «      «       nVt        ||«      \  }}|d d dk7  r| j                  ||f||f«       	 t        ||«      }| j                  t        ||«      |«       d d d «       Œé y # t        $ r Y Œw xY w# 1 sw Y   ŒxY w)N©r=  ÚOSError©r=  r@   rq   ro  )
r   rp  rò   r_  ró   rc  rw  r@   rI  rv   )r2   rr  Úname3rs  Úname2rf  rG  rH  s           r(   Útest_name_mappingz#CompatPickleTests.test_name_mappingØ  s5  € Ü2F×2LÑ2LÓ2Nò 	KÑ.ÑˆWeÑ.˜w¨Ø—‘ ¨Ð/°'¸5Ð1AÐBÓCñ KØ˜UÐ#Ð'@Ò@Ü'¨°Ó7DØ—O‘O¤J¨t´WÓ$=Õ>Ø˜uÐ%Ð)FÒFÜ'¨°Ó7DØ—O‘O¤J¨t´[Ó$AÕBä#*¨7°EÓ#:‘LF˜DØ˜r { cÒ)Ø×(Ñ(¨&°$¨¸'À5Ð9IÔJðKÜ+¨G°UÓ;˜ð ×(Ñ(¬°f¸dÓ)CÀTÔJ÷!Kð Kñ	Køô 'ò Ùðú÷Kñ Kús0   ¸BDÃD ÃDÄ 	DÄ	DÄDÄDÄD	c                 óR  — t        j                  «       D ]Ò  \  }}| j                  ||f«      5  	 t        |«       ||ft        vr]t        j                  |d «      |k7  rDt        j                  «       D ]  \  \  }}\  }}||f||fk(  sŒ n | j                  d|›d|›«       t        j                  ||«      }t        j                  ||«      }| j                  ||«       d d d «       ŒÔ y # t        $ r%}t
        j                  rt        |«       Y d }~ŒÙd }~ww xY w# 1 sw Y   ŒxY w)NzNo reverse mapping from z to )r   rp  rò   rZ  r@   r   rS  rW  ÚALT_IMPORT_MAPPINGr   Úgetr   Úfailrv   )	r2   rs  rr  rY  Úm3Ún3Úm2Ún2rG  s	            r(   Útest_reverse_import_mappingz-CompatPickleTests.test_reverse_import_mappingì  s"  € Ü .× 4Ñ 4Ó 6ò 	2ÑˆGWØ—‘˜w¨Ð0Ó1ñ 2ð#Ü˜gÔ&ð ˜gÐ&Ô.@Ñ@Ü*×.Ñ.¨w¸Ó=ÀÒHÜ.B×.HÑ.HÓ.Jò 6Ñ*™˜˜R¡( 2 rØ# WÐ-°"°b°Ó9Ù!ð6ð Ÿ	š	Ú#*©Gð#5ô 6ä/×3Ñ3°G¸WÓEÜ'×+Ñ+¨F°FÓ;Ø× Ñ  ¨Ô1÷!2ð 2ñ	2øô #ò #Ü—’Ü˜cœ
ÿøð#ú÷2ñ 2ús;   ®D°C+»ADÂADÃ+	DÃ4DÄDÄDÄDÄD&	c                 ó„  — t        j                  «       D ]Ž  \  \  }}\  }}| j                  ||f||ff«      5  	 t        ||«      }t        ||«      \  }}||||ft        vr| j                  ||f||f«       t        ||«      \  }}| j                  ||f||f«       d d d «       Œ y # t        $ r Y Œlw xY w# 1 sw Y   ŒªxY wr,   )	r   rp  rò   r_  r@   rK  ÚALT_NAME_MAPPINGrv   rI  )r2   rs  rz  rr  ry  rf  rG  rH  s           r(   Útest_reverse_name_mappingz+CompatPickleTests.test_reverse_name_mapping   sð   € Ü2>×2DÑ2DÓ2Fò 
	CÑ.ÑˆWeÑ.˜w¨Ø—‘ ¨Ð/°'¸5Ð1AÐBÓCñ 	CðÜ'¨°Ó7Dô  /¨w¸Ó>‘˜Ø˜U G¨UÐ3Ô;KÑKØ×$Ñ$ f¨d ^°g¸uÐ5EÔFÜ& v¨tÓ4‘˜Ø× Ñ  &¨$ °'¸5Ð1AÔB÷	Cð 	Cñ
	Cøô #ò Ùðú÷	Cð 	Cús/   ¸B6ºB'ÁAB6Â'	B3Â0B6Â2B3Â3B6Â6B?	c           
      ó†  — | j                  t        dd«      d«       | j                  t        dd«      d«       | j                  t        dd«      d«       | j                  t        dd«      d«       | j                  t        dd«      d	«       t        t        «      D ]  \  }}| j                  |«      5  |t        t        t        t        t        t        t        fv r
	 d d d «       ŒJ|t        ur-t        |t        «      r| j                  t        d|«      d	«       n|t        urKt        |t        «      r;| j                  t        d|«      d
«       | j                  t        d|«      d|f«       n<| j                  t        d|«      d|f«       | j                  t        d|«      d|f«       d d d «       Œ y # 1 sw Y   Œ$xY w)Nr=  r>  )r?  r@  r@  r?  )r=  r@  rw  )r?  rw  rv  rx  )rv   rI  rK  rg  r?  rò   ÚBlockingIOErrorÚResourceWarningÚStopAsyncIterationÚRecursionErrorÚEncodingWarningÚBaseExceptionGroupÚExceptionGrouprw  rc  r@   )r2   rH  rY  s      r(   Útest_exceptionsz!CompatPickleTests.test_exceptions  s­  € Ø×Ñœ ¨Ó?Ø2ô	4à×Ñœ ¨{Ó;Ø2ô	4à×Ñœ¨°[ÓAØ4ô	6à×Ñœ ¨yÓ9Ø0ô	2à×Ñœ¨°YÓ?Ø2ô	4ô (¬Ó1ó 	9‰IˆD#Ø—‘˜dÓ#ñ 9Øœ?Ü*Ü-Ü)Ü*Ü-Ü)ð+ñ +ð ÷9ð 9ð œgÑ%¬*°S¼'Ô*BØ×$Ñ$¤_°ZÀÓ%FØ%>õ@à¤Ñ+´
¸3ÄÔ0LØ×$Ñ$¤_°ZÀÓ%FØ%BôDà×$Ñ$¤W¨\¸4Ó%@Ø&2°DÐ%9õ;ð ×$Ñ$¤_°ZÀÓ%FØ&2°DÐ%9ô;à×$Ñ$¤W¨\¸4Ó%@Ø&0°$Ð%7ô9÷)9ñ 9ñ	9÷9ñ 9ús   Â4)F6Ã&CF6Æ6G 	c                 ó:  — t        j                  d«      }t        |«      D ]l  \  }}t        |t        «      rŒ| j                  |«      5  | j                  t        d|«      d|f«       | j                  t        d|«      d|f«       d d d «       Œn y # 1 sw Y   ŒyxY w)Nzmultiprocessing.contextÚmultiprocessing)	r   Úimport_modulerg  rc  ÚWarningrò   rv   rK  rI  )r2   rG  rH  rY  s       r(   Útest_multiprocessing_exceptionsz1CompatPickleTests.test_multiprocessing_exceptions1  s¦   € Ü×,Ñ,Ð-FÓGˆÜ'¨Ó/ò 	D‰IˆD#Ü˜#œwÔ'ØØ—‘˜dÓ#ñ DØ× Ñ ¤Ð1JÈDÓ!QØ"3°TÐ!:ô<à× Ñ ¤Ð):¸DÓ!AØ";¸TÐ!BôD÷Dð Dñ	D÷Dð Dús   Á	=BÂB	N)
r   r   r   rm  rt  r{  r„  r‡  r  r•  r&   r'   r(   ri  ri  Á  s*   „ ò	ò	GòKò(2ò(Cò"9óH	Dr'   ri  c                 óL   — |j                  t        j                  «       «       |S r,   )ÚaddTestÚdoctestÚDocTestSuite)ÚloaderÚtestsÚpatterns      r(   Ú
load_testsr  =  s   € Ø	‡MM”'×&Ñ&Ó(Ô)Ø€Lr'   Ú__main__)GÚ_compat_pickler   r   r   r   r?  r   r.   r»   r>   r	  rQ  rw   r˜  ÚunittestÚtestr   Útest.supportr   Útest.pickletesterr	   r
   r   r   r   r   r   r   r   r   rÄ   Úhas_c_implementationr@   ÚTestCaser   r*   rC   rP   rÙ   rV   rk   rm   r­   r±   r¸   r¾   rÃ   rÆ   rÈ   rÌ   rÎ   rÐ   rÒ   rÔ   rÝ   rá   rä   r«   ré   rý   r}  r†  rI  rK  rZ  r_  rg  ri  r  r   Úmainr&   r'   r(   ú<module>r§     sÑ  ð÷@ó @ã Û Û 	Û Û Û 
Û Û ã Û Ý Ý &å /Ý 3Ý 1Ý 7Ý <Ý DÝ AÝ 8Ý 8Ý /ð!ÛØÐô
"Ð-¨x×/@Ñ/@ô "ôÐ,¨h×.?Ñ.?ô ôÐ(¨(×*;Ñ*;ô ô$7Ð-Ð/DØ+¨X×->Ñ->ô7ô" fô ô("Ð7Ø8¸(×:KÑ:Kô"ôWÐAØ:¸H×<MÑ<MôWôt(Ð$GÈ×IZÑIZô (ô,Ð5°x×7HÑ7Hô ,ô?Ð :¸H×<MÑ<Mô ?ô)Ð*¨H×,=Ñ,=ô )ñ ôIÐ0°(×2CÑ2Cô Iô5Ð*ô 5ô
&˜ô &ô&Ð.ô &ô&Ð2ô &ô& ô &ô& ô &ô'Ð'JÈH×L]ÑL]ô 'ô0Ð8¸(×:KÑ:Kô 0ô
CÐ#=¸x×?PÑ?Pô Cô
,Ð-¨x×/@Ñ/@ô ,ð
 ×Ñô'˜×*Ñ*ó 'ó ð'ð6 ×Ñô>/h×'Ñ'ó >/ó ð>/òBÐ òÐ òòò#ò&òôyD˜×)Ñ)ô yDòxð
 ˆzÒØ€H‡MM…Oð øðG ò !Ø Óð!ús   Á>J0 Ê0J;Ê:J;