
    L.j~Z              
         % S SK Jr  S SKJr  S SKrS SKrS SKJr  S SKJ	r	J
r
JrJr  SSKJrJrJrJrJrJr  SSKJrJrJr  \R0                  " 5       rS	\S
'   \" S \" S5       5       5      \" \" S5      5      -  r\\" S5      -
  r\\" S5      -
  r \r!\ r"\r#\" S5      r$\$\" S5      -  r%\" \RL                  \RN                  -   S-   5      r(\(\" S5      -  r)\" \RT                  5      r+\" SSSSSSSS.5      r, " S S\-5      r.\/S.S>S jjr0\/S.S?S jjr1 " S S 5      r2 " S! S"5      r3 " S# S$\5      r4S@S% jr5            SAS& jr6SBS' jr7SBS( jr8SCS) jr9SCS* jr:            SDS+ jr;        SES, jr<SFS- jr=SGS. jr>SGS/ jr?SHS0 jr@SIS1 jrAS2S3.       SJS4 jjrBSGS5 jrCSKS6 jrDSGS7 jrESLS8 jrFSJS9 jrG        SMS: jrHSNS; jrISOS< jrJSPS= jrKg)Q    )annotations)IterableN)MappingProxyType)AnyBinaryIO
NamedTupleFinal   )RE_DATETIMERE_LOCALTIME	RE_NUMBERmatch_to_datetimematch_to_localtimematch_to_number)Key
ParseFloatPosr	   MAX_KEY_PARTSc              #  8   #    U  H  n[        U5      v   M     g 7fN)chr).0is     _/root/.local/share/uv/python/cpython-3.13.14-linux-x86_64-gnu/lib/python3.13/tomllib/_parser.py	<genexpr>r      s     1y!s1vvys          	z	
z 	
z-_z"'"\)z\bz\tz\nz\fz\rz\"z\\c                      \ rS rSrSrSrg)TOMLDecodeError=   z0An error raised if a document is not valid TOML. N)__name__
__module____qualname____firstlineno____doc____static_attributes__r(       r   r&   r&   =   s    :r/   r&   parse_floatc                  U R                  5       n UR                  5       n[	        X1S9$ ! [         a    [        S5      Sef = f)z%Parse TOML from a binary file object.zEFile must be opened in binary mode, e.g. use `open('foo.toml', 'rb')`Nr0   )readdecodeAttributeError	TypeErrorloads)fpr1   bss       r   loadr;   A   sN    
	AHHJ
 ,,	  S
	s	   + Ac                 U R                  SS5      nSn[        [        5       [        5       5      nSn[	        U5      n [        X#[        5      n X#   nUS:X  a  US-  nM#  U[        ;   a  [        X#XEU5      n[        X#[        5      nOnUS:X  aV   X#S-      nUR                  R                  5         US:X  a  [        X#U5      u  p5O[        X#U5      u  p5[        X#[        5      nOUS:w  a  [        X#S	5      e[        X#5      n X#   nUS:w  a  [        X#S
5      eUS-  nM  ! [         a     UR                   R"                  $ f = f! [         a    Sn Nf = f! [         a     UR                   R"                  $ f = f)zParse TOML from a string.z
r   r   r(   r
   [N#zInvalid statementz5Expected newline or end of document after a statement)replaceOutput
NestedDictFlagsmake_safe_parse_float
skip_charsTOML_WS
IndexErrorKEY_INITIAL_CHARSkey_value_ruleflagsfinalize_pendingcreate_list_rulecreate_dict_rulesuffixed_errskip_commentdatadict)r:   r1   srcposoutheadercharsecond_chars           r   r7   r7   M   s   
 ))FD
!C
C
uw
'CF'4K 7+	8D 4<1HC$$ 3DCSw/CS[#*-Ag, II&&(c!.s=V.s=Sw/CS[s)<== 3$	8D 4<Q  	qa   	F 88==I	  #"#"  	 88==	s6   D  E E  
EEEE
E98E9c                  \    \ rS rSrSrSrSrSS jrSS jrSS jr	SS jr
SS	 jrSS
 jrSrg)rB      z)Flags that map to parsed keys/namespaces.r   r
   c                0    0 U l         [        5       U l        g r   )_flagsset_pending_flagsselfs    r   __init__Flags.__init__   s    1347Er/   c                <    U R                   R                  X45        g r   )r\   addr^   keyflags      r   add_pendingFlags.add_pending   s    ,r/   c                    U R                    H  u  pU R                  XSS9  M     U R                   R                  5         g )NF	recursive)r\   r[   clearrc   s      r   rJ   Flags.finalize_pending   s6    ,,ICHHS%H0 -!!#r/   c                z    U R                   nUS S  H  nX2;  a    g X#   S   nM     UR                  US   S 5        g )Nnested)rZ   pop)r^   rd   contks       r   	unset_allFlags.unset_all   sC    {{SbA}78$D  	R$r/   c                   U R                   nUS S US   peU H'  nXt;  a  [        5       [        5       0 S.XG'   XG   S   nM)     Xd;  a  [        5       [        5       0 S.XF'   XF   U(       a  SOS   R                  U5        g )Nrn   )rI   recursive_flagsro   ro   rv   rI   )rZ   r[   rb   )r^   rd   re   rj   rq   
key_parentkey_stemrr   s           r   r[   	Flags.set   s~    {{"3BxRHA}$'EcerR78$D  '*uRTUDNI(7CGGMr/   c                    U(       d  gU R                   nUS S  H  nXC;  a    gX4   nX%S   ;   a    gUS   nM     US   nXc;   a  X6   nX#S   ;   =(       d    X#S   ;   $ g)NFrn   rv   Tro   rI   )rZ   )r^   rd   re   rq   rr   
inner_contrx   s          r   is_	Flags.is_   s    {{SbA}J"344h'D  r7>D=(KD9J4K,KKr/   )rZ   r\   NreturnNone)rd   r   re   intr   r   rd   r   r   r   )rd   r   re   r   rj   boolr   r   )rd   r   re   r   r   r   )r)   r*   r+   r,   r-   FROZENEXPLICIT_NESTr_   rf   rJ   rs   r[   r|   r.   r(   r/   r   rB   rB      s2    3 F M:-$
 	Nr/   rB   c                  D    \ rS rSrS	S jrSS.     S
S jjrSS jrSrg)rA      c                    0 U l         g r   rP   r]   s    r   r_   NestedDict.__init__   s	    $&	r/   Taccess_listsc                   U R                   nU HQ  nXC;  a  0 X4'   X4   nU(       a  [        U[        5      (       a  US   n[        U[         5      (       a  MH  [        S5      e   U$ )Nrn   z There is no nest behind this key)rP   
isinstancelistKeyError)r^   rd   r   rq   rr   s        r   get_or_create_nestNestedDict.get_or_create_nest   sb     IIA}7D
4 6 6BxdD))ABB  r/   c                    U R                  US S 5      nUS   nX2;   a6  X#   n[        U[        5      (       d  [        S5      eUR	                  0 5        g 0 /X#'   g )Nrn   z/An object other than list found behind this key)r   r   r   r   append)r^   rd   rq   last_keylist_s        r   append_nest_to_listNestedDict.append_nest_to_list   s\    &&s3Bx0r7NEeT**PQQLL TDNr/   r   Nr~   )rd   r   r   r   r   dict[str, Any]r   )r)   r*   r+   r,   r_   r   r   r.   r(   r/   r   rA   rA      s2    ' "	 	
 
"	"r/   rA   c                  *    \ rS rSr% S\S'   S\S'   Srg)r@      rA   rO   rB   rI   r(   N)r)   r*   r+   r,   __annotations__r.   r(   r/   r   r@   r@      s    
Lr/   r@   c                X     X   U;   a  US-  nX   U;   a  M  U$ ! [          a     U$ f = f)Nr
   )rF   )rQ   rR   charss      r   rD   rD      sF    h%1HC h% J  Js    
))c                   U R                  X!5      nUR	                  XU 5      (       d)  X   U;  a  US-  nX   U;  a  M  [        XSX   < 35      eU$ ! [         a&    [        U 5      nU(       a  [        XSU< 35      S e Nrf = f)Nz	Expected r
   zFound invalid character )index
ValueErrorlenrM   
isdisjoint)rQ   rR   expecterror_onerror_on_eofnew_poss         r   
skip_untilr      s    O))F( sw/00hh&1HC hh&3'?|%LMMN  Oc(sy
-CD$N Os   A -BBc                f     X   nUS:X  a  [        XS-   S[        SS9$ U$ ! [          a    S n N)f = f)Nr>   r
   r   Fr   r   )rF   r   ILLEGAL_COMMENT_CHARS)rQ   rR   rU   s      r   rN   rN     sO    8 s{q$)>U
 	
 J  s   ! 00c                P     Un[        X[        5      n[        X5      nX:X  a  U$ M&  r   )rD   TOML_WS_AND_NEWLINErN   )rQ   rR   pos_before_skips      r   skip_comments_and_array_wsr     s1    
#673$!J r/   c                6   US-  n[        X[        5      n[        X5      u  pUR                  R	                  U[
        R                  5      (       d/  UR                  R	                  U[
        R                  5      (       a  [        XSU S35      eUR                  R                  U[
        R                  SS9   UR                  R                  U5        U R                  SU5      (       d  [        XS5      eUS-   U4$ ! [         a    [        XS5      S ef = f)	Nr
   zCannot declare z twiceFri   Cannot overwrite a value]z.Expected ']' at the end of a table declaration)rD   rE   	parse_keyrI   r|   rB   r   r   rM   r[   rO   r   r   
startswithrQ   rR   rS   rd   s       r   rL   rL   $  s    1HC
Sw
'C"HC
yy}}S%--..#))--U\\2R2R3se6%BCCIIMM#u**eM<K##C( >>#s##3%UVV7C<  K3%?@dJKs   ;D   Dc                   US-  n[        X[        5      n[        X5      u  pUR                  R	                  U[
        R                  5      (       a  [        XSU 35      eUR                  R                  U5        UR                  R                  U[
        R                  SS9   UR                  R                  U5        U R                  SU5      (       d  [        XS5      eUS-   U4$ ! [         a    [        XS5      S ef = f)N   "Cannot mutate immutable namespace Fri   r   z]]z0Expected ']]' at the end of an array declaration)rD   rE   r   rI   r|   rB   r   rM   rs   r[   r   rO   r   r   r   r   s       r   rK   rK   6  s    1HC
Sw
'C"HC
yy}}S%,,''3'I#%OPPIIIIMM#u**eM<K$$S) >>$$$3%WXX7C<  K3%?@dJKs   &C+ +Dc                
  ^^ [        XU5      u  nmnTS S TS   pvTU-   nUU4S j[        S[        T5      5       5       n	U	 Hk  n
UR                  R	                  U
[
        R                  5      (       a  [        XSU
 35      eUR                  R                  U
[
        R                  5        Mm     UR                  R	                  U[
        R                  5      (       a  [        XSU 35      e UR                  R                  U5      nX{;   a  [        XS5      e[        U[        [        45      (       a,  UR                  R!                  TT-   [
        R                  SS9  X[U'   U$ ! [         a    [        XS5      S ef = f)	Nrn   c              3  4   >#    U  H  nTTS U -   v   M     g 7fr   r(   )r   r   rT   rd   s     r   r   !key_value_rule.<locals>.<genexpr>R  s     L9KAvBQ/9Ks   r
   zCannot redefine namespace r   r   Tri   )parse_key_value_pairranger   rI   r|   rB   r   rM   rf   r   rO   r   r   r   rP   r   r[   )rQ   rR   rS   rT   r1   valuerw   rx   abs_key_parentrelative_path_cont_keyscont_keynestrd   s      `        @r   rH   rH   K  sb    +3[AOCes8SWj(NLq#c(9KL+99==5#6#677s+EhZ)PQQ 			h(;(;< , yy}}^U\\22:>:JK
 	
Kxx**>: 3%?@@%$&&		fslELLDANJ  K3%?@dJKs   1E* *Fc                    [        X5      u  p X   nUS:w  a  [        XS5      eUS-  n[        X[        5      n[        XU5      u  pXU4$ ! [         a    S n NGf = f)N=z,Expected '=' after a key in a key/value pairr
   )r   rF   rM   rD   rE   parse_value)rQ   rR   r1   rd   rU   r   s         r   r   r   m  sv     "HC8 s{3%STT1HC
Sw
'CS{3JCU?  s   A AAc                B   [        X5      u  pU4n[        X[        5      n  X   nUS:w  a  X4$ US-  n[        X[        5      n[        X5      u  pX24-  n[	        U5      [
        :  a  [        S[
         S35      e[        X[        5      nMm  ! [         a    S n Nvf = f)N.r
   z#TOML key has more than the allowed z parts)parse_key_partrD   rE   rF   r   r   RecursionError)rQ   rR   key_partrd   rU   s        r   r   r   }  s    "3,MC{C
Sw
'C
	"xD 3;8Oq7+&s0{s8m# 5m_FK  7+   	D	s   B BBc                     X   nU[        ;   a  Un[        X[        5      nXX1 4$ US:X  a  [        X5      $ US:X  a  [	        X5      $ [        XS5      e! [          a    S n N]f = f)N'r#   z(Invalid initial character for a key part)rF   BARE_KEY_CHARSrD   parse_literal_strparse_one_line_basic_strrM   )rQ   rR   rU   	start_poss       r   r   r     s    8 ~	>2	&&&s{ **s{'11
s!K
LL  s   A A$#A$c                     US-  n[        XSS9$ )Nr
   F	multiline)parse_basic_strrQ   rR   s     r   r   r     s    1HC3u55r/   c                d   US-  n/ n[        X5      nU R                  SU5      (       a  US-   U4$  [        XU5      u  pUR                  U5        [        X5      nXUS-    nUS:X  a  US-   U4$ US:w  a  [	        XS5      eUS-  n[        X5      nU R                  SU5      (       a  US-   U4$ M  )Nr
   r   ,zUnclosed array)r   r   r   r   rM   )rQ   rR   r1   arrayvalcs         r   parse_arrayr     s    1HCE
$S
.C
~~c3Qw~
s5S(2cAg87E>!8s)9::q(2>>#s##7E>! r/   c                   US-  n[        5       n[        5       n[        X[        5      nU R	                  SU5      (       a  US-   UR
                  4$  [        XU5      u  pnUS S US   pUR                  U[        R                  5      (       a  [        XSU 35      e UR                  USS9n	X;   a  [        XS	U< 35      eXiU'   [        X[        5      nXUS-    n
U
S:X  a  US-   UR
                  4$ U
S
:w  a  [        XS5      e[        U[
        [        45      (       a  UR                  U[        R                  SS9  US-  n[        X[        5      nGM  ! [         a    [        XS5      S ef = f)Nr
   }Trn   r   Fr   r   zDuplicate inline table key r   zUnclosed inline tableri   )rA   rB   rD   rE   r   rP   r   r|   r   rM   r   r   r   r   r[   )rQ   rR   r1   nested_dictrI   rd   r   rw   rx   r   r   s              r   parse_inline_tabler     s   1HC,KGE
Sw
'C
~~c3Qw((((
.sE%"3BxRH99S%,,''s+McU)STT	O11*51QD s+Fxl)STTX7+cAg87K,,,,8s)@AAedD\**IIc5<<4I8q7++   	Os)CD$N	Os    E E3Fr   c               ~   XUS-    nUS-  nU(       aL  US;   aF  US:w  a,  [        X[        5      n X   nUS:w  a  [        XS5      eUS-  n[        X[        5      nUS4$ US:X  a  [        XS	5      $ US
:X  a  [        XS5      $  U[        U   4$ ! [         a    US4s $ f = f! [         a    [        XS5      S ef = f)Nr   >   \	\
\ r    r   zUnescaped '\' in a stringr
   z\u   z\U   )rD   rE   rF   rM   r   parse_hex_charBASIC_STR_ESCAPE_REPLACEMENTSr   )rQ   rR   r   	escape_idrU   s        r   parse_basic_str_escaper     s     #'"I1HCY"99 Sw/Cx t|"3-IJJ1HC#67BwEc**Ec**M1)<<<  Bw  M3%ABLMs   B 
B$ B! B!$B<c                    [        XSS9$ )NTr   )r   r   s     r    parse_basic_str_escape_multiliner     s    !#d;;r/   c                    XX-    n[        U5      U:w  d  [        R                  U5      (       d  [        XS5      eX-  n[	        US5      n[        U5      (       d  [        XS5      eU[        U5      4$ )NzInvalid hex value   z/Escaped character is not a Unicode scalar value)r   HEXDIGIT_CHARS
issupersetrM   r   is_unicode_scalar_valuer   )rQ   rR   hex_lenhex_strhex_ints        r   r   r     ss    &G
7|wn&?&?&H&H3%899NC'2G"7++3%VWWGr/   c                B    US-  nUn[        XS[        SS9nUS-   XU 4$ )Nr
   r   Tr   )r   ILLEGAL_LITERAL_STR_CHARS)rQ   rR   r   s      r   r   r     s:    1HCI
# 9C 7C#&&&r/   c               8   US-  nU R                  SU5      (       a  US-  nU(       a  Sn[        U US[        SS9nXU nUS-   nOSn[        XSS	9u  pU R                  X15      (       d  X4$ US-  nU R                  X15      (       d  XU-   4$ US-  nXUS
-  -   4$ )N   r   r
   r   '''Tr   r#   r   r   )r   r   #ILLEGAL_MULTILINE_LITERAL_STR_CHARSr   )rQ   rR   literaldelimend_posresults         r   parse_multiline_strr     s    1HC
~~dC  q8
 !k%c$? >>%%%{1HC>>%%%UN""1HC%!)$$$r/   c                  U(       a  [         n[        nO[        n[        nSnUn  X   nUS:X  a;  U(       d  US-   XPXa -   4$ U R                  SU5      (       a  US-   XPXa -   4$ US-  nMG  US:X  a  XPXa -  nU" X5      u  pXX-  nUnMe  Xs;   a  [        XSU< 35      eUS-  nM  ! [         a    [        XS5      S ef = f)	Nr   zUnterminated stringr#   r
   """r   r$   zIllegal character )!ILLEGAL_MULTILINE_BASIC_STR_CHARSr   ILLEGAL_BASIC_STR_CHARSr   rF   rM   r   )	rQ   rR   r   r   parse_escapesr   r   rU   parsed_escapes	            r   r   r   4  s   48*.FI
	J8D 3;QwY); ;;;~~eS))QwY); ;;;1HC4<)((F!.s!8C#FIs+=dX)FGGq)   	Js)>?TI	Js   B& &B>c                    X   nUS:X  a,  U R                  SU5      (       a
  [        XSS9$ [        X5      $ US:X  a,  U R                  SU5      (       a
  [        XSS9$ [	        X5      $ US:X  a  U R                  S	U5      (       a  US
-   S4$ US:X  a  U R                  SU5      (       a  US-   S4$ US:X  a  [        XU5      $ US:X  a  [        XU5      $ [        R                  " X5      nU(       a   [        U5      nUR                  5       U4$ [        R                  " X5      nU(       a  UR                  5       [        U5      4$ [        R                  " X5      nU(       a  UR                  5       [!        X5      4$ XUS-    n	U	S;   a  US-   U" U	5      4$ XUS
-    n
U
S;   a  US
-   U" U
5      4$ [        XS5      e! [          a    S n GNf = f! [         a  n[        XS5      UeS nAff = f)Nr#   r  F)r   r   r   Tttruer   ffalse   r=   {zInvalid date or datetimer   >   infnan>   +inf+nan-inf-nanzInvalid value)rF   r   r   r   r   r   r   r   matchr   r   rM   endr   r   r   r   )rQ   rR   r1   rU   datetime_matchdatetime_objelocaltime_matchnumber_matchfirst_three
first_fours              r   r   r   T  s   8 s{>>%%%&s??'11 s{>>%%%&s>> ** s{>>&#&&7D= s{>>'3''7E>! s{3[11 s{!#K88 !&&s0N	L,^<L !!#\11"((2O""$&8&III
 ??3,L!?<#MMM C!G$Kn$QwK00037#J55QwJ///
s
11y  L  	Ls)CD!K	Ls)   G 4G GG
G0G++G0c                :    SS jn[        U SU" X5       S35      $ )zVReturn a `TOMLDecodeError` where error message is suffixed with
coordinates in source.c                    U[        U 5      :  a  gU R                  SSU5      S-   nUS:X  a  US-   nOXR                  SSU5      -
  nSU SU 3$ )Nzend of documentr   r   r
   zline z	, column )r   countrindex)rQ   rR   linecolumns       r   
coord_repr suffixed_err.<locals>.coord_repr  s_    #c(?$yyq#&*191WF::dAs33FtfIfX..r/   z (at ))rQ   strrR   r   r   r%  )r&   )rQ   rR   msgr"  s       r   rM   rM     s'    / cU%
3(<'=Q?@@r/   c                d    SU s=:*  =(       a    S:*  Os  =(       d    SU s=:*  =(       a    S:*  $ s  $ )Nr   i  i   i r(   )	codepoints    r   r   r     s-    ##e#G))F)Fw)FG)FGr/   c                6   ^  T [         L a  [         $ SU 4S jjnU$ )a  A decorator to make `parse_float` safe.

`parse_float` must not return dicts or lists, because these types
would be mixed with parsed TOML tables and arrays, thus confusing
the parser. The returned decorated callable raises `ValueError`
instead of returning illegal types.
c                d   > T" U 5      n[        U[        [        45      (       a  [        S5      eU$ )Nz*parse_float must not return dicts or lists)r   rP   r   r   )	float_strfloat_valuer1   s     r   safe_parse_float/make_safe_parse_float.<locals>.safe_parse_float  s0    !),kD$<00IJJr/   )r+  r%  r   r   )float)r1   r-  s   ` r   rC   rC     s     e r/   )r8   r   r1   r   r   r   )r:   r%  r1   r   r   r   )rQ   r%  rR   r   r   zIterable[str]r   r   )rQ   r%  rR   r   r   r%  r   zfrozenset[str]r   r   r   r   )rQ   r%  rR   r   r   r   )rQ   r%  rR   r   rS   r@   r   tuple[Pos, Key])rQ   r%  rR   r   rS   r@   rT   r   r1   r   r   r   )rQ   r%  rR   r   r1   r   r   ztuple[Pos, Key, Any])rQ   r%  rR   r   r   r0  )rQ   r%  rR   r   r   tuple[Pos, str])rQ   r%  rR   r   r1   r   r   ztuple[Pos, list[Any]])rQ   r%  rR   r   r1   r   r   ztuple[Pos, dict[str, Any]])rQ   r%  rR   r   r   r   r   r1  )rQ   r%  rR   r   r   r   r   r1  )rQ   r%  rR   r   r   r   r   r1  )rQ   r%  rR   r   r1   r   r   ztuple[Pos, Any])rQ   r%  rR   r   r&  r%  r   r&   )r(  r   r   r   )r1   r   r   r   )L
__future__r   collections.abcr   stringsystypesr   typingr   r   r   r	   _rer   r   r   r   r   r   _typesr   r   r   getrecursionlimitr   r   	frozensetr   r   
ASCII_CTRLr  r  r   r   r   rE   r   ascii_lettersdigitsr   rG   	hexdigitsr   r   r   r&   r/  r;   r7   rB   rA   r@   rD   r   rN   r   rL   rK   rH   r   r   r   r   r   r   r   r   r   r   r   r   r   rM   r   rC   r(   r/   r   <module>r@     s  
 # $  
 " 3 3  ) ( ,,.u .1uRy11Ic#h4GG
 %y6 $.61B$B !3 &G #/ 
E
	$/ 6//&--?$FG"Yu%55 6++, 0
! ;j ; 8= 	- 38 ?D7 7t" "DZ 
		 
   	,	$*	#-0?ID	%/ ,,M 6
"0,B .3M	MM&*MM:<'%>@A2	A2A2%/A2A2HA"Hr/   