§
    ŒŸj×  ã                   óÊ   — d dl mZ d dlmZmZmZ  G d„ de¦  «        Z G d„ de¬¦  «        Z G d„ d	¦  «        Z	 G d
„ d¦  «        Z
 G d„ d¦  «        Z G d„ de¦  «        ZdS )é    )Úcontextmanager)ÚDictÚListÚAnyc                   ó*   — e Zd ZU eed<   eed<   d„ ZdS )Ú_NormalizerMetaÚrule_value_classesÚrule_type_classesc                 ó\   — t                                | |||¦  «        }i |_        i |_        |S ©N)ÚtypeÚ__new__r	   r
   )ÚclsÚnameÚbasesÚdctÚnew_clss        ú]/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/parso/normalizer.pyr   z_NormalizerMeta.__new__	   s.   € Ý—,’,˜s D¨%°Ñ5Ô5ˆØ%'ˆÔ"Ø$&ˆÔ!Øˆó    N)Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__r   © r   r   r   r      s=   € € € € € € ØÐÐÑØÐÐÑðð ð ð ð r   r   c                   óÒ   — e Zd ZU i Zeeee         f         ed<   i Z	eeee         f         ed<   d„ Z
d„ Zd„ Zd„ Zed„ ¦   «         Zd„ Zd	„ Zd
„ Zd„ Zd„ Zedddddœd„¦   «         ZdS )Ú
NormalizerÚ_rule_type_instancesÚ_rule_value_instancesc                 ó˜   — || _         || _        g | _        |                      d¦  «        | _        |                      d¦  «        | _        d S )Nr
   r	   )ÚgrammarÚ_configÚissuesÚ_instantiate_rulesr   r   )Úselfr    Úconfigs      r   Ú__init__zNormalizer.__init__   sK   € ØˆŒØˆŒØˆŒà$(×$;Ò$;Ð<OÑ$PÔ$PˆÔ!Ø%)×%<Ò%<Ð=QÑ%RÔ%RˆÔ"Ð"Ð"r   c                 ó  ‡ — i }t          ‰ ¦  «                             ¦   «         D ]d}t          ||i ¦  «        }|                     ¦   «         D ]<\  }}ˆ fd„|D ¦   «         }|                     |g ¦  «                             |¦  «         Œ=Œe|S )Nc                 ó&   •— g | ]} |‰¦  «        ‘ŒS r   r   )Ú.0Úrule_clsr$   s     €r   ú
<listcomp>z1Normalizer._instantiate_rules.<locals>.<listcomp>!   s!   ø€ ÐCÐCÐC¨(�x�x ‘~”~ÐCÐCÐCr   )r   ÚmroÚgetattrÚitemsÚ
setdefaultÚextend)r$   Úattrr   ÚbaseÚ	rules_mapÚtype_Úrule_classesÚnews   `       r   r#   zNormalizer._instantiate_rules   s    ø€ ØˆÝ˜‘J”J—N’NÑ$Ô$ð 	6ð 	6ˆDÝ  d¨BÑ/Ô/ˆIØ'0§¢Ñ'8Ô'8ð 6ð 6Ñ#��|ØCÐCÐCÐC°lÐCÑCÔC�Ø—’˜u bÑ)Ô)×0Ò0°Ñ5Ô5Ð5Ð5ð6ð ˆ
r   c                 ó‚   — |                       |¦  «         |                      |¦  «        }|                      ¦   «          |S r   )Ú
initializeÚvisitÚfinalize)r$   ÚnodeÚvalues      r   ÚwalkzNormalizer.walk%   s7   € Ø�Š˜ÑÔÐØ—
’
˜4Ñ Ô ˆØ�Š‰ŒˆØˆr   c                 óþ   ‡ — 	 |j         }‰                      |¦  «        5  d                     ˆ fd„|D ¦   «         ¦  «        cd d d ¦  «         S # 1 swxY w Y   d S # t          $ r ‰                      |¦  «        cY S w xY w)NÚ c              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r   )r9   )r)   Úchildr$   s     €r   ú	<genexpr>z#Normalizer.visit.<locals>.<genexpr>2   s/   øè è € ÐGÐG°U˜tŸzšz¨%Ñ0Ô0ÐGÐGÐGÐGÐGÐGr   )ÚchildrenÚ
visit_nodeÚjoinÚAttributeErrorÚ
visit_leaf)r$   r;   rC   s   `  r   r9   zNormalizer.visit+   sõ   ø€ ð	HØ”}ˆHð —’ Ñ&Ô&ð Hð HØ—w’wÐGÐGÐGÐG¸hÐGÑGÔGÑGÔGðHð Hð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hð Hð Høõ ð 	)ð 	)ð 	)Ø—?’? 4Ñ(Ô(Ð(Ð(Ð(ð	)øøøs"   ƒA Ÿ!AÁAÁAÁA<Á;A<c              #   ó<   K  — |                       |¦  «         d V — d S r   )Ú_check_type_rules©r$   r;   s     r   rD   zNormalizer.visit_node4   s'   è è € à×Ò˜tÑ$Ô$Ð$Øˆˆˆˆˆr   c                 óv   — | j                              |j        g ¦  «        D ]}|                     |¦  «         Œd S r   )r   Úgetr   Ú	feed_node)r$   r;   Úrules      r   rI   zNormalizer._check_type_rules9   sE   € ØÔ-×1Ò1°$´)¸RÑ@Ô@ð 	!ð 	!ˆDØ�NŠN˜4Ñ Ô Ð Ð ð	!ð 	!r   c                 óº   — |                       |¦  «         | j                             |j        g ¦  «        D ]}|                     |¦  «         Œ|j        |j        z   S r   )rI   r   rL   r<   rM   Úprefix)r$   ÚleafrN   s      r   rG   zNormalizer.visit_leaf=   s^   € Ø×Ò˜tÑ$Ô$Ð$àÔ.×2Ò2°4´:¸rÑBÔBð 	!ð 	!ˆDØ�NŠN˜4Ñ Ô Ð Ð àŒ{˜TœZÑ'Ð'r   c                 ó   — d S r   r   rJ   s     r   r8   zNormalizer.initializeE   ó   € Øˆr   c                 ó   — d S r   r   ©r$   s    r   r:   zNormalizer.finalizeH   rS   r   c                 ón   — t          |||¦  «        }|| j        vr| j                             |¦  «         dS )NT)ÚIssuer"   Úappend)r$   r;   ÚcodeÚmessageÚissues        r   Ú	add_issuezNormalizer.add_issueK   s;   € Ý�d˜D 'Ñ*Ô*ˆØ˜œÐ#Ð#ØŒK×Ò˜uÑ%Ô%Ð%Øˆtr   Nr   )r<   Úvaluesr   Útypesc                óØ   ‡ ‡‡— t          ‰¦  «        Št          ‰¦  «        Š|�‰                     |¦  «         |�‰                     |¦  «         ‰s‰st          d¦  «        ‚ˆ ˆˆfd„}|S )zÜ
        Use it as a class decorator::

            normalizer = Normalizer('grammar', 'config')
            @normalizer.register_rule(value='foo')
            class MyRule(Rule):
                error_code = 42
        Nz%You must register at least something.c                 óÔ   •— ‰D ]0}‰j                              |g ¦  «                             | ¦  «         Œ1‰D ]0}‰j                             |g ¦  «                             | ¦  «         Œ1| S r   )r	   r/   rX   r
   )r*   ÚvÚtr   r^   r]   s      €€€r   Ú	decoratorz+Normalizer.register_rule.<locals>.decoratore   s~   ø€ Øð Jð J�ØÔ&×1Ò1°!°RÑ8Ô8×?Ò?ÀÑIÔIÐIÐIØð Ið I�ØÔ%×0Ò0°°BÑ7Ô7×>Ò>¸xÑHÔHÐHÐHØˆOr   )ÚlistrX   Ú
ValueError)r   r<   r]   r   r^   rc   s   ` ` ` r   Úregister_rulezNormalizer.register_ruleQ   s˜   øøø€ õ �f‘”ˆÝ�U‘”ˆØÐØ�MŠM˜%Ñ Ô Ð ØÐØ�LŠL˜ÑÔÐàð 	F˜eð 	FÝÐDÑEÔEÐEð	ð 	ð 	ð 	ð 	ð 	ð 	ð Ðr   )r   r   r   r   r   Ústrr   r   r   r   r&   r#   r=   r9   r   rD   rI   rG   r8   r:   r\   Úclassmethodrf   r   r   r   r   r      s(  € € € € € € Ø24Ð˜$˜s D¨¤J˜Ô/Ð4Ð4Ñ4Ø35Ð˜4  T¨$¤Z Ô0Ð5Ð5Ñ5ðSð Sð Sðð ð ðð ð ðHð Hð Hð ðð ñ „^ðð!ð !ð !ð(ð (ð (ðð ð ðð ð ðð ð ð Ø$(°¸$Àbð ð ð ð ñ „[ðð ð r   r   )Ú	metaclassc                   ó   — e Zd ZeZd„ ZdS )ÚNormalizerConfigc                 ó.   — |                       || ¦  «        S r   )Únormalizer_class)r$   r    s     r   Úcreate_normalizerz"NormalizerConfig.create_normalizerr   s   € Ø×$Ò$ W¨dÑ3Ô3Ð3r   N)r   r   r   r   rm   rn   r   r   r   rk   rk   o   s)   € € € € € Ø!Ðð4ð 4ð 4ð 4ð 4r   rk   c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )rW   c                 óX   — || _         	 || _        	 |j        | _        	 |j        | _        d S r   )rY   rZ   Ú	start_posÚend_pos©r$   r;   rY   rZ   s       r   r&   zIssue.__init__w   s;   € ØˆŒ	ð	ð ˆŒð	ð œˆŒð	ð ”|ˆŒˆˆr   c                 óB   — | j         |j         k    o| j        |j        k    S r   )rq   rY   ©r$   Úothers     r   Ú__eq__zIssue.__eq__‡   s   € ØŒ~ ¤Ò0ÐL°T´YÀ%Ä*Ò5LÐLr   c                 ó.   — |                       |¦  «         S r   )rw   ru   s     r   Ú__ne__zIssue.__ne__Š   s   € Ø—;’;˜uÑ%Ô%Ð%Ð%r   c                 ó8   — t          | j        | j        f¦  «        S r   )ÚhashrY   rq   rU   s    r   Ú__hash__zIssue.__hash__�   s   € Ý�T”Y ¤Ð/Ñ0Ô0Ð0r   c                 ó2   — d| j         j        ›d| j        ›d�S )Nú<z: ú>)Ú	__class__r   rY   rU   s    r   Ú__repr__zIssue.__repr__�   s    € € Ø!œ^Ô4Ð4Ð4°d´i°i°iÐ@Ð@r   N)r   r   r   r&   rw   ry   r|   r�   r   r   r   rW   rW   v   sg   € € € € € ð$ð $ð $ð Mð Mð Mð&ð &ð &ð1ð 1ð 1ðAð Að Að Að Ar   rW   c                   óJ   — e Zd ZU eed<   eed<   d„ Zd„ Zd„ Zd„ Z	d
d„Z
d	„ ZdS )ÚRulerY   rZ   c                 ó   — || _         d S r   )Ú_normalizer)r$   Ú
normalizers     r   r&   zRule.__init__˜   s   € Ø%ˆÔÐÐr   c                 ó   — t          ¦   «         ‚r   )ÚNotImplementedErrorrJ   s     r   Úis_issuezRule.is_issue›   s   € Ý!Ñ#Ô#Ð#r   c                 ó   — |S r   r   rJ   s     r   Úget_nodezRule.get_nodež   s   € Øˆr   c                 ó:   — |€| j         }|€t          d¦  «        ‚|S )Nz$The message on the class is not set.)rZ   re   )r$   rZ   r;   s      r   Ú_get_messagezRule._get_message¡   s'   € Øˆ?Ø”lˆGØˆÝ Ð!GÑHÔHÐHØˆr   Nc                 óž   — |€| j         }|€t          d¦  «        ‚|                      ||¦  «        }| j                             |||¦  «         d S )Nz'The error code on the class is not set.)rY   re   r�   r…   r\   rs   s       r   r\   zRule.add_issue¨   sX   € Øˆ<Ø”9ˆDØˆ|Ý Ð!JÑKÔKÐKà×#Ò# G¨TÑ2Ô2ˆàÔ×"Ò" 4¨¨wÑ7Ô7Ð7Ð7Ð7r   c                 óˆ   — |                       |¦  «        r,|                      |¦  «        }|                      |¦  «         d S d S r   )r‰   r‹   r\   )r$   r;   Ú
issue_nodes      r   rM   zRule.feed_node²   sI   € Ø�=Š=˜ÑÔð 	'ØŸš tÑ,Ô,ˆJØ�NŠN˜:Ñ&Ô&Ð&Ð&Ð&ð	'ð 	'r   )NN)r   r   r   Úintr   rg   r&   r‰   r‹   r�   r\   rM   r   r   r   rƒ   rƒ   ”   s‡   € € € € € € Ø
€I€I�IØ€L€L�Lð&ð &ð &ð$ð $ð $ðð ð ðð ð ð8ð 8ð 8ð 8ð'ð 'ð 'ð 'ð 'r   rƒ   c                   ó.   ‡ — e Zd Zd„ Zˆ fd„Zˆ fd„Zˆ xZS )ÚRefactoringNormalizerc                 ó   — || _         d S r   )Ú_node_to_str_map)r$   Únode_to_str_maps     r   r&   zRefactoringNormalizer.__init__¹   s   € Ø /ˆÔÐÐr   c                 ó‚   •— 	 | j         |         S # t          $ r$ t          ¦   «                              |¦  «        cY S w xY wr   )r•   ÚKeyErrorÚsuperr9   )r$   r;   r€   s     €r   r9   zRefactoringNormalizer.visit¼   sM   ø€ ð	'ØÔ(¨Ô.Ð.øÝð 	'ð 	'ð 	'Ý‘7”7—=’= Ñ&Ô&Ð&Ð&Ð&ð	'øøøó   ƒ �+>½>c                 ó‚   •— 	 | j         |         S # t          $ r$ t          ¦   «                              |¦  «        cY S w xY wr   )r•   r˜   r™   rG   )r$   rQ   r€   s     €r   rG   z RefactoringNormalizer.visit_leafÂ   sO   ø€ ð	,ØÔ(¨Ô.Ð.øÝð 	,ð 	,ð 	,Ý‘7”7×%Ò% dÑ+Ô+Ð+Ð+Ð+ð	,øøørš   )r   r   r   r&   r9   rG   Ú__classcell__)r€   s   @r   r“   r“   ¸   s`   ø€ € € € € ð0ð 0ð 0ð'ð 'ð 'ð 'ð 'ð,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,r   r“   N)Ú
contextlibr   Útypingr   r   r   r   r   r   rk   rW   rƒ   r“   r   r   r   ú<module>rŸ      sM  ðØ %Ð %Ð %Ð %Ð %Ð %Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ð "ðð ð ð ð �dñ ô ð ð\ð \ð \ð \ð \˜?ð \ñ \ô \ð \ð~4ð 4ð 4ð 4ð 4ñ 4ô 4ð 4ðAð Að Að Að Añ Aô Að Að<!'ð !'ð !'ð !'ð !'ñ !'ô !'ð !'ðH,ð ,ð ,ð ,ð ,˜Jñ ,ô ,ð ,ð ,ð ,r   