+
    iJ  c                   s:   ^ RI t ^ RIHtHtHtHtHtHtHtH	t	H
t
HtHtHtHtHt ^ RIHt ^ RIHt . ROtRt ! R R4      t ! R R]4      t]! R]4        ! R R]4      t]! R]4        ! R R]4      t]! R]4        ! R R	4      t ! R R
4      t ! R R4      tR# )    N)Errorwriterreaderregister_dialectunregister_dialectget_dialectlist_dialectsfield_size_limitQUOTE_MINIMAL	QUOTE_ALLQUOTE_NONNUMERIC
QUOTE_NONEQUOTE_STRINGSQUOTE_NOTNULL)Dialect)StringIOr   excel	excel_tabSniffer
DictReader
DictWriterunix_dialectz1.0c                   sP   a  ] tR t^Wt o RtRtRtRtRtRt	Rt
RtRtR tR tRtV tR# )r    FNc                s^    V P                   \        8w  d   R V n        V P                  4        R# )TN)Z	__class__r   _valid	_validateself   &/usr/lib64/python3.14/csv.py__init__ZDialect.__init__j   s    >>W$DK    c                sn     \        V 4       R #   \         d   p\        \        T4      4      R hR p?ii ; iN)_Dialect	TypeErrorr   Zstr)r   Ze   & r   r   ZDialect._validateo   s.    	*TN 	*A-T)	*s    4/4)r   )__name__
__module____qualname____firstlineno___namer   	delimiter	quotecharZ
escapechardoublequoteskipinitialspacelineterminatorquotingr   r   __static_attributes____classdictcell__Z__classdict__   @r   r   r   W   sD      EFIIJKNG
* *r   c                   s.    ] tR t^vtRtRtRtRtRt]	t
RtR# )r   ,"TF
 N)r$   r%   r&   r'   r)   r*   r+   r,   r-   r	   r.   r/   r6   r   r   r   r   v   s!    IIKNGr   c                   s    ] tR t^tRtRtR# )r   	r6   N)r$   r%   r&   r'   r)   r/   r6   r   r   r   r      s    Ir   z	excel-tabc                   s.    ] tR t^tRtRtRtRtRt]	t
RtR# )r   r3   r4   TF
r6   N)r$   r%   r&   r'   r)   r*   r+   r,   r-   r
   r.   r/   r6   r   r   r   r      s!    IIKNGr   Zunixc                   s   a  ] tR t^t o RR ltR t]R 4       t]P                  R 4       tR t	]
! ]P                  4      tRtV tR# )	r   Nc                s    Ve   \        V4      VJ d   \        V4      pW n        W0n        W@n        \        W.VO5/ VB V n        WPn        ^ V n        R # r    )iterlist_fieldnamesrestkeyrestvalr   dialectline_num)r   f
fieldnamesr<   r=   r>   argskwds   &&&&&&*,r   r   ZDictReader.__init__   sP    !d:&6*&Dj)J%Q7$7$7r   c                s    V # r    r6   r   r   r   __iter__ZDictReader.__iter__   s    r   c                s    V P                   f    \        V P                  4      V n         V P                  P                  V n        V P                   #   \         d     L4i ; ir    )r;   nextr   ZStopIterationr?   r   r   r   rA   DictReader.fieldnames   sW    ##'#4  ,, ! s   A AAc                s    Wn         R # r    )r;   )r   Zvalue   &&r   rA   rG      s     r   c                s   V P                   ^ 8X  d   V P                   \        V P                  4      pV P                  P                   V n         V. 8X  d   \        V P                  4      pK  \	        \        V P                  V4      4      p\        V P                  4      p\        V4      pW48  d   WR W P                  &   V# W48  d%   V P                  VR  F  pV P                  W%&   K  	  V# )r    N)	r?   rA   rF   r   dictziplenr<   r=   )r   rowdZlfZlrkeys   &     r   __next__ZDictReader.__next__   s    ==AOO4;;,,
 Rit{{#CT__c*+!X7!#hAllO  Wrs+ ,r   )r;   r>   r?   r   r<   r=   )NNNr   )r$   r%   r&   r'   r   rE   ZpropertyrA   ZsetterrO   classmethodtypesGenericAlias__class_getitem__r/   r0   r1   r2   r   r   r      sU     	     ! !, $E$6$67r   c                   sf   a  ] tR t^t o RR ltR tR tR tR t]	! ]
P                  4      tRtV tR# )	r   c                s    Ve   \        V4      VJ d   \        V4      pW n        W0n        VP	                  4       pVR9  d   \        RV,          4      hW@n        \        W.VO5/ VB V n        R # )Nz-extrasaction (%s) must be 'raise' or 'ignore')raiseZignore)r9   r:   rA   r=   Zlower
ValueErrorextrasactionr   )r   r@   rA   r=   rV   r>   rB   rC   rD   r   r   ZDictWriter.__init__   ss    !d:&6*&Dj)J$#))+22L+, - -(Q7$7$7r   c                sv    \        \        V P                  V P                  4      4      pV P                  V4      # r    )rI   rJ   rA   writerow)r   headerr#   r   writeheaderZDictWriter.writeheader   s*    c$//4??;<}}V$$r   c                s&  a a S P                   R 8X  dd   SP                  4       S P                  ,
          pV'       d;   \        RRP	                  V Uu. uF  p\        V4      NK  	  up4      ,           4      hVV 3R lS P                   4       # u upi )rT   z(dict contains fields not in fieldnames: z, c              3   s\   <"   T F!  pSP                  VSP                  4      x  K#  	  R # 5ir    )getr=   ).0rN   rowdictr   s   & r   	<genexpr>Z+DictWriter._dict_to_list.<locals>.<genexpr>   s#     J/3C../s   ),)rV   keysrA   rU   ZjoinZrepr)r   r\   Zwrong_fieldsxs   ff  r   _dict_to_listZDictWriter._dict_to_list   st    '"<<>DOO;L !K#'99|-L|!d1g|-L#M"N O OJ$//JJ .Ms   Bc                sV    V P                   P                  V P                  V4      4      # r    )r   rW   r`   )r   r\   rH   r   rW   ZDictWriter.writerow   s"    {{##D$6$6w$?@@r   c                s`    V P                   P                  \        V P                  V4      4      # r    )r   	writerowsZmapr`   )r   ZrowdictsrH   r   ra   ZDictWriter.writerows   s$    {{$$S););X%FGGr   )rV   rA   r=   r   N)r   rT   r   )r$   r%   r&   r'   r   rY   r`   rW   ra   rP   rQ   rR   rS   r/   r0   r1   r2   r   r   r      s4     8%KAH $E$6$67r   c                   sB   a  ] tR t^t o R tRR ltR tR tR tRt	V t
R# )	r   c                s    . ROV n         R# )r3   N)r3   r7   Z;Z Z:	preferredr   r   r   r   ZSniffer.__init__   s	    3r   Nc                s    V P                  W4      w  r4rVV'       g   V P                  VV4      w  rVV'       g   \        R 4      h ! R R\        4      pWGn        WWn        T;'       g    RVn        Wgn        V# )zCould not determine delimiterc                   s"    ] tR tRtRtRt]tRtR# )Sniffer.sniff.<locals>.dialecti  Zsniffedr5   r6   N)	r$   r%   r&   r'   r(   r-   r	   r.   r/   r6   r   r   r>   rd     s    E#N#Gr   r>   r4   )_guess_quote_and_delimiter_guess_delimiterr   r   r+   r)   r*   r,   )r   sample
delimitersr*   r+   r)   r,   r>   s   &&&     r   sniffZSniffer.sniff   s}     226F 	<		*.*?*?@J+L'I 788	$g 	$ *%%,,#3 r   c                s   ^ RI p. pR FJ  pVP                  WSP                  VP                  ,          4      pVP	                  V4      pV'       g   KJ   M	  V'       g   R# / p/ p^ p	XP
                  p
V F  pV
R,          ^,
          pW,          pV'       d   VP                  V^ 4      ^,           W}&    V
R,          ^,
          pW,          pT'       d&   Te   Y9   d   TP                  T^ 4      ^,           Y&    T
R,          ^,
          pY,          '       g   K  T	^,          p	K  	  \        WwP                  R7      pV'       d,   \        WP                  R7      pW,          V	8H  pVR8X  d   RpMRp^ pVP                  R	RVP                  V4      RV/,          VP                  4      pVP                  V4      '       d   R
pMRpVVVV3#   \         d     EKf  i ; i  \         d     EKy  i ; i)r    Nr   FZquotedelimZspacerN   r8   z]((%(delim)s)|^)\W*%(quote)s[^%(delim)s\n]*%(quote)s[^%(delim)s\n]*%(quote)s\W*((%(delim)s)|$)T)zI(?P<delim>[^\w\n"\'])(?P<space> ?)(?P<quote>["\']).*?(?P=quote)(?P=delim)zG(?:^|\n)(?P<quote>["\']).*?(?P=quote)(?P<delim>[^\w\n"\'])(?P<space> ?)zG(?P<delim>[^\w\n"\'])(?P<space> ?)(?P<quote>["\']).*?(?P=quote)(?:$|\n)z-(?:^|\n)(?P<quote>["\']).*?(?P=quote)(?:$|\n))r   FNr    )reZcompileZDOTALLZ	MULTILINEZfindall
groupindexrZ   ZKeyErrormaxZescapeZsearch)r   datarh   rl   ZmatchesZrestrZregexpZquotesdelimsZspacesrm   ZmZnrN   r*   rj   r,   Z	dq_regexpr+   s   &&&                r   re   Z"Sniffer._guess_quote_and_delimiter  s    	HE ZZyy2<<'?@FnnT*GwH ''&&
A7#a'A$C$jja014w'!+d 
*c.?$jja014w'!+ tt!# & JJ/	JJ/E%}6} E  JJ '		%(8')L MNPll\	 D!!KK;/?@@I    s$   4G:GGGG/.G/c                s   \        \        R VP                  R4      4      4      p\        ^4       Uu. uF  p\	        V4      NK  	  pp\        ^
\        V4      4      p^ p/ p/ p/ p	^ TrV
\        V4      8  Ed`   V^,          pWV  FN  pV FE  pVP                  V/ 4      pVP                  V4      pVP                  V^ 4      ^,           W&   WV&   KG  	  KP  	  VP                  4        F  p\        W},          P                  4       4      p\        V4      ^8X  d   V^ ,          ^ ,          ^ 8X  d   KI  \        V4      ^8  da   \        VR R7      W&   VP                  W,          4       W,          ^ ,          W,          ^,          \        R V 4       4      ,
          3W&   K  V^ ,          W&   K  	  VP                  4       p\        \        WV,          \        V4      4      4      pRpRp\        V	4      ^ 8X  dh   VV8  da   V FO  w  ppV^ ,          ^ 8  g   K  V^,          ^ 8  g   K&  V^,          V,          V8  g   K=  Ve
   VV9   g   KJ  VV	V&   KQ  	  VR,          pKw  \        V	4      ^8X  d]   \        V	P                  4       4      ^ ,          pV^ ,          P                  V4      V^ ,          P                  RV,          4      8H  pVV3# Tp
W,          pEKp  V	'       g   R	# \        V	4      ^8  dg   V P                   FV  pVV	P                  4       9   g   K  V^ ,          P                  V4      V^ ,          P                  RV,          4      8H  pVV3u # 	  V	P                  4        UUu. uF
  w  ppVV3NK  	  pppVP!                  4        VR
,          ^,          pV^ ,          P                  V4      V^ ,          P                  RV,          4      8H  pVV3# u upi u uppi )Nr8   c                 s    V ^,          # )   r6   )r_   r   r   Z<lambda>Z*Sniffer._guess_delimiter.<locals>.<lambda>  s    1Q4r   rk   c              3   s2   "   T F  q^,          x  K  	  R# 5i)rq   Nr6   )r[   Zitemr#   r   r]   Z+Sniffer._guess_delimiter.<locals>.<genexpr>  s     (CUTaUs   g      ?g?g{Gz?z%c )r   r    i)r:   ZfilterZsplitrangeZchrZminrK   rZ   Zcountr^   itemsrn   ZremoveZsumZfloatrc   Zsort)r   ro   rh   ZcZasciiZchunkLengthZ	iterationZcharFrequencyZmodesrp   ZstartZendZlineZcharZmetaFrequencyZfreqrs   ZmodeListZtotalZconsistencyZ	thresholdZkZvrj   r,   rM   s   &&&                       r   rf   ZSniffer._guess_delimiter]  sj   & F4D!123!&s,AQ, "c$i(	sc$iNI3!D$1$5$5dB$?M::d+D*7*;*;D!*Dq*HM'*7$' " ( &**,]06689u:?uQx{a'7u:>"%e"@EK LL-#(;q>5;q>%((CU(C%C4D #EEK #((EK -  {{}H#k5s4yABEKIf+"{i'?$DAqtaxAaD1HqT%ZK7'/1
?()F1I	 %
 t#6{aV[[]+A.$(GMM%$8$(GMM%%-$@%A /00 ECN v;?^^%(,Qa(8(,Qeai(@)A$/00	 $ %+LLN3N5Aa!AN3

b	! GMM%0 GMM%%-89'((_ -R 4s   O+Oc                s6   \        \        V4      V P                  V4      4      p\        V4      p\	        V4      p/ p\        V4       F  pR WV&   K	  	  ^ pV F}  pV^8  d    MuV^,          p\	        V4      V8w  d   K'  \        VP                  4       4       F9  p	\        p
 V
! W,          4       WV	,          8w  g   K'  WY,          f   WV	&   K7  WY K;  	  K  	  ^ pVP                  4        F_  w  r\        V\        4      '       d-   \	        W9,          4      V8w  d   V^,          pK<  V^,          pKG   V! W9,          4       V^,          pKa  	  V^ 8  #   \        \        3 d    \	        Y,          4      p
 Li ; i  \        \        3 d    T^,          p K  i ; ir    )r   r   ri   rF   rK   rr   r:   r^   ZcomplexrU   ZOverflowErrorrs   Z
isinstanceZintr"   )r   rg   ZrdrrX   ZcolumnsZcolumnTypesZiZcheckedrL   ZcolZthisTypeZ	hasHeaderZcolTypes   &&           r   
has_headerZSniffer.has_header  sx    Xf%tzz&'9:cf+wA$C|qLG3x7"K,,./"-SX&
 3//"'/+3C( (, 0 6 	'--/LC'3''v{#w.NINI#FK( NI 0 1}; #M2 -"38}H-0 #I. #NI#s$   !E2E:"E76E7:FFrb   r    )r$   r%   r&   r'   r   ri   re   rf   rt   r/   r0   r1   r2   r   r   r      s(     
4
:JAZd)N= =r   )r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )rQ   Z_csvr   r   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r!   Zior   Z__all__Z__version__r   r   r   r   r   r   r6   r   r   <module>ru      s   D . . . .
 %  * *>G  %    i (7   &38 38l 8  8FX Xr   