+
    e                         R t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ]
! 4       t ! R R]4      tR tR	 tR
 tR tR tR tRR ltR# )ap  
This module is here for string completions. This means mostly stuff where
strings are returned, like `foo = dict(bar=3); foo["ba` would complete to
`"bar"]`.

It however does the same for numbers. The difference between string completions
and other completions is mostly that this module doesn't return defined
names in a module, but pretty much an arbitrary string.
N)AbstractArbitraryName)infer_call_of_leaf)
Completion)cut_value_at_positionc                       ] tR t^tRtRtRtR# )
StringNamestringF N)__name__
__module____qualname____firstlineno__api_typeis_value_name__static_attributes__r	       2/usr/lib/python3/dist-packages/jedi/api/strings.pyr   r      s    HMr   r   c           
         TpVR 8w  d   VP                  4       pRpV'       d   \        WAVRR7      pVR 8X  d   Vf   W&Jd   \        W#4      pV P                  V4      pVP                  4       ;rV	R9   d   V	P                  p	V	P
                  R9   d5   \        W4      p\        \        V P                  TVf   RMTVVR7      4      # . # )[ T)invert_result)fuzzy))]})atomtrailername)
get_previous_leafget_quote_endingr   create_contextparenttyper   list_completions_for_dictsinference_state)module_context
code_linesleafpositionr   r   bracket_leafcut_end_quotecontextbefore_nodebefore_bracket_leafvaluess   &&&&&&      r   complete_dictr0      s    Ls--/M(XUYZs>d6*4:F //=,8,J,J,LL/)%,,K::'EF...n&   Ir   c           	   #     "   \        \        V4      R  R7       Fd  p\        W%4      pVP                  V4      '       g   K'  \	        YR\        V4      ) ;'       g    R 4      p\        V VR\        V4      VR7      x  Kf  	  R# 5i)c                     \        V 4      # )N)repr)xs   &r   <lambda>(_completions_for_dicts.<locals>.<lambda>8   s    $q'r   )keyN)stacklike_name_lengthis_fuzzy)sorted_get_python_keys_create_repr_string
startswithr   lenr   )r%   dictsliteral_stringr+   r   dict_keydict_key_strr   s   &&&&&   r   r$   r$   7   s}     +E28IJ*>D"">22o<Xc->P=P=X=XTX/YZD!$^!4 	 Ks   :BABc                     \        V\        \        34      '       d	   V '       g   \        V4      # \        V4      p\	        V 4      w  r4Vf   V# WB^ ,          8X  d	   W2,           # W4,           V^R ,           V,           # )N)
isinstancestrbytesr3   _get_string_prefix_and_quote)rA   rB   rprefixquotes   &&   r   r=   r=   E   sg    he--^H~XA0@MF}!}z>AaG#e++r   c              #      "   V  FS  pVP                   R 8X  g   K  VP                  4        F)  pVP                  \        R7      pV\        Jg   K%  Vx  K+  	  KU  	  R# 5i)dict)defaultN)
array_typeget_key_valuesget_safe_value	_sentinel)r@   dctr7   rB   s   &   r   r<   r<   R   sN     >>V#))+--i-@9,"N , s   A0AAc                     \         P                  ! R V 4      pVf   R# VP                  ^4      VP                  ^4      3# )z(\w*)("""|\'{3}|"|\'))NN)rematchgroup)r   rW   s   & r   rI   rI   [   s9    HH-v6E};;q>5;;q>))r   c                 x    W^ ,          ^,
          ,          V^,          V^,          \        V4      ,            pW18H  # )    )r?   )r'   rL   r)   r   s   &&& r   _matches_quote_at_positionr[   b   s2    a(!Xa[3u:5MNF?r   c                 R    \        V 4      w  rEVf   R# \        WV4      V8w  d   R# V# )Nr   )rI   r[   )r   r'   r)   r   _rL   s   &&&&  r   r   r   g   s/    +F3HA} "*X>-OLr   )F)__doc__rV   jedi.inference.namesr   jedi.inference.helpersr   jedi.api.classesr   jedi.parser_utilsr   objectrS   r   r0   r$   r=   r<   rI   r[   r   r	   r   r   <module>rd      sR    
 6 5 ' 3H	& 
<
,#*
r   