o
    g}”e�W  ã                   @   sx  d dl Z d dlmZ d dlmZmZmZmZmZm	Z	m
Z
mZmZ d dlmZmZmZmZmZmZmZmZmZ er>d dlmZ edd„ edƒD ƒƒeed	ƒƒB Zeed
ƒ Zeedƒ ZeZeedƒ Z eZ!edƒZ"e"edƒB Z#ee j$e j% d ƒZ&e&edƒB Z'edd
ddddddœƒZ(ee)gef Z*ee)df Z+e,Z-G dd„ de.ƒZ/e0dœdede*dee)ef fdd„Z1e0dœd e)de*dee)ef fd!d"„Z2G d#d$„ d$ƒZ3G d%d&„ d&ƒZ4G d'd(„ d(ƒZ5d)e)d*e-d+e	e) de-fd,d-„Z6d)e)d*e-d.e)d/ee) d0e7de-fd1d2„Z8d)e)d*e-de-fd3d4„Z9d)e)d*e-de-fd5d6„Z:d)e)d*e-d7e3de-fd8d9„Z;d)e)d*e-d7e3de-fd:d;„Z<d)e)d*e-d7e3de*de-f
d<d=„Z=d)e)d*e-de*dee-e+ef fd>d?„Z>d)e)d*e-dee-e+f fd@dA„Z?d)e)d*e-dee-e)f fdBdC„Z@d)e)d*e-dee-e)f fdDdE„ZAd)e)d*e-de*dee-eBf fdFdG„ZCd)e)d*e-de*dee-eDf fdHdI„ZEdJdKœd)e)d*e-dLe7dee-e)f fdMdN„ZFd)e)d*e-dee-e)f fdOdP„ZGd)e)d*e-dQe,dee-e)f fdRdS„ZHd)e)d*e-dee-e)f fdTdU„ZId)e)d*e-dVe7dee-e)f fdWdX„ZJd)e)d*e-dLe7dee-e)f fdYdZ„ZKd)e)d*e-d[d\dee-e)f fd]d^„ZLd)e)d*e-de*dee-ef fd_d`„ZMd)e)d*e-dae)de/fdbdc„ZNdde,de7fdedf„ZOdS )gé    N)ÚMappingProxyType)	ÚTYPE_CHECKINGÚAnyÚCallableÚDictÚ	FrozenSetÚIterableÚOptionalÚTextIOÚTuple)	ÚRE_BINÚRE_DATETIMEÚRE_HEXÚRE_LOCALTIMEÚ	RE_NUMBERÚRE_OCTÚmatch_to_datetimeÚmatch_to_localtimeÚmatch_to_number)ÚPatternc                 c   s   � | ]}t |ƒV  qd S ©N)Úchr)Ú.0Úi© r   úb/Users/abhinavbhinder/Documents/map/venv/lib/python3.10/site-packages/pip/_vendor/tomli/_parser.pyÚ	<genexpr>   s   € r   é    é   ú	z	
z	
z 	Ú
z-_z"'úúúú"ú\)z\bz\tz\nz\fz\rz\"z\\.c                   @   s   e Zd ZdZdS )ÚTOMLDecodeErrorz0An error raised if a document is not valid TOML.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r&   B   s    r&   ©Úparse_floatÚfpr,   Úreturnc                C   s   |   ¡ }t||d�S )zParse TOML from a file object.r+   )ÚreadÚloads)r-   r,   Úsr   r   r   ÚloadF   s   r2   r1   c                C   sB  |   dd¡}d}tƒ }	 t||tƒ}z|| }W n ty$   Y |jjS w |dkr.|d7 }q|tv r@t||||ƒ}t||tƒ}n:|dkrpz||d  }W n tyW   d}Y nw |dkrct|||ƒ}nt|||ƒ}t||tƒ}n
|dkrzt	||d	ƒ‚t
||ƒ}z|| }W n ty‘   Y |jjS w |dkrœt	||d
ƒ‚|d7 }q)zParse TOML from a string.z
r    r   Té   ú[Nú#zInvalid statementz5Expected newline or end of document after a statement)ÚreplaceÚStateÚ
skip_charsÚTOML_WSÚ
IndexErrorÚKEY_INITIAL_CHARSÚkey_value_ruleÚcreate_list_ruleÚcreate_dict_ruleÚsuffixed_errÚskip_commentÚoutÚdict)r1   r,   ÚsrcÚposÚstateÚcharÚsecond_charr   r   r   r0   L   sT   
"Ýÿ
øÿÑr0   c                   @   s   e Zd Zddd„ZdS )r7   r.   Nc                 C   s   t ƒ | _tƒ | _d| _d S )Nr   )Ú
NestedDictrA   ÚFlagsÚflagsÚheader_namespace©Úselfr   r   r   Ú__init__Œ   s   
zState.__init__©r.   N)r'   r(   r)   rN   r   r   r   r   r7   ‹   s    r7   c                   @   s~   e Zd ZdZdZdZddd„Zdeddfd	d
„Zdedede	ddfdd„Z
dede	deddfdd„Zdede	defdd„ZdS )rI   z)Flags that map to parsed keys/namespaces.r   r3   r.   Nc                 C   ó
   i | _ d S r   ©Ú_flagsrL   r   r   r   rN   ž   s   
zFlags.__init__Úkeyc                 C   sF   | j }|d d… D ]}||vr d S || d }q	| |d d ¡ d S )NéÿÿÿÿÚnested)rR   Úpop)rM   rS   ÚcontÚkr   r   r   Ú	unset_all¡   s   zFlags.unset_allÚhead_keyÚrel_keyÚflagc                 C   s‚   | j }|D ]}||vrtƒ tƒ i dœ||< || d }q|D ] }||v r.|| d  |¡ n
|htƒ i dœ||< || d }qd S )N©rJ   Úrecursive_flagsrU   rU   rJ   ©rR   ÚsetÚadd)rM   rZ   r[   r\   rW   rX   r   r   r   Úset_for_relative_key©   s   ûzFlags.set_for_relative_keyÚ	recursivec                C   sˆ   | j }|d d… |d }}|D ]}||vr tƒ tƒ i dœ||< || d }q||vr5tƒ tƒ i dœ||< || |r<dnd  |¡ d S )NrT   r]   rU   r^   rJ   r_   )rM   rS   r\   rc   rW   Ú
key_parentÚkey_stemrX   r   r   r   r`   ¶   s   z	Flags.setc                 C   s„   |sdS | j }|d d… D ]}||vr dS || }||d v r# dS |d }q|d }||v r@|| }||d v p?||d v S dS )NFrT   r^   TrU   rJ   rQ   )rM   rS   r\   rW   rX   Z
inner_contre   r   r   r   Úis_Á   s   
z	Flags.is_rO   )r'   r(   r)   r*   ÚFROZENÚEXPLICIT_NESTrN   ÚKeyrY   Úintrb   Úboolr`   rf   r   r   r   r   rI   •   s    
rI   c                   @   sD   e Zd Zddd„Zddœdededefd	d
„Zdeddfdd„ZdS )rH   r.   Nc                 C   rP   r   )rB   rL   r   r   r   rN   Ô   s   
zNestedDict.__init__T©Úaccess_listsrS   rm   c                C   sT   | j }|D ]"}||vri ||< || }|rt|tƒr|d }t|t ƒs'tdƒ‚q|S )NrT   z There is no nest behind this key)rB   Ú
isinstanceÚlistÚKeyError)rM   rS   rm   rW   rX   r   r   r   Úget_or_create_nestØ   s   
ÿzNestedDict.get_or_create_nestc                 C   sX   |   |d d… ¡}|d }||v r%|| }t|tƒstdƒ‚| i ¡ d S i g||< d S )NrT   z/An object other than list found behind this key)rq   rn   ro   rp   Úappend)rM   rS   rW   Zlast_keyÚlist_r   r   r   Úappend_nest_to_listé   s   
zNestedDict.append_nest_to_listrO   )	r'   r(   r)   rN   ri   rk   rB   rq   rt   r   r   r   r   rH   Ó   s    
üþü
ûrH   rC   rD   Úcharsc                 C   sB   z| | |v r|d7 }| | |v sW |S W |S  t y    Y |S w )Nr3   )r:   )rC   rD   ru   r   r   r   r8   õ   s   ÿüþþr8   ÚexpectÚerror_onÚerror_on_eofc          	   	   C   sŠ   z|   ||¡}W n ty!   t| ƒ}|rt| |d|›d�ƒ‚Y nw | | ||… ¡}|rCtt|ƒƒ}|   ||¡}t| |d|›d�ƒ‚|S )Nz
Expected "r$   zFound invalid character ")ÚindexÚ
ValueErrorÚlenr?   ÚintersectionÚnextÚiter)	rC   rD   rv   rw   rx   Únew_posZ	bad_charsZbad_charZbad_posr   r   r   Ú
skip_untilþ   s   ÿþr€   c                 C   sF   z| | }W n t y   d }Y nw |dkr!t| |d dtdd�S |S )Nr5   r3   r    F©rw   rx   )r:   r€   ÚILLEGAL_COMMENT_CHARS)rC   rD   rF   r   r   r   r@     s   ÿÿr@   c                 C   s*   	 |}t | |tƒ}t| |ƒ}||kr|S qr   )r8   ÚTOML_WS_AND_NEWLINEr@   )rC   rD   Zpos_before_skipr   r   r   Úskip_comments_and_array_ws!  s   
ûr„   rE   c                 C   sÄ   |d7 }t | |tƒ}t| |ƒ\}}|j |tj¡s!|j |tj¡r+t| |d|› d�ƒ‚|jj	|tjdd� z|j
 |¡ W n tyJ   t| |dƒ‚w ||_| ||d … dkr^t| |dƒ‚|d S )	Nr3   zCan not declare z twiceF©rc   úCan not overwrite a valueú]z.Expected "]" at the end of a table declaration)r8   r9   Ú	parse_keyrJ   rf   rI   rh   rg   r?   r`   rA   rq   rp   rK   )rC   rD   rE   rS   r   r   r   r>   *  s    ÿr>   c                 C   sÊ   |d7 }t | |tƒ}t| |ƒ\}}|j |tj¡r"t| |d|› �ƒ‚|j |¡ |jj	|tj
dd� z|j |¡ W n tyG   t| |dƒ‚w ||_| ||d … }|dkrat| |d|›d�ƒ‚|d S )	Né   ú#Can not mutate immutable namespace Fr…   r†   z]]zFound "z3" at the end of an array declaration. Expected "]]")r8   r9   rˆ   rJ   rf   rI   rg   r?   rY   r`   rh   rA   rt   rp   rK   )rC   rD   rE   rS   Z
end_markerr   r   r   r=   =  s*   ÿ
ýr=   c                 C   sà   t | ||ƒ\}}}|d d… |d }}|j| }|j |tj¡r*t| |d|› �ƒ‚|j |j|tj¡ z|j	 
|¡}	W n tyI   t| |dƒ‚w ||	v rTt| |dƒ‚t|ttfƒrj|j| }
|jj|
tjdd� ||	|< |S )NrT   rŠ   r†   Tr…   )Úparse_key_value_pairrK   rJ   rf   rI   rg   r?   rb   rh   rA   rq   rp   rn   rB   ro   r`   )rC   rD   rE   r,   rS   Úvaluerd   re   Zabs_key_parentÚnestZabs_keyr   r   r   r<   Y  s(   
ÿÿ
r<   c                 C   st   t | |ƒ\}}z| | }W n ty   d }Y nw |dkr#t| |dƒ‚|d7 }t| |tƒ}t| ||ƒ\}}|||fS )Nú=z,Expected "=" after a key in a key/value pairr3   )rˆ   r:   r?   r8   r9   Úparse_value)rC   rD   r,   rS   rF   rŒ   r   r   r   r‹   r  s   ÿ
r‹   c                 C   s”   t | |ƒ\}}|g}t| |tƒ}	 z| | }W n ty"   d }Y nw |dkr-|t|ƒfS |d7 }t| |tƒ}t | |ƒ\}}| |¡ t| |tƒ}q)NTÚ.r3   )Úparse_key_partr8   r9   r:   Útuplerr   )rC   rD   Zkey_partrS   rF   r   r   r   rˆ   ‚  s"   ÿ
õrˆ   c                 C   s|   z| | }W n t y   d }Y nw |tv r&|}t| |tƒ}|| ||… fS |dkr/t| |ƒS |dkr8t| |ƒS t| |dƒ‚)Nú'r$   z(Invalid initial character for a key part)r:   ÚBARE_KEY_CHARSr8   Úparse_literal_strÚparse_one_line_basic_strr?   )rC   rD   rF   Ú	start_posr   r   r   r‘   ”  s   ÿ

r‘   c                 C   s   |d7 }t | |dd�S )Nr3   F©Ú	multiline)Úparse_basic_str©rC   rD   r   r   r   r–   ¤  s   r–   c                 C   sÈ   |d7 }g }t | |ƒ}| ||d … dkr|d |fS 	 t| ||ƒ\}}| |¡ t | |ƒ}| ||d … }|dkr@|d |fS |dkrJt| |dƒ‚|d7 }t | |ƒ}| ||d … dkrc|d |fS q)Nr3   r‡   Tú,zUnclosed array)r„   r�   rr   r?   )rC   rD   r,   ÚarrayÚvalÚcr   r   r   Úparse_array©  s&   



òr    c                 C   sZ  |d7 }t ƒ }tƒ }t| |tƒ}| ||d … dkr!|d |jfS 	 t| ||ƒ\}}}|d d… |d }}| |tj¡rFt| |d|› �ƒ‚z	|j	|dd�}	W n t
y\   t| |dƒ‚w ||	v rkt| |d	|› d
�ƒ‚||	|< t| |tƒ}| ||d … }
|
dkrˆ|d |jfS |
dkr’t| |dƒ‚t|ttfƒr¢|j|tjdd� |d7 }t| |tƒ}q")Nr3   Ú}TrT   rŠ   Frl   r†   zDuplicate inline table key "r$   rœ   zUnclosed inline tabler…   )rH   rI   r8   r9   rB   r‹   rf   rg   r?   rq   rp   rn   ro   r`   )rC   rD   r,   Znested_dictrJ   rS   rŒ   rd   re   r�   rŸ   r   r   r   Úparse_inline_tableÁ  s<   ÿër¢   Fr˜   r™   c                C   sî   | ||d … }|d7 }|rB|dv rB|dkr8t | |tƒ}| ||d … }|s*|dfS |dkr4t| |dƒ‚|d7 }t | |tƒ}|dfS |dkrLt| |d	ƒS |d
krVt| |dƒS z|t| fW S  tyv   t|ƒdkrpt| |dƒ‚t| |dƒ‚w )Nr‰   >   z\ z\	ú\
r£   r3   Ú r    zUnescaped "\" in a stringz\ué   z\Ué   úUnterminated string)r8   r9   r?   rƒ   Úparse_hex_charÚBASIC_STR_ESCAPE_REPLACEMENTSrp   r{   )rC   rD   r™   Z	escape_idrF   r   r   r   Úparse_basic_str_escapeá  s0   ýrª   c                 C   s   t | |dd�S )NTr˜   )rª   r›   r   r   r   Ú parse_basic_str_escape_multilineÿ  s   r«   Úhex_lenc                 C   sl   | ||| … }t |ƒ|kstdd„ |D ƒƒrt| |dƒ‚||7 }t|dƒ}t|ƒs0t| |dƒ‚|t|ƒfS )Nc                 s   s   � | ]}|t jvV  qd S r   )ÚstringÚ	hexdigits)r   rŸ   r   r   r   r     s   € z!parse_hex_char.<locals>.<genexpr>zInvalid hex valueé   z/Escaped character is not a Unicode scalar value)r{   Úanyr?   rj   Úis_unicode_scalar_valuer   )rC   rD   r¬   Úhex_strZhex_intr   r   r   r¨     s   
r¨   c                 C   s2   |d7 }|}t | |dtdd�}|d | ||… fS )Nr3   r“   Tr�   )r€   ÚILLEGAL_LITERAL_STR_CHARS)rC   rD   r—   r   r   r   r•     s   
ÿr•   Úliteralc                C   sÆ   |d7 }| ||d … dkr|d7 }|r*d}t | |dtdd�}| ||… }|d }nd}t| |dd	�\}}| ||d … |krC||fS |d7 }| ||d … |krW||| fS |d7 }|||d
  fS )Né   r3   r    r“   z'''Tr�   r$   r˜   r‰   )r€   Ú#ILLEGAL_MULTILINE_LITERAL_STR_CHARSrš   )rC   rD   r´   ÚdelimZend_posÚresultr   r   r   Úparse_multiline_str  s.   û
r¹   c          	      C   s   |rt }t}nt}t}d}|}	 z| | }W n ty#   t| |dƒ‚w |dkrS|s6|d || ||…  fS | |d |d … dkrN|d || ||…  fS |d7 }q|dkrm|| ||… 7 }|| |ƒ\}}||7 }|}q||v r{t| |d	|›d�ƒ‚|d7 }q)
Nr¤   Tr§   r$   r3   rµ   ú""r%   zIllegal character ")Ú!ILLEGAL_MULTILINE_BASIC_STR_CHARSr«   ÚILLEGAL_BASIC_STR_CHARSrª   r:   r?   )	rC   rD   r™   rw   Zparse_escapesr¸   r—   rF   Zparsed_escaper   r   r   rš   6  s<   ÿìrš   Úregexr   c                 C   s,   |  | |¡}|st| |dƒ‚| ¡ | ¡ fS )NzUnexpected sequence)Úmatchr?   ÚendÚgroup)rC   rD   r½   r¾   r   r   r   Úparse_regexV  s   rÁ   c                 C   sš  z| | }W n t y   d }Y nw |dkr.| |d |d … dkr)t| |dd�S t| |ƒS |dkrJ| |d |d … dkrEt| |d	d�S t| |ƒS |d
kr`| |d |d … dkr`|d d	fS |dkrv| |d |d … dkrv|d dfS t | |¡}|r˜zt|ƒ}W n ty‘   t| |dƒ‚w | 	¡ |fS t
 | |¡}|r¨| 	¡ t|ƒfS |dkrõ| |d |d … }|dkrËt| |d tƒ\}}|t|dƒfS |dkràt| |d tƒ\}}	|t|	dƒfS |dkrõt| |d tƒ\}}
|t|
dƒfS t | |¡}|�r| 	¡ t||ƒfS |dk�rt| ||ƒS |dk�rt| ||ƒS | ||d … }|dv �r2|d ||ƒfS | ||d … }|dv �rG|d ||ƒfS t| |dƒ‚)Nr$   r3   rµ   rº   F)r´   r“   z''TÚtr¥   ZrueÚfé   ZalsezInvalid date or datetimeÚ0r‰   Úxr¯   Úor¦   Úbr4   Ú{>   ÚnanÚinf>   z+infz-nanz-infz+nanzInvalid value)r:   r¹   r–   r•   r   r¾   r   rz   r?   r¿   r   r   rÁ   r   rj   r   r   r   r   r    r¢   )rC   rD   r,   rF   Zdatetime_matchZdatetime_objZlocaltime_matchrG   r²   Zoct_strZbin_strZnumber_matchZfirst_threeZ
first_fourr   r   r   r�   ]  sn   ÿ

ÿ



r�   Úmsgc                 C   s0   dt dtdt fdd„}t|› d|| |ƒ› d�ƒS )zZReturn a `TOMLDecodeError` where error message is suffixed with
    coordinates in source.rC   rD   r.   c                 S   sV   |t | ƒkrdS |  dd|¡d }|dkr|d }n	||  dd|¡ }d|› d|› �S )Nzend of documentr    r   r3   zline z	, column )r{   ÚcountÚrindex)rC   rD   ÚlineÚcolumnr   r   r   Ú
coord_repr±  s   
z suffixed_err.<locals>.coord_reprz (at ú))ÚstrÚPosr&   )rC   rD   rÌ   rÑ   r   r   r   r?   ­  s   
r?   Ú	codepointc                 C   s0   d|   ko	dkn  pd|   kodkS   S )Nr   iÿ×  i à  iÿÿ r   )rÕ   r   r   r   r±   ¾  s   0r±   )Pr­   Útypesr   Útypingr   r   r   r   r   r   r	   r
   r   Zpip._vendor.tomli._rer   r   r   r   r   r   r   r   r   Úrer   Ú	frozensetÚranger   Z
ASCII_CTRLr¼   r»   r³   r¶   r‚   r9   rƒ   Úascii_lettersÚdigitsr”   r;   r©   rÓ   Z
ParseFloatri   rj   rÔ   rz   r&   Úfloatr2   r0   r7   rI   rH   r8   rk   r€   r@   r„   r>   r=   r<   r‹   rˆ   r‘   r–   ro   r    rB   r¢   rª   r«   r¨   r•   r¹   rš   rÁ   r�   r?   r±   r   r   r   r   Ú<module>   s¾    ,,"ùÿ$$?
>"	ÿþýûú
ù	ÿÿÿ
þ""!ÿÿÿÿ

þ""	"" ÿÿÿ

þP