+
    e                         ^ RI HtHt ^ RIHtHtHt ^ RIHt ^ RI	H
t
  ! R R4      t]! RR4      t]! R	R
4      t]! RR4      tR tRR ltR tR tR# )    )DictOptional)get_flow_branch_keywordis_scopeget_parent_scope)execution_allowed)is_big_annoying_libraryc                   T   a  ] tR t^t o / tV 3R lR ltR tR tR tV 3R lt	Rt
V tR# )	Statusc                :   < V ^8  d   QhRS[ S[,          RS[RR/# )   valuenamereturnN)r   boolstr)format__classdict__s   ">/usr/lib/python3/dist-packages/jedi/inference/flow_analysis.py__annotate__Status.__annotate__   s&     * *htn *C *D *    c                D    Wn         W n        V \        P                  V&   R # N)_value_namer   lookup_table)selfr   r   s   &&&r   __init__Status.__init__   s    
%)E"r   c                N    V \         J d   \        # V \        J d   \         # \        # r   )	REACHABLEUNREACHABLEUNSUREr   s   &r   invertStatus.invert   s#    9[ Mr   c                    \         W39   d   \         # V P                  '       d   VP                  '       d   \        # \        # r   )r$   r   r"   r#   )r   others   &&r   __and__Status.__and__   s,    d]"M $9M+Mr   c                R    R \        V 4      P                  : RV P                  : R2# )<z: >)type__name__r   r%   s   &r   __repr__Status.__repr__   s    !$Z00$**==r   c                J   < V ^8  d   Qh/ S[ S[S[,          R3,          ;R&   # )r   r   r   )r   r   r   )r   r   s   "r   r   r      s     x~x/05 r   )r   r   N)r0   
__module____qualname____firstlineno__r   r   r&   r*   r1   __annotate_func____static_attributes____classdictcell__)r   s   @r   r   r      s+     35L* *
N>-  r   r   T	reachableFunreachableNunsurec              #   `   "    \        V R R7      p V e   \        V 4      '       d   R# V x  K+  5i)Tinclude_flowsN)r   r   )nodes   &r   _get_flow_scopesrA   '   s)     
D9<8D>>
s   ,.c                 N   \        V 4      '       g   V P                  P                  '       g   \        # \	        VR R7      pVe   \        \        V4      4      p\        \        V4      4      pR pV F  pW9   g   K  \        W4      p	\        W4      p
W8H  pVP                  R8X  d   V'       g	   \        u # M/VP                  R8X  d   V'       g   V
R8X  d   V	R8X  d	   \        u # V'       g   K   M	  Ve#   WC8X  d   V'       d   \        # VP                  pK&  \        WWB4      # )Tr>   if_stmttry_stmtelseexcept)r	   inference_stateflow_analysis_enabledr$   r   listrA   r   r/   r#   r"   parent_break_check)contextvalue_scoper@   origin_scopefirst_flow_scopeorigin_flow_scopesnode_flow_scopesbranch_matches
flow_scopenode_keywordorigin_keywords   &&&&       r   reachability_checkrV   /   s    w''**@@@'DA!"2<"@A 0 67,J-6zH!8!R!-!???i/)** *__
2)n.F , 8**!> -, &/N  '..L.>EEr   c                    \         pVP                  R 8X  d   VP                  V4      '       dG   VP                  4        F!  p\	        W4      pV\         \
        39   g   K!   M	  VP                  4       pM8VP                  V4      pVe   \	        W4      pMVP                  R9   d   \
        # V\        \
        39   d   V# W8w  d1   WP                  8w  d!   \        VRR7      pV\        WW#4      ,          # V# )rC   Tr>   )rD   
while_stmt)r"   r/   is_node_after_elseget_test_nodes	_check_ifr$   r&   get_corresponding_test_noder#   rJ   r   rK   )rL   rM   rS   r@   r:   
check_node	flow_nodes   &&&&   r   rK   rK   X   s    I)#((..(779
%g:	F 33 : "((*I">>tDI$%g9		6	6 [&)) [4E4E%E%jE
<jOOOr   c                 |   \        V P                  V4      ;_uu_ 4       pV'       g   \        uuR R R 4       # V P                  V4      p\	        R V 4       4      p\        V4      ^8X  d0   \        P                  VP                  4       ,          uuR R R 4       # \        uuR R R 4       #   + '       g   i     R # ; i)Nc              3   @   "   T F  qP                  4       x  K  	  R # 5ir   )
py__bool__).0xs   & r   	<genexpr>_check_if.<locals>.<genexpr>y   s     3U\\^^Us   )	r   rG   r$   
infer_nodesetlenr   r   pop)rL   r@   allowedtypesvaluess   &&   r   r[   r[   s   s    	722D	9	9W 
:	9 ""4(3U33v;!&&vzz|4 
:	9  
:	9	9	9s   B*AB*B**B;	r   )typingr   r   jedi.parser_utilsr   r   r   jedi.inference.recursionr   jedi.inference.helpersr	   r   r"   r#   r$   rA   rV   rK   r[    r   r   <module>rr      sZ    ! Q Q 6 :> >4 4%	UM*	h	&FR6
r   