+
    jgiI                         R t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 . ROt
^R	IHt ^R
IHt ^RIHt ^RIHt ]! R4      t]! R4      t ! R R4      t ! R R4      tR# )zdbrain-dead simple parser for ini-style files.
(C) Ronny Pfannschmidt, Holger Krekel -- MIT licensed
N)Callable)Iterator)Mapping)Final)TypeVar)overload	IniConfig)_parse)COMMENTCHARS)iscommentline)
ParseError_D_Tc                   ,  a  ] tR t^t o V 3R lR ltV 3R lR lt]V 3R lR l4       t]V 3R lR l4       t]V 3R	 lR
 l4       t]RV 3R lR ll4       t]V 3R lR l4       tRV 3R lR lltV 3R lR ltV 3R lR lt	V 3R lR lt
V 3R ltRtV tR# )SectionWrapperc                (   < V ^8  d   QhRRRS[ RR/# )   configr   namereturnNstr)format__classdict__s   "g/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/iniconfig/__init__.py__annotate__SectionWrapper.__annotate__   s"      { # $     c                    Wn         W n        R # Nr   r   )selfr   r   s   &&&r   __init__SectionWrapper.__init__   s    	r   c                4   < V ^8  d   QhRS[ RS[R,          /# )r   r   r   Nr   int)r   r   s   "r   r   r       s     3 33 33: 3r   c                N    V P                   P                  V P                  V4      # r   r   lineofr   r!   r   s   &&r   r)   SectionWrapper.lineof    s    {{!!$))T22r   c                4   < V ^8  d   QhRS[ RS[ R,          /# )r   keyr   Nr   )r   r   s   "r   r   r   $   s    ..s.sTz.r   c                    R # r    r!   r-   s   &&r   getSectionWrapper.get#   s    +.r   c                R   < V ^8  d   QhRS[ RS[S[ .S[3,          RS[R,          /# )r   r-   convertr   Nr   r   r   )r   r   s   "r   r   r   '   s8       3%)$ 
d	r   c                    R # r   r/   )r!   r-   r4   s   &&&r   r1   r2   &   s    
 r   c          	      V   < V ^8  d   QhRS[ RRRS[S[ .S[3,          RS[R,          /# r   r-   defaultNr4   r   r5   )r   r   s   "r   r   r   .   sB        3%)$	
 
dr   c                    R # r   r/   r!   r-   r9   r4   s   &&&&r   r1   r2   -        r   Nc          	      @   < V ^8  d   QhRS[ RS[RRRS[ S[,          /# )r   r-   r9   r4   Nr   r   r   )r   r   s   "r   r   r   6   s!    OOsORO$O#(Or   c                    R # r   r/   r;   s   &&&&r   r1   r2   5   s    LOr   c          	      Z   < V ^8  d   QhRS[ RS[RS[S[ .S[3,          RS[S[,          /# )r   r-   r9   r4   r   r   r   r   r   )r   r   s   "r   r   r   9   sB        3%)$	
 
br   c                    R # r   r/   r;   s   &&&&r   r1   r2   8   s     r   c          	         < V ^8  d   QhRS[ RS[R,          RS[S[ .S[3,          R,          RS[S[,          S[ ,          R,          /# r8   rA   )r   r   s   "r   r   r   A   sZ     Q QQ dQ 3%)$t+	Q
 
b3	Qr   c                R    V P                   P                  V P                  WVR 7      # ))r4   r9   )r   r1   r   r;   s   &&&&r   r1   r2   A   s!     {{tyy#PPr   c                &   < V ^8  d   QhRS[ RS[ /# r   r-   r   r   )r   r   s   "r   r   r   I   s     4 4s 4s 4r   c                ^    V P                   P                  V P                  ,          V,          # r   )r   sectionsr   r0   s   &&r   __getitem__SectionWrapper.__getitem__I   s     {{##DII.s33r   c                0   < V ^8  d   QhRS[ S[,          /# r   r   )r   r   )r   r   s   "r   r   r   L   s     / /(3- /r   c              #     a "   S P                   P                  P                  S P                  / 4      pR  V 3R llp\	        WR7       Rj  xL
  R#  L5i)c                0    V ^8  d   QhR\         R\        /# rF   r%   )r   s   "r   r   -SectionWrapper.__iter__.<locals>.__annotate__O   s     	6 	6 	6 	6r   c                 P   < SP                   P                  SP                  V 4      # r   r(   )r-   r!   s   &r   r)   'SectionWrapper.__iter__.<locals>.lineofO   s    ;;%%dii55r   r-   N)r   rH   r1   r   sorted)r!   sectionr)   s   f  r   __iter__SectionWrapper.__iter__L   s@     %)[[%9%9%=%=dii%L	6 	6 '...s   A	AAAc                F   < V ^8  d   QhRS[ S[S[S[3,          ,          /# rL   )r   tupler   )r   r   s   "r   r   r   T   s!     # #xc3h0 #r   c              #  8   "   V  F  pWV,          3x  K  	  R # 5ir   r/   r*   s   & r   itemsSectionWrapper.itemsT   s     DT
"" s   c                P   < V ^8  d   Qh/ S[ R,          ;R&   S[ S[,          ;R&   # )r   r   r   r   )r   r   )r   r   s   "r   r   r      s$     + 
* r   r    r   NN)__name__
__module____qualname____firstlineno__r"   r)   r   r1   rI   rU   rZ   __annotate_func____static_attributes____classdictcell__r   s   @r   r   r      s      3 3 . .    OO O Q Q4 4/ /# #y  r   r   c                   l  a  ] tR t^Yt o R"RRRR/V 3R lR lllt]R"RRRR	/V 3R
 lR lll4       tR#V 3R lR llt]V 3R lR l4       t	]V 3R lR l4       t	]V 3R lR l4       t	]R#V 3R lR ll4       t	]V 3R lR l4       t	R$V 3R lR llt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R  ltR!tV tR# )%r   N	_sections_sourcesc                   < V ^8  d   QhRS[ S[P                  S[ ,          ,          RS[ R,          RS[ RS[S[ S[S[ S[ 3,          3,          R,          RS[S[S[ S[ R,          3,          S[3,          R,          RR/# )r   pathdataNencodingrg   rh   r   )r   osPathLiker   rX   r&   )r   r   s   "r   r   IniConfig.__annotate__^   s     & &BKK$$& Dj& 	& 3S 112T9& %S4Z0#56=& 
&r   c               V   \         P                  ! V4      V n        Ve
   Ve   TpTpMaVf9   \        V P                  VR7      ;_uu_ 4       pVP	                  4       pR R R 4       \
        P                  ! V P                  VRR7      w  rgWpn        W`n        R #   + '       g   i     LC; i)Nrl   F)strip_inline_comments)	rm   fspathrj   openreadr	   parse_ini_datarh   rH   )	r!   rj   rk   rl   rg   rh   sections_datasourcesfps	   &&&&$$   r   r"   IniConfig.__init__^   s     IIdO	  X%9%MG |$))h772779D 8 &,%:%:		4u&"M
  % 87s   BB(	rr   Tstrip_section_whitespaceFc                ~   < V ^8  d   QhRS[ S[P                  S[ ,          ,          RS[ R,          RS[ RS[RS[RR/# )	r   rj   rk   Nrl   rr   r{   r   r   )r   rm   rn   bool)r   r   s   "r   r   ro   ~   sa     4K 4KBKK$$4K Dj4K 	4K  $4K #'4K 
4Kr   c                  \         P                  ! V4      pVf.   \        WcR7      ;_uu_ 4       pVP                  4       pRRR4       \        P
                  ! VVVVR7      w  rV ! WhV	R7      #   + '       g   i     L6; i)a  Parse an INI file.

Args:
    path: Path to the INI file (used for error messages)
    data: Optional INI content as string. If None, reads from path.
    encoding: Encoding to use when reading the file (default: utf-8)
    strip_inline_comments: Whether to strip inline comments from values
        (default: True). When True, comments starting with # or ; are
        removed from values, matching the behavior for section comments.
    strip_section_whitespace: Whether to strip whitespace from section and key names
        (default: False). When True, strips Unicode whitespace from section and key names,
        addressing issue #4. When False, preserves existing behavior for backward compatibility.

Returns:
    IniConfig instance with parsed configuration

Example:
    # With comment stripping (default):
    config = IniConfig.parse("setup.cfg")
    # value = "foo" instead of "foo # comment"

    # Without comment stripping (old behavior):
    config = IniConfig.parse("setup.cfg", strip_inline_comments=False)
    # value = "foo # comment"

    # With section name stripping (opt-in for issue #4):
    config = IniConfig.parse("setup.cfg", strip_section_whitespace=True)
    # section names and keys have Unicode whitespace stripped
Nrq   )rr   r{   )rj   rg   rh   )rm   rs   rt   ru   r	   rv   )
clsrj   rk   rl   rr   r{   rs   ry   rw   rx   s
   &&&&$$    r   parseIniConfig.parse}   sm    N 4<f00Bwwy 1 "(!6!6"7%=	"
 'JJ 10s   A..A>	c                H   < V ^8  d   QhRS[ RS[ R,          RS[R,          /# )r   rT   r   Nr   r%   )r   r   s   "r   r   ro      s*     6 6c 6t 6sTz 6r   c                X    V P                   P                  W34      pVf   R # V^,           # r   )rh   r1   )r!   rT   r   linenos   &&& r   r)   IniConfig.lineof   s+    ""G?3~t56A:5r   c                :   < V ^8  d   QhRS[ RS[ RS[ R,          /# )r   rT   r   r   Nr   )r   r   s   "r   r   ro      s-        
t	r   c                    R # r   r/   )r!   rT   r   s   &&&r   r1   IniConfig.get   s    
 r   c          	      X   < V ^8  d   QhRS[ RS[ RS[S[ .S[3,          RS[R,          /# )r   rT   r   r4   r   Nr5   )r   r   s   "r   r   ro      sB        3%)$	
 
dr   c                    R # r   r/   )r!   rT   r   r4   s   &&&&r   r1   r      r<   r   c                \   < V ^8  d   QhRS[ RS[ RRRS[S[ .S[3,          RS[R,          /# r   rT   r   r9   Nr4   r   r5   )r   r   s   "r   r   ro      sL        	
 3%)$ 
dr   c                    R # r   r/   r!   rT   r   r9   r4   s   &&&&&r   r1   r      s     r   c                F   < V ^8  d   QhRS[ RS[ RS[RRRS[ S[,          /# )r   rT   r   r9   r4   Nr   r>   )r   r   s   "r   r   ro      s9      "%02=A	rr   c                    R # r   r/   r   s   &&&&&r   r1   r      s     r   c                `   < V ^8  d   QhRS[ RS[ RS[RS[S[ .S[3,          RS[S[,          /# )r   rT   r   r9   r4   r   rA   )r   r   s   "r   r   ro      sL        	
 3%)$ 
br   c                    R # r   r/   r   s   &&&&&r   r1   r      s     r   c                   < V ^8  d   QhRS[ RS[ RS[R,          RS[S[ .S[3,          R,          RS[S[,          S[ ,          R,          /# r   rA   )r   r   s   "r   r   ro      s^        d	
 3%)$t+ 
b3	r   c                z     V P                   V,          V,          pVe	   V! V4      # V#   \         d    Tu # i ; ir   )rH   KeyError)r!   rT   r   r9   r4   values   &&&&& r   r1   r      sG    	w/5E "u~%  	N	s   * ::c                &   < V ^8  d   QhRS[ RS[/# )r   r   r   )r   r   )r   r   s   "r   r   ro      s     * * * *r   c                N    WP                   9  d   \        V4      h\        W4      # r   )rH   r   r   r*   s   &&r   rI   IniConfig.__getitem__   s!    }}$4. d))r   c                0   < V ^8  d   QhRS[ S[,          /# rL   )r   r   )r   r   s   "r   r   ro      s     - -(>2 -r   c              #  x   "   \        V P                  V P                  R 7       F  p\        W4      x  K  	  R# 5i)rR   N)rS   rH   r)   r   r*   s   & r   rU   IniConfig.__iter__   s)     4==dkk:D ,, ;s   8:c                &   < V ^8  d   QhRS[ RS[/# )r   argr   )r   r}   )r   r   s   "r   r   ro      s     $ $ $ $r   c                    WP                   9   # r   )rH   )r!   r   s   &&r   __contains__IniConfig.__contains__   s    mm##r   c                   < V ^8  d   Qh/ S[ S[,          ;R&   S[ S[S[S[S[S[3,          3,          ,          ;R&   S[ S[S[S[S[R,          3,          S[3,          ,          ;R&   # )r   rj   rH   Nrh   )r   r   r   rX   r&   )r   r   s   "r   r   ro   Y   s`     
* GCc!22344  GE#sTz/2C7899 r   )rh   rj   rH   )Nzutf-8r   r]   )r^   r_   r`   ra   r"   classmethodr   r)   r   r1   rI   rU   r   rb   rc   rd   re   s   @r   r   r   Y   s     
& =A& AE& &> 4K '+4K */4K 4K 4Kl6 6            "* *
- -$ $  r   )r   r   r
   r   )__doc__rm   collections.abcr   r   r   typingr   r   r   __all__ r	   r
   r   
exceptionsr   r   r   r   r   r/   r   r   <module>r      s[    
 $ $ #   
F    ! "T]T]># >#B`$ `$r   