+
    کh                     X  a  R t#0 t ^ RIt^ RIHt ^ RIHt ^ RIHtHt ^ RI	H
t
 ^ RIHtHt RtRtRtRtRtRtRtR tR!t] ^ k ]],          tR"tR#t ! R R4      t ! R	 R
]4      t ! R R]4      t ! R R]4      t ! R R]4      tR t ! R R]4      t  ! R R]4      t! ! R R]
4      t"R# )$    N)contextmanager)Tuple)ErrorFinderErrorFinderConfig)Rule)FlowScopec                   \    ] tR t^t]! 4       t]! 4       t]! 4       t]! 4       t]! 4       t	Rt
R# )IndentationTypes N)__name__
__module____qualname____firstlineno__objectVERTICAL_BRACKETHANGING_BRACKET	BACKSLASHSUITEIMPLICIT__static_attributes__r       3/usr/lib/python3/dist-packages/parso/python/pep8.pyr   r      s&    xhOIHExHr   r   c                   N   a  ] tR t^%t o ]P
                  tRR ltR tR t	Rt
V tR# )IndentationNodeNc                .    V;V n         V n        W0n        R # Nbracket_indentationindentationparent)selfconfigr    r!   s   &&&&r   __init__IndentationNode.__init__(   s    6AA 4#3r   c                <    R V P                   P                  ,          # )z<%s>)	__class__r   )r"   s   &r   __repr__IndentationNode.__repr__,   s    ////r   c                p    T pVe0   VP                   \        P                  8X  d   V# VP                  pK3  R # r   )typer   r   r!   )r"   ns   & r   get_latest_suite_node%IndentationNode.get_latest_suite_node/   s2    mvv)///A	 r   r   r   )r   r   r   r   r   r   r+   r$   r(   r-   r   __classdictcell____classdict__s   @r   r   r   %   s$     !!D0 r   r   c                   *   a  ] tR t^8t o RR ltRtV tR# )BracketNodec                6   W n         TpTpVP                  \        P                  8X  d   VP                  p \        VR4      '       d'   VP                  VP                   P                  8w  d   MEVP                  4       p\        V\        4      '       d   WVP                   8w  d   MVP                  pK~  VP                  pVP                  4       pRVP                  9   g   RVP                  9   dF   VVP                  ,           V n        WqP                  ,           V n
        \        P                  V n        M`VP                   ^,          p	RVP                  9   d	   RV n
        MRV	,          V n
        V P                  V n        \        P"                  V n        V'       du   VP                  \        P$                  8X  dV   V P                  WqP                  ,           8X  d5   V ;P                  VP                  ,          un
        V P                  V n        W0n        R# )Tleaf
	N )r5   r+   r   r   r!   hasattrlineget_previous_leaf
isinstancer3   r    get_next_leafprefix#closing_bracket_hanging_indentationr   r   end_posr   r   )
r"   r#   r5   r!   in_suite_introducerprevious_leafr,   parent_indentation	next_leafexpected_end_indents
   &&&&&     r   r$   BracketNode.__init__9   s   	 66%...Aq&!!m&8&8AFFKK&G);;=Ma--&&1HA]]&&(	9###ty/?/?'? (:<<(=D$14F4FFD(88DI #',,q/v)))#' #&)<#< '+'7'7D$(99DI6;;2B2H2H#H$$(:=O=O(OO 2 22'+'7'7D$r   )r   r    r5   r!   r+   NF)r   r   r   r   r$   r   r/   r0   s   @r   r3   r3   8   s     1 1r   r3   c                   6   a a ] tR t^mt oRtV 3R ltRtVtV ;t# )ImplicitNodez_
Implicit indentation after keyword arguments, default arguments,
annotations and dict values.
c                  < \         SV `  WV4       \        P                  V n        VP                  4       pVR 8X  dB   RVP                  9  d/   RVP                  9  d   V ;P                  R,          un        R# R# R# R# ):r6   r7   r9   N)superr$   r   r   r+   r>   r?   r    )r"   r#   r5   r!   rE   r'   s   &&&& r   r$   ImplicitNode.__init__r   sj    v.$--	&&(	3;4y'7'77D	HXHX<X# =Y7;r   r+   )	r   r   r   r   __doc__r$   r   r/   __classcell__r'   r1   s   @@r   rJ   rJ   m   s     $ $r   rJ   c                   B   a  ] tR t^{t o ]P
                  tRR ltRtV t	R# )BackslashNodeNc                   VP                  R 4      pVe   VP                  R,          pRVP                  9   d	   RV n        MqVP                  VP                  8X  d   W!P                  ,           V n        M>RVP                  ^,          ^,           ,          V n        MW!P                  ,           V n        V P                  V n        WPn        R# )	expr_stmtNr8   r9   )search_ancestorchildrenr    rA   	start_posr   r!   )r"   r#   rD   containing_leafspacingr!   rV   equalss   &&&&&&  r   r$   BackslashNode.__init__~   s    #33K@	 ''+Fv)))#'  >>W%6%66'9<N<N'ND$ (+fnnQ.?!.C'DD$14F4FFD#'#3#3 r   r   r   )
r   r   r   r   r   r   r+   r$   r   r/   r0   s   @r   rT   rT   {   s     %%D r   rT   c                 ~    V P                   P                  R 4      ;'       d    V P                   P                  R 4      # )__)value
startswithendswith)names   &r   _is_magic_namere      s.    ::  &DD4::+>+>t+DDr   c                      a a ] tR t^t oV 3R lt]V 3R l4       t]R 4       tR tR t	RR lt
V 3R ltR tR	 tR
 tR tV 3R ltRtVtV ;t# )PEP8Normalizerc                ^  < \         SV `  ! V/ VB  R V n        R V n        RV n        ^ V n        R V n        ^ V n        RV n        RV n	        \        V P                  RR7      ;V n        V n        RV n        RV P                  P                  9   d   RV n        RV n        R # RV n        RV n        R # )	NTF )r    r9   spacesr8   tabs)rM   r$   _previous_part_previous_leaf_on_newline_newline_count_wanted_newline_count_max_new_lines_in_prefix_new_statement_implicit_indentation_possibler   _config_indentation_tos_last_indentation_tos_in_suite_introducerr    _indentation_type_wrong_indentation_char)r"   argskwargsr'   s   &*,r   r$   PEP8Normalizer.__init__   s    $)&)""%)"()%".3+ DLLb9	: :$)!$,,***%-D"+/D(%+D"+.D(r   c           	   #     <"   \         SV `  V4      ;_uu_ 4        V P                  V4      ;_uu_ 4        R x  R R R 4       R R R 4       R #   + '       g   i     L; i  + '       g   i     R # ; i5ir   )rM   
visit_node_visit_node)r"   noder'   s   &&r   r~   PEP8Normalizer.visit_node   sI     W%%!!$'' ( &%'' &%%s2   A3AA	A
A3AAA0	*	A3c              #  ^  "   VP                   pVR 9   dF   VP                  4       p\        V4      ^8  d$   VR,           F  pV P                  VRR4       K  	  EM@VR8X  d   VP                  pVP                   R8X  dv   \
        ;QJ d0    R VP                  RR#^1,           4       F  '       g   K   RM%	  R	M!! R VP                  RR#^1,           4       4      '       d   V P                  VR
R4       EMVR8X  dO   VP                   F<  pVP                   R8X  g   K  VP                  R8X  g   K)  V P                  VRR4       K>  	  EMPVR8X  d   VP                   F  pVP                   R$9  d   K  \        VP                  4      ^8  d   K2  VP                  ^,          pVP                  ^ ,          pVP                   R8X  g   Kk  VP                   R8X  g   K~  VP                  R8X  g   K  V P                  VRR4        M	  MVR8X  d   VP                  R%,          p	V	P                  4       p
V	P                  pVP                  R4      '       gH   VP                  R4      '       g1   V'       g   V
e   V
P                  R&9  d   V P                  V	RR4       V\        9   EdR   VP                  pVP                  pVP                   R8X  Ed(   VP                  P                  V4      pVP                  RV  F  pV.pVP                   R8X  d   VP                  RR% pR	pV F  pVP                   R8X  d   V'       g   K  RpVP                   R8X  dY   \        ;QJ d*    R VP                  4        4       F  '       d   K   R	M	  RM! R VP                  4        4       4      '       d   K  VP                   \        9   g   \        V\        4      '       d   K  V P                  VRR 4        M	  K   M	  V\         9   pV\"        9   pV'       d	   RV n        MVR!8X  d   V P&                  P                   \(        P*                  8X  d   V P&                  P                  V n        \-        V P.                  V P&                  P0                  V P.                  P0                  ,           V P&                  R"7      V n        MV'       d   RV n        Rx  VR!8X  dP   V P&                  P                   \(        P4                  8X  g   Q hV P&                  P                  V n        RV n        R# V'       dP   R	V n        V P&                  P                   \(        P8                  8X  d   V P&                  P                  V n        R# R# V'       d(   R	V n        VR'9   d   V P;                  4       V n        R# R# R# 5i)(import_name:N   Ni  zMultiple imports on one linelambdefrV   c              3   @   "   T F  pVP                   R 8H  x  K  	  R# 5i)rd   NrO   .0r,   s   & r   	<genexpr>-PEP8Normalizer._visit_node.<locals>.<genexpr>   s!      5Y>W 67VVv5E>Ws   NTFi  z,Do not assign a lambda expression, use a deftry_stmtkeywordexcepti  z1Do not use bare except, specify exception instead
comparisontrailerrd   r+   i  z'Do not compare types, use 'isinstance()
file_inputr6   r7   i$  zNo newline at end of filesimple_stmtstringc              3   8   "   T F  p\        V4      x  K  	  R # 5ir   )re   r   s   & r   r   r      s     #U?T!N1$5$5?Ts   i  z&Module level import not at top of filesuiter!   rW   )	atom_exprpower   r6   r7   
)classdeffuncdef)r+   get_defined_nameslen	add_issuer!   anyrY   ra   r<   r?   rc   _IMPORT_TYPESindexallr=   r   _IMPLICIT_INDENTATION_TYPES_SUITE_INTRODUCERSrw   ru   r   r   r   rt   r    rs   r   rp   r   _get_wanted_blank_lines_count)r"   r   typnamesrd   rV   childr   atom	endmarkerprevr?   r   moduler   rY   found_docstringcimplicit_indentation_possiblein_introducers   &&                  r   r   PEP8Normalizer._visit_node   s    ii-**,E5zA~!"IIDNN4.LM &II ~~, 5Y>G>P>PQVRTUVQV>W5Y 5Y>G>P>PQVRTUVQV>W5Y 2Y 2YtS*XYJ ::*u{{h/FNN5#/bc	 '
 L ::%;;u~~&*..+~~a(<<9,f1D JJ&0NN4.WX ' L b)I..0D%%FOOD))&//$2G2Gdldjj@T.Ty#/JK-++K ''F{{l*--k:#__Ve4E %wHzz]2#(>>#2#6&+O%66X-o$*.66[0 ##Uq?R?R?T#U#Uq?R?R?T#U U U$66]2jD6I6I$tS2Z[ & !/ 52 ),/J(J%11(,D%G^$$))-=-G-GG(,(=(=(D(D%$3%%11DLL4L4LL,,%D!
 +26D/'>((--1A1G1GGGG$($9$9$@$@D!)-D&*27D/$$))-=-F-FF(,(=(=(D(D% G(-D%---1-O-O-Q* . sy   BV-
%V-2.V-!9V-V-2BV-	V-V-/A;V-+V-3CV-V-!V-(V-,A%V-B1V-A(V--AV-)V-c                    V P                   VP                  9   d'   V P                  V^eRV P                  ,           4       R# R# )e   zIndentation contains TF)ry   ra   r   rx   )r"   r\   s   &&r   _check_tabs_spaces!PEP8Normalizer._check_tabs_spaces  s6    ''7==8NN7C)@4CYCY)YZr   c                r    V P                   P                  4       p\        VP                  R J 4      ^,           # r   )ru   r-   intr!   )r"   
suite_nodes   & r   r   ,PEP8Normalizer._get_wanted_blank_lines_count!  s1    **@@B
:$$,-11r   c                P   \        V P                  V P                  4      V n        V P                  pVei   V P                  ^,
          pWE8  dI   VP                  R8w  d8   V'       g/   V^8X  d   RMRpRV: RV: 2pV P                  WV4       R V n        MR V n        V'       Egy   V P                  4       pV P                  ^,
          pVP                  p	V	R8H  ;'       d"    VP                  P                  R8H  ;'       g}    V	R8H  ;'       gM    V	R	8H  ;'       d    VP                  4       R
8H  ;'       g%    V	R
8H  ;'       d;    V P                  R	8g  ;'       d$    VP                  P                  P                  R8g  p
V
'       d   W8  d   VP                  pVP                  pVP                  R8X  d   VP                  pVP                  \        VP                  R8H  4      ,          V8w  d(   V^8X  d   RMRpRV: RV: 2pV P                  WV4       ^ V n        ^ V n        R # )Nr   i.  i-  z	expected z blank line, found @	decoratorclassasyncdef	decoratedr   )maxrq   ro   rp   r+   r   r   ra   r!   r>   rm   rY   r   )r"   r\   r5   
is_commentwantedblank_linescodemessageactualvalneeds_linesfunc_or_clsr   s   &&&&         r   _reset_newlinesPEP8Normalizer._reset_newlines%  s   --t/B/BC 	% ++--1K#		[(@!"(A+33D!;0GNN7':15D.-1*z779F22Q6F**Cs
>>t{{//;> = =7N G Gg~GG$*<*<*>%*GG Ge|= G(;(;w(F= = kk((--<  v"kk#**::,!LLE >>#ejjG&;"<=L"(A+33D!6+GNN7':,-D)r   c                
  < \         SV `  V4       VP                  4        F6  pVP                  R 8X  d    M$V P	                  W"P                  4       V4       K8  	  V P                  V4       V P	                  VXV4       V P                  V n        VP                  R8H  V n	        VP                  R8X  dE   V P                  P                  \        P                  8X  d   V P                  P                  V n        VP                  R8X  d(   VP                  P                  \        9   d	   RV n        MVP                  R8X  d   RV n        V P                  '       g   V P!                  W!4       ^ V n        Wn        VP                  # )r\   newlinerL   FelifT)rM   
visit_leaf_split_prefixr+   _visit_partcreate_spacing_part_analyse_non_prefixru   rv   rr   r   r   r!   ra   r   rw   r   _max_blank_linesrm   )r"   r5   partr'   s   && r   r   PEP8Normalizer.visit_leafX  s7   4 &&(DyyI%T#;#;#=tD	 ) 	  &tT* &*%:%:""ii94 99	!%%**.>.H.HH$($9$9$@$@D!::!1!15G!G(-D%ZZ6!(,D%"""  ,$%D!"zzr   c                   VP                   pVP                  pVR 8X  d   R# VR8X  d7   VP                  P                  R8X  d   V P                  P                  V n        V P                  pVR8X  d   VP	                  R4      '       d,   VP                  R4      '       d   V P                  VRR4       MV P                  '       da   \        P                  ! R	V4      '       gC   VR8X  g<   VP	                  R
4      '       d   VP                  R-8X  g   V P                  VRR4       M0\        P                  ! RV4      '       g   V P                  VRR4       V P                  W#RR7       MVR8X  d   V P                  V P                  4       8  d&   V P                  VRRV P                  ,          4       M?VR.9   d9   VP                  P                  P                  R8X  d   V P                  VRR4       V ;P                  ^,          un        VR8X  d   VP                  \        P                  8w  d   VP                  \        P                   8w  d   V P                  VRR4       EMWVP"                  pV P$                  '       d<   VP                  \        P                   8X  d   WpP&                  P"                  ,          p\)        V P&                  VVVV P                  R7      V n        EMV P                  '       Ed   VP                   pVP                  \        P                  8X  d7   V P*                  P                  R8X  d   V P                  P                  V n        V P-                  V4      '       Eg6   VP"                  pVR8X  dY   V P.                  p	 \1        V4      \1        V	P"                  4      8  d   M'V	P"                  pWn        W8X  d   MV	P                  p	KL  V P2                  '       dw   VR8X  d   V'       d   V P                  VRR4       EMWx8w  dK   \1        V P&                  P"                  4      : RV P4                  : 2p
V P                  V^oRV
,           4       EMTVR 9   d   VP6                  pMVP"                  pV P$                  '       dP   VVP9                  4       P"                  V P&                  P"                  ,           8X  d   V P                  V^R!4       EMWx8w  Ed   V P-                  V4      '       Eg   VP                   R/9  Ed   VR 9   dJ   VP                  \        P:                  8X  d   V P                  V^|R"4       EMgV P                  V^{R#4       EMR\1        V4      \1        V4      8  d   VP                  \        P:                  8X  d   V P                  V^R$4       EMVP                  \        P                  8X  d   V P                  V^zR%4       MVP                  \        P<                  8X  d   V P                  V^R&4       MV P                  V^yR'4       MVP                  \        P:                  8X  d   V P                  V^R(4       MXVP                  \        P<                  8X  d   V P                  V^R&4       M%V P                  V^~R)4       MV P?                  W4       V PA                  W4       V'       d   VR*9   d   VR 8w  d   VP                  P                  R+8w  d|   V\B        9   d4   \E        V P&                  VV P                  V P$                  R,7      V n        MVP                  \        P<                  8w  g   Q hV P                  P                  V n        MjVR09   dd   V PF                  '       dR   VP                  P                  \H        9   d3   VP"                  p\K        V P&                  WP                  R7      V n        VR19   V n        Wn        W n&        R# )2
error_leafN,dictorsetmakercommentz###i
  z'Too many leading '#' for block comment.z#:? z#!i	  z$Block comment should start with '# 'z#:? [^ ]i  z%Inline comment should start with '# 'T)r   r   i/  zToo many blank lines (%s)r   i0  z*Blank lines found after function decorator	backslashi  z+The backslash is redundant between bracketsr   #  Trailing whitespacer9   z!Indentation is not a multiple of z])}z+Line with same indent as next logical blockz1Closing bracket does not match visual indentationzCLosing bracket does not match indentation of opening bracket's linez2Continuation line under-indented for visual indentz2Continuation line missing indentation or outdentedxxxz3Continuation line under-indented for hanging indentz1Continuation line over-indented for visual indentz2Continuation line over-indented for hanging indentz()[]{}
error_node)r!   rB   )r   r   )r   r   r   )=rL   )r   r   bom)'ra   r+   r!   ru   rb   lstripr   rn   rematchrZ   r   ro   r   r   r   r   r    rw   rt   rT   rl   r   rv   r   rr   rx   r   r-   r   r   _check_spacing_check_line_length_OPENING_BRACKETSr3   rs   r   rJ   _previous_spacing)r"   r   r\   r5   ra   type_r   r    should_be_indentationr,   ss   &&&&       r   r   PEP8Normalizer._visit_partz  sE   

		L C<DKK,,0@@$($9$9$@$@D!$$I%%<<$$NN4.WX!!!xx//!&!1!1$!7!7DNNf<TNN4.TUxxU33NN4.UV  4 @i""T%G%G%IItS*EH[H[*[\))**//;>tS*VW1$Kyy,66699 0 6 66NN4.[\"&"2"2K000TYYBRBXBX5X#||'?'??,9##44-D) !--Kyy,666++00I=(,(=(=(D(D%**733(,(8(8%I%22A{+c!--.@@!01-5629!HH&&&	)& NN7C9NO$='*4<<+C+C'DdF\F\]tS2UXY2YZ~040H0H-040@0@-000[ 668DD"ll66767 tS2_`$=#66w??DJJ 4E5$~#'990@0Q0Q#Q$(NN(,(+([%& %)NN(,(+)P%& $'{#3c:O6P#P'+yy4D4U4U'U(,,0,/,`)*
 *.6F6P6P)P(,,0,/,`)*
 *.6F6O6O)O(,tS%(H(,,0,/,a)* (,yy4D4U4U'U(,,0,/,_)*
 *.6F6O6O)O(,tS%(H(,,0,/,`)* .. Uh&5L+@KK$$4))(3LL$00(,(A(A)% yy$4$=$====(,(=(=(D(D%j T%H%H%HKK$$(CC**K$0d+@+@%D! !$CC"!(r   c           	     v   VP                   R 8X  d   VP                  ^,          ^,           pMVP                  ^,          pW0P                  P                  8  d   VP                  ^,          V P                  P                  8:  d   RpVP                   R8X  dc   VP
                  R,          P                  4       p\        V4      ^8X  d2   VP                  ^,          \        V^ ,          4      ,
          ^H8  d   RpV'       d3   V P                  VRRV: RV P                  P                  : R24       R	# R	# R	# R	# )
r   Tr   r   NNFi  zLine too long (z > z characters)N)	r+   rZ   rA   rt   max_charactersra   splitr   r   )r"   r   r\   last_columnreportsplitteds   &&&   r   r   !PEP8Normalizer._check_line_length'  s    99#..+a/K,,q/K444%%a(DLL,G,GG FyyI%::b>//1x=A%!\\!_s8A;/??2E"F $,,"="=?  H 5r   c                  a a V V3R  lpV V3R lpVP                   oS P                  pVe   VP                  R8X  g   VP                  R8X  d   R# VP                  pRS9   d   S P                  V^R4       R# VR8X  d<   \	        S4      S P
                  P                  8  d   S P                  VRR4       R# R# VR	8X  d   V! VR
R4       R# \	        S4      ^8  d   S P                  V^R4       R# V\        9   d    RVP                   ,          pV! V^V4       R# V\        9   d    RVP                   ,          pV! V^V4       R# VR"9   g'   VR8X  d?   VP                  P                  \        9  d    RVP                   ,          pV! V^V4       R# VR8X  d"   VP                  P                  \        9   d   R# VR#9   d   V! V^R4       R# VR8X  d   R# VR$9   d    VP                  P                  \        9  g'   VR$9   d"   VP                  P                  \        9  d   R# V\        9   d   VP                  P                  R8X  d   R# VR8X  d   VP                  P                  R8X  d   R# V\        9   g   V\        9   d   VR8X  d   VP                  P                  R%9   g#   VR8X  dw   VP                  P                  R%9   d\   VR8X  d   VP                  pMVP                  pVP                  R8X  d   VP                  '       d   V! V^R4       R# V! V^R4       R# V\        9   g   V\        9   d   V! V^R4       R# VR8X  g   VR8X  d   V! V^R4       R# Rp	V! V^V	4       R# VR8X  g   VP                  R8X  d   V! VRR4       R# S P                   p
V\"        9   d]   SV
P                   8w  dL   RS P$                  P&                  9  d1   R S P$                  P&                  9  d   R!pS P                  V^V4       S'       dI   V\"        9  d<   V\"        9  d/   Rp	V\        9   d    RVP                   ,          pV! V^V4       R# R# R# R# R# )&c                  8   < S'       d   SP                   ! V !  # R # r   r   rz   r"   rj   s   *r   add_if_spaces4PEP8Normalizer._check_spacing.<locals>.add_if_spaces?  s    ~~t,, r   c                  8   < S'       g   SP                   ! V !  # R # r   r   r   s   *r   add_not_spaces5PEP8Normalizer._check_spacing.<locals>.add_not_spacesC  s    ~~t,, r   Nr   r8   zUsed tab to separate tokensr   i  z)At least two spaces before inline commentr   r   r   zMultiple spaces usedzWhitespace after '%s'zWhitespace before '%s'rL   zmissing whitespace after '%s'factorr   r   r   paramz(Expected spaces around annotation equalsz3Unexpected spaces around keyword / parameter equalsz3Missing whitespace around bitwise or shift operator%z)Missing whitespace around modulo operatorz!Missing whitespace between tokensr   i  z!Missing whitespace around keywordr6   r7   z>Whitespace before operator doesn't match with whitespace after)r   ;)r   r  rL   )***)argumentr  )ra   rl   r+   r   r   rt   spaces_before_commentr   _CLOSING_BRACKETSr!   _POSSIBLE_SLICE_PARENTS_NON_STAR_TYPES_FACTOR_NEEDS_SPACE
annotation_BITWISE_OPERATORr   _ALLOW_SPACErm   r?   )r"   r   r\   r   r   r   r   r   r  message_225prev_spacingrj   s   f&&        @r   r   PEP8Normalizer._check_spacing>  s   	-	- ""		\ 9TYY,=V		6>NN7C)FGi6{T\\???w-XY @i'3(=>[1_NN7C)?@((1DJJ>gsG4**2TZZ?gsG4#ts{((0GG2TZZ?gsG4!1!15L!L(w-LM$)9)9)P{*((?T[[%5%5%A!1!1[!@%)=3;4;;#3#37L#L3;4;;+;+;?T+Ts{ $ $zzW,1A1A1A&w5_`%#Q
 ..$:K2K"M
 S[DCK"7C1\]"EK"7C=)#tyyI'=w-PQ#55<'Fl6H6H,H (;(;(B(BB (;(;(B(BB^GNN7C9d,64|;S"EK 00":TZZ"G%gsG< 1	 <T66r   c                   VP                   pVR 8X  d   VP                  R*9   d   VP                  4       '       d   RpVP                  P                   R8X  d8   VP                  P                  V8X  d   V P                  VRVR,          4       R)# VP                  P                   R8X  d8   VP                  P                  V8X  d   V P                  VRVR,          4       R)# V P                  RVR,          V4       R)# R)# VP                  R	8X  d   \        VP                  \        \        34      '       d   VP                  P                   R
8w  di   VP                  4       pVP                   R8w  dF   VP                  P                   R8X  d   V P                  VRR4       R)# V P                  VRR4       R)# R)# R)# R)# VP                  R8X  dJ   VP                  4       P                   R+9   d   V P                  VRR4       R)# V P                  VRR4       R)# VP                  R,9   d   VP                  pVP                  P                  V4      pVP                  V^,
          ,          pVP                  V^,           ,          pWx3 Fy  p	V	P                   R8X  g   V	P                   R 8X  g   K'  V	P                  R8X  d   RpV P                  VRV4        R)# V	P                  R-9   g   Kc  RpV P                  VRV4        R)# 	  R)# VP                  R.9   dx   VP                  pVP                   R8X  dY   VP                  P                   R8X  d<   VP                  R8X  d   V P                  VR R!4       R)# V P                  VR"R#4       R)# R)# R)# VR$8X  d|   \        VP                  P                  4       R%,          4       FK  w  r\        P                   ! R&V4      P#                  ^ 4      pVP$                  V
,           \'        V4      3pV KM  	  R)# VR8X  d)   V P(                  ^8  d   V P                  VR'R(4       R)# R)# R)# )/rd   z0Do not define %s named 'l', 'O', or 'I' one liner   i  classesfunction  i  	variablesrL   r   r   r   i  z%Multiple statements on one line (def)i  z'Multiple statements on one line (colon)r  r   i  zStatement ends with a semicoloni  z+Multiple statements on one line (semicolon)r   Nonez/comparison to None should be 'if cond is None:'i  zCcomparison to False/True should be 'if cond is True:' or 'if cond:'i  inr   not_testi  z&test for membership should be 'not in'i  z+test for object identity should be 'is not'r   r   z[ \t]*i  Blank line at end of fileN)lOI)r   r   )==!=)TrueFalse)r  is)r+   ra   is_definitionr!   rd   r   add_issuadd_issuer=   r   r	   r>   rY   r   	enumerate
splitlinesr   r   groupr;   r   ro   )r"   r5   r   r   rE   r   r   leftrightr   ir;   r    rZ   s   &&            r   r   "PEP8Normalizer._analyse_non_prefix  sY   ii&=TZZ?:!!##L;;##w.4;;3C3Ct3KNN4g	.AB[[%%38H8HD8PNN4g
.BC**3+0EtL $ ZZ3$++e}55$++:J:Ji:W ..0	>>Y.{{''94y#7^_y#7`a	 / ;X5 ZZ3!!#((,DDtS*KLtS*WXZZ<'J''--d3E&&uqy1D''	2E99	)TYY&-@zzV+"StS':'88#EtS': $ ZZ<'J,.:3D3D3I3IZ3W::%NN4.VWNN4.[\	 4X.
 H_$TZZ%:%:%<R%@A hhy$7==a@ IIM3{+;;		 B
 K""a'tS*EF (  r   c                   < V P                   e=   V P                   P                  R4      e   R # V P                   P                  R8X  d   R # VP                  R4      e   R # VR9   d   \        SV `  WV4       R # \        \
        V `  WV4       R # )Nr   r   )i  i  )rm   rX   r+   rM   r   r   )r"   r   r   r   r'   s   &&&&r   r   PEP8Normalizer.add_issue  s~    *""22<@L""''<7-9:Gd'2 +t.t7Cr   )rs   rw   ru   rx   rv   r   rq   rr   ro   rn   rm   rl   r   rp   ry   rH   )r   r   r   r   r$   r   r~   r   r   r   r   r   r   r   r   r   r   r   r/   rQ   rR   s   @@r   rg   rg      ss     /,  
 cR cRJ21 f Dk)Z.]=~8GtD Dr   rg   c                   0   a  ] tR tRt o ]t RR ltRtV tR# )PEP8NormalizerConfigr  Nc                ^    Wn         Vf   TpW n        RV n        RV n        W0n        W@n        R # )Nri   F)r    hanging_indentationr@   break_after_binaryr   r	  )r"   r    r4  r   r	  s   &&&&&r   r$   PEP8NormalizerConfig.__init__  s6    &&"-#6 350"',%:"r   )r5  r@   r4  r    r   r	  )z    NO      )	r   r   r   r   rg   normalizer_classr$   r   r/   r0   s   @r   r2  r2    s     %	; 	;r   r2  c                   .   a  ] tR tRt o RtRtR tRtV tR# )BlankLineAtEndi  i  r  c                     V P                   ^8  # )r8  )ro   )r"   r5   s   &&r   is_issueBlankLineAtEnd.is_issue  s    ""a''r   r   N)	r   r   r   r   r   r   r=  r   r/   r0   s   @r   r;  r;    s     D)G( (r   r;  c                Z    V ^8  d   Qh/ ^ \         9   d   \        \        R3,          ;R&   # )r8  .r  )__conditional_annotations__r   str)formats   "r   __annotate__rC     s$    		$ eCHo % 
r   )r   import_from)r   r   if_stmt
while_stmtfor_stmtr   	with_stmt)termrD  r   )([{))]})+-~)r  rP  rQ  r  /z//r   )z<<z>>|&^)r   r  z-><>r!  z>=z<=z<>r"  z+=z-=z*=z@=z/=z%=z&=z|=z^=z<<=z>>=z**=z//=)r   r  )	subscriptsubscriptlistsliceop)$r@  r   
contextlibr   typingr   parso.python.errorsr   r   parso.normalizerr   parso.python.treer   r	   r   r   r  r   r
  r  r  r  r  r   r  r   r   r   r3   rJ   rT   re   rg   r2  r;  rC  )r@  s   @r   <module>ra     s    		 %  > ! ) /; 2! ! 
2- ! 
 ! !< C  f &2/ 2j$; $O 2EL	D[ L	D^;, ;&(T (r   