+
    LV-jƒ  ã                   óÒ   € R t ^ RIt^ RIt^ RIHt ^ RIt^ RIHt R]P                  R&    ! R R]4      t ! R R	]4      t	R
 t
R tR t]R8X  d   ]
! 4        ]! 4        ]! 4        R# R# )z;
test dill's ability to pickle abstract base class objects
N)ÚABC)ÚFunctionTypeTÚrecursec                   ó  a € ] tR t^t o ]P
                  R 4       t]]P
                  R 4       4       t]P                  ]P
                  R 4       4       t]
]P
                  R 4       4       t]]P
                  R 4       4       tRtV tR# )ÚOneTwoThreec                ó   € R# )zA methodN© ©Úselfs   &Úd/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/dill/tests/test_abc.pyÚfooÚOneTwoThree.foo   s   € ñ 	ó    c                ó   € R# )zProperty getterNr   r	   s   &r   ÚbarÚOneTwoThree.bar   ó   € ñ 	r   c                ó   € R# )zProperty setterNr   ©r
   Úvalues   &&r   r   r      r   r   c                ó   € R# )zClass methodNr   ©Úclss   &r   ÚcfooÚOneTwoThree.cfoo%   r   r   c                 ó   € R# )zStatic methodNr   r   r   r   ÚsfooÚOneTwoThree.sfoo+   r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚabcÚabstractmethodr   Úpropertyr   ÚsetterÚclassmethodr   Ústaticmethodr   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s©   ø‡ € Ø×Ññó ðð Ø×Ññó ó ðð 	‡Z�ZØ×Ññó ó ðð Ø×Ññó ó ðð Ø×Ññó ó ör   r   c                   ó€   a € ] tR t^1t o R tR t]R 4       t]P                  R 4       t]	R 4       t
]R 4       tRtV tR# )	Ú	EasyAsAbcc                ó   € R V n         R # ©N©Ú_barr	   s   &r   Ú__init__ÚEasyAsAbc.__init__2   s	   € ØˆŽ	r   c                ó   € R # )úInstance Method FOOr   r	   s   &r   r   ÚEasyAsAbc.foo5   s   € Ù$r   c                ó   € V P                   # r/   r0   r	   s   &r   r   ÚEasyAsAbc.bar8   s   € à�y‰yÐr   c                ó   € Wn         R # r/   r0   r   s   &&r   r   r8   <   s   € àŽ	r   c                ó   € R # )úClass Method CFOOr   r   s   &r   r   ÚEasyAsAbc.cfoo@   s   € á"r   c                 ó   € R # )úStatic Method SFOOr   r   r   r   r   ÚEasyAsAbc.sfooD   s   € á#r   r0   N)r   r   r    r!   r2   r   r$   r   r%   r&   r   r'   r   r(   r)   r*   s   @r   r-   r-   1   sc   ø‡ € òò%ð ñó ðð 	‡Z�Zñó ðð ñ#ó ð#ð ñ$ó ö$r   r-   c                  óh  € \         P                  ! \        4      \        Jg   Q h\         P                  ! \        4      \        Jg   Q h\        P
                  ! 4       ;_uu_ 4        \        P                  ! R \         P                  4       \         P                  ! \        RR7      \        J g   Q h\         P                  ! \        RR7      \        J g   Q h RRR4       \        4       p R V n        \         P                  ! V 4      p\        V4      \        V 4      J g   Q h\        VP                  4      \        J g   Q hVP                  ^4      ^	8X  g   Q hVP                  4       R8X  g   Q hVP                  4       R8X  g   Q hVP                  4       R8X  g   Q hR#   + '       g   i     LÐ; i)ÚignoreT)ÚbyrefNc                 ó   € V ^,          # )é   r   )Úxs   &r   Ú<lambda>Ú$test_abc_non_local.<locals>.<lambda>S   s   € ˜Q žTr   r>   r;   r5   )ÚdillÚcopyr   r-   ÚwarningsÚcatch_warningsÚsimplefilterÚPicklingWarningr   Útyper   r   r   r   )ÚinstanceÚ	depickleds     r   Útest_abc_non_localrQ   H   s8  € Ü�9Š9”[Ó!¬Ó4Ð4Ð4Ü�9Š9”YÓ¤yÓ0Ð0Ð0ä	×	 Ò	 ×	"Õ	"Ü×Ò˜h¬×(<Ñ(<Ô=Ü�yŠyœ¨DÔ1´[Ó@Ð@Ð@Ü�yŠyœ¨$Ô/´9Ó<Ð<Ñ<÷ 
#ô
 ‹{€Há!€H„LÜ—	’	˜(Ó#€IÜ�	‹?œd 8›nÓ,Ð,Ð,ä�	—‘Ó¤,Ó.Ð.Ð.Ø�=‰=˜Ó˜qÔ Ð Ð Ø�>‰>ÓÐ3Ô3Ð3Ð3Ø�>‰>ÓÐ2Ô2Ð2Ð2Ø�=‰=‹?Ð3Ô3Ð3Ò3÷ 
#×	"ús   Á&A2F!Æ!F1	c                 óò  a€  ! R R\         4      p \        P                  ! V 4      pWJg   Q h\        V4      \        V 4      J g   Q h ! V3R lRV4      oS! 4       pVP	                  4       R8X  g   Q h V! 4        \        R4       Q h  \         d   p Rp?MRp?ii ; i\        P                  ! TS! 4       34      w  rER\        T4      P                  8X  g   Q hR\        T4      P                  9   g   Q h\        T4      SJg   Q hY@Jg   Q hYAJg   Q h\        YT4      '       g   Q h\        YQ4      '       d   Q h\        YP4      '       d   Q hTP                  4       R	\        T4      ,           8X  g   Q hR# )
z%
Test using locally scoped ABC class
c                   óJ   a € ] tR t^at o ]P
                  R 4       tR tRtV t	R# )Ú test_abc_local.<locals>.LocalABCc                ó   € R # r/   r   r	   s   &r   r   Ú$test_abc_local.<locals>.LocalABC.foob   s   € ár   c                ó   € \        V 4      # r/   )Úreprr	   s   &r   ÚbazÚ$test_abc_local.<locals>.LocalABC.bazf   s   € Ü˜“:Ðr   r   N)
r   r   r    r!   r"   r#   r   rY   r(   r)   r*   s   @r   ÚLocalABCrT   a   s'   ø‡ € Ø	×	Ñ	ñ	ó 
ð	÷	ð 	r   r[   c                   ó<   <a a€ ] tR t^pt oR tVV 3R ltRtVtV ;t# )Útest_abc_local.<locals>.Realc                ó   € R # )úTrue!r   r	   s   &r   r   Ú test_abc_local.<locals>.Real.fooq   s   € Ùr   c                ó.   <€ R \         SV `  4       ,           # )úMy )ÚsuperrY   )r
   ÚRealÚ	__class__s   &€€r   rY   Ú test_abc_local.<locals>.Real.bazt   s   ø€ Øœ5  tÑ0Ó2Õ2Ð2r   r   )	r   r   r    r!   r   rY   r(   r)   Ú__classcell__)re   r+   rd   s   @@€r   rd   r]   p   s   ú‡ € ò	÷	3ö 	3r   rd   r_   zFailed to raise type errorNz.Realrb   )r   rH   rI   rN   r   ÚprintÚ	TypeErrorr   r    Ú
isinstancerY   rX   )r[   ÚlabcÚrealÚeÚlabc2Úpikrd   s         @r   Útest_abc_localrp   ]   s[  ø€ ô”3ô ô �9Š9�XÓ€DØÓÐÐÜ�‹:œ˜h›Ó'Ð'Ð'÷
3ˆtô 3ñ ‹6€DØ�8‰8‹:˜Ô Ð Ð ðÙŒô
 	Ð*Ô+Øˆuøô ô äûðúô —’˜D¡$£&˜>Ó*�J€EØ”T˜#“Y×'Ñ'Ô'Ð'Ð'Ø”d˜3“i×,Ñ,Ô,Ð,Ð,Ü�‹9˜DÓ Ð Ð ØÓ Ð Ð ØÓÐÐÜ�c×!Ò!Ð!Ð!Ü˜#×$Ò$Ð$Ð$Ü˜#×(Ò(Ð(Ð(Ø�7‰7‹9˜¤ S£	Õ)Ô)Ð)Ò)s   Á5B	 Â	BÂBc                 ó°  € \         P                  ! RR/ 4      p  ! R R4      p ! R R4      pV P                  V4       \        W 4      '       d   Q h\        W4      '       g   Q h\        P
                  ! WV34      p\        P                  ! V4      w  rEp\        V4      \        V 4      8X  g   Q h\        Wd4      '       d   Q h\        WT4      '       g   Q hR# )z/
Test calling metaclass and cache registration
ÚLocalMetaABCc                   ó   € ] tR t^”tRtR# )Ú-test_meta_local_no_cache.<locals>.ClassyClassr   N©r   r   r    r!   r(   r   r   r   ÚClassyClassrt   ”   s   † Ûr   rv   c                   ó   € ] tR t^—tRtR# )Ú-test_meta_local_no_cache.<locals>.KlassyClassr   Nru   r   r   r   ÚKlassyClassrx   —   s   † Û
r   ry   Nr   )r"   ÚABCMetaÚregisterÚ
issubclassrH   ÚdumpsÚloadsrN   )rr   rv   ry   ÚresÚlmabcÚccÚkcs          r   Útest_meta_local_no_cacherƒ   Ž   s¹   € ô —;’;˜~¨r°2Ó6€L÷ñ ÷ñ ð ×Ñ˜+Ô&ä˜+×4Ò4Ð4Ð4Ü�k×0Ò0Ð0Ð0ä
�*Š*�l°Ð=Ó
>€Cä—J’J˜s“O�M€EˆrÜ�‹;œ$˜|Ó,Ô,Ð,Ð,Ü˜"×$Ò$Ð$Ð$Ü�b× Ò Ð Ò r   Ú__main__)Ú__doc__rH   r"   r   rJ   Útypesr   Úsettingsr   r-   rQ   rp   rƒ   r   r   r   r   Ú<module>rˆ      sr   ðñó Û 
Ý Û å à€‡�ˆiÑ ô�#ô ô<$�ô $ò.4ò*/*òb!ð0 ˆzÔÙÔÙÔÙÖñ r   