+
    i                     
   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHt R t]P.                  P1                  R] P                   ! R^^^ ^^4      ] P                   ! R^^^ ^^4      ] P                   ! R^^^^^4      .] P                   ! R^^^ ^^4      ] P                   ! R^^^^^4      .] P                   ! R^^^^^4      ] P                   ! R^^^^^4      ...4      ]P.                  P1                  R. RfO4      R 4       4       t]P.                  P1                  R. RfO4      R	 4       t]P.                  P1                  R
. RgO4      R 4       tR tR tR tR t]! R.4      R 4       t ]! R.4      R 4       t!]! R.4      R 4       t"]! R.4      R 4       t#R t$R t%]! R.4      R 4       t&R t'R t(]! R.4      R 4       t)R  t*R! t+]P.                  P1                  R"] PX                  ! RhR#7      ]-! R$R%^4       U u. uF  p R&V ,          NK  	  up 3] PX                  ! ^R'7      ]-! ^^ ^4       Uu. uF  pR(V,          NK  	  up3] PX                  ! ^R)7      ]-! ^ ^^4       Uu. uF  pR*V,          NK  	  up3] PX                  ! ^
R+7      ]-! ^ ^4       Uu. uF  pR,V,          NK  	  up3.4      R- 4       t.R. t/]%R/ 4       t0]%R0 4       t1R1 t2R2 t3]P.                  P1                  R3] PX                  ! R4R57      R63] PX                  ! ^R+7      R73] PX                  ! ^R)7      R83] PX                  ! ^R'7      R93] PX                  ! ^R#7      R:3] PX                  ! ^R#7      R;3] PX                  ! R<R#7      R;3.4      R= 4       t4R> t5R? t6R@ t7]P.                  P1                  R3] PX                  ! RhR#7      ]-! RARB^4       Uu. uF  pR&V3,          NK  	  up3] PX                  ! ^(R'7      . RiO3] PX                  ! ^(R)7      . RjO3] PX                  ! ^R57      . RkO3.4      RC 4       t8RD t9RE t:RF t;RG t<]! RH.4      RI 4       t=RJ t>RK t?RL t@RM tARN tB]P.                  P                  RO 4       tD]P.                  P                  RP 4       tERQ tFRR tGRS tH]P.                  P1                  RT^] PX                  ! ^R'7      3^RU.] PX                  ! ^R'7      ] PX                  ! RUR'7      .3.4      RV 4       tIRW tJRX tKRY tLRZ tMR[ tNR\ tOR] tP]P.                  P1                  R^Rl4      R_ 4       tQR` tRRa tS]P.                  P1                  RbRm4      Rc 4       tTRd tURe tVR# u up i u upi u upi u upi u upi )n    N)
rc_contextstyle)image_comparisonc                  L   \         P                   ! R ^^4      p \        ^ ^4       Uu. uF   q\         P                  ! VR7      ,           NK"  	  pp\        P                  ! VRR7      p\        P                  ! . RO4      p\
        P                  ! R	R7      pVP                  ^^^4      pVP                  W$4      w  pVP                  W44      w  p\        P                  P                  VP                  RR7      VP                  RR7      4       \
        P                  ! R	R7      pVP                  ^^^4      pVP                  WB4      w  pVP                  WC4      w  p\        P                  P                  VP                  RR7      VP                  RR7      4       R# u upi )
  daysdatetime64[ns]dtype)figsizeF)origN)        g       @      ?)
      )datetimerange	timedeltanparraypltfigureadd_subplotplottestingassert_equal	get_xdata	get_ydata)	basextimetimenpdatafigaxhhnps	            {/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/matplotlib/tests/test_dates.pytest_date_numpyxr*      s:   T1a(D7<Q{C{!8%%1---{DCXXd"23F88L!D
**W
%C	Aq	!B		BA776 DCJJAKKUK3S]]]5NO
**W
%C	Aq	!B		BA774 DCJJAKKUK3S]]]5NO Ds   &F!t0r   r   c                     \         P                  ! V 4      p\        P                  ! WR 7      p\         P                  ! V4      p\        P                  P                  W$4       R# )r   N)mdatesdate2numr   r   r   r   )r+   r   r"   tnpnptimes   &&   r)   test_date_date2num_numpyr1   "   s@     ??2D
((2
#C__S!FJJD)    c                 &   \         P                   ! R ^^^ ^^4      p\        P                  ! V4      \        P                  .p\        P
                  ! VR.V R7      p\        P                  ! V4      p\        P                  P                  W$4       R# )r   NaTr   N)r   r-   r.   r   nanr   r   assert_array_equal)r   r+   tmplr/   r0   s   &    r)   test_date2num_NaTr8   6   si    
 
		4Aq!Q	/BOOB(D
((B;e
,C__S!FJJ!!$/r2   unitsc                     \         P                  ! \        P                  ! R V 4      4      p\        P                  ! V4      '       g   Q hR# )r4   N)r-   r.   r   
datetime64isnan)r9   r7   s   & r)   test_date2num_NaT_scalarr=   B   s-    ??2==67D88D>>>r2   c            
      b   \         P                   ! R ^^4      p \        P                  P                  \	        ^4       Uu. uF(  pV \         P
                  ! ^V,          R7      ,           NK*  	  up. ROR7      p\        P                  ! V4      p\        P                  P                  \        P                  P                  V4      R4       \         P                   ! R ^^\        P                  R7      p \        P                  P                  \	        ^4       Uu. uF(  pV \         P
                  ! ^V,          R7      ,           NK*  	  up. ROR7      p\        P                  ! V4      p\        P                  P                  \        P                  P                  V4      R4       R# u upi u upi )  r   )masktzinfoN)r      rC   r   r   r   rC   )FTTFFFT)r   r   mar   r   r   r-   r.   r   r6   getmaskUTC)r    idatesnpdatess       r)   test_date2num_maskedrJ   H   sF   T2r*DEEKK"'(,"*Q  2 2Q @@@"*,2G  IEooe$GJJ!!"%%--"8#)*
 T2r&**=DEEKK"'(,"*Q  2 2Q @@@"*,2G  IEooe$GJJ!!"%%--"8#)*,,s   .F'.F,c            	      b   \         P                  ! 4       w  rVP                  4        V P                  4        \        P
                  P                  VP                  4       \        P                  ! \        P                  ! R 4      4      \        P                  ! \        P                  ! R4      4      .4       \        P                  ! 4        \        P                  ! R4       \         P                  ! 4       w  rVP                  4        V P                  4        \        P
                  P                  VP                  4       \        P                  ! \        P                  ! R 4      4      \        P                  ! \        P                  ! R4      4      .4       \        P                  ! 4        R# )
1970-01-01z
1970-01-02
0000-12-31N)r   subplots
xaxis_datedraw_without_renderingr   r   assert_allcloseget_xlimr-   r.   r;   _reset_epoch_test_example	set_epochr%   r&   s     r)   test_date_emptyrV   \   s    llnGCMMO JJr{{} &l0K L &l0K L NO $$&
\"llnGCMMO JJr{{} &l0K L &l0K L NO $$&r2   c                     \         P                  ! 4       p V P                  4       pVP                  ^2^F.^^.4       VP                  P                  4        \        P                  P                  VP                  4       ^2^F.4       R# )2   N)
r   r   r   r   xaxis	axis_dater   r   rQ   rR   rU   s     r)   test_date_not_emptyr[   r   s]    
**,C		BGGRHq!fHHJJr{{}r2h7r2   c            	         \         P                  ! 4       w  rVP                  R 4       VP                  \        P
                  ! R4      \        P
                  ! R4      .^^.4       \        P                  P                  VP                  4       \        P                  ! \        P
                  ! R4      4      \        P                  ! \        P
                  ! R4      4      .4       \        P                  ! 4        \        P                  ! R4       \         P                  ! 4       w  rVP                  R 4       VP                  \        P
                  ! R4      \        P
                  ! R4      .^^.4       \        P                  P                  VP                  4       \        P                  ! \        P
                  ! R4      4      \        P                  ! \        P
                  ! R4      4      .4       \        P                  ! 4        R# )      ?z
2016-01-01z
2016-01-02rM   N)r   rN   axhliner   r   r;   r   rQ   rR   r-   r.   rS   rT   rU   s     r)   test_axhliner_   {   sD   llnGCJJsOGGR]]<("--*EFAOJJr{{} &l0K L &l0K L NO $$&
\"llnGCJJsOGGR]]<("--*EFAOJJr{{} &l0K L &l0K L NO $$&r2   zdate_axhspan.pngc                  t   \         P                   ! R ^^4      p \         P                   ! R ^^4      p\        P                  ! 4       w  r#VP                  WRRR7       VP	                  V \         P
                  ! ^R7      ,
          V\         P
                  ! ^R7      ,           4       VP                  RR7       R# )  blue      ?	facecoloralphar   leftN)r   r   rN   axhspanset_ylimr   subplots_adjustr+   tfr%   r&   s       r)   test_date_axhspanrn      s     
		4B	'B			4B	'BllnGCJJrtJ4KKX''Q//X''Q//1T"r2   zdate_axvspan.pngc                  p   \         P                   ! R ^^4      p \         P                   ! R^^4      p\        P                  ! 4       w  r#VP                  WRRR7       VP	                  V \         P
                  ! RR7      ,
          V\         P
                  ! RR7      ,           4       VP                  4        R# )    rb   rc   rd   i  r   N)r   r   rN   axvspanset_xlimr   autofmt_xdaterl   s       r)   test_date_axvspanru      s     
		4B	'B			4B	'BllnGCJJrtJ4KKX''S11X''S113r2   zdate_axhline.pngc                  t   \         P                   ! R ^^4      p \         P                   ! R ^^4      p\        P                  ! 4       w  r#VP                  V R^R7       VP	                  V \         P
                  ! ^R7      ,
          V\         P
                  ! ^R7      ,           4       VP                  RR7       R# ra   rb   colorlwr   rc   rg   N)r   r   rN   r^   rj   r   rk   rl   s       r)   test_date_axhliner{      s     
		4B	'B			4B	'BllnGCJJrAJ&KKX''Q//X''Q//1T"r2   zdate_axvline.pngc                  p   \         P                   ! R ^^4      p \         P                   ! R ^^4      p\        P                  ! 4       w  r#VP                  V R^R7       VP	                  V \         P
                  ! ^R7      ,
          V\         P
                  ! ^R7      ,           4       VP                  4        R# )rp   redrx   r   N)r   r   rN   axvliners   r   rt   rl   s       r)   test_date_axvliner      s     
		4B	'B			4B	'BllnGCJJr1J%KKX''Q//X''Q//1r2   c                    V P                  R 4       \        P                  ! R^^4      p\        P                  ! R^^4      p\        P                  ! 4       w  r4\        P
                  ! \        4      ;_uu_ 4       pVP                  W3RR7       \        V4      ^8X  g   Q hR\        V^ ,          P                  4      9   g   Q h RRR4       VP                  . . 4       VP                  P                  \        P                  ! 4       4       VP                  P!                  4       ! 4       p\        V4      R8  g   Q hV P"                  '       dO   \$        ;QJ d&    R V P"                   4       F  '       d   K   RM	  RM! R V P"                   4       4      '       g   Q h\        V P"                  4      ^ 8  g   Q hR#   + '       g   i     EL; i)	WARNINGrp   T)autoz.Attempting to set identical low and high xlimsN  c              3   n   "   T F+  pVP                   R 8H  ;'       d    VP                  R8H  x  K-  	  R# 5i)zmatplotlib.tickerr   N)name	levelname).0records   & r)   	<genexpr>+test_too_many_date_ticks.<locals>.<genexpr>   s7      "&$F 	**LLv/?/?9/LL$s   55F)	set_levelr   r   rN   pytestwarnsUserWarningrs   lenstrmessager   rY   set_major_locatorr-   
DayLocatorget_major_locatorrecordsall)caplogr+   rm   r%   r&   recvs   &      r)   test_too_many_date_ticksr      s`    Y			4B	'B			4B	'BllnGC	k	"	"c
RH4(3x1}}@s1v~~&' 	( ' 
#
 GGBOHHv0023
""$&Aq6D== >>>cc "&nn"&ccc "&nn"& & & & & v~~""" 
#	"	"s   ;A
F??G	c                 F   a  \         P                  ! S 4      V 3R  l4       pV# )c                     < \         P                  ! 4        \         P                  ! R 4       S ! 4        \         P                  ! 4        R# )
2000-01-01N)r-   rS   rT   )thefuncs   r)   wrapper%_new_epoch_decorator.<locals>.wrapper   s.    ((*&	((*r2   )	functoolswraps)r   r   s   f r)   _new_epoch_decoratorr      s%    __W+ +
 Nr2   zRRuleLocator_bounds.pngc                     ^ RI Hu Hp  V P                  4        \        P                  ! R^^4      p\        P                  ! R^^4      p\
        P                  ! 4       p\
        P                  ! 4       pVP                  R4       VP                  W.RR.RR7       \        P                  ! \        P                  P                  R	R
7      p\        P                  ! V4      pVP                   P#                  V4       VP                   P%                  \        P&                  ! V4      4       VP)                  4        VP+                  4        R# )r   Nr   ip  Tr   r   omarker  interval)matplotlib.testing.jpl_unitsr   	jpl_unitsregisterr   r   r   subplotset_autoscale_onr   r-   rrulewrapperdateutilrruleYEARLYRRuleLocatorrY   r   set_major_formatterAutoDateFormatterautoscale_viewrt   )r9   r+   rm   r%   r&   r   locators          r)   test_RRuleLocatorr      s    00	NN 
		4A	&B			4A	&B
**,C	BGGRHsCjG- 5 5DE!!%(GHHw'HH  !9!9'!BCr2   c                      \         P                  ! 4       p \        P                  ! ^^^\         P                  R7      p\        P                  ! ^^^\         P                  R7      pV P	                  W4       R# )rC   )yearmonthdayrB   N)r-   r   r   rF   tick_values)locx1y1s      r)   test_RRuleLocator_dayranger      sP    



C			&**	EB			6::	FBOOBr2   c                     \         P                  ! \        P                  P                  ^R7      p \         P
                  ! V 4      p\        P                  ! R^^R7      p\        P                  ! R^^^R7      pRR.p\        \        \        \         P                  ! VP                  W#4      4      4      4      V8X  g   Q hR# )   r     r   r   r   )r   r   r   microsecond2020-01-01 00:00:00+00:00z 2020-01-01 00:00:00.000001+00:00N)r-   r   r   r   SECONDLYr   r   listmapr   num2dater   )r   r   d1d2expecteds        r)   test_RRuleLocator_close_minmaxr     s      7 7!DE


e
$C			A1	5B			A1!	DB+24HC)@ABCxOOOr2   z#DateFormatter_fractionalSeconds.pngc                     ^ RI Hu Hp  V P                  4        \        P                  ! R^^^ ^ ^ 4      p\        P                  ! R^^^ ^ ^4      p\
        P                  ! 4       p\
        P                  ! 4       pVP                  R4       VP                  W.RR.RR7       VP                  4        VP                  4        R# )r   Ni  Tr   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   rt   )r9   r+   rm   r%   r&   s        r)   test_DateFormatterr     s    00	NN
 
		4Aq!Q	/B			4Aq!Q	/B
**,C	BGGRHsCjG- r2   c            	     ~   R\         P                  R&   \        P                  ! R^	^^^ 4      \        P                  ! R^	^^^;4      \        P                  ! R^	^^
^4      .p . ROp\         P                  ! 4       w  r#VP	                  W4       VP
                  P                  \        P                  ! R4      4       VP                  P                  4        VP                  4        Uu. uF  qDP                  4       NK  	  pp. R	OpWV8X  g   Q hVP
                  P                  \        P                  ! 4       4       VP
                  P                  \        P                  ! R
4      4       \        P                  ! R4      pVP
                  P!                  \        P"                  ! V4      4       VP
                  P                  \        P                  ! R4      4       VP                  P                  4        VP                  RR7       Uu. uF  qDP                  4       NK  	  pp. ROpWV8X  g   Q hR# u upi u upi )z\
Test if setting the locator only will update the AutoDateFormatter to use
the new locator.
z%d %H:%Mzdate.autoformatter.minutei  minor)whichN)r      rC   )r      )z30 08:00z30 08:30z30 09:00z30 09:30z30 10:00z30 10:30)r   7   )      )   -   )z30 08:15z30 08:45z30 09:15z30 09:45z30 10:15)r   rcParamsr   rN   r   rY   r   r-   MinuteLocatorcanvasdrawget_xticklabelsget_textmtickerNullLocatorset_minor_locatorset_minor_formatterr   )tr!   r%   r&   tl
ticklabelsr   	decoy_locs           r)   test_locator_set_formatterr   *  s   
 1;CLL,-			4B1	-			4B2	.			4BB	/	1A 	AllnGCGGAMHHv33G<=JJOO*,*<*<*>?*>B++-*>J?4H!!!HHw2245HHv33G<=$$X.IHH  !9!9)!DEHHv33H=>JJOO*,*<*<7*<*KL*KB++-*KJLKH!!! @ Ms   (H5H:c                       ! R  R4      p R p\         P                  ! V ! 4       4      pWP                  R&   V! \        P                  ! R^^4      .4      R.8X  g   Q hR# )c                   &   a  ] tR tRt o R tRtV tR# ).test_date_formatter_callable.<locals>._LocatoriL  c                    R# )   i )selfs   &r)   	_get_unit8test_date_formatter_callable.<locals>._Locator._get_unitM  s    CZr2   r   N)__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell__)__classdict__s   @r)   _Locatorr   L  s     ''r2   r   c                 L    V  Uu. uF  q"P                  R 4      NK  	  up# u upi )z	%d-%m//%Y)strftime)rH   _dts   && r)   callable_formatting_functionBtest_date_formatter_callable.<locals>.callable_formatting_functionO  s!    3895RK(5999   !  z25-12//2014Ni)r-   r   scaledr   )r   r  	formatters      r)   test_date_formatter_callabler  J  sZ    ( (: ((4I8Sh''b"567M?JJJr2   zdelta, expectedweeks  i{  z$\mathdefault{%d}$r   z $\mathdefault{1990{-}01{-}%02d}$hoursz$\mathdefault{01{-}01\;%02d}$minutesz$\mathdefault{01\;00{:}%02d}$c                    \         P                  ! R 4       \        P                  ! R^^4      pW ,           p\        P                  ! RR7      pVP                  4        VP                  P                  \        P                  ! V4      \        P                  ! V4      4       \        P                  ! VRR7      pV! 4        Uu. uF
  qe! V4      NK  	  upV8X  g   Q hR# u upi )defaultr
  Finterval_multiplesTusetexN)
r   user   r-   AutoDateLocatorcreate_dummy_axisaxisset_view_intervalr.   r   )deltar   r   r   r   r  r   s   &&     r)   test_date_formatter_usetexr  W  s     
IIi			4A	&B	B$$>GLL""6??2#68KL((>I&-i0isIcNi0H<<<0s   Cc                 Z   \         P                   ! R^^\        P                  R7      p \         P                   ! R^^\        P                  R7      p\         P                  ! ^R7      p\	        \        P
                  ! WV4      4      ^8X  g   Q hV\         P                  ! ^R7      ,
          p\	        \        P
                  ! WV4      4      ^8X  g   Q hV\         P                  ! ^R7      ,           p\	        \        P
                  ! WV4      4      ^8X  g   Q h\         P                   ! R^^\        P                  R7      p\         P                  ! ^R7      p\        P
                  ! WV4      p\	        V4      ^8X  g   Q h\        P                  ! VR,          4      W,
          8X  g   Q hR# )z^
This test should check if drange works as expected, and if all the
rounding errors are fixed
  rA   r  microsecondsN)r   r-   rF   r   r   dranger   )startendr  	dateranges       r)   test_dranger%  o  s?   
 dAq<E


D!Qvzz
:CQ'E v}}U/0B666 ""2
2Cv}}U/0B666 ""2
2Cv}}U/0B666 

D!Qvzz
:C Q'Ee%0Iy>Q??9R=)ck:::r2   c                     R  p \         P                   ! R^^4      p\         P                  ! RR7      . RO.\         P                  ! ^4R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! RR7      . RO.3pV FN  w  r4W,           pV ! W4      p\        \        \        \
        P                  ! V! 4       4      4      4      V8X  d   KN  Q h	  \
        P                  ! R	R
7      pVP                  ^ ^^^^^^^^^^^^^/8X  g   Q h\
        P                  ! \        P                  P                  ^/R7      pVP                  ^ ^^^^^^^^^^^^^/8X  g   Q h\
        P                  ! ^R7      pVP                  ^ ^^^^^^^^^^^^^/8X  g   Q hR# )c                     \         P                  ! R R7      pVP                  4        VP                  P                  ! \         P
                  ! W.4      !   V# )Fr  r-   r  r  r  r  r.   date1date2r   s   && r)   _create_auto_date_locator9test_auto_date_locator.<locals>._create_auto_date_locator  s@    ((EB!!#&&(GHr2   r
  r  r   r  r  seconds  r  Fr  )maxticksN(  )
1990-01-01 00:00:00+00:00z2010-01-01 00:00:00+00:00z2030-01-01 00:00:00+00:00z2050-01-01 00:00:00+00:00z2070-01-01 00:00:00+00:00z2090-01-01 00:00:00+00:00z2110-01-01 00:00:00+00:00z2130-01-01 00:00:00+00:00z2150-01-01 00:00:00+00:00z2170-01-01 00:00:00+00:00)r3  z1990-02-01 00:00:00+00:00z1990-03-01 00:00:00+00:00z1990-04-01 00:00:00+00:00z1990-05-01 00:00:00+00:00z1990-06-01 00:00:00+00:00z1990-07-01 00:00:00+00:00z1990-08-01 00:00:00+00:00z1990-09-01 00:00:00+00:00z1990-10-01 00:00:00+00:00z1990-11-01 00:00:00+00:00z1990-12-01 00:00:00+00:00)z1990-01-05 00:00:00+00:00z1990-01-26 00:00:00+00:00z1990-02-16 00:00:00+00:00z1990-03-09 00:00:00+00:00z1990-03-30 00:00:00+00:00z1990-04-20 00:00:00+00:00z1990-05-11 00:00:00+00:00)z1990-01-03 00:00:00+00:00z1990-01-10 00:00:00+00:00z1990-01-17 00:00:00+00:00z1990-01-24 00:00:00+00:00z1990-01-31 00:00:00+00:00z1990-02-07 00:00:00+00:00)r3  z1990-01-01 04:00:00+00:00z1990-01-01 08:00:00+00:00z1990-01-01 12:00:00+00:00z1990-01-01 16:00:00+00:00z1990-01-01 20:00:00+00:00z1990-01-02 00:00:00+00:00z1990-01-02 04:00:00+00:00z1990-01-02 08:00:00+00:00z1990-01-02 12:00:00+00:00z1990-01-02 16:00:00+00:00)r3  z1990-01-01 00:05:00+00:00z1990-01-01 00:10:00+00:00z1990-01-01 00:15:00+00:00z1990-01-01 00:20:00+00:00)	r3  z1990-01-01 00:00:05+00:00z1990-01-01 00:00:10+00:00z1990-01-01 00:00:15+00:00z1990-01-01 00:00:20+00:00z1990-01-01 00:00:25+00:00z1990-01-01 00:00:30+00:00z1990-01-01 00:00:35+00:00z1990-01-01 00:00:40+00:00)z 1989-12-31 23:59:59.999500+00:00r3  z 1990-01-01 00:00:00.000500+00:00z 1990-01-01 00:00:00.001000+00:00z 1990-01-01 00:00:00.001500+00:00z 1990-01-01 00:00:00.002000+00:00)r   r   r   r   r   r-   r   r  r1  r   r   MONTHLY)r,  r   resultst_deltar   r   r   s          r)   test_auto_date_locatorr7    s    
		4A	&B""2K "",K "",. ""+K
 "",. ""2..
 ""2.. ""55]6Gp %\+B3CV__WY789XEEE %
 $$>G2q"aQAr1b!QOOOO$$x~~/E/Eq.IJG2q!QAr1b!RANNNN$$a0G1aAq!Q1aAqIIIIr2   c                     R  p \         P                  ! R
R7      . RO.\         P                  ! ^4R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! RR7      . RO.3p\         P                   ! R^^4      pV FN  w  r4W#,           pV ! W%4      p\        \        \        \
        P                  ! V! 4       4      4      4      V8X  d   KN  Q h	  R	# )c                     \         P                  ! R R7      pVP                  4        VP                  P                  ! \         P
                  ! W.4      !   V# Tr  r(  r)  s   && r)   r,  Atest_auto_date_locator_intmult.<locals>._create_auto_date_locator  s@    ((DA!!#&&(GHr2   r  r   r  r  r.  r0  r    Nr2  z1980-01-01 00:00:00+00:00z2000-01-01 00:00:00+00:00r   z2040-01-01 00:00:00+00:00z2060-01-01 00:00:00+00:00z2080-01-01 00:00:00+00:00z2100-01-01 00:00:00+00:00z2120-01-01 00:00:00+00:00z2140-01-01 00:00:00+00:00z2160-01-01 00:00:00+00:00z2180-01-01 00:00:00+00:00z2200-01-01 00:00:00+00:00)1997-01-01 00:00:00+00:001997-02-01 00:00:00+00:001997-03-01 00:00:00+00:001997-04-01 00:00:00+00:001997-05-01 00:00:00+00:00z1997-06-01 00:00:00+00:00z1997-07-01 00:00:00+00:00z1997-08-01 00:00:00+00:00z1997-09-01 00:00:00+00:00z1997-10-01 00:00:00+00:00z1997-11-01 00:00:00+00:00z1997-12-01 00:00:00+00:00)
r>  z1997-01-15 00:00:00+00:00r?  z1997-02-15 00:00:00+00:00r@  z1997-03-15 00:00:00+00:00rA  z1997-04-15 00:00:00+00:00rB  z1997-05-15 00:00:00+00:00)r>  z1997-01-05 00:00:00+00:00z1997-01-09 00:00:00+00:00z1997-01-13 00:00:00+00:00z1997-01-17 00:00:00+00:00z1997-01-21 00:00:00+00:00z1997-01-25 00:00:00+00:00z1997-01-29 00:00:00+00:00r?  z1997-02-05 00:00:00+00:00z1997-02-09 00:00:00+00:00)r>  z1997-01-01 04:00:00+00:00z1997-01-01 08:00:00+00:00z1997-01-01 12:00:00+00:00z1997-01-01 16:00:00+00:00z1997-01-01 20:00:00+00:00z1997-01-02 00:00:00+00:00z1997-01-02 04:00:00+00:00z1997-01-02 08:00:00+00:00z1997-01-02 12:00:00+00:00z1997-01-02 16:00:00+00:00)r>  z1997-01-01 00:05:00+00:00z1997-01-01 00:10:00+00:00z1997-01-01 00:15:00+00:00z1997-01-01 00:20:00+00:00)	r>  z1997-01-01 00:00:05+00:00z1997-01-01 00:00:10+00:00z1997-01-01 00:00:15+00:00z1997-01-01 00:00:20+00:00z1997-01-01 00:00:25+00:00z1997-01-01 00:00:30+00:00z1997-01-01 00:00:35+00:00z1997-01-01 00:00:40+00:00)z 1996-12-31 23:59:59.999500+00:00r>  z 1997-01-01 00:00:00.000500+00:00z 1997-01-01 00:00:00.001000+00:00z 1997-01-01 00:00:00.001500+00:00z 1997-01-01 00:00:00.002000+00:00r   r   r   r   r   r-   r   )r,  r5  r   r6  r   r   r   s          r)   test_auto_date_locator_intmultrD    s<    ""2K "",K "",K ""+. "",. ""2..
 ""2.. ""55g;Gz 
		4A	&B$\+B3CV__WY789XEEE %r2   c                     \         P                  ! R R7      p \         P                  ! V 4      pRpVP                  VVR\         P                  ,          ,           VR\         P                  ,          ,           .4      pV. RO8X  g   Q hR# )Tr  g    B@r   i  N)00:00z00.0005z00.0009)r-   r  ConciseDateFormatterformat_ticksMUSECONDS_PER_DAY)r   r  	year_1996stringss       r)    test_concise_formatter_subsecondrL  +  sv    $$=G++G4II$$C&2222C&2222&4 5G 5555r2   c                  t   R  p \         P                   ! R^^4      p\         P                  ! R
R7      \        RR^4       Uu. uF  p\        V4      NK  	  up.\         P                  ! ^4R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^R7      . RO.3pV F  w  rEW,           pV ! W4      pWu8X  d   K  Q h	  R	# u upi )c                    \         P                  ! 4       w  r#\        P                  ! R R7      p\        P                  ! V4      pVP
                  P                  V4       VP
                  P                  V4       VP                  W4       VP                  P                  4        VP                  4        Uu. uF  qfP                  4       NK  	  ppV# u upi r:  r   rN   r-   r  rG  yaxisr   r   rj   r   r   get_yticklabelsr   )r*  r+  r%   r&   r   r  ststss   &&      r)   r,  9test_concise_formatter.<locals>._create_auto_date_locator7  s    ,,.((DA//8	
""7+
$$Y/
E!

')'9'9';<';{{}';<
 =s   8Cr<  r      r   r  r  r.  Nr2  )1997FebMarAprMayJunJulAugSepOctNovDec)
Jan15rX  rd  rY  rd  rZ  rd  r[  rd  )rc  05091317212529rX  re  rf  )zJan-0104:0008:0012:0016:0020:00zJan-02rl  rm  rn  ro  )rF  00:0500:1000:1500:20)	rF  re  10rd  20rj  303540)59.5rF  00.501.001.502.002.5r   r   r   r   )r,  r   r   r5  r6  r   r   rK  s           r)   test_concise_formatterr  6  s9   
 
		4A	&B""2!&tT2!67!6AQ!67 "",- "", ""+ "",? ""2.= ""2.I ""1-I3G: %\+B3""" %9 8s   D5zt_delta, expectedg{Gz?r.  z1997-Jan-01 00:00z1997-Jan-01 00:011997-Jan-011997-Jan-021997-Jan   c                    \         P                   ! R ^^4      pW ,           p\        P                  ! 4       w  rE\        P                  ! 4       p\        P
                  ! V4      pVP                  P                  V4       VP                  P                  V4       VP                  W#.^ ^ .4       VP                  P                  4        VP                  4       V8X  g   Q hR# )r<  N)r   r   rN   r-   r  rG  rY   r   r   r   r   r   
get_offset)r6  r   r   r   r%   r&   r   r  s   &&      r)   "test_concise_formatter_show_offsetr  g  s     
		4A	&B	BllnGC$$&G++G4IHHw'HH  +GGRHq!fJJOO!X---r2   c                     \         P                   ! R ^^4      p V \         P                  ! ^<R7      ,           p\        P                  ! 4       w  r#\        P
                  ! 4       p\        P                  ! V4      pVP                  P                  V4       VP                  P                  V4       VP                  4        VP                  W.^ ^ .4       VP                  P                  4        VP                  4       R8X  g   Q hR# )r<  r   r  N)r   r   r   rN   r-   r  rG  rY   r   r   invert_xaxisr   r   r   r  )r   r   r%   r&   r   r  s         r)   +test_concise_formatter_show_offset_invertedr    s    			4A	&B	h  b)	)BllnGC$$&G++G4IHHw'HH  +OOGGRHq!fJJOO!Z///r2   c                  4   \         P                   ! R ^^4      \         P                   ! R^^4      .p ^ ^.p\        P                  ! 4       w  r#VP                  W4       \        P
                  ! 4       p\        P                  ! \        RR7      ;_uu_ 4        VP                  P                  V4       RRR4       VP                  P                  e   Q hVP                  ! V !   VP                  P                  4       V8X  g   Q hR#   + '       g   i     L]; i)rp   r   zalready has a convertermatchN)r   r   rN   r   r-   ConciseDateConverterr   r   r   rY   set_converterr9   rs   get_converter)r!   yr%   r&   convs        r)   test_concise_converter_staysr    s     
		4A	&(9(9$2(FGA	
AAllnGCGGAM&&(D	k)B	C	C
t$ 
D88>>!!!KKO88!!#t+++	 
D	Cs   DD	c                     \         P                  ! 4       w  r\        P                  ! R ^^4      pV\        P                  ! RR7      ,           p\        P
                  ! 4       p\        P                  ! V4      pVP                  P                  V4       VP                  P                  V4       VP                  W#.^ ^ .4       V P                  4        VP                  4       R8X  g   Q hVP                  W"\        P                  ! ^R7      ,           4       V P                  4        VP                  4       R8X  g   Q hVP                  V\        P                  ! ^R7      ,           V\        P                  ! ^R7      ,           4       V P                  4        VP                  4       R8X  g   Q hVP                  W"\        P                  ! RR7      ,           4       V P                  4        VP                  4       R8X  g   Q hR# )r<  r  r  r  r  rW  N)r   rN   r   r   r-   r  rG  rY   r   r   r   rP   r  rs   )r%   r&   r   r   r   r  s         r)   test_offset_changesr    s   llnGC			4A	&B	h  s+	+B$$&G++G4IHHw'HH  +GGRHq!f !R'''KK++!445 !Z///KKX''a00X''b113 !V+++KK++#667 !R'''r2   rU  rV  c                    \         P                   ! R ^^4      pW ,           p\        P                  ! RR7      pVP                  4        VP                  P                  \        P                  ! V4      \        P                  ! V4      4       \        P                  ! VRR7      pVP                  V! 4       4      V8X  g   Q hR# )r<  Tr  r  N)	r   r-   r  r  r  r  r.   rG  rH  )r6  r   r   r   r   r  s   &&    r)   test_concise_formatter_usetexr    s    , 
		4A	&B	B$$=GLL""6??2#68KL++GDAI!!'),888r2   c                    a . ROoV3R lp \         P                   ! R^^4      p\         P                  ! RR7      \        RR^4       Uu. uF  p\        V4      NK  	  up.\         P                  ! ^4R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R	7      . RO.\         P                  ! ^R	7      . RO.3pV F  w  rEW,           pV ! W4      pWu8X  d   K  Q h	  R
# u upi )%Yc                   < \         P                  ! 4       w  r#\        P                  ! R R7      p\        P                  ! VSR7      pVP
                  P                  V4       VP
                  P                  V4       VP                  W4       VP                  P                  4        VP                  4        Uu. uF  qfP                  4       NK  	  ppV# u upi )Tr  )formatsrO  )	r*  r+  r%   r&   r   r  rR  rS  r  s	   &&      r)   r,  Atest_concise_formatter_formats.<locals>._create_auto_date_locator  s    ,,.((DA//I	
""7+
$$Y/
E!

')'9'9';<';{{}';<
 =   ;Cr<  r  rU  rV  r   r  r  r.  N)r  z%m/%Yzday: %d%H hr %M minr  z	%S.%f secr2  )rW  02/199703/199704/199705/1997z06/1997z07/1997z08/1997z09/1997z10/1997z11/1997z12/1997)
01/1997day: 15r  r  r  r  r  r  r  r  )r  day: 05day: 09zday: 13zday: 17zday: 21zday: 25zday: 29r  r  r  )zday: 0104 hr 00 min08 hr 00 min12 hr 00 min16 hr 00 minz20 hr 00 minzday: 02r  r  r  r  )00 hr 00 minz00 hr 05 minz00 hr 10 minz00 hr 15 minz00 hr 20 min)	r  z05.000000 secz10.000000 secz15.000000 secz20.000000 secz25.000000 secz30.000000 secz35.000000 secz40.000000 sec)z59.500000 secr  z00.500000 secz01.000000 secz01.500000 secz02.000000 secz02.500000 secr  )	r,  r   r   r5  r6  r   r   rK  r  s	           @r)   test_concise_formatter_formatsr    sN   <G
 
		4A	&B			(	+eD	r? . ?c!f ? . 				"	% ( 	 
			% ( 	 
			$ ' 	 
		"	% ( 	
 
		B	' *9 	:			B	' * 	
 
		A	& ) 	7
G@ %\+B3""" %?.   	D=c                    a . ROoV3R lp \         P                   ! R^^4      p\         P                  ! RR7      \        RR^4       Uu. uF  p\        V4      NK  	  up.\         P                  ! ^4R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R	7      . RO.\         P                  ! ^R	7      . RO.3pV F  w  rEW,           pV ! W4      pWu8X  d   K  Q h	  R
# u upi )r  c                   < \         P                  ! 4       w  r#\        P                  ! R R7      p\        P                  ! VSR7      pVP
                  P                  V4       VP
                  P                  V4       VP                  W4       VP                  P                  4        VP                  4        Uu. uF  qfP                  4       NK  	  ppV# u upi )Tr  )zero_formatsrO  )	r*  r+  r%   r&   r   r  rR  rS  r  s	   &&      r)   r,  Btest_concise_formatter_zformats.<locals>._create_auto_date_locator  s    ,,.((DA//,0	
""7+
$$Y/
E!

')'9'9';<';{{}';<
 =r  r<  r  rU  rV  r   r  r  r.  N)r  z'%yz%Bz%m-%dz%Sz%S.%fr2  )z'97rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  )
Januaryrd  Februaryrd  Marchrd  Aprilrd  r[  rd  )r  re  rf  rg  rh  ri  rj  rk  r  re  rf  )z01-01rl  rm  rn  ro  rp  z01-02rl  rm  rn  ro  )00rq  rr  rs  rt  )	r  re  ru  rd  rv  rj  rw  rx  ry  )rz  z00.0r{  r|  r}  r~  r  r  )	r,  r   r   r5  r6  r   r   rK  r  s	           @r)   test_concise_formatter_zformatsr    s@   <L 
		4A	&B""2!&tT2!67!6AQ!67 "",> "",6 ""+8 "",A ""2.: ""2.F ""1-H3G: %\+B3""" %9 8r  c                     R  p \         P                   ! R^^4      P                  \         P                  P                  R7      p\         P                  ! ^(R7      . R
OR.\         P                  ! ^R7      . ROR.\         P                  ! ^(R7      . ROR.\         P                  ! ^R7      . ROR.3p\         P                  ! \         P                  ! ^R7      4      pV F)  w  rEpW,           pV ! WV4      w  rW8X  g   Q hW8X  d   K)  Q h	  R	# )c                    \         P                  ! 4       w  r4\        P                  ! R R7      p\        P                  ! WRR7      pVP
                  P                  V4       VP
                  P                  V4       VP                  W4       VP                  P                  4        VP                  4        Uu. uF  qwP                  4       NK  	  ppWP
                  P                  4       P                  4       3# u upi )Tr  tz)r   rN   r-   r  rG  rP  r   r   rj   r   r   rQ  r   get_offset_text)	r*  r+  r  r%   r&   r   r  rR  rS  s	   &&&      r)   r,  <test_concise_formatter_tz.<locals>._create_auto_date_locatorN  s    ,,.((DA//?	
""7+
$$Y/
E!

')'9'9';<';{{}';<HH,,.77999 =s   9C<r<  rA   r  r  r  r  r.  z1997-Jan-01 03:00N)03:0007:0011:0015:0019:00z23:00r  r  r  r  r  )r  z03:05z03:10z03:15z03:20)	r  re  ru  rd  rv  rj  rw  rx  ry  )rz  r  r{  r|  r}  r~  r  )r   replacetimezoneutcr   )
r,  r   r5  new_tzr6  expected_stringsexpected_offsetr   rK  offsets
             r)   test_concise_formatter_tzr  M  s   
: 
		4A	&	.	.h6G6G6K6K	.	LB"",>
 ""2.= ""2.I# ""1-I#G& x11:;F6=2?\3BFC***(((	 7>r2   c                     R  p \         P                  ! RR7      . RO.\         P                  ! ^4R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.3p\        P                  P	                  R4      p\         P                   ! R^^VR7      pV Fq  w  rE\        R	R
/4      ;_uu_ 4        W4,           pV ! W6V4      p\        \        \        \        P                  ! V! 4       VR7      4      4      pW8X  g   Q h RRR4       Ks  	  R#   + '       g   i     K  ; i)c                     \         P                  ! R VR7      pVP                  4        VP                  P                  ! \         P
                  ! W.4      !   V# )Tr  r  r(  )r*  r+  r  r   s   &&& r)   r,  Dtest_auto_date_locator_intmult_tz.<locals>._create_auto_date_locatorw  sB    ((DRH!!#&&(GHr2   r  r   r  r  r.  zCanada/Pacificr<  rA   z_internal.classic_modeFr  Nr2  )z1980-01-01 00:00:00-08:00z2000-01-01 00:00:00-08:00z2020-01-01 00:00:00-08:00z2040-01-01 00:00:00-08:00z2060-01-01 00:00:00-08:00z2080-01-01 00:00:00-08:00z2100-01-01 00:00:00-08:00z2120-01-01 00:00:00-08:00z2140-01-01 00:00:00-08:00z2160-01-01 00:00:00-08:00z2180-01-01 00:00:00-08:00z2200-01-01 00:00:00-08:00)1997-01-01 00:00:00-08:001997-02-01 00:00:00-08:001997-03-01 00:00:00-08:001997-04-01 00:00:00-08:001997-05-01 00:00:00-07:00z1997-06-01 00:00:00-07:00z1997-07-01 00:00:00-07:00z1997-08-01 00:00:00-07:00z1997-09-01 00:00:00-07:00z1997-10-01 00:00:00-07:00z1997-11-01 00:00:00-08:00z1997-12-01 00:00:00-08:00)
r  z1997-01-15 00:00:00-08:00r  z1997-02-15 00:00:00-08:00r  z1997-03-15 00:00:00-08:00r  z1997-04-15 00:00:00-07:00r  z1997-05-15 00:00:00-07:00)r  z1997-01-05 00:00:00-08:00z1997-01-09 00:00:00-08:00z1997-01-13 00:00:00-08:00z1997-01-17 00:00:00-08:00z1997-01-21 00:00:00-08:00z1997-01-25 00:00:00-08:00z1997-01-29 00:00:00-08:00r  z1997-02-05 00:00:00-08:00z1997-02-09 00:00:00-08:00)r  z1997-01-01 04:00:00-08:00z1997-01-01 08:00:00-08:00z1997-01-01 12:00:00-08:00z1997-01-01 16:00:00-08:00z1997-01-01 20:00:00-08:00z1997-01-02 00:00:00-08:00z1997-01-02 04:00:00-08:00z1997-01-02 08:00:00-08:00z1997-01-02 12:00:00-08:00z1997-01-02 16:00:00-08:00)r  z1997-01-01 00:05:00-08:00z1997-01-01 00:10:00-08:00z1997-01-01 00:15:00-08:00z1997-01-01 00:20:00-08:00)	r  z1997-01-01 00:00:05-08:00z1997-01-01 00:00:10-08:00z1997-01-01 00:00:15-08:00z1997-01-01 00:00:20-08:00z1997-01-01 00:00:25-08:00z1997-01-01 00:00:30-08:00z1997-01-01 00:00:35-08:00z1997-01-01 00:00:40-08:00)r   r   r   r  gettzr   r   r   r   r-   r   )	r,  r5  r  r   r6  r   r   r   rR  s	            r)   !test_auto_date_locator_intmult_tzr  v  sa    ""0K "",K "",K ""+. "",. ""2..
 ""2..Y3Gj 
		+	,B			4Ab	1B$159::B/;Gc#vwyR@ABB>!>	 ;: %:::s   AE..E?zdate_inverted_limit.pngc                     \         P                   ! R ^^4      p \         P                   ! R ^^4      p\        P                  ! 4       w  r#VP                  V R^R7       VP	                  V \         P
                  ! ^R7      ,
          V\         P
                  ! ^R7      ,           4       VP                  4        VP                  RR7       R# rw   )r   r   rN   r^   rj   r   invert_yaxisrk   rl   s       r)   test_date_inverted_limitr    s     
		4B	'B			4B	'BllnGCJJrAJ&KKX''Q//X''Q//1OOT"r2   c           	          \         P                  P                  R 4      p\        P                  p\
        P
                  ! R^^^ ^ VR7      p\
        P                  ! ^!^-R7      pVP                  R,          p^pV ! WEVR7      pV! W4      p	R\        P                  ! \        P                  ! R4      4      ,           p
\        V4       Uu. uF  qW,          ,           NK  	  pp\        \        P                  ! V	4      4      pW8X  g   Q hR# u upi )	zEurope/Brusselsr  rA   )r  r/  iQ )r"  freqperiodsg    p&ArM   N)r   r  r  r-   rF   r   r   r/  r.   r   r;   r   r   )
date_range
tz_convertBRUSSELSrF   dtstartr   interval_daysNdt_utcdt_bxlr+   rG   expected_ordinalfactual_ordinalfs   &&            r)   _test_date2num_dstr    s     {{  !23H
**C aQ#>G!!"b9H$$u,M	Aga@F)F	FOOBMM,$?@	@B;@8D8aq0118D6??623O/// Es   	Dc                  b   a  ! R  R\         P                   4      oV3R lp R p\        W4       R# )c                   ^   a a ] tR tRt oRtV 3R ltV 3R ltV 3R lt]R 4       t	Rt
VtV ;t# )%test_date2num_dst.<locals>.dt_tzawarei  z
This bug specifically occurs because of the normalization behavior of
pandas Timestamp objects, so in order to replicate it, we need a
datetime-like object that applies timezone normalization after
subtraction.
c                   < \         SV `  V4      p\        VR R4      pVe#   \        VRR4      pVe   VP                  V4      p\	        V\
        P
                  4      '       d   V P                  V4      pV# )rB   N	normalize)super__sub__getattrr  
isinstancer   
mk_tzaware)r   otherrrB   	localizer	__class__s   &&   r)   r  -test_date2num_dst.<locals>.dt_tzaware.__sub__  so    &AQ$/F!#FK>	(((+A!X..//OOA&Hr2   c                @   < V P                  \        SV `	  V4      4      # N)r  r  __add__)r   r  r  s   &&r)   r  -test_date2num_dst.<locals>.dt_tzaware.__add__  s    ??57?5#9::r2   c                D   < \         SV `  V4      pV P                  V4      # r  )r  
astimezoner  )r   rB   r   r  s   && r)   r  0test_date2num_dst.<locals>.dt_tzaware.astimezone  s!    #F+B??2&&r2   c                X    / pRpV F  p\        WR4      pVf   K  WRV&   K  	  V ! R/ VB # )r   N)r   r   r   hourminutesecondr   rB   r   )r  )clsdatetime_objkwargsattrsattrvals   &&    r)   r  0test_date2num_dst.<locals>.dt_tzaware.mk_tzaware   s@    FE l$7?#&4L 
 == r2   r   )r   r   r   r   __doc__r  r  r  classmethodr  r   r   __classcell__)r  r   s   @@r)   
dt_tzawarer    s2     			;	' 
	! 
	! 	!r2   r  c                 ~   < SP                  V 4      p\        V4       Uu. uF  qCWA,          ,           NK  	  up# u upi r  )r  r   )r"  r  r  r  rG   r  s   &&&  r)   r  %test_date2num_dst.<locals>.date_range  s7    ''..3Gn=n18$$n===s   :c                 L    V  Uu. uF  q"P                  V4      NK  	  up# u upi r  )r  )dt_listrB   ds   && r)   r  %test_date2num_dst.<locals>.tz_convert  s!    .56gV$g666r  N)r   r  )r  r  r  s     @r)   test_date2num_dstr    s*    .!X&& .!b>7 z.r2   c                 @   a  V 3R  lp\        S P                  V4       R# )c                  ^   < SP                   P                  ! V !  P                  \        4      # r  )DatetimeIndexr  astypeobject)argspds   *r)   r  ,test_date2num_dst_pandas.<locals>.tz_convert$  s%    **D188@@r2   N)r  r  )r  r  s   f r)   test_date2num_dst_pandasr     s    A r}}j1r2   c           	         V! R 4      pV ! \         P                   ! R^^^ 4      V4      pV ! \         P                   ! R^^^ 4      V4      p\        P                  ! \        P                  P
                  VR7      pVP                  W44      p\         P                   ! R^^^\        P                  P                  4       R7      \         P                   ! R^^^\        P                  P                  4       R7      .pWg8X  g   Q hR# )Australia/Sydneyr   )r  r  rA   N)	r   r-   r   r   r   DAILYbetweenr  tzutc)	attach_tzget_tzSYDr  dtendruleactexps   &&      r)   _test_rrulewrapperr*  *  s    
#
$C))$1a8#>Gh''aA6<EHNN$8$8'JD
,,w
&CT1aHKK4E4E4GHT1aHKK4E4E4GHJC ::r2   c            
      l   R  p \        V \        P                  P                  4       \        P                  P                  R4      p\        P                  ! R^^^ 4      p\        P                  ! R^^^ 4      p\
        P                  ! \        P                  P                  VWR7      pVP                  V4      \        P                  ! R^^^ ^ VR7      8X  g   Q hVP                  V4      \        P                  ! R^^^ ^ VR7      8X  g   Q hVP                  V8X  g   Q hVP                  ^8X  g   Q hR# )c                 &    V P                  VR 7      # )rA   )r  r   zis   &&r)   r#  $test_rrulewrapper.<locals>.attach_tz:  s    zzz$$r2   r  r   )r  r  rB   untilrA   N)r*  r   r  r  r   r-   r   r   r   afterbefore_base_tzinfo	_interval)r#  r%  r  r&  r'  s        r)   test_rrulewrapperr5  9  s   % y(++"3"34
++

.
/CaA.GdAq!,EHNN$8$8'&)8D::g("3"3D!Q1;>#@ @ @ @;;u!2!24Aq!:="? ? ? ? ###>>Qr2   c                  b    \         P                  ! R 4      p R p\        WP                  4       R# )pytzc                 $    VP                  V 4      # r  )localizer-  s   &&r)   r#  )test_rrulewrapper_pytz.<locals>.attach_tzS  s    {{2r2   N)r   importorskipr*  r  )r7  r#  s     r)   test_rrulewrapper_pytzr<  N  s'     v&D y--0r2   c            
         \         P                  ! R 4      p V P                  R4      p\        R4       Uu. uFE  pVP	                  \
        P
                  ! R^^4      4      \
        P                  ! V4      ,           NKG  	  pp\        P                  ! RVR7      pVP                  4        VP                  P                  \        P                  ! V^ ,          4      R,
          \        P                  ! VR
,          4      R,           4       \        P                  ! . RO4      pV\        P                  ! \        P                  ! R4      4      ,           p\        P                   P#                  WT! 4       4       . ROp\%        \'        \(        \        P*                  ! V! 4       VR7      4      4      pWv8X  g   Q h\        P,                  ! VP/                  V^ ,          V^,          4      \        P                  ! . RO4      4      '       g   Q h\        P,                  ! VP1                  V^,          V^ ,          4      P/                  V^ ,          V^,          4      \        P                  ! . RO4      4      '       g   Q hR	# u upi )r7  zAmerica/New_Yorkrp   rq   Tr  r   rM   r  Nr   )g{ja&Ag{jd&Ag{jtg&Ag{jNj&Ag{j*m&Ag{jp&Ag{jr&A)z2009-01-01 00:00:00-05:00z2010-01-01 00:00:00-05:00z2011-01-01 00:00:00-05:00z2012-01-01 00:00:00-05:00z2013-01-01 00:00:00-05:00z2014-01-01 00:00:00-05:00z2015-01-01 00:00:00-05:00)	g@g*@g:@gJ@gZ@gj@gz@g@g@)r   r;  r  r   r9  r   r   r-   r  r  r  r  r.   r   r   r;   r   rQ   r   r   r   r   allcloser   get_locator)r7  r  rG   r!   r   r   r   rR  s           r)   test_yearlocator_pytzr@  Y  s   v&D	)	*B*/+	7*5Q 
X&&tQ2	3a 
! 
!*5  	7$$DGLL""6??1Q4#8#<#)??1R5#9##=?
 N 	OA 	
FOOBMM,788AJJq'),JH 
c#vwyR89	:B>>;;w**1Q416	9     ;;w**1Q416BB1Q41Nxx	   +	7s   AI=c            
         R  p \         P                   ! R^^4      p\         P                  ! R	R7      R^R^R^/. R
O.\         P                  ! R	R7      R^R^R^/. RO.\         P                  ! RR7      R^R^	R^/RR..3pV FP  w  r4pW,           pV ! W3/ VB p\        \        \        \
        P                  ! V! 4       4      4      4      V8X  d   KP  Q h	  R# )c                     \         P                  ! R/ VB pVP                  4        VP                  P	                  \         P
                  ! V 4      \         P
                  ! V4      4       V# )Nr   )r-   YearLocatorr  r  r  r.   )r*  r+  r  r   s   &&, r)   _create_year_locator.test_YearLocator.<locals>._create_year_locator{  sO    $$.v.!!#&&vu'='-u'=	?r2   r
  r  r    r   r   z1980-09-25 00:00:00+00:00z2000-09-25 00:00:00+00:00Nr2  r=  )z1980-05-16 00:00:00+00:00z2000-05-16 00:00:00+00:00z2020-05-16 00:00:00+00:00z2040-05-16 00:00:00+00:00z2060-05-16 00:00:00+00:00z2080-05-16 00:00:00+00:00z2100-05-16 00:00:00+00:00z2120-05-16 00:00:00+00:00z2140-05-16 00:00:00+00:00z2160-05-16 00:00:00+00:00z2180-05-16 00:00:00+00:00z2200-05-16 00:00:00+00:00i  rC  )rD  r   r5  r  	argumentsr   r   r   s           r)   test_YearLocatorrG  z  s     
		4A	&B""2Wa2K ""2Wa3K ""0Wa3,.IJ%G0 '."(Z&r;;CV__WY789XEEE '.r2   c                     \         P                  ! \        4      ;_uu_ 4        \        P                  ! RR7       RRR4       \         P                  ! \        4      ;_uu_ 4        \        P                  ! RR7       RRR4       \         P                  ! \        4      ;_uu_ 4        \        P                  ! ^ R7       RRR4       \         P                  ! \        4      ;_uu_ 4        \        P                  ! RR7       RRR4       \        P                  ! RR7       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lb; i)rC   r   Ng?r   r   g      )r   raises
ValueErrorr-   r   r   r2   r)   test_DayLocatorrK    s    	z	"	"2& 
#	z	"	"4( 
#	z	"	"1% 
#	z	"	"3' 
#
s# 
#	"	"	"	"	"	"	"s/   D"%D5'E)E"D2	5E	E	E+	c                      \         P                   ! R ^^\        P                  R7      p V P                  4       R8X  g   Q hR# )  rA   rF   N)r   r-   rF   tznamer   s    r)   test_tz_utcrP    s0    			4Afjj	9B99;%r2   z	x, tdeltar]   c                 B    \         P                  ! V 4      pW!8X  g   Q hR # r  )r-   num2timedelta)r!   tdeltar   s   && r)   test_num2timedeltarT    s    
 
		a	 B<<r2   c                  V   \         P                  ! R 4      \         P                  ! R4      .p \        P                  ! V 4      p\         P                  ! RR.4      \        P                  ! \         P                  ! R4      4      ,           p\         P
                  P                  W4       R# )r   z
2001-01-01    H&Ag    J&ArM   N)r   r;   r-   r.   r   r   r   )r   dnr   s      r)   test_datetime64_in_listrX    sk    
--
%r}}\'B	CB		B	7W%	&	|4	5
6AJJB"r2   c                     \         P                  ! R 4      p \        P                  ! 4        \        P                  ! 4        \
        P                  ! \        4      ;_uu_ 4        \        P                  ! R4       RRR4       \        P                  ! 4        \        P                  ! R4       V \         P                  ! R4      ,
          P                  R4      pVP                  R4      p\         P                  P                  \        P                  ! V 4      \        V4      4       \        P                  ! 4        \        P                  ! R4       \         P                  P                  \        P                  ! V 4      R4       \        P                  ! 4        \        P                  ! R4       \         P                  P                  \        P                  ! V 4      VR,
          4       \        P                  ! 4        \        P                  ! R	4       \         P                  P                  \        P                  ! \         P                  ! R
4      4      R4       R#   + '       g   i     EL; i)r   z
0000-01-01NrL   datetime64[D]intrM   rV  z1970-01-01T01:00:00z1970-01-01T00:00:00z1970-01-01T12:00:00g      ?gUUUUUU?)r   r;   r-   rS   	get_epochr   rI  RuntimeErrorrT   r  r   r   r.   floatrQ   )dater   s     r)   test_change_epochr`    s|   ==&D $$&
	|	$	$ 	& 
%
 $$&
\"
|,
,	4	4_	EB	5	BJJFOOD159=
$$&
\"JJFOOD18<
$$&
*+JJvt4b6kB
$$&
*+JJ&;<=) 
%	$	$s   #I!!I2	c                     \         P                  ! R RRR7      p \        P                  ! RR7      p^.VP                  ^&   VP                  4        VP                  P                  \        P                  ! V ^ ,          4      \        P                  ! V R	,          4      4       \        P                  ! \        RR7      ;_uu_ 4        V! 4       pRRR4       R#   + '       g   i     R# ; i)
z
2001-01-10z
2001-03-04rZ  r   Fr  zAutoDateLocator was unabler  Nr   )r   aranger-   r  	intervaldr  r  r  r.   r   r   r   )rH   r   locss      r)   test_warn_notintervalsre    s    IIlLHE$$>G3GaLL""6??58#<#)??59#=?	k)E	F	Fy 
G	F	F	Fs   CC*	c                     R \         P                  R&   \        P                  ! RRRR7      p \         P                  ! 4       w  rVP                  V \        P                  ! \        V 4      4      4       VP                  P                  4        VP                  4       ^ ,          P                  4       R8X  g   Q hVP                  4       ^,          P                  4       R8X  g   Q hR\         P                  R&   \         P                  ! 4       w  rVP                  V \        P                  ! \        V 4      4      4       VP                  P                  4        VP                  4       ^ ,          P                  4       R	8X  g   Q hVP                  4       ^,          P                  4       R
8X  g   Q h\        P                  ! \        4      ;_uu_ 4        R\         P                  R&   RRR4       R#   + '       g   i     R# ; i)concisezdate.converterz
2020-01-01
2020-05-01rZ  r   rc  rd  r   zJan 01 2020Jan 15 2020booN)r   r   r   rb  rN   r   r   r   r   r   r   r   rI  rJ  rH   r%   r&   s      r)   test_change_converterrl    s_   %.CLL!"IIlLHEllnGCGGE299SZ()JJOO"++-666"++-555%+CLL!"llnGCGGE299SZ()JJOO"++->>>"++->>>	z	"	").%& 
#	"	"	"s   G00H	c                  d   R \         P                  R&   \        P                  ! RRRR7      p \         P                  ! 4       w  rVP                  V \        P                  ! \        V 4      4      4       VP                  P                  4        VP                  4       ^ ,          P                  4       R8X  g   Q hVP                  4       ^,          P                  4       R8X  g   Q hR\         P                  R&   \         P                  ! 4       w  rVP                  V \        P                  ! \        V 4      4      4       VP                  P                  4        VP                  4       ^ ,          P                  4       R	8X  g   Q hVP                  4       ^,          P                  4       R
8X  g   Q hR# )Fzdate.interval_multiplesz
2020-01-10rh  rZ  r   zJan 10 2020zJan 24 2020Trueri  zFeb 01 2020N)r   r   r   rb  rN   r   r   r   r   r   r   rk  s      r)   test_change_interval_multiplesro    s2   .3CLL*+IIlLHEllnGCGGE299SZ()JJOO"++->>>"++->>>.4CLL*+llnGCGGE299SZ()JJOO"++->>>"++->>>r2   c                     \         P                  ! 4       p V P                  ^ \        P                  4      R8X  g   Q hV P                  ^ ^4      R8X  g   Q hV P                  ^^ 4      R8X  g   Q hV P                  ^ ^ 4      R8X  g   Q hV P                  4        V P                  4       \        P                  ! R^^^ ^ \        P                  P                  R7      \        P                  ! R^^^ ^ \        P                  P                  R7      38X  g   Q hV P                  \         P                  8X  g   Q hRp\        P                  P                  V4      pV P                  V8w  g   Q hV P                  R4       V P                  V8X  g   Q hV P                  4        V P                  P                   ! \         P"                  ! RR.4      !   V P                  4       \        P                  ! R^^^ ^ VR7      \        P                  ! R^^
^ ^ VR7      38X  g   Q hV\$        P&                  R&   \         P                  ! 4       p V P                  V8X  g   Q h\(        P*                  ! \,        RR	7      ;_uu_ 4        \         P                  ! R
R7       RRR4       \(        P*                  ! \.        RR	7      ;_uu_ 4        \         P                  ! ^R7       RRR4       R#   + '       g   i     LV; i  + '       g   i     R# ; i)r   rM  rA   Iceland
2022-01-10z
2022-01-08r?   r  z Aiceland is not a valid timezoner  Aicelandr  Nz%tz must be string or tzinfo subclass.r   rC   )r   )r-   DateLocatornonsingularr   infr  datalim_to_dtr   r  r  r  rF   r   r  
set_tzinfor  set_data_intervalr.   r   r   r   rI  rJ  	TypeError)r   tz_str
iceland_tzs      r)   test_DateLocatorr    s     "Gq"&&)V333q!$...q!$...q!$///  "$1a83D3D3H3HI$1a83D3D3H3HI'K K K K
 ::###F""6*J::###y!::###LL""FOO\5A5C %D E  "$1a:>$2q!J?'A A A A
  &CLL   "G::### 
z)K	L	Lj) 
M	yD
F 
Fa 
F 
F 
M	L
F 
F 
Fs   :K >K3 K0	3L	c            	         \         P                  ! R 4      R8X  g   Q h\        P                  ! R^^
R7      p \         P                  ! RV R7      R8X  g   Q h\        P
                  ! \         P                  ! RR.V R7      \        P                  ! RR.4      8H  4      '       g   Q h\         P                  ! . 4      P                  ^ 8X  g   Q h\         P                  ! . \        P                  ! R^^
R7      4      P                  ^ 8X  g   Q hR# )	rr      @r?   r   z2022-01)r  z2022-02g    @@N)r-   datestr2numr   r_  r   r   r   sizerO  s    r)   test_datestr2numr  E  s    l+w666	Dr	2Bi4???66&$$	I
XXvv&'( ) ) ) ) b!&&!+++b(--T67R#A BBF$!L L Lr2   kwargc                     \         P                  ! 4       pV R R./pV  R2p\        P                  ! \        VR7      ;_uu_ 4        \         P
                  ! V3/ VB  RRR4       R#   + '       g   i     R# ; i)r  r  z argument must be a listr  N)r-   r  r   rI  rJ  rG  )r  r   r  r  s   &   r)   !test_concise_formatter_exceptionsr  Q  s`     $$&Gb$Z Fg-.E	z	/	/##G6v6 
0	/	/	/s   A''A8	c                      \         P                  ! 4       p \         P                  ! V 4      pV! R 4      R8X  g   Q hVP                  R 4      R8X  g   Q hR# )r  2022z2022-01-10 00:00:00N)r-   r  rG  format_data_short)r   r  s     r)   test_concise_formatter_callr  [  sM    $$&G++G4IW'''&&w/3HHHHr2   c            
         \         P                  ! \        ^^4       U u. uF  p \        P                  ! R^V 4      NK  	  up 4      p\         P                  ! . RO4      p\         P                  P                  V^ 4      p\        P                  ! 4       w  rEVP                  W4       VP                  4       R8X  g   Q hR# u up i )rC   r   N)rC   r   r      r   rt  )
r   r   r   r   rD   masked_greaterr   rN   r   rR   )nr!   r  mr%   r&   s         r)   test_datetime_maskedr  b  s     	q!EA(##D!Q/EFA
!A
Q"AllnGCGGAM;;=F""" Fs   !C r  c                     \         P                  ! \        R V  R2R7      ;_uu_ 4        \        P                  ! V 4       RRR4       R#   + '       g   i     R# ; i)zDate ordinal z	 convertsr  N)r   rI  rJ  r-   r   )r  s   &r)   test_num2date_errorr  n  s8    	z=Y)G	H	H 
I	H	H	Hs   A

A	c                  H   \         P                  ! R 4      \        P                  ! R^
^^ ^ ^R\        P                  P                  R7      8X  g   Q h\         P                  ! R4      \        P                  ! R^
^^ ^ ^\        P                  P                  R7      8X  g   Q hR# )gj<  j@i  i,B rA   gq<  j@N)r-   r   r   r  r  r   r2   r)   test_num2date_roundoffr  t  s    ??,-1B1Bb"aAvh.?.?.C.C2E E E E ??,-1B1Bb"aAh&7&7&;&;2= = = =r2   c                     \         P                  ! \        P                  ! R ^^^ ^ \         P                  R7      4      p \         P                  ! R4      pV! V 4      R8X  g   Q hVP                  R4       V! V 4      R8X  g   Q hR# )r  rA   z%Y-%b-%d %H:%Mz2011-Jan-01 00:00zPacific/Kiritimatiz2011-Jan-01 14:00N)r-   r.   r   rF   DateFormatterrz  )r"   r  s     r)   test_DateFormatter_settzr  |  sx    ??8,,T1aA4:JJ@ AD$$%56IT?1111 -.T?1111r2   )zdatetime64[s]zdatetime64[us]zdatetime64[ms]r
   )smsusnsr2  )rc  $\mathdefault{05}$$\mathdefault{09}$z$\mathdefault{13}$z$\mathdefault{17}$z$\mathdefault{21}$z$\mathdefault{25}$z$\mathdefault{29}$rX  r  r  )zJan$\mathdefault{{-}01}$$\mathdefault{04{:}00}$$\mathdefault{08{:}00}$$\mathdefault{12{:}00}$$\mathdefault{16{:}00}$z$\mathdefault{20{:}00}$zJan$\mathdefault{{-}02}$r  r  r  r  )z$\mathdefault{59.5}$z$\mathdefault{00{:}00}$z$\mathdefault{00.5}$z$\mathdefault{01.0}$z$\mathdefault{01.5}$z$\mathdefault{02.0}$z$\mathdefault{02.5}$)r  r  offset_formats)ii )Wr   dateutil.tzr   dateutil.rruler   numpyr   r   
matplotlibr   r   matplotlib.datesrH   r-   matplotlib.pyplotpyplotr   matplotlib.testing.decoratorsr   matplotlib.tickertickerr   r*   markparametrizer1   r8   r=   rJ   rV   r[   r_   rn   ru   r{   r   r   r   r   r   r   r   r   r  r   r   r  r%  r7  rD  rL  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r*  r5  r7  r<  r@  rG  rK  rP  rT  rX  r`  re  rl  ro  r  r  r  r  r  r  r  r  )r   r   r   minur   s   00000r)   <module>r     s         ( !  : #P$  1 1$1aA F!)!2!24Aq!Q!G!)!2!24Aq!Q!G!I #+"3"3D!Q1a"H"*"3"3D!Q1a"H"J"*"3"3D!Q1a"H"*"3"3D!Q1a"H"J!K L M  #5 6*	6M*  #5 60	60 "9: ;
*(',8'( %&'# (# %&' ( %&'# (# %&' (#8 ,-. /.	P 89: ;0"@
K *h'/4T4/DE/Dtd""/DEGR ;@B?K?C)C//?KMb!:?2q/J/$&--/JL#:?2,G,$&--,GI	- 	=	=;@ LJ LJ^ HF HFV6.#b ,%':;"$78a -0Q/a *-b!2&c"B'/ ..0",.(4 ,h'-24r-BC-Bqe##-BCER 45
 b!"# " / *	9+*	94#n1#h&)RC"L ,-.	# /	#0,>/B2* 1 1  @$FN	$ 
 h00a89s8h&8&8a&@&.&8&8c&B&D EFG	G
#@/*?&+!\	L FH7H7I	#  45 6
=	2G! FKJGH Ds   U#U(7U-)U2U7