§
    îyIf«' ã                   óH  — d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddlmZ  eed¦  «        Z ee¦  «        Z e
j        ¦   «         j        Zd„ Zej        ej        fZd„ Zd„ Zd„ Zd	„ Zd
„ Z e	j        d¦  «        Z  e	j        d¦  «        Z! e	j        d¦  «        Z" e	j        d¦  «        Z# e	j        d¦  «        Z$ e%d¦  «        Z&d„ Z'd„ Z( G d„ de)¦  «        Z*d„ Z+d e*¦   «         fd„Z,d„ Z-d„ Z. G d„ d¦  «        Z/ G d„ de/¦  «        Z0 G d„ de0¦  «        Z1 G d„ d ¦  «        Z2 G d!„ d"¦  «        Z3 G d#„ d$e0¦  «        Z4 G d%„ d&e4¦  «        Z5 G d'„ d(e4¦  «        Z6 G d)„ d*e4¦  «        Z7 G d+„ d,e6¦  «        Z8 G d-„ d.e/¦  «        Z9 G d/„ d0e/¦  «        Z: G d1„ d2e:¦  «        Z; G d3„ d4e/¦  «        Z< G d5„ d6e0¦  «        Z= G d7„ d8e0¦  «        Z> G d9„ d:e/¦  «        Z? G d;„ d<e)¦  «        Z@ G d=„ d>e@¦  «        ZA G d?„ d@e@¦  «        ZB G dA„ dBe@¦  «        ZC G dC„ dDe@¦  «        ZD G dE„ dFe@¦  «        ZE G dG„ dHeE¦  «        ZF G dI„ dJ¦  «        ZGg dK¢ZHdL„ ZI e%dM¦  «        ZJdN„ ZKdO„ ZLdP„ ZMdQ„ ZN G dR„ dS¦  «        ZOdT„ ZPdU„ ZQ G dV„ dW¦  «        ZRdS )Xz]
Main module.

Implement the central Checker class.
Also, it models the Bindings and Scopes.
é    N)ÚmessagesÚpypy_version_infoc                 ó<  — t          | t          j        ¦  «        r| j        gS t          | t          j        ¦  «        r"| j        | j        z   gd„ | j        D ¦   «         z   S t          j        dk    r+t          | t          j	        ¦  «        rd„ | j
        D ¦   «         S d S d S )Nc                 ó   — g | ]}|g‘ŒS © r   )Ú.0Úhdls     úD/var/www/piapp/venv/lib/python3.11/site-packages/pyflakes/checker.pyú
<listcomp>z#getAlternatives.<locals>.<listcomp>!   s   € Ð%BÐ%BÐ%B° s eÐ%BÐ%BÐ%Bó    )é   é
   c                 ó   — g | ]	}|j         ‘Œ
S r   )Úbody)r   Úmcs     r
   r   z#getAlternatives.<locals>.<listcomp>#   s   € Ð*Ð*Ð*˜B�”Ð*Ð*Ð*r   )Ú
isinstanceÚastÚIfr   ÚTryÚorelseÚhandlersÚsysÚversion_infoÚMatchÚcases)Úns    r
   ÚgetAlternativesr      sž   € Ý�!•S”VÑÔð +Ø”ˆxˆÝ	�A•s”wÑ	Ô	ð +Ø”˜œÑ!Ð"Ð%BÐ%B°q´zÐ%BÑ%BÔ%BÑBÐBÝ	Ô	˜WÒ	$Ð	$­°Aµs´yÑ)AÔ)AÐ	$Ø*Ð* !¤'Ð*Ñ*Ô*Ð*ð 
%Ð	$Ð	$Ð	$r   c                 ó®   — t          | t          j        ¦  «        o;t          | j        t          t          t          ¦  «        t          d ¦  «        f¦  «        S ©N)r   r   ÚConstantÚvalueÚboolÚtypeÚEllipsis©Únodes    r
   Ú_is_singletonr'   )   s>   € å�4�œÑ&Ô&ð 	CÝ�4”:¥¥d­8¡n¤nµd¸4±j´jÐAÑBÔBðr   c                 ór   — t          | t          j        ¦  «        ot          d„ | j        D ¦   «         ¦  «        S )Nc              3   ó4   K  — | ]}t          |¦  «        V — Œd S r   )Ú_is_constant©r   Úelts     r
   ú	<genexpr>z%_is_tuple_constant.<locals>.<genexpr>3   s*   è è € Ð3Ð3 #�L˜ÑÔÐ3Ð3Ð3Ð3Ð3Ð3r   )r   r   ÚTupleÚallÚeltsr%   s    r
   Ú_is_tuple_constantr1   0   s7   € å�4�œÑ#Ô#ð 	4ÝÐ3Ð3¨¬Ð3Ñ3Ô3Ñ3Ô3ðr   c                 óT   — t          | t          j        ¦  «        pt          | ¦  «        S r   )r   r   r    r1   r%   s    r
   r*   r*   7   s"   € Ý�d�CœLÑ)Ô)ÐEÕ-?ÀÑ-EÔ-EÐEr   c                 ó@   — t          | ¦  «        ot          | ¦  «         S r   )r*   r'   r%   s    r
   Ú_is_const_non_singletonr4   ;   s    € Ý˜ÑÔÐ9¥m°DÑ&9Ô&9Ð"9Ð9r   c                 ó–   — t          | t          j        ¦  «        r| j        |k    p$t          | t          j        ¦  «        o
| j        |k    S r   )r   r   ÚNameÚidÚ	AttributeÚattr)r&   Únames     r
   Ú_is_name_or_attrr;   ?   sB   € å	�D�#œ(Ñ	#Ô	#Ð	7¨¬°4ªð 	@Ý	�D�#œ-Ñ	(Ô	(Ð	>¨T¬Y¸$Ò->ðr   z\(([^()]*)\)z[#0+ -]*z
(?:\*|\d*)z(?:\.(?:\*|\d*))?z[hlL]?zdiouxXeEfFgGcrsa%c                 ó:   — |                       ||¦  «        }|€J ‚|S r   )Úmatch)ÚregexÚstringÚposr=   s       r
   Ú_must_matchrA   O   s&   € Ø�KŠK˜ Ñ$Ô$€EØÐÐÐØ€Lr   c                 ó<   ‡ — ˆ fd„}t           |¦   «         ¦  «        S )z�Parses the string component of a `'...' % ...` format call

    Copied from https://github.com/asottile/pyupgrade at v1.20.1
    c               3   ó   •K  — d} d}d}d}|t          ‰¦  «        k     �rÍ|sA	 ‰                     d|¦  «        }|}|dz  }d}�n•# t          $ r ‰| d …         d fV — Y d S w xY wt                               ‰|¦  «        }|r*|                     d¦  «        }|                     ¦   «         }nd }t          t          ‰|¦  «        }|                     ¦   «         pd }|                     ¦   «         }t          t          ‰|¦  «        }|                     ¦   «         pd }	|                     ¦   «         }t          t          ‰|¦  «        }
|
                     ¦   «         pd }|
                     ¦   «         }t          t          ‰|¦  «                             ¦   «         }	 ‰|         }n# t          $ r t          d¦  «        ‚w xY w|dz  }|||	||f}‰| |…         |fV — d}|} |t          ‰¦  «        k     �°Í|rt          d¦  «        ‚d S )Nr   Fú%é   Tz"end-of-string while parsing format)ÚlenÚindexÚ
ValueErrorÚMAPPING_KEY_REr=   ÚgroupÚendrA   ÚCONVERSION_FLAG_REÚWIDTH_REÚPRECISION_REÚ	LENGTH_REÚ
IndexError)Ústring_startÚ
string_endÚin_fmtÚiÚ	key_matchÚkeyÚconversion_flag_matchÚconversion_flagÚwidth_matchÚwidthÚprecision_matchÚ	precisionÚ
conversionÚfmtÚss                 €r
   Ú_parse_innerz*parse_percent_format.<locals>._parse_inner[   s^  øè è € ØˆØˆ
ØˆàˆØ•#�a‘&”&Šj‰jØð +!ð"ØŸš  Q™œ�Að
 "#�JØ˜‘F�AØ!�F‘Føõ "ð ð ð Ø˜L˜M˜MÔ*¨DÐ0Ð0Ð0Ð0Ø�F�Fðøøøõ +×0Ò0°°AÑ6Ô6�	Øð Ø#Ÿ/š/¨!Ñ,Ô,�CØ!Ÿš™œ�A�Aà�Cå(3Õ4FÈÈ1Ñ(MÔ(MÐ%Ø"7×"=Ò"=Ñ"?Ô"?Ð"GÀ4�Ø)×-Ò-Ñ/Ô/�å)­(°A°qÑ9Ô9�Ø#×)Ò)Ñ+Ô+Ð3¨t�Ø—O’OÑ%Ô%�å"-­l¸A¸qÑ"AÔ"A�Ø+×1Ò1Ñ3Ô3Ð;°t�	Ø#×'Ò'Ñ)Ô)�õ  ¥	¨1¨aÑ0Ô0×4Ò4Ñ6Ô6�ðKØ!" 1¤�J�JøÝ!ð Kð Kð KÝ$Ð%IÑJÔJÐJðKøøøà�Q‘�à˜O¨U°I¸zÐJ�Ø˜ ZÐ/Ô0°#Ð5Ð5Ð5Ð5à�Ø �ðY •#�a‘&”&Šj‰jð\ ð 	CÝÐAÑBÔBÐBð	Cð 	Cs   £A ÁA ÁA ÆF ÆF8)Útuple)r_   r`   s   ` r
   Úparse_percent_formatrb   U   s8   ø€ ð5Cð 5Cð 5Cð 5Cð 5Cõn ��‘”Ñ Ô Ð r   c                   ó   — e Zd ZdZd„ Zd„ ZdS )Ú_FieldsOrderzFix order of AST node fields.c                 óŒ   — |j         }d|v rdj        }nd|v rdj        }ndj        }t          t          ||d¬¦  «        ¦  «        S )NÚiterÚ
generatorsr!   T)rV   Úreverse)Ú_fieldsÚfindra   Úsorted)ÚselfÚ
node_classÚfieldsÚ	key_firsts       r
   Ú_get_fieldsz_FieldsOrder._get_fields˜   sW   € àÔ#ˆØ�VÐÐØœˆIˆIØ˜VÐ#Ð#Ø$Ô)ˆIˆIàœˆIÝ•V˜F¨	¸4Ð@Ñ@Ô@ÑAÔAÐAr   c                 ó:   — |                       |¦  «        x| |<   }|S r   )rp   )rl   rm   rn   s      r
   Ú__missing__z_FieldsOrder.__missing__£   s$   € Ø$(×$4Ò$4°ZÑ$@Ô$@Ð@ˆˆZÑ˜6Øˆr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rp   rr   r   r   r
   rd   rd   •   s;   € € € € € Ø'Ð'ð	Bð 	Bð 	Bðð ð ð ð r   rd   c                 óL   — i }| D ]}|                      |d¦  «        dz   ||<   Œ|S )z|
    Simplest required implementation of collections.Counter. Required as 2.6
    does not have Counter in collections.
    r   rE   )Úget)ÚitemsÚresultsÚitems      r
   Úcounterr|   ¨   s;   € ð
 €GØð 1ð 1ˆØŸš D¨!Ñ,Ô,¨qÑ0ˆ�‰ˆØ€Nr   c              #   ó  K  — || j                  D ]q}|r||v rŒ	t          | |d¦  «        }t          |t          j        ¦  «        r|V — Œ9t          |t
          ¦  «        r#|D ] }t          |t          j        ¦  «        r|V — Œ!ŒrdS )a¤  
    Yield all direct child nodes of *node*, that is, all fields that
    are nodes and all items of fields that are lists of nodes.

    :param node:          AST node to be iterated upon
    :param omit:          String or tuple of strings denoting the
                          attributes of the node to be omitted from
                          further parsing
    :param _fields_order: Order of AST node fields
    N)Ú	__class__Úgetattrr   r   ÚASTÚlist)r&   ÚomitÚ_fields_orderr:   Úfieldr{   s         r
   Úiter_child_nodesr…   ³   s«   è è € ð ˜dœnÔ-ð 	ð 	ˆØð 	�D˜D�L�LØÝ˜˜d DÑ)Ô)ˆÝ�e�SœWÑ%Ô%ð 	ØˆKˆKˆKˆKÝ˜�tÑ$Ô$ð 	Øð ð �Ý˜d¥C¤GÑ,Ô,ð Ø�J�J�Jøøð	ð 	r   c                 ó$  — t          | t          j        ¦  «        r| j        S t          | t          j        ¦  «        rt          d„ | j        D ¦   «         ¦  «        S t          | t          j        ¦  «        rt          | ¬¦  «        S t          ¦   «         S )Nc              3   ó4   K  — | ]}t          |¦  «        V — Œd S r   ©Úconvert_to_value)r   rT   s     r
   r-   z#convert_to_value.<locals>.<genexpr>Î   s+   è è € Ð<Ð<¨QÕ% aÑ(Ô(Ð<Ð<Ð<Ð<Ð<Ð<r   ©r{   )
r   r   r    r!   r.   ra   r0   r6   ÚVariableKeyÚUnhandledKeyTyperŠ   s    r
   r‰   r‰   Ê   s‚   € Ý�$�œÑ%Ô%ð "ØŒzÐÝ	�D�#œ)Ñ	$Ô	$ð "ÝÐ<Ð<°$´)Ð<Ñ<Ô<Ñ<Ô<Ð<Ý	�D�#œ(Ñ	#Ô	#ð "Ý Ð%Ñ%Ô%Ð%åÑ!Ô!Ð!r   c                 ó\   — t          | t          j        ¦  «        ot          | ¦  «        dk    S )NÚNotImplemented)r   r   r6   ÚgetNodeNamer%   s    r
   Úis_notimplemented_name_noder�   Õ   s'   € Ý�d�CœHÑ%Ô%ÐO­+°dÑ*;Ô*;Ð?OÒ*OÐOr   c                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )ÚBindingar  
    Represents the binding of a value to a name.

    The checker uses this to keep track of which names have been bound and
    which names have not. See L{Assignment} for a special type of binding that
    is checked with stricter rules.

    @ivar used: pair of (L{Scope}, node) indicating the scope and
                the node that this binding was last used.
    c                 ó0   — || _         || _        d| _        d S ©NF)r:   ÚsourceÚused)rl   r:   r•   s      r
   Ú__init__zBinding.__init__å   s   € ØˆŒ	ØˆŒØˆŒ	ˆ	ˆ	r   c                 ó   — | j         S r   )r:   ©rl   s    r
   Ú__str__zBinding.__str__ê   s
   € ØŒyÐr   c                 ó~   — d                      | j        j        | j        | j        j        t          | ¦  «        ¦  «        S )Nz)<{} object {!r} from line {!r} at 0x{:x}>)Úformatr~   rs   r:   r•   Úlinenor7   r™   s    r
   Ú__repr__zBinding.__repr__í   s8   € Ø:×AÒAØŒNÔ#ØŒIØŒKÔÝˆt‰HŒHñ	
ô 
ð 	
r   c                 óL   — t          |t          ¦  «        o| j        |j        k    S r   )r   Ú
Definitionr:   ©rl   Úothers     r
   Ú	redefineszBinding.redefinesõ   s    € Ý˜%¥Ñ,Ô,ÐH°´¸e¼jÒ1HÐHr   N)rs   rt   ru   rv   r—   rš   rž   r£   r   r   r
   r’   r’   Ù   s_   € € € € € ð	ð 	ðð ð ð
ð ð ð
ð 
ð 
ðIð Ið Ið Ið Ir   r’   c                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )r    z7
    A binding that defines a function or a class.
    c                 ó�   •— t          ¦   «                              |¦  «        p$t          |t          ¦  «        o| j        |j        k    S r   )Úsuperr£   r   Ú
Assignmentr:   ©rl   r¢   r~   s     €r
   r£   zDefinition.redefinesý   s>   ø€ å‰GŒG×Ò˜eÑ$Ô$ð HÝ˜�zÑ*Ô*ÐF¨t¬y¸E¼JÒ/Fð	
r   )rs   rt   ru   rv   r£   Ú__classcell__©r~   s   @r
   r    r    ù   sB   ø€ € € € € ðð ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r   r    c                   ó(   ‡ — e Zd ZdZˆ fd„Zd„ Zˆ xZS )ÚBuiltinz-A definition created for all Python builtins.c                 óL   •— t          ¦   «                              |d ¦  «         d S r   )r¦   r—   )rl   r:   r~   s     €r
   r—   zBuiltin.__init__  s#   ø€ Ý‰Œ×Ò˜˜tÑ$Ô$Ð$Ð$Ð$r   c                 óh   — d                      | j        j        | j        t	          | ¦  «        ¦  «        S )Nz<{} object {!r} at 0x{:x}>)rœ   r~   rs   r:   r7   r™   s    r
   rž   zBuiltin.__repr__
  s0   € Ø+×2Ò2ØŒNÔ#ØŒIÝˆt‰HŒHñ
ô 
ð 	
r   )rs   rt   ru   rv   r—   rž   r©   rª   s   @r
   r¬   r¬     sM   ø€ € € € € Ø7Ð7ð%ð %ð %ð %ð %ð
ð 
ð 
ð 
ð 
ð 
ð 
r   r¬   c                   ó   — e Zd ZdZdS )rŒ   zS
    A dictionary key of a type that we cannot or do not check for duplicates.
    N©rs   rt   ru   rv   r   r   r
   rŒ   rŒ     ó   € € € € € ðð ð ð r   rŒ   c                   ó$   — e Zd ZdZd„ Zd„ Zd„ ZdS )r‹   zY
    A dictionary key which is a variable.

    @ivar item: The variable AST object.
    c                 ó   — |j         | _        d S r   )r7   r:   )rl   r{   s     r
   r—   zVariableKey.__init__  s   € Ø”GˆŒ	ˆ	ˆ	r   c                 óB   — |j         | j         k    o|j        | j        k    S r   )r~   r:   )rl   Úcompares     r
   Ú__eq__zVariableKey.__eq__!  s%   € àÔ ¤Ò/ð &ØŒL˜DœIÒ%ð	
r   c                 ó*   — t          | j        ¦  «        S r   )Úhashr:   r™   s    r
   Ú__hash__zVariableKey.__hash__'  s   € Ý�D”I‰ŒÐr   N)rs   rt   ru   rv   r—   r¶   r¹   r   r   r
   r‹   r‹     sK   € € € € € ðð ð
ð ð ð
ð 
ð 
ðð ð ð ð r   r‹   c                   óL   ‡ — e Zd ZdZdˆ fd„	Zd„ Zd„ Zed„ ¦   «         Zd„ Z	ˆ xZ
S )	ÚImportationzË
    A binding created by an import statement.

    @ivar fullName: The complete name given to the import statement,
        possibly including multiple dotted components.
    @type fullName: C{str}
    Nc                 ól   •— |p|| _         g | _        t          ¦   «                              ||¦  «         d S r   )ÚfullNameÚ	redefinedr¦   r—   )rl   r:   r•   Ú	full_namer~   s       €r
   r—   zImportation.__init__4  s6   ø€ Ø!Ð) TˆŒØˆŒÝ‰Œ×Ò˜˜vÑ&Ô&Ð&Ð&Ð&r   c                 ó–   — t          |t          ¦  «        r| j        |j        k    S t          |t          ¦  «        o| j        |j        k    S r   )r   ÚSubmoduleImportationr½   r    r:   r¡   s     r
   r£   zImportation.redefines9  sB   € Ý�eÕ1Ñ2Ô2ð 	3à”= E¤NÒ2Ð2Ý˜%¥Ñ,Ô,ÐH°´¸e¼jÒ1HÐHr   c                 óV   — | j                              d¦  «        d         | j        k     S )z.Return whether importation needs an as clause.ú.éÿÿÿÿ)r½   Úsplitr:   r™   s    r
   Ú
_has_aliaszImportation._has_alias?  s'   € à”=×&Ò& sÑ+Ô+¨BÔ/°4´9Ò<Ð<Ð<r   c                 ób   — |                       ¦   «         rd| j        › d| j        › �S d| j        z  S )z5Generate a source statement equivalent to the import.úimport ú as z	import %s©rÆ   r½   r:   r™   s    r
   Úsource_statementzImportation.source_statementC  s=   € ð �?Š?ÑÔð 	/Ø;˜Tœ]Ð;Ð;°´	Ð;Ð;Ð;à ¤Ñ.Ð.r   c                 ó\   — |                       ¦   «         r| j        dz   | j        z   S | j        S ©z#Return import full name with alias.rÉ   rÊ   r™   s    r
   rš   zImportation.__str__K  s0   € à�?Š?ÑÔð 	!Ø”= 6Ñ)¨D¬IÑ5Ð5à”=Ð r   r   )rs   rt   ru   rv   r—   r£   rÆ   ÚpropertyrË   rš   r©   rª   s   @r
   r»   r»   +  s’   ø€ € € € € ðð ð'ð 'ð 'ð 'ð 'ð 'ð
Ið Ið Ið=ð =ð =ð ð/ð /ñ „Xð/ð!ð !ð !ð !ð !ð !ð !r   r»   c                   óH   ‡ — e Zd ZdZˆ fd„Zˆ fd„Zd„ Zed„ ¦   «         Zˆ xZ	S )rÁ   a…  
    A binding created by a submodule import statement.

    A submodule import is a special case where the root module is implicitly
    imported, without an 'as' clause, and the submodule is also imported.
    Python does not restrict which attributes of the root module may be used.

    This class is only used when the submodule import is without an 'as' clause.

    pyflakes handles this case by registering the root module name in the scope,
    allowing any attribute of the root module to be accessed.

    RedefinedWhileUnused is suppressed in `redefines` unless the submodule
    name is also the same, to avoid false positives.
    c                 óÔ   •— d|v r|rt          |t          j        ¦  «        sJ ‚|                     d¦  «        d         }t	          ¦   «                              ||¦  «         || _        d S )NrÃ   r   )r   r   ÚImportrÅ   r¦   r—   r½   )rl   r:   r•   Úpackage_namer~   s       €r
   r—   zSubmoduleImportation.__init__d  s]   ø€ à�dˆ{ˆ{ Fˆ{­j¸ÅÄÑ.LÔ.Lˆ{ˆ{ˆ{Ø—z’z #‘” qÔ)ˆÝ‰Œ×Ò˜ vÑ.Ô.Ð.ØˆŒˆˆr   c                 ó�   •— t          |t          ¦  «        r| j        |j        k    S t          ¦   «                              |¦  «        S r   )r   r»   r½   r¦   r£   r¨   s     €r
   r£   zSubmoduleImportation.redefinesk  s<   ø€ Ý�e�[Ñ)Ô)ð 	3Ø”= E¤NÒ2Ð2Ý‰wŒw× Ò  Ñ'Ô'Ð'r   c                 ó   — | j         S r   ©r½   r™   s    r
   rš   zSubmoduleImportation.__str__p  s
   € ØŒ}Ðr   c                 ó   — d| j         z   S )NrÈ   rÕ   r™   s    r
   rË   z%SubmoduleImportation.source_statements  s   € à˜4œ=Ñ(Ð(r   )
rs   rt   ru   rv   r—   r£   rš   rÎ   rË   r©   rª   s   @r
   rÁ   rÁ   S  s…   ø€ € € € € ðð ð ð ð ð ð ð(ð (ð (ð (ð (ð
ð ð ð ð)ð )ñ „Xð)ð )ð )ð )ð )r   rÁ   c                   ó<   ‡ — e Zd Zdˆ fd„	Zd„ Zed„ ¦   «         Zˆ xZS )ÚImportationFromNc                 óÈ   •— || _         |p|| _        |                     d¦  «        r|| j        z   }n|dz   | j        z   }t          ¦   «                              |||¦  «         d S ©NrÃ   )ÚmoduleÚ	real_nameÚendswithr¦   r—   )rl   r:   r•   rÛ   rÜ   r¿   r~   s         €r
   r—   zImportationFrom.__init__z  sj   ø€ ØˆŒØ"Ð* dˆŒà�?Š?˜3ÑÔð 	6Ø ¤Ñ/ˆIˆIà ™ t¤~Ñ5ˆIå‰Œ×Ò˜˜v yÑ1Ô1Ð1Ð1Ð1r   c                 óT   — | j         | j        k    r| j        dz   | j        z   S | j        S rÍ   )rÜ   r:   r½   r™   s    r
   rš   zImportationFrom.__str__…  s-   € àŒ>˜TœYÒ&Ð&Ø”= 6Ñ)¨D¬IÑ5Ð5à”=Ð r   c                 óz   — | j         | j        k    rd| j        › d| j         › d| j        › �S d| j        › d| j        › �S )Núfrom z import rÉ   )rÜ   r:   rÛ   r™   s    r
   rË   z ImportationFrom.source_statementŒ  sO   € àŒ>˜TœYÒ&Ð&ØO˜4œ;ÐOÐO°´ÐOÐOÀDÄIÐOÐOÐOà;˜4œ;Ð;Ð;°´	Ð;Ð;Ð;r   r   )rs   rt   ru   r—   rš   rÎ   rË   r©   rª   s   @r
   rØ   rØ   x  sg   ø€ € € € € ð	2ð 	2ð 	2ð 	2ð 	2ð 	2ð!ð !ð !ð ð<ð <ñ „Xð<ð <ð <ð <ð <r   rØ   c                   ó>   ‡ — e Zd ZdZˆ fd„Zed„ ¦   «         Zd„ Zˆ xZS )ÚStarImportationz3A binding created by a 'from x import *' statement.c                 ón   •— t          ¦   «                              d|¦  «         |dz   | _        || _        d S )NÚ*z.*)r¦   r—   r:   r½   )rl   r:   r•   r~   s      €r
   r—   zStarImportation.__init__—  s5   ø€ Ý‰Œ×Ò˜˜fÑ%Ô%Ð%ð ˜4‘KˆŒ	ØˆŒˆˆr   c                 ó   — d| j         z   dz   S )Nrà   z	 import *rÕ   r™   s    r
   rË   z StarImportation.source_statementž  s   € à˜œÑ&¨Ñ4Ð4r   c                 óR   — | j                              d¦  «        r| j        S | j        S rÚ   )r½   rÝ   rË   r:   r™   s    r
   rš   zStarImportation.__str__¢  s+   € àŒ=×!Ò! #Ñ&Ô&ð 	ØÔ(Ð(à”9Ðr   )	rs   rt   ru   rv   r—   rÎ   rË   rš   r©   rª   s   @r
   râ   râ   ”  sh   ø€ € € € € Ø=Ð=ðð ð ð ð ð ð5ð 5ñ „Xð5ðð ð ð ð ð ð r   râ   c                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚFutureImportationzs
    A binding created by a from `__future__` import statement.

    `__future__` imports are implicitly used.
    c                 ó`   •— t          ¦   «                              ||d¦  «         ||f| _        d S )NÚ
__future__)r¦   r—   r–   )rl   r:   r•   Úscoper~   s       €r
   r—   zFutureImportation.__init__±  s.   ø€ Ý‰Œ×Ò˜˜v |Ñ4Ô4Ð4Ø˜F�OˆŒ	ˆ	ˆ	r   ©rs   rt   ru   rv   r—   r©   rª   s   @r
   rè   rè   ª  sB   ø€ € € € € ðð ð$ð $ð $ð $ð $ð $ð $ð $ð $r   rè   c                   ó   — e Zd ZdZdS )ÚArgumentz3
    Represents binding a name as an argument.
    Nr°   r   r   r
   rî   rî   ¶  r±   r   rî   c                   ó   — e Zd ZdZdS )r§   a  
    Represents binding a name with an explicit assignment.

    The checker will raise warnings for any Assignment that isn't used. Also,
    the checker does not consider assignments in tuple/list unpacking to be
    Assignments, rather it treats them as simple Bindings.
    Nr°   r   r   r
   r§   r§   ¼  s   € € € € € ðð ð ð r   r§   c                   ó   — e Zd ZdZdS )ÚNamedExprAssignmentzB
    Represents binding a name with an assignment expression.
    Nr°   r   r   r
   rñ   rñ   Æ  r±   r   rñ   c                   ó   — e Zd ZdZd„ ZdS )Ú
Annotationa  
    Represents binding a name to a type without an associated value.

    As long as this name is not assigned a value in another binding, it is considered
    undefined for most purposes. One notable exception is using the name as a type
    annotation.
    c                 ó   — dS )zAAn Annotation doesn't define any name, so it cannot redefine one.Fr   r¡   s     r
   r£   zAnnotation.redefinesÕ  s   € àˆur   N)rs   rt   ru   rv   r£   r   r   r
   ró   ró   Ì  s-   € € € € € ðð ðð ð ð ð r   ró   c                   ó   — e Zd ZdS )ÚFunctionDefinitionN©rs   rt   ru   r   r   r
   rö   rö   Ú  ó   € € € € € Ø€Dr   rö   c                   ó   — e Zd ZdS )ÚClassDefinitionNr÷   r   r   r
   rú   rú   Þ  rø   r   rú   c                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚExportBindingaø  
    A binding created by an C{__all__} assignment.  If the names in the list
    can be determined statically, they will be treated as names for export and
    additional checking applied to them.

    The only recognized C{__all__} assignment via list/tuple concatenation is in the
    following format:

        __all__ = ['a'] + ['b'] + ['c']

    Names which are imported and not otherwise used but appear in the value of
    C{__all__} will not have an unused import warning reported for them.
    c                 ó$  •‡ — d|v r:t          |t          j        ¦  «        r t          |d         j        ¦  «        ‰ _        ng ‰ _        ˆ fd„}t          |j        t          j        t          j        f¦  «        r ||j        ¦  «         nåt          |j        t          j        ¦  «        rÆ|j        }t          |j	        t          j        t          j        f¦  «        r”|j
        }|j	        } ||¦  «         t          |t          j        ¦  «        r|}n3t          |t          j        t          j        f¦  «        r ||¦  «         n,n+t          |j	        t          j        t          j        f¦  «        °”t          ¦   «                              ||¦  «         d S )NÚ__all__c                 óÂ   •— | j         D ]U}t          |t          j        ¦  «        r9t          |j        t
          ¦  «        r‰j                             |j        ¦  «         ŒVd S r   )r0   r   r   r    r!   ÚstrÚnamesÚappend)Ú	containerr&   rl   s     €r
   Ú_add_to_namesz-ExportBinding.__init__.<locals>._add_to_names÷  s^   ø€ Ø!œð 2ð 2�Ý˜d¥C¤LÑ1Ô1ð 2µjÀÄÍSÑ6QÔ6Qð 2Ø”J×%Ò% d¤jÑ1Ô1Ð1øð2ð 2r   )r   r   Ú	AugAssignr�   r  r!   ÚListr.   ÚBinOpÚrightÚleftr¦   r—   )	rl   r:   r•   rë   r  ÚcurrentValuer	  r  r~   s	   `       €r
   r—   zExportBinding.__init__ñ  sx  øø€ Ø˜ÐÐ¥*¨VµS´]Ñ"CÔ"CÐÝ˜e IÔ.Ô4Ñ5Ô5ˆDŒJˆJàˆDŒJð	2ð 	2ð 	2ð 	2ð 	2õ
 �f”l¥S¤X­s¬yÐ$9Ñ:Ô:ð 	ØˆM˜&œ,Ñ'Ô'Ð'Ð'å˜œ¥c¤iÑ0Ô0ð 	Ø!œ<ˆLÝ˜\Ô/µ#´(½C¼IÐ1FÑGÔGð Ø#Ô(�Ø$Ô*�Ø�˜eÑ$Ô$Ð$å˜d¥C¤IÑ.Ô.ð 	Ø#'�L�Lå ¥s¤xµ´Ð&;Ñ<Ô<ð Ø!�M $Ñ'Ô'Ð'àð õ ˜\Ô/µ#´(½C¼IÐ1FÑGÔGð õ 	‰Œ×Ò˜˜vÑ&Ô&Ð&Ð&Ð&r   rì   rª   s   @r
   rü   rü   â  sB   ø€ € € € € ðð ð'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'r   rü   c                   ó   — e Zd ZdZd„ ZdS )ÚScopeFc                 ó~   — | j         j        }d|› dt          | ¦  «        d›dt                               | ¦  «        › d�S )Nú<z at 0xÚxú ú>)r~   rs   r7   Údictrž   )rl   Ú	scope_clss     r
   rž   zScope.__repr__  sB   € Ø”NÔ+ˆ	ØG�9ÐGÐG¥B t¡H¤HÐGÐGÐGµ·²¸tÑ1DÔ1DÐGÐGÐGÐGr   N)rs   rt   ru   ÚimportStarredrž   r   r   r
   r  r    s-   € € € € € Ø€MðHð Hð Hð Hð Hr   r  c                   ó   — e Zd ZdS )Ú
ClassScopeNr÷   r   r   r
   r  r    rø   r   r  c                   ó:   ‡ — e Zd ZdZdZh d£Zˆ fd„Zd„ Zd„ Zˆ xZ	S )ÚFunctionScopezp
    I represent a name scope for a function.

    @ivar globals: Names declared 'global' in this function.
    F>   Ú__tracebackhide__Ú__traceback_info__Ú__traceback_supplement__c                 ó’   •— t          ¦   «                              ¦   «          | j                             ¦   «         | _        d | _        d S r   )r¦   r—   Ú
alwaysUsedÚcopyÚglobalsÚreturnValue)rl   r~   s    €r
   r—   zFunctionScope.__init__)  s<   ø€ Ý‰Œ×ÒÑÔÐà”×+Ò+Ñ-Ô-ˆŒØˆÔÐÐr   c              #   ó®   K  — |                       ¦   «         D ]=\  }}|j        s1|dk    r+|| j        vr"| j        st	          |t
          ¦  «        r||fV — Œ>dS )zR
        Return a generator for the assignments which have not been used.
        Ú_N)ry   r–   r  Ú
usesLocalsr   r§   ©rl   r:   Úbindings      r
   Úunused_assignmentsz FunctionScope.unused_assignments/  s|   è è € ð "ŸZšZ™\œ\ð 	$ð 	$‰MˆD�'Ø”Lð $Ø˜C’K�KØ ¤Ð,Ð,Øœð -å˜w­
Ñ3Ô3ð -ð ˜G�mÐ#Ð#Ð#øð	$ð 	$r   c              #   ó‚   K  — |                       ¦   «         D ]'\  }}|j        st          |t          ¦  «        r||fV — Œ(dS )zR
        Return a generator for the annotations which have not been used.
        N)ry   r–   r   ró   r$  s      r
   Úunused_annotationsz FunctionScope.unused_annotations;  sY   è è € ð "ŸZšZ™\œ\ð 	$ð 	$‰MˆD�'Ø”<ð $¥J¨w½
Ñ$CÔ$Cð $Ø˜G�mÐ#Ð#Ð#øð	$ð 	$r   )
rs   rt   ru   rv   r#  r  r—   r&  r(  r©   rª   s   @r
   r  r    sx   ø€ € € € € ðð ð
 €Jð.ð .ð .€Jð ð  ð  ð  ð  ð
$ð 
$ð 
$ð$ð $ð $ð $ð $ð $ð $r   r  c                   ó   — e Zd ZdS )Ú	TypeScopeNr÷   r   r   r
   r*  r*  D  rø   r   r*  c                   ó   — e Zd ZdS )ÚGeneratorScopeNr÷   r   r   r
   r,  r,  H  rø   r   r,  c                   ó   — e Zd ZdZdZdZdS )ÚModuleScopezScope for a module.TFN)rs   rt   ru   rv   Ú_futures_allowedÚ_annotations_future_enabledr   r   r
   r.  r.  L  s"   € € € € € ØÐØÐØ"'ÐÐÐr   r.  c                   ó   — e Zd ZdZdS )ÚDoctestScopezScope for a doctest.Nr°   r   r   r
   r2  r2  R  s   € € € € € ØÐÐÐr   r2  c                   ó"   — e Zd Z e¦   «         ZdS )ÚDetectClassScopedMagicN)rs   rt   ru   Údirr  r   r   r
   r4  r4  V  s   € € € € € ØˆC‰EŒE€E€E€Er   r4  )Ú__file__Ú__builtins__Ú__annotations__ÚWindowsErrorc                 ó�   — t          | d¦  «        r| j        S t          | d¦  «        r| j        S t          | d¦  «        r| j        S d S )Nr7   r:   Úrest)Úhasattrr7   r:   r;  r%   s    r
   r�   r�   _  sY   € åˆt�TÑÔð ØŒwˆÝˆt�VÑÔð ØŒyÐÝˆt�VÑÔð ØŒyÐðð r   )ÚtypingÚtyping_extensionsc                 ó,  ‡‡— ˆˆfd„}ˆfd„}t          | t          j        ¦  «        o || j        ¦  «        p]t          | t          j        ¦  «        oCt          | j        t          j        ¦  «        o$ || j        j        ¦  «        o ‰| j        ¦  «        S )aX  
    Internal helper to determine whether or not something is a member of a
    typing module. This is used as part of working out whether we are within a
    type annotation context.

    Note: you probably don't want to use this function directly. Instead see the
    utils below which wrap it (`_is_typing` and `_is_any_typing_member`).
    c                 óÂ   •— t          ‰¦  «        D ]M}| |v rGt          ||          t          ¦  «        o)||          j        t          v o ‰||          j        ¦  «        c S ŒNdS r”   )Úreversedr   rØ   rÛ   ÚTYPING_MODULESrÜ   )r:   rë   Úis_name_match_fnÚscope_stacks     €€r
   Ú_bare_name_is_attrz-_is_typing_helper.<locals>._bare_name_is_attrv  s}   ø€ Ý˜kÑ*Ô*ð 	ð 	ˆEØ�uˆ}ˆ}å˜u Tœ{­OÑ<Ô<ð <Ø˜$”KÔ&­.Ð8ð<à$Ð$ U¨4¤[Ô%:Ñ;Ô;ðð ð ð ð ˆur   c                 ó–   •— t          ‰¦  «        D ]7}| |v r1t          ||          t          ¦  «        o||          j        t          v c S Œ8dS r”   )rA  r   r»   r½   rB  )r:   rë   rD  s     €r
   Ú_module_scope_is_typingz2_is_typing_helper.<locals>._module_scope_is_typing�  sc   ø€ Ý˜kÑ*Ô*ð 	ð 	ˆEØ�uˆ}ˆ}å˜u Tœ{­KÑ8Ô8ð ;Ø˜$”KÔ(­NÐ:ðð ð ð ð ˆur   )r   r   r6   r7   r8   r!   r9   )r&   rC  rD  rE  rG  s    ``  r
   Ú_is_typing_helperrH  l  sÀ   øø€ ð	ð 	ð 	ð 	ð 	ð 	ðð ð ð ð õ �t�SœXÑ&Ô&ð (ØÐ˜tœwÑ'Ô'ð	
õ �t�Sœ]Ñ+Ô+ð (Ý�t”z¥3¤8Ñ,Ô,ð(à#Ð# D¤J¤MÑ2Ô2ð(ð Ð˜TœYÑ'Ô'ð
r   c                 ó,   ‡— t          | ˆfd„|¦  «        S )zÉ
    Determine whether `node` represents the member of a typing module specified
    by `typing_attr`.

    This is used as part of working out whether we are within a type annotation
    context.
    c                 ó   •— | ‰k    S r   r   )r  Útyping_attrs    €r
   ú<lambda>z_is_typing.<locals>.<lambda>   s   ø€ ¨Q°+Ò-=€ r   ©rH  )r&   rK  rD  s    ` r
   Ú
_is_typingrN  ˜  s!   ø€ õ ˜TÐ#=Ð#=Ð#=Ð#=¸{ÑKÔKÐKr   c                 ó&   — t          | d„ |¦  «        S )zª
    Determine whether `node` represents any member of a typing module.

    This is used as part of working out whether we are within a type annotation
    context.
    c                 ó   — dS ©NTr   )r  s    r
   rL  z'_is_any_typing_member.<locals>.<lambda>ª  s   € ¨T€ r   rM  )r&   rD  s     r
   Ú_is_any_typing_memberrR  £  s   € õ ˜T > >°;Ñ?Ô?Ð?r   c                 ó¤   ‡— t          | j        t          j        t          j        f¦  «        o$t          ˆfd„| j        j        D ¦   «         ¦  «        S )Nc              3   ó:   •K  — | ]}t          |d ‰¦  «        V — ŒdS )ÚoverloadN)rN  )r   ÚdecrD  s     €r
   r-   z%is_typing_overload.<locals>.<genexpr>°  sC   øè è € ð 
ð 
àõ �s˜J¨Ñ4Ô4ð
ð 
ð 
ð 
ð 
ð 
r   )r   r•   r   ÚFunctionDefÚAsyncFunctionDefÚanyÚdecorator_list)r!   rD  s    `r
   Úis_typing_overloadr[  ­  s^   ø€ å�5”<¥#¤/µ3Ô3GÐ!HÑIÔIð 	
Ýð 
ð 
ð 
ð 
à”|Ô2ð
ñ 
ô 
ñ 	
ô 	
ðr   c                   ó   — e Zd ZdZdZdZdS )ÚAnnotationStater   rE   é   N)rs   rt   ru   ÚNONEÚSTRINGÚBAREr   r   r
   r]  r]  ·  s   € € € € € Ø€DØ€FØ€D€D€Dr   r]  c                 óF   ‡ — t          j        ‰ ¦  «        ˆ fd„¦   «         }|S )Nc                 óx   •— |                       ¦   «         5   ‰| g|¢R i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S r   )Ú_enter_annotation©rl   ÚargsÚkwargsÚfuncs      €r
   Úin_annotation_funcz)in_annotation.<locals>.in_annotation_func¾  s–   ø€ à×#Ò#Ñ%Ô%ð 	/ð 	/Ø�4˜Ð.˜tÐ.Ð.Ð. vÐ.Ð.ð	/ð 	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   –/¯3¶3©Ú	functoolsÚwraps©rh  ri  s   ` r
   Úin_annotationrn  ½  ó9   ø€ Ý„_�TÑÔð/ð /ð /ð /ñ Ôð/ð Ðr   c                 óF   ‡ — t          j        ‰ ¦  «        ˆ fd„¦   «         }|S )Nc                 óŽ   •— |                       t          j        ¦  «        5   ‰| g|¢R i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S r   )rd  r]  r`  re  s      €r
   ri  z0in_string_annotation.<locals>.in_annotation_funcÆ  s›   ø€ à×#Ò#¥OÔ$:Ñ;Ô;ð 	/ð 	/Ø�4˜Ð.˜tÐ.Ð.Ð. vÐ.Ð.ð	/ð 	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   ¡:º>Á>rj  rm  s   ` r
   Úin_string_annotationrr  Å  ro  r   c                   óŽ  — e Zd ZdZej        eej        eej	        e
ej        e
ej        e
ej        eej        eej        eej        ei	ZdZdZej        Z ee¦  «                             e¦  «        Zej                             d¦  «        Z e r(e !                    e  "                    d¦  «        ¦  «         [ dddej        v dfd	„Z#d
„ Z$d„ Z%d„ Z&e'd„ ¦   «         Z(e(j)        d„ ¦   «         Z(e'd„ ¦   «         Z*e*j)        d„ ¦   «         Z*e'd„ ¦   «         Z+e,j-        d„ ¦   «         Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d„ Z4d„ Z5d„ Z6d„ Z7d„ Z8d„ Z9d„ Z:d„ Z;d „ Z<e,j-        ej=        fd!„¦   «         Z>e'd"„ ¦   «         Z?dPd#„Z@d$„ ZAd%„ ZBd&„ ZCd'„ ZD eEjF        ¦   «         jG        ZHd(„ ZIeJd)„ ¦   «         ZKd*„ ZLeMd+„ ¦   «         ZNd,„ ZOe@xZPxZQxZRxZSxZTxZUxZVxZWZXeOZYe@xZZxZ[xZ\xZ]xZ^xZ_Z`d-„ Zad.„ Zbd/„ Zcd0„ Zdd1„ Zed2„ Zfe@xZgxZhZieOxZjxZkxZlxZmxZnZoeOxZpxZqxZrxZsxZtxZuxZvxZwxZxxZyxZzxZ{xZ|xZ}xZ~xZxZ€xZ�xZ‚xZƒxZ„xZ…xZ†xZ‡xZˆxZ‰xZŠxZ‹ZŒd3„ Z�e@xZŽxZ�Z�d4Z‘d5„ Z’d6„ Z“d7„ Z”e”Z•d8„ Z–d9„ Z—e—Z˜d:„ Z™e™xZšxZ›Zœd;„ Z�d<„ ZžežZŸd=„ Z d>„ Z¡e¡xZ¢Z£d?„ Z¤e¤Z¥d@„ Z¦dA„ Z§dB„ Z¨dC„ Z©dD„ ZªdE„ Z«e«Z¬dF„ Z­dG„ Z®dH„ Z¯e¯Z°dI„ Z±dJ„ Z²dK„ Z³e@xZ´xZµxZ¶xZ·Z¸e@xZ¹ZºdL„ Z»e»xZ¼xZ½Z¾e,j-        dM„ ¦   «         Z¿dN„ ZÀe;xZÁZÂdO„ ZÃdS )QÚCheckerz2I check the cleanliness and sanity of Python code.r   NÚPYFLAKES_BUILTINSú,z(none)ÚPYFLAKES_DOCTESTr   c                 óÎ  — i | _         t          j        ¦   «         | _        g | _        g | _        || _        |r| j                             |¦  «        | _        || _	        dg| _
        || _        g | _        	 t          j        t          |¦  «                 }n # t           $ r t#          d|z  ¦  «        ‚w xY w|                      |¦  «        5  | j        D ]%}|                      d t)          |¦  «        ¦  «         Œ&|                      |¦  «         |                      ¦   «          d d d ¦  «         n# 1 swxY w Y   |                      ¦   «          |rt1          j        dd¬¦  «         d S d S )Nr   z$No scope implemented for the node %rz1`file_tokens` will be removed in a future versionr^  )Ú
stacklevel)Ú_nodeHandlersÚcollectionsÚdequeÚ	_deferredÚ
deadScopesr   ÚfilenameÚbuiltInsÚunionÚwithDoctestÚexceptHandlersÚrootÚ
scopeStackrt  Ú_ast_node_scoper#   ÚKeyErrorÚRuntimeErrorÚin_scopeÚ
addBindingr¬   ÚhandleChildrenÚ_run_deferredÚcheckDeadScopesÚwarningsÚwarn)rl   Útreer  Úbuiltinsr‚  Úfile_tokensÚscope_tpÚbuiltins           r
   r—   zChecker.__init__æ  sÊ  € àˆÔÝ$Ô*Ñ,Ô,ˆŒØˆŒØˆŒØ ˆŒØð 	:Ø œM×/Ò/°Ñ9Ô9ˆDŒMØ&ˆÔØ!˜dˆÔØˆŒ	àˆŒð	NÝÔ.­t°D©z¬zÔ:ˆHˆHøÝð 	Nð 	Nð 	NÝÐEÈÑLÑMÔMÐMð	Nøøøð �]Š]˜8Ñ$Ô$ð 	!ð 	!Øœ=ð 8ð 8�Ø—’ ¥g¨gÑ&6Ô&6Ñ7Ô7Ð7Ð7Ø×Ò Ñ%Ô%Ð%Ø×ÒÑ Ô Ð ð		!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	×ÒÑÔÐàð 	ÝŒMØCØðñ ô ð ð ð ð	ð 	s   Á4B ÂB1Ã	AD,Ä,D0Ä3D0c                 ód   — | j                              || j        dd…         | j        f¦  «         dS )a{  
        Schedule a function handler to be called just before completion.

        This is used for handling function bodies, which must be deferred
        because code later in the file might modify the global scope. When
        `callable` is called, the scope at the time this is called will be
        restored, however it will contain any new bindings added to it.
        N)r}  r  r…  Úoffset)rl   Úcallables     r
   ÚdeferFunctionzChecker.deferFunction  s4   € ð 	Œ×Ò˜x¨¬¸¸¸Ô);¸T¼[ÐIÑJÔJÐJÐJÐJr   c                 óÈ   — | j         | j        f}| j        r=| j                             ¦   «         \  }}}||c| _         | _         |¦   «          | j        °=|\  | _         | _        d S r   )r…  r–  r}  Úpopleft)rl   ÚorigÚhandlerrë   r–  s        r
   rŒ  zChecker._run_deferred  so   € Ø” ¤Ð-ˆàŒnð 	Ø%)¤^×%;Ò%;Ñ%=Ô%=Ñ"ˆG�U˜FØ+0°&Ð(ˆDŒO˜Tœ[ØˆG‰IŒIˆIð Œnð 	ð
 (,Ñ$ˆŒ˜œ˜˜r   c                 ór   — t          | j        ¦  «        dk    ot          | j        d         t          ¦  «        S )Nr^  rE   )rF   r…  r   r2  r™   s    r
   Ú_in_doctestzChecker._in_doctest  s2   € Ý�D”OÑ$Ô$¨Ò)ð =Ý˜4œ?¨1Ô-­|Ñ<Ô<ð	>r   c                 óZ   — t          d„ | j        D ¦   «         ¦  «        sdS | j        j        S )Nc              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S r   )r   r.  )r   rë   s     r
   r-   z)Checker.futuresAllowed.<locals>.<genexpr>"  s@   è è € ð 1ð 1Øõ ˜e¥[Ñ1Ô1ð 1ð 1ð 1ð 1ð 1ð 1r   F)r/   r…  rë   r/  r™   s    r
   ÚfuturesAllowedzChecker.futuresAllowed   sB   € åð 1ð 1Ø $¤ð1ñ 1ô 1ñ 1ô 1ð 	à�5àŒzÔ*Ð*r   c                 ób   — |du sJ ‚t          | j        t          ¦  «        rd| j        _        d S d S r”   )r   rë   r.  r/  ©rl   r!   s     r
   r¡  zChecker.futuresAllowed(  s=   € à˜ˆ~ˆ~ˆ~ˆ~Ý�d”j¥+Ñ.Ô.ð 	0Ø*/ˆDŒJÔ'Ð'Ð'ð	0ð 	0r   c                 óX   — | j         d         }t          |t          ¦  «        sdS |j        S )Nr   F)r…  r   r.  r0  )rl   rë   s     r
   ÚannotationsFutureEnabledz Checker.annotationsFutureEnabled.  s.   € à” Ô"ˆÝ˜%¥Ñ-Ô-ð 	Ø�5ØÔ0Ð0r   c                 ób   — |du sJ ‚t          | j        t          ¦  «        sJ ‚d| j        _        d S rQ  )r   rë   r.  r0  r£  s     r
   r¥  z Checker.annotationsFutureEnabled5  s7   € à˜ˆ}ˆ}ˆ}ˆ}Ý˜$œ*¥kÑ2Ô2Ð2Ð2Ð2Ø15ˆŒ
Ô.Ð.Ð.r   c                 ó   — | j         d         S )NrÄ   )r…  r™   s    r
   rë   zChecker.scope;  s   € àŒ˜rÔ"Ð"r   c              #   ó&  K  — | j                               |¦   «         ¦  «         	 d V — | j                             | j                              ¦   «         ¦  «         d S # | j                             | j                              ¦   «         ¦  «         w xY wr   )r…  r  r~  Úpop)rl   Úclss     r
   r‰  zChecker.in_scope?  s„   è è € àŒ×Ò˜s˜s™uœuÑ%Ô%Ð%ð	:ØˆEˆEˆEàŒO×"Ò" 4¤?×#6Ò#6Ñ#8Ô#8Ñ9Ô9Ð9Ð9Ð9øˆDŒO×"Ò" 4¤?×#6Ò#6Ñ#8Ô#8Ñ9Ô9Ð9Ð9øøøs   ¦A Á3Bc           	      ó  ‡— | j         D �]úŠt          ‰t          ¦  «        rŒt          ‰t          ¦  «        r€‰                     ¦   «         D ]+\  }}|                      t          j        |j        |¦  «         Œ,‰ 	                    ¦   «         D ]+\  }}|                      t          j
        |j        |¦  «         Œ,‰                     d¦  «        }|rt          |t          ¦  «        sd}|r(t          |j        ¦  «        }ˆfd„|j        D ¦   «         }ng x}}|�r
‰j        sYt           j                             | j        ¦  «        dk    r1|D ].}|                      t          j        ‰d         j        |¦  «         Œ/‰j        r£g }‰                     ¦   «         D ]8}t          |t,          ¦  «        r!||_        |                     |j        ¦  «         Œ9d                     t7          |¦  «        ¦  «        }|D ]/}|                      t          j        ‰d         j        ||¦  «         Œ0‰                     ¦   «         D ]Î}t          |t:          ¦  «        r·|j        p|j        |v }|s5t          j        }	|                      |	|j        tA          |¦  «        ¦  «         |j!        D ]h}
t          |  "                    |
¦  «        tF          ¦  «        rt          j$        }	n|rŒ:t          j%        }	|                      |	|
|j        |j        ¦  «         ŒiŒÏ�ŒüdS )z€
        Look at scopes which have been fully examined and report names in them
        which were imported but unused.
        rþ   Nc                 ó   •— g | ]}|‰v¯|‘Œ	S r   r   )r   r:   rë   s     €r
   r   z+Checker.checkDeadScopes.<locals>.<listcomp>]  s.   ø€ ð ð ð Ø!Ø 5Ð(Ð(ð Ø(Ð(Ð(r   ú__init__.pyú, )&r~  r   r  r  r&  Úreportr   ÚUnusedVariabler•   r(  ÚUnusedAnnotationrx   rü   Úsetr  r  ÚosÚpathÚbasenamer  ÚUndefinedExportÚvaluesrâ   r–   r  r½   Újoinrk   ÚImportStarUsager»   r:   ÚUnusedImportr   r¾   Ú	getParentÚ	FOR_TYPESÚImportShadowedByLoopVarÚRedefinedWhileUnused)rl   r:   r%  Úall_bindingÚ	all_namesÚ	undefinedÚ	from_listr!   r–   Úmessgr&   rë   s              @r
   r�  zChecker.checkDeadScopesG  s]  ø€ ð
 ”_ð ;	Kñ ;	KˆEå˜%¥Ñ,Ô,ð Øå˜%¥Ñ/Ô/ð QØ%*×%=Ò%=Ñ%?Ô%?ð Oð O‘M�D˜'Ø—K’K¥Ô 7¸¼ÈÑNÔNÐNÐNØ%*×%=Ò%=Ñ%?Ô%?ð Qð Q‘M�D˜'Ø—K’K¥Ô 9¸7¼>È4ÑPÔPÐPÐPàŸ)š) IÑ.Ô.ˆKØð #¥:¨k½=Ñ#IÔ#Ið #Ø"�àð +Ý Ô 1Ñ2Ô2�	ðð ð ð Ø%0Ô%6ðñ ô �	�	ð
 )+Ð*�	˜Iàñ NØÔ*ð CÝ”7×#Ò# D¤MÑ2Ô2°mÒCÐCà )ð Cð C˜ØŸš¥HÔ$<Ø$)¨)Ô$4Ô$;¸TñCô Cð Cð Cð Ô&ð 
NØ "�IØ#(§<¢<¡>¤>ð ?ð ?˜Ý% g­Ñ?Ô?ð ?Ø+6˜GœLØ%×,Ò,¨WÔ-=Ñ>Ô>Ð>øà $§	¢	­&°Ñ*;Ô*;Ñ <Ô <�IØ )ð Nð N˜ØŸš¥HÔ$<Ø$)¨)Ô$4Ô$;¸TÀ9ñNô Nð Nð Nð Ÿš™œð Kð K�Ý˜e¥[Ñ1Ô1ð KØ œ:Ð@¨¬°yÐ)@�DØð EÝ (Ô 5˜ØŸš E¨5¬<½¸U¹¼ÑDÔDÐDØ %¤ð Kð K˜Ý% d§n¢n°TÑ&:Ô&:½IÑFÔFð BÝ$,Ô$D˜E˜EØ!ð BØ$å$,Ô$A˜EØŸš E¨4°´¸U¼\ÑJÔJÐJÐJøñKð];	Kð ;	Kr   c                 óX   — | j                               || j        g|¢R i |¤Ž¦  «         d S r   )r   r  r  )rl   ÚmessageClassrf  rg  s       r
   r¯  zChecker.report‰  s:   € ØŒ×Ò˜\˜\¨$¬-ÐI¸$ÐIÐIÐIÀ&ÐIÐIÑJÔJÐJÐJÐJr   c                 óX   — 	 |j         }t          |d¦  «        st          |d¦  «        s|S Œ*)NTr0   Úctx)Ú_pyflakes_parentr<  ©rl   r&   s     r
   r»  zChecker.getParentŒ  s<   € ð	ØÔ(ˆDÝ˜4 Ñ(Ô(ð µ¸¸uÑ1EÔ1Eð Ø�ð	r   c                 óP  — |||fv s t          |d¦  «        rt          |d¦  «        sd S ||u r|S |j        |j        k    r|                      |j        ||¦  «        S |j        |j        k     r|                      ||j        |¦  «        S |                      |j        |j        |¦  «        S ©NrÈ  )r<  Ú_pyflakes_depthÚgetCommonAncestorrÈ  )rl   ÚlnodeÚrnodeÚstops       r
   rÍ  zChecker.getCommonAncestor“  sÍ   € à˜ ˜Ð&Ð&å˜EÐ#5Ñ6Ô6ð 'õ ˜EÐ#5Ñ6Ô6ð 'ð �4Ø�Eˆ>ˆ>ØˆLàÔ! EÔ$9Ò9Ð9Ø×)Ò)¨%Ô*@À%ÈÑNÔNÐNØÔ! EÔ$9Ò9Ð9Ø×)Ò)¨%°Ô1GÈÑNÔNÐNØ×%Ò%ØÔ"ØÔ"Øñ
ô 
ð 	
r   c                 óD   — |D ]}|                       |||¦  «        r dS ŒdS )NTF)rÍ  )rl   r&   Ú	ancestorsrÐ  Úas        r
   ÚdescendantOfzChecker.descendantOf©  s<   € Øð 	ð 	ˆAØ×%Ò% d¨A¨tÑ4Ô4ð Ø�t�tðàˆur   c                 ón   — |}	 || j         u rd S |                      |¦  «        }t          ||¦  «        r|S Œ3r   )r„  r»  r   )rl   r&   Úancestor_typeÚparents       r
   Ú_getAncestorzChecker._getAncestor¯  sK   € Øˆð	Ø˜œÐ"Ð"Ø�tØ—^’^ FÑ+Ô+ˆFÝ˜& -Ñ0Ô0ð Ø�ð	r   c                 ó€   — |                       |t          t          j                             ¦   «         ¦  «        ¦  «        S r   )rØ  ra   rt  r†  ÚkeysrÉ  s     r
   ÚgetScopeNodezChecker.getScopeNode¸  s/   € Ø× Ò  ¥u­WÔ-D×-IÒ-IÑ-KÔ-KÑ'LÔ'LÑMÔMÐMr   c                 óÎ   — |                       ||| j        ¦  «        }t          |¦  «        }|r7|D ]4}|                      |||¦  «        |                      |||¦  «        z  r dS Œ5dS )zATrue, if lnode and rnode are located on different forks of IF/TRYTF)rÍ  r„  r   rÔ  )rl   rÎ  rÏ  ÚancestorÚpartsry   s         r
   ÚdifferentForkszChecker.differentForks»  s†   € à×)Ò)¨%°¸¼	ÑBÔBˆÝ Ñ)Ô)ˆØð 	 Øð  ð  �Ø×$Ò$ U¨E°8Ñ<Ô<Ø×$Ò$ U¨E°8Ñ<Ô<ñ=ð  à˜4˜4ð ð ˆur   c                 ó  — | j         ddd…         D ]}|j        |v r nŒ|                     |j        ¦  «        }|�rnt          |t          ¦  «        �sX|                      ||j        ¦  «        �s<|                      |j        ¦  «        }t          |t          ¦  «        rBt          |t          ¦  «        r-|  
                    t          j        ||j        |j        ¦  «         nË|| j        u r~|j        sv|                     |¦  «        ra|j        dk    st          |t          ¦  «        rAt!          || j         ¦  «        s,|  
                    t          j        ||j        |j        ¦  «         nDt          |t          ¦  «        r/|                     |¦  «        r|j                             |¦  «         |j        | j        v r| j        |j                 j        |_        |j        | j        vst          |t(          ¦  «        sˆd}t          |t*          ¦  «        rZt          | j         |         t,          ¦  «        r:|dz  }t          |t*          ¦  «        r t          | j         |         t,          ¦  «        °:|| j         |         |j        <   dS dS )z¨
        Called when a binding is altered.

        - `node` is the statement responsible for the change
        - `value` is the new value, a Binding instance
        NrÄ   r"  rE   )r…  r:   rx   r   r¬   rß  r•   r»  r»   r¼  r¯  r   r½  rë   r–   r£   r[  r¾  r¾   r  ró   rñ   r,  )rl   r&   r!   rë   ÚexistingÚparent_stmtÚcur_scope_poss          r
   rŠ  zChecker.addBindingÆ  s{  € ð ”_ T T r TÔ*ð 	ð 	ˆEØŒz˜UÐ"Ð"Ø�ð #à—9’9˜UœZÑ(Ô(ˆàñ 	0�Z¨µ'Ñ:Ô:ñ 	0Ø×'Ò'¨¨h¬oÑ>Ô>ñ	0ð Ÿ.š.¨¬Ñ6Ô6ˆKÝ˜(¥KÑ0Ô0ð 0µZÀÍYÑ5WÔ5Wð 0Ø—’�HÔ<Ø  %¤*¨h¬oñ?ô ?ð ?ð ?ð ˜$œ*Ð$Ð$à%œ]ðCØ/4¯ª¸xÑ/HÔ/HðCàœ sÒ*Ð*­j¸Å;Ñ.OÔ.OÐ*Ý.¨x¸¼ÑIÔIð +ð —K’K¥Ô =Ø $ e¤j°(´/ñCô Cð Cøõ ˜H¥kÑ2Ô2ð 0°u·²ÀxÑ7PÔ7Pð 0ØÔ"×)Ò)¨$Ñ/Ô/Ð/àŒ:˜œÐ#Ð#àœ E¤JÔ/Ô4ˆEŒJð Œ:˜TœZÐ'Ð'­z¸%ÅÑ/LÔ/LÐ'ØˆMõ ˜5Õ"5Ñ6Ô6ð#å˜4œ?¨=Ô9½>ÑJÔJð#ð  Ñ"�õ ˜5Õ"5Ñ6Ô6ð#å˜4œ?¨=Ô9½>ÑJÔJð#ð
 :?ˆDŒO˜MÔ*¨5¬:Ñ6Ð6Ð6ð (Ð'r   c                 ó¬   — t           j                             d¦  «        rt          dt	          |¦  «        › �¦  «        ‚|                      |¦  «         d S )NÚPYFLAKES_ERROR_UNKNOWNzUnexpected type: )r³  Úenvironrx   ÚNotImplementedErrorr#   r‹  rÉ  s     r
   Ú_unknown_handlerzChecker._unknown_handler÷  sR   € õ Œ:�>Š>Ð2Ñ3Ô3ð 	&Ý%Ð&F½$¸t¹*¼*Ð&FÐ&FÑGÔGÐGà×Ò Ñ%Ô%Ð%Ð%Ð%r   c                 ó´   — 	 | j         |         S # t          $ r |j                             ¦   «         }Y nw xY wt	          | || j        ¦  «        x| j         |<   }|S r   )rz  r‡  rs   Úupperr   rè  )rl   rm   ÚnodeTyperœ  s       r
   ÚgetNodeHandlerzChecker.getNodeHandler  sw   € ð	3ØÔ% jÔ1Ð1øÝð 	3ð 	3ð 	3Ø!Ô*×0Ò0Ñ2Ô2ˆHˆHˆHð	3øøøå3:Ø�(˜DÔ1ñ4
ô 4
ð 	
ˆÔ˜:Ñ&¨ð ˆs   ‚ �#5´5c                 óî  — t          |¦  «        }|sd S d }d }| j        dd d…         D �]Ž}t          |t          ¦  «        r|dk    r d S |du rŒ&|                     |d ¦  «        }t          |t
          ¦  «        r| j        s| j        |f||         _        Œm|dk    rnt          |t          ¦  «        rYt          |t          j        ¦  «        r?t          |j        t          j        ¦  «        r |                      t          j        |¦  «         	 | j        |f||         _        ||         }t          |t"          ¦  «        r?|                     ¦   «         r+	 | j        |f||j                 _        n# t(          $ r Y nw xY w d S # t(          $ r Y nw xY w|p|j        }|durt          |t,          t.          f¦  «        }�Œ�|r¯g }	| j        dd d…         D ]V}|                     ¦   «         D ]?}t          |t2          ¦  «        r(| j        |f|_        |	                     |j        ¦  «         Œ@ŒWd                     t9          |	¦  «        ¦  «        }	|                      t          j        |||	¦  «         d S |dk    r*t<          j                              | j!        ¦  «        dk    rd S |tD          j#        v rt          | j        t          ¦  «        rd S d| j$        d         vr#|                      t          j%        ||¦  «         d S d S )	NrÄ   r~   FÚprintr®  Ú__path__r­  Ú	NameError)&r�   r…  r   r  rx   ró   Ú_in_postponed_annotationrë   r–   r¬   r   r  ÚopÚRShiftr¯  r   ÚInvalidPrintSyntaxr»   rÆ   r½   r‡  r  r*  r,  r·  râ   r  r¸  rk   r¹  r³  r´  rµ  r  r4  r  rƒ  ÚUndefinedName)
rl   r&   r×  r:   Úcan_access_class_varsr  rë   r%  r   rÂ  s
             r
   ÚhandleNodeLoadzChecker.handleNodeLoad  sC  € Ý˜4Ñ Ô ˆØð 	ØˆFð !%ÐØˆð ”_ R V¨ VÔ,ð *	ñ *	ˆEÝ˜%¥Ñ,Ô,ð Ø˜;Ò&Ð&Ø�F�FØ*¨eÐ3Ð3ð à—i’i  dÑ+Ô+ˆGÝ˜'¥:Ñ.Ô.ð °tÔ7Tð Ø$(¤J°Ð#5��d”Ô Øà�wŠˆ¥:¨gµwÑ#?Ô#?ˆÝ˜v¥s¤yÑ1Ô1ð CÝ" 6¤9­c¬jÑ9Ô9ðCà—K’K¥Ô ;¸TÑBÔBÐBðØ$(¤J°Ð#5��d”Ô ð
 ˜$”K�Ý˜a¥Ñ-Ô-ð °!·,²,±.´.ð ðØ26´*¸dÐ1C˜˜aœjÔ)Ô.Ð.øÝ#ð ð ð Ø˜ðøøøð
 ��øõ ð ð ð Ø�ðøøøð
 *Ð@¨UÔ-@ˆMà$¨EÐ1Ð1Ý(2Ø�I¥~Ð6ñ)ô )Ð%ùð ð 	ØˆIàœ¨¨¨R¨Ô0ð ;ð ;�Ø$Ÿ|š|™~œ~ð ;ð ;�GÝ! '­?Ñ;Ô;ð ;à(,¬
°DÐ'9˜œØ!×(Ò(¨Ô)9Ñ:Ô:Ð:øð	;ð Ÿ	š	¥&¨Ñ"3Ô"3Ñ4Ô4ˆIØ�KŠK�Ô0°$¸¸iÑHÔHÐHØˆFà�:ÒÐ¥"¤'×"2Ò"2°4´=Ñ"AÔ"AÀ]Ò"RÐ"RàˆFàÕ)Ô/Ð/Ð/µJ¸t¼zÍ:Ñ4VÔ4VÐ/ØˆFð ˜dÔ1°"Ô5Ð5Ð5Ø�KŠK�Ô.°°dÑ;Ô;Ð;Ð;Ð;ð 6Ð5s7   Ä
AE=ÅE*Å)E=Å*
E7Å4E=Å6E7Å7E=Å=
F
Æ	F
c                 óh  — t          |¦  «        }|sd S t          | j        t          ¦  «        r¨|| j        vrŸ| j        d d…         D ]�}t          |t          t
          f¦  «        sŒ||v o||         j        }|r]|d         | j        u rN|| j        j        vr@|                      t          j
        ||         j        d         |||         j        ¦  «          nŒ�|                      |¦  «        }t          |t          j        ¦  «        r|j        €t!          ||¦  «        }nÿt          |t"          t          j        f¦  «        s ||j        k    r&|                      |¦  «        st+          ||¦  «        }n­|dk    rlt          | j        t
          ¦  «        rRt          |j        t          j        t          j        t          j        f¦  «        rt1          ||j        | j        ¦  «        }n;t          |t          j        ¦  «        rt5          ||¦  «        }nt7          ||¦  «        }|                      ||¦  «         d S )NrÄ   r   rE   rþ   )r�   r   rë   r  r…  r.  r–   r  r¯  r   ÚUndefinedLocalr•   r»  r   Ú	AnnAssignr!   ró   r¼  ÚcomprehensionrÈ  ÚisLiteralTupleUnpackingr’   ÚAssignr  rü   Ú	NamedExprrñ   r§   rŠ  )rl   r&   r:   rë   r–   râ  r%  s          r
   ÚhandleNodeStorezChecker.handleNodeStoree  s(  € Ý˜4Ñ Ô ˆØð 	ØˆFå�d”j¥-Ñ0Ô0ð 	°TÀÄÐ5KÐ5Kàœ¨¨"¨Ô-ð ð �Ý! %­-½Ð)EÑFÔFð Øð ˜u�}Ð9¨¨t¬Ô)9�Øð ˜D œG t¤zÐ1Ð1°dÀ$Ä*ÔBTÐ6TÐ6Tà—K’K¥Ô 7Ø % d¤Ô 0°Ô 3°T¸5À¼;Ô;MñOô Oð Oà�Eøà—n’n TÑ*Ô*ˆÝ�k¥3¤=Ñ1Ô1ð 	-°kÔ6GÐ6OÝ   tÑ,Ô,ˆGˆGÝ˜¥iµÔ1BÐ%CÑDÔDð 	-Ø˜tÔ4Ò4Ð4Ø×0Ò0°Ñ=Ô=ð 5å˜d DÑ)Ô)ˆGˆGà˜	Ò!Ð!Ý˜4œ:¥{Ñ3Ô3ð "åØÔ)Ý”Z¥¤µ´Ð>ñô ð "õ $ D¨$Ô*?ÀÄÑLÔLˆGˆGÝ˜¥S¤]Ñ3Ô3ð 	-Ý)¨$°Ñ5Ô5ˆGˆGå   tÑ,Ô,ˆGØ�Š˜˜gÑ&Ô&Ð&Ð&Ð&r   c                 óX  ‡— ˆfd„}t          ‰¦  «        }|sd S  |¦   «         rd S t          | j        t          ¦  «        r/|| j        j        v r!| j        j                             |¦  «         d S 	 | j        |= d S # t          $ r% |                      t          j	        ‰|¦  «         Y d S w xY w)Nc                  óº   •— t          ‰dd¦  «        } | rFt          | t          j        t          j        t          j        f¦  «        rdS t          | dd¦  «        } | °FdS )zN
            Return `True` if node is part of a conditional body.
            rÈ  NTF)r   r   r   r   ÚWhileÚIfExp)Úcurrentr&   s    €r
   Úon_conditional_branchz7Checker.handleNodeDelete.<locals>.on_conditional_branch‘  sh   ø€ õ ˜dÐ$6¸Ñ=Ô=ˆGØð EÝ˜g­¬µ´	½3¼9Ð'EÑFÔFð  Ø˜4Ý! 'Ð+=¸tÑDÔD�ð ð Eð �5r   )
r�   r   rë   r  r  Úremover‡  r¯  r   rõ  )rl   r&   r  r:   s    `  r
   ÚhandleNodeDeletezChecker.handleNodeDelete�  sê   ø€ ð		ð 		ð 		ð 		ð 		õ ˜4Ñ Ô ˆØð 	ØˆFà Ð Ñ"Ô"ð 	ð ˆFå�d”j¥-Ñ0Ô0ð 	@°T¸T¼ZÔ=OÐ5OÐ5OØŒJÔ×%Ò% dÑ+Ô+Ð+Ð+Ð+ð@Ø”J˜tÐ$Ð$Ð$øÝð @ð @ð @Ø—’�HÔ2°D¸$Ñ?Ô?Ð?Ð?Ð?Ð?ð@øøøs   Á0A: Á:+B)Â(B)c              #   óX   K  — | j         |c}| _         	 d V — || _         d S # || _         w xY wr   )Ú_in_annotation)rl   Úann_typer›  s      r
   rd  zChecker._enter_annotation­  sH   è è € à$(Ô$7¸Ð!ˆˆdÔ!ð	'ØˆEˆEˆEà"&ˆDÔÐÐø $ˆDÔÐ&Ð&Ð&Ð&s   “   	)c                 ó:   — | j         t          j        k    p| j        S r   )r	  r]  r`  r¥  r™   s    r
   rñ  z Checker._in_postponed_annotationµ  s"   € ð Ô¥?Ô#9Ò9ð *ØÔ)ð	
r   c                 óZ   — t          ||¬¦  «        D ]}|                      ||¦  «         Œd S )N©r‚   )r…   Ú
handleNode)rl   r�  r‚   r&   s       r
   r‹  zChecker.handleChildren¼  s?   € Ý$ T°Ð5Ñ5Ô5ð 	(ð 	(ˆDØ�OŠO˜D $Ñ'Ô'Ð'Ð'ð	(ð 	(r   c                 óŠ   — t          |t          j        ¦  «        r(|j        |j        gz   D ]}t          |d¦  «        s dS ŒdS d S )Nr0   FT)r   r   rý  Útargetsr!   r<  )rl   r&   Úchilds      r
   rü  zChecker.isLiteralTupleUnpackingÀ  s]   € Ý�d�CœJÑ'Ô'ð 	Øœ¨¬¨Ñ4ð !ð !�Ý˜u fÑ-Ô-ð !Ø ˜5˜5ð!à�4ð		ð 	r   c                 ó²   — t          |t          j        ¦  «        o=t          |j        t          j        ¦  «        ot          |j        j        t
          ¦  «        S )z}
        Determine if the given node is a docstring, as long as it is at the
        correct place in the node tree.
        )r   r   ÚExprr!   r    r   rÉ  s     r
   ÚisDocstringzChecker.isDocstringÇ  sE   € õ �t�SœXÑ&Ô&ð .Ý�t”z¥3¤<Ñ0Ô0ð.å�t”zÔ'­Ñ-Ô-ð	
r   c                 óâ   — t          |t          j        ¦  «        rTt          |j        t          j        ¦  «        r5t          |j        j        t
          ¦  «        r|j        j        |j        dz
  fS dS )NrE   )NN)r   r   r  r!   r    r   r�   rÉ  s     r
   ÚgetDocstringzChecker.getDocstringÒ  sb   € å˜4¥¤Ñ*Ô*ð	å˜4œ:¥s¤|Ñ4Ô4ð	õ ˜4œ:Ô+­SÑ1Ô1ð	ð
 ”:Ô# T¤[°1¡_Ð4Ð4à�:r   c                 ó  — |€d S | j         rGt          |dd ¦  «        �6|xj        | j         d         z  c_        |xj        | j         d         z  c_        | j        rA| j        dk    r6t          |t          j        ¦  «        s|  	                    |¦  «        sd| _        | xj        dz  c_        | j        |_
        ||_        	 |                      |j        ¦  «        } ||¦  «         | xj        dz  c_        d S # | xj        dz  c_        w xY w)Nr�   r   rE   F)r–  r   r�   Ú
col_offsetr¡  Ú	nodeDepthr   r   Ú
ImportFromr  rÌ  rÈ  rì  r~   )rl   r&   r×  rœ  s       r
   r  zChecker.handleNodeÜ  s  € Øˆ<ØˆFØŒ;ð 	.�7 4¨°4Ñ8Ô8ÐDØˆKŒK˜4œ; qœ>Ñ)ˆKŒKØˆOŒO˜tœ{¨1œ~Ñ-ˆOŒOàÔ#ð	(à” !Ò#Ð#Ý˜t¥S¤^Ñ4Ô4ð $à×$Ò$ TÑ*Ô*ð $ð #(ˆDÔØˆŒ˜!ÑˆŒØ#œ~ˆÔØ &ˆÔð	 Ø×)Ò)¨$¬.Ñ9Ô9ˆGØˆG�D‰MŒMˆMàˆNŒN˜aÑˆNŒNˆNˆNøˆDˆNŒN˜aÑˆNŒNˆNˆNˆNˆNs   Â?%C6 Ã6Dc                 ó^  — 	 |                       |j        d         ¦  «        \  }}|o|                      |¦  «        }n# t          t          f$ r Y d S w xY w|sd S | j        }| j        d         g| _        | j        pd}|                      t          ¦  «        5  d| j        d         vr#|  	                    d t          d¦  «        ¦  «         |D ]Â}	 t          j        |j        d¦  «        }|d         |z   |j        z   |d         |j        z   dz   f| _        |                      |¦  «         || _        Œe# t"          $ rQ}	||j        z   |	j        z   |j        dz   |	j        pdz   f}
|                      t&          j        ||
¦  «         Y d }	~	Œ»d }	~	ww xY w	 d d d ¦  «         n# 1 swxY w Y   || _        d S )Nr   )r   r   r"  z	<doctest>rE   é   )r  r   Ú_getDoctestExamplesrH   rP   r…  r–  r‰  r2  rŠ  r¬   r   Úparser•   r�   Úindentr‹  ÚSyntaxErrorr¯  r   ÚDoctestSyntaxError)rl   r&   Ú	docstringÚnode_linenoÚexamplesÚsaved_stackÚnode_offsetÚexampler�  ÚeÚpositions              r
   ÚhandleDoctestszChecker.handleDoctestsô  s3  € ð	Ø'+×'8Ò'8¸¼À1¼Ñ'FÔ'FÑ$ˆY˜Ø ÐH T×%=Ò%=¸iÑ%HÔ%HˆHˆHøÝ�JÐ'ð 	ð 	ð 	ð ˆFˆFð	øøøð ð 	ØˆFð ”oˆØœ?¨1Ô-Ð.ˆŒØ”kÐ+ VˆØ�]Š]�<Ñ(Ô(ð 	.ð 	.Ø˜$œ/¨!Ô,Ð,Ð,Ø—’ ¥g¨c¡l¤lÑ3Ô3Ð3Ø#ð .ð .�ð
.Ýœ9 W¤^°[ÑAÔA�Dð $/¨q¤>°KÑ#?À'Ä.Ñ#PØ#.¨q¤>°G´NÑ#BÀQÑ#Fð#H�D”Kà×'Ò'¨Ñ-Ô-Ð-Ø"-�D”K�Køõ #ð Mð Mð MØ +¨g¬nÑ <¸q¼xÑ GØ '¤°Ñ 2°a´h°mÀ!Ñ Dð F�Hà—K’K¥Ô ;¸TÀ8ÑLÔLÐLÐLÐLÐLÐLÐLøøøøðMøøøð.ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð &ˆŒˆˆsM   ‚:= ½AÁAÂ7FÃD0Ã(AFÄ0
FÄ:AFÆFÆFÆFÆFÆ"Fc                 óæ  — 	 t          j        |¦  «        }n(# t          $ r |                      |||¦  «         Y d S w xY w|j        }t          |¦  «        dk    s t          |d         t           j        ¦  «        s|                      |||¦  «         d S |j        d         j        }t          j	        |¦  «        D ]"}	d|	j
        v rd|	j
        v r||	_        ||	_        Œ#|                      ||¦  «         d S )NrE   r   r�   r  )r   r  r   r¯  r   rF   r   r  r!   ÚwalkÚ_attributesr�   r  r  )
rl   r_   r&   Ú
ref_linenoÚref_col_offsetÚerrr�  r   Úparsed_annotationÚ
descendants
             r
   ÚhandleStringAnnotationzChecker.handleStringAnnotation  s  € ð	Ý”9˜Q‘<”<ˆDˆDøÝð 	ð 	ð 	Ø�KŠK˜˜T 1Ñ%Ô%Ð%ØˆFˆFð	øøøð ŒyˆÝˆt‰9Œ9˜Š>ˆ>¥¨D°¬GµS´XÑ!>Ô!>ˆ>Ø�KŠK˜˜T 1Ñ%Ô%Ð%ØˆFà œI aœLÔ.ÐÝœ(Ð#4Ñ5Ô5ð 	7ð 	7ˆJà 
Ô 6Ð6Ð6Ø  JÔ$:Ð:Ð:à$.�
Ô!Ø(6�
Ô%øà�ŠÐ)¨4Ñ0Ô0Ð0Ð0Ð0s   ‚ —!<»<c                 óv   ‡ ‡‡‡— t          t          j        ¦  «        Š‰                      ˆˆˆˆ fd„¦  «         d S )Nc                  ó   •—  ‰‰‰ ‰¦  «        S r   r   )Ú
annotationÚfnr×  rl   s   €€€€r
   rL  z;Checker.handle_annotation_always_deferred.<locals>.<lambda>.  s   ø€  2 2 d¨J¸Ñ#?Ô#?€ r   )rn  rt  r  r˜  )rl   r6  r×  r7  s   ```@r
   Ú!handle_annotation_always_deferredz)Checker.handle_annotation_always_deferred,  sC   øøøø€ Ý�7Ô-Ñ.Ô.ˆØ×ÒÐ?Ð?Ð?Ð?Ð?Ð?Ð?Ñ@Ô@Ð@Ð@Ð@r   c           
      óp  — t          |t          j        ¦  «        rft          |j        t          ¦  «        rL|                      t          j        | j        |j        ||j	        |j
        t          j        ¦  «        ¦  «         d S | j        r|                      ||¦  «         d S |                      ||¦  «         d S r   )r   r   r    r!   r   r˜  rk  Úpartialr3  r�   r  r   ÚForwardAnnotationSyntaxErrorr¥  r8  r  )rl   r6  r&   s      r
   ÚhandleAnnotationzChecker.handleAnnotation0  sÄ   € õ ˜:¥s¤|Ñ4Ô4ð	.å˜:Ô+­SÑ1Ô1ð	.ð
 ×Ò�yÔ0ØÔ+ØÔ ØØÔ!ØÔ%ÝÔ5ñ ô  ñ ô ð ð ð ð Ô*ð 	.Ø×2Ò2°:¸tÑDÔDÐDÐDÐDà�OŠO˜J¨Ñ-Ô-Ð-Ð-Ð-r   c                 ó   — d S r   r   rÉ  s     r
   ÚignorezChecker.ignoreD  s   € Øˆr   c                 ó°  — t          |j        d¦  «        rO|                      t          j        ¦  «        5  |                      |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S t          |j        d¦  «        �rh|                      |j        |¦  «         t          |j        t          j
        ¦  «        r|j        }nRt          |j        t          j        ¦  «        r1t          |j        j        t          j
        ¦  «        r|j        j        }nd }|�t          |j        ¦  «        dk     r|                      |j        |¦  «         n�|                      |j        d         |¦  «         |                      t          j        ¦  «        5  |j        dd …         D ]}|                      ||¦  «         Œ	 d d d ¦  «         n# 1 swxY w Y   |                      |j        |¦  «         d S t          |j        | j        ¦  «        rD|                      ¦   «         5  |                      |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S |                      |¦  «         d S )NÚLiteralÚ	Annotatedr^  r   rE   )r;   r!   rd  r]  r_  r‹  r  r   Úslicer   r.   ÚIndexrF   r0   rÇ  rR  r…  )rl   r&   Úslice_tupleÚargs       r
   Ú	SUBSCRIPTzChecker.SUBSCRIPTQ  s  € Ý˜DœJ¨	Ñ2Ô2ð #	*Ø×'Ò'­Ô(<Ñ=Ô=ð *ð *Ø×#Ò# DÑ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *å˜dœj¨+Ñ6Ô6ñ  	*Ø�OŠO˜DœJ¨Ñ-Ô-Ð-õ ˜$œ*¥c¤iÑ0Ô0ð 	#Ø"œj��õ ˜tœz­3¬9Ñ5Ô5ð#å˜tœzÔ/µ´Ñ;Ô;ð#ð #œjÔ.��à"�ð Ð"¥c¨+Ô*:Ñ&;Ô&;¸aÒ&?Ð&?Ø—’ ¤
¨DÑ1Ô1Ð1Ð1ð —’ Ô 0°Ô 3°TÑ:Ô:Ð:à×+Ò+­OÔ,@ÑAÔAð 3ð 3Ø*Ô/°°°Ô3ð 3ð 3˜ØŸš¨¨TÑ2Ô2Ð2Ð2ð3ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð �OŠO˜DœH dÑ+Ô+Ð+Ð+Ð+å$ T¤Z°´ÑAÔAð *Ø×+Ò+Ñ-Ô-ð .ð .Ø×'Ò'¨Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð .ð .ð ×#Ò# DÑ)Ô)Ð)Ð)Ð)s5   µAÁAÁAÆ)F;Æ;F?ÇF?ÈH4È4H8È;H8c           
      ó€  ‡ ‡‡‡‡‡— 	 t          t          ‰j        j        j        ¦  «        ¦  «        }n9# t          $ r,}‰                      t          j        ‰|¦  «         Y d }~d S d }~ww xY wd ŠdŠt          ¦   «         Št          ¦   «         Šˆˆˆˆˆˆ fd„}|D ]³\  }}}} ||¦  «        r d S |�œ	 t          t          |¦  «        ¦  «        }n:# t          $ r-}‰                      t          j        ‰|¦  «         Y d }~ d S d }~ww xY w|D ]A\  }}	}
}|
�)d|
v r%‰                      t          j        ‰d¦  «           d S  ||	¦  «        r  d S ŒBŒ´t          d„ ‰j
        D ¦   «         ¦  «        st          d„ ‰j        D ¦   «         ¦  «        rd S t          t          t          ‰j
        ¦  «        ¦  «        ¦  «        }d„ ‰j        D ¦   «         }|‰z
  }|‰z
  }‰‰z  ||z  z
  }|rK‰                      t          j        ‰d                     t!          d	„ |D ¦   «         ¦  «        ¦  «        ¦  «         |rA‰                      t          j        ‰d                     t!          |¦  «        ¦  «        ¦  «         |rM‰                      t          j        ‰d                     t!          d
„ |D ¦   «         ¦  «        ¦  «        ¦  «         d S d S )Nr   c                 óð  •— | €dS |                       d¦  «        \  } }}|                       d¦  «        \  } }}	 t          | ¦  «        } ‰du r"‰                     t          j        ‰¦  «         dS dŠn# t
          $ r Y nw xY w| dk    r/‰du r"‰                     t          j        ‰¦  «         dS dŠ‰} ‰dz  Št          | t          ¦  «        r‰                     | ¦  «         n‰                     | ¦  «         dS )z9Returns True if there is an error which should early-exitNFrÃ   ú[TÚ rE   )Ú	partitionÚintr¯  r   ÚStringDotFormatMixingAutomaticrH   r   Úadd)Úfmtkeyr"  ÚautoÚ	next_autor&   Úplaceholder_namedÚplaceholder_positionalrl   s     €€€€€€r
   Ú_add_keyz3Checker._handle_string_dot_format.<locals>._add_key„  s(  ø€ ð ˆ~Ø�uð "×+Ò+¨CÑ0Ô0‰LˆF�A�qØ!×+Ò+¨CÑ0Ô0‰LˆF�A�qð	!Ý˜V™œ�ð ˜4�<�<Ø—K’K¥Ô GÈÑNÔNÐNØ˜4à �D�Døõ ð ð ð Ø�ðøøøð ˜Š|ˆ|Ø˜5�=�=Ø—K’K¥Ô GÈÑNÔNÐNØ˜4à�Dà"�Ø˜Q‘�	å˜&¥#Ñ&Ô&ð .Ø&×*Ò*¨6Ñ2Ô2Ð2Ð2à!×%Ò% fÑ-Ô-Ð-à�5s   ¹A1 Á1
A>Á=A>Ú{zMax string recursion exceededc              3   óJ   K  — | ]}t          |t          j        ¦  «        V — Œd S r   ©r   r   ÚStarred©r   rE  s     r
   r-   z4Checker._handle_string_dot_format.<locals>.<genexpr>Æ  s.   è è € ÐFÐF°S•J˜s¥C¤KÑ0Ô0ÐFÐFÐFÐFÐFÐFr   c              3   ó(   K  — | ]}|j         d u V — Œd S r   ©rE  ©r   Úkwds     r
   r-   z4Checker._handle_string_dot_format.<locals>.<genexpr>È  s(   è è € Ð=Ð=¨�C”G˜t�OÐ=Ð=Ð=Ð=Ð=Ð=r   c                 ó   — h | ]	}|j         ’Œ
S r   r[  r\  s     r
   ú	<setcomp>z4Checker._handle_string_dot_format.<locals>.<setcomp>Í  s   € Ð?Ð?Ð?¨#˜cœgÐ?Ð?Ð?r   r®  c              3   ó4   K  — | ]}t          |¦  «        V — Œd S r   ©r   ©r   r  s     r
   r-   z4Checker._handle_string_dot_format.<locals>.<genexpr>Û  s(   è è € Ð BÐ B¨A¥ Q¡¤Ð BÐ BÐ BÐ BÐ BÐ Br   c              3   ó4   K  — | ]}t          |¦  «        V — Œd S r   ra  rb  s     r
   r-   z4Checker._handle_string_dot_format.<locals>.<genexpr>ç  s(   è è € Ð CÐ C¨A¥ Q¡¤Ð CÐ CÐ CÐ CÐ CÐ Cr   )ra   Úparse_format_stringrh  r!   rH   r¯  r   ÚStringDotFormatInvalidFormatr²  rY  rf  ÚkeywordsÚrangerF   Ú'StringDotFormatExtraPositionalArgumentsr¸  rk   Ú"StringDotFormatExtraNamedArgumentsÚStringDotFormatMissingArgument)rl   r&   Úplaceholdersr(  rT  r"  rO  ÚspecÚspec_placeholdersÚspec_fmtkeyÚ	spec_specÚsubstitution_positionalÚsubstitution_namedÚextra_positionalÚextra_namedÚmissing_argumentsrP  rQ  rR  rS  s   ``              @@@@r
   Ú_handle_string_dot_formatz!Checker._handle_string_dot_formatw  sˆ  øøøøøø€ ð	Ý Õ!4°T´Y´_Ô5JÑ!KÔ!KÑLÔLˆLˆLøÝð 	ð 	ð 	Ø�KŠK�Ô=¸tÀQÑGÔGÐGØˆFˆFˆFˆFˆFøøøøð	øøøð ˆØˆ	å!$¡¤ÐÝ™EœEÐð%	ð %	ð %	ð %	ð %	ð %	ð %	ð %	ð %	ð %	ðN #/ð 	ð 	ÑˆAˆv�t˜QØˆx˜ÑÔð Ø��ð ÐðÝ(-Õ.AÀ$Ñ.GÔ.GÑ(HÔ(HÐ%Ð%øÝ!ð ð ð Ø—K’K¥Ô EÀtÈQÑOÔOÐOØ�F�F�F�F�F�Føøøøðøøøð 5Fð 
ð 
Ñ0�A�{ I¨qà Ð,°¸	Ð1AÐ1AØŸšÝ$ÔAØ Ø;ñô ð ð
 ˜˜˜Ø�x Ñ,Ô,ð Ø˜˜˜ðøõ ÐFÐF¸D¼IÐFÑFÔFÑFÔFð	õ Ð=Ð=¨t¬}Ð=Ñ=Ô=Ñ=Ô=ð		ð ˆFå"%¥e­C°´	©N¬NÑ&;Ô&;Ñ"<Ô"<ÐØ?Ð?°´Ð?Ñ?Ô?Ðà2Ð5KÑKÐØ(Ð+<Ñ<ˆð $Ð&7Ñ7Ø$Ð'9Ñ9ñ;ð 	ð
 ð 	Ø�KŠKÝÔ@ØØ—	’	�&Ð BÐ BÐ1AÐ BÑ BÔ BÑBÔBÑCÔCñô ð ð
 ð 	Ø�KŠKÝÔ;ØØ—	’	�& Ñ-Ô-Ñ.Ô.ñô ð ð
 ð 	Ø�KŠKÝÔ7ØØ—	’	�&Ð CÐ CÐ1BÐ CÑ CÔ CÑCÔCÑDÔDñô ð ð ð ð	ð 	s,   ˆ+4 ´
A*¾!A%Á%A*Â1CÃ
DÃ!D Ä Dc                 ó®  — t          |j        t          j        ¦  «        rmt          |j        j        t          j        ¦  «        rIt          |j        j        j        t          ¦  «        r%|j        j        dk    r|                      |¦  «         g }g }g }t          |j        d| j
        ¦  «        rgt          |j        ¦  «        dk    rO|                      ¦   «         5  |                      |j        d         |¦  «         d d d ¦  «         n# 1 swxY w Y   �nqt          |j        d| j
        ¦  «        rR|dgz  }|d„ |j        dd …         D ¦   «         z  }|dgz  }|d	„ |j        D ¦   «         z  }|d
„ |j        D ¦   «         z  }�nt          |j        d| j
        ¦  «        r©t          |j        ¦  «        dk    rat          |j        d         t          j        ¦  «        r<|dgz  }||j        d         j        z  }|d„ t%          |j        ¦  «        D ¦   «         z  }|dgz  }|d„ |j        D ¦   «         z  }|d„ |j        D ¦   «         z  }�n@t          |j        d| j
        ¦  «        �r$t          |j        ¦  «        dk    rÞt          |j        d         t          j        t          j        f¦  «        r­t+          d„ |j        d         j        D ¦   «         ¦  «        r„|dgz  }|d„ |j        d         j        D ¦   «         z  }|d„ |j        d         j        D ¦   «         z  }|d„ t%          |j        ¦  «        D ¦   «         z  }|d„ |j        d         j        D ¦   «         z  }|dgz  }|d„ |j        D ¦   «         z  }|d„ |j        D ¦   «         z  }|r¸|                      t.          j        ¦  «        5  |D ]\  }}|                      ||¬¦  «         Œ|                      ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      ¦   «         5  |D ]}|                      ||¦  «         Œ	 d d d ¦  «         d S # 1 swxY w Y   d S |                      |¦  «         d S )Nrœ   ÚcastrE   r   ÚTypeVarrf  c                 ó   — g | ]}|‘ŒS r   r   rY  s     r
   r   z Checker.CALL.<locals>.<listcomp>  s   € Ð7Ð7Ð7 #˜#Ð7Ð7Ð7r   rf  c                 ó2   — g | ]}|j         d k    ¯|j        ‘ŒS )Úbound)rE  r!   ©r   Úks     r
   r   z Checker.CALL.<locals>.<listcomp>  s&   € ÐMÐMÐM a¸A¼EÀWÒ<LÐ<L˜!œ'Ð<LÐ<LÐ<Lr   c                 ó2   — g | ]}||j         d k    rdgndf‘ŒS )r{  r!   Nr[  r|  s     r
   r   z Checker.CALL.<locals>.<listcomp>  s?   € ð ð ð àð  ¤¨'Ò!1Ð!1�W�I�I°tÐ<ðð ð r   Ú	TypedDictc                 ó.   — g | ]\  }}||d k    rdgndf‘ŒS )rE   r·  Nr   ©r   rT   rE  s      r
   r   z Checker.CALL.<locals>.<listcomp>  s?   € ð "ð "ð "á˜˜3ð ¨¨Qª¨˜8˜*˜*°DÐ9ð"ð "ð "r   c                 ó   — g | ]	}|j         ‘Œ
S r   ©r!   r|  s     r
   r   z Checker.CALL.<locals>.<listcomp>  ó   € Ð9Ð9Ð9 a˜!œ'Ð9Ð9Ð9r   c                 ó   — g | ]}|d gf‘ŒS rƒ  r   r|  s     r
   r   z Checker.CALL.<locals>.<listcomp>  ó   € ÐDÐDÐD°˜q 7 )˜nÐDÐDÐDr   Ú
NamedTuplec              3   ó’   K  — | ]B}t          |t          j        t          j        f¦  «        ot	          |j        ¦  «        d k    V — ŒCdS )r^  N)r   r   r.   r  rF   r0   rb  s     r
   r-   zChecker.CALL.<locals>.<genexpr>   sf   è è € ð Að AØ)*õ ˜q¥3¤9­c¬hÐ"7Ñ8Ô8ð %Ý˜œ‘K”K 1Ò$ðAð Að Að Að Að Ar   c                 ó(   — g | ]}|j         d          ‘ŒS ©rE   ©r0   r+   s     r
   r   z Checker.CALL.<locals>.<listcomp>$  s   € ÐGÐGÐG¨c˜cœh qœkÐGÐGÐGr   c                 ó,   — g | ]}|j         d          df‘ŒS )r   Nr‹  r+   s     r
   r   z Checker.CALL.<locals>.<listcomp>%  s#   € Ð!SÐ!SÐ!S¸# 3¤8¨A¤;°Ð"5Ð!SÐ!SÐ!Sr   c                 ó.   — g | ]\  }}||d k    rdgndf‘ŒS )rE   r0   Nr   r�  s      r
   r   z Checker.CALL.<locals>.<listcomp>&  s?   € ð "ð "ð "á˜˜3ð  a¨1¢f f˜6˜(˜(°$Ð7ð"ð "ð "r   c                 ó   — g | ]}|d f‘ŒS r‹  r   r+   s     r
   r   z Checker.CALL.<locals>.<listcomp>*  s   € Ð!MÐ!MÐ!M°C 3¨ -Ð!MÐ!MÐ!Mr   c                 ó   — g | ]	}|j         ‘Œ
S r   rƒ  r|  s     r
   r   z Checker.CALL.<locals>.<listcomp>.  r„  r   c                 ó   — g | ]}|d gf‘ŒS rƒ  r   r|  s     r
   r   z Checker.CALL.<locals>.<listcomp>/  r†  r   r  )r   rh  r   r8   r!   r    r   r9   ru  rN  r…  rF   rf  rd  r  rf  ÚDictr·  Ú	enumerater.   r  r/   r0   r]  r_  r‹  )rl   r&   r‚   Ú	annotatedÚnot_annotatedÚna_nodeÚna_omitÚannotated_nodes           r
   ÚCALLzChecker.CALLê  s›  € å˜4œ9¥c¤mÑ4Ô4ð	1å˜4œ9œ?­C¬LÑ9Ô9ð	1õ ˜4œ9œ?Ô0µ#Ñ6Ô6ð	1ð ”	” (Ò*Ð*à×*Ò*¨4Ñ0Ô0Ð0àˆØˆ	Øˆõ �t”y &¨$¬/Ñ:Ô:ð8	Eå�”	‰NŒN˜aÒÐà×'Ò'Ñ)Ô)ð 4ð 4Ø—’ ¤	¨!¤¨dÑ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ùõ ˜œ	 9¨d¬oÑ>Ô>ð 1	Eð �V�HÑˆDØÐ7Ð7¨¬°1°2°2¬Ð7Ñ7Ô7Ñ7ˆIð �Z�LÑ ˆDØÐMÐM¨4¬=ÐMÑMÔMÑMˆIØð ð àœðñ ô ñ ˆM‰Mõ
 ˜œ	 ;°´Ñ@Ô@ð #	Eå�4”9‰~Œ~ Ò!Ð!¥j°´¸1´½s¼xÑ&HÔ&HÐ!Ø˜˜Ñ �Ø˜TœY qœ\Ô0Ñ0�	Øð "ð "å"+¨D¬IÑ"6Ô"6ð"ñ "ô "ñ �ð �Z�LÑ ˆDØÐ9Ð9¨4¬=Ð9Ñ9Ô9Ñ9ˆIØÐDÐD°d´mÐDÑDÔDÑDˆM‰Må˜œ	 <°´ÑAÔAñ 	Eõ �D”I‘” Ò"Ð"Ý˜4œ9 Qœ<­#¬)µS´XÐ)>Ñ?Ô?ð #åð Að AØ.2¬i¸¬lÔ.?ðAñ Aô Añ Aô Að #ð
 ˜˜Ñ �ØÐGÐG°T´Y¸q´\Ô5FÐGÑGÔGÑG�	ØÐ!SÐ!SÀÄÈ1ÄÔARÐ!SÑ!SÔ!SÑS�Øð "ð "å"+¨D¬IÑ"6Ô"6ð"ñ "ô "ñ �ð Ð!MÐ!M¸4¼9ÀQ¼<Ô;LÐ!MÑ!MÔ!MÑM�ð �Z�LÑ ˆDØÐ9Ð9¨4¬=Ð9Ñ9Ô9Ñ9ˆIØÐDÐD°d´mÐDÑDÔDÑDˆMàð 
	&Ø×'Ò'­Ô(<Ñ=Ô=ð 5ð 5Ø(5ð ?ð ?Ñ$�G˜WØ×'Ò'¨°gÐ'Ñ>Ô>Ð>Ð>Ø×#Ò# D¨tÐ#Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð
 ×'Ò'Ñ)Ô)ð :ð :Ø&/ð :ð :�NØ—O’O N°DÑ9Ô9Ð9Ð9ð:ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð :ð :ð ×Ò Ñ%Ô%Ð%Ð%Ð%s6   Ã"DÄDÄDÎ'7O*Ï*O.Ï1O.Ð	P3Ð3P7Ð:P7c           	      ó@  — 	 t          |j        j        ¦  «        }n2# t          $ r% |                      t
          j        |d¦  «         Y d S w xY wt          ¦   «         }d}d }|D ]é\  }}|€Œ|\  }}}	}
}|dk    rŒ|t          vr!|                      t
          j	        ||¦  «         |€|r|d u }|	|
fD ]0}|�,d|v r(|s!|                      t
          j
        |¦  «         Œ+|dz  }Œ1|r%|�#|                      t
          j        |¦  «          d S |s%|€#|                      t
          j        |¦  «          d S |r|dz  }ŒÔ|                     |¦  «         Œêt          |j        t          j        t          j        f¦  «        r‰t%          d„ |j        j        D ¦   «         ¦  «        sft)          |j        j        ¦  «        }|r)||k    r#|                      t
          j        |||¦  «         n"|s |                      t
          j        |¦  «         t          |j        t          j        ¦  «        rùt1          d„ |j        j        D ¦   «         ¦  «        rØ|r(|dk    r"|                      t
          j        |¦  «         d S d„ |j        j        D ¦   «         }||z
  }||z
  }|sC|rA|                      t
          j        |d	                     t;          |¦  «        ¦  «        ¦  «         |sI|rI|                      t
          j        |d	                     t;          |¦  «        ¦  «        ¦  «         d S d S d S d S d S )
Nzincomplete formatr   rD   rä   rE   c              3   óJ   K  — | ]}t          |t          j        ¦  «        V — Œd S r   rW  r+   s     r
   r-   z1Checker._handle_percent_format.<locals>.<genexpr>|  sB   è è € ð ð àõ ˜s¥C¤KÑ0Ô0ðð ð ð ð ð r   c              3   ó~   K  — | ]8}t          |t          j        ¦  «        ot          |j        t          ¦  «        V — Œ9d S r   )r   r   r    r!   r   r|  s     r
   r-   z1Checker._handle_percent_format.<locals>.<genexpr>Ž  sS   è è € ð ð àõ ˜q¥#¤,Ñ/Ô/ÐLµJ¸q¼wÍÑ4LÔ4Lðð ð ð ð ð r   c                 ó   — h | ]	}|j         ’Œ
S r   rƒ  r|  s     r
   r_  z1Checker._handle_percent_format.<locals>.<setcomp>—  s   € Ð BÐ BÐ B¨Q ¤Ð BÐ BÐ Br   r®  )rb   r	  r!   rH   r¯  r   ÚPercentFormatInvalidFormatr²  ÚVALID_CONVERSIONSÚ'PercentFormatUnsupportedFormatCharacterÚ!PercentFormatStarRequiresSequenceÚ$PercentFormatMixedPositionalAndNamedrN  r   r  r   r  r.   rY  r0   rF   Ú$PercentFormatPositionalCountMismatchÚPercentFormatExpectedMappingr‘  r/   rÚ  ÚPercentFormatExpectedSequenceÚ PercentFormatExtraNamedArgumentsr¸  rk   ÚPercentFormatMissingArgument)rl   r&   rk  ÚnamedÚpositional_countÚ
positionalr"  Úplaceholderr:   rZ   r\   r]   ÚpartÚsubstitution_countÚsubstitution_keysÚ
extra_keysÚmissing_keyss                    r
   Ú_handle_percent_formatzChecker._handle_percent_format=  s  € ð	Ý/°´	´Ñ@Ô@ˆLˆLøÝð 	ð 	ð 	Ø�KŠKÝÔ3ØØ#ñô ð ð
 ˆFˆFð	øøøõ ‘”ˆØÐØˆ
Ø*ð ,	 ð ,	 ‰NˆAˆ{ØÐ"ØØ4?Ñ1ˆD�!�U˜I zà˜SÒ Ð ØàÕ!2Ð2Ð2Ø—’ÝÔDØØñô ð ð Ð! jÐ!Ø! T˜\�
à 	Ð*ð .ð .�ØÐ#¨¨t¨¨Ø%ð .ØŸšÝ$ÔFØ ñô ð ð ð
 )¨AÑ-Ð(øàð ˜dÐ.Ø—’ÝÔAØñô ð ð ��Øð  D LØ—’ÝÔAØñô ð ð ��àð  Ø  AÑ%Ð Ð à—	’	˜$‘”��õ ˜4œ:­¬µ#´)Ð'<Ñ=Ô=ð	Iõ ð ð à#œzœðñ ô ñ ô ð	Iõ "% T¤Z¤_Ñ!5Ô!5ÐØð IÐ.Ð2DÒDÐDØ—’ÝÔAØØ$Ø&ñ	ô ð ð ð  ð IØ—’�HÔAÀ4ÑHÔHÐHõ ˜4œ:¥s¤xÑ0Ô0ð	åð ð à!œZœ_ðñ ô ñ ô ð	ð ð Ð.°Ò2Ð2Ø—’�HÔBÀDÑIÔIÐIØ�à BÐ B°$´*´/Ð BÑ BÔ BÐØ*¨UÑ2ˆJØ Ð#4Ñ4ˆLØð  *ð Ø—’ÝÔ=ØØ—I’I�f ZÑ0Ô0Ñ1Ô1ñô ð ð
 ð  ,ð Ø—’ÝÔ9ØØ—I’I�f \Ñ2Ô2Ñ3Ô3ñô ð ð ð ð+	ð 	ð 	ð 	ð(ð ð ð s   ‚ œ+AÁ
Ac                 ó  — t          |j        t          j        ¦  «        rSt          |j        t          j        ¦  «        r4t          |j        j        t          ¦  «        r|                      |¦  «         |  	                    |¦  «         d S r   )
r   rò  r   ÚModr	  r    r!   r   r°  r‹  rÉ  s     r
   ÚBINOPzChecker.BINOP§  sv   € å˜4œ7¥C¤GÑ,Ô,ð	.å˜4œ9¥c¤lÑ3Ô3ð	.õ ˜4œ9œ?­CÑ0Ô0ð	.ð
 ×'Ò'¨Ñ-Ô-Ð-Ø×Ò˜DÑ!Ô!Ð!Ð!Ð!r   c                 óè   — t          |j        t          ¦  «        rU| j        rPt	          j        | j        |j        ||j        |j        t          j
        ¦  «        }|                      |¦  «         d S d S d S r   )r   r!   r   r	  rk  r:  r3  r�   r  r   r;  r˜  )rl   r&   r7  s      r
   ÚCONSTANTzChecker.CONSTANT°  s€   € Ý�d”j¥#Ñ&Ô&ð 		#¨4Ô+>ð 		#ÝÔ"ØÔ+Ø”
ØØ”Ø”ÝÔ5ñô ˆBð ×Ò˜rÑ"Ô"Ð"Ð"Ð"ð		#ð 		#ð 		#ð 		#r   c                 óD  — |                       |¦  «         |j        }t          |t          j        ¦  «        r8t          |j        ¦  «        r"|                      t          j	        |¦  «         d S d S t          |¦  «        r"|                      t          j	        |¦  «         d S d S r   )
r‹  Úexcr   r   ÚCallr�   rh  r¯  r   ÚRaiseNotImplemented)rl   r&   rE  s      r
   ÚRAISEzChecker.RAISEÈ  s¦   € Ø×Ò˜DÑ!Ô!Ð!àŒhˆå�c�3œ8Ñ$Ô$ð 	<Ý*¨3¬8Ñ4Ô4ð @à—’�HÔ8¸$Ñ?Ô?Ð?Ð?Ð?ð@ð @õ )¨Ñ-Ô-ð 	<à�KŠK�Ô4°dÑ;Ô;Ð;Ð;Ð;ð	<ð 	<r   Fc                 ó   — | j         s>t          d„ |j        D ¦   «         ¦  «        s |                      t          j        |¦  «         d| j         c| _         }	 |                      |¦  «         || _         d S # || _         w xY w)Nc              3   óJ   K  — | ]}t          |t          j        ¦  «        V — Œd S r   )r   r   ÚFormattedValuerb  s     r
   r-   z$Checker.JOINEDSTR.<locals>.<genexpr>ß  s/   è è € ÐOÐO¸a�
 1¥cÔ&8Ñ9Ô9ÐOÐOÐOÐOÐOÐOr   T)Ú_in_fstringrY  r·  r¯  r   ÚFStringMissingPlaceholdersr‹  )rl   r&   r›  s      r
   Ú	JOINEDSTRzChecker.JOINEDSTRÚ  sš   € ð Ô$ð	Cõ ÐOÐOÀ4Ä;ÐOÑOÔOÑOÔOð		Cð �KŠK�Ô;¸TÑBÔBÐBà!% tÔ'7ÐˆÔ˜$ð	$Ø×Ò Ñ%Ô%Ð%à#ˆDÔÐÐø˜tˆDÔÐ#Ð#Ð#Ð#s   ÁA4 Á4	A=c                 óZ  ‡‡	— d„ ‰j         D ¦   «         }t          |¦  «        }d„ |                     ¦   «         D ¦   «         }|D ]ÒŠ	ˆ	fd„t          |¦  «        D ¦   «         }t          ˆfd„|D ¦   «         ¦  «        }t	          d„ |                     ¦   «         D ¦   «         ¦  «        ro|D ]l}‰j         |         }t          ‰	t          ¦  «        r'|                      t          j	        |‰	j
        ¦  «         ŒK|                      t          j        |‰	¦  «         ŒmŒÓ|                      ‰¦  «         d S )Nc                 ó,   — g | ]}t          |¦  «        ‘ŒS r   rˆ   )r   rV   s     r
   r   z Checker.DICT.<locals>.<listcomp>í  s.   € ð 
ð 
ð 
Ø&)Õ˜SÑ!Ô!ð
ð 
ð 
r   c                 ó$   — g | ]\  }}|d k    ¯|‘ŒS rŠ  r   )r   rV   Úcounts      r
   r   z Checker.DICT.<locals>.<listcomp>ò  s-   € ð 
ð 
ð 
Ù�C˜Ø�qŠyˆyð Øˆyˆyr   c                 ó&   •— g | ]\  }}|‰k    ¯|‘ŒS r   r   )r   rT   Úi_keyrV   s      €r
   r   z Checker.DICT.<locals>.<listcomp>ø  s"   ø€ ÐMÐMÐM¡  EÀÈÂÀ˜1ÀÀÀr   c              3   óL   •K  — | ]}t          ‰j        |         ¦  «        V — Œd S r   )r‰   r·  )r   rG   r&   s     €r
   r-   zChecker.DICT.<locals>.<genexpr>ú  sF   øè è € ð ð àõ ! ¤¨UÔ!3Ñ4Ô4ðð ð ð ð ð r   c              3   ó(   K  — | ]\  }}|d k    V — ŒdS )rE   Nr   )r   r!   rÄ  s      r
   r-   zChecker.DICT.<locals>.<genexpr>þ  s*   è è € ÐAÐA¡, %¨�5˜A’:ÐAÐAÐAÐAÐAÐAr   )rÚ  r|   ry   r’  rY  r   r‹   r¯  r   ÚMultiValueRepeatedKeyVariabler:   ÚMultiValueRepeatedKeyLiteralr‹  )
rl   r&   rÚ  Ú
key_countsÚduplicate_keysÚkey_indicesr·  Ú	key_indexÚkey_noderV   s
    `       @r
   ÚDICTzChecker.DICTé  s„  øø€ ð
ð 
Ø-1¬Yð
ñ 
ô 
ˆõ ˜T‘]”]ˆ
ð
ð 
Ø",×"2Ò"2Ñ"4Ô"4ð
ñ 
ô 
ˆð
 "ð 	ð 	ˆCØMÐMÐMÐM­Y°t©_¬_ÐMÑMÔMˆKåð ð ð ð à(ðñ ô ñ ô ˆFõ ÐAÐA°&·,²,±.´.ÐAÑAÔAÑAÔAð Ø!,ð ð �IØ#œy¨Ô3�HÝ! #¥{Ñ3Ô3ð 	ØŸš¥HÔ$JØ$,Ø$'¤Hñ.ô .ð .ð .ð ŸšÝ$ÔAØ$Øñô ð ð øð
 	×Ò˜DÑ!Ô!Ð!Ð!Ð!r   c                 óÎ   — t          |j        t          j        ¦  «        r0|j        j        g k    r |                      t          j        |¦  «         |                      |¦  «         d S r   )	r   Útestr   r.   r0   r¯  r   ÚIfTupler‹  rÉ  s     r
   ÚIFz
Checker.IF  sW   € Ý�d”i¥¤Ñ+Ô+ð 	0°´	´À"Ò0DÐ0DØ�KŠK�Ô(¨$Ñ/Ô/Ð/Ø×Ò˜DÑ!Ô!Ð!Ð!Ð!r   c                 óÎ   — t          |j        t          j        ¦  «        r0|j        j        g k    r |                      t          j        |¦  «         |                      |¦  «         d S r   )	r   rÒ  r   r.   r0   r¯  r   ÚAssertTupler‹  rÉ  s     r
   ÚASSERTzChecker.ASSERT  sW   € Ý�d”i¥¤Ñ+Ô+ð 	4°´	´À"Ò0DÐ0DØ�KŠK�Ô,¨dÑ3Ô3Ð3Ø×Ò˜DÑ!Ô!Ð!Ð!Ð!r   c                 ó>  ‡— |                       ¦   «         rdnd}| j        |         }| j        |urk|j        D ]eŠt	          ‰|¦  «        }ˆfd„| j        D ¦   «         | _        |                     ‰|¦  «         ||f|_        | j        |dz   d…         D ]}||‰<   ŒŒddS dS )z5
        Keep track of globals declarations.
        rE   r   c                 ój   •— g | ]/}t          |t          j        ¦  «        r|j        d          ‰k    ¯-|‘Œ0S )r   )r   r   rõ  Úmessage_args)r   ÚmÚ	node_names     €r
   r   z"Checker.GLOBAL.<locals>.<listcomp>*  sL   ø€ ð !4ð !4ð !4ØÝ˜q¥(Ô"8Ñ9Ô9ð!4ð ”N 1Ô%¨Ò2Ð2ð à2Ð2Ð2r   N)rž  r…  rë   r  r§   r   Ú
setdefaultr–   )rl   r&   Úglobal_scope_indexÚglobal_scopeÚ
node_valuerë   rÜ  s         @r
   ÚGLOBALzChecker.GLOBAL  sö   ø€ ð #'×"2Ò"2Ñ"4Ô"4Ð;˜Q˜Q¸!ÐØ”Ð'9Ô:ˆð Œ:˜\Ð)Ð)ð "œZð 2ð 2�	Ý'¨	°4Ñ8Ô8�
ð
!4ð !4ð !4ð !4Ø#œ}ð!4ñ !4ô !4�”ð ×'Ò'¨	°:Ñ>Ô>Ð>ð $0°Ð"6�
”Ø!œ_Ð-?À!Ñ-CÐ-DÐ-DÔEð 2ð 2�EØ'1�E˜)Ñ$Ð$ð2ð' *Ð)ð2ð 2r   c                 ó–   — |                       t          ¦  «        5  |                      |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r   )r‰  r,  r‹  rÉ  s     r
   ÚGENERATOREXPzChecker.GENERATOREXP9  sŒ   € Ø�]Š]�>Ñ*Ô*ð 	&ð 	&Ø×Ò Ñ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s   ›>¾AÁAc                 óH  — t          |j        t          j        ¦  «        r�|                      ||                      |¦  «        ¦  «         |j        dk    rGt          | j        t          ¦  «        r/t          |j	        t          j
        ¦  «        rd| j        _        dS dS dS dS t          |j        t          j        ¦  «        r|                      |¦  «         dS t          |j        t          j        ¦  «        r|                      |¦  «         dS t!          d|j        ›�¦  «        ‚)zV
        Handle occurrence of Name (which can be a load/store/delete access.)
        ÚlocalsTz#Got impossible expression context: N)r   rÇ  r   ÚLoadr÷  r»  r7   rë   r  rÈ  r¸  r#  ÚStorerÿ  ÚDelr  rˆ  rÉ  s     r
   ÚNAMEzChecker.NAME?  s  € õ
 �d”h¥¤Ñ)Ô)ð 	SØ×Ò  d§n¢n°TÑ&:Ô&:Ñ;Ô;Ð;Ø”˜8Ò#Ð#­
°4´:½}Ñ(MÔ(MÐ#Ý˜tÔ4µc´hÑ?Ô?ð $ð )-�”
Ô%Ð%Ð%ð $Ð#Ð#Ð#Ð#Ð#õ ˜œ¥#¤)Ñ,Ô,ð 	SØ× Ò  Ñ&Ô&Ð&Ð&Ð&Ý˜œ¥#¤'Ñ*Ô*ð 	SØ×!Ò! $Ñ'Ô'Ð'Ð'Ð'õ ÐQÀTÄXÐQÐQÑRÔRÐRr   c                 óÚ  — |}t          |d¦  «        r||j        |}}t          |t          j        t          j        t          j        f¦  «        r||j        vrd S t          |t          j        t          j	        f¦  «        rnt          |d¦  «        °|t          |t          j
        ¦  «        r"|                      t          j        |¦  «         d S |                      t          j        |¦  «         d S rË  )r<  rÈ  r   r   r  ÚForÚAsyncForr   rW  ÚClassDefÚContinuer¯  r   ÚContinueOutsideLoopÚBreakOutsideLoop)rl   r&   r   Ún_childs       r
   ÚCONTINUEzChecker.CONTINUER  sÜ   € ð ˆÝ�aÐ+Ñ,Ô,ð 	ØÔ+¨QˆwˆAÝ˜!�cœi­¬µ#´,Ð?Ñ@Ô@ð à !¤(Ð*Ð*Ø�FÝ˜!�cœo­s¬|Ð<Ñ=Ô=ð Øõ �aÐ+Ñ,Ô,ð 	õ �d�CœLÑ)Ô)ð 	9Ø�KŠK�Ô4°dÑ;Ô;Ð;Ð;Ð;à�KŠK�Ô1°4Ñ8Ô8Ð8Ð8Ð8r   c                 ó4  — t          | j        t          t          f¦  «        r"|                      t
          j        |¦  «         d S |j        r2t          | j        d¦  «        r| j        j	        s|j        | j        _	        |  
                    |j        |¦  «         d S )Nr   )r   rë   r  r.  r¯  r   ÚReturnOutsideFunctionr!   r<  r   r  rÉ  s     r
   ÚRETURNzChecker.RETURNf  s�   € Ý�d”j¥:­{Ð";Ñ<Ô<ð 	Ø�KŠK�Ô6¸Ñ=Ô=Ð=ØˆFð ŒJð	0å�D”J Ñ.Ô.ð	0ð ”
Ô&ð	0ð
 &*¤ZˆDŒJÔ"Ø�Š˜œ
 DÑ)Ô)Ð)Ð)Ð)r   c                 óÂ   — t          | j        t          t          f¦  «        r"|                      t
          j        |¦  «         d S |                      |j        |¦  «         d S r   )	r   rë   r  r.  r¯  r   ÚYieldOutsideFunctionr  r!   rÉ  s     r
   ÚYIELDzChecker.YIELDs  sS   € Ý�d”j¥:­{Ð";Ñ<Ô<ð 	Ø�KŠK�Ô5°tÑ<Ô<Ð<ØˆFà�Š˜œ
 DÑ)Ô)Ð)Ð)Ð)r   c                 óÈ  ‡ ‡— ‰j         D ]}‰                      |‰¦  «         Œ‰                      ‰¦  «        5  ‰                      ‰¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      ‰t          ‰j        ‰¦  «        ¦  «         ‰ j        rI‰                      ¦   «         s7t          ‰ j
        t          ¦  «        s‰                      ˆˆ fd„¦  «         d S d S d S d S )Nc                  ó.   •— ‰                      ‰ ¦  «        S r   ©r*  ©r&   rl   s   €€r
   rL  z%Checker.FUNCTIONDEF.<locals>.<lambda>‰  s   ø€  t×':Ò':¸4Ñ'@Ô'@€ r   )rZ  r  Ú_type_param_scopeÚLAMBDArŠ  rö   r:   r‚  rž  r   rë   r  r˜  )rl   r&   Údecos   `` r
   ÚFUNCTIONDEFzChecker.FUNCTIONDEF|  sP  øø€ ØÔ'ð 	(ð 	(ˆDØ�OŠO˜D $Ñ'Ô'Ð'Ð'à×#Ò# DÑ)Ô)ð 	ð 	Ø�KŠK˜ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�Š˜Õ0°´¸DÑAÔAÑBÔBÐBð Ôð 	BØ×$Ò$Ñ&Ô&ð	Bå˜tœz­=Ñ9Ô9ð	Bð ×ÒÐ@Ð@Ð@Ð@Ð@ÑAÔAÐAÐAÐAð	Bð 	Bð 	Bð 	Bð 	Bð 	Bs   ¸AÁAÁ!Ac                 óþ  ‡ ‡— g }g }‰j         j        D ]6}|                     |j        ¦  «         |                     |j        ¦  «         Œ7‰j         j         ‰j         j        z   D ]6}|                     |j        ¦  «         |                     |j        ¦  «         Œ7‰j         j        ‰j         j        z   }t          ‰t          j
        ¦  «         }dD ]P}t          ‰j         |¦  «        }|sŒ|                     |j        ¦  «         |r|                     |j        ¦  «         ŒQ|r|                     ‰j        ¦  «         t          t          |¦  «        ¦  «        t          |¦  «        k     rBt          |¦  «        D ]2\  }	}||d |	…         v r!‰                      t"          j        ‰|¦  «         Œ3|D ]}
‰                      |
‰¦  «         Œ|D ]}‰                      |‰¦  «         Œˆˆ fd„}‰                      |¦  «         d S )N)ÚvarargÚkwargc                  óœ   •— ‰                      t          ¦  «        5  ‰                     ‰ d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)rZ  ÚreturnsÚtype_paramsr  )r‰  r  r‹  rü  s   €€r
   ÚrunFunctionz#Checker.LAMBDA.<locals>.runFunction±  sœ   ø€ Ø—’�}Ñ-Ô-ð ð Ø×#Ò#ØØEð $ñ ô ð ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   œAÁAÁA)rf  Úposonlyargsr  rE  r6  Ú
kwonlyargsÚdefaultsÚkw_defaultsr   r   ÚLambdar   r  rF   r²  r’  r¯  r   ÚDuplicateArgumentr<  r  r˜  )rl   r&   rf  ÚannotationsrE  r
  Úhas_annotationsÚarg_nameÚwildcardÚidxr6  Údefaultr  s   ``           r
   rþ  zChecker.LAMBDA�  s+  øø€ ØˆØˆà”9Ô(ð 	/ð 	/ˆCØ�KŠK˜œÑ Ô Ð Ø×Ò˜sœ~Ñ.Ô.Ð.Ð.Ø”9”> D¤IÔ$8Ñ8ð 	/ð 	/ˆCØ�KŠK˜œÑ Ô Ð Ø×Ò˜sœ~Ñ.Ô.Ð.Ð.Ø”9Ô%¨¬	Ô(=Ñ=ˆå(¨­s¬zÑ:Ô:Ð:ˆà+ð 	8ð 	8ˆHÝ˜tœy¨(Ñ3Ô3ˆHØð ØØ�KŠK˜œÑ%Ô%Ð%Øð 8Ø×"Ò" 8Ô#6Ñ7Ô7Ð7øàð 	-Ø×Ò˜tœ|Ñ,Ô,Ð,å�s�4‰yŒy‰>Œ>�C ™IœIÒ%Ð%Ý'¨™oœoð Gð G‘
��cØ˜$˜t ˜tœ*Ð$Ð$Ø—K’K¥Ô :¸DÀ#ÑFÔFÐFøà%ð 	4ð 	4ˆJØ×!Ò! *¨dÑ3Ô3Ð3Ð3àð 	+ð 	+ˆGØ�OŠO˜G TÑ*Ô*Ð*Ð*ð	ð 	ð 	ð 	ð 	ð 	ð 	×Ò˜;Ñ'Ô'Ð'Ð'Ð'r   c                 ó4   — |                       |d¬¦  «         d S )N)r
  r  r  )r‹  rÉ  s     r
   Ú	ARGUMENTSzChecker.ARGUMENTSº  s"   € Ø×Ò˜DÐ'BÐÑCÔCÐCÐCÐCr   c           	      ó~   — |                       |t          |j        |                      |¦  «        ¦  «        ¦  «         d S r   )rŠ  rî   rE  rÛ  rÉ  s     r
   ÚARGzChecker.ARG½  s6   € Ø�Š˜�h t¤x°×1BÒ1BÀ4Ñ1HÔ1HÑIÔIÑJÔJÐJÐJÐJr   c                 ó¸  ‡ ‡— ‰j         D ]}‰                      |‰¦  «         Œ‰                      ‰¦  «        5  ‰j        D ]}‰                      |‰¦  «         Œ‰j        D ]}‰                      |‰¦  «         Œ‰                      t          ¦  «        5  ‰ j        rG‰                      ¦   «         s3t          ‰ j
        t          ¦  «        s‰                      ˆˆ fd„¦  «         ‰j        D ]}‰                      |‰¦  «         Œ	 ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   ‰                      ‰t          ‰j        ‰¦  «        ¦  «         dS )zÃ
        Check names used in a class definition, including its decorators, base
        classes, and the body of its definition.  Additionally, add its name to
        the current scope.
        c                  ó.   •— ‰                      ‰ ¦  «        S r   rû  rü  s   €€r
   rL  z"Checker.CLASSDEF.<locals>.<lambda>Ô  s   ø€ ¨t×/BÒ/BÀ4Ñ/HÔ/H€ r   N)rZ  r  rý  Úbasesrf  r‰  r  r‚  rž  r   rë   r  r˜  r   rŠ  rú   r:   )rl   r&   rÿ  ÚbaseNodeÚkeywordNodeÚstmts   ``    r
   ÚCLASSDEFzChecker.CLASSDEFÀ  sÿ  øø€ ð Ô'ð 	(ð 	(ˆDØ�OŠO˜D $Ñ'Ô'Ð'Ð'à×#Ò# DÑ)Ô)ð 	0ð 	0Ø œJð 0ð 0�Ø—’ ¨$Ñ/Ô/Ð/Ð/Ø#œ}ð 3ð 3�Ø—’ ¨TÑ2Ô2Ð2Ð2Ø—’�zÑ*Ô*ð 0ð 0ð Ô$ð JØ ×,Ò,Ñ.Ô.ðJå& t¤zµ=ÑAÔAðJð ×&Ò&Ð'HÐ'HÐ'HÐ'HÐ'HÑIÔIÐIØ œIð 0ð 0�DØ—O’O D¨$Ñ/Ô/Ð/Ð/ð0ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	�Š˜�o¨d¬i¸Ñ>Ô>Ñ?Ô?Ð?Ð?Ð?s7   ¸AD&ÂA/DÄD&ÄD	ÄD&ÄD	ÄD&Ä&D*Ä-D*c                 ó¨   — |                       |j        |¦  «         |                      |j        |¦  «         |                      |j        |¦  «         d S r   )r÷  Útargetr  r!   rÉ  s     r
   Ú	AUGASSIGNzChecker.AUGASSIGNÚ  sL   € Ø×Ò˜DœK¨Ñ.Ô.Ð.Ø�Š˜œ
 DÑ)Ô)Ð)Ø�Š˜œ TÑ*Ô*Ð*Ð*Ð*r   c                 ó¶  — t          |j        t          j        ¦  «        r¤d}d}t	          |j        ¦  «        D ]G\  }}t          |t          j        ¦  «        r(|r"|                      t          j	        |¦  «          nd}|}ŒH|dk    st          |j        ¦  «        |z
  dz
  dk    r |                      t          j        |¦  «         |                      |¦  «         d S )NFrÄ   Té   rE   i   )r   rÇ  r   rç  r’  r0   rX  r¯  r   ÚTwoStarredExpressionsrF   Ú%TooManyExpressionsInStarredAssignmentr‹  )rl   r&   Úhas_starredÚstar_locrT   r   s         r
   ÚTUPLEzChecker.TUPLEß  sß   € Ý�d”h¥¤	Ñ*Ô*ð 	Rð  ˆKØˆHÝ! $¤)Ñ,Ô,ð !ð !‘��1Ý˜a¥¤Ñ-Ô-ð !Ø"ð ØŸš¥HÔ$BÀDÑIÔIÐIð ˜Ø"&�KØ �HøØ˜6Ò!Ð!¥S¨¬¡^¤^°hÑ%>ÀÑ%BÀgÒ%MÐ%MØ—’�HÔJÈDÑQÔQÐQØ×Ò˜DÑ!Ô!Ð!Ð!Ð!r   c                 óÚ   — |j         D ]b}d|j        v r|j        st          |j        |¦  «        }n$|j        p|j        }t	          |||j        ¦  «        }|                      ||¦  «         Œcd S rÚ   )r  r:   ÚasnamerÁ   r»   rŠ  )rl   r&   ÚaliasÚimportationr:   s        r
   ÚIMPORTzChecker.IMPORTø  s|   € Ø”Zð 	/ð 	/ˆEØ�e”jÐ Ð ¨¬Ð Ý2°5´:¸tÑDÔD��à”|Ð1 u¤z�Ý)¨$°°e´jÑAÔA�Ø�OŠO˜D +Ñ.Ô.Ð.Ð.ð	/ð 	/r   c                 ó  — |j         dk    r(| j        s |                      t          j        |¦  «         nd| _        d|j        z  |j         pdz   }|j        D �]0}|j        p|j        }|j         dk    rbt          ||| j
        ¦  «        }|j        t          j        vr&|                      t          j        ||j        ¦  «         |j        dk    rd| _        nœ|j        dk    rzt          | j
        t           ¦  «        s"|                      t          j        ||¦  «         ŒÅd| j
        _        |                      t          j        ||¦  «         t)          ||¦  «        }nt+          ||||j        ¦  «        }|                      ||¦  «         �Œ2d S )Nrê   FrÃ   rJ  r  Trä   )rÛ   r¡  r¯  r   ÚLateFutureImportÚlevelr  r*  r:   rè   rë   rê   Úall_feature_namesÚFutureFeatureNotDefinedr¥  r   r.  ÚImportStarNotPermittedr  ÚImportStarUsedrâ   rØ   rŠ  )rl   r&   rÛ   r+  r:   r,  s         r
   Ú
IMPORTFROMzChecker.IMPORTFROM  sŽ  € ØŒ;˜,Ò&Ð&ØÔ&ð =Ø—’�HÔ5°tÑ<Ô<Ð<øà"'ˆDÔà˜œ
Ñ" t¤{Ð'8°bÑ9ˆà”Zð 	/ñ 	/ˆEØ”<Ð- 5¤:ˆDØŒ{˜lÒ*Ð*Ý/°°d¸D¼JÑGÔG�Ø”:¥ZÔ%AÐAÐAØ—K’K¥Ô @Ø $ e¤jñ2ô 2ð 2à”: Ò.Ð.Ø48�DÔ1øØ”˜sÒ"Ð"Ý! $¤*­kÑ:Ô:ð Ø—K’K¥Ô ?Ø $ fñ.ô .ð .àà+/�”
Ô(Ø—’�HÔ3°T¸6ÑBÔBÐBÝ-¨f°dÑ;Ô;��å-¨d°DØ.4°e´jñBô B�à�OŠO˜D +Ñ.Ô.Ð.Ñ.ð+	/ð 	/r   c                 ó”  — g }t          |j        ¦  «        D ]Æ\  }}t          |j        t          j        ¦  «        r2|j        j        D ]$}|                     t          |¦  «        ¦  «         Œ%n.|j        r'|                     t          |j        ¦  «        ¦  «         |j        €;|t          |j        ¦  «        dz
  k     r |  
                    t          j        |¦  «         ŒÇ| j                             |¦  «         |j        D ]}|                      ||¦  «         Œ| j                             ¦   «          |                      |d¬¦  «         d S )NrE   r   r  )r’  r   r   r#   r   r.   r0   r  r�   rF   r¯  r   ÚDefaultExceptNotLastrƒ  r   r  r©  r‹  )rl   r&   Úhandler_namesrT   rœ  Úexc_typer  s          r
   ÚTRYzChecker.TRY!  sM  € Øˆå# D¤MÑ2Ô2ð 	Dð 	D‰JˆAˆwÝ˜'œ,­¬	Ñ2Ô2ð @Ø '¤Ô 1ð @ð @�HØ!×(Ò(­°XÑ)>Ô)>Ñ?Ô?Ð?Ð?ð@à”ð @Ø×$Ò$¥[°´Ñ%>Ô%>Ñ?Ô?Ð?àŒ|Ð#¨­C°´Ñ,>Ô,>ÀÑ,BÒ(BÐ(BØ—’�HÔ9¸7ÑCÔCÐCøàÔ×"Ò" =Ñ1Ô1Ð1Ø”Yð 	)ð 	)ˆEØ�OŠO˜E 4Ñ(Ô(Ð(Ð(ØÔ×ÒÑ!Ô!Ð!à×Ò˜D vÐÑ.Ô.Ð.Ð.Ð.r   c                 ó$  — |j         €|                      |¦  «         d S |j         | j        v r|                      |¦  «         	 | j                             |j         ¦  «        }n# t
          $ r d }Y nw xY w|                      |¦  «         |                      |¦  «         	 | j                             |j         ¦  «        }|j        s&|                      t          j	        ||j         ¦  «         n# t
          $ r Y nw xY w|r|| j        |j         <   d S d S r   )
r:   r‹  rë   rÿ  r©  r‡  r–   r¯  r   r°  )rl   r&   Úprev_definitionr%  s       r
   ÚEXCEPTHANDLERzChecker.EXCEPTHANDLER7  s@  € ØŒ9ÐØ×Ò Ñ%Ô%Ð%ØˆFð Œ9˜œ
Ð"Ð"Ø× Ò  Ñ&Ô&Ð&ð	#Ø"œjŸnšn¨T¬YÑ7Ô7ˆOˆOøÝð 	#ð 	#ð 	#Ø"ˆOˆOˆOð	#øøøð 	×Ò˜TÑ"Ô"Ð"Ø×Ò˜DÑ!Ô!Ð!ð	FØ”j—n’n T¤YÑ/Ô/ˆGð ”<ð FØ—’�HÔ3°T¸4¼9ÑEÔEÐEøøõ	 ð 	ð 	ð 	ØˆDð	øøøð ð 	4Ø$3ˆDŒJ�t”yÑ!Ð!Ð!ð	4ð 	4s$   ÁA# Á#A2Á1A2Â C- Ã-
C:Ã9C:c                 ó$  — |                       |j        |¦  «         |j        rRt          |j        d| j        ¦  «        r|                       |j        |¦  «         n|                      |j        |¦  «         |                      |j        |¦  «         d S )NÚ	TypeAlias)r<  r6  r!   rN  r…  r  r   rÉ  s     r
   Ú	ANNASSIGNzChecker.ANNASSIGNd  s‰   € Ø×Ò˜dœo¨tÑ4Ô4Ð4àŒ:ð 	2å˜$œ/¨;¸¼ÑHÔHð 2Ø×%Ò% d¤j°$Ñ7Ô7Ð7Ð7à—’ ¤
¨DÑ1Ô1Ð1Ø�Š˜œ TÑ*Ô*Ð*Ð*Ð*r   c                 óJ  — |j         }t          |j        |j        ¦  «        D ]k\  }}t	          |t
          j        t
          j        f¦  «        r>t          |¦  «        st          |¦  «        r |  	                    t          j        |¦  «         |}Œl|                      |¦  «         d S r   )r	  ÚzipÚopsÚcomparatorsr   r   ÚIsÚIsNotr4   r¯  r   Ú	IsLiteralr‹  )rl   r&   r	  rò  r  s        r
   ÚCOMPAREzChecker.COMPAREo  s¢   € ØŒyˆÝ˜TœX tÔ'7Ñ8Ô8ð 	ð 	‰IˆB�å˜r¥C¤F­C¬IÐ#6Ñ7Ô7ð6å/°Ñ5Ô5ð6õ 0°Ñ6Ô6ð6ð —’�HÔ.°Ñ5Ô5Ð5ØˆDˆDà×Ò˜DÑ!Ô!Ð!Ð!Ð!r   c                 óZ   — |                       |¦  «         |                      |¦  «         d S r   )rÿ  r‹  rÉ  s     r
   Ú_match_targetzChecker._match_target€  s0   € Ø×Ò˜TÑ"Ô"Ð"Ø×Ò˜DÑ!Ô!Ð!Ð!Ð!r   c              #   ó$  K  — t          j        ¦   «         5 }t          j        dk    rM|                     |                      t          ¦  «        ¦  «         |j        D ]}|                      ||¦  «         Œd V — d d d ¦  «         d S # 1 swxY w Y   d S )N)r   é   )	Ú
contextlibÚ	ExitStackr   r   Úenter_contextr‰  r*  r  r  )rl   r&   rÇ  Úparams       r
   rý  zChecker._type_param_scope†  sÖ   è è € åÔ!Ñ#Ô#ð 	 sÝÔ 7Ò*Ð*Ø×!Ò! $§-¢-µ	Ñ":Ô":Ñ;Ô;Ð;Ø!Ô-ð 1ð 1�EØ—O’O E¨4Ñ0Ô0Ð0Ð0ØˆEˆEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   –A"BÂB	ÂB	c                 óf   — |                       |¦  «         |                      |j        |¦  «         d S r   )rÿ  r8  r{  rÉ  s     r
   ÚTYPEVARzChecker.TYPEVAR�  s4   € Ø×Ò˜TÑ"Ô"Ð"Ø×.Ò.¨t¬z¸4Ñ@Ô@Ð@Ð@Ð@r   c                 óÎ   — |                       |j        |¦  «         |                      |¦  «        5  |                      |j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r   )r  r:   rý  r8  r!   rÉ  s     r
   Ú	TYPEALIASzChecker.TYPEALIAS•  s¼   € Ø�Š˜œ	 4Ñ(Ô(Ð(Ø×#Ò# DÑ)Ô)ð 	Eð 	EØ×2Ò2°4´:¸tÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð 	Eð 	Es   ±AÁAÁ!Ar   )Ärs   rt   ru   rv   r   ÚModuler.  rí  r  rW  r  rX  r  ÚListCompr,  ÚSetCompÚGeneratorExpÚDictCompr†  r  r–  r]  r_  r	  r²  Úbuiltin_varsr�  Ú_MAGIC_GLOBALSr€  r³  ræ  rx   Ú_customBuiltInsÚupdaterÅ   r—   r˜  rŒ  rž  rÎ   r¡  Úsetterr¥  rë   rM  Úcontextmanagerr‰  r�  r¯  r»  rÍ  rÔ  rØ  rÛ  rß  rŠ  rè  rì  r÷  rÿ  r  ra  rd  rñ  r‹  rü  r  r  r  ÚdoctestÚDocTestParserÚget_examplesr  r*  rr  r3  r8  rn  r<  r>  ÚDELETEÚFORÚASYNCFORÚWHILEÚWITHÚWITHITEMÚ	ASYNCWITHÚEXPRÚASSIGNÚPASSÚBOOLOPÚUNARYOPÚSETÚ	ATTRIBUTEÚSTARREDÚNAMECONSTANTÚ	NAMEDEXPRrF  ru  r˜  r°  r³  rµ  ÚSLICEÚEXTSLICEÚINDEXÚLOADÚSTOREÚDELÚAUGLOADÚAUGSTOREÚPARAMÚANDÚORÚADDÚSUBÚMULTÚDIVÚMODÚPOWÚLSHIFTÚRSHIFTÚBITORÚBITXORÚBITANDÚFLOORDIVÚINVERTÚNOTÚUADDÚUSUBÚEQÚNOTEQÚLTÚLTEÚGTÚGTEÚISÚISNOTÚINÚNOTINÚMATMULTrº  ÚCOMPREHENSIONÚKEYWORDÚFORMATTEDVALUEr¾  rÀ  rÐ  rÔ  ÚIFEXPr×  rá  ÚNONLOCALrã  ÚLISTCOMPÚDICTCOMPÚSETCOMPré  rò  ÚBREAKrõ  rø  ÚAWAITÚ	YIELDFROMr   ÚASYNCFUNCTIONDEFrþ  r  r  r  r!  r(  ÚLISTr-  r5  r:  ÚTRYSTARr=  r@  rH  ÚMATCHÚ
MATCH_CASEÚ
MATCHCLASSÚMATCHORÚMATCHSEQUENCEÚMATCHSINGLETONÚ
MATCHVALUErJ  ÚMATCHASÚMATCHMAPPINGÚ	MATCHSTARrý  rR  Ú	PARAMSPECÚTYPEVARTUPLErT  r   r   r
   rt  rt  Í  s/  € € € € € Ø<Ð<ð 	Œ
�KØŒ�jØŒ˜ØÔ˜mØŒ
�MØŒ�nØŒ�^ØÔ˜.ØŒ�nð
€Oð €IØ€FØ$Ô)€Nàˆs�<Ñ Ô ×&Ò& ~Ñ6Ô6€HØ”j—n’nÐ%8Ñ9Ô9€OØð 4Ø�Š˜×-Ò-¨cÑ2Ô2Ñ3Ô3Ð3Øà&.¸Ø/°2´:Ð=È2ðð ð ð ðB	Kð 	Kð 	Kð,ð ,ð ,ð>ð >ð >ð ð+ð +ñ „Xð+ð Ôð0ð 0ñ Ôð0ð
 ð1ð 1ñ „Xð1ð Ô$ð6ð 6ñ %Ô$ð6ð
 ð#ð #ñ „Xð#ð Ôð:ð :ñ Ôð:ð@Kð @Kð @KðDKð Kð Kðð ð ð
ð 
ð 
ð,ð ð ðð ð ðNð Nð Nð	ð 	ð 	ð/?ð /?ð /?ðb&ð &ð &ð ð ð ðR<ð R<ð R<ðh('ð ('ð ('ðT@ð @ð @ð< ÔØ)8Ô)=ð 'ð 'ð 'ñ Ôð'ð ð
ð 
ñ „Xð
ð(ð (ð (ð (ðð ð ð	
ð 	
ð 	
ðð ð ð ð  ð  ð, 0˜'Ô/Ñ1Ô1Ô>Ðð&ð &ð &ð@ ð1ð 1ñ Ôð1ð.Að Að Að ð.ð .ñ „]ð.ð&ð ð ð
 'ð'€Fð 'ˆSð '�8ð '˜eð ' dð '¨Xð '¸	ð 'Øˆvà€Dð #ð#€Fð #ˆWð #�sð #˜Yð #¨ð #°<Øð$*ð $*ð $*ðLqð qð qðfQ&ð Q&ð Q&ðfhð hð hðT"ð "ð "ð
#ð 
#ð 
#ð  .Ð-€EÐ-ˆH�uð 7=Ð<€DÐ<ˆ5Ð<�3Ð<˜Ð< 8¨eð ð€Cð ˆ"ð ˆsð �Sð ˜4ð  #ð ¨ð ¨cð °Fð ¸Vð ØðØðØðØ"*ðØ-3ðØ69ðØ<@ðØCGðà
ðàðàðàðà "ðà%(ðà+-ðà05ðà8:ðà=BØð<ð <ð <ð 0>Ð=€MÐ=�G˜nà€Kð$ð $ð $ð""ð ""ð ""ðH"ð "ð "ð
 €Eð"ð "ð "ð
2ð 2ð 2ð< €Hð&ð &ð &ð %1Ð0€HÐ0ˆx˜'ðSð Sð Sð&9ð 9ð 9ð$ €Eð*ð *ð *ð*ð *ð *ð Ð€EˆIðBð Bð Bð #Ðð+(ð +(ð +(ðZDð Dð DðKð Kð Kð@ð @ð @ð4+ð +ð +ð
"ð "ð "ð. €Dð/ð /ð /ð/ð /ð /ð@/ð /ð /ð( €Gð+4ð +4ð +4ðZ	+ð 	+ð 	+ð"ð "ð "ð AOÐN€EÐNˆJÐN˜ÐN g°Ø"0Ð0€N�Zð"ð "ð "ð *7Ð6€GÐ6ˆl˜YàÔðð ñ ÔððAð Að Að  /Ð.€I�ðEð Eð Eð Eð Er   rt  )Srv   rê   r‘  r   r{  rM  r`  rk  r³  Úrer?   r   rŽ  Úpyflakesr   r<  ÚPYPYr5  rZ  Ú	Formatterr  rd  r   rë  rì  r¼  r'   r1   r*   r4   r;   ÚcompilerI   rL   rM   rN   rO   Ú	frozensetrž  rA   rb   r  rd   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.  r2  r4  r[  r�   rB  rH  rN  rR  r[  r]  rn  rr  rt  r   r   r
   ú<module>rº     sd  ððð ð Ð Ð Ð Ø €€€Ø 
€
€
€
Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø €€€Ø 
€
€
€
Ø €€€à Ð Ð Ð Ð Ð à€wˆsÐ'Ñ(Ô(€àˆs�8‰}Œ}€à&�fÔ&Ñ(Ô(Ô.Ð ð+ð +ð +ð ŒW�c”lÐ#€	ðð ð ðð ð ðFð Fð Fð:ð :ð :ðð ð ð �”˜OÑ,Ô,€Ø�R”Z 
Ñ+Ô+Ð Øˆ2Œ:�mÑ$Ô$€ØˆrŒzÐ.Ñ/Ô/€ØˆBŒJ�xÑ Ô €	à�IÐ1Ñ2Ô2Ð ðð ð ð=!ð =!ð =!ð@ð ð ð ð �4ñ ô ð ð&ð ð ð !%°L°L±N´Nð ð ð ð ð."ð "ð "ðPð Pð PðIð Ið Ið Ið Iñ Iô Ið Ið@
ð 
ð 
ð 
ð 
�ñ 
ô 
ð 
ð
ð 
ð 
ð 
ð 
ˆjñ 
ô 
ð 
ðð ð ð ð ñ ô ð ðð ð ð ð ñ ô ð ð&%!ð %!ð %!ð %!ð %!�*ñ %!ô %!ð %!ðP")ð ")ð ")ð ")ð ")˜;ñ ")ô ")ð ")ðJ<ð <ð <ð <ð <�kñ <ô <ð <ð8ð ð ð ð �kñ ô ð ð,	$ð 	$ð 	$ð 	$ð 	$˜ñ 	$ô 	$ð 	$ðð ð ð ð ˆwñ ô ð ðð ð ð ð �ñ ô ð ðð ð ð ð ˜*ñ ô ð ðð ð ð ð �ñ ô ð ð	ð 	ð 	ð 	ð 	˜ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�jñ 	ô 	ð 	ð.'ð .'ð .'ð .'ð .'�Gñ .'ô .'ð .'ðbHð Hð Hð Hð HˆDñ Hô Hð Hð	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ð"$ð "$ð "$ð "$ð "$�Eñ "$ô "$ð "$ðJ	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�Uñ 	ô 	ð 	ð(ð (ð (ð (ð (�%ñ (ô (ð (ðð ð ð ð �;ñ ô ð ðð ð ð ð ñ ô ð ð QÐPÐP€ðð ð ð �Ð:Ñ;Ô;€ð)ð )ð )ðXLð Lð Lð@ð @ð @ðð ð ðð ð ð ð ñ ô ð ðð ð ðð ð ðKEð KEð KEð KEð KEñ KEô KEð KEð KEð KEr   