/opt/cloudlinux/venv/lib/python3.11/site-packages/pyflakes/__pycache__
NameSizeModeActions
api.cpython-311.pyc86270644editdlrm
checker.cpython-311.pyc1173200644editdlrm
messages.cpython-311.pyc217340644editdlrm
reporter.cpython-311.pyc44360644editdlrm
__init__.cpython-311.pyc2280644editdlrm
__main__.cpython-311.pyc3810644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/pyflakes/__pycache__/checker.cpython-311.pyc (117320B)
§ ÀšoøyAãóv—dZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlmZe jdkZee d¦«Zee¦«Ze j¦«jZd„ZejejfZerd„Znd„Zd „Zerd „Znd „Zd „Z d „Z!e j"d¦«Z#d $d„e%d¦«D¦«¦«Z&e j"e#j'de&›d�z¦«Z(e j"d¦«Z)e j"d¦«Z*e j"d¦«Z+e j"d¦«Z,e j"d¦«Z-e j"d¦«Z.e/d¦«Z0d„Z1d„Z2Gd„de3¦«Z4d„Z5de4¦«fd „Z6d!„Z7d"„Z8Gd#„d$¦«Z9Gd%„d&e9¦«Z:Gd'„d(e:¦«Z;Gd)„d*¦«Z<Gd+„d,¦«Z=Gd-„d.e:¦«Z>Gd/„d0e>¦«Z?Gd1„d2e>¦«Z@Gd3„d4e>¦«ZAGd5„d6e@¦«ZBGd7„d8e9¦«ZCGd9„d:e9¦«ZDGd;„de9¦«ZFGd?„d@e:¦«ZGGdA„dBe:¦«ZHGdC„dDe9¦«ZIGdE„dFe3¦«ZJGdG„dHeJ¦«ZKGdI„dJeJ¦«ZLGdK„dLeJ¦«ZMGdM„dNeJ¦«ZNGdO„dPeN¦«ZOGdQ„dR¦«ZPGdS„dT¦«ZQgdU¢ZRdV„ZSe/dW¦«ZTdX„ZUdY„ZVdZ„ZWd[„ZXGd\„d]¦«ZYd^„ZZd_„Z[d`„Z\Gda„dbej]¦«Z^dc„Z_Gdd„de¦«Z`dS)fz] Main module. Implement the central Checker class. Also, it models the Bindings and Scopes. éN)Úmessages)ééÚpypy_version_infocó—t|tj¦«r|jgSt|tj¦«r"|j|jzgd„|jD¦«zSdS)Ncó—g|]}|g‘ŒS©r )Ú.0Úhdls úb/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/pyflakes/checker.pyú z#getAlternatives..#s€Ð%BÐ%BÐ%B° s eÐ%BÐ%BÐ%Bó)Ú isinstanceÚastÚIfÚbodyÚTryÚorelseÚhandlers)Úns r ÚgetAlternativesrsh€Ý�!•S”VÑÔðØ”ˆxˆÝ�!•S”WÑÔðCØ”˜œÑ!Ð"Ð%BÐ%B°q´zÐ%BÑ%BÔ%BÑBÐBðCðCrcó®—t|tj¦«o;t|jtt t ¦«t d¦«f¦«S©N)rrÚConstantÚvalueÚboolÚtypeÚEllipsis©Únodes r Ú _is_singletonr!)s>€å �t�Sœ\Ñ *Ô *ð GÝ �t”z¥D­$­x©.¬.½$¸t¹*¼*Ð#EÑ FÔ Fð rcóN—t|tjtjf¦«Sr)rrÚ NameConstantrrs r r!r!/s€Ý˜$¥Ô!1µ3´<Ð @ÑAÔAÐArcór—t|tj¦«otd„|jD¦«¦«S)Nc3ó4K—|]}t|¦«V—ŒdSr)Ú _is_constant©r Úelts r ú z%_is_tuple_constant..6s*èè€Ð 3Ð 3 #�L˜Ñ Ô Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3r)rrÚTupleÚallÚeltsrs r Ú_is_tuple_constantr-3s7€å�4�œÑ#Ô#ð 4Ý Ð 3Ð 3¨¬Ð 3Ñ 3Ô 3Ñ3Ô3ðrcóT—t|tj¦«pt|¦«Sr)rrrr-rs r r&r&;s"€Ý˜$¥¤ Ñ-Ô-ÐIÕ1CÀDÑ1IÔ1IÐIrcó —t|tjtjtjf¦«pt |¦«pt |¦«Sr)rrÚStrÚNumÚBytesr!r-rs r r&r&>sA€å �t�cœg¥s¤wµ´ Ð:Ñ ;Ô ;ð %Ý ˜$Ñ Ô ð %å ˜tÑ $Ô $ð rcó@—t|¦«ot|¦« Sr)r&r!rs r Ú_is_const_non_singletonr4Fs €Ý ˜Ñ Ô Ð 9¥m°DÑ&9Ô&9Ð"9Ð9rcó–—t|tj¦«r |j|kp$t|tj¦«o |j|kSr)rrÚNameÚidÚ AttributeÚattr)r Únames r Ú_is_name_or_attrr;JsB€å �D�#œ(Ñ #Ô #Ð 7¨¬°4ªð @Ý �D�#œ-Ñ (Ô (Ð >¨T¬Y¸$Ò->ðrz ^#\s*type:\s*Úcón—g|]2}t|¦« ¦«°#t|¦«‘Œ3Sr )ÚchrÚisalnum©r Úis r r r Ts3€ÐNÐNÐN a½SÀ¹V¼V¿^º^Ñ=MÔ=MÐN�3˜q™6œ6ÐNÐNÐNré€zignore([z]|$)z^(\(.*?\))\s*->\s*(.*)$z \(([^()]*)\)z[#0+ -]*z (?:\*|\d*)z(?:\.(?:\*|\d*))?z[hlL]?zdiouxXeEfFgGcrsa%có:—| ||¦«}|€J‚|Sr)Úmatch)ÚregexÚstringÚposrDs r Ú _must_matchrHds&€Ø �KŠK˜ Ñ $Ô $€EØ Ð Ð Ð Ø €Lrcó<‡—ˆfd„}t|¦«¦«S)z�Parses the string component of a `'...' % ...` format call Copied from https://github.com/asottile/pyupgrade at v1.20.1 c3ó•K—d}d}d}d}|t‰¦«k�rÍ|sA ‰ d|¦«}|}|dz }d}�n•#t$r‰|d…dfV—YdSwxYwt ‰|¦«}|r*| d¦«}| ¦«}nd}tt‰|¦«}| ¦«pd}| ¦«}tt‰|¦«}| ¦«pd} | ¦«}tt‰|¦«} |  ¦«pd} |  ¦«}tt‰|¦« ¦«} ‰|} n#t$rtd¦«‚wxYw|dz }||| | | f} ‰||…| fV—d}|}|t‰¦«k�°Í|rtd¦«‚dS)NrFú%éTz"end-of-string while parsing format) ÚlenÚindexÚ ValueErrorÚMAPPING_KEY_RErDÚgroupÚendrHÚCONVERSION_FLAG_REÚWIDTH_REÚ PRECISION_REÚ LENGTH_REÚ IndexError)Ú string_startÚ string_endÚin_fmtrAÚ key_matchÚkeyÚconversion_flag_matchÚconversion_flagÚ width_matchÚwidthÚprecision_matchÚ precisionÚ conversionÚfmtÚss €r Ú _parse_innerz*parse_percent_format.._parse_innerps^øèè€Øˆ ؈ Øˆà ˆØ•#�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ð Cs£AÁA ÁA ÆFÆF8)Útuple)rerfs` r Úparse_percent_formatrhjs8ø€ð 5Cð5Cð5Cð5Cð5Cõn ��‘”Ñ Ô Ð rcó—eZdZdZd„Zd„ZdS)Ú _FieldsOrderzFix order of AST node fields.cóŒ—|j}d|vrdj}nd|vrdj}ndj}tt||d¬¦«¦«S)NÚiterÚ generatorsrT)r\Úreverse)Ú_fieldsÚfindrgÚ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ÐArcó:—| |¦«x||<}|Sr)rv)rrrsrts r Ú __missing__z_FieldsOrder.__missing__¸s$€Ø$(×$4Ò$4°ZÑ$@Ô$@Ð@ˆˆZј6؈ rN)Ú__name__Ú __module__Ú __qualname__Ú__doc__rvrxr rr rjrjªs;€€€€€Ø'Ð'ð Bð Bð BðððððrrjcóL—i}|D]}| |d¦«dz||<Œ|S)z| Simplest required implementation of collections.Counter. Required as 2.6 does not have Counter in collections. rrL)Úget)ÚitemsÚresultsÚitems r Úcounterr‚½s;€ð €GØð1ð1ˆØŸ š  D¨!Ñ,Ô,¨qÑ0ˆ�‰ ˆ Ø €Nrc#óK—||jD]q}|r||vrŒ t||d¦«}t|tj¦«r|V—Œ9t|t ¦«r#|D] }t|tj¦«r|V—Œ!ŒrdS)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__ÚgetattrrrÚ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øøð ð rcóV—t|tj¦«r|jSt td¦«r!t|tj¦«r|jSt|tj¦«rtd„|jD¦«¦«St|tj ¦«r|j St|tj ¦«r1t|¬¦«}ddddœ}|  |j|¦«St|tj¦«r|jSt#¦«S)Nr2c3ó4K—|]}t|¦«V—ŒdSr©Úconvert_to_valuer@s r r)z#convert_to_value..ås+èè€Ð<Ð<¨QÕ% aÑ(Ô(Ð<Ð<Ð<Ð<Ð<ÐÔ#>ð"ØŒvˆ Ý �D�#œ)Ñ $Ô $ð"ÝÐ<Ð<°$´)Ð<Ñ<Ô<Ñ<Ô<Ð<Ý �D�#œ'Ñ "Ô "ð"ØŒvˆ Ý �D�#œ(Ñ #Ô #ð"Ý $Ð'Ñ'Ô'ˆàØØð ð Ðð  ×#Ò#Ø ŒKØ ñ ô ð õ �D�#Ô*Ñ +Ô +ð"ØŒzÐåÑ!Ô!Ð!rcó\—t|tj¦«ot|¦«dkS)NÚNotImplemented)rrr6Ú getNodeNamers r Úis_notimplemented_name_noder›ùs'€Ý �d�CœHÑ %Ô %Ð O­+°dÑ*;Ô*;Ð?OÒ*OÐOrcó*—eZdZdZd„Zd„Zd„Zd„ZdS)Ú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|_dS©NF)r:ÚsourceÚused)rrr:r s r Ú__init__zBinding.__init__ s€ØˆŒ ؈Œ ؈Œ ˆ ˆ rcó—|jSr)r:©rrs r Ú__str__zBinding.__str__s €ØŒyÐrcó~—d |jj|j|jjt |¦«¦«S)Nz)<{} object {!r} from line {!r} at 0x{:x}>)Úformatr„ryr:r Úlinenor7r¤s r Ú__repr__zBinding.__repr__s8€Ø:×AÒAØ ŒNÔ #Ø ŒIØ ŒKÔ Ý ˆt‰HŒHñ  ô ð rcóL—t|t¦«o|j|jkSr)rÚ Definitionr:©rrÚothers r Ú redefineszBinding.redefiness €Ý˜%¥Ñ,Ô,ÐH°´¸e¼jÒ1HÐHrN)ryrzr{r|r¢r¥r©r®r rr r�r�ýs_€€€€€ð ð ðððð ððð ð ð ðIðIðIðIðIrr�có—eZdZdZdS)r«z7 A binding that defines a function or a class. N©ryrzr{r|r rr r«r«ó€€€€€ððððrr«có(‡—eZdZdZˆfd„Zd„ZˆxZS)ÚBuiltinz-A definition created for all Python builtins.cóL•—t¦« |d¦«dSr)Úsuperr¢)rrr:r„s €r r¢zBuiltin.__init__&s#ø€Ý ‰Œ×Ò˜˜tÑ$Ô$Ð$Ð$Ð$rcóh—d |jj|jt |¦«¦«S)Nz<{} object {!r} at 0x{:x}>)r§r„ryr:r7r¤s r r©zBuiltin.__repr__)s0€Ø+×2Ò2Ø ŒNÔ #Ø ŒIÝ ˆt‰HŒHñ ô ð r)ryrzr{r|r¢r©Ú __classcell__©r„s@r r³r³#sMø€€€€€Ø7Ð7ð%ð%ð%ð%ð%ð ð ð ð ð ð ð rr³có—eZdZdZdS)r•zS A dictionary key of a type that we cannot or do not check for duplicates. Nr°r rr r•r•1r±rr•có$—eZdZdZd„Zd„Zd„ZdS)r”zY A dictionary key which is a variable. @ivar item: The variable AST object. có—|j|_dSr)r7r:)rrr�s r r¢zVariableKey.__init__=s€Ø”GˆŒ ˆ ˆ rcóB—|j|jko|j|jkSr)r„r:)rrÚcompares r Ú__eq__zVariableKey.__eq__@s%€à Ô  ¤Ò /ð &Ø ŒL˜DœIÒ %ð rcó*—t|j¦«Sr)Úhashr:r¤s r Ú__hash__zVariableKey.__hash__Fs€Ý�D”I‰ŒÐrN)ryrzr{r|r¢r¾rÁr rr r”r”7sK€€€€€ððð ððð ð ð ð ððððrr”cóL‡—eZdZdZdˆfd„ Zd„Zd„Zed„¦«Zd„Z ˆxZ 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¦« ||¦«dSr)ÚfullNameÚ redefinedrµr¢)rrr:r Ú full_namer„s €r r¢zImportation.__init__Ss6ø€Ø!Ð) TˆŒ ؈ŒÝ ‰Œ×Ò˜˜vÑ&Ô&Ð&Ð&Ð&rcó–—t|t¦«r|j|jkSt|t¦«o|j|jkSr)rÚSubmoduleImportationrÅr«r:r¬s r r®zImportation.redefinesXsB€Ý �eÕ1Ñ 2Ô 2ð 3à”= E¤NÒ2Ð 2ݘ%¥Ñ,Ô,ÐH°´¸e¼jÒ1HÐHrcóV—|j d¦«d|jk S)z.Return whether importation needs an as clause.ú.éÿÿÿÿ)rÅÚsplitr:r¤s r Ú _has_aliaszImportation._has_alias^s'€à”=×&Ò& sÑ+Ô+¨BÔ/°4´9Ò<Ð<ИTœYÒ &Ð &Ø”= 6Ñ)¨D¬IÑ5Ð 5à”=Ð rcóz—|j|jkrd|j›d|j›d|j›�Sd|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œ;Ð;Ð;°´ Ð;Ð;Ð ;rr)ryrzr{r¢r¥rÖrÓr·r¸s@r ràrà—sgø€€€€€ð 2ð 2ð 2ð 2ð 2ð 2ð!ð!ð!ðð<ð<ñ„Xð<ð<ð<ð<ð‡—eZdZdZˆfd„Zed„¦«Zd„ZˆxZS)ÚStarImportationz3A binding created by a 'from x import *' statement.cón•—t¦« d|¦«|dz|_||_dS)NÚ*z.*)rµr¢r:rÅ)rrr:r r„s €r r¢zStarImportation.__init__¶s5ø€Ý ‰Œ×Ò˜˜fÑ%Ô%Ð%ð˜4‘KˆŒ ؈Œ ˆ ˆ rcó—d|jzdzS)Nrèz import *rÝr¤s r rÓz StarImportation.source_statement½s€à˜œÑ&¨Ñ4Ð4rcóR—|j d¦«r|jS|jSrâ)rÅrårÓr:r¤s r r¥zStarImportation.__str__Ás+€à Œ=× !Ò ! #Ñ &Ô &ð ØÔ(Ð (à”9Ð r) ryrzr{r|r¢rÖrÓr¥r·r¸s@r rêrê³shø€€€€€Ø=Ð=ððððððð5ð5ñ„Xð5ðððððððrrêcó"‡—eZdZdZˆfd„ZˆxZS)ÚFutureImportationzs A binding created by a from `__future__` import statement. `__future__` imports are implicitly used. có`•—t¦« ||d¦«||f|_dS)NÚ __future__)rµr¢r¡)rrr:r Úscoper„s €r r¢zFutureImportation.__init__Ðs.ø€Ý ‰Œ×Ò˜˜v |Ñ4Ô4Ð4ؘF�OˆŒ ˆ ˆ r©ryrzr{r|r¢r·r¸s@r rðrðÉsBø€€€€€ððð $ð$ð$ð$ð$ð$ð$ð$ð$rrðcó—eZdZdZdS)ÚArgumentz3 Represents binding a name as an argument. Nr°r rr röröÕr±rröcó—eZdZdZdS)Ú Assignmenta 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 rr rørøÛs€€€€€ððððrrøcó—eZdZdZdS)ÚNamedExprAssignmentzB Represents binding a name with an assignment expression. Nr°r rr rúrúår±rrúcó—eZdZdZd„ZdS)Ú 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ó—dS)zAAn Annotation doesn't define any name, so it cannot redefine one.Fr r¬s r r®zAnnotation.redefinesôs€àˆurN)ryrzr{r|r®r rr rürüës-€€€€€ðððððððrrücó—eZdZdS)ÚFunctionDefinitionN©ryrzr{r rr rÿrÿùó€€€€€Ø€Drrÿcó—eZdZdS)ÚClassDefinitionNrr rr rrýrrrcó"‡—eZdZdZˆfd„ZˆxZS)Ú 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|vr:t|tj¦«r t|dj¦«‰_ng‰_ˆfd„}t|jtjtjf¦«r||j¦«nåt|jtj¦«rÆ|j}t|j tjtjf¦«r”|j }|j }||¦«t|tj¦«r|}n3t|tjtjf¦«r ||¦«n,n+t|j tjtjf¦«°”t¦«  ||¦«dS)NÚ__all__cóŽ•—|jD];}t|tj¦«r‰j |j¦«Œ._add_to_namessKø€Ø!œð .ð .�ݘd¥C¤GÑ,Ô,ð.Ø”J×%Ò% d¤fÑ-Ô-Ð-øð .ð .r) rrÚ AugAssignr‡r rÚListr*ÚBinOpÚrightÚleftrµr¢) rrr:r rór Ú currentValuerrr„s ` €r r¢zExportBinding.__init__sxøø€Ø ˜Ð Ð ¥*¨VµS´]Ñ"CÔ"CРݘe IÔ.Ô4Ñ5Ô5ˆDŒJˆJàˆDŒJð .ð .ð .ð .ð .õ �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Ñ&Ô&Ð&Ð&Ð&rrôr¸s@r rrsBø€€€€€ð ð ð'ð'ð'ð'ð'ð'ð'ð'ð'rrcó—eZdZdZd„ZdS)ÚScopeFcó~—|jj}d|›dt|¦«d›dt |¦«›d�S)Nú)r„ryr7Údictr©)rrÚ scope_clss r r©zScope.__repr__5sB€Ø”NÔ+ˆ ØG�9ÐGÐG¥B t¡H¤HÐGÐGÐGµ·²¸tÑ1DÔ1DÐGÐGÐGÐGrN)ryrzr{Ú importStarredr©r rr rr2s-€€€€€Ø€MðHðHðHðHðHrrcó—eZdZdS)Ú ClassScopeNrr rr rr:rrrcó4‡—eZdZdZdZhd£Zˆfd„Zd„ZˆxZS)Ú 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|_dSrŸ)rµr¢Ú alwaysUsedÚcopyÚglobalsÚ returnValueÚ isGenerator)rrr„s €r r¢zFunctionScope.__init__HsDø€Ý ‰Œ×ÒÑÔÐà”×+Ò+Ñ-Ô-ˆŒ ØˆÔØ ˆÔÐÐrc#ó®K—| ¦«D]=\}}|js1|dkr+||jvr"|jst |t ¦«r||fV—Œ>dS)zR Return a generator for the assignments which have not been used. Ú_N)rr¡r'Ú usesLocalsrrø)rrr:Úbindings r ÚunusedAssignmentszFunctionScope.unusedAssignmentsOs|èè€ð"ŸZšZ™\œ\ð $ð $‰MˆD�'Ø”Lð $ؘC’K�KØ ¤ Ð,Ð,Øœð-å˜w­ Ñ3Ô3ð-ð˜G�mÐ#Ð#Ð#øð  $ð $r) ryrzr{r|r,r%r¢r.r·r¸s@r r r >siø€€€€€ððð €Jð.ð.ð.€Jð!ð!ð!ð!ð!ð $ð $ð $ð $ð $ð $ð $rr có—eZdZdS)ÚGeneratorScopeNrr rr r0r0\rrr0có—eZdZdZdZdZdS)Ú ModuleScopezScope for a module.TFN)ryrzr{r|Ú_futures_allowedÚ_annotations_future_enabledr rr r2r2`s"€€€€€ØÐØÐØ"'ÐÐÐrr2có—eZdZdZdS)Ú DoctestScopezScope for a doctest.Nr°r rr r6r6fs€€€€€ØÐÐÐrr6có—eZdZdZd„ZdS)Ú DummyNodez._bare_name_is_attr‘s}ø€Ý˜kÑ*Ô*ð ð ˆEØ�uˆ}ˆ}å˜u Tœ{­OÑ<Ô<ð<ؘ$”KÔ&­.Ð8ð<à$Ð$ U¨4¤[Ô%:Ñ;Ô;ðððððˆurcó–•—t‰¦«D]7}||vr1t||t¦«o||jtvcSŒ8dSrŸ)rHrrÃrÅrI)r:rórKs €r Ú_module_scope_is_typingz2_is_typing_helper.._module_scope_is_typingœscø€Ý˜kÑ*Ô*ð ð ˆEØ�uˆ}ˆ}å˜u Tœ{­KÑ8Ô8ð;ؘ$”KÔ(­NÐ:ððððð ˆur)rrr6r7r8rr9)r rJrKrLrNs `` r Ú_is_typing_helperrO‡sÀøø€ð ð ð ð ð ð ðððððõ �t�SœXÑ &Ô &ð (Ø Ð ˜tœwÑ 'Ô 'ð õ �t�Sœ]Ñ +Ô +ð (Ý �t”z¥3¤8Ñ ,Ô ,ð (à #Ð # D¤J¤MÑ 2Ô 2ð (ð Ð ˜TœYÑ 'Ô 'ð rcó,‡—t|ˆfd„|¦«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ó•—|‰kSrr )rÚ typing_attrs €r úz_is_typing..»s ø€¨Q°+Ò-=€r©rO)r rRrKs ` r Ú _is_typingrU³s!ø€õ ˜TÐ#=Ð#=Ð#=Ð#=¸{Ñ KÔ KÐKrcó&—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ó—dS©NTr )rs r rSz'_is_any_typing_member..Ås€¨T€rrT)r rKs r Ú_is_any_typing_memberrY¾s€õ ˜T > >°;Ñ ?Ô ?Ð?rc󤇗t|jtjtjf¦«o$t ˆfd„|jjD¦«¦«S)Nc3ó:•K—|]}t|d‰¦«V—ŒdS)ÚoverloadN)rU)r ÚdecrKs €r r)z%is_typing_overload..ËsCøèè€ð ð àõ �s˜J¨ Ñ 4Ô 4ð ð ð ð ð ð r)rr rÚ FunctionDefÚAsyncFunctionDefÚanyÚdecorator_list)rrKs `r Úis_typing_overloadrbÈs^ø€å�5”<¥#¤/µ3Ô3GÐ!HÑIÔIð Ý ð ð ð ð à”|Ô2ð ñ ô ñ ô ðrcó—eZdZdZdZdZdS)ÚAnnotationStaterrLéN)ryrzr{ÚNONEÚSTRINGÚBAREr rr rdrdÒs€€€€€Ø €DØ €FØ €D€D€DrrdcóF‡—tj‰¦«ˆfd„¦«}|S)Ncóx•—| ¦«5‰|g|¢Ri|¤Žcddd¦«S#1swxYwYdSr)Ú_enter_annotation©rrÚargsÚkwargsÚfuncs €r Úin_annotation_funcz)in_annotation..in_annotation_funcÙs–ø€à × #Ò #Ñ %Ô %ð /ð /Ø�4˜Ð.˜tÐ.Ð.Ð. vÐ.Ð.ð /ð /ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s – /¯3¶3©Ú functoolsÚwraps©rorps` r Ú in_annotationruØó9ø€Ý„_�TÑÔð/ð/ð/ð/ñÔð/ð ÐrcóF‡—tj‰¦«ˆfd„¦«}|S)NcóŽ•—| tj¦«5‰|g|¢Ri|¤Žcddd¦«S#1swxYwYdSr)rkrdrgrls €r rpz0in_string_annotation..in_annotation_funcás›ø€à × #Ò #¥OÔ$:Ñ ;Ô ;ð /ð /Ø�4˜Ð.˜tÐ.Ð.Ð. vÐ.Ð.ð /ð /ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s ¡ :º>Á>rqrts` r Úin_string_annotationryàrvrcó䇗t|t¦«s| d¦«}t| d¦«¦«Št t jˆfd„¦«¦«S)NzUTF-8Tcó$•—t‰d¦«S)Nr)Únext)Úliness€r rSzmake_tokens..îsø€­4°°sÑ+;Ô+;€r)rÚbytesÚencoderlÚ splitlinesrgÚtokenize)Úcoder}s @r Ú make_tokensrƒèsbø€å �d�EÑ "Ô "ð$Ø�{Š{˜7Ñ#Ô#ˆÝ �—’ Ñ&Ô&Ñ 'Ô '€Eå •Ô"Ð#;Ð#;Ð#;Ð#;Ñ<Ô<Ñ =Ô =Ð=rcó:—eZdZdZd„Zd„ZexZxZxZZ exZ xZ Z dS)Ú_TypeableVisitorzŒCollect the line number and nodes which are deemed typeable by PEP 484 https://www.python.org/dev/peps/pep-0484/#type-comments có"—g|_i|_dSr)Útypeable_linesÚtypeable_nodesr¤s r r¢z_TypeableVisitor.__init__÷s€Ø ˆÔØ ˆÔÐÐrcóŒ—|j |j¦«||j|j<| |¦«dSr)r‡r r¨rˆÚ generic_visit©rrr s r Ú _typeablez_TypeableVisitor._typeableûsD€à Ô×"Ò" 4¤;Ñ/Ô/Ð/Ø+/ˆÔ˜DœKÑ(à ×Ò˜4Ñ Ô Ð Ð Ð rN) ryrzr{r|r¢rŒÚ visit_AssignÚ visit_ForÚvisit_FunctionDefÚ visit_WithÚvisit_AsyncForÚvisit_AsyncFunctionDefÚvisit_AsyncWithr rr r…r…ñs_€€€€€ððð !ð!ð!ð!ð!ð!ðAJÐI€LÐI�9ÐIÐ0°:Ø@IÐI€NÐIÐ+¨o¨o¨orr…cóÚ—t¦«}| |¦«tjt¦«}|D]«\}}}}}|t jks4t |¦«rt |¦«rŒM|\}}tj |j |¦«} | dkrŒs|j |j | dz } ||  ||f¦«Œ¬|S)NrrL)r…ÚvisitÚ collectionsÚ defaultdictr‡r�ÚCOMMENTÚTYPE_COMMENT_RErDÚTYPE_IGNORE_REÚbisectÚ bisect_rightr‡rˆr ) ÚtreeÚtokensÚvisitorÚ type_commentsÚtpÚtextÚstartr+r¨Úidxr s r Ú_collect_type_commentsr¥só€ÝÑ Ô €GØ ‡M‚M�$ÑÔÐåÔ+­DÑ1Ô1€MØ!'ð2ð2шˆD�%˜˜Aà•hÔ&Ò&Ð&Ý#×)Ò)¨$Ñ/Ô/ð'å×$Ò$ TÑ*Ô*ð'ð ð ‰ ˆ�ÝÔ! 'Ô"8¸&ÑAÔAˆØ �!Š8ˆ8Ø ØÔ% gÔ&<¸SÀ1¹WÔ&EÔFˆØ�dÔ×"Ò" E¨4 =Ñ1Ô1Ð1Ð1à Ðrcóp—eZdZdZejeejeej e ej e ej e ej eejeejeejei ZdZdZejZdZee¦« e¦«Zej  d¦«Z!e!r(e "e! #d¦«¦«[!dddejvd fd „Z$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-d„Z.d„Z/e fd„Z0d„Z1d„Z2d„Z3d„Z4d„Z5d„Z6d„Z7d„Z8d„Z9d „Z:d!„Z;d"„Zj?ej@fd$„¦«ZAe)d%„¦«ZBd&„ZCdPd'„ZDd(„ZEd)„ZFd*„ZGd+„ZHeIjJ¦«jKZLd,„ZMeNd-„¦«ZOePd.„¦«ZQd/„ZReDxZSxZTxZUxZVxZWxZXxZYxZZZ[eRZ\eDxZ]xZ^xZ_xZ`xZaxZbZcd0„Zdd1„Zed2„Zfd3„Zgd4„Zhd5„Ziejrd6„ZkneRxZlxZmxZnZkeDxZoxZpZqeRxZrxZsxZtxZuxZvZweRxZxxZyxZzxZ{xZ|xZ}xZ~xZxZ€xZ�xZ‚xZƒxZ„xZ…xZ†xZ‡xZˆxZ‰xZŠxZ‹xZŒxZ�xZŽxZ�xZ�xZ‘xZ’xZ“Z”d7„Z•eDxZ–xZ—Z˜dZ™d8„Zšd9„Z›d:„ZœeœZ�d;„Zžd<„ZŸeŸZ d=„Z¡e¡xZ¢xZ£Z¤d>„Z¥d?„Z¦e¦Z§d@„Z¨dA„Z©e©xZªZ«dB„Z¬e¬Z­dC„Z®dD„Z¯dE„Z°dF„Z±dG„Z²dH„Z³e³Z´dI„ZµdJ„Z¶dK„Z·e·Z¸dL„Z¹dM„ZºdN„Z»eDxZ¼xZ½xZ¾xZ¿ZÀeDxZÁZÂdO„ZÃeÃxZÄxZÅZÆdS)QÚCheckeraÝ I check the cleanliness and sanity of Python code. @ivar _deferredFunctions: Tracking list used by L{deferFunction}. Elements of the list are two-tuples. The first element is the callable passed to L{deferFunction}. The second element is a copy of the scope stack at the time L{deferFunction} was called. @ivar _deferredAssignments: Similar to C{_deferredFunctions}, but for callables which are deferred assignment checks. rNFÚPYFLAKES_BUILTINSú,z(none)ÚPYFLAKES_DOCTESTr có—i|_g|_g|_g|_g|_||_|r|j |¦«|_||_ tj t|¦«¦«g|_ n #t$rtd|z¦«‚wxYwdg|_||_t#||¦«|_|jD]%}| dt)|¦«¦«Œ&| |¦«d|_| |j¦«d|_| |j¦«d|_|j dd…=| ¦«| ¦«dS)Nz$No scope implemented for the node %rr TrL)Ú _nodeHandlersÚ_deferredFunctionsÚ_deferredAssignmentsÚ deadScopesrÚfilenameÚbuiltInsÚunionÚ withDoctestr§Ú_ast_node_scoperÚ scopeStackÚKeyErrorÚ RuntimeErrorÚexceptHandlersÚrootr¥Ú_type_commentsÚ addBindingr³ÚhandleChildrenÚ _in_deferredÚ runDeferredÚpopScopeÚcheckDeadScopes)rrr�r°Úbuiltinsr³Ú file_tokensÚbuiltins r r¢zChecker.__init__Hs“€àˆÔØ"$ˆÔØ$&ˆÔ!؈ŒØˆŒ Ø ˆŒ Ø ð :Ø œM×/Ò/°Ñ9Ô9ˆDŒMØ&ˆÔð NÝ&Ô6µt¸D±z´zÔBÑDÔDÐEˆDŒOˆOøÝð Nð Nð NÝÐEÈÑLÑMÔMÐ Mð Nøøøà!˜dˆÔ؈Œ Ý4°T¸;ÑGÔGˆÔØ”}ð 4ð 4ˆGØ �OŠO˜D¥'¨'Ñ"2Ô"2Ñ 3Ô 3Ð 3Ð 3Ø ×Ò˜DÑ!Ô!Ð!Ø ˆÔØ ×Ò˜Ô0Ñ1Ô1Ð1ð#'ˆÔØ ×Ò˜Ô2Ñ3Ô3Ð3ð%)ˆÔ!Ø ŒO˜A˜B˜BÐ Ø � Š ‰ŒˆØ ×ÒÑÔÐÐÐs Á,BÂBcód—|j ||jdd…|jf¦«dS)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©rrÚcallables r Ú deferFunctionzChecker.deferFunctionjs5€ð Ô×&Ò&¨°$´/À!À!À!Ô2DÀdÄkÐ'RÑSÔSÐSÐSÐSrcód—|j ||jdd…|jf¦«dS)zl Schedule an assignment handler to be called just after deferred function handlers. N)r®r rµrÅrÆs r ÚdeferAssignmentzChecker.deferAssignmentus5€ð Ô!×(Ò(¨(°D´OÀAÀAÀAÔ4FÈÌ Ð)TÑUÔUÐUÐUÐUrcóH—|D]\}}}||_||_|¦«ŒdS)zV Run the callables in C{deferred} using their associated scope stack. N)rµrÅ)rrÚdeferredÚhandlerrórÅs r r¾zChecker.runDeferred|s?€ð'/ð ð Ñ "ˆG�U˜FØ#ˆDŒOØ ˆDŒKØ ˆG‰IŒIˆIˆIð ð rcór—t|j¦«dkot|jdt¦«S)NrerL)rMrµrr6r¤s r Ú _in_doctestzChecker._in_doctest…s2€Ý�D”OÑ$Ô$¨Ò)ð=ݘ4œ?¨1Ô-­|Ñ<Ô<ð >rcóZ—td„|jD¦«¦«sdS|jjS)Nc3ó@K—|]}t|t¦«V—ŒdSr)rr2)r rós r r)z)Checker.futuresAllowed..‹s@èè€ð1ð1Øõ˜e¥[Ñ1Ô1ð1ð1ð1ð1ð1ð1rF)r+rµrór3r¤s r ÚfuturesAllowedzChecker.futuresAllowed‰sB€åð1ð1Ø $¤ð1ñ1ô1ñ1ô1ð à�5àŒzÔ*Ð*rcób—|dusJ‚t|jt¦«rd|j_dSdSrŸ)rrór2r3©rrrs r rÒzChecker.futuresAllowed‘s=€à˜ˆ~ˆ~ˆ~ˆ~Ý �d”j¥+Ñ .Ô .ð 0Ø*/ˆDŒJÔ 'Ð 'Ð 'ð 0ð 0rcóX—|jd}t|t¦«sdS|jS)NrF)rµrr2r4)rrrós r ÚannotationsFutureEnabledz Checker.annotationsFutureEnabled—s.€à” Ô"ˆÝ˜%¥Ñ-Ô-ð Ø�5ØÔ0Ð0rcób—|dusJ‚t|jt¦«sJ‚d|j_dSrX)rrór2r4rÔs r rÖz Checker.annotationsFutureEnabledžs7€à˜ˆ}ˆ}ˆ}ˆ}ݘ$œ*¥kÑ2Ô2Ð2Ð2Ð2Ø15ˆŒ Ô.Ð.Ð.rcó—|jdS)NrÌ)rµr¤s r róz Checker.scope¤s€àŒ˜rÔ"Ð"rcóh—|j |j ¦«¦«dSr)r¯r rµÚpopr¤s r r¿zChecker.popScope¨s,€Ø Œ×Ò˜tœ×2Ò2Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5rc óä‡ —|jD�]eŠ t‰ t¦«rŒ‰  d¦«}|rt|t¦«sd}|r(t |j¦«}ˆ fd„|jD¦«}ngx}}|�r ‰ jsYtj   |j ¦«dkr1|D].}|  tj‰ dj|¦«Œ/‰ jr£g}‰  ¦«D]8}t|t"¦«r!||_| |j¦«Œ9d t-|¦«¦«}|D]/}|  tj‰ dj||¦«Œ0‰  ¦«D]Î}t|t0¦«r·|jp|j|v}|s5tj} |  | |jt7|¦«¦«|jD]h} t| | ¦«t<¦«r tj} n|rŒ:tj } |  | | |j|j¦«ŒiŒÏ�ŒgdS)z€ Look at scopes which have been fully examined and report names in them which were imported but unused. rNcó•—g|]}|‰v¯|‘Œ Sr r )r r:rós €r r z+Checker.checkDeadScopes..»s.ø€ðððØ!Ø 5Ð(Ð(ðØ(Ð(Ð(rú __init__.pyú, )!r¯rrr~rÚsetr rÚosÚpathÚbasenamer°ÚreportrÚUndefinedExportr Úvaluesrêr¡r rÅÚjoinrqÚImportStarUsagerÃr:Ú UnusedImportÚstrrÆÚ getParentÚ FOR_TYPESÚImportShadowedByLoopVarÚRedefinedWhileUnused) rrÚ all_bindingÚ all_namesÚ undefinedr:Ú from_listr-rr¡Úmessgr rós @r rÀzChecker.checkDeadScopes«sÌø€ð ”_ð5 Kñ5 KˆEå˜%¥Ñ,Ô,ð ØàŸ)š) 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ðQ5 Kð5 KrcóJ—|j |¦«¦«dSr)rµr )rrÚ scopeClasss r Ú pushScopezChecker.pushScopeçs$€Ø Œ×Ò˜z˜z™|œ|Ñ,Ô,Ð,Ð,Ð,rcóX—|j ||jg|¢Ri|¤Ž¦«dSr)rr r°)rrÚ messageClassrmrns r rãzChecker.reportês:€Ø Œ ×Ò˜\˜\¨$¬-ÐI¸$ÐIÐIÐIÀ&ÐIÐIÑJÔJÐJÐJÐJrcóX— |j}t|d¦«st|d¦«s|SŒ*)NTr,Úctx)Ú_pyflakes_parentr“r‹s r rêzChecker.getParentís<€ð ØÔ(ˆDݘ4 Ñ(Ô(𠵸¸uÑ1EÔ1Eð Ø� ð rcóP—|||fvs t|d¦«rt|d¦«sdS||ur|S|j|jkr| |j||¦«S|j|jkr| ||j|¦«S| |j|j|¦«S)Nrú)r“Ú_pyflakes_depthÚgetCommonAncestorrú)rrÚlnodeÚrnodeÚstops r rýzChecker.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Ø×%Ò%Ø Ô "Ø Ô "Ø ñ ô ð rcóD—|D]}| |||¦«rdSŒdS)NTF)rý)rrr Ú ancestorsrÚas r Ú descendantOfzChecker.descendantOf s<€Øð ð ˆAØ×%Ò% d¨A¨tÑ4Ô4ð Ø�t�tð àˆurcón—|} ||jurdS| |¦«}t||¦«r|SŒ3r)r¹rêr)rrr Ú ancestor_typeÚparents r Ú _getAncestorzChecker._getAncestorsK€Øˆð ؘœÐ"Ð"Ø�tØ—^’^ FÑ+Ô+ˆFݘ& -Ñ0Ô0ð Ø� ð  rcó€—| |ttj ¦«¦«¦«Sr)rrgr§r´Úkeysr‹s r Ú getScopeNodezChecker.getScopeNodes/€Ø× Ò  ¥u­WÔ-D×-IÒ-IÑ-KÔ-KÑ'LÔ'LÑMÔMÐMrcóΗ| |||j¦«}t|¦«}|r7|D]4}| |||¦«| |||¦«z rdSŒ5dS)zATrue, if lnode and rnode are located on different forks of IF/TRYTF)rýr¹rr)rrrþrÿÚancestorÚpartsrs r ÚdifferentForkszChecker.differentForkss†€à×)Ò)¨%°¸¼ ÑBÔBˆÝ Ñ)Ô)ˆØ ð Øð ð �Ø×$Ò$ U¨E°8Ñ<Ô<Ø×$Ò$ U¨E°8Ñ<Ô<ñ=ð à˜4˜4ð ðˆurcó—|jddd…D] }|j|vrnŒ| |j¦«}|�rnt|t¦«�sX| ||j¦«�s<| |j¦«}t|t¦«rBt|t¦«r-|  tj ||j|j¦«nË||j ur~|jsv| |¦«ra|jdkst|t¦«rAt!||j¦«s,|  tj||j|j¦«nDt|t¦«r/| |¦«r|j |¦«|j|j vr|j |jj|_|j|j vst|t(¦«sˆd}t|t*¦«rZt|j|t,¦«r:|dz}t|t*¦«r t|j|t,¦«°:||j||j<dSdS)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+rL)rµr:r~rr³rr rêrÃrërãrrìrór¡r®rbrírÆr rürúr0)rrr rróÚexistingÚ parent_stmtÚ cur_scope_poss r r»zChecker.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ð (Ð 'rcó¬—tj d¦«rtdt |¦«›�¦«‚| |¦«dS)NÚPYFLAKES_ERROR_UNKNOWNzUnexpected type: )ràÚenvironr~ÚNotImplementedErrorrr¼r‹s r Ú_unknown_handlerzChecker._unknown_handlerXsR€õ Œ:�>Š>Ð2Ñ 3Ô 3ð &Ý%Ð&F½$¸t¹*¼*Ð&FÐ&FÑGÔGÐ Gà × Ò  Ñ %Ô %Ð %Ð %Ð %rcó´— |j|S#t$r|j ¦«}YnwxYwt |||j¦«x|j|<}|Sr)r¬r¶ryÚupperr…r)rrrsÚnodeTyperÍs r ÚgetNodeHandlerzChecker.getNodeHandlerhsw€ð 3ØÔ% jÔ1Ð 1øÝð 3ð 3ð 3Ø!Ô*×0Ò0Ñ2Ô2ˆHˆHˆHð 3øøøå3:Ø �(˜DÔ1ñ4 ô4 ð ˆÔ˜:Ñ&¨ðˆs ‚ �#5´5cóâ—t|¦«}|sdSd}d}|jddd…D�]ˆ}t|t¦«r|dkrdS|durŒ&| |d¦«}t|t ¦«r|jsŒY|dkrƒt|t¦«rn| |¦«}t|tj ¦«r?t|j tj ¦«r |  tj|¦« |j|f||_||}t|t$¦«r?| ¦«r+ |j|f||j_n#t*$rYnwxYwdS#t*$rYnwxYw|p|j}|durt|t.¦«}�ŒŠ|r¯g} |jddd…D]V}| ¦«D]?}t|t2¦«r(|j|f|_|  |j¦«Œ@ŒWd t9| ¦«¦«} |  tj||| ¦«dS|dkr*t<j  |j!¦«dkrdS|tDj#vrt|jt¦«rdSd|j$dvr#|  tj%||¦«dSdS) NrÌr„FÚprintrÞÚ__path__rÝÚ NameError)&ršrµrrr~rüÚ_in_postponed_annotationr³rêrrÚopÚRShiftrãrÚInvalidPrintSyntaxrór¡rÃrÎrÅr¶rr0rårêr rærqrçràrárâr°r<r r¸Ú UndefinedName) rrr r:Ú in_generatorsrrór-rrrñs r ÚhandleNodeLoadzChecker.handleNodeLoadrs3€Ý˜4Ñ Ô ˆØð Ø ˆFàˆ Øˆ ð”_ R V¨ VÔ,ð( Bñ( BˆEݘ%¥Ñ,Ô,ð Ø˜;Ò&Ð&Ø�F�FØ" eÐ+Ð+ðà—i’i  dÑ+Ô+ˆGݘ'¥:Ñ.Ô.ð °tÔ7Tð Øà�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Ð)Ð)Ý *¨5µ.Ñ AÔ A� ùà ð Øˆ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Ä AE>ÅE+Å*E>Å+ E8Å5E>Å7E8Å8E>Å> F Æ F cóx—t|¦«}|sdSt|jt¦«r¨||jvrŸ|jdd…D]�}t|tt f¦«sŒ||vo ||j}|r]|d|jurN||jjvr@| tj ||jd|||j ¦«nŒ�|  |¦«}t|tj¦«r|j€t!||¦«}�nt|t"tjf¦«s ||jkr&| |¦«st+||¦«}n´|dkrlt|jt ¦«rRt|jtjtjtjf¦«rt1||j|j¦«}nBt2r+t|tj¦«rt7||¦«}nt9||¦«}| ||¦«dS)NrÌrrLr)ršrrór rµr2r¡r'rãrÚUndefinedLocalr rêrÚ AnnAssignrrürëÚ comprehensionrúÚisLiteralTupleUnpackingr�ÚAssignr rÚ PY38_PLUSÚ NamedExprrúrør»)rrr r:rór¡rr-s r ÚhandleNodeStorezChecker.handleNodeStore¿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Ý ð -�: kµ3´=ÑAÔAð -Ý)¨$°Ñ5Ô5ˆGˆGå   tÑ,Ô,ˆGØ �Š˜˜gÑ&Ô&Ð&Ð&Ð&rcóX‡—ˆfd„}t‰¦«}|sdS|¦«rdSt|jt¦«r/||jjvr!|jj |¦«dS |j|=dS#t $r%| tj ‰|¦«YdSwxYw)Nc󺕗t‰dd¦«}|rFt|tjtjtjf¦«rdSt|dd¦«}|°FdS)zN Return `True` if node is part of a conditional body. rúNTF)r…rrrÚWhileÚIfExp)Úcurrentr s €r Úon_conditional_branchz7Checker.handleNodeDelete..on_conditional_branchëshø€õ˜dÐ$6¸Ñ=Ô=ˆGØð Eݘg­¬µ´ ½3¼9Ð'EÑFÔFð Ø˜4Ý! 'Ð+=¸tÑDÔD�ðð Eð�5r) ršrrór r'Úremover¶rãrr%)rrr r6r:s ` r ÚhandleNodeDeletezChecker.handleNodeDeleteésêø€ð ð ð ð ð õ˜4Ñ Ô ˆØð Ø ˆFà Ð Ñ "Ô "ð ð ˆFå �d”j¥-Ñ 0Ô 0ð @°T¸T¼ZÔ=OÐ5OÐ5OØ ŒJÔ × %Ò % dÑ +Ô +Ð +Ð +Ð +ð @Ø”J˜tÐ$Ð$Ð$øÝð @ð @ð @Ø— ’ �HÔ2°D¸$Ñ?Ô?Ð?Ð?Ð?Ð?ð @øøøsÁ0A:Á:+B)Â(B)c#óXK—|j|c}|_ dV—||_dS#||_wxYwr)Ú_in_annotation)rrÚann_typeÚorigs r rkzChecker._enter_annotationsHèè€à$(Ô$7¸Ð!ˆˆdÔ!ð 'Ø ˆEˆEˆEà"&ˆDÔ Ð Ð ø $ˆDÔ Ð &Ð &Ð &Ð &s“   )có:—|jtjkp|jSr)r:rdrgrÖr¤s r r!z Checker._in_postponed_annotations"€ð Ô ¥?Ô#9Ò 9ð *Ø Ô )ð rc ó&—|j |d¦«D]ô\\}}}| dd¦«d ¦«}t |¦«}|rQ| d¦« dd¦«| d¦« ¦«f}n|f}|D]K}| tj |j |t||¦«||tj¦«¦«ŒLŒõdS)Nr ú:rLrìr<re)rºr~rÍÚstripÚ TYPE_FUNC_RErDrQÚreplacerÈrrÚpartialÚhandleStringAnnotationr8rÚCommentAnnotationSyntaxError)rrr r¨r:ÚcommentÚ func_matchrÚparts r Ú_handle_type_commentszChecker._handle_type_commentss&€Ø-1Ô-@×-DÒ-DÀTÈ2Ñ-NÔ-Nð ð Ñ )Ñ ˆV�Z 'Ø—m’m C¨Ñ+Ô+¨AÔ.×4Ò4Ñ6Ô6ˆGÝ%×+Ò+¨GÑ4Ô4ˆJØð #à×$Ò$ QÑ'Ô'×/Ò/°°RÑ8Ô8Ø×$Ò$ QÑ'Ô'×-Ò-Ñ/Ô/ð��ð !˜ �àð ð �Ø×"Ò"¥9Ô#4ØÔ/Ø�) F¨JÑ7Ô7¸ÀÝÔ9ñ$ô$ñôððð ð ð rcó„—| |¦«t||¬¦«D]}| ||¦«ŒdS)N©rˆ)rIr‹Ú handleNode)rrr�rˆr s r r¼zChecker.handleChildren)sS€Ø ×"Ò" 4Ñ(Ô(Ð(Ý$ T°Ð5Ñ5Ô5ð (ð (ˆDØ �OŠO˜D $Ñ 'Ô 'Ð 'Ð 'ð (ð (rcóŠ—t|tj¦«r(|j|jgzD]}t |d¦«sdSŒdSdS)Nr,FT)rrr-Útargetsrr“)rrr Úchilds r r,zChecker.isLiteralTupleUnpacking.s]€Ý �d�CœJÑ 'Ô 'ð Øœ¨¬¨ Ñ4ð !ð !�ݘu fÑ-Ô-ð!Ø ˜5˜5ð!à�4ð  ð rcó¨—t|tj¦«p8t|tj¦«ot|jtj¦«S)z} Determine if the given node is a docstring, as long as it is at the correct place in the node tree. )rrr0ÚExprrr‹s r Ú isDocstringzChecker.isDocstring5sD€õ ˜$¥¤Ñ(Ô(ðN­Z¸½c¼hÑ-GÔ-Gð.MÝ-7¸¼ ÅCÄGÑ-LÔ-Lð Nrcó —t|tj¦«r|j}t|tj¦«sdSt st r |jdz }n%|j|j  d¦«z dz }|j|fS)N)NNrLú ) rrrQrr0ÚPYPYr.r¨reÚcount)rrr Údoctest_linenos r Ú getDocstringzChecker.getDocstring=s‚€Ý �d�CœHÑ %Ô %ð Ø”:ˆDݘ$¥¤Ñ(Ô(ð Ø�<å ð B•9ð BØ!œ[¨1™_ˆNˆNð"œ[¨4¬6¯<ª<¸Ñ+=Ô+=Ñ=ÀÑAˆNà”˜Ð'Ð'rcó—|€dS|jrGt|dd¦«�6|xj|jdz c_|xj|jdz c_|jr6t |t j¦«s| |¦«sd|_|xj dz c_ |j |_ ||_ |  |j ¦«}||¦«|xj dzc_ dS#|xj dzc_ wxYw)Nr¨rrLF)rÅr…r¨r:rÒrrÚ ImportFromrRÚ nodeDepthrürúrr„)rrr rrÍs r rLzChecker.handleNodeKs€Ø ˆ<Ø ˆFØ Œ;ð .�7 4¨°4Ñ8Ô8ÐDØ ˆKŒK˜4œ; qœ>Ñ )ˆKŒKØ ˆOŒO˜tœ{¨1œ~Ñ -ˆOŒOØ Ô ð (­ °4½¼Ñ(HÔ(Hð (Ø(,×(8Ò(8¸Ñ(>Ô(>ð (à"'ˆ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 Â4%C+Ã+C=cóT— | |jd¦«\}}|o| |¦«}n#ttf$rYdSwxYw|sdS|j}|jdg|_|jpd}| t¦«d|jdvr#|  dtd¦«¦«|D]Â} tj |j d¦«}|d|z|jz|d|jzdzf|_| |¦«||_Œe#t"$rQ} ||jz| jz|jdz| jpdzf} | t&j|| ¦«Yd} ~ Œ»d} ~ wwxYw| ¦«||_dS)Nr)rrr+z rLé)rXrÚ_getDoctestExamplesrOrWrµrÅrõr6r»r³rÚparser r¨Úindentr¼Ú SyntaxErrorrãrÚDoctestSyntaxErrorr¿) rrr Ú docstringÚ node_linenoÚexamplesÚ saved_stackÚ node_offsetÚexampler�ÚeÚpositions r ÚhandleDoctestszChecker.handleDoctests_sæ€ð Ø'+×'8Ò'8¸¼À1¼Ñ'FÔ'FÑ $ˆY˜ Ø ÐH T×%=Ò%=¸iÑ%HÔ%HˆHˆHøÝ�JÐ'ð ð ð ð ˆFˆFð øøøðð Ø ˆFð”oˆ Øœ?¨1Ô-Ð.ˆŒØ”kÐ+ Vˆ Ø �Š•|Ñ$Ô$Ð$Ø �d”o aÔ(Ð (Ð (Ø �OŠO˜D¥'¨#¡,¤,Ñ /Ô /Ð /Øð *ð *ˆGð *Ý”y ¤°Ñ=Ô=�ð +¨1œ~° Ñ;¸g¼nÑLØ*¨1œ~°´Ñ>ÀÑBðD�” à×#Ò# DÑ)Ô)Ð)Ø)�” � øõð Ið Ið IØ'¨'¬.Ñ8¸1¼8ÑCØ#œN¨QÑ.°!´(°-¸aÑ@ðB�à— ’ �HÔ7¸¸xÑHÔHÐHÐHÐHÐHÐHÐHøøøøð Iøøøð � Š ‰ŒˆØ%ˆŒˆˆs(‚:=½AÁAà D/Ä/ F Ä9AFÆF cóæ— tj|¦«}n(#t$r| |||¦«YdSwxYw|j}t |¦«dks t |dtj¦«s| |||¦«dS|jdj}tj |¦«D]"} d| j vrd| j vr|| _ || _ Œ#|  ||¦«dS)NrLrr¨r:)rr_rarãrrMrrQrÚwalkÚ _attributesr¨r:rL) rrrer Ú ref_linenoÚref_col_offsetÚerrr�rÚparsed_annotationÚ descendants r rDzChecker.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 󀇇‡‡—t‰tj¦«rL‰ t j‰j‰j‰‰j‰j tj ¦«¦«dS‰j r6ttj¦«Š‰ ˆˆˆˆfd„¦«dS‰ ‰‰¦«dS)Ncó•—‰‰‰‰¦«Srr )Ú annotationÚfnr rrs€€€€r rSz*Checker.handleAnnotation..¦sø€ r r¨$° ¸DÑ'AÔ'A€r)rrr0rÈrrrCrDrer¨r:rÚForwardAnnotationSyntaxErrorrÖrur§rL)rrrvr rws```@r ÚhandleAnnotationzChecker.handleAnnotation˜sÏøøøø€å �j¥#¤'Ñ *Ô *ð .à × Ò �yÔ0ØÔ+Ø” ØØÔ!ØÔ%ÝÔ5ñ  ô ñ ô ð ð ð ðÔ *ð .Ý�wÔ1Ñ2Ô2ˆBØ × Ò ÐAÐAÐAÐAÐAÐAÐAÑ BÔ BÐ BÐ BÐ Bà �OŠO˜J¨Ñ -Ô -Ð -Ð -Ð -rcó—dSrr r‹s r ÚignorezChecker.ignoreªs€Ø ˆrcó°—t|jd¦«rO| tj¦«5| |¦«ddd¦«dS#1swxYwYdSt|jd¦«�rh| |j|¦«t|jtj ¦«r|j}nRt|jtj ¦«r1t|jjtj ¦«r |jj}nd}|�t|j ¦«dkr| |j|¦«n�| |j d|¦«| tj¦«5|j dd…D]}| ||¦«Œ ddd¦«n #1swxYwY| |j|¦«dSt|j|j¦«rD| ¦«5| |¦«ddd¦«dS#1swxYwYdS| |¦«dS)NÚLiteralÚ AnnotatedrerrL)r;rrkrdrfr¼rLrÚslicerr*ÚIndexrMr,rùrYrµ)rrr Ú slice_tupleÚargs r Ú SUBSCRIPTzChecker.SUBSCRIPT·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È4H8È;H8c 󀇇‡‡‡‡— tt‰jjj¦«¦«}n9#t $r,}‰ tj‰|¦«Yd}~dSd}~wwxYwdŠdŠt¦«Št¦«Šˆˆˆˆˆˆfd„}|D]³\}}}}||¦«rdS|�œ tt|¦«¦«}n:#t $r-}‰ tj‰|¦«Yd}~dSd}~wwxYw|D]A\}} } }| �)d| vr%‰ tj‰d¦«dS|| ¦«rdSŒBŒ´td„‰j D¦«¦«std„‰j D¦«¦«rdSttt‰j ¦«¦«¦«} d„‰j D¦«} | ‰z } | ‰z }‰‰z| | zz }| rK‰ tj‰d t#d „| D¦«¦«¦«¦«|rA‰ tj‰d t#|¦«¦«¦«|rM‰ tj‰d t#d „|D¦«¦«¦«¦«dSdS) Nrcóð•—|€dS| d¦«\}}}| d¦«\}}} t|¦«}‰dur"‰ tj‰¦«dSdŠn#t $rYnwxYw|dkr/‰dur"‰ tj‰¦«dSdЉ}‰dz Št |t¦«r‰ |¦«n‰ |¦«dS)z9Returns True if there is an error which should early-exitNFrËú[Tr<rL)Ú partitionÚintrãrÚStringDotFormatMixingAutomaticrOrÚadd)Úfmtkeyr+ÚautoÚ next_autor Úplaceholder_namedÚplaceholder_positionalrrs €€€€€€r Ú_add_keyz3Checker._handle_string_dot_format.._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>Ú{zMax string recursion exceededc3óJK—|]}t|tj¦«V—ŒdSr©rrÚStarred©r r‚s r r)z4Checker._handle_string_dot_format..,s.èè€ÐFÐF°S•J˜s¥C¤KÑ0Ô0ÐFÐFÐFÐFÐFÐFrc3ó(K—|] }|jduV—ŒdSr©r‚©r Úkwds r r)z4Checker._handle_string_dot_format...s(èè€Ð=Ð=¨�C”G˜t�OÐ=Ð=Ð=Ð=Ð=Ð=rcó—h|] }|j’Œ Sr r—r˜s r ú z4Checker._handle_string_dot_format..3s€Ð?Ð?Ð?¨#˜cœgÐ?Ð?Ð?rrÞc3ó4K—|]}t|¦«V—ŒdSr©ré©r rs r r)z4Checker._handle_string_dot_format..As(èè€Ð BÐ B¨A¥ Q¡¤Ð BÐ BÐ BÐ BÐ BÐ Brc3ó4K—|]}t|¦«V—ŒdSrr�ržs r r)z4Checker._handle_string_dot_format..Ms(èè€Ð CÐ C¨A¥ Q¡¤Ð CÐ CÐ CÐ CÐ CÐ Cr)rgÚparse_format_stringrorrerOrãrÚStringDotFormatInvalidFormatrßr`rmÚkeywordsÚrangerMÚ'StringDotFormatExtraPositionalArgumentsrærqÚ"StringDotFormatExtraNamedArgumentsÚStringDotFormatMissingArgument)rrr Ú placeholdersrir�r+r‹ÚspecÚspec_placeholdersÚ spec_fmtkeyÚ spec_specÚsubstitution_positionalÚsubstitution_namedÚextra_positionalÚ extra_namedÚmissing_argumentsrŒr�rŽr�s`` @@@@r Ú_handle_string_dot_formatz!Checker._handle_string_dot_formatÝsˆøøøøøø€ð Ý Õ!4°T´Y´_Ô5FÑ!GÔ!GÑHÔHˆ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*Â1Cà DÃ!DÄDcóf—t|jtj¦«rIt|jjtj¦«r%|jjdkr| |¦«g}g}g}t|jd|j ¦«rgt|j ¦«dkrO|  ¦«5|  |j d|¦«ddd¦«n #1swxYwY�nqt|jd|j ¦«rR|dgz }|d„|j dd…D¦«z }|dgz }|d „|jD¦«z }|d „|jD¦«z }�nt|jd |j ¦«r©t|j ¦«dkrat|j dtj¦«r<|dgz }||j djz }|d „t#|j ¦«D¦«z }|dgz }|d „|jD¦«z }|d„|jD¦«z }�n@t|jd|j ¦«�r$t|j ¦«dkrÞt|j dtjtjf¦«r­t)d„|j djD¦«¦«r„|dgz }|d„|j djD¦«z }|d„|j djD¦«z }|d„t#|j ¦«D¦«z }|d„|j djD¦«z }|dgz }|d„|jD¦«z }|d„|jD¦«z }|r¸|  t,j¦«5|D]\}}| ||¬¦«Œ| ||¬¦«ddd¦«n #1swxYwY|  ¦«5|D]}|  ||¦«Œ ddd¦«dS#1swxYwYdS| |¦«dS)Nr§ÚcastrLrÚTypeVarrmcó—g|]}|‘ŒSr r r•s r r z Checker.CALL..gs€Ð7Ð7Ð7 #˜#Ð7Ð7Ð7rr¢có2—g|]}|jdk¯ |j‘ŒS)Úbound)r‚r©r Úks r r z Checker.CALL..ks&€ÐMÐMÐM a¸A¼EÀWÒ.ls?€ðððà𠤨'Ò!1Ð!1�W�I�I°tÐ<ðððrÚ TypedDictcó.—g|]\}}||dkrdgndf‘ŒS)rLråNr ©r rAr‚s r r z Checker.CALL..vs?€ð"ð"ð"ᘘ3ð¨¨Qª¨˜8˜*˜*°DÐ9ð"ð"ð"rcó—g|] }|j‘Œ Sr ©rr¸s r r z Checker.CALL..}ó€Ð9Ð9Ð9 a˜!œ'Ð9Ð9Ð9rcó—g|]}|dgf‘ŒSr¿r r¸s r r z Checker.CALL..~ó€ÐDÐDÐD°˜q 7 )˜nÐDÐDÐDrÚ NamedTuplec3ó’K—|]B}t|tjtjf¦«ot |j¦«dkV—ŒCdS)reN)rrr*rrMr,ržs r r)zChecker.CALL..…sfèè€ðAðAØ)*õ˜q¥3¤9­c¬hÐ"7Ñ8Ô8ð%ݘœ‘K”K 1Ò$ðAðAðAðAðAðArcó(—g|]}|jd‘ŒS©rL©r,r's r r z Checker.CALL..‰s€ÐGÐGÐG¨c˜cœh qœkÐGÐGÐGrcó,—g|]}|jddf‘ŒS)rNrÇr's r r z Checker.CALL..Šs#€Ð!SÐ!SÐ!S¸# 3¤8¨A¤;°Ð"5Ð!SÐ!SÐ!Srcó.—g|]\}}||dkrdgndf‘ŒS)rLr,Nr r½s r r z Checker.CALL..‹s?€ð"ð"ð"ᘘ3ð a¨1¢f f˜6˜(˜(°$Ð7ð"ð"ð"rcó—g|]}|df‘ŒSrÇr r's r r z Checker.CALL..�s€Ð!MÐ!MÐ!M°C 3¨ -Ð!MÐ!MÐ!Mrcó—g|] }|j‘Œ Sr r¿r¸s r r z Checker.CALL..“rÀrcó—g|]}|dgf‘ŒSr¿r r¸s r r z Checker.CALL..”rÂrrK)rrorr8rr0r9r±rUrµrMrmrkrLr¢ÚDictråÚ enumerater*rr+r,rdrfr¼)rrr rˆÚ annotatedÚ not_annotatedÚna_nodeÚna_omitÚannotated_nodes r ÚCALLz Checker.CALLPs€€å˜4œ9¥c¤mÑ4Ô4ð 1å˜4œ9œ?­C¬GÑ4Ô4ð 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Â6"C$Ã$C(Ã+C(Î7OÏO Ï O Ï%PÐPÐPc ó@— t|jj¦«}n2#t$r%| t j|d¦«YdSwxYwt¦«}d}d}|D]é\}}|€Œ|\}}} } } | dkrŒ| tvr!| t j || ¦«|€| r|du}| | fD]0} | �,d| vr(|s!| t j |¦«Œ+|dz }Œ1|r%|�#| t j |¦«dS|s%|€#| t j |¦«dS|r|dz }ŒÔ|  |¦«Œêt|jtjtjf¦«r‰t%d„|jjD¦«¦«sft)|jj¦«} |r)|| kr#| t j||| ¦«n"|s | t j|¦«t|jtj¦«rùt1d„|jjD¦«¦«rØ|r(|dkr"| t j|¦«dSd„|jjD¦«}||z }||z }|sC|rA| t j|d  t;|¦«¦«¦«|sI|rI| t j|d  t;|¦«¦«¦«dSdSdSdSdS) Nzincomplete formatrrKrìrLc3óJK—|]}t|tj¦«V—ŒdSrr“r's r r)z1Checker._handle_percent_format..ásBèè€ððàõ˜s¥C¤KÑ0Ô0ððððððrc3óJK—|]}t|tj¦«V—ŒdSr)rrr0r¸s r r)z1Checker._handle_percent_format..ós.èè€ÐDÐD¨q•J˜q¥#¤'Ñ*Ô*ÐDÐDÐDÐDÐDÐDrcó—h|] }|j’Œ Sr )rer¸s r r›z1Checker._handle_percent_format..ùs€Ð >Ð >Ð >¨ ¤Ð >Ð >Ð >rrÞ)rhrrerOrãrÚPercentFormatInvalidFormatrßÚVALID_CONVERSIONSÚ'PercentFormatUnsupportedFormatCharacterÚ!PercentFormatStarRequiresSequenceÚ$PercentFormatMixedPositionalAndNamedrŠrrrrr*r`r,rMÚ$PercentFormatPositionalCountMismatchÚPercentFormatExpectedMappingrÍr+r ÚPercentFormatExpectedSequenceÚ PercentFormatExtraNamedArgumentsrærqÚPercentFormatMissingArgument)rrr r§ÚnamedÚpositional_countÚ positionalr+Ú placeholderr:r`rbrcrHÚsubstitution_countÚsubstitution_keysÚ extra_keysÚ missing_keyss r Ú_handle_percent_formatzChecker._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ð åÐDÐD°D´J´OÐDÑDÔDÑDÔDð ðð Ð.°Ò2Ð2Ø— ’ �HÔBÀDÑIÔIÐIØ�à >Ð >¨d¬j¬oÐ >Ñ >Ô >Ð Ø*¨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|jtj¦«r4t|jtj¦«r| |¦«| |¦«dSr)rr"rÚModrr0rër¼r‹s r ÚBINOPz Checker.BINOP s^€å˜4œ7¥C¤GÑ,Ô,ð .å˜4œ9¥c¤gÑ.Ô.ð .ð × 'Ò '¨Ñ -Ô -Ð -Ø ×Ò˜DÑ!Ô!Ð!Ð!Ð!rcóÖ—|jratj|j|j||j|jtj¦«}|j r |¦«dS|  |¦«dSdSr) r:rrrCrDrer¨r:rrxr½rÈ)rrr rws r ÚSTRz Checker.STRs}€Ø Ô ð 'ÝÔ"ØÔ+Ø”ØØ” Ø”ÝÔ5ñ ôˆBðÔ ð 'Ø�‘”���à×"Ò" 2Ñ&Ô&Ð&Ð&Ð&ð 'ð 'rcód—t|jt¦«r| |¦«SdSr)rrrérðr‹s r ÚCONSTANTzChecker.CONSTANT!s0€Ý˜$œ*¥cÑ*Ô*ð &Ø—x’x ‘~”~Ð%ð &ð &rcóD—| |¦«|j}t|tj¦«r8t |j¦«r"| tj |¦«dSdSt |¦«r"| tj |¦«dSdSr) r¼ÚexcrrÚCallr›rorãrÚRaiseNotImplemented)rrr r‚s r ÚRAISEz Checker.RAISE3s¦€Ø ×Ò˜DÑ!Ô!Ð!àŒhˆå �c�3œ8Ñ $Ô $ð <Ý*¨3¬8Ñ4Ô4ð @à— ’ �HÔ8¸$Ñ?Ô?Ð?Ð?Ð?ð @ð @õ)¨Ñ -Ô -ð <à �KŠK�Ô4°dÑ ;Ô ;Ð ;Ð ;Ð ;ð <ð td„|jD¦«¦«s | tj|¦«d|jc|_} | |¦«||_dS#||_wxYw)Nc3óJK—|]}t|tj¦«V—ŒdSr)rrÚFormattedValueržs r r)z$Checker.JOINEDSTR..Js/èè€ÐOÐO¸a�  1¥cÔ&8Ñ9Ô9ÐOÐOÐOÐOÐOÐOrT)Ú _in_fstringr`rårãrÚFStringMissingPlaceholdersr¼)rrr r<s r Ú JOINEDSTRzChecker.JOINEDSTREsš€ðÔ$ð 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„‰jD¦«}t|¦«}d„| ¦«D¦«}|D]ÒŠ ˆ fd„t|¦«D¦«}tˆfd„|D¦«¦«}t d„| ¦«D¦«¦«ro|D]l}‰j|}t ‰ t ¦«r'| tj |‰ j ¦«ŒK| tj |‰ ¦«ŒmŒÓ|  ‰¦«dS)Ncó,—g|]}t|¦«‘ŒSr rŽ)r r\s r r z Checker.DICT..Xs.€ð ð ð Ø&)Õ ˜SÑ !Ô !ð ð ð rcó$—g|] \}}|dk¯ |‘ŒSrÆr )r r\rVs r r z Checker.DICT..]s-€ð ð ð Ù�C˜Ø�qŠyˆyð Øˆyˆyrcó&•—g|] \}}|‰k¯ |‘ŒSr r )r rAÚi_keyr\s €r r z Checker.DICT..cs"ø€ÐMÐMÐM¡  EÀÈ À ˜1À À À rc3óL•K—|]}t‰j|¦«V—ŒdSr)r�rå)r rNr s €r r)zChecker.DICT..esFøèè€ððàõ! ¤¨UÔ!3Ñ4Ô4ððððððrc3ó(K—|] \}}|dkV—ŒdS)rLNr )r rrVs r r)zChecker.DICT..is*èè€ÐAÐA¡, %¨�5˜A’:ÐAÐAÐAÐAÐAÐAr) r r‚rrÎr`rr”rãrÚMultiValueRepeatedKeyVariabler:ÚMultiValueRepeatedKeyLiteralr¼) rrr r Ú key_countsÚduplicate_keysÚ key_indicesråÚ key_indexÚkey_noder\s ` @r ÚDICTz Checker.DICTTs„øø€ð ð Ø-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Ñ!Ô!Ð!Ð!Ð!rcóΗt|jtj¦«r0|jjgkr | t j|¦«| |¦«dSr) rÚtestrr*r,rãrÚIfTupler¼r‹s r ÚIFz Checker.IFxsW€Ý �d”i¥¤Ñ +Ô +ð 0°´ ´À"Ò0DÐ0DØ �KŠK�Ô(¨$Ñ /Ô /Ð /Ø ×Ò˜DÑ!Ô!Ð!Ð!Ð!rcóΗt|jtj¦«r0|jjgkr | t j|¦«| |¦«dSr) rrrr*r,rãrÚ AssertTupler¼r‹s r ÚASSERTzChecker.ASSERTsW€Ý �d”i¥¤Ñ +Ô +ð 4°´ ´À"Ò0DÐ0DØ �KŠK�Ô,¨dÑ 3Ô 3Ð 3Ø ×Ò˜DÑ!Ô!Ð!Ð!Ð!rcó>‡—| ¦«rdnd}|j|}|j|urk|jD]eŠt ‰|¦«}ˆfd„|jD¦«|_| ‰|¦«||f|_|j|dzd…D]}||‰<ŒŒddSdS)z5 Keep track of globals declarations. rLrcój•—g|]/}t|tj¦«r|jd‰k¯-|‘Œ0S)r)rrr%Ú message_args)r ÚmÚ node_names €r r z"Checker.GLOBAL..•sLø€ð!4ð!4ð!4ØÝ˜q¥(Ô"8Ñ9Ô9ð!4ð”N 1Ô%¨Ò2Ð2ðà2Ð2Ð2rN)rÏrµrór rørÚ setdefaultr¡)rrr Úglobal_scope_indexÚ global_scopeÚ node_valuerórs @r ÚGLOBALzChecker.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ð 2rcóŒ—| t¦«| |¦«| ¦«dSr)rõr0r¼r¿r‹s r Ú GENERATOREXPzChecker.GENERATOREXP¤s9€Ø �Š•~Ñ&Ô&Ð&Ø ×Ò˜DÑ!Ô!Ð!Ø � Š ‰Œˆˆˆrcó —t|jtj¦«rm| |¦«|jdkrGt|jt¦«r/t|jtj ¦«rd|j_ dSdSdSdSt|jtj ¦«r|  |¦«dSt|jtj ¦«r| |¦«dStd|j›�¦«‚)zV Handle occurrence of Name (which can be a load/store/delete access.) ÚlocalsTz#Got impossible expression context: N)rrùrÚLoadr'r7rór rúrõr,ÚStorer0ÚDelr8r·r‹s r ÚNAMEz Checker.NAME«s €õ �d”h¥¤Ñ )Ô )ð SØ × Ò  Ñ %Ô %Ð %Ø”˜8Ò#Ð#­ °4´:½}Ñ(MÔ(MÐ#ݘtÔ4µc´hÑ?Ô?ð$ð)-�” Ô%Ð%Ð%ð$Ð#Ð#Ð#Ð#Ð#õ˜œ¥#¤)Ñ ,Ô ,ð SØ × Ò  Ñ &Ô &Ð &Ð &Ð &Ý ˜œ¥#¤'Ñ *Ô *ð SØ × !Ò ! $Ñ 'Ô 'Ð 'Ð 'Ð 'õÐQÀTÄXÐQÐQÑRÔRÐ Rrcó’—|}t|d¦«rØ|j|}}t|tjtjtjf¦«r ||jvrdSt|tjtj f¦«rnlt|d¦«rLt|tj ¦«r2||j vr)ts"|  tj|¦«dSt|d¦«°Øt|tj ¦«r"|  tj|¦«dS|  tj|¦«dS)NrúÚ finalbody)r“rúrrr3ÚForÚAsyncForrr^ÚClassDefÚContinuer'r.rãrÚContinueInFinallyÚContinueOutsideLoopÚBreakOutsideLoop)rrr rÚn_childs r ÚCONTINUEzChecker.CONTINUE¾s/€ð ˆÝ�aÐ+Ñ,Ô,ð ØÔ+¨QˆwˆAݘ!�cœi­¬µ#´,Ð?Ñ@Ô@ð à !¤(Ð*Ð*Ø�Fݘ!�cœo­s¬|Ð<Ñ=Ô=ð Øå�q˜+Ñ&Ô&ð ­:°d½C¼LÑ+IÔ+Ið Ø˜aœkÐ)Ð)µ)Ð)Ø—K’K¥Ô :¸DÑAÔAÐAØ�Fõ�aÐ+Ñ,Ô,ð õ �d�CœLÑ )Ô )ð 9Ø �KŠK�Ô4°dÑ ;Ô ;Ð ;Ð ;Ð ;à �KŠK�Ô1°4Ñ 8Ô 8Ð 8Ð 8Ð 8rcó4—t|jttf¦«r"| t j|¦«dS|jr2t|jd¦«r|jj s|j|j_ |  |j|¦«dS)Nr() rrórr2rãrÚReturnOutsideFunctionrr“r(rLr‹s r ÚRETURNzChecker.RETURN×s�€Ý �d”j¥:­{Ð";Ñ <Ô <ð Ø �KŠK�Ô6¸Ñ =Ô =Ð =Ø ˆFð ŒJð 0å �D”J  Ñ .Ô .ð 0ð” Ô&ð 0ð &*¤ZˆDŒJÔ "Ø �Š˜œ  DÑ)Ô)Ð)Ð)Ð)rcóÚ—t|jttf¦«r"| t j|¦«dSd|j_| |j |¦«dSrX) rrórr2rãrÚYieldOutsideFunctionr)rLrr‹s r ÚYIELDz Checker.YIELDäs]€Ý �d”j¥:­{Ð";Ñ <Ô <ð Ø �KŠK�Ô5°tÑ <Ô <Ð <Ø ˆFà!%ˆŒ ÔØ �Š˜œ  DÑ)Ô)Ð)Ð)Ð)rcón‡‡—‰jD]}‰ |‰¦«Œ‰ ‰¦«‰ ‰t ‰j‰¦«¦«‰jrI‰ ¦«s7t‰j t¦«s‰  ˆˆfd„¦«dSdSdSdS)Ncó.•—‰ ‰¦«Sr©rk©r rrs€€r rSz%Checker.FUNCTIONDEF..øóø€ t×':Ò':¸4Ñ'@Ô'@€r) rarLÚLAMBDAr»rÿr:r³rÏrrór rÈ)rrr Údecos`` r Ú FUNCTIONDEFzChecker.FUNCTIONDEFîsåøø€ØÔ'ð (ð (ˆDØ �OŠO˜D $Ñ 'Ô 'Ð 'Ð 'Ø � Š �DÑÔÐØ �Š˜Õ0°´¸DÑAÔAÑBÔBÐBð Ô ð BØ×$Ò$Ñ&Ô&ð Bå˜tœz­=Ñ9Ô9ð Bð × Ò Ð@Ð@Ð@Ð@Ð@Ñ AÔ AÐ AÐ AÐ Að Bð Bð Bð Bð Bð Brcó ‡‡—g}g}trC‰jjD]6}| |j¦«| |j¦«Œ7‰jj‰jjzD]6}| |j¦«| |j¦«Œ7‰jj‰jjz}t‰tj ¦« }dD]P}t‰j|¦«}|sŒ| |j¦«|r| |j¦«ŒQ|r| ‰j ¦«tt|¦«¦«t|¦«krBt!|¦«D]2\} }||d| …vr!‰ t$j‰|¦«Œ3|D]} ‰ | ‰¦«Œ|D]} ‰ | ‰¦«Œˆˆfd„} ‰ | ¦«dS)N)ÚvarargÚkwargc󾕗‰ ¦«‰ ‰ddg¬¦«ˆfd„}‰ |¦«‰ ¦«dS)NraÚreturnsrKcó’•—‰j ¦«D]+\}}‰ tj|j|¦«Œ,dS)zU Check to see if any assignments have not been used. N)rór.rãrÚUnusedVariabler )r:r-rrs €r ÚcheckUnusedAssignmentszCChecker.LAMBDA..runFunction..checkUnusedAssignments'sRø€ð&*¤Z×%AÒ%AÑ%CÔ%CðOðO‘M�D˜'Ø—K’K¥Ô 7¸¼ÈÑNÔNÐNÐNðOðOr)rõr¼rÊr¿)rFr rrs €€r Ú runFunctionz#Checker.LAMBDA..runFunction!sxø€à �NŠNÑ Ô Ð à × Ò  Ð,<¸iÐ+HÐ Ñ IÔ IÐ Ið Oð Oð Oð Oð Oð × Ò Ð!7Ñ 8Ô 8Ð 8à �MŠM‰OŒOˆOˆOˆOr)r.rmÚ posonlyargsr r‚rvÚ kwonlyargsÚdefaultsÚ kw_defaultsrrÚLambdar…rCrMrßrÎrãrÚDuplicateArgumentryrLrÈ) rrr rmÚ annotationsr‚rJÚhas_annotationsÚarg_nameÚwildcardr¤rvÚdefaultrGs `` r r<zChecker.LAMBDAüs3øø€ØˆØˆ å ð 3Ø”yÔ,ð 3ð 3�Ø— ’ ˜CœGÑ$Ô$Ð$Ø×"Ò" 3¤>Ñ2Ô2Ð2Ð2Ø”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Ñ *Ô *Ð *Ð *ð ð ð ð ð ð ð ×Ò˜;Ñ'Ô'Ð'Ð'Ð'rcó4—| |d¬¦«dS)N)rJrKrK)r¼r‹s r Ú ARGUMENTSzChecker.ARGUMENTS3s"€Ø ×Ò˜DÐ'BÐÑCÔCÐCÐCÐCrc ó~—| |t|j| |¦«¦«¦«dSr)r»rör‚r r‹s r ÚARGz Checker.ARG6s6€Ø �Š˜�h t¤x°×1BÒ1BÀ4Ñ1HÔ1HÑIÔIÑJÔJÐJÐJÐJrcóT‡‡—‰jD]}‰ |‰¦«Œ‰jD]}‰ |‰¦«Œ‰jD]}‰ |‰¦«Œ‰ t ¦«‰jrG‰ ¦«s3t‰j t¦«s‰  ˆˆfd„¦«‰j D]}‰ |‰¦«Œ‰  ¦«‰ ‰t‰j‰¦«¦«dS)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ó.•—‰ ‰¦«Srr9r:s€€r rSz"Checker.CLASSDEF..Kr;rN)rarLÚbasesr¢rõrr³rÏrrór rÈrr¿r»rr:)rrr r=ÚbaseNodeÚ keywordNodeÚstmts`` r ÚCLASSDEFzChecker.CLASSDEF9sGøø€ð Ô'ð (ð (ˆDØ �OŠO˜D $Ñ 'Ô 'Ð 'Ð 'Øœ ð ,ð ,ˆHØ �OŠO˜H dÑ +Ô +Ð +Ð +Øœ=ð /ð /ˆKØ �OŠO˜K¨Ñ .Ô .Ð .Ð .Ø �Š•zÑ"Ô"Ð"ð Ô ð BØ×$Ò$Ñ&Ô&ð Bå˜tœz­=Ñ9Ô9ð Bð × Ò Ð@Ð@Ð@Ð@Ð@Ñ AÔ AÐ AØ”Ið (ð (ˆDØ �OŠO˜D $Ñ 'Ô 'Ð 'Ð 'Ø � Š ‰ŒˆØ �Š˜�o¨d¬i¸Ñ>Ô>Ñ?Ô?Ð?Ð?Ð?rcó¦—| |j¦«| |j|¦«| |j|¦«dSr)r'ÚtargetrLrr‹s r Ú AUGASSIGNzChecker.AUGASSIGNQsJ€Ø ×Ò˜DœKÑ(Ô(Ð(Ø �Š˜œ  DÑ)Ô)Ð)Ø �Š˜œ  TÑ*Ô*Ð*Ð*Ð*rcó¶—t|jtj¦«r¤d}d}t |j¦«D]G\}}t|tj¦«r(|r"| tj |¦«nd}|}ŒH|dkst|j¦«|z dz dkr | tj |¦«|  |¦«dS)NFrÌTérLi) rrùrr#rÎr,r”rãrÚTwoStarredExpressionsrMÚ%TooManyExpressionsInStarredAssignmentr¼)rrr Ú has_starredÚstar_locrArs r ÚTUPLEz Checker.TUPLEVsß€Ý �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Ñ!Ô!Ð!Ð!Ð!rcóÚ—|jD]b}d|jvr|jst|j|¦«}n$|jp|j}t |||j¦«}| ||¦«ŒcdSrâ)r r:ÚasnamerÉrÃr»)rrr ÚaliasÚ importationr:s r ÚIMPORTzChecker.IMPORTos|€Ø”Zð /ð /ˆEØ�e”jÐ Ð ¨¬Ð Ý2°5´:¸tÑDÔD� � à”|Ð1 u¤z�Ý)¨$°°e´jÑAÔA� Ø �OŠO˜D +Ñ .Ô .Ð .Ð .ð  /ð /rcó—|jdkr(|js | tj|¦«nd|_d|jz|jpdz}|jD�]0}|jp|j}|jdkrbt|||j ¦«}|jtj vr&| tj ||j¦«|jdkrd|_nœ|jdkrzt|j t ¦«s"| tj||¦«ŒÅd|j _| tj||¦«t)||¦«}nt+||||j¦«}| ||¦«�Œ2dS)NròFrËr<rNTrì)rãrÒrãrÚLateFutureImportÚlevelr rir:rðróròÚall_feature_namesÚFutureFeatureNotDefinedrÖrr2ÚImportStarNotPermittedrÚImportStarUsedrêràr»)rrr rãrjr:rks r Ú IMPORTFROMzChecker.IMPORTFROMxsŽ€Ø Œ;˜,Ò &Ð &ØÔ&ð =Ø— ’ �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 +Ñ .Ô .Ð .Ñ .ð+ /ð /rcó”—g}t|j¦«D]Æ\}}t|jtj¦«r2|jjD]$}| t|¦«¦«Œ%n.|jr'| t|j¦«¦«|j€;|t|j¦«dz kr |  tj |¦«ŒÇ|j  |¦«|jD]}| ||¦«Œ|j  ¦«| |d¬¦«dS)NrLrrK)rÎrrrrr*r,r ršrMrãrÚDefaultExceptNotLastr¸rrLrÚr¼)rrr Ú handler_namesrArÍÚexc_typerOs 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ÐÑ.Ô.Ð.Ð.Ð.rcó$—|j€| |¦«dS|j|jvr| |¦« |j |j¦«}n#t $rd}YnwxYw| |¦«| |¦« |j |j¦«}|js&| tj ||j¦«n#t $rYnwxYw|r||j|j<dSdSr) r:r¼rór0rÚr¶r¡rãrrE)rrr Úprev_definitionr-s r Ú EXCEPTHANDLERzChecker.EXCEPTHANDLER®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Á1A2 C-Ã- C:Ã9C:có*—| |j|¦«| |j|¦«|jrUt |jd|j¦«r| |j|¦«dS| |j|¦«dSdS)NÚ TypeAlias)rLr_ryrvrrUrµr‹s r Ú ANNASSIGNzChecker.ANNASSIGNÛs–€Ø �Š˜œ  TÑ*Ô*Ð*Ø ×Ò˜dœo¨tÑ4Ô4Ð4à Œ:ð 2å˜$œ/¨;¸¼ÑHÔHð 2Ø×%Ò% d¤j°$Ñ7Ô7Ð7Ð7Ð7à—’ ¤ ¨DÑ1Ô1Ð1Ð1Ð1ð  2ð 2rcóJ—|j}t|j|j¦«D]k\}}t |t jt jf¦«r>t|¦«st|¦«r |  tj |¦«|}Œl|  |¦«dSr) rÚzipÚopsÚ comparatorsrrÚIsÚIsNotr4rãrÚ IsLiteralr¼)rrr rr"rs r ÚCOMPAREzChecker.COMPAREæ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Ñ!Ô!Ð!Ð!Ð!rcóZ—| |¦«| |¦«dSr)r0r¼r‹s r Ú _match_targetzChecker._match_target÷s0€Ø ×Ò˜TÑ"Ô"Ð"Ø ×Ò˜DÑ!Ô!Ð!Ð!Ð!rr)Çryrzr{r|rÚModuler2r*rr^r r_rLÚListCompr0ÚSetCompÚ GeneratorExpÚDictCompr´r[rÅrdrfr:r½rßÚ builtin_varsr²Ú_MAGIC_GLOBALSr±ràrr~Ú_customBuiltInsÚupdaterÍr¢rÈrÊr¾rÏrÖrÒÚsetterrÖrór¿rÀrõrãrêrýrrr rr»rrr'r0r8Ú contextlibÚcontextmanagerrhrkr!rIr¼r,rRrXrLÚdoctestÚ DocTestParserÚ get_examplesr^rkryrDruryr{ÚDELETEÚFORÚASYNCFORÚWHILEÚWITHÚWITHITEMÚ ASYNCWITHÚEXPRÚASSIGNÚPASSÚBOOLOPÚUNARYOPÚSETÚ ATTRIBUTEÚSTARREDÚ NAMECONSTANTÚ NAMEDEXPRrƒr±rÔrërîrðr.ròÚNUMÚBYTESÚELLIPSISÚ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ÚIFEXPrrÚNONLOCALrÚLISTCOMPÚDICTCOMPÚSETCOMPr%r0ÚBREAKr3r6ÚAWAITÚ YIELDFROMr>ÚASYNCFUNCTIONDEFr<rTrVr]r`rgÚLISTrlrtryÚTRYSTARr|rr‡ÚMATCHÚ MATCH_CASEÚ MATCHCLASSÚMATCHORÚ MATCHSEQUENCEÚMATCHSINGLETONÚ MATCHVALUEr‰ÚMATCHASÚ MATCHMAPPINGÚ MATCHSTARr rr r§r§!s1€€€€€ð ð ð Œ �KØ Œ �jØ Œ˜Ø Ô˜mØ Œ �MØ Œ �nØ Œ �^Ø Ô˜.Ø Œ �nð €Oð€IØ €FØ$Ô)€NØ€Làˆs�<Ñ Ô ×&Ò& ~Ñ6Ô6€HØ”j—n’nÐ%8Ñ9Ô9€OØð4Ø�Š˜×-Ò-¨cÑ2Ô2Ñ3Ô3Ð3Øð '/¸Ø/°2´:Ð=È2ð ð ð ð ðD Tð Tð TðVðVðVðððð>ð>ð>ðð+ð+ñ„Xð+ðÔð0ð0ñÔð0ð ð1ð1ñ„Xð1ð Ô$ð6ð6ñ%Ô$ð6ð ð#ð#ñ„Xð#ð6ð6ð6ð:Kð:Kð:Kðx$1ð-ð-ð-ð-ðKðKðKðððð ð ð ð,ððð ðððNðNðNð ð ð ð/?ð/?ð/?ðb&ð&ð&ð ðððK<ðK<ðK<ðZ('ð('ð('ðT@ð@ð@ð<ÔØ)8Ô)=ð'ð'ð'ñÔð'ðð ð ñ„Xð ð ððð&(ð(ð(ð(ð ðððNðNðNð (ð (ð (ð ð ð ð$0˜'Ô/Ñ1Ô1Ô>Ðð&ð&ð&ðBð1ð1ñÔð1ð.ð.ð.ñ„]ð.ð" ð ð ð 'ð'€Fð'ˆSð'�8ð'˜eð' dð'¨Xð'¸ ð'Ø ˆvà €Dð#ð#€Fð#ˆWð#�sð#˜Yð#¨ð#°<Øð$*ð$*ð$*ðLqðqðqðfP&ðP&ðP&ðdeðeðeðN"ð"ð"ð 'ð 'ð 'ðð3ð &ð &ð &ð &ð-3Ð2ˆÐ2ˆeÐ2�h ð .Ð-€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ð#Ðð5(ð5(ð5(ðnDðDðDðKðKðKð@ð@ð@ð0+ð+ð+ð "ð"ð"ð. €Dð/ð/ð/ð/ð/ð/ð@/ð/ð/ð(€Gð+4ð+4ð+4ðZ 2ð 2ð 2ð "ð "ð "ðAOÐN€EÐNˆJÐN˜ÐN g° Ø"0Ð0€N�Zð"ð"ð"ð*7Ð6€GÐ6ˆl˜Y˜Y˜Yrr§)ar|ròrÁrr›r–r”r–rrràÚrerFÚsysr�ÚpyflakesrÚ version_infor.r“rUr=r�Ú Formatterr_r rr(r)rër!r-r&r4r;Úcompiler™rær£ÚASCII_NON_ALNUMÚpatternršrArPrSrTrUrVÚ frozensetrÚrHrhrrjr‚r‹r�r›r�r«r³r•r”rÃrÉràrêrðrörørúrürÿrrrrr r0r2r6r8r<r�ršrIrOrUrYrbrdruryrƒÚ NodeVisitorr…r¥r§r rr úrõs}ðððð ÐÐÐØ€€€Ø € € € Ø € € € ØÐÐÐØÐÐÐØ€€€ØÐÐÐØ € € € Ø € € € Ø € € € Ø € € € Ø€€€àÐÐÐÐÐà Ô  Ò &€ Ø€wˆsÐ'Ñ(Ô(€àˆs�8‰}Œ}€ à&�fÔ&Ñ(Ô(Ô.ÐðCðCðCðŒW�c”lÐ #€ à ðBð ð ð ð ð BðBðBðððð ð  ðJðJðJðJð ð ð ð:ð:ð:ðððð�"”*Ð-Ñ.Ô.€à—'’'ÐNÐN¨5¨5°©:¬:ÐNÑNÔNÑOÔO€Ø�”ØÔÐ?¨/Ð?Ð?Ð?Ñ?ñAôA€ðˆrŒzÐ4Ñ5Ô5€ ð�”˜OÑ,Ô,€Ø�R”Z  Ñ+Ô+ÐØ ˆ2Œ:�mÑ $Ô $€ØˆrŒzÐ.Ñ/Ô/€ Ø ˆBŒJ�xÑ Ô € à�IÐ1Ñ2Ô2Ððððð =!ð=!ð=!ð@ðððð�4ñôðð&ððð!%°L°L±N´Nððððð."ð"ð"ð4PðPðPðIðIðIðIðIñIôIðIð@ðððð�ñôðð  ð  ð  ð  ð  ˆjñ  ô  ð  ðððððñôðð ððððñôðð&%!ð%!ð%!ð%!ð%!�*ñ%!ô%!ð%!ðP")ð")ð")ð")ð")˜;ñ")ô")ð")ðJ<ð<ð<ð<ð<�kñ<ô<ð<ð8ðððð�kñôðð, $ð $ð $ð $ð $˜ñ $ô $ð $ðððððˆwñôðð ðððð�ñôðððððð˜*ñôðð ð ð ð ð �ñ ô ð ð ð ð ð ð ˜ñ ô ð ð ð ð ð ð �jñ ô ð ð.'ð.'ð.'ð.'ð.'�Gñ.'ô.'ð.'ðbHðHðHðHðHˆDñHôHðHð ð ð ð ð �ñ ô ð ð$ð$ð$ð$ð$�Eñ$ô$ð$ð< ð ð ð ð �Uñ ô ð ð(ð(ð(ð(ð(�%ñ(ô(ð(ð ðððð�;ñôðð%ð%ð%ð%ð%ñ%ô%ð%ðððððñôðð QÐPÐP€ðððð�Ð:Ñ;Ô;€ð)ð)ð)ðXLðLðLð@ð@ð@ðððð ð ð ð ð ñ ô ð ð ðððððð>ð>ð>ðJðJðJðJðJ�s”ñJôJðJð*ððð6Z7ðZ7ðZ7ðZ7ðZ7ñZ7ôZ7ðZ7ðZ7ðZ7r