+
    e
                     d   R t ^ RIt^ RIt^ RIt]P                  P
                  t]P                  P                  e   ]]P                  P                  ,          t]P                  ! RP                  ]P                  ! ]4      4      4      tAR tR tR t ! R R]4      tR tR	 t ! R
 R4      tR# )zBA universal module with functions / classes without dependencies. Nz (?:\.[^{0}]+|[{0}]__init__\.py)$c                    a  V 3R  lpV# )c                  &   < \        S! V / VB 4      # N)listargskwargsfuncs   *,6/usr/lib/python3/dist-packages/jedi/inference/utils.pywrapperto_list.<locals>.wrapper   s    D$)&)**     r	   r   s   f r
   to_listr      s    +Nr   c                    a  V 3R  lpV# )c                  &   < \        S! V / VB 4      # r   )tupler   s   *,r
   r   to_tuple.<locals>.wrapper   s    T4*6*++r   r   r   s   f r
   to_tupler      s    ,Nr   c                &    \        R V  4       4      # )z5Turns a two dimensional array into a one dimensional.c              3   4   "   T F  q F  q"x  K  	  K  	  R # 5ir   r   ).0typestyps   &  r
   	<genexpr>unite.<locals>.<genexpr>   s     :uESsEss   )set)iterables   &r
   uniter      s    ::::r   c                       ] tR t^tRtRtR# )UncaughtAttributeErrora|  
Important, because `__getattr__` and `hasattr` catch AttributeErrors
implicitly. This is really evil (mainly because of `__getattr__`).
Therefore this class originally had to be derived from `BaseException`
instead of `Exception`.  But because I removed relevant `hasattr` from
the code base, we can now switch back to `Exception`.

:param base: return values of sys.exc_info().
r   N)__name__
__module____qualname____firstlineno____doc____static_attributes__r   r   r
   r!   r!      s    r   r!   c                 *    \        \        V 4      4      # r   )propertyreraise_uncaught)r	   s   &r
   safe_propertyr+   +   s    $T*++r   c                F   a  \         P                  ! S 4      V 3R l4       pV# )a  
Re-throw uncaught `AttributeError`.

Usage:  Put ``@rethrow_uncaught`` in front of the function
which does **not** suppose to raise `AttributeError`.

AttributeError is easily get caught by `hasattr` and another
``except AttributeError`` clause.  This becomes problem when you use
a lot of "dynamic" attributes (e.g., using ``@property``) because you
can't distinguish if the property does not exist for real or some code
inside of the "dynamic" attribute through that error.  In a well
written code, such error should not exist but getting there is very
difficult.  This decorator is to help us getting there by changing
`AttributeError` to `UncaughtAttributeError` to avoid unexpected catch.
This helps us noticing bugs earlier and facilitates debugging.
c                  T   <  S! V / VB #   \          d   p\        T4      ThR p?ii ; ir   )AttributeErrorr!   )r   kwdser	   s   *, r
   r   !reraise_uncaught.<locals>.wrapper@   s5    	3&&& 	3(+2	3s    '"')	functoolswrapsr   s   f r
   r*   r*   /   s'    " __T3 3
 Nr   c                   8   a  ] tR t^It o R tR tR tR tRtV t	R# )PushBackIteratorc                .    . V n         Wn        R V n        R # r   )pushesiteratorcurrent)selfr8   s   &&r
   __init__PushBackIterator.__init__J   s     r   c                <    V P                   P                  V4       R # r   )r7   append)r:   values   &&r
   	push_backPushBackIterator.push_backO   s    5!r   c                    V # r   r   r:   s   &r
   __iter__PushBackIterator.__iter__R   s    r   c                    V P                   '       d,   V P                   P                  4       V n        V P                  # \        V P                  4      V n        V P                  # r   )r7   popr9   nextr8   rC   s   &r
   __next__PushBackIterator.__next__U   sE    ;;;;;??,DL ||  .DL||r   )r9   r8   r7   N)
r"   r#   r$   r%   r;   r@   rD   rI   r'   __classdictcell__)__classdict__s   @r
   r5   r5   I   s     
" r   r5   )r&   r2   reospathsep_sepaltsepcompileformatescape_path_rer   r   r   	Exceptionr!   r+   r*   r5   r   r   r
   <module>rX      s    I  	 	 
ww{{77>>BGGNND::9@@4QR;
	Y 	,4 r   