+
    xȇi.5                        ^ RI t ^ RIt^ RIt^ RIt^ RIHu Ht ^ RI	H
t
HtHtHtHt ^ RIHt ^ RIHt ^ RIHt ]P,                  ! R4       ]P.                  R 4       tR tR t]P6                  P9                  R	R
R.4      R 4       tR. RFOR
RRR/3R. RGOR
RRR/3RRR.R3RRR.R3RRR.R3RRR.R3RR.R3R R!R".R#3R$R!R%.R
RRR&/3R'R!R%.R(3R). RHOR*3R+. RHOR,3R-. RHOR.3R/. RHOR03R1. RHOR23R3. RHOR43R5. RHOR63R7. RIOR
RRR/3R8. RJOR43R9. RKOR
RRR/3R8. RLOR43R9. RMOR
RRR/3R8. RNOR43R9. ROOR
RRR/3R8. RHOR43R9. RIOR
RRR/3R:. RHOR;3.tR< t]P6                  P9                  R	R
R.4      ]P6                  P9                  R=]4      R> 4       4       t ]P6                  P9                  R	R
R.4      ]P6                  P9                  R=]4      R? 4       4       t!. RPOt"]P6                  P9                  R	R
R.4      ]P6                  P9                  R@]"4      RA 4       4       t#RB t$]P6                  PJ                  ]PL                  RC 4       4       t']P6                  P9                  RD. RQO4      RE 4       t(R# )R    N)	DataFrame
MultiIndex	Timestampperiod_range
read_excel)ExcelWriter)ExcelFormatterjinja2c                 v    V \         P                  ! 4        R 2,          pVP                  4        \        V4      # ).xlsx)uuiduuid4touchstr)tmp_pathtmps   & p/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/io/excel/test_style.py	tmp_excelr      s+    


~U+
+CIIKs8O    c                 *   V P                   P                  VP                   P                  8X  g   Q hV P                  P                  VP                  P                  8X  g   Q hV P                  P                  VP                  P                  8X  g   Q hV P                  P                  VP                  P                  8X  g   Q hV P
                  VP
                  8X  g   Q hV P                  P                  VP                  P                  8X  g   Q hR # N)	alignment__dict__borderfillfontnumber_format
protection)cell1cell2s   &&r   assert_equal_cell_stylesr!   "   s    ??##u'?'????<<  ELL$9$9999::%**"5"5555::%**"5"5555%"5"5555$$(8(8(A(AAAAr   c           	         \         P                  ! R 4      p\        R^R^R^/R^R^R^/.4      p\        V R R7      ;_uu_ 4       pVP	                  VRR7       RRR4       \
        P                  ! VP                  V 4      4      ;_uu_ 4       pVR,          P                  ^^4      P                  P                  RJ g   Q hVR,          P                  ^^4      P                  P                  e   Q hVR,          P                  ^^4      P                  P                  e   Q hVR,          P                  ^^4      P                  P                  P                   e   Q hVR,          P                  ^^4      P                  P"                  P                   e   Q hVR,          P                  ^^4      P                  P$                  P                   e   Q hVR,          P                  ^^4      P                  P&                  P                   e   Q h RRR4       R#   + '       g   i     EL; i  + '       g   i     R# ; i)	openpyxlABCenginecustom
sheet_nameNF)pytestimportorskipr   r   to_excel
contextlibclosingload_workbookcellr   boldr   
horizontalverticalr   bottomcolortopleftright)r   r#   dfwriterwbs   &    r   test_styler_default_valuesr>   ,   s   "":.H	S!S!S!,sAsAsA.FG	HB	Yz	2	2f
Fx0 
3 
		H229=	>	>"(|  A&++00E999(|  A&00;;CCC(|  A&0099AAA (|  A&--44::BBB(|  A&--1177???(|  A&--2288@@@(|  A&--3399AAA 
?	> 
3	2	2 
?	>	>s   HFH/H,	/I 	r(   
xlsxwriterr#   c           	      D   \         P                  ! V 4       \        \        P                  P                  ^4      P                  R	4      4      p\        WR7      ;_uu_ 4       pVP                  VRR7       VP                  P                  VRR7       RRR4       \         P                  ! R4      p\        P                  ! VP                  V4      4      ;_uu_ 4       p\        VR,          P                  VR,          P                  RR7       F^  w  rg\        V4      \        V4      8X  g   Q h\        WgRR7       F-  w  rVP                   V	P                   8X  g   Q h\#        W4       K/  	  K`  	  RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)
   r'   	dataframer*   unstyledNr#   T)strict)rA   rA   )r,   r-   r   nprandomdefault_rngstandard_normalr   r.   styler/   r0   r1   zipcolumnslenvaluer!   )
r(   r   r;   r<   r#   r=   col1col2r   r    s
   &&        r   test_styler_to_excel_unstyledrP   A   s3    	299((+;;FC	DB	Y	.	.&
F{3
&Z8 
/ "":.H			H229=	>	>"{O##zN""
JD
 t9D	))) #Dt <{{ekk111(6 !=
 
?	> 
/	.
 
?	>	>s   "1E;BF;F	F	background-color: #111222FF11122200111222zcolor: #111222r   zfont-family: Arial;namearialzfont-weight: bold;bTzfont-style: italic;iztext-decoration: underline;usingleznumber-format: $??,???.00;r   z
$??,???.00ztext-align: left;r   r4   r9   zvertical-align: bottom;r5   r6   zvertical-align: middle;centerzborder-left: 2pt solid redmediumzborder-left: 1pt dotted reddottedzborder-left: 2pt dotted redmediumDashDotDotzborder-left: 1pt dashed reddashedzborder-left: 2pt dashed redmediumDashedzborder-left: 1pt solid redthinzborder-left: 3pt solid redthickzborder-left: 2pt solid #111222zborder: 1pt solid redzborder: 1pt solid #111222z1border-left-style: hair; border-left-color: blackhairc                   a R o\         P                  ! R4      p\        R^R^/R^R^/.4      p\        V RR7      ;_uu_ 4       pVP                  P                  V3R l4      pVP                  VRRR7       R	R	R	4       \        P                  ! VP                  V 4      4      ;_uu_ 4       pVR,          P                  ^^4      P                  P                  RJ g   Q hVR,          P                  ^^4      P                  P                  e   Q hVR,          P                  ^^4      P                  P                  e   Q hVR,          P                  ^^4      P                   P"                  P$                  e   Q hVR,          P                  ^^4      P                   P&                  P$                  e   Q hVR,          P                  ^^4      P                   P(                  P$                  e   Q hVR,          P                  ^^4      P                   P*                  P$                  e   Q hVR,          P                  ^^4      P,                  P.                  P0                  R
8X  g   Q hVR,          P                  ^^4      P,                  P.                  P0                  R
8X  g   Q hVR,          P                  ^^4      P,                  P.                  P0                  R
8X  g   Q hVR,          P                  ^^4      P,                  P.                  P0                  R
8X  g   Q h R	R	R	4       R	#   + '       g   i     EL; i  + '       g   i     R	# ; i)rQ   r#   r$   r%   r'   c                    < S# r    )x	css_styles   &r   <lambda>*test_styler_custom_style.<locals>.<lambda>   s    	r   r)   F)r+   indexNrS   )r,   r-   r   r   rI   mapr.   r/   r0   r1   r2   r   r3   r   r4   r5   r   r6   r7   r8   r9   r:   r   fgColorrj   )r   r#   r;   r<   stylerr=   rg   s   &     @r   test_styler_custom_stylern      s   +I"":.H	S!S!$sAsA&67	8B	Yz	2	2f1285A 
3 
		H229=	>	>"(|  A&++00E999(|  A&00;;CCC(|  A&0099AAA (|  A&--44::BBB(|  A&--1177???(|  A&--2288@@@(|  A&--3399AAA (|  A&++3399ZGGG(|  A&++3399ZGGG(|  A&++3399ZGGG(|  A&++3399ZGGG! 
?	>	 
3	2	2 
?	>	>s   4L2-I:M2M	M	zcss, attrs, expectedc                   a \         P                  ! V 4       \        \        P                  P                  ^4      P                  R4      4      pVP                  P                  V3R l4      p\        W@R7      ;_uu_ 4       pVP                  VRR7       VP                  VRR7       RRR4       \         P                  ! R4      p\        P                  ! VP                  V4      4      ;_uu_ 4       p	V	R,          P                  ^^4      V	R,          P                  ^^4      rRRR4       V F  p\        X
VR4      \        XV4      rK  	  \!        V\"        4      '       d%   X
e   WV ,          8w  g   Q hXW0,          8X  g   Q hR# X
e	   W8w  g   Q hXV8X  g   Q hR#   + '       g   i     L; i  + '       g   i     L; i)	rA   c                    < S# r   re   rf   csss   &r   rh   ,test_styler_to_excel_basic.<locals>.<lambda>       Cr   r'   rB   r*   styledNr#      rw   r,   r-   r   rE   rF   rG   rH   rI   rk   r   r.   r/   r0   r1   r2   getattr
isinstancedict)r(   rr   attrsexpectedr   r;   rm   r<   r#   r=   u_cells_cellattrs   &f&&&        r   test_styler_to_excel_basicr      sc    	299((+;;FC	DBXX\\-(F	Y	.	.&
F{384 
/ "":.H			H229=	>	>" K--a3R\5F5Fq!5L 
?  t4gfd6K  (D!!~F+;!;;;))))~!333!!!# 
/	.
 
?	>s   'F 42F3 F0	3G	c                 P  a \         P                  ! V 4       \        \        P                  P                  ^4      P                  R4      4      pVP                  pVP                  V3R l^ R7       VP                  V3R l^R7       VP                  pVP                  R 4       VP                  R ^ R7       VP                  R ^R7       \        W@R7      ;_uu_ 4       pVP                  VRR	7       VP                  VR
R	7       RRR4       \         P                  ! R4      p	\        P                  ! V	P                  V4      4      ;_uu_ 4       p
V
R,          P                  ^^4      V
R
,          P                  ^^4      rV
R,          P                  ^^4      V
R
,          P                  ^^4      rRRR4       V F3  p\!        XVR4      \!        XV4      r\!        XVR4      \!        XV4      rK5  	  \#        V\$        4      '       dG   Xe   WV ,          8w  g   Q hXW0,          8X  g   Q hXe   WV ,          8w  g   Q hXW0,          8X  g   Q hR# Xe	   W8w  g   Q hXV8X  g   Q hXe	   W8w  g   Q hXV8X  g   Q hR#   + '       g   i     EL; i  + '       g   i     L; i)rA   c                    < S# r   re   rq   s   &r   rh   4test_styler_to_excel_basic_indexes.<locals>.<lambda>       sr   axisc                    < S# r   re   rq   s   &r   rh   r      r   r   c                     R # z
null: css;re   rf   s   &r   rh   r      s    lr   c                     R # r   re   r   s   &r   rh   r          Lr   c                     R # r   re   r   s   &r   rh   r      r   r   r'   null_styledr*   ru   Nr#   rv   )r,   r-   r   rE   rF   rG   rH   rI   	map_indexrk   r   r.   r/   r0   r1   r2   ry   rz   r{   )r(   rr   r|   r}   r   r;   rm   null_stylerr<   r#   r=   ui_cellsi_celluc_cellsc_cellr   s   &f&&&           r   "test_styler_to_excel_basic_indexesr      sJ    	299((+;;FC	DBXXF
]+
]+((KOO*+0q90q9	Y	.	.&V>84 
/ "":.H			H229=	>	>" m,11!Q7H9J9J1a9Pm,11!Q7H9J9J1a9P	 
?
 "7D$7$9O"7D$7$9O  (D!!'f-="===(****'f-="===(****'"555("""'"555("""/ 
/	.	.
 
?	>s   #'JA#JJ	J%	border_stylec                   a R V R2o. R	OpTp\         P                  ! V 4       \        \        P                  P                  ^4      P                  R
4      4      pVP                  P                  V3R l4      p\        W R7      ;_uu_ 4       pVP                  VRR7       VP                  VRR7       RRR4       \         P                  ! R4      p\        P                  ! VP                  V4      4      ;_uu_ 4       p	V	R,          P                  ^^4      V	R,          P                  ^^4      rRRR4       V F  p\        X
VR4      \        XV4      rK  	  \!        V\"        4      '       d%   X
e   WV ,          8w  g   Q hXW@,          8X  g   Q hR# X
e	   W8w  g   Q hXV8X  g   Q hR#   + '       g   i     L; i  + '       g   i     L; i)zborder-left: z black thinc                    < S# r   re   rq   s   &r   rh   3test_styler_to_excel_border_style.<locals>.<lambda>  rt   r   r'   rB   r*   ru   Nr#   r   r9   rI   rv   rx   )r(   r   r   r|   r}   r;   rm   r<   r#   r=   r~   r   r   rr   s   &&&          @r   !test_styler_to_excel_border_styler     s{    ,{
3C'EH
	299((+;;FC	DBXX\\-(F	Y	.	.&
F{384 
/ "":.H			H229=	>	>" K--a3R\5F5Fq!5L 
?  t4gfd6K  (D!!~F+;!;;;))))~!333!!!# 
/	.
 
?	>s   'F, 2F?,F<	?G	c                    \         P                  ! R 4      pR p\        \        P                  P                  ^4      P                  R	4      4      pVP                  P                  R 4      p\        V R R7      ;_uu_ 4       p\        WBR7      P                  VRR7       RRR4       \        P                  ! VP                  V 4      4      ;_uu_ 4       pVR,          P                  ^^4      P                   P"                  P$                  R8X  g   Q h RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)
r#   c                     R RRR///# )r   r7   rgb111222re   )rr   s   &r   custom_converter6test_styler_custom_converter.<locals>.custom_converter4  s    5("3455r   c                     R # )zcolor: #888999re   r   s   &r   rh   .test_styler_custom_converter.<locals>.<lambda>8  s    $4r   r'   )style_converterr)   r*   NrS   rv   )r,   r-   r   rE   rF   rG   rH   rI   rk   r   r	   writer/   r0   r1   r2   r   r7   rM   )r   r#   r   r;   rm   r<   r=   s   &      r   test_styler_custom_converterr   1  s    "":.H6 
299((+;;FC	DBXX\\45F	Yz	2	2fv@FFx 	G 	
 
3
 
		H229=	>	>"(|  A&++1177:EEE 
?	> 
3	2
 
?	>	>s   D?D2D/	2E	c                 (   V P                   p\        P                  ! 4        R 2p\        R. R
OR. RO/4      pVP                  P                  RR7      pRV RV 2pVP                  WaR7       \        V^ VR7      p\        P                  ! Wt4       R	# )r   rf   yrj   r   zs3:///)storage_options)	index_colr   N)rw   rA      )rA         )
rT   r   r   r   rI   
set_stickyr.   r   tmassert_frame_equal)s3_bucket_publics3somock_bucket_nametarget_filer;   rm   uriresults   &&      r   test_styler_to_s3r   B  s     (,,ZZ\N%(K	CC3	4BXX  g .F"#1[M
2C
OOCO.q$?F&%r   merge_cellsc                 \   \        R ^^./\        P                  ! \        RRRR7      RR..RR.R	7      R
7      p\	        WR7      pVP                  4       pV FP  pVP                  ^ 8w  g   K  VP                  ^ 8X  g   K)  \        VP                  \        4      '       d   KK  Q R4       h	  R# )r$   z
2006-10-06z
2006-10-07D)startendfreqXYdatecategory)names)rj   )r   z'Period should be converted to TimestampN)r   r   from_arraysr   r	   _format_hierarchical_rowsrowcolrz   valr   )r   r;   	formatterformatted_cellsr2   s   &    r   )test_format_hierarchical_rows_periodindexr   P  s     
	q!f$$<\Lc
 :&
	
B r;I99;O88q=TXX]dhh	22 92  r   )r   rl   r   )r   r7   rM   r   )r   r9   r7   r   )r   r8   rI   )r   r8   r7   r   )r   r:   rI   )r   r:   r7   r   )r   r6   rI   )r   r6   r7   r   )
r^   mediumDashDot
dashDotDotrb   r\   r]   doubledashDotslantDashDotr_   )TFrK   ))r/   r   numpyrE   r,   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r   pandas._testing_testingr   pandas.io.excelr   pandas.io.formats.excelr	   r-   fixturer   r!   r>   markparametrizerP   shared_style_paramsrn   r   r   excel_border_stylesr   r   
single_cpuskip_if_not_us_localer   r   re   r   r   <module>r      s       ) )   ' 2   H   BB* L*#=>7 ?7. 	$"	z:z: 	"	z:z:
 VV,g6FC=$/VSM40"VSM8<!O#4lC;5v>!	j!	tZ2
 j 98D!#>I"$?J"$?AST"$?J"$?P!#>G!#>H 	)*	z:z:
 8&A#)	z:z:
 :FC#+	z:z:
 ;VD#,	z:z:
 96B#*	z:z: 	<#}C LH: L*#=>/1DE" F ?"2 L*#=>/1DE$# F ?$#T " L*#=>)<=" > ?":F" 	&  	& (@A Br   