ó
    Ï›‘hO ã                   óH  • S 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5      r " S	 S
\R                  5      r
 " S S\R                  5      r " S S\5      r " S S\5      r " S S\\R                  5      r " S S\R                  5      r " S S\\5      r " S S5      r " S S\\R                  5      r " S S\\R                  5      r " S S\5      r " S S \R                  5      r " S! S"\5      r " S# S$\5      r " S% S&\R                  5      r " S' S(\5      r " S) S*\R                  5      r " S+ S,\R                  5      r " S- S.\R                  5      r " S/ S0\R                  5      r " S1 S2\R                  5      r " S3 S4\R                  5      r " S5 S6\\\5      r  " S7 S8\R                  5      r! " S9 S:\!5      r" " S; S<\R                  5      r# " S= S>\R                  5      r$ " S? S@\R                  5      r% " SA SB\R                  5      r& " SC SD\R                  5      r' " SE SF\'\5      r( " SG SH\R                  5      r) " SI SJ\)\5      r* " SK SL\R                  5      r+ " SM SN\+\\5      r, " SO SP5      r- " SQ SR5      r.g)Sz@Test the new API for making and checking interface declarations
é    N)ÚMissingSomeAttrs)ÚOptimizationTestMixin)ÚSubclassableMixin)Ú!NameAndModuleComparisonTestsMixinc                   ó    • \ rS rSr SS jrSrg)Ú_Py3ClassAdviceé   c                 óú   • SS K nUR                  SS9 nUR                  5          [        XU5        U(       a  U R	                  S5         S S S 5        g ! [
         a     S S S 5        gf = f! , (       d  f       g = f)Nr   T)ÚrecordzDidn't raise TypeErrorF)ÚwarningsÚcatch_warningsÚresetwarningsÚexecÚfailÚ	TypeError)ÚselfÚcodeÚglobsÚlocsÚfails_under_py3kr   Ú_s          ÚjC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\zope/interface/tests/test_declarations.pyÚ_run_generated_codeÚ#_Py3ClassAdvice._run_generated_code   sw   € ó 	Ø×$Ñ$¨DÐ$Ñ1°QØ×"Ñ"Ô$ð8Ü�T $Ô'ö $Ø—I‘IÐ6Ô7Ø÷ 2Ð1øô
 ó Ø÷ 2Ð1ð
ú÷ 2Õ1ús-   ”A,¦A²A,Á
A)ÁA,Á(A)Á)A,Á,
A:© N)T)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__r   ó    r   r   r      s   † ð 37÷r!   r   c                   ó&   • \ rS rSrS rS rS rSrg)Ú
NamedTestsé0   c                 ór   • SSK Jn  U" S5       " S S5      5       nU R                  UR                  S5        g )Nr   ©ÚnamedÚfooc                   ó   • \ rS rSrSrg)Ú"NamedTests.test_class.<locals>.Fooé5   r   N©r   r   r   r   r    r   r!   r   ÚFoor*   5   ó   † âr!   r-   ©Úzope.interface.declarationsr'   ÚassertEqualÚ__component_name__)r   r'   r-   s      r   Ú
test_classÚNamedTests.test_class2   s;   € Ý5á	ˆu‹÷	ð 	ó 
ð	ð 	×ÑØ×"Ñ" Eõ	
r!   c                 ód   • SSK Jn  U" S5      S 5       nU R                  UR                  S5        g )Nr   r&   r(   c                 ó   • [        5       e©N©ÚNotImplementedError)Úos    r   ÚdoFooÚ'NamedTests.test_function.<locals>.doFoo@   s   € ä%Ó'Ð'r!   r/   )r   r'   r;   s      r   Útest_functionÚNamedTests.test_function=   s3   € Ý5á	ˆu‹ñ	(ó 
ð	(ð 	×Ñ˜×1Ñ1°5Õ9r!   c                 ó†   • SSK Jn   " S S5      nU" 5       nU" S5      " U5        U R                  UR                  S5        g )Nr   r&   c                   ó   • \ rS rSrSrg)Ú%NamedTests.test_instance.<locals>.FooéI   r   Nr,   r   r!   r   r-   rA   I   ó   † Úr!   r-   r(   r/   )r   r'   r-   r(   s       r   Útest_instanceÚNamedTests.test_instanceF   s;   € Ý5÷	ñ 	á‹eˆÙˆeŒ�SÔà×ÑØ×"Ñ" Eõ	
r!   r   N)r   r   r   r   r3   r=   rD   r    r   r!   r   r#   r#   0   s   † ò	
ò:õ

r!   r#   c                   óP   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rSrg)ÚEmptyDeclarationTestséS   c                 ó   • SSK Jn  U" 5       $ ©Nr   )ÚDeclaration©r0   rK   ©r   rK   s     r   Ú	_getEmptyÚEmptyDeclarationTests._getEmptyW   s   € Ý;Ù‹}Ðr!   c                 óZ   • U R                  5       nU R                  [        U5      / 5        g r7   )rN   r1   Úlist©r   Údecls     r   Útest___iter___emptyÚ)EmptyDeclarationTests.test___iter___empty[   s"   € Ø�~‰~ÓˆØ×Ñœ˜d› RÕ(r!   c                 ó„   • SSK Jn  U R                  5       nU R                  [	        UR                  5       5      U/5        g ©Nr   ©Ú	Interface)Úzope.interface.interfacerY   rN   r1   rQ   Ú	flattened©r   rY   rS   s      r   Útest_flattened_emptyÚ*EmptyDeclarationTests.test_flattened_empty_   s/   € Ý6Ø�~‰~ÓˆØ×Ñœ˜dŸn™nÓ.Ó/°)°Õ=r!   c                 óR   • SSK Jn  U R                  5       nU R                  X5        g rW   )rZ   rY   rN   ÚassertNotInr\   s      r   Útest___contains___emptyÚ-EmptyDeclarationTests.test___contains___emptyd   s   € Ý6Ø�~‰~ÓˆØ×Ñ˜Õ)r!   c                 ó®   • SSK Jn  U R                  5       nU R                  UR	                  U5      5        U R                  UR	                  USS95        g )Nr   rX   T©Ústrict)rZ   rY   rN   Ú
assertTrueÚextendsr\   s      r   Útest_extends_emptyÚ(EmptyDeclarationTests.test_extends_emptyi   s?   € Ý6Ø�~‰~ÓˆØ�‰˜Ÿ™ YÓ/Ô0Ø�‰˜Ÿ™ Y°t˜Ð<Õ=r!   c                 óz   • U R                  5       n[        UR                  5       5      nU R                  U/ 5        g r7   )rN   rQ   Ú
interfacesr1   )r   rS   Ú
iface_lists      r   Útest_interfaces_emptyÚ+EmptyDeclarationTests.test_interfaces_emptyo   s/   € Ø�~‰~ÓˆÜ˜$Ÿ/™/Ó+Ó,ˆ
Ø×Ñ˜ RÕ(r!   c                 ój   • SSK Jn  U R                  5       nU R                  UR                  X!45        g rW   )rZ   rY   rN   r1   Ú__sro__r\   s      r   Útest___sro___Ú#EmptyDeclarationTests.test___sro___t   s(   € Ý6Ø�~‰~ÓˆØ×Ñ˜Ÿ™¨Ð'9Õ:r!   c                 ój   • SSK Jn  U R                  5       nU R                  UR                  U45        g rW   )rZ   rY   rN   r1   Ú__iro__r\   s      r   Útest___iro___Ú#EmptyDeclarationTests.test___iro___y   s'   € Ý6Ø�~‰~ÓˆØ×Ñ˜Ÿ™¨	 |Õ4r!   c                 óÞ   • U R                  5       nU R                  UR                  S5      5        U R                  UR                  SS5      S5        U R	                  UR
                  5        g )NÚattrÚabcÚdef)rN   ÚassertIsNoneÚgetr1   ÚassertFalseÚ_v_attrsrR   s     r   Útest_getÚEmptyDeclarationTests.test_get~   sT   € Ø�~‰~ÓˆØ×Ñ˜$Ÿ(™( 6Ó*Ô+Ø×Ñ˜Ÿ™ %¨Ó/°Ô7ð 	×Ñ˜Ÿ™Õ'r!   c                 óš   • U R                  5       n[        5       Ul        UR                  U5        U R	                  UR                  5        g r7   )rN   Úobjectr~   Úchangedr}   rR   s     r   Ú test_changed_w_existing__v_attrsÚ6EmptyDeclarationTests.test_changed_w_existing__v_attrs†   s5   € Ø�~‰~ÓˆÜ›ˆŒØ�‰�TÔØ×Ñ˜Ÿ™Õ'r!   r   N)r   r   r   r   rN   rT   r]   ra   rh   rm   rq   ru   r   r„   r    r   r!   r   rG   rG   S   s4   † òò)ò>ò
*ò
>ò)ò
;ò
5ò
(õ(r!   rG   c                   ó¤   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rSrg)ÚDeclarationTestsé�   c                 ó   • SSK Jn  U$ rJ   rL   rM   s     r   Ú_getTargetClassÚ DeclarationTests._getTargetClass�   ó   € Ý;ØÐr!   c                 ó.   • U R                  5       " U0 UD6$ r7   ©rŠ   ©r   ÚargsÚkws      r   Ú_makeOneÚDeclarationTests._makeOne“   ó   € Ø×#Ñ#Ô% tÐ2¨rÑ2Ð2r!   c                 ón   • U R                  5       nU R                  [        UR                  5      / 5        g r7   )r’   r1   rQ   Ú	__bases__rR   s     r   Útest_ctor_no_basesÚ#DeclarationTests.test_ctor_no_bases–   s&   € Ø�}‰}‹ˆØ×Ñœ˜dŸn™nÓ-¨rÕ2r!   c                 óŽ   • SSK Jn  U" S5      nU R                  U5      nU R                  [	        UR
                  5      U/5        g ©Nr   ©ÚInterfaceClassÚIFoo)rZ   rœ   r’   r1   rQ   r–   ©r   rœ   r�   rS   s       r   Útest_ctor_w_interface_in_basesÚ/DeclarationTests.test_ctor_w_interface_in_basesš   s8   € Ý;Ù˜fÓ%ˆØ�}‰}˜TÓ"ˆØ×Ñœ˜dŸn™nÓ-°¨vÕ6r!   c                 óŒ   • SSK Jn  U" 5       nU R                  U5      nU R                  [	        UR
                  5      U/5        g ©Nr   ©Ú
Implements)r0   r¤   r’   r1   rQ   r–   )r   r¤   ÚimplrS   s       r   Útest_ctor_w_implements_in_basesÚ0DeclarationTests.test_ctor_w_implements_in_bases    s5   € Ý:Ù‹|ˆØ�}‰}˜TÓ"ˆØ×Ñœ˜dŸn™nÓ-°¨vÕ6r!   c                 ó|   • U R                  5       nUR                  U5        U R                  UR                  5        g r7   )r’   rƒ   r{   r~   rR   s     r   Ú!test_changed_wo_existing__v_attrsÚ2DeclarationTests.test_changed_wo_existing__v_attrs¦   s+   € Ø�}‰}‹ˆØ�‰�TÔØ×Ñ˜$Ÿ-™-Õ(r!   c                 óF   • U R                  5       nU R                  X5        g r7   )r’   r`   rR   s     r   Útest___contains__w_selfÚ(DeclarationTests.test___contains__w_self«   s   € Ø�}‰}‹ˆØ×Ñ˜Õ$r!   c                 ób   • SSK Jn  U" S5      nU R                  5       nU R                  X#5        g rš   )rZ   rœ   r’   r`   rž   s       r   Ú"test___contains__w_unrelated_ifaceÚ3DeclarationTests.test___contains__w_unrelated_iface¯   s(   € Ý;Ù˜fÓ%ˆØ�}‰}‹ˆØ×Ñ˜Õ$r!   c                 ód   • SSK Jn  U" S5      nU R                  U5      nU R                  X#5        g rš   )rZ   rœ   r’   ÚassertInrž   s       r   Ú!test___contains__w_base_interfaceÚ2DeclarationTests.test___contains__w_base_interfaceµ   s)   € Ý;Ù˜fÓ%ˆØ�}‰}˜TÓ"ˆØ�‰�dÕ!r!   c                 óz   • SSK Jn  U" S5      nU R                  U5      nU R                  [	        U5      U/5        g rš   ©rZ   rœ   r’   r1   rQ   rž   s       r   Útest___iter___single_baseÚ*DeclarationTests.test___iter___single_base»   s3   € Ý;Ù˜fÓ%ˆØ�}‰}˜TÓ"ˆØ×Ñœ˜d› d VÕ,r!   c                 óŠ   • SSK Jn  U" S5      nU" S5      nU R                  X#5      nU R                  [	        U5      X#/5        g ©Nr   r›   r�   ÚIBarr¶   ©r   rœ   r�   r»   rS   s        r   Útest___iter___multiple_basesÚ-DeclarationTests.test___iter___multiple_basesÁ   s=   € Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆØ�}‰}˜TÓ(ˆØ×Ñœ˜d› d \Õ2r!   c                 óŽ   • SSK Jn  U" S5      nU" SU45      nU R                  U5      nU R                  [	        U5      U/5        g rº   r¶   r¼   s        r   Útest___iter___inheritanceÚ*DeclarationTests.test___iter___inheritanceÈ   sA   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ�}‰}˜TÓ"ˆØ×Ñœ˜d› d VÕ,r!   c                 óŽ   • SSK Jn  U" S5      nU" S5      nU R                  X2U45      nU R                  [	        U5      X2/5        g rº   r¶   r¼   s        r   Ú'test___iter___w_nested_sequence_overlapÚ8DeclarationTests.test___iter___w_nested_sequence_overlapÏ   sA   € Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆØ�}‰}˜T¨$ <Ó0ˆØ×Ñœ˜d› d \Õ2r!   c                 ó¢   • SSK Jn  SSK Jn  U" S5      nU R                  U5      nU R	                  [        UR                  5       5      X1/5        g )Nr   rX   r›   r�   ©rZ   rY   rœ   r’   r1   rQ   r[   )r   rY   rœ   r�   rS   s        r   Útest_flattened_single_baseÚ+DeclarationTests.test_flattened_single_baseÖ   s?   € Ý6Ý;Ù˜fÓ%ˆØ�}‰}˜TÓ"ˆØ×Ñœ˜dŸn™nÓ.Ó/°$Ð1BÕCr!   c                 ó´   • SSK Jn  SSK Jn  U" S5      nU" S5      nU R                  X45      nU R	                  [        UR                  5       5      X4U/5        g ©Nr   rX   r›   r�   r»   rÆ   ©r   rY   rœ   r�   r»   rS   s         r   Útest_flattened_multiple_basesÚ.DeclarationTests.test_flattened_multiple_basesÝ   sK   € Ý6Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆØ�}‰}˜TÓ(ˆØ×Ñœ˜dŸn™nÓ.Ó/°$¸iÐ1HÕIr!   c                 ó¸   • SSK Jn  SSK Jn  U" S5      nU" SU45      nU R                  U5      nU R	                  [        UR                  5       5      XCU/5        g rÊ   rÆ   rË   s         r   Útest_flattened_inheritanceÚ+DeclarationTests.test_flattened_inheritanceå   sO   € Ý6Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ�}‰}˜TÓ"ˆØ×Ñœ˜dŸn™nÓ.Ó/°$¸iÐ1HÕIr!   c                 ó¸   • SSK Jn  SSK Jn  U" S5      nU" S5      nU R                  XCU45      nU R	                  [        UR                  5       5      XCU/5        g rÊ   rÆ   rË   s         r   Ú(test_flattened_w_nested_sequence_overlapÚ9DeclarationTests.test_flattened_w_nested_sequence_overlapí   sQ   € Ý6Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆð
 �}‰}˜T¨$ <Ó0ˆà×Ñœ˜dŸn™nÓ.Ó/°$¸iÐ1HÕIr!   c                 óÐ   • SSK Jn  U" S5      nU" S5      nU R                  U5      nXC-
  nU R                  XPR	                  5       5        U R                  [        U5      U/5        g rº   ©rZ   rœ   r’   ÚassertIsInstancerŠ   r1   rQ   ©r   rœ   r�   r»   ÚbeforeÚafters         r   Ú test___sub___unrelated_interfaceÚ1DeclarationTests.test___sub___unrelated_interfaceú   s[   € Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆØ—‘˜tÓ$ˆØ‘ˆØ×Ñ˜e×%9Ñ%9Ó%;Ô<Ø×Ñœ˜e› t fÕ-r!   c                 ó€   • SSK Jn  U" S5      nU R                  U5      nX2-
  nU R                  [	        U5      / 5        g rš   r¶   )r   rœ   r�   rØ   rÙ   s        r   Útest___sub___related_interfaceÚ/DeclarationTests.test___sub___related_interface  s8   € Ý;Ù˜fÓ%ˆØ—‘˜tÓ$ˆØ‘ˆØ×Ñœ˜e› bÕ)r!   c                 ó”   • SSK Jn  U" S5      nU" SU45      nU R                  U5      nXC-
  nU R                  [	        U5      / 5        g rº   r¶   r×   s         r   Ú-test___sub___related_interface_by_inheritanceÚ>DeclarationTests.test___sub___related_interface_by_inheritance
  sF   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ—‘˜tÓ$ˆØ‘ˆØ×Ñœ˜e› bÕ)r!   c                 óÐ   • SSK Jn  U" S5      nU" S5      nU R                  U5      nXC-   nU R                  XPR	                  5       5        U R                  [        U5      X#/5        g rº   rÕ   r×   s         r   Ú test___add___unrelated_interfaceÚ1DeclarationTests.test___add___unrelated_interface  s[   € Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆØ—‘˜tÓ$ˆØ‘ˆØ×Ñ˜e×%9Ñ%9Ó%;Ô<Ø×Ñœ˜e› t lÕ3r!   c                 óÆ   • SSK Jn  U" S5      nU" S5      nU" S5      nU R                  X#5      nU R                  X45      nXV-   nU R                  [	        U5      X#U/5        g )Nr   r›   r�   r»   ÚIBazr¶   )r   rœ   r�   r»   ræ   rØ   ÚotherrÙ   s           r   Útest___add___related_interfaceÚ/DeclarationTests.test___add___related_interface  s_   € Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆÙ˜fÓ%ˆØ—‘˜tÓ*ˆØ—‘˜dÓ)ˆØ‘ˆØ×Ñœ˜e› t°4Ð&8Õ9r!   c                 óž  • SSK Jn  SSK Jn  SSKJn  SSKJn  U" S5      nU" SU45      nU" UR                  R                  S5         U R                  U5      nXv-   nS S S 5        U R                  WR                  XeU45        U R                  UR                  Xe45        U R                  [        U5      Xe/5        g ! , (       d  f       Nf= f)	Nr   rX   ©Úror›   ©Ú	C3SettingÚIBaseÚIDerivedT)Úzope.interfacerY   rì   rZ   rœ   Úzope.interface.tests.test_rorî   ÚC3Ú
STRICT_IROr’   r1   rt   r–   rQ   )	r   rY   rì   rœ   rî   rï   rð   ÚbaserÙ   s	            r   Ú"test___add___overlapping_interfaceÚ3DeclarationTests.test___add___overlapping_interface%  s¨   € õ 	-Ý%Ý;Ý:á˜wÓ'ˆÙ! *¨u¨hÓ7ˆá�r—u‘u×'Ñ'¨Õ.Ø—=‘= Ó'ˆDØ‘OˆE÷ /ð 	×Ñ˜Ÿ™¨¸)Ð(DÔEØ×Ñ˜Ÿ™¨8Ð*;Ô<Ø×Ñœ˜e› xÐ&7Õ8÷ /Õ.ús   ÁB>Â>
Cc                 óÈ  • SSK Jn  SSK Jn  SSK Jn  SSK Jn  SSKJn   " S SU5      n " S	 S
U5      nU" U5       " S S5      5       nU" UR                  R                  S5         U" U5      U-   n	S S S 5        U R                  W	R                  X—Xa45        U R                  U	R                  Xv45        U R                  [        U	5      Xv/5        g ! , (       d  f       Nf= f)Nr   rX   ©ÚimplementedBy©Úimplementerrë   rí   c                   ó   • \ rS rSrSrg)ÚPDeclarationTests.test___add___overlapping_interface_implementedBy.<locals>.IBaseiF  r   Nr,   r   r!   r   rï   rþ   F  rC   r!   rï   c                   ó   • \ rS rSrSrg)ÚSDeclarationTests.test___add___overlapping_interface_implementedBy.<locals>.IDerivediI  r   Nr,   r   r!   r   rð   r   I  rC   r!   rð   c                   ó   • \ rS rSrSrg)ÚODeclarationTests.test___add___overlapping_interface_implementedBy.<locals>.BaseiL  r   Nr,   r   r!   r   ÚBaser  L  r.   r!   r  T)rñ   rY   rú   rü   rì   rò   rî   ró   rô   r1   rp   r–   rQ   )
r   rY   rú   rü   rì   rî   rï   rð   r  rÙ   s
             r   Ú0test___add___overlapping_interface_implementedByÚADeclarationTests.test___add___overlapping_interface_implementedBy;  sÅ   € õ
 	-Ý0Ý.Ý%Ý:ô	�Iô 	ô	�uô 	ñ 
�UÓ	÷	ð 	ó 
ð	ñ �r—u‘u×'Ñ'¨Õ.Ù! $Ó'¨(Ñ2ˆE÷ /ð 	×Ñ˜Ÿ™¨¸%Ð(KÔLØ×Ñ˜Ÿ™¨8Ð*;Ô<Ø×Ñœ˜e› xÐ&7Õ8÷ /Õ.ús   Á'CÃ
C!r   N)r   r   r   r   rŠ   r’   r—   rŸ   r¦   r©   r¬   r¯   r³   r·   r½   rÀ   rÃ   rÇ   rÌ   rÏ   rÒ   rÚ   rÝ   rà   rã   rè   rö   r  r    r   r!   r   r‡   r‡   �   s~   † òò3ò3ò7ò7ò)ò
%ò%ò"ò-ò3ò-ò3òDòJòJòJò.ò*ò*ò4ò:ò9õ,9r!   r‡   c                   óV   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rSrg)ÚTestImmutableDeclarationiX  c                 ó   • SSK Jn  U$ )Nr   )Ú_ImmutableDeclaration)r0   r	  )r   r	  s     r   rŠ   Ú(TestImmutableDeclaration._getTargetClassZ  s   € ÝEØ$Ð$r!   c                 ó   • SSK Jn  U$ )Nr   )Ú_empty)r0   r  )r   r  s     r   rN   Ú"TestImmutableDeclaration._getEmpty^  s
   € Ý6Øˆr!   c                 ó¦   • SS K nUR                  UR                  U R                  5       5      5      nU R	                  X R                  5       5        g )Nr   )ÚpickleÚloadsÚdumpsrN   ÚassertIs)r   r  Úcopieds      r   Útest_pickleÚ$TestImmutableDeclaration.test_pickleb  s6   € ÛØ—‘˜fŸl™l¨4¯>©>Ó+;Ó<Ó=ˆØ�‰�fŸn™nÓ.Õ/r!   c                 ój   • U R                  U R                  5       " 5       U R                  5       5        g r7   )r  rŠ   rN   ©r   s    r   Útest_singletonÚ'TestImmutableDeclaration.test_singletong  s'   € Ø�‰Ø× Ñ Ô"Ó$Ø�N‰NÓõ	
r!   c                 óX   • U R                  U R                  5       R                  S5        g )Nr   )r1   rN   r–   r  s    r   Útest__bases__Ú&TestImmutableDeclaration.test__bases__m  s   € Ø×Ñ˜Ÿ™Ó)×3Ñ3°RÕ8r!   c                 óò   • U R                  5       nSUl        U R                  U R                  5       R                  S5        U R                  [        5         SUl        S S S 5        g ! , (       d  f       g = f)Nr   )é   )rN   r–   r1   ÚassertRaisesr   )r   Úemptys     r   Útest_change__bases__Ú-TestImmutableDeclaration.test_change__bases__p  sS   € Ø—‘Ó ˆØˆŒØ×Ñ˜Ÿ™Ó)×3Ñ3°RÔ8à×ÑœyÕ)Ø"ˆEŒO÷ *×)Ö)ús   ÁA(Á(
A6c                 ó¢   • U R                  5       nUR                  nU R                  0 U5        SUS'   U R                  0 UR                  5        g )Né   r  )rN   Ú
dependentsr1   )r   r   Údepss      r   Útest_dependentsÚ(TestImmutableDeclaration.test_dependentsx  sH   € Ø—‘Ó ˆØ×ÑˆØ×Ñ˜˜TÔ"àˆˆQ‰Ø×Ñ˜˜U×-Ñ-Õ.r!   c                 óB   • U R                  5       R                  S 5        g r7   )rN   rƒ   r  s    r   Útest_changedÚ%TestImmutableDeclaration.test_changed€  s   € à�‰Ó× Ñ  Õ&r!   c                 ó  • U R                  U R                  5       R                  U 5      5        U R                  U R                  5       R                  U SS95        U R                  U R                  5       R                  U SS95        g )NTrd   F)r}   rN   rg   r  s    r   Útest_extends_always_falseÚ2TestImmutableDeclaration.test_extends_always_false„  sl   € Ø×Ñ˜Ÿ™Ó)×1Ñ1°$Ó7Ô8Ø×Ñ˜Ÿ™Ó)×1Ñ1°$¸tÐ1ÐDÔEØ×Ñ˜Ÿ™Ó)×1Ñ1°$¸uÐ1ÐEÕFr!   c                 óÀ   • U R                  U R                  5       R                  S5      5        U R                  U R                  5       R                  SS5      S5        g )NÚnameé*   )r{   rN   r|   r1   r  s    r   Útest_get_always_defaultÚ0TestImmutableDeclaration.test_get_always_default‰  sF   € Ø×Ñ˜$Ÿ.™.Ó*×.Ñ.¨vÓ6Ô7Ø×Ñ˜Ÿ™Ó)×-Ñ-¨f°bÓ9¸2Õ>r!   c                 ó„  • U R                  5       nU R                  UR                  0 5        SUR                  S'   U R                  UR                  0 5        U R                  UR	                  S5      5        0 =o!l        SUS'   U R                  UR                  0 5        U R                  UR	                  S5      5        g )Nr1  rx   )rN   r1   r~   r{   r|   )r   rS   Úattrss      r   Útest_v_attrsÚ%TestImmutableDeclaration.test_v_attrs�  s™   € Ø�~‰~ÓˆØ×Ñ˜Ÿ™¨Ô+à "ˆ�‰�fÑØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜$Ÿ(™( 6Ó*Ô+à "Ð"ˆ”Øˆˆf‰Ø×Ñ˜Ÿ™¨Ô+Ø×Ñ˜$Ÿ(™( 6Ó*Õ+r!   r   N)r   r   r   r   rŠ   rN   r  r  r  r!  r'  r*  r-  r2  r6  r    r   r!   r   r  r  X  s:   † ò%òò0ò

ò9ò#ò/ò'òGò
?õ,r!   r  c                   óP   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rSrg)ÚTestImplementsi›  c                 ó   • SSK Jn  U$ r¢   )r0   r¤   )r   r¤   s     r   rŠ   ÚTestImplements._getTargetClassž  ó   € Ý:ØÐr!   c                 ó.   • U R                  5       " U0 UD6$ r7   rŽ   r�   s      r   r’   ÚTestImplements._makeOne¢  r”   r!   c                 ó2   • SSK Jn   " S S5      nU" U5      $ )Nr   rù   c                   ó   • \ rS rSrSrg)Ú+TestImplements._makeOneToCompare.<locals>.Ai¨  r   Nr,   r   r!   r   ÚArA  ¨  rC   r!   rB  ©r0   rú   )r   rú   rB  s      r   Ú_makeOneToCompareÚ TestImplements._makeOneToCompare¥  s   € Ý=÷	ñ 	ñ ˜QÓÐr!   c                 ó  • U R                  5       nU R                  UR                  S 5        U R                  UR                  S5        U R                  UR                  S5        U R                  [        UR                  5      / 5        g )Nr   Ú?)r’   r1   ÚinheritÚdeclaredr   rQ   r–   ©r   r¥   s     r   r—   Ú!TestImplements.test_ctor_no_bases­  sb   € Ø�}‰}‹ˆØ×Ñ˜Ÿ™ tÔ,Ø×Ñ˜Ÿ™¨Ô+Ø×Ñ˜Ÿ™¨Ô,Ø×Ñœ˜dŸn™nÓ-¨rÕ2r!   c                 óh   • U R                  5       nSUl        U R                  [        U5      S5        g )NÚTestingzclassImplements(Testing))r’   r   r1   ÚreprrJ  s     r   Útest___repr__ÚTestImplements.test___repr__´  s)   € Ø�}‰}‹ˆØ!ˆŒØ×Ñœ˜d›Ð%?Õ@r!   c                 ót   • SSK Jn  U R                  5       nU R                  UR	                  5       US45        g )Nr   rù   r7   )r0   rú   r’   r1   Ú
__reduce__)r   rú   r¥   s      r   Útest___reduce__ÚTestImplements.test___reduce__¹  s,   € Ý=Ø�}‰}‹ˆØ×Ñ˜Ÿ™Ó*¨]¸GÐ,DÕEr!   c                 óX  • SSK Jn  SSKJn   " S S5      n " S S5      nU" S5      nU R	                  U" U5      U" U5      5        U R	                  [        U" U5      5      [        U" U5      5      5        U R                  U" U5      S 5        U R                  S U" U5      5        U R                  U" U5      U" U5      5        U R                  U" U5      U5        U R                  U" U5      U" U5      5        U R                  U" U5      U5        U R                  U" U5      U5        g )	Nr   rù   r›   c                   ó   • \ rS rSrSrg)Ú#TestImplements.test_sort.<locals>.AiÂ  r   Nr,   r   r!   r   rB  rW  Â  rC   r!   rB  c                   ó   • \ rS rSrSrg)Ú#TestImplements.test_sort.<locals>.BiÅ  r   Nr,   r   r!   r   ÚBrY  Å  rC   r!   rZ  r�   )r0   rú   rZ   rœ   r1   ÚhashÚ
assertLessÚassertGreaterÚassertLessEqualÚassertGreaterEqualÚassertNotEqual)r   rú   rœ   rB  rZ  r�   s         r   Ú	test_sortÚTestImplements.test_sort¾  s  € Ý=Ý;÷	ñ 	÷	ñ 	ñ ˜fÓ%ˆà×Ñ™ qÓ)©=¸Ó+;Ô<Ø×Ñœ™m¨AÓ.Ó/´±mÀAÓ6FÓ1GÔHØ�‰™ aÓ(¨$Ô/Ø×ÑØÙ˜!Óô	
ð 	�‰™ aÓ(©-¸Ó*:Ô;Ø×Ñ™=¨Ó+¨TÔ2Ø×Ñ™]¨1Ó-©}¸QÓ/?Ô@Ø×Ñ¡¨aÓ 0°$Ô7Ø×Ñ™M¨!Ó,¨dÕ3r!   c                 ó°  • SSK Jn   " S S5      n " S S5      n " S S5      nU" U5      nU" U5      nU" U5      nU R                  UU5        U R                  XV5        U R                  Xe5        U R                  Xu5        U R                  XW5        U R                  Xu5        U R                  XW5        U R                  Xv5        U R                  Xg5        g )	Nr   rù   c                   ó,   • \ rS rSrS rS rS rS rSrg)Ú1TestImplements.test_proxy_equality.<locals>.ProxyiÛ  c                 ó   • Xl         g r7   ©Ú_wrapped)r   Úwrappeds     r   Ú__init__Ú:TestImplements.test_proxy_equality.<locals>.Proxy.__init__Ü  s   € Ø '•r!   c                 ó   • [        5       er7   r8   ©r   r0  s     r   Ú__getattr__Ú=TestImplements.test_proxy_equality.<locals>.Proxy.__getattr__ß  ó   € Ü)Ó+Ð+r!   c                 ó    • U R                   U:H  $ r7   rg  ©r   rç   s     r   Ú__eq__Ú8TestImplements.test_proxy_equality.<locals>.Proxy.__eq__â  ó   € Ø—}‘}¨Ñ-Ð-r!   c                 ó    • U R                   U:g  $ r7   rg  rr  s     r   Ú__ne__Ú8TestImplements.test_proxy_equality.<locals>.Proxy.__ne__å  ru  r!   rg  N)	r   r   r   r   rj  rn  rs  rw  r    r   r!   r   ÚProxyre  Û  s   † ò(ò,ò.õ.r!   ry  c                   ó   • \ rS rSrSrg)Ú-TestImplements.test_proxy_equality.<locals>.Aiè  r   Nr,   r   r!   r   rB  r{  è  rC   r!   rB  c                   ó   • \ rS rSrSrg)Ú-TestImplements.test_proxy_equality.<locals>.Bië  r   Nr,   r   r!   r   rZ  r}  ë  rC   r!   rZ  )r0   rú   r1   r`  )r   rú   ry  rB  rZ  ÚimplementedByAÚimplementedByBÚproxys           r   Útest_proxy_equalityÚ"TestImplements.test_proxy_equality×  sË   € å=÷	.ñ 	.÷	ñ 	÷	ñ 	ñ ' qÓ)ˆÙ& qÓ)ˆÙ�nÓ%ˆð 	×ÑØØô	
ð 	×Ñ˜NÔ;Ø×Ñ˜NÔ;à×Ñ˜Ô/Ø×Ñ˜Ô/Ø×Ñ˜Ô/Ø×Ñ˜Ô/à×Ñ˜EÔ2Ø×Ñ˜NÕ2r!   c                 óh  • U R                  5       nU R                  UR                  5        U R                  SUR                  5        SUl        U R                  SUR                  5        UR                  S 5        U R                  UR                  5        U R                  SUR                  5        g )NÚ_super_cacher1  )r’   r{   r„  r`   Ú__dict__r²   rƒ   rJ  s     r   Ú test_changed_deletes_super_cacheÚ/TestImplements.test_changed_deletes_super_cache  sƒ   € Ø�}‰}‹ˆØ×Ñ˜$×+Ñ+Ô,Ø×Ñ˜¨¯©Ô7àˆÔØ�‰�n d§m¡mÔ4à�‰�TÔØ×Ñ˜$×+Ñ+Ô,Ø×Ñ˜¨¯©Õ7r!   c                 ó"  • U R                  5       nU R                  UR                  5        U R                  SUR                  5        UR                  S 5        U R                  UR                  5        U R                  SUR                  5        g )Nr„  )r’   r{   r„  r`   r…  rƒ   rJ  s     r   Ú%test_changed_does_not_add_super_cacheÚ4TestImplements.test_changed_does_not_add_super_cache  si   € Ø�}‰}‹ˆØ×Ñ˜$×+Ñ+Ô,Ø×Ñ˜¨¯©Ô7à�‰�TÔØ×Ñ˜$×+Ñ+Ô,Ø×Ñ˜¨¯©Õ7r!   r   N)r   r   r   r   rŠ   r’   rD  r—   rO  rS  ra  r�  r†  r‰  r    r   r!   r   r9  r9  ›  s7   † òò3ò ò3òAò
Fò
4ò2*3òX
8õ8r!   r9  c                   óÈ   ^ • \ rS rSrS r\rS rS rS rS r	S r
S rS	 rS
 rS rS rS rS rS rS rS rU 4S jrU 4S jrU 4S jrU 4S jrU 4S jrU 4S jrSrU =r$ )ÚTest_implementedByFallbacki  c                 ó   • SSK Jn  U$ )Nr   )ÚimplementedByFallback)r0   rŽ  )r   rŽ  s     r   rŠ   Ú*Test_implementedByFallback._getTargetClass  s   € åEØ$Ð$r!   c                 ó.   • U R                  5       " U0 UD6$ r7   rŽ   r�   s      r   Ú_callFUTÚ#Test_implementedByFallback._callFUT"  r”   r!   c                 óˆ   •  " S S5      nU" 5       nS Ul         U R                  [        U R                  U5      5      / 5        g )Nc                   ó   • \ rS rSrSrSrg)Ú]Test_implementedByFallback.test_dictless_wo_existing_Implements_wo_registrations.<locals>.Fooi&  ©Ú__implemented__r   N©r   r   r   r   Ú	__slots__r    r   r!   r   r-   r•  &  ó   † Ø,‹Ir!   r-   )r—  r1   rQ   r‘  ©r   r-   r(   s      r   Ú5test_dictless_wo_existing_Implements_wo_registrationsÚPTest_implementedByFallback.test_dictless_wo_existing_Implements_wo_registrations%  s9   € ÷	-ñ 	-á‹eˆØ"ˆÔØ×Ñœ˜dŸm™m¨CÓ0Ó1°2Õ6r!   c                 óh   •  " S S5      nU" 5       nU R                  [        U R                  U5        g )Nc                   ó8   • \ rS rSrS rS r\" \\5      rS rSr	g)ÚhTest_implementedByFallback.test_dictless_wo_existing_Implements_cant_assign___implemented__.<locals>.Fooi.  c                 ó   • [        5       er7   r8   r  s    r   Ú	_get_implÚrTest_implementedByFallback.test_dictless_wo_existing_Implements_cant_assign___implemented__.<locals>.Foo._get_impl/  rp  r!   c                 ó   • [         er7   )r   )r   Úvals     r   Ú	_set_implÚrTest_implementedByFallback.test_dictless_wo_existing_Implements_cant_assign___implemented__.<locals>.Foo._set_impl2  s   € Ü�r!   c                 ó   • [        5       er7   r8   r  s    r   Ú__call__ÚqTest_implementedByFallback.test_dictless_wo_existing_Implements_cant_assign___implemented__.<locals>.Foo.__call__7  s   € ä)Ó+Ð+r!   r   N)
r   r   r   r   r¢  r¦  Úpropertyr—  r©  r    r   r!   r   r-   r   .  s   † ò,ò ñ ' y°)Ó<ˆOõ,r!   r-   ©r  r   r‘  r›  s      r   Ú@test_dictless_wo_existing_Implements_cant_assign___implemented__Ú[Test_implementedByFallback.test_dictless_wo_existing_Implements_cant_assign___implemented__,  s+   € ÷	,ñ 	,ñ ‹eˆØ×Ñœ) T§]¡]°CÕ8r!   c                 óê   • SSK Jn   " S S5      nU" 5       nS Ul        [        5       n[	        US5       nXEU'   U R                  U R                  U5      U5        S S S 5        g ! , (       d  f       g = f)Nr   ©Údeclarationsc                   ó   • \ rS rSrSrSrg)Ú\Test_implementedByFallback.test_dictless_wo_existing_Implements_w_registrations.<locals>.FooiA  r–  r   Nr˜  r   r!   r   r-   r³  A  rš  r!   r-   Ú#BuiltinImplementationSpecifications)rñ   r±  r—  r‚   Ú_MonkeyDictr  r‘  )r   r±  r-   r(   ÚregÚspecss         r   Ú4test_dictless_wo_existing_Implements_w_registrationsÚOTest_implementedByFallback.test_dictless_wo_existing_Implements_w_registrations>  si   € Ý/÷	-ñ 	-ñ ‹eˆØ"ˆÔÜ‹hˆÜ˜Ø>ô@ØCHØ�#‰JØ�M‰M˜$Ÿ-™-¨Ó,¨cÔ2÷@÷ @ö @ús   µ&A$Á$
A2c                 óŽ   • SSK Jn  U" 5       n " S S5      nU" 5       nX$l        U R                  U R	                  U5      U5        g )Nr   r£   c                   ó   • \ rS rSrSrSrg)ÚKTest_implementedByFallback.test_dictless_w_existing_Implements.<locals>.FooiP  r–  r   Nr˜  r   r!   r   r-   r¼  P  rš  r!   r-   )r0   r¤   r—  r  r‘  )r   r¤   r¥   r-   r(   s        r   Ú#test_dictless_w_existing_ImplementsÚ>Test_implementedByFallback.test_dictless_w_existing_ImplementsL  s<   € Ý:Ù‹|ˆ÷	-ñ 	-ñ ‹eˆØ"ÔØ�‰�d—m‘m CÓ(¨$Õ/r!   c                 ó¨   • SSK Jn   " S S5      nU" 5       nU" S5      nU4Ul        U R                  [	        U R                  U5      5      U/5        g )Nr   r›   c                   ó   • \ rS rSrSrSrg)ÚOTest_implementedByFallback.test_dictless_w_existing_not_Implements.<locals>.FooiZ  r–  r   Nr˜  r   r!   r   r-   rÁ  Z  rš  r!   r-   r�   )rZ   rœ   r—  r1   rQ   r‘  )r   rœ   r-   r(   r�   s        r   Ú'test_dictless_w_existing_not_ImplementsÚBTest_implementedByFallback.test_dictless_w_existing_not_ImplementsW  sL   € Ý;÷	-ñ 	-ñ ‹eˆÙ˜fÓ%ˆØ#˜gˆÔØ×Ñœ˜dŸm™m¨CÓ0Ó1°D°6Õ:r!   c                 ó|   ^• SSK Jn  U" 5       m " U4S jS5      nU R                  U R                  U5      T5        g )Nr   r£   c                   ó   >• \ rS rSr Y rSrg)ÚJTest_implementedByFallback.test_w_existing_attr_as_Implements.<locals>.Fooif  r   N©r   r   r   r   r—  r    ©r¥   s   €r   r-   rÆ  f  ó   ø† Ù"‹Or!   r-   ©r0   r¤   r  r‘  ©r   r¤   r-   r¥   s      @r   Ú"test_w_existing_attr_as_ImplementsÚ=Test_implementedByFallback.test_w_existing_attr_as_Implementsb  ó0   ø€ Ý:Ù‹|ˆ÷	#ô 	#ð 	�‰�d—m‘m CÓ(¨$Õ/r!   c                 ó*  • SSK Jn  SSKJn  [	        US5       nU R                  [        U R                  [        5      5      / 5        U R                  [        U R                  [        5      5      / 5        U R                  [        U R                  [        5      5      / 5        [        [        [        4 HB  nX4   nU R                  XR5        U R                  [        U5      SUR                  < S35        MD     S S S 5        g ! , (       d  f       g = f)Nr   r°  r£   r´  úclassImplements(Ú))rñ   r±  r0   r¤   rµ  r1   rQ   r‘  ÚtupleÚdictrÖ   rN  r   )r   r±  r¤   r·  ÚtypÚspecs         r   Útest_builtins_added_to_cacheÚ7Test_implementedByFallback.test_builtins_added_to_cachek  sÌ   € Ý/Ý:Ü˜Ø>ô@ØCHØ×ÑœT $§-¡-´Ó"6Ó7¸Ô<Ø×ÑœT $§-¡-´Ó"5Ó6¸Ô;Ø×ÑœT $§-¡-´Ó"5Ó6¸Ô;Üœt¤TÓ*�Ø‘z�Ø×%Ñ% dÔ7Ø× Ñ ¤ d¤à$'§L¤Lð"3ö4ñ +÷@÷ @ö @ús   ™C"DÄ
Dc                 ó¤  • SSK Jn  [        5       [        5       [        5       pCn[        US5       nX%[        '   X5[
        '   XE[        '   U R                  U R                  [        5      U5        U R                  U R                  [
        5      U5        U R                  U R                  [        5      U5        S S S 5        g ! , (       d  f       g = f)Nr   r°  r´  )	rñ   r±  r‚   rµ  rÒ  rQ   rÓ  r  r‘  )r   r±  Út_specÚl_specÚd_specr·  s         r   Útest_builtins_w_existing_cacheÚ9Test_implementedByFallback.test_builtins_w_existing_cachez  s”   € Ý/Ü!'£¬6«8´V³X˜ˆÜ˜Ø>ô@ØCHØ!”%‰LØ ”$‰KØ ”$‰KØ�M‰M˜$Ÿ-™-¬Ó.°Ô7Ø�M‰M˜$Ÿ-™-¬Ó-¨vÔ6Ø�M‰M˜$Ÿ-™-¬Ó-¨vÔ6÷@÷ @ö @ús   °BCÃ
Cc                 ól   •  " S S5      nU R                  [        U R                  U5      5      / 5        g )Nc                   ó   • \ rS rSrSrg)ÚITest_implementedByFallback.test_oldstyle_class_no_assertions.<locals>.Fooi‰  r   Nr,   r   r!   r   r-   rà  ‰  rC   r!   r-   ©r1   rQ   r‘  ©r   r-   s     r   Ú!test_oldstyle_class_no_assertionsÚ<Test_implementedByFallback.test_oldstyle_class_no_assertions†  ó,   € ÷	ñ 	ð 	×Ñœ˜dŸm™m¨CÓ0Ó1°2Õ6r!   c                 ól   •  " S S5      nU R                  [        U R                  U5      5      / 5        g )Nc                   ó   • \ rS rSrSrg)Ú:Test_implementedByFallback.test_no_assertions.<locals>.Fooi‘  r   Nr,   r   r!   r   r-   rè  ‘  rC   r!   r-   rá  râ  s     r   Útest_no_assertionsÚ-Test_implementedByFallback.test_no_assertionsŽ  rå  r!   c                 óh   •  " S S5      nU" 5       nU R                  [        U R                  U5        g )Nc                   ó   • \ rS rSrSrSrg)ÚHTest_implementedByFallback.test_w_None_no_bases_not_factory.<locals>.Fooi˜  Nr   rÇ  r   r!   r   r-   rí  ˜  ó   † Ø"‹Or!   r-   r¬  r›  s      r   Ú test_w_None_no_bases_not_factoryÚ;Test_implementedByFallback.test_w_None_no_bases_not_factory–  s+   € ÷	#ñ 	#ñ ‹eˆØ×Ñœ) T§]¡]°CÕ8r!   c                 óz  • SSK Jn   " S S5      nU" 5       nSUl        U R                  U5      nU R	                  UR                  S5        U R                  UR                  U5        U R                  UR                  U5        U R                  UR                  U5        U R                  SUR                  5        g )Nr   )ÚobjectSpecificationDescriptorc                   ó   • \ rS rSrSrS rSrg)ÚFTest_implementedByFallback.test_w_None_no_bases_w_factory.<locals>.Fooi¡  Nc                 ó   • [        5       er7   r8   r  s    r   r©  ÚOTest_implementedByFallback.test_w_None_no_bases_w_factory.<locals>.Foo.__call__¤  rp  r!   r   )r   r   r   r   r—  r©  r    r   r!   r   r-   rô  ¡  s   † Ø"ˆOõ,r!   r-   r(   z*zope.interface.tests.test_declarations.fooÚ__provides__)r0   rò  r   r‘  r1   r  rH  r—  Ú__providedBy__r`   r…  )r   rò  r-   r(   rÕ  s        r   Útest_w_None_no_bases_w_factoryÚ9Test_implementedByFallback.test_w_None_no_bases_w_factoryž  s™   € ÝM÷	,ñ 	,ñ ‹eˆØˆŒØ�}‰}˜SÓ!ˆØ×Ñ˜Ÿ™ØEô	Gà�‰�d—l‘l CÔ(Ø�‰�c×)Ñ)¨4Ô0Ø�‰Ø×ÑÐ =ô	
ð 	×Ñ˜¨¯©Õ6r!   c                 óª  • SSK Jn   " S S5      nU R                  U5      nU R                  UR                  S5        U R                  UR                  U5        U R                  UR                  U5        U R                  UR                  U5        U R                  UR                  U5        U R                  UR                  UR                  5        g )Nr   ©ÚClassProvidesc                   ó   • \ rS rSrSrSrg)ÚDTest_implementedByFallback.test_w_None_no_bases_w_class.<locals>.Fooi¶  Nr   rÇ  r   r!   r   r-   rÿ  ¶  rî  r!   r-   z*zope.interface.tests.test_declarations.Foo)r0   rý  r‘  r1   r   r  rH  r—  rÖ   rø  r÷  )r   rý  r-   rÕ  s       r   Útest_w_None_no_bases_w_classÚ7Test_implementedByFallback.test_w_None_no_bases_w_class³  s²   € Ý=÷	#ñ 	#ð �}‰}˜SÓ!ˆØ×Ñ˜Ÿ™ØEô	Gà�‰�d—l‘l CÔ(Ø�‰�c×)Ñ)¨4Ô0Ø×ÑØ×Ñ ô	
ð 	×ÑØ×Ñ˜mô	
ð 	×ÑØ×Ñ˜c×0Ñ0õ	
r!   c                 ó|   ^• SSK Jn  U" 5       m " U4S jS5      nU R                  U R                  U5      T5        g )Nr   r£   c                   ó   >• \ rS rSr Y rSrg)ÚBTest_implementedByFallback.test_w_existing_Implements.<locals>.FooiÌ  r   NrÇ  rÈ  s   €r   r-   r  Ì  rÉ  r!   r-   rÊ  rË  s      @r   Útest_w_existing_ImplementsÚ5Test_implementedByFallback.test_w_existing_ImplementsÈ  rÎ  r!   c                 ób  >• SSK Jn  SSKJn   " S SU5      n " S SU5      nU" U5       " S S	5      5       nU" U5       " S
 SU5      5       nU R	                  [        U R                  U5      5      XC/5        [        Xf5      nU R	                  [        U R                  U5      5      U/5        g )Nr   rX   rû   c                   ó   • \ rS rSrSrg)ÚSTest_implementedByFallback.test_super_when_base_implements_interface.<locals>.IBaseiÕ  r   Nr,   r   r!   r   rï   r	  Õ  rC   r!   rï   c                   ó   • \ rS rSrSrg)ÚVTest_implementedByFallback.test_super_when_base_implements_interface.<locals>.IDerivediØ  r   Nr,   r   r!   r   rð   r  Ø  rC   r!   rð   c                   ó   • \ rS rSrSrg)ÚRTest_implementedByFallback.test_super_when_base_implements_interface.<locals>.BaseiÛ  r   Nr,   r   r!   r   r  r  Û  r.   r!   r  c                   ó   • \ rS rSrSrg)ÚUTest_implementedByFallback.test_super_when_base_implements_interface.<locals>.Derivediß  r   Nr,   r   r!   r   ÚDerivedr  ß  r.   r!   r  ©rñ   rY   r0   rü   r1   rQ   r‘  Úsuper©	r   rY   rü   rï   rð   r  r  ÚsupÚ	__class__s	           €r   Ú)test_super_when_base_implements_interfaceÚDTest_implementedByFallback.test_super_when_base_implements_interfaceÑ  s¬   ø€ Ý,Ý;ô	�Iô 	ô	�uô 	ñ 
�UÓ	÷	ð 	ó 
ð	ñ 
�XÓ	ô	�dó 	ó 
ð	ð 	×Ñœ˜dŸm™m¨GÓ4Ó5¸Ð7HÔIÜ�GÓ%ˆØ×Ñœ˜dŸm™m¨CÓ0Ó1°E°7Õ;r!   c                 óŽ  >• SSK Jn  SSKJn   " S SU5      n " S SU5      nU" U5       " S S	5      5       n " S
 SU5      n " S SU5      nU" U5       " S SXg5      5       nU R	                  [        U R                  U5      5      XC/5        [        Xˆ5      n	U R	                  [        U R                  U	5      5      U/5        g )Nr   rX   rû   c                   ó   • \ rS rSrSrg)Ú[Test_implementedByFallback.test_super_when_base_implements_interface_diamond.<locals>.IBaseië  r   Nr,   r   r!   r   rï   r  ë  rC   r!   rï   c                   ó   • \ rS rSrSrg)Ú^Test_implementedByFallback.test_super_when_base_implements_interface_diamond.<locals>.IDerivediî  r   Nr,   r   r!   r   rð   r  î  rC   r!   rð   c                   ó   • \ rS rSrSrg)ÚZTest_implementedByFallback.test_super_when_base_implements_interface_diamond.<locals>.Baseiñ  r   Nr,   r   r!   r   r  r  ñ  r.   r!   r  c                   ó   • \ rS rSrSrg)Ú\Test_implementedByFallback.test_super_when_base_implements_interface_diamond.<locals>.Child1iõ  r   Nr,   r   r!   r   ÚChild1r   õ  rC   r!   r!  c                   ó   • \ rS rSrSrg)Ú\Test_implementedByFallback.test_super_when_base_implements_interface_diamond.<locals>.Child2iø  r   Nr,   r   r!   r   ÚChild2r#  ø  rC   r!   r$  c                   ó   • \ rS rSrSrg)Ú]Test_implementedByFallback.test_super_when_base_implements_interface_diamond.<locals>.Derivediû  r   Nr,   r   r!   r   r  r&  û  r.   r!   r  r  )r   rY   rü   rï   rð   r  r!  r$  r  r  r  s             €r   Ú1test_super_when_base_implements_interface_diamondÚLTest_implementedByFallback.test_super_when_base_implements_interface_diamondç  sÄ   ø€ Ý,Ý;ô	�Iô 	ô	�uô 	ñ 
�UÓ	÷	ð 	ó 
ð	ô	�Tô 	ô	�Tô 	ñ 
�XÓ	ô	�fó 	ó 
ð	ð 	×Ñœ˜dŸm™m¨GÓ4Ó5¸Ð7HÔIÜ�GÓ%ˆØ×Ñœ˜dŸm™m¨CÓ0Ó1°E°7Õ;r!   c                 ó  >• SSK Jn  SSKJn   " S SU5      n " S SU5      n " S S	5      n " S
 SU5      nU" U5       " S SU5      5       nU" U5       " S SXg5      5       nU R	                  UR
                  X†Xu[        45        U R	                  [        U R                  U5      5      XC/5        [        Xˆ5      n	U R                  U	5      n
U R	                  [        U
5      U/5        U R                  U
R                  5        g )Nr   rX   rû   c                   ó   • \ rS rSrSrg)Ú]Test_implementedByFallback.test_super_when_parent_implements_interface_diamond.<locals>.IBasei  r   Nr,   r   r!   r   rï   r+    rC   r!   rï   c                   ó   • \ rS rSrSrg)Ú`Test_implementedByFallback.test_super_when_parent_implements_interface_diamond.<locals>.IDerivedi
  r   Nr,   r   r!   r   rð   r-  
  rC   r!   rð   c                   ó   • \ rS rSrSrg)Ú\Test_implementedByFallback.test_super_when_parent_implements_interface_diamond.<locals>.Basei  r   Nr,   r   r!   r   r  r/    rC   r!   r  c                   ó   • \ rS rSrSrg)Ú^Test_implementedByFallback.test_super_when_parent_implements_interface_diamond.<locals>.Child1i  r   Nr,   r   r!   r   r!  r1    rC   r!   r!  c                   ó   • \ rS rSrSrg)Ú^Test_implementedByFallback.test_super_when_parent_implements_interface_diamond.<locals>.Child2i  r   Nr,   r   r!   r   r$  r3    r.   r!   r$  c                   ó   • \ rS rSrSrg)Ú_Test_implementedByFallback.test_super_when_parent_implements_interface_diamond.<locals>.Derivedi  r   Nr,   r   r!   r   r  r5    r.   r!   r  )rñ   rY   r0   rü   r1   Ú__mro__r‚   rQ   r‘  r  r{   Ú_dependents)r   rY   rü   rï   rð   r  r!  r$  r  r  Úfutr  s              €r   Ú3test_super_when_parent_implements_interface_diamondÚNTest_implementedByFallback.test_super_when_parent_implements_interface_diamond  sú   ø€ Ý,Ý;ô	�Iô 	ô	�uô 	÷	ñ 	ô	�Tô 	ñ 
�UÓ	ô	�Tó 	ó 
ð	ñ 
�XÓ	ô	�fó 	ó 
ð	ð 	×ÑØ�O‰O˜g¨v¼VÐDô	
ð 	×Ñœ˜dŸm™m¨GÓ4Ó5¸Ð7HÔIÜ�GÓ%ˆØ�m‰m˜CÓ ˆØ×Ñœ˜c› U GÔ,Ø×Ñ˜#Ÿ/™/Õ*r!   c                 óJ  >• SSK Jn  SSKJn   " S SU5      n " S SU5      n " S S	5      nU" U5       " S
 SU5      5       nU R	                  [        U R                  U5      5      U/5        [        Xf5      nU R	                  [        U R                  U5      5      / 5        g )Nr   rX   rû   c                   ó   • \ rS rSrSrg)ÚYTest_implementedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.IBasei(  r   Nr,   r   r!   r   rï   r=  (  rC   r!   rï   c                   ó   • \ rS rSrSrg)Ú\Test_implementedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.IDerivedi+  r   Nr,   r   r!   r   rð   r?  +  rC   r!   rð   c                   ó   • \ rS rSrSrg)ÚXTest_implementedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.Basei.  r   Nr,   r   r!   r   r  rA  .  rC   r!   r  c                   ó   • \ rS rSrSrg)Ú[Test_implementedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.Derivedi1  r   Nr,   r   r!   r   r  rC  1  r.   r!   r  r  r  s	           €r   Ú/test_super_when_base_doesnt_implement_interfaceÚJTest_implementedByFallback.test_super_when_base_doesnt_implement_interface$  s•   ø€ Ý,Ý;ô	�Iô 	ô	�uô 	÷	ñ 	ñ 
�XÓ	ô	�dó 	ó 
ð	ð 	×Ñœ˜dŸm™m¨GÓ4Ó5¸°zÔBä�GÓ%ˆØ×Ñœ˜dŸm™m¨CÓ0Ó1°2Õ6r!   c                 ó4  >• SSK Jn  SSKJn   " S SU5      n " S SU5      nU" U5       " S S	5      5       nU R	                  [        U R                  U5      5      U/5        [        XU5      nU R	                  [        U R                  U5      5      / 5        g )
Nr   rX   rû   c                   ó   • \ rS rSrSrg)ÚHTest_implementedByFallback.test_super_when_base_is_object.<locals>.IBasei>  r   Nr,   r   r!   r   rï   rH  >  rC   r!   rï   c                   ó   • \ rS rSrSrg)ÚKTest_implementedByFallback.test_super_when_base_is_object.<locals>.IDerivediA  r   Nr,   r   r!   r   rð   rJ  A  rC   r!   rð   c                   ó   • \ rS rSrSrg)ÚJTest_implementedByFallback.test_super_when_base_is_object.<locals>.DerivediD  r   Nr,   r   r!   r   r  rL  D  r.   r!   r  r  )r   rY   rü   rï   rð   r  r  r  s          €r   Útest_super_when_base_is_objectÚ9Test_implementedByFallback.test_super_when_base_is_object:  s‰   ø€ Ý,Ý;ô	�Iô 	ô	�uô 	ñ 
�XÓ	÷	ð 	ó 
ð	ð 	×Ñœ˜dŸm™m¨GÓ4Ó5¸°zÔBä�GÓ%ˆØ×Ñœ˜dŸm™m¨CÓ0Ó1°2Õ6r!   c                 óÞ  >• SSK Jn  SSKJn   " S SU5      n " S SU5      n " S S	U5      n " S
 SU5      n " S SU5      nU" U5       " S S5      5       nU" U5       " S SU5      5       n	U" U5       " S SU5      5       n
U" Xg5       " S SXš5      5       nUn[	        X»5      n[	        X›5      n[	        X«5      nU R                  [        U R                  U5      5      XgXCU/5        U R                  [        U R                  U5      5      XCU/5        U R                  [        U R                  U5      5      XS/5        U R                  [        U R                  U5      5      U/5        g )Nr   rX   rû   c                   ó   • \ rS rSrSrg)ÚRTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.IBaseiQ  r   Nr,   r   r!   r   rï   rQ  Q  rC   r!   rï   c                   ó   • \ rS rSrSrg)ÚPTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.IM1iT  r   Nr,   r   r!   r   ÚIM1rS  T  rC   r!   rT  c                   ó   • \ rS rSrSrg)ÚPTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.IM2iW  r   Nr,   r   r!   r   ÚIM2rV  W  rC   r!   rW  c                   ó   • \ rS rSrSrg)ÚUTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.IDerivediZ  r   Nr,   r   r!   r   rð   rY  Z  rC   r!   rð   c                   ó   • \ rS rSrSrg)ÚWTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.IUnrelatedi]  r   Nr,   r   r!   r   Ú
IUnrelatedr[  ]  rC   r!   r\  c                   ó   • \ rS rSrSrg)ÚQTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.Basei`  r   Nr,   r   r!   r   r  r^  `  r.   r!   r  c                   ó   • \ rS rSrSrg)ÚOTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.M1id  r   Nr,   r   r!   r   ÚM1r`  d  r.   r!   ra  c                   ó   • \ rS rSrSrg)ÚOTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.M2ih  r   Nr,   r   r!   r   ÚM2rc  h  r.   r!   rd  c                   ó   • \ rS rSrSrg)ÚTTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.Derivedil  r   Nr,   r   r!   r   r  rf  l  r.   r!   r  ©rñ   rY   r0   rü   r  r1   rQ   r‘  ©r   rY   rü   rï   rT  rW  rð   r\  r  ra  rd  r  ÚdÚsdÚsm1Úsm2r  s                   €r   Ú(test_super_multi_level_multi_inheritanceÚCTest_implementedByFallback.test_super_multi_level_multi_inheritanceM  s}  ø€ Ý,Ý;ô	�Iô 	ô	�)ô 	ô	�)ô 	ô	�uô 	ô	˜ô 	ñ 
�UÓ	÷	ð 	ó 
ð	ñ 
�SÓ	ô	�ó 	ó 
ð	ñ 
�SÓ	ô	�ó 	ó 
ð	ñ 
�XÓ	*ô	�bó 	ó 
+ð	ð ˆÜ�7Ó$ˆÜ�BÓ ˆÜ�BÓ ˆà×Ñœ˜dŸm™m¨AÓ.Ó/Ø"°¸CÐ@ô	Bà×Ñœ˜dŸm™m¨BÓ/Ó0Ø cÐ*ô	,à×Ñœ˜dŸm™m¨CÓ0Ó1Ø˜ô	'à×Ñœ˜dŸm™m¨CÓ0Ó1Ø˜õ	"r!   r   )r   r   r   r   rŠ   Ú_getFallbackClassr‘  rœ  r­  r¸  r½  rÂ  rÌ  rÖ  rÜ  rã  ré  rï  rù  r   r  r  r'  r9  rD  rM  rm  r    Ú__classcell__©r  s   @r   rŒ  rŒ    s   ø† ò%ð
 (Ðò3ò7ò9ò$3ò	0ò	;ò0ò4ò
7ò7ò7ò9ò7ò*
ò*0õ<õ,<õ8+õB7õ,7÷&/"ó /"r!   rŒ  c                   ó   • \ rS rSrS rSrg)ÚTest_implementedByi  c                 ó   • SSK Jn  U$ )Nr   rù   rC  )r   rú   s     r   rŠ   Ú"Test_implementedBy._getTargetClassƒ  ó   € Ý=ØÐr!   r   N©r   r   r   r   rŠ   r    r   r!   r   rs  rs    s   † õr!   rs  c                   ó:   • \ rS rSrSrS rS\ S-   S4S jrS rS	rg)
Ú_ImplementsTestMixiniˆ  Tc                 ó   • [         er7   r8   )r   ÚclsÚifaces      r   r‘  Ú_ImplementsTestMixin._callFUT‹  s   € ä!Ð!r!   Nz.Fooú	not givenc                 óN  • SSK Jn  SSKJn  U" S5      nU R	                  X5      nU R                  X�5        UR                  n	Ub  U R                  X’5        U R                  U	R                  U5        US:X  a  UOUnU R                  U	R                  U5        U R                  UR                  U	5        U R                  (       a^  U R                  UR                  U5        U R                  UR                  U5        U R                  UR                  UR                  5        X4$ )Nr   rü  r›   r�   r~  )r0   rý  rZ   rœ   r‘  r  r—  r1   r   rH  ÚFUT_SETS_PROVIDED_BYrÖ   rø  r÷  )
r   r-   Ú	orig_specÚ	spec_namerH  rý  rœ   r�   ÚreturnedrÕ  s
             r   Ú_check_implementerÚ'_ImplementsTestMixin._check_implementer�  sï   € õ 	>Ý;Ù˜fÓ%ˆà—=‘= Ó+ˆà�‰�hÔ$Ø×"Ñ"ˆØÑ Ø�M‰M˜$Ô*à×Ñ˜Ÿ™Ø"ô	$à  KÓ/‘#°WˆØ�‰�d—l‘l GÔ,Ø�‰�c×)Ñ)¨4Ô0Ø×$×$Ø×!Ñ! #×"4Ñ"4°mÔDØ×!Ñ! #×"2Ñ"2°MÔBØ×Ñ˜S×-Ñ-¨s×/AÑ/AÔBàˆyÐr!   c                 ó:   •  " S S5      nU R                  U5        g )Nc                   ó   • \ rS rSrSrg)Ú,_ImplementsTestMixin.test_class.<locals>.Fooi¬  r   Nr,   r   r!   r   r-   rˆ  ¬  rC   r!   r-   )r„  râ  s     r   r3   Ú_ImplementsTestMixin.test_classª  s   € ÷	ñ 	ð 	×Ñ Õ$r!   r   )	r   r   r   r   r€  r‘  r„  r3   r    r   r!   r   ry  ry  ˆ  s'   † ØÐò"ð
 &*Ø%-°Ñ%6Ø#.ôõ6%r!   ry  c                   ó0   • \ rS rSrSrS rS rS rS rSr	g)	ÚTest_classImplementsOnlyi²  Fc                 ó"   • SSK Jn  U" X5        U$ )Nr   )ÚclassImplementsOnly)r0   r�  )r   r{  r|  r�  s       r   r‘  Ú!Test_classImplementsOnly._callFUTµ  s   € ÝCÙ˜CÔ'Øˆ
r!   c                 óR  ^• SSK Jn  SSKJn  U" S5      nU" S5      nU" U5      mU4Tl         " U4S jS5      nUTl        U R                  XT5        U R                  UR                  T5        U R                  TR
                  S 5        U R                  TR                  U45        g )Nr   r£   r›   r�   r»   c                   ó   >• \ rS rSr Y rSrg)Ú@Test_classImplementsOnly.test_w_existing_Implements.<locals>.FooiÂ  r   NrÇ  rÈ  s   €r   r-   r‘  Â  rÉ  r!   r-   )
r0   r¤   rZ   rœ   rI  rH  r‘  r  r—  r1   ©r   r¤   rœ   r�   r»   r-   r¥   s         @r   r  Ú3Test_classImplementsOnly.test_w_existing_Implementsº  s�   ø€ Ý:Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆÙ˜$ÓˆØ˜ˆŒ÷	#ô 	#ð ˆŒØ�‰�cÔ à�‰�c×)Ñ)¨4Ô0Ø×Ñ˜Ÿ™ tÔ,Ø×Ñ˜Ÿ™¨¨Õ0r!   c                 ó|   ^• SSK Jn  SSKJn  U" S5      nU" U5      m " U4S jS5      nU R	                  UTSS S9  g )	Nr   r£   r›   r»   c                   ó   >• \ rS rSr Y rSrg)Ú0Test_classImplementsOnly.test_class.<locals>.FooiÒ  r   NrÇ  )Úold_specs   €r   r-   r–  Ò  s   ø† Ù&‹Or!   r-   rG  ©rH  )r0   r¤   rZ   rœ   r„  )r   r¤   rœ   r»   r-   r—  s        @r   r3   Ú#Test_classImplementsOnly.test_classÌ  s@   ø€ Ý:Ý;Ù˜fÓ%ˆÙ˜dÓ#ˆ÷	'ô 	'ð 	×Ñ  X¨s¸DÐÒAr!   c                 óÀ   • U R                  [        S[        40 5      S S9u  p " S SU5      nU R                  X25        U R	                  UR                  U5      5        g )Nr-   r˜  c                   ó   • \ rS rSrSrg)ÚRTest_classImplementsOnly.test_redundant_with_super_still_implements.<locals>.ChildiÝ  r   Nr,   r   r!   r   ÚChildrœ  Ý  rC   r!   r�  )r„  Útyper‚   r‘  rf   rú   )r   r  rï   r�  s       r   Ú*test_redundant_with_super_still_implementsÚCTest_classImplementsOnly.test_redundant_with_super_still_implements×  s[   € Ø×-Ñ-Ü�œ˜	 2Ó&Øð .ð 
‰ˆô
	�Dô 	ð 	�‰�eÔ#Ø�‰˜×+Ñ+¨EÓ2Õ3r!   r   N)
r   r   r   r   r€  r‘  r  r3   rŸ  r    r   r!   r   r‹  r‹  ²  s   † Ø Ðòò
1ò$	Bõ
4r!   r‹  c                   ó>   • \ rS rSrS rS rS rS rS rS r	S r
S	rg
)ÚTest_classImplementsiä  c                 óD   • SSK Jn  U" X5      nU R                  U5        U$ )Nr   ©ÚclassImplements)r0   r¥  r{   )r   r{  r|  r¥  Úresults        r   r‘  ÚTest_classImplements._callFUTæ  s'   € Ý?Ù Øó
ˆð 	×Ñ˜&Ô!Øˆ
r!   c                 óÜ  • U R                  U5      u  p " S SU5      nU R                  X25      nU R                  SUR                  5        U R	                  SUR                  5        U R                  SUR                  5        UR
                  nU R                  UR                  S5        U R                  UR                  U5        U R                  UR                  U" 5       5      5        g )Nc                   ó   • \ rS rSrSrg)ÚATest_classImplements.__check_implementer_redundant.<locals>.Childió  r   Nr,   r   r!   r   r�  rª  ó  rC   r!   r�  r—  rø  r÷  r   )r„  r‘  r²   r…  r`   r—  r1   rI  rH  rf   Ú
providedBy)r   r  rï   r�  rƒ  rÕ  s         r   Ú__check_implementer_redundantÚ2Test_classImplements.__check_implementer_redundantî  s¾   € ð ×-Ñ-¨dÓ3‰ˆô	�Dô 	ð —=‘= Ó.ˆØ�‰Ð'¨×):Ñ):Ô;Ø×ÑÐ)¨8×+<Ñ+<Ô=Ø�‰�n h×&7Ñ&7Ô8à×$Ñ$ˆØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜Ÿ™ uÔ-à�‰˜×(Ñ(©«Ó1Õ2r!   c                 ó:   •  " S S5      nU R                  U5        g )Nc                   ó   • \ rS rSrSrg)ÚUTest_classImplements.test_redundant_implementer_empty_class_declarations.<locals>.Fooi  r   Nr,   r   r!   r   r-   r°    rC   r!   r-   )Ú2_Test_classImplements__check_implementer_redundantrâ  s     r   Ú3test_redundant_implementer_empty_class_declarationsÚHTest_classImplements.test_redundant_implementer_empty_class_declarations  s   € ÷	ñ 	ð 	×*Ñ*¨3Õ/r!   c                 ó˜  • SSK Jn  SSK Jn  SSK Jn  SSKJn   " S S5      nU" UR                  R                  S5         U R                  XQ5        U R                  [        U" U5      5      U/5         " S	 S
U5      nU R                  Xa5        U R                  [        U" U5      5      U/5        S S S 5        g ! , (       d  f       g = f)Nr   rX   rù   rë   rí   c                   ó   • \ rS rSrSrg)ÚFTest_classImplements.test_redundant_implementer_Interface.<locals>.Fooi  r   Nr,   r   r!   r   r-   r¶    rC   r!   r-   Fc                   ó   • \ rS rSrSrg)ÚFTest_classImplements.test_redundant_implementer_Interface.<locals>.Bazi  r   Nr,   r   r!   r   ÚBazr¸    ó   † Úr!   r¹  )rñ   rY   rú   rì   rò   rî   ró   rô   r‘  r1   rQ   )r   rY   rú   rì   rî   r-   r¹  s          r   Ú$test_redundant_implementer_InterfaceÚ9Test_classImplements.test_redundant_implementer_Interface  s˜   € Ý,Ý0Ý%Ý:÷	ñ 	ñ �r—u‘u×'Ñ'¨Õ/Ø�M‰M˜#Ô)Ø×ÑœT¡-°Ó"4Ó5¸	°{ÔCô�cô ð �M‰M˜#Ô)Ø×ÑœT¡-°Ó"4Ó5¸	°{ÔC÷ 0×/Ö/ús   Á A2B;Â;
C	c                 ó   • X4$ r7   r   ©r   Úapplied_firstÚapplied_seconds      r   Ú_order_for_twoÚ#Test_classImplements._order_for_two  s   € ØÐ.Ð.r!   c                 ón  ^• SSK Jn  SSKJn  U" S5      nU" S5      nU" U5      mU4Tl         " U4S jS5      nUTl        U R                  XT5        U R                  UR                  T5        U R                  TR
                  U5        U R                  TR                  U R                  X45      5        g )Nr   r£   r›   r�   r»   c                   ó   >• \ rS rSr Y rSrg)Ú<Test_classImplements.test_w_existing_Implements.<locals>.Fooi&  r   NrÇ  rÈ  s   €r   r-   rÅ  &  rÉ  r!   r-   )r0   r¤   rZ   rœ   rI  rH  r‘  r  r—  r1   rÁ  r’  s         @r   r  Ú/Test_classImplements.test_w_existing_Implements  s™   ø€ Ý:Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆÙ˜$ÓˆØ˜ˆŒ÷	#ô 	#ð ˆŒØ�‰�cÔ à�‰�c×)Ñ)¨4Ô0Ø×Ñ˜Ÿ™ sÔ+Ø×Ñ˜Ÿ™Ø×,Ñ,¨TÓ8õ	:r!   c                 ó`  ^	^
• SSK Jn  SSKJn  U" S5      nU" S5      nU" SU45      nUR	                  SU5      m
U4T
l         " U
4S jS	5      n " U
4S
 jS5      nUR	                  SU5      m	U4T	l         " U	4S jSXg5      nUT	l        U R                  X„5        U R                  UR                  T	5        U R                  T	R                  U5        U R                  T	R
                  U R                  XT5      5        U R                  T	R                  U R                  XT5      T
4-   5        g )Nr   r£   r›   ÚIRootÚISecondRootÚIExtendsRootÚRootc                   ó   >• \ rS rSr Y rSrg)ÚFTest_classImplements.test_w_existing_Implements_w_bases.<locals>.Root1i;  r   NrÇ  ©Ú	impl_roots   €r   ÚRoot1rÍ  ;  ó   ø† Ù'‹Or!   rÐ  c                   ó   >• \ rS rSr Y rSrg)ÚFTest_classImplements.test_w_existing_Implements_w_bases.<locals>.Root2i>  r   NrÇ  rÎ  s   €r   ÚRoot2rÓ  >  rÑ  r!   rÔ  ÚExtendsRoot1c                   ó   >• \ rS rSr Y rSrg)ÚLTest_classImplements.test_w_existing_Implements_w_bases.<locals>.ExtendsRootiD  r   NrÇ  )Úimpl_extends_roots   €r   ÚExtendsRootr×  D  s   ø† Ù/‹Or!   rÙ  )r0   r¤   rZ   rœ   r'   rI  rH  r‘  r  r—  r1   rÁ  r–   )r   r¤   rœ   rÈ  rÉ  rÊ  rÐ  rÔ  rÙ  rØ  rÏ  s            @@r   Ú"test_w_existing_Implements_w_basesÚ7Test_classImplements.test_w_existing_Implements_w_bases1  s  ù€ Ý:Ý;Ù˜wÓ'ˆÙ$ ]Ó3ˆÙ% n°u°hÓ?ˆà×$Ñ$ V¨UÓ3ˆ	Ø#˜Xˆ	Ô÷	(ô 	(÷	(ô 	(ð '×,Ñ,¨^¸\ÓJÐØ&2 _ÐÔ"÷	0˜%ô 	0ð %0ÐÔ!à�‰�kÔ/à�‰�k×1Ñ1Ð3DÔEØ×ÑÐ*×2Ñ2°KÔ@Ø×ÑÐ*×3Ñ3Ø×,Ñ,¨\ÓHô	Jà×ÑØ×'Ñ'Ø×Ñ Ó:¸i¸\ÑIõ	
r!   r   N)r   r   r   r   r‘  r±  r²  r»  rÁ  r  rÚ  r    r   r!   r   r¢  r¢  ä  s&   † òò3ò&0òDò&/ò:õ&!
r!   r¢  c                   ó    • \ rS rSrS rS rSrg)ÚTest_classImplementsFirstiU  c                 óD   • SSK Jn  U" X5      nU R                  U5        U$ )Nr   )ÚclassImplementsFirst)r0   rß  r{   )r   r{  r|  rß  r¦  s        r   r‘  Ú"Test_classImplementsFirst._callFUTW  s'   € ÝDÙ%Øó
ˆð 	×Ñ˜&Ô!Øˆ
r!   c                 ó   • X!4$ r7   r   r¾  s      r   rÁ  Ú(Test_classImplementsFirst._order_for_two_  s   € ØÐ.Ð.r!   r   N)r   r   r   r   r‘  rÁ  r    r   r!   r   rÝ  rÝ  U  s   † òõ/r!   rÝ  c                   ó    • \ rS rSrS rS rSrg)ÚTest__implements_adviceic  c                 ó   • SSK Jn  U" U0 UD6$ )Nr   )Ú_implements_advice)r0   ræ  )r   r�   r‘   ræ  s       r   r‘  Ú Test__implements_advice._callFUTe  ó   € ÝBÙ! 4Ð.¨2Ñ.Ð.r!   c                 ó6  ^^• SSK Jn  SSK Jm  SSKJn  U" S5      m " UU4S jS5      nU R                  U5        U R                  SUR                  5        U R                  UR                  U5        U R                  [        UR                  5      T/5        g )	Nr   r£   r¤  r›   r�   c                   ó$   >• \ rS rSr Y 4 Y4rSrg)Ú@Test__implements_advice.test_no_existing_implements.<locals>.Fooio  r   N)r   r   r   r   Ú__implements_advice_data__r    )r�   r¥  s   €€r   r-   rë  o  s   ø† Ù+/¨'±?Ð)CÓ&r!   r-   rì  )r0   r¤   r¥  rZ   rœ   r‘  r`   r…  rÖ   r—  r1   rQ   )r   r¤   rœ   r-   r�   r¥  s       @@r   Útest_no_existing_implementsÚ3Test__implements_advice.test_no_existing_implementsi  s€   ù€ Ý:Ý?Ý;Ù˜fÓ%ˆ÷	Dõ 	Dð 	�‰�cÔØ×ÑÐ5°s·|±|ÔDØ×ÑØ×Ñ ô	
ð 	×ÑÜ�×$Ñ$Ó%¨ võ	
r!   r   N)r   r   r   r   r‘  rí  r    r   r!   r   rä  rä  c  s   † ò/õ
r!   rä  c                   ó8   • \ rS rSrS rS rS rS rS rS r	Sr
g	)
ÚTest_implementeri|  c                 ó   • SSK Jn  U$ )Nr   rû   )r0   rü   )r   rü   s     r   rŠ   Ú Test_implementer._getTargetClass~  rŒ   r!   c                 ó.   • U R                  5       " U0 UD6$ r7   rŽ   r�   s      r   r’   ÚTest_implementer._makeOne‚  r”   r!   c                 ó0   • U R                   " U6 nU" U5      $ r7   ©r’   )r   r{  ÚifacesÚ	decorators       r   r‘  ÚTest_implementer._callFUT…  s   € Ø—M’M 6Ð*ˆ	Ù˜‹~Ðr!   c                 ó€   • SSK Jn  U" S5      nU R                  U5      nU R                  [        U[        5       5        g rš   )rZ   rœ   r’   r  r   r‚   )r   rœ   r�   rø  s       r   Ú test_nonclass_cannot_assign_attrÚ1Test_implementer.test_nonclass_cannot_assign_attr‰  s1   € Ý;Ù˜fÓ%ˆØ—M‘M $Ó'ˆ	Ø×Ñœ) Y´³Õ9r!   c                 óT  • SSK Jn  U" S5      n " S S5      nU" 5       nU R                  U5      nU" U5      nU R                  Xd5        UR                  nU R                  UR                  S5        U R                  UR                  5        U R                  UR                  U5        g )Nr   r›   r�   c                   ó   • \ rS rSrSrg)Ú;Test_implementer.test_nonclass_can_assign_attr.<locals>.Fooi“  r   Nr,   r   r!   r   r-   rÿ  “  rC   r!   r-   z(zope.interface.tests.test_declarations.?)	rZ   rœ   r’   r  r—  r1   r   r{   rH  )r   rœ   r�   r-   r(   rø  rƒ  rÕ  s           r   Útest_nonclass_can_assign_attrÚ.Test_implementer.test_nonclass_can_assign_attr�  s�   € Ý;Ù˜fÓ%ˆ÷	ñ 	ñ ‹eˆØ—M‘M $Ó'ˆ	Ù˜S“>ˆØ�‰�hÔ$Ø×"Ñ"ˆØ×ÑØ�M‰MÐEô	
ð 	×Ñ˜$Ÿ,™,Ô(Ø�‰�c×)Ñ)¨4Õ0r!   c                 ó2  • SS K nSSKJn  U" S5      n[        UR	                  5       5      n[        S5       H  n " S S5      nU R                  Xc5        M      UR                  5         [        UR	                  5       5      nSnU R                  XtU-   5        g )Nr   r›   r�   il  c                   ó   • \ rS rSrSrg)ÚHTest_implementer.test_does_not_leak_on_unique_classes.<locals>.TestClassi¯  r   Nr,   r   r!   r   Ú	TestClassr  ¯  rº  r!   r  )	ÚgcrZ   rœ   ÚlenÚget_objectsÚranger‘  Úcollectr^  )	r   r  rœ   r�   Úbegin_countr   r  Ú	end_countÚfudge_factors	            r   Ú$test_does_not_leak_on_unique_classesÚ5Test_implementer.test_does_not_leak_on_unique_classes¡  s�   € ó 	å;Ù˜fÓ%ˆä˜"Ÿ.™.Ó*Ó+ˆä�t–ˆA÷ñ ð �M‰M˜)Ö*ñ	 ð 	�
‰
Œä˜Ÿ™Ó(Ó)ˆ	ð ˆØ×Ñ˜Y°lÑ(BÕCr!   r   N)r   r   r   r   rŠ   r’   r‘  rû  r   r  r    r   r!   r   rð  rð  |  s!   † òò3òò:ò1õ$Dr!   rð  c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	ÚTest_implementer_onlyiÀ  c                 ó   • SSK Jn  U$ )Nr   )Úimplementer_only)r0   r  )r   r  s     r   rŠ   Ú%Test_implementer_only._getTargetClassÂ  s   € Ý@ØÐr!   c                 ó.   • U R                  5       " U0 UD6$ r7   rŽ   r�   s      r   r’   ÚTest_implementer_only._makeOneÆ  r”   r!   c                 ó4   • U R                  U5      nU" U5      $ r7   rö  )r   r{  r|  rø  s       r   r‘  ÚTest_implementer_only._callFUTÉ  s   € Ø—M‘M %Ó(ˆ	Ù˜‹~Ðr!   c                 ót   • SSK Jn  U" S5      nU R                  U5      nS nU R                  [        X45        g )Nr   r›   r�   c                  ó   • [        5       er7   r8   r   r!   r   Ú	_functionÚ6Test_implementer_only.test_function.<locals>._functionÒ  ó   € Ü%Ó'Ð'r!   )rZ   rœ   r’   r  Ú
ValueError)r   rœ   r�   rø  r  s        r   r=   Ú#Test_implementer_only.test_functionÍ  s4   € Ý;Ù˜fÓ%ˆØ—M‘M $Ó'ˆ	ò	(ð 	×Ñœ* iÕ;r!   c                 ó–   • SSK Jn  U" S5      nU R                  U5      n " S S5      nU R                  [        X4R
                  5        g )Nr   r›   r�   c                   ó   • \ rS rSrS rSrg)Ú.Test_implementer_only.test_method.<locals>.BariÜ  c                 ó   • [        5       er7   r8   r  s    r   Ú_methodÚ6Test_implementer_only.test_method.<locals>.Bar._methodÝ  rp  r!   r   N)r   r   r   r   r$  r    r   r!   r   ÚBarr"  Ü  s   † õ,r!   r&  )rZ   rœ   r’   r  r  r$  )r   rœ   r�   rø  r&  s        r   Útest_methodÚ!Test_implementer_only.test_method×  s=   € Ý;Ù˜fÓ%ˆØ—M‘M $Ó'ˆ	÷	,ñ 	,ð 	×Ñœ* i·±Õ=r!   r   N)
r   r   r   r   rŠ   r’   r‘  r=   r'  r    r   r!   r   r  r  À  s   † ò ò3òò<õ	>r!   r  c                   ó8   • \ rS rSrS rS rS rS rS rS r	Sr
g	)
ÚProvidesClassTestsiã  c                 ó   • SSK Jn  U$ ©Nr   ©ÚProvidesClass©r0   r.  ©r   r.  s     r   rŠ   Ú"ProvidesClassTests._getTargetClasså  rv  r!   c                 ó.   • U R                  5       " U0 UD6$ r7   rŽ   r�   s      r   r’   ÚProvidesClassTests._makeOneé  r”   r!   c                 óŽ   • SSK Jn  U" S5      n " S S5      nU R                  X25      nU R                  [	        U5      U/5        g )Nr   r›   r�   c                   ó   • \ rS rSrSrg)Ú?ProvidesClassTests.test_simple_class_one_interface.<locals>.Fooið  r   Nr,   r   r!   r   r-   r6  ð  rC   r!   r-   r¶   ©r   rœ   r�   r-   rÕ  s        r   Útest_simple_class_one_interfaceÚ2ProvidesClassTests.test_simple_class_one_interfaceì  s?   € Ý;Ù˜fÓ%ˆ÷	ñ 	ð �}‰}˜SÓ'ˆØ×Ñœ˜d› d VÕ,r!   c                 óÎ   • SSK Jn  SSKJn  U" S5      n " S S5      nU R	                  XC5      nUR                  5       u  pgU R                  Xa5        U R                  XtU45        g )Nr   ©ÚProvidesr›   r�   c                   ó   • \ rS rSrSrg)Ú/ProvidesClassTests.test___reduce__.<locals>.Fooiû  r   Nr,   r   r!   r   r-   r>  û  rC   r!   r-   )r0   r<  rZ   rœ   r’   rR  r  r1   )r   r<  rœ   r�   r-   rÕ  Úklassr�   s           r   rS  Ú"ProvidesClassTests.test___reduce__ö  sX   € Ý8Ý;Ù˜fÓ%ˆ÷	ñ 	ð �}‰}˜SÓ'ˆØ—o‘oÓ'‰ˆØ�‰�eÔ&Ø×Ñ˜ T˜{Õ+r!   c                 óš   • SSK Jn  U" S5      n " S S5      nU R                  X25      nXCl        U R	                  UR                  U5        g )Nr   r›   r�   c                   ó   • \ rS rSrSrg)Ú2ProvidesClassTests.test___get___class.<locals>.Fooi  r   Nr,   r   r!   r   r-   rC    rC   r!   r-   ©rZ   rœ   r’   r÷  r  r7  s        r   Útest___get___classÚ%ProvidesClassTests.test___get___class  sC   € Ý;Ù˜fÓ%ˆ÷	ñ 	ð �}‰}˜SÓ'ˆØÔØ�‰�c×&Ñ&¨Õ-r!   c                 ó    ^• SSK Jn  U" S5      n " S S5      mU R                  TU5      nUTl        U4S jnU R	                  [
        U5        g )Nr   r›   r�   c                   ó   • \ rS rSrSrg)Ú5ProvidesClassTests.test___get___instance.<locals>.Fooi  r   Nr,   r   r!   r   r-   rI    rC   r!   r-   c                  ó*   >• T" 5       n U R                   $ r7   )r÷  )r(   r-   s    €r   Ú_testÚ7ProvidesClassTests.test___get___instance.<locals>._test  s   ø€ Ù“%ˆCØ×#Ñ#Ð#r!   )rZ   rœ   r’   r÷  r  ÚAttributeError)r   rœ   r�   rÕ  rK  r-   s        @r   Útest___get___instanceÚ(ProvidesClassTests.test___get___instance  sK   ø€ Ý;Ù˜fÓ%ˆ÷	ñ 	ð �}‰}˜S $Ó'ˆØˆÔõ	$ð 	×Ñœ.¨%Õ0r!   r   N)r   r   r   r   rŠ   r’   r8  rS  rE  rN  r    r   r!   r   r*  r*  ã  s    † òò3ò-ò,ò	.õ1r!   r*  c                   ó.   ^ • \ rS rSrU 4S jrS rSrU =r$ )ÚProvidesClassStrictTestsi  c                 óB   >^• [         TU ]  5       m " U4S jST5      nU$ )Nc                   ó"   >• \ rS rSrU 4S jrSrg)Ú@ProvidesClassStrictTests._getTargetClass.<locals>.StrictProvidesi%  c                 ó$   >• TR                  XSS9$ ©NT)Ú	base_mrosre   ©Ú_do_calculate_ro)r   rW  r.  s     €r   rY  ÚQProvidesClassStrictTests._getTargetClass.<locals>.StrictProvides._do_calculate_ro&  ó    ø€ Ø$×5Ñ5Ø°dð 6ð ð r!   r   N©r   r   r   r   rY  r    r-  s   €r   ÚStrictProvidesrT  %  ó   ø† ÷ð r!   r]  ©r  rŠ   )r   r]  r.  r  s     @€r   rŠ   Ú(ProvidesClassStrictTests._getTargetClass"  s$   ù€ Ü™Ñ/Ó1ˆ÷	˜]ô 	ð Ðr!   c           	      óì   • SSK Jn  SSK Jn  SSK Jn   " S SU5      nU" U5       " S S5      5       nU R	                  XT5      nU R                  UR                  UU" U5      UU" [        5      U45        g )	Nr   rX   rù   rû   c                   ó   • \ rS rSrSrg)ÚMProvidesClassStrictTests.test_overlapping_interfaces_corrected.<locals>.IBasei4  r   Nr,   r   r!   r   rï   rc  4  rC   r!   rï   c                   ó   • \ rS rSrSrg)ÚLProvidesClassStrictTests.test_overlapping_interfaces_corrected.<locals>.Basei7  r   Nr,   r   r!   r   r  re  7  r.   r!   r  )rñ   rY   rú   rü   r’   r1   rp   r‚   )r   rY   rú   rü   rï   r  rÕ  s          r   Ú%test_overlapping_interfaces_correctedÚ>ProvidesClassStrictTests.test_overlapping_interfaces_corrected-  sy   € õ 	-Ý0Ý.ô	�Iô 	ñ 
�UÓ	÷	ð 	ó 
ð	ð �}‰}˜TÓ)ˆØ×Ñ˜Ÿ™ØÙ˜$ÓØÙœ&Ó!Øð(
õ 	r!   r   ©r   r   r   r   rŠ   rf  r    rp  rq  s   @r   rQ  rQ    s   ø† õ	÷ð r!   rQ  c                   ób   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rSrg)ÚTestProvidesClassRepriE  c                 ó   • SSK Jn  U$ r,  r/  r0  s     r   rŠ   Ú%TestProvidesClassRepr._getTargetClassG  rv  r!   c                 ó.   • U R                  5       " U0 UD6$ r7   rŽ   r�   s      r   r’   ÚTestProvidesClassRepr._makeOneK  r”   r!   c                 ó  • SSK Jn  U" S5      nUR                  S:X  d   eUR                  [        :X  d   e[	        U5      S[         S3:X  d   eU" S5      nU R                  [        U 5      X#5      nU R                  [	        U5      S5        g )Nr   r›   r�   z<InterfaceClass z.IFoo>r»   z3directlyProvides(TestProvidesClassRepr, IFoo, IBar))rZ   rœ   r   r   rN  r’   rž  r1   )r   rœ   r�   r»   Úinsts        r   Útest__repr__Ú"TestProvidesClassRepr.test__repr__N  s…   € Ý;Ù˜fÓ%ˆØ�}‰} Ó&Ð&Ð&Ø�‰¤(Ó*Ð*Ð*Ü�D‹zÐ/´¨z¸Ð@Ó@Ð@Ð@á˜fÓ%ˆà�}‰}œT $›Z¨Ó4ˆØ×ÑÜ�‹JØAõ	
r!   c                 ó^   • SSK Jn  UR                  nU R                  [	        U5      S5        g )Nr   ©ÚdummyzIdirectlyProvides(sys.modules['zope.interface.tests.dummy'], IDummyModule))Úzope.interface.testsru  r÷  r1   rN  )r   ru  Úprovidess      r   Ú'test__repr__module_provides_typical_useÚ=TestProvidesClassRepr.test__repr__module_provides_typical_use]  s,   € õ 	/Ø×%Ñ%ˆØ×ÑÜ�‹Nðõ	
r!   c                 óü   • SS K nSSKJn  UR                  n[	        UR
                  S-   5       H8  nU R                  UR                  5         UR                  X45        S S S 5        M:     g ! , (       d  f       ML  = f)Nr   rt  r  )	r  rv  ru  r÷  r	  ÚHIGHEST_PROTOCOLr  ÚPicklingErrorr  )r   r  ru  rw  Úprotos        r   Útest__repr__module_after_pickleÚ5TestProvidesClassRepr.test__repr__module_after_picklei  s\   € ãå.Ø×%Ñ%ˆÜ˜6×2Ñ2°QÑ6Ö7ˆEØ×"Ñ" 6×#7Ñ#7Õ8Ø—‘˜XÔ-÷ 9Ñ8ò 8ß8Ö8ús   ÁA,Á,
A;	c                 ó^  • SS K nSSKJn  SSKJn  SSKJn  SSKJn  U" S5      nU" S5      nUR                  nU?U R                  [        USU5        U" XV5        UR                  n	U R                  [        U	5      S	5        U" XW5        UR                  n	U R                  [        U	5      S
5        UR                  [           n
[        U
S5      (       a   eU" X¦U5        U R                  [         U
S5        U R#                  U
R                  U	5        U R                  [        U	5      S5        g )Nr   ©ÚalsoProvides©ÚdirectlyProvidesr›   rt  r�   r»   r÷  zAdirectlyProvides(sys.modules['zope.interface.tests.dummy'], IFoo)zGdirectlyProvides(sys.modules['zope.interface.tests.dummy'], IFoo, IBar)zfdirectlyProvides(('zope.interface.tests.dummy', 'zope.interface.tests.test_declarations'), IFoo, IBar))Úsysr0   r‚  r„  rZ   rœ   rv  ru  r÷  Ú
addCleanupÚsetattrr1   rN  Úmodulesr   ÚhasattrÚdelattrr  )r   r…  r‚  r„  rœ   ru  r�   r»   Úorig_providesrw  Ú	my_modules              r   Ú#test__repr__directlyProvides_moduleÚ9TestProvidesClassRepr.test__repr__directlyProvides_modules  s  € Ûå<Ý@Ý;Ý.á˜fÓ%ˆÙ˜fÓ%ˆà×*Ñ*ˆØÐØ�‰œ ¨¸ÔFá˜Ô%Ø×%Ñ%ˆà×ÑÜ�‹NØOô	
ñ
 	�UÔ!Ø×%Ñ%ˆà×ÑÜ�‹Nðô	
ð —K‘K¤Ñ)ˆ	Ü˜9 n×5Ñ5Ð5Ð5á˜¨$Ô/Ø�‰œ ¨NÔ;Ø�‰�i×,Ñ,¨hÔ7Ø×ÑÜ�‹Nðõ	
r!   c                 óØ   • SSK Jn  SSKJn  U" S5      nU R	                  X5      nU=R
                  S-  sl        U=R
                  S-  sl        U R                  [        U5      S5        g )Nr   )Ú
ModuleTyper›   r�   )zsome.module)zanother.modulez9directlyProvides(('some.module', 'another.module'), IFoo))r0   r�  rZ   rœ   r’   Ú_v_module_namesr1   rN  )r   r�  rœ   r�   rp  s        r   Ú)test__repr__module_provides_cached_sharedÚ?TestProvidesClassRepr.test__repr__module_provides_cached_shared£  s\   € Ý:Ý;Ù˜fÓ%ˆà�}‰}˜ZÓ.ˆØ×ÒÐ 0Ñ0ÕØ×ÒÐ 3Ñ3ÕØ×ÑÜ�‹JØGõ	
r!   c                 óª   • SSK Jn  U" SSS9nU" SSS9nU" S5      nU R                  [        U 5      X$U5      nU R	                  [        U5      S5        g )	Nr   r›   r�   Úmod1©r   Úmod2ræ   z>directlyProvides(TestProvidesClassRepr, IFoo, IBaz, mod2.IFoo)©rZ   rœ   r’   rž  r1   rN  ©r   rœ   r�   ÚIFoo2ræ   rp  s         r   Útest__repr__duplicate_namesÚ1TestProvidesClassRepr.test__repr__duplicate_names°  sU   € Ý;Ù˜f°Ñ8ˆÙ˜v°&Ñ9ˆÙ˜fÓ%ˆà�}‰}œT $›Z¨°UÓ;ˆØ×ÑÜ�‹JØLõ	
r!   c                 óÂ   • SSK Jn  SSK Jn   " S SU5      n " S S5      nU" [        U 5      5      nU R	                  XCU5      nU R                  [        U5      S5        g )	Nr   rX   rù   c                   ó   • \ rS rSrSrSrg)ÚKTestProvidesClassRepr.test__repr__implementedBy_in_interfaces.<locals>.IFooiÀ  úDoes nothingr   N©r   r   r   r   Ú__doc__r    r   r!   r   r�   rŸ  À  ó   † Ür!   r�   c                   ó   • \ rS rSrSrSrg)ÚJTestProvidesClassRepr.test__repr__implementedBy_in_interfaces.<locals>.BariÃ  r   r   Nr¡  r   r!   r   r&  r¥  Ã  r£  r!   r&  zCdirectlyProvides(Bar, IFoo, classImplements(TestProvidesClassRepr)))rñ   rY   rú   rž  r’   r1   rN  )r   rY   rú   r�   r&  r¥   rp  s          r   Ú'test__repr__implementedBy_in_interfacesÚ=TestProvidesClassRepr.test__repr__implementedBy_in_interfaces¼  sX   € Ý,Ý0ô	�9ô 	÷	ñ 	ñ œT $›ZÓ(ˆà�}‰}˜S¨Ó-ˆØ×ÑÜ�‹Jð6õ	
r!   c                 ón   • U R                  [        U 5      5      nU R                  [        U5      S5        g )Nz'directlyProvides(TestProvidesClassRepr)©r’   rž  r1   rN  ©r   rp  s     r   Útest__repr__empty_interfacesÚ2TestProvidesClassRepr.test__repr__empty_interfacesÐ  s,   € Ø�}‰}œT $›ZÓ(ˆØ×ÑÜ�‹JØ5õ	
r!   c                 ó�   ^ ^• U 4S jm " U4S jS5      nT R                  U" 5       5      nT R                  [        U5      S5        g )Nc                  ó(   >• T R                  S5        g )NzShould not call str)r   r  s   €r   Ústr___dont_call_meÚGTestProvidesClassRepr.test__repr__non_class.<locals>.str___dont_call_meÙ  s   ø€ Ø�I‰IÐ+Õ,r!   c                   ó&   >• \ rS rSrSr Y rS rSrg)Ú;TestProvidesClassRepr.test__repr__non_class.<locals>.ObjectiÜ  r   c                 ó   • g)Nz<Object>r   r  s    r   Ú__repr__ÚDTestProvidesClassRepr.test__repr__non_class.<locals>.Object.__repr__à  s   € Ø!r!   N)r   r   r   r   r–   Ú__str__r´  r    )r¯  s   €r   ÚObjectr²  Ü  s   ø† ØˆIÙ(ˆGõ"r!   r·  zdirectlyProvides(<Object>))r’   r1   rN  )r   r·  rp  r¯  s   `  @r   Útest__repr__non_classÚ+TestProvidesClassRepr.test__repr__non_class×  s<   ù€ õ	-÷	"ô 	"ð �}‰}™V›XÓ&ˆØ×ÑÜ�‹JØ(õ	
r!   c                 ó²   • SSK Jn  SSK Jn  SSKJn  U" S5      nU" U5       " S S5      5       nU" U" 5       5      nU R                  [        U5      S5        g )	Nr   rû   ©r«  r›   r�   c                   ó   • \ rS rSrSrg)ÚDTestProvidesClassRepr.test__repr__providedBy_from_class.<locals>.Fooiï  r   Nr,   r   r!   r   r-   r½  ï  r.   r!   r-   úclassImplements(Foo, IFoo))r0   rü   r«  rZ   rœ   r1   rN  )r   rü   r«  rœ   r�   r-   rp  s          r   Ú!test__repr__providedBy_from_classÚ7TestProvidesClassRepr.test__repr__providedBy_from_classé  sW   € Ý;Ý:Ý;Ù˜fÓ%ˆá	�TÓ	÷	ð 	ó 
ð	ñ ™#›%Ó ˆØ×ÑÜ�‹JØ(õ	
r!   c                 óâ   • SSK Jn  SSK Jn  SSK Jn  SSKJn  U" S5      nU" S5      nU" U5       " S S	5      5       nU" 5       nU" X†5        U" U5      n	U R                  [        U	5      S
5        g )Nr   r�  rû   r»  r›   r�   r»   c                   ó   • \ rS rSrSrg)ÚFTestProvidesClassRepr.test__repr__providedBy_alsoProvides.<locals>.Fooi  r   Nr,   r   r!   r   r-   rÃ    r.   r!   r-   z7directlyProvides(Foo, IBar, classImplements(Foo, IFoo)))r0   r‚  rü   r«  rZ   rœ   r1   rN  )
r   r‚  rü   r«  rœ   r�   r»   r-   r(   rp  s
             r   Ú#test__repr__providedBy_alsoProvidesÚ9TestProvidesClassRepr.test__repr__providedBy_alsoProvidesù  sp   € Ý<Ý;Ý:Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆá	�TÓ	÷	ð 	ó 
ð	ñ ‹eˆÙ�SÔá˜#‹ˆØ×ÑÜ�‹JØEõ	
r!   r   N)r   r   r   r   rŠ   r’   rq  rx  r~  r�  r’  r›  r¦  r«  r¸  r¿  rÄ  r    r   r!   r   rj  rj  E  sD   † òò3ò
ò

ò.ò.
ò`
ò

ò
ò(
ò
ò$
õ 
r!   rj  c                   ó&   • \ rS rSrS rS rS rSrg)ÚTest_Providesi  c                 ó   • SSK Jn  U" U0 UD6$ )Nr   r;  )r0   r<  )r   r�   r‘   r<  s       r   r‘  ÚTest_Provides._callFUT  s   € Ý8Ù˜Ð$ Ñ$Ð$r!   c                 ó  • SSK Jn  SSKJn  U" S5      n0 n " S S5      n[	        XS9   U R                  XS5      nS S S 5        U R                  [        W5      U/5        U R                  XEU4   U5        g ! , (       d  f       NA= f)Nr   r°  r›   r�   c                   ó   • \ rS rSrSrg)Ú.Test_Provides.test_no_cached_spec.<locals>.Fooi  r   Nr,   r   r!   r   r-   rÌ    rC   r!   r-   ©ÚInstanceDeclarations)	rñ   r±  rZ   rœ   Ú_Monkeyr‘  r1   rQ   r  )r   r±  rœ   r�   Úcacher-   rÕ  s          r   Útest_no_cached_specÚ!Test_Provides.test_no_cached_spec  sr   € Ý/Ý;Ù˜fÓ%ˆØˆ÷	ñ 	ô �\Ó>Ø—=‘= Ó+ˆD÷ ?à×Ñœ˜d› d VÔ,Ø�‰�e $˜KÑ(¨$Õ/÷ ?Õ>ús   ªA7Á7
Bc                 óê   • SSK Jn  SSKJn  U" S5      n[	        5       n " S S5      nXS4U0n[        XS9   U R                  XS5      nS S S 5        U R                  WU5        g ! , (       d  f       N!= f)Nr   r°  r›   r�   c                   ó   • \ rS rSrSrg)Ú-Test_Provides.test_w_cached_spec.<locals>.Fooi)  r   Nr,   r   r!   r   r-   rÕ  )  rC   r!   r-   rÍ  )rñ   r±  rZ   rœ   r‚   rÏ  r‘  r  )r   r±  rœ   r�   Úpriorr-   rÐ  rÕ  s           r   Útest_w_cached_specÚ Test_Provides.test_w_cached_spec#  sc   € Ý/Ý;Ù˜fÓ%ˆÜ“ˆ÷	ñ 	ð �˜eÐ$ˆÜ�\Ó>Ø—=‘= Ó+ˆD÷ ?à�‰�d˜EÕ"÷ ?Õ>ús   ·A$Á$
A2r   N)r   r   r   r   r‘  rÑ  r×  r    r   r!   r   rÇ  rÇ    s   † ò%ò0õ#r!   rÇ  c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚTest_directlyProvidesi2  c                 ó   • SSK Jn  U" U0 UD6$ )Nr   rƒ  )r0   r„  )r   r�   r‘   r„  s       r   r‘  ÚTest_directlyProvides._callFUT4  ó   € Ý@Ù Ð,¨Ñ,Ð,r!   c                 óô   • SSK Jn  SSKJn  U" S5      n " S S5      nU" 5       nU R	                  XS5        U R                  UR                  U5        U R                  [        UR                  5      U/5        g )Nr   r-  r›   r�   c                   ó   • \ rS rSrSrg)Ú7Test_directlyProvides.test_w_normal_object.<locals>.Fooi=  r   Nr,   r   r!   r   r-   rà  =  rC   r!   r-   ©	r0   r.  rZ   rœ   r‘  rÖ   r÷  r1   rQ   ©r   r.  rœ   r�   r-   Úobjs         r   Útest_w_normal_objectÚ*Test_directlyProvides.test_w_normal_object8  ól   € Ý=Ý;Ù˜fÓ%ˆ÷	ñ 	ñ ‹eˆØ�‰�cÔ Ø×ÑØ×Ñ˜mô	
ð 	×ÑÜ�×!Ñ!Ó" T Fõ	
r!   c                 óæ   • SSK Jn  SSKJn  U" S5      n " S S5      nU R	                  XC5        U R                  UR                  U5        U R                  [        UR                  5      U/5        g )Nr   rü  r›   r�   c                   ó   • \ rS rSrSrg)Ú/Test_directlyProvides.test_w_class.<locals>.FooiN  r   Nr,   r   r!   r   r-   ré  N  rC   r!   r-   )	r0   rý  rZ   rœ   r‘  rÖ   r÷  r1   rQ   ©r   rý  rœ   r�   r-   s        r   Útest_w_classÚ"Test_directlyProvides.test_w_classI  se   € Ý=Ý;Ù˜fÓ%ˆ÷	ñ 	ð 	�‰�cÔ Ø×ÑØ×Ñ˜mô	
ð 	×ÑÜ�×!Ñ!Ó" T Fõ	
r!   c                 óä   ^• SSK Jn  SSKJn  U" S5      n0 m " U4S jS5      nU" 5       nU R	                  XS5        U R                  TS   U5        U R                  [        TS   5      U/5        g )Nr   r-  r›   r�   c                   ó(   >• \ rS rSrS rU 4S jrSrg)Ú:Test_directlyProvides.test_w_classless_object.<locals>.Fooi_  c                 ó&   • US:X  a  g [        U5      e©Nr  r8   rm  s     r   Ú__getattribute__ÚKTest_directlyProvides.test_w_classless_object.<locals>.Foo.__getattribute__`  s   € à˜;Ó&ØÜ)¨$Ó/Ð/r!   c                 ó   >• UTU'   g r7   r   )r   r0  ÚvalueÚthe_dicts      €r   Ú__setattr__ÚFTest_directlyProvides.test_w_classless_object.<locals>.Foo.__setattr__f  s   ø€ Ø!&�˜’r!   r   N©r   r   r   r   rò  r÷  r    ©rö  s   €r   r-   rï  _  s   ø† ò0÷'ð 'r!   r-   r÷  )r0   r.  rZ   rœ   r‘  rÖ   r1   rQ   )r   r.  rœ   r�   r-   rã  rö  s         @r   Útest_w_classless_objectÚ-Test_directlyProvides.test_w_classless_objectY  sh   ø€ Ý=Ý;Ù˜fÓ%ˆØˆ÷	'ô 	'ñ ‹eˆØ�‰�cÔ Ø×Ñ˜h ~Ñ6¸ÔFØ×Ñœ˜h ~Ñ6Ó7¸$¸Õ@r!   r   N)	r   r   r   r   r‘  rä  rë  rû  r    r   r!   r   rÚ  rÚ  2  s   † ò-ò
ò"
õ Ar!   rÚ  c                   ó&   • \ rS rSrS rS rS rSrg)ÚTest_alsoProvidesio  c                 ó   • SSK Jn  U" U0 UD6$ )Nr   r�  )r0   r‚  )r   r�   r‘   r‚  s       r   r‘  ÚTest_alsoProvides._callFUTq  s   € Ý<Ù˜TÐ( RÑ(Ð(r!   c                 óô   • SSK Jn  SSKJn  U" S5      n " S S5      nU" 5       nU R	                  XS5        U R                  UR                  U5        U R                  [        UR                  5      U/5        g )Nr   r-  r›   r�   c                   ó   • \ rS rSrSrg)Ú8Test_alsoProvides.test_wo_existing_provides.<locals>.Fooiz  r   Nr,   r   r!   r   r-   r  z  rC   r!   r-   rá  râ  s         r   Útest_wo_existing_providesÚ+Test_alsoProvides.test_wo_existing_providesu  ræ  r!   c                 ó   • SSK Jn  SSK Jn  SSKJn  U" S5      nU" S5      n " S S5      nU" 5       nU" Xt5        U R                  Xu5        U R                  UR                  U5        U R                  [        UR                  5      XE/5        g )	Nr   r-  rƒ  r›   r�   r»   c                   ó   • \ rS rSrSrg)Ú7Test_alsoProvides.test_w_existing_provides.<locals>.Fooi�  r   Nr,   r   r!   r   r-   r  �  rC   r!   r-   )
r0   r.  r„  rZ   rœ   r‘  rÖ   r÷  r1   rQ   )r   r.  r„  rœ   r�   r»   r-   rã  s           r   Útest_w_existing_providesÚ*Test_alsoProvides.test_w_existing_provides†  s�   € Ý=Ý@Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆ÷	ñ 	ñ ‹eˆÙ˜Ô#Ø�‰�cÔ Ø×ÑØ×Ñ˜mô	
ð 	×ÑÜ�×!Ñ!Ó" T Lõ	
r!   r   N)r   r   r   r   r‘  r  r	  r    r   r!   r   rþ  rþ  o  s   † ò)ò
õ"
r!   rþ  c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	ÚTest_noLongerProvidesi›  c                 ó   • SSK Jn  U" U0 UD6$ )Nr   )ÚnoLongerProvides)r0   r  )r   r�   r‘   r  s       r   r‘  ÚTest_noLongerProvides._callFUT�  rÝ  r!   c                 ó®   • SSK Jn  U" S5      n " S S5      nU" 5       nU R                  XB5        U R                  [	        UR
                  5      / 5        g )Nr   r›   r�   c                   ó   • \ rS rSrSrg)Ú<Test_noLongerProvides.test_wo_existing_provides.<locals>.Fooi¥  r   Nr,   r   r!   r   r-   r  ¥  rC   r!   r-   )rZ   rœ   r‘  r1   rQ   r÷  )r   rœ   r�   r-   rã  s        r   r  Ú/Test_noLongerProvides.test_wo_existing_provides¡  sL   € Ý;Ù˜fÓ%ˆ÷	ñ 	ñ ‹eˆØ�‰�cÔ Ø×ÑÜ�×!Ñ!Ó" Bõ	
r!   c                 óÊ   • SSK Jn  SSKJn  U" S5      n " S S5      nU" 5       nU" XS5        U R	                  XS5        U R                  [        UR                  5      / 5        g )Nr   rƒ  r›   r�   c                   ó   • \ rS rSrSrg)Ú?Test_noLongerProvides.test_w_existing_provides_hit.<locals>.Fooi³  r   Nr,   r   r!   r   r-   r  ³  rC   r!   r-   ©r0   r„  rZ   rœ   r‘  r1   rQ   r÷  )r   r„  rœ   r�   r-   rã  s         r   Útest_w_existing_provides_hitÚ2Test_noLongerProvides.test_w_existing_provides_hit®  sW   € Ý@Ý;Ù˜fÓ%ˆ÷	ñ 	ñ ‹eˆÙ˜Ô#Ø�‰�cÔ Ø×ÑÜ�×!Ñ!Ó" Bõ	
r!   c                 óÜ   • SSK Jn  SSKJn  U" S5      nU" S5      n " S S5      nU" 5       nU" Xc5        U R	                  Xd5        U R                  [        UR                  5      U/5        g )Nr   rƒ  r›   r�   r»   c                   ó   • \ rS rSrSrg)Ú@Test_noLongerProvides.test_w_existing_provides_miss.<locals>.FooiÃ  r   Nr,   r   r!   r   r-   r  Ã  rC   r!   r-   r  )r   r„  rœ   r�   r»   r-   rã  s          r   Útest_w_existing_provides_missÚ3Test_noLongerProvides.test_w_existing_provides_miss½  sc   € Ý@Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆ÷	ñ 	ñ ‹eˆÙ˜Ô#Ø�‰�cÔ Ø×ÑÜ�×!Ñ!Ó" T Fõ	
r!   c                 ó¦   • SSK Jn  SSKJn  U" S5      nU" U5       " S S5      5       nU" 5       nU R	                  [
        U R                  XS5        g )Nr   rû   r›   r�   c                   ó   • \ rS rSrSrg)ÚDTest_noLongerProvides.test_w_iface_implemented_by_class.<locals>.FooiÒ  r   Nr,   r   r!   r   r-   r!  Ò  r.   r!   r-   )r0   rü   rZ   rœ   r  r  r‘  )r   rü   rœ   r�   r-   rã  s         r   Ú!test_w_iface_implemented_by_classÚ7Test_noLongerProvides.test_w_iface_implemented_by_classÍ  sM   € Ý;Ý;Ù˜fÓ%ˆá	�TÓ	÷	ð 	ó 
ð	ñ ‹eˆØ×Ñœ* d§m¡m°SÕ?r!   r   N)
r   r   r   r   r‘  r  r  r  r"  r    r   r!   r   r  r  ›  s   † ò-ò
ò
ò
õ 
@r!   r  c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	ÚClassProvidesBaseFallbackTestsiÚ  c                 ó   • SSK Jn  U$ ©Nr   )ÚClassProvidesBaseFallback©r0   r(  ©r   r(  s     r   rŠ   Ú.ClassProvidesBaseFallbackTests._getTargetClassÜ  ó   € åIØ(Ð(r!   c                 óD   •  " S SU R                  5       5      nU" X5      $ )Nc                   ó   • \ rS rSrS rSrg)Ú8ClassProvidesBaseFallbackTests._makeOne.<locals>.Derivediå  c                 ó   • Xl         X l        g r7   ©Ú_clsÚ_implements)r   ÚkÚis      r   rj  ÚAClassProvidesBaseFallbackTests._makeOne.<locals>.Derived.__init__æ  s   € Ø”	Ø#$Õ r!   r1  N)r   r   r   r   rj  r    r   r!   r   r  r/  å  s   † õ%r!   r  rŽ   )r   r?  Ú
implementsr  s       r   r’   Ú'ClassProvidesBaseFallbackTests._makeOneá  s$   € ô	%�d×*Ñ*Ó,ô 	%ñ
 �uÓ)Ð)r!   c                 óš   • SSK Jn  U" S5      n " S S5      nU R                  X25      =oCl        U R	                  UR                  U5        g )Nr   r›   r�   c                   ó   • \ rS rSrSrg)ÚGClassProvidesBaseFallbackTests.test_w_same_class_via_class.<locals>.Fooið  r   Nr,   r   r!   r   r-   r;  ð  rC   r!   r-   rD  )r   rœ   r�   r-   Úcpbps        r   Útest_w_same_class_via_classÚ:ClassProvidesBaseFallbackTests.test_w_same_class_via_classì  sC   € Ý;Ù˜fÓ%ˆ÷	ñ 	ð #'§-¡-°Ó":Ð:ˆÔØ�‰�c×&Ñ&¨Õ-r!   c                 ó¦   • SSK Jn  U" S5      n " S S5      nU" 5       nU R                  X25      Ul        U R	                  UR                  U5        g )Nr   r›   r�   c                   ó   • \ rS rSrSrg)ÚJClassProvidesBaseFallbackTests.test_w_same_class_via_instance.<locals>.Fooiú  r   Nr,   r   r!   r   r-   rA  ú  rC   r!   r-   rD  )r   rœ   r�   r-   r(   s        r   Útest_w_same_class_via_instanceÚ=ClassProvidesBaseFallbackTests.test_w_same_class_via_instanceö  sG   € Ý;Ù˜fÓ%ˆ÷	ñ 	ñ ‹eˆØŸ=™=¨Ó3ˆÔØ�‰�c×&Ñ&¨Õ-r!   c                 óô   • SSK Jn  U" S5      n " S S5      n " S SU5      nU" 5       nU R                  X25      Ul        U R	                  [
        [        US5        U R	                  [
        [        US5        g )	Nr   r›   r�   c                   ó   • \ rS rSrSrg)ÚBClassProvidesBaseFallbackTests.test_w_different_class.<locals>.Fooi  r   Nr,   r   r!   r   r-   rF    rC   r!   r-   c                   ó   • \ rS rSrSrg)ÚBClassProvidesBaseFallbackTests.test_w_different_class.<locals>.Bari  r   Nr,   r   r!   r   r&  rH    rC   r!   r&  r÷  )rZ   rœ   r’   r÷  r  rM  Úgetattr)r   rœ   r�   r-   r&  Úbars         r   Útest_w_different_classÚ5ClassProvidesBaseFallbackTests.test_w_different_class  sg   € Ý;Ù˜fÓ%ˆ÷	ñ 	ô	�#ô 	ñ ‹eˆØŸ=™=¨Ó3ˆÔØ×Ñœ.¬'°3¸ÔGØ×Ñœ.¬'°3¸ÕGr!   r   N)
r   r   r   r   rŠ   r’   r=  rB  rK  r    r   r!   r   r%  r%  Ú  s   † ò)ò
	*ò.ò	.õHr!   r%  c                   ó    • \ rS rSrS rS rSrg)ÚClassProvidesBaseTestsi  c                 ó   • SSK Jn  U$ )Nr   )ÚClassProvidesBase)r0   rP  )r   rP  s     r   rŠ   Ú&ClassProvidesBaseTests._getTargetClass  s   € ÝAØ Ð r!   c                 ó   • SSK Jn  U$ r'  r)  r*  s     r   ro  Ú(ClassProvidesBaseTests._getFallbackClass  r,  r!   r   N)r   r   r   r   rŠ   ro  r    r   r!   r   rN  rN    s   † ò!õ)r!   rN  c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚClassProvidesTestsi"  c                 ó   • SSK Jn  U$ ©Nr   rü  ©r0   rý  ©r   rý  s     r   rŠ   Ú"ClassProvidesTests._getTargetClass$  rv  r!   c                 ó.   • U R                  5       " U0 UD6$ r7   rŽ   r�   s      r   r’   ÚClassProvidesTests._makeOne(  r”   r!   c                 ó8  • SSK Jn  SSKJn  U" S5      nU" S5      nU" U5       " S S5      5       nU R	                  U[        U5      U5      =oel        U R                  UR                  U5        U R                  [        U" 5       R                  5      U/5        g )Nr   rû   r›   r�   r»   c                   ó   • \ rS rSrSrg)Ú7ClassProvidesTests.test_w_simple_metaclass.<locals>.Fooi1  r   Nr,   r   r!   r   r-   r_  1  r.   r!   r-   )
r0   rü   rZ   rœ   r’   rž  r÷  r  r1   rQ   ©r   rü   rœ   r�   r»   r-   Úcps          r   Útest_w_simple_metaclassÚ*ClassProvidesTests.test_w_simple_metaclass+  s‰   € Ý;Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆá	�TÓ	÷	ð 	ó 
ð	ð !%§¡¨c´4¸³9¸dÓ CÐCˆÔØ�‰�c×&Ñ&¨Ô+Ø×Ñœ™c›e×0Ñ0Ó1°D°6Õ:r!   c                 ó  • SSK Jn  SSKJn  U" S5      nU" S5      nU" U5       " S S5      5       nU R	                  U[        U5      U5      =oel        U R                  UR                  5       [        U5      U[        U5      U445        g )Nr   rû   r›   r�   r»   c                   ó   • \ rS rSrSrg)Ú/ClassProvidesTests.test___reduce__.<locals>.Fooi?  r   Nr,   r   r!   r   r-   rf  ?  r.   r!   r-   )	r0   rü   rZ   rœ   r’   rž  r÷  r1   rR  r`  s          r   rS  Ú"ClassProvidesTests.test___reduce__9  sƒ   € Ý;Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆá	�TÓ	÷	ð 	ó 
ð	ð !%§¡¨c´4¸³9¸dÓ CÐCˆÔØ×Ñ˜Ÿ™›Ü˜r›( S¬$¨s«)°TÐ$:Ð;õ	=r!   r   N)	r   r   r   r   rŠ   r’   rb  rS  r    r   r!   r   rU  rU  "  s   † òò3ò;õ=r!   rU  c                   ó.   ^ • \ rS rSrU 4S jrS rSrU =r$ )ÚClassProvidesStrictTestsiH  c                 óB   >^• [         TU ]  5       m " U4S jST5      nU$ )Nc                   ó"   >• \ rS rSrU 4S jrSrg)ÚEClassProvidesStrictTests._getTargetClass.<locals>.StrictClassProvidesiN  c                 ó$   >• TR                  XSS9$ rV  rX  )r   rW  rý  s     €r   rY  ÚVClassProvidesStrictTests._getTargetClass.<locals>.StrictClassProvides._do_calculate_roO  r[  r!   r   Nr\  rü  s   €r   ÚStrictClassProvidesrl  N  r^  r!   ro  r_  )r   ro  rý  r  s     @€r   rŠ   Ú(ClassProvidesStrictTests._getTargetClassK  s$   ù€ Ü™Ñ/Ó1ˆ÷	 -ô 	ð #Ð"r!   c           
      ó,  • SSK Jn  SSK Jn  SSK Jn   " S SU5      nU" U5       " S S[        5      5       nU" S	[
        40 5      nU R                  XeU5      nU R                  UR                  UU" U5      UU" [        5      U" [
        5      U45        g )
Nr   rX   rù   rû   c                   ó   • \ rS rSrSrg)ÚMClassProvidesStrictTests.test_overlapping_interfaces_corrected.<locals>.IBasei]  r   Nr,   r   r!   r   rï   rs  ]  rC   r!   rï   c                   ó   • \ rS rSrSrg)ÚQClassProvidesStrictTests.test_overlapping_interfaces_corrected.<locals>.metaclassi`  r   Nr,   r   r!   r   Ú	metaclassru  `  r.   r!   rv  r{  )	rñ   rY   rú   rü   rž  r‚   r’   r1   rp   )r   rY   rú   rü   rï   rv  r{  rÕ  s           r   rf  Ú>ClassProvidesStrictTests.test_overlapping_interfaces_correctedV  sœ   € õ 	-Ý0Ý.ô	�Iô 	ñ 
�UÓ	ô	œó 	ó 
ð	ñ ØÜˆIØó
ˆð �}‰}˜S¨UÓ3ˆØ×Ñ˜Ÿ™ØÙ˜)Ó$ØÙœ$ÓÙœ&Ó!Øð(
õ 	r!   r   rh  rq  s   @r   ri  ri  H  s   ø† õ	#÷ð r!   ri  c                   ó>   • \ rS rSrS rS rS rS rS rS r	S r
S	rg
)ÚTestClassProvidesRepriu  c                 ó   • SSK Jn  U$ rW  rX  rY  s     r   rŠ   Ú%TestClassProvidesRepr._getTargetClassw  rv  r!   c                 ó.   • U R                  5       " U0 UD6$ r7   rŽ   r�   s      r   r’   ÚTestClassProvidesRepr._makeOne{  r”   r!   c                 óx   • U R                  [        U 5      [        5      nU R                  [        U5      S5        g )Nz'directlyProvides(TestClassProvidesRepr)r©  rª  s     r   Útest__repr__emptyÚ'TestClassProvidesRepr.test__repr__empty~  s.   € Ø�}‰}œT $›Z¬Ó.ˆØ×ÑÜ�‹JØ5õ	
r!   c                 óœ   • SSK Jn   " S SU5      nU R                  [        U 5      [        U5      nU R	                  [        U5      S5        g )Nr   rX   c                   ó   • \ rS rSrSrSrg)Ú=TestClassProvidesRepr.test__repr__providing_one.<locals>.IFooiˆ  r   r   Nr¡  r   r!   r   r�   rƒ  ˆ  r£  r!   r�   z-directlyProvides(TestClassProvidesRepr, IFoo))rñ   rY   r’   rž  r1   rN  )r   rY   r�   rp  s       r   Útest__repr__providing_oneÚ/TestClassProvidesRepr.test__repr__providing_one…  sA   € Ý,ô	�9ô 	ð �}‰}œT $›Z¬¨tÓ4ˆØ×ÑÜ�‹JØ;õ	
r!   c                 ó´   • SSK Jn  U" SSS9nU" SSS9nU" S5      nU R                  [        U 5      [        X$U5      nU R	                  [        U5      S5        g )	Nr   r›   r�   r•  r–  r—  ræ   z>directlyProvides(TestClassProvidesRepr, IFoo, IBaz, mod2.IFoo)r˜  r™  s         r   r›  Ú1TestClassProvidesRepr.test__repr__duplicate_names‘  sW   € Ý;Ù˜f°Ñ8ˆÙ˜v°&Ñ9ˆÙ˜fÓ%ˆà�}‰}œT $›Z¬¨t¸5ÓAˆØ×ÑÜ�‹JØLõ	
r!   c                 ó¨   • SSK Jn  SSK Jn  SSKJn  U" S5      nU" U5       " S S5      5       nU" U5      nU R                  [        U5      S5        g )	Nr   rù   rû   r›   r�   c                   ó   • \ rS rSrSrg)Ú<TestClassProvidesRepr.test__repr__implementedBy.<locals>.Fooi£  r   Nr,   r   r!   r   r-   rŠ  £  r.   r!   r-   r¾  )r0   rú   rü   rZ   rœ   r1   rN  )r   rú   rü   rœ   r�   r-   rp  s          r   Útest__repr__implementedByÚ/TestClassProvidesRepr.test__repr__implementedBy�  sU   € Ý=Ý;Ý;Ù˜fÓ%ˆá	�TÓ	÷	ð 	ó 
ð	ñ ˜SÓ!ˆØ×ÑÜ�‹JØ(õ	
r!   c                 óæ   • SSK Jn   " S S5      nU" U" 5       5      nU R                  [        U5      S[         S35        U" 5       nSUl        U" U5      nU R                  [        U5      S5        g )Nr   rù   c                   ó   • \ rS rSrS rSrg)ÚRTestClassProvidesRepr.test__repr__implementedBy_generic_callable.<locals>.Callablei²  c                 ó   • U $ r7   r   r  s    r   r©  Ú[TestClassProvidesRepr.test__repr__implementedBy_generic_callable.<locals>.Callable.__call__³  s   € Ø�r!   r   N)r   r   r   r   r©  r    r   r!   r   ÚCallabler�  ²  s   † õr!   r’  rÐ  z.?)zclassImplements(Callable))r0   rú   r1   rN  r   )r   rú   r’  rp  Úcs        r   Ú*test__repr__implementedBy_generic_callableÚ@TestClassProvidesRepr.test__repr__implementedBy_generic_callable­  sp   € Ý=÷	ñ 	ñ ™X›ZÓ(ˆØ×ÑÜ�‹JØœx˜j¨Ð,ô	
ñ
 ‹JˆØˆŒ
Ù˜QÓˆØ×ÑÜ�‹JØ'õ	
r!   r   N)r   r   r   r   rŠ   r’   r  r„  r›  r‹  r”  r    r   r!   r   ry  ry  u  s%   † òò3ò
ò

ò

ò
õ 
r!   ry  c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	ÚTest_directlyProvidedByiÅ  c                 ó   • SSK Jn  U" U0 UD6$ )Nr   )ÚdirectlyProvidedBy)r0   r™  )r   r�   r‘   r™  s       r   r‘  Ú Test_directlyProvidedBy._callFUTÇ  rè  r!   c                 óz   •  " S S5      nU" 5       nU R                  [        U R                  U5      5      / 5        g )Nc                   ó   • \ rS rSrSrg)ÚNTest_directlyProvidedBy.test_wo_declarations_in_class_or_instance.<locals>.FooiÍ  r   Nr,   r   r!   r   r-   r�  Í  rC   r!   r-   rá  r›  s      r   Ú)test_wo_declarations_in_class_or_instanceÚATest_directlyProvidedBy.test_wo_declarations_in_class_or_instanceË  s3   € ÷	ñ 	ñ ‹eˆØ×Ñœ˜dŸm™m¨CÓ0Ó1°2Õ6r!   c                 ó¸   • SSK Jn  SSKJn  U" S5      nU" U5       " S S5      5       nU" 5       nU R	                  [        U R                  U5      5      / 5        g )Nr   rû   r›   r�   c                   ó   • \ rS rSrSrg)ÚRTest_directlyProvidedBy.test_w_declarations_in_class_but_not_instance.<locals>.FooiØ  r   Nr,   r   r!   r   r-   r¢  Ø  r.   r!   r-   )r0   rü   rZ   rœ   r1   rQ   r‘  )r   rü   rœ   r�   r-   r(   s         r   Ú-test_w_declarations_in_class_but_not_instanceÚETest_directlyProvidedBy.test_w_declarations_in_class_but_not_instanceÓ  sU   € Ý;Ý;Ù˜fÓ%ˆá	�TÓ	÷	ð 	ó 
ð	ñ ‹eˆØ×Ñœ˜dŸm™m¨CÓ0Ó1°2Õ6r!   c                 ó´   • SSK Jn  SSKJn  U" S5      n " S S5      nU" 5       nU" XS5        U R	                  [        U R                  U5      5      U/5        g )Nr   rƒ  r›   r�   c                   ó   • \ rS rSrSrg)ÚRTest_directlyProvidedBy.test_w_declarations_in_instance_but_not_class.<locals>.Fooiä  r   Nr,   r   r!   r   r-   r§  ä  rC   r!   r-   )r0   r„  rZ   rœ   r1   rQ   r‘  )r   r„  rœ   r�   r-   r(   s         r   Ú-test_w_declarations_in_instance_but_not_classÚETest_directlyProvidedBy.test_w_declarations_in_instance_but_not_classß  sM   € Ý@Ý;Ù˜fÓ%ˆ÷	ñ 	ñ ‹eˆÙ˜Ô#Ø×Ñœ˜dŸm™m¨CÓ0Ó1°D°6Õ:r!   c                 óæ   • SSK Jn  SSK Jn  SSKJn  U" S5      nU" S5      nU" U5       " S S5      5       nU" 5       nU" Xu5        U R                  [        U R                  U5      5      U/5        g )	Nr   rƒ  rû   r›   r�   r»   c                   ó   • \ rS rSrSrg)ÚNTest_directlyProvidedBy.test_w_declarations_in_instance_and_class.<locals>.Fooiò  r   Nr,   r   r!   r   r-   r¬  ò  r.   r!   r-   )r0   r„  rü   rZ   rœ   r1   rQ   r‘  )r   r„  rü   rœ   r�   r»   r-   r(   s           r   Ú)test_w_declarations_in_instance_and_classÚATest_directlyProvidedBy.test_w_declarations_in_instance_and_classë  sl   € Ý@Ý;Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆá	�TÓ	÷	ð 	ó 
ð	ñ ‹eˆÙ˜Ô#Ø×Ñœ˜dŸm™m¨CÓ0Ó1°D°6Õ:r!   r   N)
r   r   r   r   r‘  rž  r£  r¨  r­  r    r   r!   r   r—  r—  Å  s   † ò/ò7ò
7ò
;õ;r!   r—  c                   ó&   • \ rS rSrS rS rS rSrg)ÚTest_provideriû  c                 ó   • SSK Jn  U$ )Nr   )Úprovider)r0   r²  )r   r²  s     r   rŠ   ÚTest_provider._getTargetClassý  s
   € Ý8Øˆr!   c                 ó.   • U R                  5       " U0 UD6$ r7   rŽ   r�   s      r   r’   ÚTest_provider._makeOne  r”   r!   c                 óì   • SSK Jn  SSKJn  U" S5      nU R	                  U5       " S S5      5       nU R                  UR                  U5        U R                  [        UR                  5      U/5        g )Nr   rü  r›   r�   c                   ó   • \ rS rSrSrg)Ú'Test_provider.test_w_class.<locals>.Fooi	  r   Nr,   r   r!   r   r-   r¸  	  r.   r!   r-   )	r0   rý  rZ   rœ   r’   rÖ   r÷  r1   rQ   rê  s        r   rë  ÚTest_provider.test_w_class  so   € Ý=Ý;Ù˜fÓ%ˆà	�‰�tÓ	÷	ð 	ó 
ð	ð 	×ÑØ×Ñ˜mô	
ð 	×ÑÜ�×!Ñ!Ó" T Fõ	
r!   r   N)r   r   r   r   rŠ   r’   rë  r    r   r!   r   r°  r°  û  s   † òò3õ
r!   r°  c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚTest_moduleProvidesi  c                 ó®   • SSK Jn  SSKJn  U" S5      nSXS.n0 nSR	                  SS	/5      n[        XdU5        US
   nU R                  [        U5        g )Nr   ©ÚmoduleProvidesr›   r�   úzope.interface.tests.foo©r   r¾  r�   Ú
z
def foo():ú    moduleProvides(IFoo)r(   )r0   r¾  rZ   rœ   Újoinr   r  r   )r   r¾  rœ   r�   r   r   ÚCODEr(   s           r   Útest_called_from_functionÚ-Test_moduleProvides.test_called_from_function  sc   € Ý>Ý;Ù˜fÓ%ˆØ7Ø#1ñAˆàˆØ�y‰yØØ&ð
ó ˆô 	ˆT˜$ÔØ�5‰kˆØ×Ñœ) SÕ)r!   c                 óÖ   • SSK Jn  SSKJn  U" S5      nSXS.n0 nSR	                  SS	/5      nU R                  [        5         [        XdU5        S S S 5        g ! , (       d  f       g = f)
Nr   r½  r›   r�   r¿  rÀ  rÁ  zclass Foo(object):rÂ  ©r0   r¾  rZ   rœ   rÃ  r  r   r   )r   r¾  rœ   r�   r   r   rÄ  s          r   Útest_called_from_classÚ*Test_moduleProvides.test_called_from_class'  sd   € Ý>Ý;Ù˜fÓ%ˆØ7Ø#1ñAˆàˆØ�y‰yØ Ø&ð
ó ˆð ×ÑœyÕ)Ü�˜dÔ#÷ *×)Ö)ús   ÁAÁ
A(c                 ó²   • SSK Jn  SSKJn  U" S5      nSXS.nSR	                  S/5      n[        XT5        US	   nU R                  [        U5      U/5        g )
Nr   r½  r›   r�   r¿  rÀ  rÁ  úmoduleProvides(IFoo)r÷  )r0   r¾  rZ   rœ   rÃ  r   r1   rQ   )r   r¾  rœ   r�   r   rÄ  rÕ  s          r   Ú"test_called_once_from_module_scopeÚ6Test_moduleProvides.test_called_once_from_module_scope5  s`   € Ý>Ý;Ù˜fÓ%ˆØ7Ø#1ñAˆà�y‰yØ"ð
ó ˆô 	ˆTÔØ�^Ñ$ˆØ×Ñœ˜d› d VÕ,r!   c                 óÐ   • SSK Jn  SSKJn  U" S5      nSXS.nSR	                  SS/5      nU R                  [        5         [        XT5        S S S 5        g ! , (       d  f       g = f)	Nr   r½  r›   r�   r¿  rÀ  rÁ  rÌ  rÈ  )r   r¾  rœ   r�   r   rÄ  s         r   Ú#test_called_twice_from_module_scopeÚ7Test_moduleProvides.test_called_twice_from_module_scopeB  s_   € Ý>Ý;Ù˜fÓ%ˆØ7Ø#1ñAˆð �y‰yØ"Ø"ð
ó ˆð ×ÑœyÕ)Ü�Ô÷ *×)Ö)ús   ÁAÁ
A%r   N)	r   r   r   r   rÅ  rÉ  rÍ  rÐ  r    r   r!   r   r»  r»    s   † ò*ò$ò-õr!   r»  c                   ó`   • \ rS rSrS r\rS rS rS rS r	S r
S rS	 rS
 rS rS rS rSrg)Ú#Test_getObjectSpecificationFallbackiQ  c                 ó   • SSK Jn  U$ )Nr   )ÚgetObjectSpecificationFallback)r0   rÕ  )r   rÕ  s     r   ro  Ú5Test_getObjectSpecificationFallback._getFallbackClassS  s   € åNØ-Ð-r!   c                 ó.   • U R                  5       " U0 UD6$ r7   rŽ   r�   s      r   r‘  Ú,Test_getObjectSpecificationFallback._callFUTZ  r”   r!   c                 óŠ   ^• 0 m " U4S jS5      nU" 5       nU R                  U5      nU R                  [        U5      / 5        g )Nc                   ó(   >• \ rS rSrU 4S jrS rSrg)ÚTTest_getObjectSpecificationFallback.test_wo_existing_provides_classless.<locals>.Fooi`  c                 ód   >• US:X  a  [        U5      e TU   $ ! [         a    [        U5      ef = frñ  )rM  ÚKeyError)r   r0  rö  s     €r   rò  ÚeTest_getObjectSpecificationFallback.test_wo_existing_provides_classless.<locals>.Foo.__getattribute__a  s?   ø€ à˜;Ó&Ü(¨Ó.Ð.ð/Ø# D™>Ð)øÜó /Ü(¨Ó.Ð.ð/ús   ” ™/c                 ó   • [        5       er7   r8   )r   r0  rõ  s      r   r÷  Ú`Test_getObjectSpecificationFallback.test_wo_existing_provides_classless.<locals>.Foo.__setattr__j  rp  r!   r   Nrù  rú  s   €r   r-   rÛ  `  s   ø† õ/õ,r!   r-   ©r‘  r1   rQ   )r   r-   r(   rÕ  rö  s       @r   Ú#test_wo_existing_provides_classlessÚGTest_getObjectSpecificationFallback.test_wo_existing_provides_classless]  s=   ø€ Øˆ÷	,ô 	,ñ ‹eˆØ�}‰}˜SÓ!ˆØ×Ñœ˜d› RÕ(r!   c                 óš   • SSK Jn  SSKJn  U" S5      nS nU" XC5        U R	                  U5      nU R                  XTR                  5        g )Nr   rƒ  r›   r�   c                  ó   • [        5       er7   r8   r   r!   r   r(   ÚOTest_getObjectSpecificationFallback.test_existing_provides_is_spec.<locals>.foov  r  r!   )r0   r„  rZ   rœ   r‘  r  r÷  )r   r„  rœ   r�   r(   rÕ  s         r   Útest_existing_provides_is_specÚBTest_getObjectSpecificationFallback.test_existing_provides_is_specq  sA   € Ý@Ý;Ù˜fÓ%ˆò	(ñ 	˜Ô#Ø�}‰}˜SÓ!ˆØ�‰�d×,Ñ,Õ-r!   c                 ó€   • S n[        5       Ul        U R                  U5      nU R                  [	        U5      / 5        g )Nc                  ó   • [        5       er7   r8   r   r!   r   r(   ÚSTest_getObjectSpecificationFallback.test_existing_provides_is_not_spec.<locals>.foo  r  r!   )r‚   r÷  r‘  r1   rQ   )r   r(   rÕ  s      r   Ú"test_existing_provides_is_not_specÚFTest_getObjectSpecificationFallback.test_existing_provides_is_not_spec}  s5   € ò	(ô "›8ˆÔØ�}‰}˜SÓ!ˆØ×Ñœ˜d› RÕ(r!   c                 ó¸   • SSK Jn  SSKJn  U" S5      n " S S5      nU" 5       nU" XS5        U R	                  U5      nU R                  [        U5      U/5        g )Nr   rƒ  r›   r�   c                   ó   • \ rS rSrSrg)ÚGTest_getObjectSpecificationFallback.test_existing_provides.<locals>.Fooi‹  r   Nr,   r   r!   r   r-   rð  ‹  rC   r!   r-   )r0   r„  rZ   rœ   r‘  r1   rQ   )r   r„  rœ   r�   r-   r(   rÕ  s          r   Útest_existing_providesÚ:Test_getObjectSpecificationFallback.test_existing_provides†  sQ   € Ý@Ý;Ù˜fÓ%ˆ÷	ñ 	ñ ‹eˆÙ˜Ô#Ø�}‰}˜SÓ!ˆØ×Ñœ˜d› d VÕ,r!   c                 ó¾   • SSK Jn  SSKJn  U" S5      nU" U5       " S S5      5       nU" 5       nU R	                  U5      nU R                  [        U5      U/5        g )Nr   rû   r›   r�   c                   ó   • \ rS rSrSrg)ÚWTest_getObjectSpecificationFallback.test_wo_provides_on_class_w_implements.<locals>.Fooi˜  r   Nr,   r   r!   r   r-   rõ  ˜  r.   r!   r-   )r0   rü   rZ   rœ   r‘  r1   rQ   ©r   rü   rœ   r�   r-   r(   rÕ  s          r   Ú&test_wo_provides_on_class_w_implementsÚJTest_getObjectSpecificationFallback.test_wo_provides_on_class_w_implements“  s[   € Ý;Ý;Ù˜fÓ%ˆá	�TÓ	÷	ð 	ó 
ð	ñ ‹eˆØ�}‰}˜SÓ!ˆØ×Ñœ˜d› d VÕ,r!   c                 ó~   •  " S S5      nU" 5       nU R                  U5      nU R                  [        U5      / 5        g )Nc                   ó   • \ rS rSrSrg)ÚXTest_getObjectSpecificationFallback.test_wo_provides_on_class_wo_implements.<locals>.Fooi¢  r   Nr,   r   r!   r   r-   rû  ¢  rC   r!   r-   rá  ©r   r-   r(   rÕ  s       r   Ú'test_wo_provides_on_class_wo_implementsÚKTest_getObjectSpecificationFallback.test_wo_provides_on_class_wo_implements   ó7   € ÷	ñ 	ñ ‹eˆØ�}‰}˜SÓ!ˆØ×Ñœ˜d› RÕ(r!   c                 óB   • [         R                  " X R                  SS9  g )Nr÷  ©Úexpected_missing©r   Útest_raisesr‘  r  s    r   Ú,test_catches_only_AttributeError_on_providesÚPTest_getObjectSpecificationFallback.test_catches_only_AttributeError_on_provides©  s   € Ü×$Ò$Ø—-‘-°.ó	
r!   c                 óF   • [         R                  " U U R                  SS S9  g )Nr  )r  r÷  r  r  s    r   Ú)test_catches_only_AttributeError_on_classÚMTest_getObjectSpecificationFallback.test_catches_only_AttributeError_on_class®  s    € Ü×$Ò$ØØ�M‰MØ(Øó		
r!   c                 óD   •  " S S5      nU R                  U" 5       5        g )Nc                   ó$   • \ rS rSr\" \5      rSrg)ÚlTest_getObjectSpecificationFallback.test_raises_AttrError_w_provides_fails_type_check_AttrError.<locals>.Fooiº  r   N)r   r   r   r   r   rM  r÷  r    r   r!   r   r-   r  º  s   † Ù+¨NÓ;‹Lr!   r-   )r‘  râ  s     r   Ú;test_raises_AttrError_w_provides_fails_type_check_AttrErrorÚ_Test_getObjectSpecificationFallback.test_raises_AttrError_w_provides_fails_type_check_AttrError¶  s   € ÷	<ñ 	<ð 	�‰‘c“eÕr!   c                 óô   •  " S S5      nU R                  [        5       nU R                  U" 5       5        S S S 5        U R                  SWR                  R
                  S   5        g ! , (       d  f       N8= f)Nc                   ó$   • \ rS rSr\" \5      rSrg)ÚoTest_getObjectSpecificationFallback.test_raises_AttrError_w_provides_fails_type_check_RuntimeError.<locals>.FooiÃ  r   N)r   r   r   r   r   ÚRuntimeErrorr÷  r    r   r!   r   r-   r  Ã  s   † Ù+¨LÓ9‹Lr!   r-   r  r   )r  r  r‘  r1   Ú	exceptionr�   )r   r-   Úexcs      r   Ú>test_raises_AttrError_w_provides_fails_type_check_RuntimeErrorÚbTest_getObjectSpecificationFallback.test_raises_AttrError_w_provides_fails_type_check_RuntimeErrorÀ  s[   € ÷	:ñ 	:ð ×Ñœ|Ô,°Ø�M‰M™#›%Ô ÷ -ð 	×Ñ˜ c§m¡m×&8Ñ&8¸Ñ&;Õ<÷ -Õ,ús    A)Á)
A7r   N)r   r   r   r   ro  rŠ   r‘  râ  rç  rì  rñ  r÷  rý  r  r  r  r  r    r   r!   r   rÓ  rÓ  Q  sE   † ò.ð
 (€Oò3ò)ò(
.ò)ò-ò-ò)ò
ò

òõ	=r!   rÓ  c                   ó   • \ rS rSrS rSrg)ÚTest_getObjectSpecificationiÌ  c                 ó   • SSK Jn  U$ )Nr   )ÚgetObjectSpecification)r0   r  )r   r  s     r   rŠ   Ú+Test_getObjectSpecification._getTargetClassÐ  s   € ÝFØ%Ð%r!   r   Nrw  r   r!   r   r  r  Ì  s   † õ&r!   r  c                   óž   ^ • \ rS rSrS r\rS rS rS rS r	S r
S rS	 rS
 rU 4S jrU 4S jrU 4S jrU 4S jrU 4S jrS rS rSrU =r$ )ÚTest_providedByFallbackiÕ  c                 ó   • SSK Jn  U$ )Nr   )ÚprovidedByFallback)r0   r  )r   r  s     r   ro  Ú)Test_providedByFallback._getFallbackClass×  s   € åBØ!Ð!r!   c                 ó.   • U R                  5       " U0 UD6$ r7   rŽ   r�   s      r   r‘  Ú Test_providedByFallback._callFUTÞ  r”   r!   c                 ó~   •  " S S5      nU" 5       nU R                  U5      nU R                  [        U5      / 5        g )Nc                   ó   • \ rS rSrSrg)ÚNTest_providedByFallback.test_wo_providedBy_on_class_wo_implements.<locals>.Fooiã  r   Nr,   r   r!   r   r-   r%  ã  rC   r!   r-   rá  rü  s       r   Ú)test_wo_providedBy_on_class_wo_implementsÚATest_providedByFallback.test_wo_providedBy_on_class_wo_implementsá  rÿ  r!   c                 óÂ   • SSK Jn  SSKJn  U" S5      n " S S5      nU" 5       nU" XC5      Ul        U R                  U5      nU R                  [        U5      U/5        g )Nr   r;  r›   r�   c                   ó   • \ rS rSrSrg)ÚATest_providedByFallback.test_w_providedBy_valid_spec.<locals>.Fooiï  r   Nr,   r   r!   r   r-   r*  ï  rC   r!   r-   )r0   r<  rZ   rœ   rø  r‘  r1   rQ   )r   r<  rœ   r�   r-   r(   rÕ  s          r   Útest_w_providedBy_valid_specÚ4Test_providedByFallback.test_w_providedBy_valid_specê  sV   € Ý8Ý;Ù˜fÓ%ˆ÷	ñ 	ñ ‹eˆÙ% cÓ0ˆÔØ�}‰}˜SÓ!ˆØ×Ñœ˜d› d VÕ,r!   c                 óœ   •  " S S5      nU" 5       n[        5       Ul        U R                  U5      nU R                  [	        U5      / 5        g )Nc                   ó   • \ rS rSrSrg)ÚCTest_providedByFallback.test_w_providedBy_invalid_spec.<locals>.Fooiù  r   Nr,   r   r!   r   r-   r/  ù  rC   r!   r-   )r‚   rø  r‘  r1   rQ   rü  s       r   Útest_w_providedBy_invalid_specÚ6Test_providedByFallback.test_w_providedBy_invalid_spec÷  sA   € ÷	ñ 	ñ ‹eˆÜ#›XˆÔØ�}‰}˜SÓ!ˆØ×Ñœ˜d› RÕ(r!   c                 óÜ   • SSK Jn  SSKJn  U" S5      nU" U5       " S S5      5       nU" 5       n[	        5       Ul        U R                  U5      nU R                  [        U5      U/5        g )Nr   rû   r›   r�   c                   ó   • \ rS rSrSrg)ÚVTest_providedByFallback.test_w_providedBy_invalid_spec_class_w_implements.<locals>.Fooi	  r   Nr,   r   r!   r   r-   r4  	  r.   r!   r-   )	r0   rü   rZ   rœ   r‚   rø  r‘  r1   rQ   rö  s          r   Ú1test_w_providedBy_invalid_spec_class_w_implementsÚITest_providedByFallback.test_w_providedBy_invalid_spec_class_w_implements	  se   € Ý;Ý;Ù˜fÓ%ˆá	�TÓ	÷	ð 	ó 
ð	ñ ‹eˆÜ#›XˆÔØ�}‰}˜SÓ!ˆØ×Ñœ˜d› d VÕ,r!   c                 ó¨   •  " S S5      nU" 5       n[        5       Ul        [        5       =o2l        U R                  U5      nU R	                  XC5        g )Nc                   ó   • \ rS rSrSrg)ÚcTest_providedByFallback.test_w_providedBy_invalid_spec_w_provides_no_provides_on_class.<locals>.Fooi	  r   Nr,   r   r!   r   r-   r9  	  rC   r!   r-   ©r‚   rø  r÷  r‘  r  ©r   r-   r(   ÚexpectedrÕ  s        r   Ú>test_w_providedBy_invalid_spec_w_provides_no_provides_on_classÚVTest_providedByFallback.test_w_providedBy_invalid_spec_w_provides_no_provides_on_class	  sF   € ÷	ñ 	ñ ‹eˆÜ#›XˆÔÜ&,£hÐ.ˆÔ#Ø�}‰}˜SÓ!ˆØ�‰�dÕ%r!   c                 óÆ   •  " S S5      nU" 5       n[        5       Ul        [        5       =o2l        [        5       Ul        U R                  U5      nU R	                  XC5        g )Nc                   ó   • \ rS rSrSrg)ÚeTest_providedByFallback.test_w_providedBy_invalid_spec_w_provides_diff_provides_on_class.<locals>.Fooi	  r   Nr,   r   r!   r   r-   rA  	  rC   r!   r-   r:  r;  s        r   Ú@test_w_providedBy_invalid_spec_w_provides_diff_provides_on_classÚXTest_providedByFallback.test_w_providedBy_invalid_spec_w_provides_diff_provides_on_class	  sP   € ÷	ñ 	ñ ‹eˆÜ#›XˆÔÜ&,£hÐ.ˆÔ#Ü!›8ˆÔØ�}‰}˜SÓ!ˆØ�‰�dÕ%r!   c                 ó  • SSK Jn  SSKJn  U" S5      nU" U5       " S S5      5       nU" 5       n[	        5       Ul        [	        5       =Ul        Ul        U R                  U5      nU R                  [        U5      U/5        g )Nr   rû   r›   r�   c                   ó   • \ rS rSrSrg)ÚeTest_providedByFallback.test_w_providedBy_invalid_spec_w_provides_same_provides_on_class.<locals>.Fooi+	  r   Nr,   r   r!   r   r-   rF  +	  r.   r!   r-   )
r0   rü   rZ   rœ   r‚   rø  r÷  r‘  r1   rQ   rö  s          r   Ú@test_w_providedBy_invalid_spec_w_provides_same_provides_on_classÚXTest_providedByFallback.test_w_providedBy_invalid_spec_w_provides_same_provides_on_class&	  sw   € Ý;Ý;Ù˜fÓ%ˆá	�TÓ	÷	ð 	ó 
ð	ñ ‹eˆÜ#›XˆÔÜ.4«hÐ6ˆÔ˜3Ô+Ø�}‰}˜SÓ!ˆØ×Ñœ˜d› d VÕ,r!   c                 óª  >• SSK Jn  SSKJn   " S SU5      n " S SU5      nU" U5       " S S	5      5       nU" U5       " S
 SU5      5       nU" 5       nU R	                  [        U R                  U5      5      XC/5        [        Xg5      nU R                  U5      n	U R                  U	R                  5        U R	                  [        U	5      U/5        g )Nr   rX   rû   c                   ó   • \ rS rSrSrg)ÚPTest_providedByFallback.test_super_when_base_implements_interface.<locals>.IBasei9	  r   Nr,   r   r!   r   rï   rK  9	  rC   r!   rï   c                   ó   • \ rS rSrSrg)ÚSTest_providedByFallback.test_super_when_base_implements_interface.<locals>.IDerivedi<	  r   Nr,   r   r!   r   rð   rM  <	  rC   r!   rð   c                   ó   • \ rS rSrSrg)ÚOTest_providedByFallback.test_super_when_base_implements_interface.<locals>.Basei?	  r   Nr,   r   r!   r   r  rO  ?	  r.   r!   r  c                   ó   • \ rS rSrSrg)ÚRTest_providedByFallback.test_super_when_base_implements_interface.<locals>.DerivediC	  r   Nr,   r   r!   r   r  rQ  C	  r.   r!   r  ©
rñ   rY   r0   rü   r1   rQ   r‘  r  r{   r7  )r   rY   rü   rï   rð   r  r  Úderivedr  r8  r  s             €r   r  ÚATest_providedByFallback.test_super_when_base_implements_interface5	  sÉ   ø€ Ý,Ý;ô	�Iô 	ô	�uô 	ñ 
�UÓ	÷	ð 	ó 
ð	ñ 
�XÓ	ô	�dó 	ó 
ð	ñ “)ˆØ×Ñœ˜dŸm™m¨GÓ4Ó5¸Ð7HÔIä�GÓ%ˆØ�m‰m˜CÓ ˆØ×Ñ˜#Ÿ/™/Ô*Ø×Ñœ˜c› U GÕ,r!   c                 óX  >• SSK Jn  SSKJn   " S SU5      n " S SU5      n " S S	5      nU" U5       " S
 SU5      5       nU" 5       nU R	                  [        U R                  U5      5      U/5        [        Xg5      nU R	                  [        U R                  U5      5      / 5        g )Nr   rX   rû   c                   ó   • \ rS rSrSrg)ÚVTest_providedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.IBaseiS	  r   Nr,   r   r!   r   rï   rW  S	  rC   r!   rï   c                   ó   • \ rS rSrSrg)ÚYTest_providedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.IDerivediV	  r   Nr,   r   r!   r   rð   rY  V	  rC   r!   rð   c                   ó   • \ rS rSrSrg)ÚUTest_providedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.BaseiY	  r   Nr,   r   r!   r   r  r[  Y	  rC   r!   r  c                   ó   • \ rS rSrSrg)ÚXTest_providedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.Derivedi\	  r   Nr,   r   r!   r   r  r]  \	  r.   r!   r  r  )
r   rY   rü   rï   rð   r  r  rS  r  r  s
            €r   rD  ÚGTest_providedByFallback.test_super_when_base_doesnt_implement_interfaceO	  sœ   ø€ Ý,Ý;ô	�Iô 	ô	�uô 	÷	ñ 	ñ 
�XÓ	ô	�dó 	ó 
ð	ñ “)ˆØ×Ñœ˜dŸm™m¨GÓ4Ó5¸°zÔBä�GÓ%ˆØ×Ñœ˜dŸm™m¨CÓ0Ó1°2Õ6r!   c                 ó|  >• SSK Jn  SSKJn   " S SU5      n " S SU5      nU" U5       " S S	5      5       nU" 5       nU R	                  [        U R                  U5      5      U/5        [        XV5      nU R                  U5      nU R                  UR                  5        U R	                  [        U5      / 5        g )
Nr   rX   rû   c                   ó   • \ rS rSrSrg)ÚETest_providedByFallback.test_super_when_base_is_object.<locals>.IBaseij	  r   Nr,   r   r!   r   rï   ra  j	  rC   r!   rï   c                   ó   • \ rS rSrSrg)ÚHTest_providedByFallback.test_super_when_base_is_object.<locals>.IDerivedim	  r   Nr,   r   r!   r   rð   rc  m	  rC   r!   rð   c                   ó   • \ rS rSrSrg)ÚGTest_providedByFallback.test_super_when_base_is_object.<locals>.Derivedip	  r   Nr,   r   r!   r   r  re  p	  r.   r!   r  rR  )
r   rY   rü   rï   rð   r  rS  r  r8  r  s
            €r   rM  Ú6Test_providedByFallback.test_super_when_base_is_objectf	  s¦   ø€ Ý,Ý;ô	�Iô 	ô	�uô 	ñ 
�XÓ	÷	ð 	ó 
ð	ñ “)ˆØ×Ñœ˜dŸm™m¨GÓ4Ó5¸°zÔBä�GÓ%ˆØ�m‰m˜CÓ ˆØ×Ñ˜#Ÿ/™/Ô*Ø×Ñœ˜c› BÕ'r!   c                 ó  >• SSK Jn  SSKJn  SSKJn   " S SU5      n " S SU5      nU" U5       " S	 S
5      5       n " S SU5      nU" 5       nU R                  [        U R                  U5      5      U/5        U" X…5        U R                  [        U R                  U5      5      XT/5        [        Xx5      n	U R                  U	5      n
U R                  U
R                  5        U R                  [        U
5      U/5        g )Nr   rX   rƒ  rû   c                   ó   • \ rS rSrSrg)ÚOTest_providedByFallback.test_super_when_object_directly_provides.<locals>.IBasei�	  r   Nr,   r   r!   r   rï   ri  �	  rC   r!   rï   c                   ó   • \ rS rSrSrg)ÚRTest_providedByFallback.test_super_when_object_directly_provides.<locals>.IDerivedi„	  r   Nr,   r   r!   r   rð   rk  „	  rC   r!   rð   c                   ó   • \ rS rSrSrg)ÚNTest_providedByFallback.test_super_when_object_directly_provides.<locals>.Basei‡	  r   Nr,   r   r!   r   r  rm  ‡	  r.   r!   r  c                   ó   • \ rS rSrSrg)ÚQTest_providedByFallback.test_super_when_object_directly_provides.<locals>.Derivedi‹	  r   Nr,   r   r!   r   r  ro  ‹	  rC   r!   r  )rñ   rY   r0   r„  rü   r1   rQ   r‘  r  r{   r7  )r   rY   r„  rü   rï   rð   r  r  rS  r  r8  r  s              €r   Ú(test_super_when_object_directly_providesÚ@Test_providedByFallback.test_super_when_object_directly_provides|	  sà   ø€ Ý,Ý@Ý;ô	�Iô 	ô	�uô 	ñ 
�UÓ	÷	ð 	ó 
ð	ô	�dô 	ñ “)ˆØ×Ñœ˜dŸm™m¨GÓ4Ó5¸°wÔ?á˜Ô+Ø×Ñœ˜dŸm™m¨GÓ4Ó5¸Ð7HÔIä�GÓ%ˆØ�m‰m˜CÓ ˆØ×Ñ˜#Ÿ/™/Ô*Ø×Ñœ˜c› U GÕ,r!   c                 óè  >• SSK Jn  SSKJn   " S SU5      n " S SU5      n " S S	U5      n " S
 SU5      n " S SU5      nU" U5       " S S5      5       nU" U5       " S SU5      5       n	U" U5       " S SU5      5       n
U" Xg5       " S SXš5      5       nU" 5       n[	        X¼5      n[	        Xœ5      n[	        X¬5      nU R                  [        U R                  U5      5      XgXCU/5        U R                  [        U R                  U5      5      XCU/5        U R                  [        U R                  U5      5      XS/5        U R                  [        U R                  U5      5      U/5        g )Nr   rX   rû   c                   ó   • \ rS rSrSrg)ÚOTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.IBasei�	  r   Nr,   r   r!   r   rï   rt  �	  rC   r!   rï   c                   ó   • \ rS rSrSrg)ÚMTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.IM1i 	  r   Nr,   r   r!   r   rT  rv   	  rC   r!   rT  c                   ó   • \ rS rSrSrg)ÚMTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.IM2i£	  r   Nr,   r   r!   r   rW  rx  £	  rC   r!   rW  c                   ó   • \ rS rSrSrg)ÚRTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.IDerivedi¦	  r   Nr,   r   r!   r   rð   rz  ¦	  rC   r!   rð   c                   ó   • \ rS rSrSrg)ÚTTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.IUnrelatedi©	  r   Nr,   r   r!   r   r\  r|  ©	  rC   r!   r\  c                   ó   • \ rS rSrSrg)ÚNTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.Basei¬	  r   Nr,   r   r!   r   r  r~  ¬	  r.   r!   r  c                   ó   • \ rS rSrSrg)ÚLTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.M1i°	  r   Nr,   r   r!   r   ra  r€  °	  r.   r!   ra  c                   ó   • \ rS rSrSrg)ÚLTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.M2i´	  r   Nr,   r   r!   r   rd  r‚  ´	  r.   r!   rd  c                   ó   • \ rS rSrSrg)ÚQTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.Derivedi¸	  r   Nr,   r   r!   r   r  r„  ¸	  r.   r!   r  rg  rh  s                   €r   rm  Ú@Test_providedByFallback.test_super_multi_level_multi_inheritance™	  s}  ø€ Ý,Ý;ô	�Iô 	ô	�)ô 	ô	�)ô 	ô	�uô 	ô	˜ô 	ñ 
�UÓ	÷	ð 	ó 
ð	ñ 
�SÓ	ô	�ó 	ó 
ð	ñ 
�SÓ	ô	�ó 	ó 
ð	ñ 
�XÓ	*ô	�bó 	ó 
+ð	ñ ‹IˆÜ�7ÓˆÜ�B‹lˆÜ�B‹lˆà×Ñœ˜dŸm™m¨AÓ.Ó/Ø"°¸CÐ@ô	Bà×Ñœ˜dŸm™m¨BÓ/Ó0Ø cÐ*ô	,à×Ñœ˜dŸm™m¨CÓ0Ó1Ø˜ô	'à×Ñœ˜dŸm™m¨CÓ0Ó1Ø˜õ	"r!   c                 óL   • [         R                  " X R                  S[        S9  g )Nrø  )r  r  )r   r  r‘  r‚   r  s    r   Ú.test_catches_only_AttributeError_on_providedByÚFTest_providedByFallback.test_catches_only_AttributeError_on_providedByÊ	  s   € Ü×$Ò$ T¯=©=Ø6FÜ/5ó	7r!   c                 óB   • [         R                  " X R                  SS9  g )Nr  r  r  r  s    r   r  ÚATest_providedByFallback.test_catches_only_AttributeError_on_classÏ	  s   € ô 	×$Ò$Ø—-‘-°+ó	?r!   r   )r   r   r   r   ro  rŠ   r‘  r&  r+  r0  r5  r=  rB  rG  r  rD  rM  rp  rm  r‡  r  r    rp  rq  s   @r   r  r  Õ  s`   ø† ò"ð
 (€Oò3ò)ò-ò)ò-ò	&ò
&ò-õ-õ47õ.(õ,-õ:/"òb7÷
?ð ?r!   r  c                   ó   • \ rS rSrS rSrg)ÚTest_providedByiÖ	  c                 ó   • SSK Jn  U$ )Nr   r»  )r0   r«  )r   r«  s     r   rŠ   ÚTest_providedBy._getTargetClassÚ	  r<  r!   r   Nrw  r   r!   r   rŒ  rŒ  Ö	  s   † õr!   rŒ  c                   óH   • \ rS rSrS r\rS rS rS rS r	S r
S rS	 rS
rg)Ú*ObjectSpecificationDescriptorFallbackTestsiß	  c                 ó   • SSK Jn  U$ )Nr   )Ú%ObjectSpecificationDescriptorFallback)r0   r’  )r   r’  s     r   ro  Ú<ObjectSpecificationDescriptorFallbackTests._getFallbackClassá	  s   € õ	2à4Ð4r!   c                 ó.   • U R                  5       " U0 UD6$ r7   rŽ   r�   s      r   r’   Ú3ObjectSpecificationDescriptorFallbackTests._makeOneé	  r”   r!   c                 óÐ   • SSK Jn  SSKJn  U" S5      n " S S5      nU" XC5      Ul        U R                  5       Ul        U R                  [        UR                  5      U/5        g )Nr   r;  r›   r�   c                   ó   • \ rS rSrSrg)ÚOObjectSpecificationDescriptorFallbackTests.test_accessed_via_class.<locals>.Fooiñ	  r   Nr,   r   r!   r   r-   r˜  ñ	  rC   r!   r-   )	r0   r<  rZ   rœ   r÷  r’   rø  r1   rQ   )r   r<  rœ   r�   r-   s        r   Útest_accessed_via_classÚBObjectSpecificationDescriptorFallbackTests.test_accessed_via_classì	  sV   € Ý8Ý;Ù˜fÓ%ˆ÷	ñ 	ñ $ CÓ.ˆÔØ!Ÿ]™]›_ˆÔØ×Ñœ˜c×0Ñ0Ó1°D°6Õ:r!   c                 ó  • SSK Jn  SSK Jn  SSKJn  U" S5      nU" S5      nU" U5       " S S5      5       nU" Xe5      Ul        U R                  5       Ul        U" 5       nU R                  [        UR                  5      U/5        g )	Nr   r;  rû   r›   r�   r»   c                   ó   • \ rS rSrSrg)ÚZObjectSpecificationDescriptorFallbackTests.test_accessed_via_inst_wo_provides.<locals>.Fooiÿ	  r   Nr,   r   r!   r   r-   r�  ÿ	  r.   r!   r-   )
r0   r<  rü   rZ   rœ   r÷  r’   rø  r1   rQ   )r   r<  rü   rœ   r�   r»   r-   r(   s           r   Ú"test_accessed_via_inst_wo_providesÚMObjectSpecificationDescriptorFallbackTests.test_accessed_via_inst_wo_providesø	  s|   € Ý8Ý;Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆá	�TÓ	÷	ð 	ó 
ð	ñ $ CÓ.ˆÔØ!Ÿ]™]›_ˆÔÙ‹eˆØ×Ñœ˜c×0Ñ0Ó1°D°6Õ:r!   c                 ó<  • SSK Jn  SSK Jn  SSK Jn  SSKJn  U" S5      nU" S5      nU" S5      nU" U5       " S	 S
5      5       nU" X†5      Ul        U R                  5       Ul        U" 5       n	U" X—5        U R                  [        U	R                  5      Xu/5        g )Nr   r;  rƒ  rû   r›   r�   r»   ræ   c                   ó   • \ rS rSrSrg)ÚYObjectSpecificationDescriptorFallbackTests.test_accessed_via_inst_w_provides.<locals>.Fooi
  r   Nr,   r   r!   r   r-   r¢  
  r.   r!   r-   )r0   r<  r„  rü   rZ   rœ   r÷  r’   rø  r1   rQ   )
r   r<  r„  rü   rœ   r�   r»   ræ   r-   r(   s
             r   Ú!test_accessed_via_inst_w_providesÚLObjectSpecificationDescriptorFallbackTests.test_accessed_via_inst_w_provides
  s‘   € Ý8Ý@Ý;Ý;Ù˜fÓ%ˆÙ˜fÓ%ˆÙ˜fÓ%ˆá	�TÓ	÷	ð 	ó 
ð	ñ $ CÓ.ˆÔØ!Ÿ]™]›_ˆÔÙ‹eˆÙ˜Ô#Ø×Ñœ˜c×0Ñ0Ó1°D°<Õ@r!   c                 ó¾   ^ ^•  " S S[         5      m " UU 4S jS5      nU" 5       nT R                  T5         [        US5        S S S 5        g ! , (       d  f       g = f)Nc                   ó   • \ rS rSrSrg)ÚvObjectSpecificationDescriptorFallbackTests.test_arbitrary_exception_accessing_provides_not_caught.<locals>.MyExceptioni
  r   Nr,   r   r!   r   ÚMyExceptionr§  
  rC   r!   r¨  c                   óN   >• \ rS rSr YR	                  5       r\U 4S j5       rSrg)ÚnObjectSpecificationDescriptorFallbackTests.test_arbitrary_exception_accessing_provides_not_caught.<locals>.Fooi 
  c                 ó   >• Ter7   r   )r   r¨  s    €r   r÷  Ú{ObjectSpecificationDescriptorFallbackTests.test_arbitrary_exception_accessing_provides_not_caught.<locals>.Foo.__provides__#
  s	   ø€ à!Ð!r!   r   N©	r   r   r   r   r’   rø  r«  r÷  r    )r¨  r   s   €€r   r-   rª   
  s    ø† Ù!Ÿ]™]›_ˆNàô"ó ó"r!   r-   rø  )Ú	Exceptionr  rI  )r   r-   r(   r¨  s   `  @r   Ú6test_arbitrary_exception_accessing_provides_not_caughtÚaObjectSpecificationDescriptorFallbackTests.test_arbitrary_exception_accessing_provides_not_caught
  sG   ù€ ô	œ)ô 	÷	"õ 	"ñ ‹eˆØ×Ñ˜{Õ+Ü�CÐ)Ô*÷ ,×+Ö+ús   ¸AÁ
Ac                 ó†   ^ •  " S S[         5      n " U 4S jS5      nU" 5       n[        US5      nT R                  U5        g )Nc                   ó   • \ rS rSrSrg)ÚmObjectSpecificationDescriptorFallbackTests.test_AttributeError_accessing_provides_caught.<locals>.MyExceptioni-
  r   Nr,   r   r!   r   r¨  r³  -
  rC   r!   r¨  c                   óH   >• \ rS rSr Y R	                  5       r\S 5       rSrg)ÚeObjectSpecificationDescriptorFallbackTests.test_AttributeError_accessing_provides_caught.<locals>.Fooi0
  c                 ó   • [         er7   )rM  r  s    r   r÷  ÚrObjectSpecificationDescriptorFallbackTests.test_AttributeError_accessing_provides_caught.<locals>.Foo.__provides__3
  s   € ä$Ð$r!   r   Nr­  r  s   €r   r-   rµ  0
  s    ø† Ù!Ÿ]™]›_ˆNàñ%ó ó%r!   r-   rø  )r®  rI  ÚassertIsNotNone)r   r¨  r-   r(   Úprovideds   `    r   Ú-test_AttributeError_accessing_provides_caughtÚXObjectSpecificationDescriptorFallbackTests.test_AttributeError_accessing_provides_caught+
  s=   ø€ ô	œ)ô 	÷	%ô 	%ñ ‹eˆÜ˜3Ð 0Ó1ˆØ×Ñ˜XÕ&r!   c                 óÊ   • SSK Jn  SSK Jn   " S SU5      nU" U5       " S S5      5       nU R                  5       Ul        [        U" 5       S5      nU R                  U5        g )	Nr   rX   rû   c                   ó   • \ rS rSrSrg)ÚZObjectSpecificationDescriptorFallbackTests.test_None_in__provides__overrides.<locals>.IFooi?
  r   Nr,   r   r!   r   r�   r¾  ?
  rC   r!   r�   c                   ó$   • \ rS rSr\S 5       rSrg)ÚYObjectSpecificationDescriptorFallbackTests.test_None_in__provides__overrides.<locals>.FooiB
  c                 ó   • g r7   r   r  s    r   r÷  ÚfObjectSpecificationDescriptorFallbackTests.test_None_in__provides__overrides.<locals>.Foo.__provides__E
  s   € àr!   r   N)r   r   r   r   r«  r÷  r    r   r!   r   r-   rÀ  B
  s   † ð ñó ór!   r-   rø  )rñ   rY   rü   r’   rø  rI  r{   )r   rY   rü   r�   r-   r¹  s         r   Ú!test_None_in__provides__overridesÚLObjectSpecificationDescriptorFallbackTests.test_None_in__provides__overrides;
  s_   € Ý,Ý.ô	�9ô 	ñ 
�TÓ	÷	ð 	ó 
ð	ð "Ÿ]™]›_ˆÔä™3›5Ð"2Ó3ˆØ×Ñ˜(Õ#r!   r   N)r   r   r   r   ro  rŠ   r’   r™  rž  r£  r¯  rº  rÃ  r    r   r!   r   r�  r�  ß	  s2   † ò5ð (€Oò3ò
;ò;ò Aò&+ò 'õ $r!   r�  c                   ó   • \ rS rSrS rSrg)Ú"ObjectSpecificationDescriptorTestsiO
  c                 ó   • SSK Jn  U$ )Nr   )ÚObjectSpecificationDescriptor)r0   rÈ  )r   rÈ  s     r   rŠ   Ú2ObjectSpecificationDescriptorTests._getTargetClassV
  s   € ÝMØ,Ð,r!   r   Nrw  r   r!   r   rÆ  rÆ  O
  s   † õ-r!   rÆ  c                   ó&   • \ rS rSrS rS rS rSrg)rÏ  i^
  c                 ó¦   • Xl         U Vs0 s H  o3[        X5      _M     snU l        UR                  5        H  u  p4[	        XU5        M     g s  snf r7   )ÚmodulerI  Ú
to_restoreÚitemsr‡  )r   rÌ  r‘   Úkeyrõ  s        r   rj  Ú_Monkey.__init__`
  sG   € ØŒÙ@BÓCÂ¸¤¨Ó 4Ò4ÁÑCˆŒØŸ(™(ž*‰JˆCÜ�F Ö'ò %ùò Ds   ‹Ac                 ó   • U $ r7   r   r  s    r   Ú	__enter__Ú_Monkey.__enter__f
  s   € Øˆr!   c                 óv   • U R                   R                  5        H  u  pE[        U R                  XE5        M     g r7   )rÍ  rÎ  r‡  rÌ  )r   Úexc_typeÚexc_valÚexc_tbrÏ  rõ  s         r   Ú__exit__Ú_Monkey.__exit__i
  s)   € ØŸ/™/×/Ñ/Ö1‰JˆCÜ�D—K‘K Ö,ò 2r!   )rÌ  rÍ  N©r   r   r   r   rj  rÒ  rØ  r    r   r!   r   rÏ  rÏ  ^
  s   † ò(òõ-r!   rÏ  c                   ó&   • \ rS rSrS rS rS rSrg)rµ  in
  c                 óØ   • Xl         [        X5      U l        U R                  R                  5       U l        U R                  R                  5         U R                  R                  U5        g r7   )rÌ  rI  ÚtargetÚcopyrÍ  ÚclearÚupdate)r   rÌ  Úattrnamer‘   s       r   rj  Ú_MonkeyDict.__init__q
  sI   € ØŒÜ˜fÓ/ˆŒØŸ+™+×*Ñ*Ó,ˆŒØ�‰×ÑÔØ�‰×Ñ˜2Õr!   c                 ó   • U R                   $ r7   )rÝ  r  s    r   rÒ  Ú_MonkeyDict.__enter__x
  s   € Ø�{‰{Ðr!   c                 ó‚   • U R                   R                  5         U R                   R                  U R                  5        g r7   )rÝ  rß  rà  rÍ  )r   rÕ  rÖ  r×  s       r   rØ  Ú_MonkeyDict.__exit__{
  s(   € Ø�‰×ÑÔØ�‰×Ñ˜4Ÿ?™?Õ+r!   )rÌ  rÝ  rÍ  NrÚ  r   r!   r   rµ  rµ  n
  s   † òòõ,r!   rµ  )/r¢  Úunittestrv  r   r   r   Ú#zope.interface.tests.test_interfacer   r   ÚTestCaser#   rG   r‡   r  r9  rŒ  rs  ry  r‹  r¢  rÝ  rä  rð  r  r*  rQ  rj  rÇ  rÚ  rþ  r  r%  rN  rU  ri  ry  r—  r°  r»  rÓ  r  r  rŒ  r�  rÆ  rÏ  rµ  r   r!   r   Ú<module>rê     sÃ  ðñã å 1Ý 6Ý 2õ&÷ñ ô( 
�×"Ñ"ô  
ôF7(˜H×-Ñ-ô 7(ôtH9Ð,ô H9ôV@,Ð4ô @,ôF{8Ð6Ø×&Ñ&ô{8ô|c" ×!2Ñ!2ô c"ôLÐ3Ø.ô÷'%ñ '%ôT/4Ð3°X×5FÑ5Fô /4ôdn
Ð/°×1BÑ1Bô n
ôb/Ð 4ô /ô
˜h×/Ñ/ô 
ô2ADÐ+ô ADôH >Ð4ô  >ôF91˜×*Ñ*ô 91ôx#Ð1ô #ôLG
˜H×-Ñ-ô G
ôT #�H×%Ñ%ô  #ôF:A˜H×-Ñ-ô :Aôz)
˜×)Ñ)ô )
ôX<@˜H×-Ñ-ô <@ô~4H X×%6Ñ%6ô 4Hôn)ØØ"Øô)ô"#=˜×*Ñ*ô #=ôL*Ð1ô *ôZM
˜H×-Ñ-ô M
ô`3;˜h×/Ñ/ô 3;ôl
�H×%Ñ%ô 
ô49˜(×+Ñ+ô 9ôxx=¨(×*;Ñ*;ô x=ôv&Ð"EØ"7ô&ô~?˜h×/Ñ/ô ~?ôBÐ-Ø+ôôm$°×1BÑ1Bô m$ô`	-Ø2ØØô	-÷-ñ -÷ ,ò ,r!   