§
    Çtºf�8  ã                   ó  — d Z ddlZ G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d	„ d
¦  «        Z G d„ de¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z	dS )z!Resolution ordering utility testsé    Nc                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTest__mergeOrderingsc                 ó$   — ddl m}  ||¦  «        S )Nr   )Ú_legacy_mergeOrderings)Úzope.interface.ror   )ÚselfÚ	orderingsr   s      ú[/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/zope/interface/tests/test_ro.pyÚ_callFUTzTest__mergeOrderings._callFUT   s%   € Ø<Ð<Ð<Ð<Ð<Ð<Ø%Ð% iÑ0Ô0Ð0ó    c                 óX   — |                       |                      g ¦  «        g ¦  «         d S ©N©ÚassertEqualr   ©r   s    r
   Ú
test_emptyzTest__mergeOrderings.test_empty   s*   € Ø×Ò˜Ÿš rÑ*Ô*¨BÑ/Ô/Ð/Ð/Ð/r   c                 ó`   — |                       |                      g d¢¦  «        g d¢¦  «         d S )N)ÚaÚbÚcr   r   s    r
   Útest_singlez Test__mergeOrderings.test_single   s2   € Ø×Ò˜Ÿš   Ñ7Ô7¸¸¸ÑIÔIÐIÐIÐIr   c                 óf   — |                       |                      dgddgg¦  «        ddg¦  «         d S )Nr   r   r   r   s    r
   Útest_w_duplicatesz&Test__mergeOrderings.test_w_duplicates"   s9   € Ø×Ò˜Ÿš¨¨°°S¨zÐ':Ñ;Ô;¸cÀ3¸ZÑHÔHÐHÐHÐHr   c                 ó‚   — g d¢}ddg}g d¢}dg}|                       |                      ||||g¦  «        g d¢¦  «         d S )N)ÚxÚyÚzÚqr   )é   é   é   )r   r   r   r   r    r!   r   r   )r   ÚO1ÚO2ÚO3ÚO4s        r
   Ú&test_suffix_across_multiple_duplicatesz;Test__mergeOrderings.test_suffix_across_multiple_duplicates%   sf   € Øˆ_ˆ_ˆØ�3ˆZˆØˆYˆYˆØˆUˆØ×Ò˜Ÿš¨¨B°°BÐ'7Ñ8Ô8Ø6Ð6Ð6ñ	8ô 	8ð 	8ð 	8ð 	8r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r&   © r   r
   r   r      se   € € € € € ð1ð 1ð 1ð0ð 0ð 0ðJð Jð JðIð Ið Ið8ð 8ð 8ð 8ð 8r   r   c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTest__flattenc                 ó$   — ddl m}  ||¦  «        S )Nr   )Ú_legacy_flatten)r   r.   )r   Úobr.   s      r
   r   zTest__flatten._callFUT0   s$   € Ø5Ð5Ð5Ð5Ð5Ð5Øˆ˜rÑ"Ô"Ð"r   c                 ó–   —  G d„ d¦  «        } |¦   «         }d|_         |                      |                      |¦  «        |g¦  «         d S )Nc                   ó   — e Zd ZdS )ú-Test__flatten.test_w_empty_bases.<locals>.FooN©r'   r(   r)   r*   r   r
   ÚFoor2   6   ó   € € € € € ØˆDr   r4   r*   ©Ú	__bases__r   r   ©r   r4   Úfoos      r
   Útest_w_empty_basesz Test__flatten.test_w_empty_bases4   óh   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆØˆŒØ×Ò˜Ÿš sÑ+Ô+¨c¨UÑ3Ô3Ð3Ð3Ð3r   c                 ó€   —  G d„ d¦  «        }|                       |                      |¦  «        |t          g¦  «         d S )Nc                   ó   — e Zd ZdS )ú-Test__flatten.test_w_single_base.<locals>.FooNr3   r*   r   r
   r4   r>   ?   r5   r   r4   ©r   r   Úobject©r   r4   s     r
   Útest_w_single_basez Test__flatten.test_w_single_base=   óX   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	×Ò˜Ÿš sÑ+Ô+¨cµ6¨]Ñ;Ô;Ð;Ð;Ð;r   c                 óž   —  G d„ d¦  «        } G d„ d|¦  «        }|                       |                      |¦  «        ||t          g¦  «         d S )Nc                   ó   — e Zd ZdS )ú'Test__flatten.test_w_bases.<locals>.FooNr3   r*   r   r
   r4   rF   F   r5   r   r4   c                   ó   — e Zd ZdS )ú'Test__flatten.test_w_bases.<locals>.BarNr3   r*   r   r
   ÚBarrH   I   r5   r   rI   r?   ©r   r4   rI   s      r
   Útest_w_baseszTest__flatten.test_w_basesD   ó…   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�#ñ 	ô 	ð 	ð 	×Ò˜Ÿš sÑ+Ô+¨c°3½Ð-?Ñ@Ô@Ð@Ð@Ð@r   c           
      óê   —  G d„ d¦  «        } G d„ d|¦  «        } G d„ d|¦  «        } G d„ d||¦  «        }|                       |                      |¦  «        |||t          ||t          g¦  «         d S )	Nc                   ó   — e Zd ZdS )ú)Test__flatten.test_w_diamond.<locals>.FooNr3   r*   r   r
   r4   rO   P   r5   r   r4   c                   ó   — e Zd ZdS )ú)Test__flatten.test_w_diamond.<locals>.BarNr3   r*   r   r
   rI   rQ   S   r5   r   rI   c                   ó   — e Zd ZdS )ú)Test__flatten.test_w_diamond.<locals>.BazNr3   r*   r   r
   ÚBazrS   V   r5   r   rT   c                   ó   — e Zd ZdS )ú)Test__flatten.test_w_diamond.<locals>.QuxNr3   r*   r   r
   ÚQuxrV   Y   r5   r   rW   r?   ©r   r4   rI   rT   rW   s        r
   Útest_w_diamondzTest__flatten.test_w_diamondN   só   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�#ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�#ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�#�sñ 	ô 	ð 	ð 	×Ò˜Ÿš sÑ+Ô+Ø˜s C­°°c½6ÐBñ	Dô 	Dð 	Dð 	Dð 	Dr   N)r'   r(   r)   r   r:   rB   rK   rY   r*   r   r
   r,   r,   .   sg   € € € € € ð#ð #ð #ð4ð 4ð 4ð<ð <ð <ðAð Að AðDð Dð Dð Dð Dr   r,   c                   óB   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ ZdS )
ÚTest_roNc                 ó    — ddl m}  ||fi |¤ŽS )Nr   )Ú
_legacy_ro)r   r]   )r   r/   Úkwargsr]   s       r
   r   zTest_ro._callFUTc   s,   € Ø0Ð0Ð0Ð0Ð0Ð0Øˆz˜"Ð'Ð' Ð'Ð'Ð'r   c                 ó–   —  G d„ d¦  «        } |¦   «         }d|_         |                      |                      |¦  «        |g¦  «         d S )Nc                   ó   — e Zd ZdS )ú'Test_ro.test_w_empty_bases.<locals>.FooNr3   r*   r   r
   r4   ra   i   r5   r   r4   r*   r6   r8   s      r
   r:   zTest_ro.test_w_empty_basesg   r;   r   c                 ó€   —  G d„ d¦  «        }|                       |                      |¦  «        |t          g¦  «         d S )Nc                   ó   — e Zd ZdS )ú'Test_ro.test_w_single_base.<locals>.FooNr3   r*   r   r
   r4   rd   r   r5   r   r4   r?   rA   s     r
   rB   zTest_ro.test_w_single_basep   rC   r   c                 óž   —  G d„ d¦  «        } G d„ d|¦  «        }|                       |                      |¦  «        ||t          g¦  «         d S )Nc                   ó   — e Zd ZdS )ú!Test_ro.test_w_bases.<locals>.FooNr3   r*   r   r
   r4   rg   y   r5   r   r4   c                   ó   — e Zd ZdS )ú!Test_ro.test_w_bases.<locals>.BarNr3   r*   r   r
   rI   ri   |   r5   r   rI   r?   rJ   s      r
   rK   zTest_ro.test_w_basesw   rL   r   c                 óÜ   —  G d„ d¦  «        } G d„ d|¦  «        } G d„ d|¦  «        } G d„ d||¦  «        }|                       |                      |¦  «        ||||t          g¦  «         d S )	Nc                   ó   — e Zd ZdS )ú#Test_ro.test_w_diamond.<locals>.FooNr3   r*   r   r
   r4   rl   ƒ   r5   r   r4   c                   ó   — e Zd ZdS )ú#Test_ro.test_w_diamond.<locals>.BarNr3   r*   r   r
   rI   rn   †   r5   r   rI   c                   ó   — e Zd ZdS )ú#Test_ro.test_w_diamond.<locals>.BazNr3   r*   r   r
   rT   rp   ‰   r5   r   rT   c                   ó   — e Zd ZdS )ú#Test_ro.test_w_diamond.<locals>.QuxNr3   r*   r   r
   rW   rr   Œ   r5   r   rW   r?   rX   s        r
   rY   zTest_ro.test_w_diamond�   sê   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�#ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�#ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�#�sñ 	ô 	ð 	ð 	×Ò˜Ÿš sÑ+Ô+Ø˜s C¨­fÐ5ñ	7ô 	7ð 	7ð 	7ð 	7r   c                 óÂ   —  G d„ d¦  «        } |d¦  «        } |d|¦  «        } |d|¦  «        } |d|¦  «        } |d|¦  «        } |d|||¦  «        }|||||||gfS )	Nc                   ó   — e Zd Zd„ Zd„ ZdS )ú Test_ro._make_IOErr.<locals>.Fooc                 ó"   — || _         || _        d S r   ©r'   r7   )r   ÚnameÚbasess      r
   Ú__init__z)Test_ro._make_IOErr.<locals>.Foo.__init__–   ó   € Ø $�”Ø!&�”��r   c                 ó   — | j         S r   ©r'   r   s    r
   Ú__repr__z)Test_ro._make_IOErr.<locals>.Foo.__repr__š   ó
   € Ø”}Ð$r   N)r'   r(   r)   rz   r~   r*   r   r
   r4   ru   •   s2   € € € € € ð'ð 'ð 'ð%ð %ð %ð %ð %r   r4   ÚIExÚIStdErrÚIEnvErrÚIIOErrÚIOSErrÚIOErrr*   )r   r4   r€   r�   r‚   rƒ   r„   r…   s           r
   Ú_make_IOErrzTest_ro._make_IOErr’   sª   € ð	%ð 	%ð 	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð ˆc�%‰jŒjˆØ�#�i Ñ%Ô%ˆØ�#�i Ñ)Ô)ˆØ��X˜wÑ'Ô'ˆØ��X˜wÑ'Ô'ˆà��G˜W f¨fÑ5Ô5ˆØ�u˜f f¨g°wÀÐDÐDÐDr   c                 ó†   — |                       ¦   «         \  }}|                      |                      |¦  «        |¦  «         d S r   )r†   r   r   )r   r…   ry   s      r
   Útest_non_orderablezTest_ro.test_non_orderable¨   s?   € Ø×'Ò'Ñ)Ô)‰ˆˆuà×Ò˜Ÿš uÑ-Ô-¨uÑ5Ô5Ð5Ð5Ð5r   c                 óÈ  — ddl m} ddl m} ddl m} ddl m}  G d„ d|¦  «        } ||¦  «         G d„ d	¦  «        ¦   «         } G d
„ d|¦  «        } G d„ d¦  «        } G d„ d||¦  «        }	|                      |                       | |	¦   «         ¦  «        ¦  «         ||	¦  «         ||¦  «         ||¦  «        || ||¦  «         |t          ¦  «        g¦  «         d S )Nr   ©Ú	Interface)ÚimplementedBy)Úimplementer©Ú
providedByc                   ó   — e Zd ZdS )ú?Test_ro.test_mixed_inheritance_and_implementation.<locals>.IFooNr3   r*   r   r
   ÚIFoor‘   ¶   r5   r   r’   c                   ó   — e Zd ZdS )úHTest_ro.test_mixed_inheritance_and_implementation.<locals>.ImplementsFooNr3   r*   r   r
   ÚImplementsFoor”   ¹   s   € € € € € àˆDr   r•   c                   ó   — e Zd ZdS )úETest_ro.test_mixed_inheritance_and_implementation.<locals>.ExtendsFooNr3   r*   r   r
   Ú
ExtendsFoor—   ½   r5   r   r˜   c                   ó   — e Zd ZdS )úLTest_ro.test_mixed_inheritance_and_implementation.<locals>.ImplementsNothingNr3   r*   r   r
   ÚImplementsNothingrš   À   r5   r   r›   c                   ó   — e Zd ZdS )úVTest_ro.test_mixed_inheritance_and_implementation.<locals>.ExtendsFooImplementsNothingNr3   r*   r   r
   ÚExtendsFooImplementsNothingr�   Ã   r5   r   rž   )Úzope.interfacer‹   rŒ   r�   r�   r   r   r@   )
r   r‹   rŒ   r�   r�   r’   r•   r˜   r›   rž   s
             r
   Ú)test_mixed_inheritance_and_implementationz1Test_ro.test_mixed_inheritance_and_implementation­   sÉ  € ð 	-Ð,Ð,Ð,Ð,Ð,Ø0Ð0Ð0Ð0Ð0Ð0Ø.Ð.Ð.Ð.Ð.Ð.Ø-Ð-Ð-Ð-Ð-Ð-ð	ð 	ð 	ð 	ð 	�9ñ 	ô 	ð 	ð 
ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð	ð 	ð 	ð 	ð 	˜ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	¨*Ð6Gñ 	ô 	ð 	ð 	×ÒØ�MŠM˜*˜*Ð%@Ð%@Ñ%BÔ%BÑCÔCÑDÔDØˆ]Ð6Ñ7Ô7Øˆ]˜:Ñ&Ô&Øˆ]˜=Ñ)Ô)ØØØˆ]Ð,Ñ-Ô-Øˆ]�6Ñ"Ô"ð$ñ	%ô 	%ð 	%ð 	%ð 	%r   )r'   r(   r)   ÚmaxDiffr   r:   rB   rK   rY   r†   rˆ   r    r*   r   r
   r[   r[   `   s—   € € € € € Ø€Gð(ð (ð (ð4ð 4ð 4ð<ð <ð <ðAð Að Að7ð 7ð 7ð"Eð Eð Eð,6ð 6ð 6ð
!%ð !%ð !%ð !%ð !%r   r[   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )Ú	C3Settingc                 ó"   — || _         || _        d S r   )Ú_settingÚ_value)r   ÚsettingÚvalues      r
   rz   zC3Setting.__init__Ó   s   € ØˆŒØˆŒˆˆr   c                 ó\   — ddl m} t          |j        | j        j        | j        ¦  «         d S ©Nr   ©Úro)rŸ   r¬   ÚsetattrÚC3r¥   r'   r¦   )r   r¬   s     r
   Ú	__enter__zC3Setting.__enter__×   s5   € Ø%Ð%Ð%Ð%Ð%Ð%Ý�”�t”}Ô-¨t¬{Ñ;Ô;Ð;Ð;Ð;r   c                 ó\   — ddl m} t          |j        | j        j        | j        ¦  «         d S rª   )rŸ   r¬   r­   r®   r¥   r'   )r   ÚtÚvÚtbr¬   s        r
   Ú__exit__zC3Setting.__exit__Û   s5   € Ø%Ð%Ð%Ð%Ð%Ð%Ý�”�t”}Ô-¨t¬}Ñ=Ô=Ð=Ð=Ð=r   N)r'   r(   r)   rz   r¯   r´   r*   r   r
   r£   r£   Ñ   sA   € € € € € ðð ð ð<ð <ð <ð>ð >ð >ð >ð >r   r£   c                   óZ   ‡ — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zˆ fd„Zˆ xZS )Ú
Test_c3_roc                 óž   — t                                | ¦  «         ddlm}  |d¦  «        x| _        }|                      |j        ¦  «         d S )Nr   )ÚInstalledHandlerzzope.interface.ro)r[   ÚsetUpÚzope.testing.loggingsupportr¸   Úlog_handlerÚ
addCleanupÚ	uninstall)r   r¸   Úhandlers      r
   r¹   zTest_c3_ro.setUpâ   sZ   € Ý�Š�dÑÔÐØ@Ð@Ð@Ð@Ð@Ð@Ø%5Ð%5Ð6IÑ%JÔ%JÐJˆÔ˜7Ø�Š˜Ô)Ñ*Ô*Ð*Ð*Ð*r   c                 ó    — ddl m}  ||fi |¤ŽS rª   )r   r¬   )r   r/   r^   r¬   s       r
   r   zTest_c3_ro._callFUTè   s,   € Ø(Ð(Ð(Ð(Ð(Ð(Øˆr�"ÐÐ˜ÐÐÐr   c                 óJ  —  G d„ d|¦  «        } G d„ d|¦  «        } G d„ d|¦  «        } G d„ d||¦  «        } G d	„ d
||¦  «        } G d„ d||¦  «        }t          |d¦  «        r;|                      |                     ¦   «         |                      |¦  «        ¦  «         |S )Nc                   ó   — e Zd ZdS )ú+Test_c3_ro._make_complex_diamond.<locals>.FNr3   r*   r   r
   ÚFrÂ   ï   r5   r   rÃ   c                   ó   — e Zd ZdS )ú+Test_c3_ro._make_complex_diamond.<locals>.ENr3   r*   r   r
   ÚErÅ   ò   r5   r   rÆ   c                   ó   — e Zd ZdS )ú+Test_c3_ro._make_complex_diamond.<locals>.DNr3   r*   r   r
   ÚDrÈ   õ   r5   r   rÉ   c                   ó   — e Zd ZdS )ú+Test_c3_ro._make_complex_diamond.<locals>.CNr3   r*   r   r
   ÚCrË   ø   r5   r   rÌ   c                   ó   — e Zd ZdS )ú+Test_c3_ro._make_complex_diamond.<locals>.BNr3   r*   r   r
   ÚBrÎ   û   r5   r   rÏ   c                   ó   — e Zd ZdS )ú+Test_c3_ro._make_complex_diamond.<locals>.ANr3   r*   r   r
   ÚArÑ   þ   r5   r   rÒ   Úmro)Úhasattrr   rÓ   r   )r   ÚbaserÃ   rÆ   rÉ   rÌ   rÏ   rÒ   s           r
   Ú_make_complex_diamondz Test_c3_ro._make_complex_diamondì   sG  € ð	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	��1ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	��1ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	��1ñ 	ô 	ð 	õ �1�eÑÔð 	8Ø×Ò˜QŸUšU™WœW d§m¢m°AÑ&6Ô&6Ñ7Ô7Ð7àˆr   c                 ó:   — |                       t          ¦  «         d S r   )rÖ   r@   r   s    r
   Útest_complex_diamond_objectz&Test_c3_ro.test_complex_diamond_object  s   € Ø×"Ò"¥6Ñ*Ô*Ð*Ð*Ð*r   c                 óŠ   — ddl m} |                      |¦  «        }|                      d„ |j        D ¦   «         g d¢¦  «         d S )Nr   rŠ   c                 ó   — g | ]	}|j         ‘Œ
S r*   r}   )Ú.0r   s     r
   ú
<listcomp>z=Test_c3_ro.test_complex_diamond_interface.<locals>.<listcomp>  s   € Ð,Ð,Ð,˜AˆQŒZÐ,Ð,Ð,r   )rÒ   rÏ   rÌ   rÉ   rÆ   rÃ   r‹   )rŸ   r‹   rÖ   r   Ú__iro__)r   r‹   ÚIAs      r
   Útest_complex_diamond_interfacez)Test_c3_ro.test_complex_diamond_interface	  se   € Ø,Ð,Ð,Ð,Ð,Ð,à×'Ò'¨	Ñ2Ô2ˆà×ÒØ,Ð, ¤Ð,Ñ,Ô,Ø7Ð7Ð7ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óÈ   — ddl m} |                      |¦  «        }|                      |d¬¦  «        }|                      |j        |¦  «         |                      ¦   «          d S )Nr   rŠ   T)Úuse_legacy_ro)rŸ   r‹   rÖ   r   ÚassertNotEqualrÝ   Ú_check_handler_complex_diamond)r   r‹   rÒ   Úlegacy_A_iros       r
   Ú(test_complex_diamond_use_legacy_argumentz3Test_c3_ro.test_complex_diamond_use_legacy_argument  sn   € Ø,Ð,Ð,Ð,Ð,Ð,à×&Ò& yÑ1Ô1ˆØ—}’} Q°d�}Ñ;Ô;ˆØ×Ò˜AœI |Ñ4Ô4Ð4ð 	×+Ò+Ñ-Ô-Ð-Ð-Ð-r   c                 óâ   — ddl m} |                      |¦  «        }|                      |d¬¦  «        }|                      t          |¦  «        |j        ¦  «         |                      ¦   «          d S )Nr   rŠ   T)Úlog_changed_ro)rŸ   r‹   rÖ   r   r   ÚtuplerÝ   rã   )r   r‹   rÒ   Úcomputed_A_iros       r
   Ú,test_complex_diamond_compare_legacy_argumentz7Test_c3_ro.test_complex_diamond_compare_legacy_argument  st   € Ø,Ð,Ð,Ð,Ð,Ð,à×&Ò& yÑ1Ô1ˆØŸš q¸˜Ñ>Ô>ˆà×Ò�˜~Ñ.Ô.°´	Ñ:Ô:Ð:Ø×+Ò+Ñ-Ô-Ð-Ð-Ð-r   c                 óX  — | j         }|                      dt          |j        ¦  «        ¦  «         |j        d         }d                     d¬¦  «        }|                      d                     d„ |                     ¦   «                              ¦   «         D ¦   «         ¦  «        |¦  «         d S )Nr   r   aÈ  Object <InterfaceClass {name}> has different legacy and C3 MROs:
  Legacy RO (len=7)                 C3 RO (len=7; inconsistent=no)
  ==================================================================
    zope.interface.tests.test_ro.A    zope.interface.tests.test_ro.A
    zope.interface.tests.test_ro.B    zope.interface.tests.test_ro.B
  - zope.interface.tests.test_ro.E
    zope.interface.tests.test_ro.C    zope.interface.tests.test_ro.C
    zope.interface.tests.test_ro.D    zope.interface.tests.test_ro.D
                                    + zope.interface.tests.test_ro.E
    zope.interface.tests.test_ro.F    zope.interface.tests.test_ro.F
    zope.interface.Interface          zope.interface.Interfacezzope.interface.tests.test_ro.A)rx   ú
c              3   ó>   K  — | ]}|                      ¦   «         V — Œd S r   )Úrstrip)rÛ   Úlns     r
   ú	<genexpr>z<Test_c3_ro._check_handler_complex_diamond.<locals>.<genexpr>;  s*   è è € ÐMÐM b�b—i’i‘k”kÐMÐMÐMÐMÐMÐMr   )r»   r   ÚlenÚrecordsÚformatÚjoinÚ
getMessageÚ
splitlines)r   r¾   ÚrecordÚexpecteds       r
   rã   z)Test_c3_ro._check_handler_complex_diamond&  s½   € ØÔ"ˆØ×Ò˜�C ¤Ñ0Ô0Ñ1Ô1Ð1Ø” Ô#ˆðB÷ CIÂ&Ø1ð CIñ C
ô C
ð 	ð 	×ÒØ�IŠIÐMÐM¨F×,=Ò,=Ñ,?Ô,?×,JÒ,JÑ,LÔ,LÐMÑMÔMÑMÔMØñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ót  — ddl m}  G d„ d¦  «        } |ddi ¦  «        } G d„ d|¦  «        } G d	„ d
|¦  «        } G d„ d|¦  «        } G d„ d|¦  «        } |d¦  «        } |d|||f¦  «        }	 |d|||	f¦  «        }
|                      |
dd¬¦  «        }|                      ||
||	|||||g¦  «         | j        j        \  }|                      d|                     ¦   «         ¦  «         |                      |j	        ¦  «        5  |                      |
d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r«   c                   ó    — e Zd ZdZdd„Zd„ ZdS )úUTest_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_super.<locals>._Basedr*   Nc                 ó"   — || _         || _        d S r   rw   )r   rx   ry   Úattrss       r
   rz   z^Test_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_super.<locals>._Based.__init__H  r{   r   c                 ó   — | j         S r   r}   r   s    r
   r~   z^Test_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_super.<locals>._Based.__repr__L  r   r   )r*   N)r'   r(   r)   r7   rz   r~   r*   r   r
   Ú_Basedrû   E  s<   € € € € € ØˆIð'ð 'ð 'ð 'ð%ð %ð %ð %ð %r   rÿ   r‹   r*   c                   ó   — e Zd ZdS )ú^Test_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_super.<locals>.IPluggableIndexNr3   r*   r   r
   ÚIPluggableIndexr  Q  r5   r   r  c                   ó   — e Zd ZdS )úbTest_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_super.<locals>.ILimitedResultIndexNr3   r*   r   r
   ÚILimitedResultIndexr  T  r5   r   r  c                   ó   — e Zd ZdS )úZTest_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_super.<locals>.IQueryIndexNr3   r*   r   r
   ÚIQueryIndexr  W  r5   r   r  c                   ó   — e Zd ZdS )úYTest_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_super.<locals>.IPathIndexNr3   r*   r   r
   Ú
IPathIndexr
  Z  r5   r   r  r@   Ú	PathIndexÚExtendedPathIndexTF)rç   Ústrictzused the legacy©r  )
rŸ   r¬   r   r   r»   rò   ÚassertInrõ   ÚassertRaisesÚ InconsistentResolutionOrderError)r   r¬   rÿ   r‹   r  r  r  r  Úobjr  r  Úresultr÷   s                r
   Ú:test_ExtendedPathIndex_implement_thing_implementedby_superzETest_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_super?  sa  € ð 	&Ð%Ð%Ð%Ð%Ð%ð	%ð 	%ð 	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð �F˜;¨¨BÑ/Ô/ˆ	ð	ð 	ð 	ð 	ð 	˜iñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	 /ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	˜/ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	˜ñ 	ô 	ð 	ð ˆf�XÑÔˆØ�F˜;¨°[À#Ð(FÑGÔGˆ	ð #˜FØØ  +¨yÐ9ñ
ô 
Ðð —’Ø¨d¸5ð ñ 
ô 
ˆð 	×Ò˜ØØØØØØØØð"ñ 	ô 	ð 	ð Ô"Ô*‰ˆØ�ŠÐ'¨×):Ò):Ñ)<Ô)<Ñ=Ô=Ð=à×Ò˜rÔBÑCÔCð 	:ð 	:Ø�MŠMÐ+°DˆMÑ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s   ÄD-Ä-D1Ä4D1c           	      óú   — ddl m} ddlm} |                      t           |t          ¦   «         ¦  «                             ¦   «         ¦  «        |j        |j	        |j
        |j        |j        |j        g¦  «         d S )Nr   rŽ   )Ú
interfaces)rŸ   r�   Úzope.interface.commonr  r   ÚlistÚOSErrorÚ	flattenedÚIOSErrorÚIIOErrorÚIEnvironmentErrorÚIStandardErrorÚ
IExceptionr‹   )r   r�   r  s      r
   Útest_OSError_IOErrorzTest_c3_ro.test_OSError_IOError„  s–   € Ø-Ð-Ð-Ð-Ð-Ð-Ø4Ð4Ð4Ð4Ð4Ð4à×ÒÝ���G™IœIÑ&Ô&×0Ò0Ñ2Ô2Ñ3Ô3àÔ#ØÔ#ØÔ,ØÔ)ØÔ%ØÔ$ðñ		ô 		ð 		ð 		ð 		r   c           	      ó0  •— dd l }ddlm} 	 |`n# t          $ r Y nw xY w|                     ¦   «         5  |                     d¦  «         t          |j        j	        d¦  «        5  t          |j        j
        d¦  «        5  |                      |j        ¦  «        5  t          ¦   «                              ¦   «          d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                      ¦   «         \  }}|                      |j        ¦  «        5  |                      |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        j        d¦  «        5  t          |j        j
        d¦  «        5  |                     ¦   «         5  |                     d¦  «         |                      |¦  «         d d d ¦  «         n# 1 swxY w Y   |                      ||j        j        ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                      |d¬¦  «        }|                      |dd¬¦  «        }|                      ||¦  «         d S )	Nr   r«   ÚerrorTFr  Úignore)rá   r  )ÚwarningsrŸ   r¬   Ú__warningregistry__ÚAttributeErrorÚcatch_warningsÚsimplefilterr£   r®   ÚWARN_BAD_IROÚ
STRICT_IROr  Ú"InconsistentResolutionOrderWarningÚsuperrˆ   r†   r  r   ÚTRACK_BAD_IROr  ÚBAD_IROSr   )r   r%  r¬   r…   Ú_ÚiroÚ
legacy_iroÚ	__class__s          €r
   rˆ   zTest_c3_ro.test_non_orderable“  s—  ø€ Øˆˆˆà%Ð%Ð%Ð%Ð%Ð%ð	àÐ&Ð&øÝð 	ð 	ð 	ØˆDð	øøøð ×$Ò$Ñ&Ô&ð 	1ð 	1Ø×!Ò! 'Ñ*Ô*Ð*ÝØ”Ô" Dñô ð 1ð 1åØ”Ô  %ñô ð1ð 1ð
 ×&Ò& rÔ'LÑMÔMð 1ð 1Ý‘G”G×.Ò.Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð 1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð ×#Ò#Ñ%Ô%‰ˆˆqØ×Ò˜rÔBÑCÔCð 	.ð 	.Ø�MŠM˜%¨ˆMÑ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.õ ØŒEÔ ñ
ô 
ð 	1ð 	1åØŒEÔ˜eñ
ô 
ð	1ð 	1ð
 ×(Ò(Ñ*Ô*ð %ð %Ø×%Ò% hÑ/Ô/Ð/Ø—’˜eÑ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð �MŠM˜% ¤¤Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð �mŠm˜E¨%ˆmÑ0Ô0ˆØ—]’] 5¸ÀU�]ÑKÔKˆ
Ø×Ò˜˜jÑ)Ô)Ð)Ð)Ð)sõ   � �
œ´0DÁ$C5Á?CÂ!C	Â;CÃCÃCÃCÃCÃC5ÃC"Ã"C5Ã%C"Ã&C5Ã)DÃ5C9	Ã9DÃ<C9	Ã=DÄDÄDÅE,Å,E0Å3E0ÆIÆ,H/Ç+G8Ç,H/Ç8G<Ç<H/Ç?G<È #H/È#IÈ/H3	È3IÈ6H3	È7IÉI
ÉI
)r'   r(   r)   r¹   r   rÖ   rØ   rß   rå   rê   rã   r  r!  rˆ   Ú__classcell__)r3  s   @r
   r¶   r¶   à   sÒ   ø€ € € € € ð+ð +ð +ð ð  ð  ðð ð ð4+ð +ð +ð
ð 
ð 
ð.ð .ð .ð.ð .ð .ð
ð 
ð 
ð2C:ð C:ð C:ðJð ð ð$*ð $*ð $*ð $*ð $*ð $*ð $*ð $*ð $*r   r¶   c                   ó"   — e Zd Zdd„Zd„ Zd„ ZdS )ÚTestC3FNc                 ó<   — ddl m} |                     |||¦  «        S )Nr   )r®   )r   r®   Úresolver)r   rÌ   r  Ú	base_mrosr®   s        r
   Ú_makeOnezTestC3._makeOne»  s*   € Ø(Ð(Ð(Ð(Ð(Ð(Ø�{Š{˜1˜f iÑ0Ô0Ð0r   c                 ó&  — |                       t          | ¦  «        t          j        t          j        j        i¬¦  «        }|j        }|                      t          j        |¦  «         |                      |t          j                 j        ¦  «         d S )N)r9  )	r:  ÚtypeÚunittestÚTestCaseÚ__mro__Úmemor  ÚassertIsNoneÚhad_inconsistency)r   Úc3r@  s      r
   Útest_base_mros_givenzTestC3.test_base_mros_given¿  sy   € Ø�]Š]Ý�‰JŒJÝÔ(­(Ô*;Ô*CÐDð ñ 
ô 
ˆð ŒwˆØ�Š•hÔ'¨Ñ.Ô.Ð.à×Ò˜$�xÔ0Ô1ÔCÑDÔDÐDÐDÐDr   c                 ó  — |                       t          | ¦  «        ¦  «        }|                      |j        ¦  «         d |_        |                      |                     ¦   «         t          t          | ¦  «        j        ¦  «        ¦  «         d S r   )	r:  r<  ÚassertIsNotNoneÚ_C3__mroÚ_merger   rÓ   r  r?  )r   rC  s     r
   Útest_one_base_optimizationz!TestC3.test_one_base_optimizationÉ  sm   € Ø�]Š]�4 ™:œ:Ñ&Ô&ˆð 	×Ò˜Rœ[Ñ)Ô)Ð)ØˆŒ	Ø×Ò˜Ÿš™œ¥4­¨T©
¬
Ô(:Ñ#;Ô#;Ñ<Ô<Ð<Ð<Ð<r   )FN)r'   r(   r)   r:  rD  rI  r*   r   r
   r6  r6  º  sI   € € € € € ð1ð 1ð 1ð 1ðEð Eð Eð=ð =ð =ð =ð =r   r6  c                   ó6   — e Zd Z G d„ d¦  «        Zdd„Zd„ ZdS )ÚTest_ROComparisonc                   ó   — e Zd ZdZdZdS )úTest_ROComparison.MockC3FN)r'   r(   r)   Údirect_inconsistencyÚbases_had_inconsistencyr*   r   r
   ÚMockC3rM  Ô  s   € € € € € Ø$ÐØ"'ÐÐÐr   rP  Nr*   c                 óP   — ddl m}  ||p|                      ¦   «         ||¦  «        S )Nr   )Ú_ROComparison)r   rR  rP  )r   rC  Úc3_roÚ	legacy_rorR  s        r
   r:  zTest_ROComparison._makeOneØ  s5   € Ø3Ð3Ð3Ð3Ð3Ð3Øˆ}˜RÐ0 4§;¢;¡=¤=°%¸ÑCÔCÐCr   c                 óN  — |                       ¦   «         }|                      d|j        ¦  «         d|j        _        |                      d|j        ¦  «         d|j        _        |                      d|j        ¦  «         d|j        _        |                      d|j        ¦  «         d S )NÚnoTÚdirectzdirect+basesFry   )r:  r   Ú_inconsistent_labelrC  rN  rO  )r   Úcomps     r
   Útest_inconsistent_labelz)Test_ROComparison.test_inconsistent_labelÜ  s—   € Ø�}Š}‰ŒˆØ×Ò˜˜tÔ7Ñ8Ô8Ð8à'+ˆŒÔ$Ø×Ò˜ 4Ô#;Ñ<Ô<Ð<à*.ˆŒÔ'Ø×Ò˜¨Ô)AÑBÔBÐBà',ˆŒÔ$Ø×Ò˜ $Ô":Ñ;Ô;Ð;Ð;Ð;r   )Nr*   r*   )r'   r(   r)   rP  r:  rZ  r*   r   r
   rK  rK  Ò  sc   € € € € € ð(ð (ð (ð (ð (ñ (ô (ð (ðDð Dð Dð Dð<ð <ð <ð <ð <r   rK  )
Ú__doc__r=  r>  r   r,   r[   r£   r¶   r6  rK  r*   r   r
   ú<module>r\     sn  ðð (Ð 'Ø €€€ð8ð 8ð 8ð 8ð 8˜8Ô,ñ 8ô 8ð 8ð0/Dð /Dð /Dð /Dð /D�HÔ%ñ /Dô /Dð /Dðdn%ð n%ð n%ð n%ð n%ˆhÔñ n%ô n%ð n%ðb>ð >ð >ð >ð >ñ >ô >ð >ðW*ð W*ð W*ð W*ð W*�ñ W*ô W*ð W*ðt=ð =ð =ð =ð =ˆXÔñ =ô =ð =ð0<ð <ð <ð <ð <˜Ô)ñ <ô <ð <ð <ð <r   