+
    ix              	        a  0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
Ht ^ RIHtHtHt ^ RIt^ RIHtHtHt ^ RIt^ RIHtHt ^ RIHt ^ RIHtHt ^ R	IH t   ! R
 R4      t! ! R R4      t" ! R R4      t# ! R R4      t$ ! R R4      t%R t&R t']'R 4       t(R t)R t*]PV                  PY                  R. RHO4      R 4       t-R t.R t/R^R^/RRR.//3R^R^/RRRR.//33t0R ]1R!&   R/ / 3R^R^/R^R^// 3R^/R^/RRRR.//33t2R"]1R#&   ]PV                  PY                  R$]04      R% 4       t3]PV                  PY                  R&]24      R' 4       t4R( t5R) t6R* t7R+ t8R, t9R- t:R. t;R/ t<]PV                  PY                  R0]Pz                  ! ^4      P}                  ^^4      R3]Pz                  ! ^4      R3]Pz                  ! ^4      ]Pz                  ! ^4      3.4      R1 4       t?R2 t@R3 tAR4 tBR5 tCR6 tDR7 tER8 tFR9 tGR: tHR; tIR< tJR= tKR> tLR? tMR@ tNRA tORB tP]PV                  PY                  RC. RIO4      RD 4       tQRE tRRF tSRG tTR# )J    )annotationsN)Any)patchMock)datetimedate	timedelta)assert_array_equalassert_approx_equalassert_array_almost_equal)_apicbook)delete_masked_points
strip_math)
ModuleTypec                  .    ] tR t^tR tR tR tR tRtR# )Test_delete_masked_pointsc           	     	    \         P                  ! \        4      ;_uu_ 4        \        R \        P
                  ! RR4      4       RRR4       R#   + '       g   i     R# ; i)za stringg      ?g      @N)pytestraises
ValueErrorr   nparangeselfs   &{/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/matplotlib/tests/test_cbook.pytest_bad_first_arg,Test_delete_masked_points.test_bad_first_arg   s5    ]]:&& RYYsC-@A '&&&s   "AA 	c                	   . ROp^^^\         P                  \         P                  ^.p\        W4      w  r4. ROp\        V\         P                  ! V4      V,          4       \        V\         P                  ! V4      V,          4       R# )aN)r    bcdef)r            )r   nanr   r
   array)r   a1a2result1result2inds   &     r   test_string_seq)Test_delete_masked_points.test_string_seq   sa    +Arvvrvvq)/77BHHRL$567BHHRL$56    c           
     	   \        R ^^4      \        R ^^4      \        R ^^4      \        R ^^4      \        R ^^4      \        R ^^4      .p\        P                  P                  ^^^\        P                  \        P                  ^.. ROR7      p\        W4      p. ROp\        V^ ,          \        P                  ! V4      V,          4       \        V^,          W$,          P                  4       4       R# )i  maskNFFTTFFr   r&   r(   )r   r   mar*   r)   r   r
   
compressed)r   datesa_maskedactualr/   s   &    r   test_datetime'Test_delete_masked_points.test_datetime%   s    $1%xa';$1%xa';$1%xa';= 55;;1a;$L  N%e66!9bhhuoc&:;6!9hm&>&>&@Ar2   c                	^   \         P                  P                  ^^^\         P                  \         P                  ^.. ROR7      p\        P
                  ! . RO4      p\        W4      p. ROp\        V^ ,          W,          P                  4       4       \        V^,          W$,          4       R# )r&   r4   Nr6   )rgr!   r"   myr7   )	r   r8   r*   r)   mcolorsto_rgba_arrayr   r
   r9   )r   r;   a_rgbar<   r/   s   &    r   	test_rgba#Test_delete_masked_points.test_rgba0   s}    55;;1a;$L  N&&'EF%h76!9hm&>&>&@A6!9fk2r2    N)	__name__
__module____qualname____firstlineno__r   r0   r=   rG   __static_attributes__rI   r2   r   r   r      s    B7	B3r2   r   c                  d    ] tR t^:tR tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tRtR# )Test_boxplot_statsc                	2   \         P                  P                  R 4       ^%V n        ^V n        \         P                  P                  V P                  V P                  3RRR7      V n        \        . RO4      V n        \        P                  ! V P                  4      V n        R
RR	RRRRRRRR\         P                  ! . R O4      RRRRRRRR/
V n        R
RR	R/V n        RRRRR\         P                  ! RR.4      /V n        RRRR/V n        RRRR/V n        R# )!i        ?g      ?)sizemeansigmarT   medq1q3iqrcilocihiwhislowhishifliersgP$C@g>zzD*@gjtxJ*@gDm(
@Ӿ#W@79qU@g]Y?g6 v-@gIQ;@g inޓ?gN!@g?g =ɳE@geLM?g,#W@N)rT   rV   rW   rX   rY   rZ   r[   r\   r]   r^   labelg@ÿ)r_   r`   gEɳE@gqמC@)r   randomseednrowsncols	lognormaldatasorted
known_keysr   boxplot_statsstd_resultsr*   known_nonbootstrapped_resknown_bootstrapped_ciknown_whis3_resknown_res_percentilesknown_res_ranger   s   &r   setup_methodTest_boxplot_stats.setup_method;   sC   
		s

II''djj$**-E-0 ( >	  "
 
 !..tyy9 &'%%%bhh    $#(**
&  %&&
" (*bhh[9: 
 *)&
" *( 
r2   c                	J    \        V P                  \        4      '       g   Q hR # N)
isinstancerk   listr   s   &r   test_form_main_list&Test_boxplot_stats.test_form_main_listm   s    $**D1111r2   c                	\    V P                    F  p\        V\        4      '       d   K  Q h	  R # rt   )rk   ru   dictr   ress   & r   test_form_each_dict&Test_boxplot_stats.test_form_each_dictp   s%    ##Cc4(((( $r2   c                	v    V P                    F(  p\        V4      \        V P                  4      8:  d   K(  Q h	  R # rt   )rk   setri   r{   s   & r   test_form_dict_keys&Test_boxplot_stats.test_form_dict_keyst   s-    ##Cs8s4??3333 $r2   c                	    V P                   ^ ,          pV P                  P                  4        F  w  r#\        W,          V4       K  	  R# )r   N)rk   rl   itemsr   )r   r|   keyvalues   &   r   test_results_baseline(Test_boxplot_stats.test_results_baselinex   s:    q!88>>@JC%ch6 Ar2   c                	    \         P                  ! V P                  R R7      pV^ ,          pV P                  P	                  4        F  w  r4\        W#,          V4       K  	  R# )i'  )	bootstrapN)r   rj   rg   rm   r   r   r   resultsr|   r   r   s   &    r   test_results_bootstrapped,Test_boxplot_stats.test_results_bootstrapped}   sH    %%dii5Aaj44::<JC%0 =r2   c                	    \         P                  ! V P                  ^R7      pV^ ,          pV P                  P	                  4        F  w  r4\        W#,          V4       K  	  R# )   whisN)r   rj   rg   rn   r   r   r   s   &    r   test_results_whiskers_float.Test_boxplot_stats.test_results_whiskers_float   sH    %%diia8aj..446JC%ch6 7r2   c                	    \         P                  ! V P                  ^ ^d.R7      pV^ ,          pV P                  P	                  4        F  w  r4\        W#,          V4       K  	  R# )r   r   N)r   rj   rg   rp   r   r   r   s   &    r   test_results_whiskers_range.Test_boxplot_stats.test_results_whiskers_range   sL    %%diiq#h?aj..446JC%ch6 7r2   c                	    \         P                  ! V P                  ^^_.R7      pV^ ,          pV P                  P	                  4        F  w  r4\        W#,          V4       K  	  R# )r(   r   N)r   rj   rg   ro   r   r   r   s   &    r   !test_results_whiskers_percentiles4Test_boxplot_stats.test_results_whiskers_percentiles   sL    %%diiq"g>aj44::<JC%ch6 =r2   c                	    . ROp\         P                  ! V P                  VR7      p\        W4       F  w  r4VR,          V8X  d   K  Q h	  \         P                  ! V P                  4      pV F  pRV9  d   K  Q h	  R# )Test1labelsra   N)r   r'   Aardvark   )r   rj   rg   zip)r   r   r   labr|   s   &    r   test_results_withlabels*Test_boxplot_stats.test_results_withlabels   sn    ,%%dii?F,HCw<3&&& - %%dii0C#%%% r2   c                	    ^^.p\         P                  ! \        4      ;_uu_ 4        \        P                  ! V P
                  VR7       RRR4       R#   + '       g   i     R# ; i)r&   r   N)r   r   r   r   rj   rg   )r   r   s   & r   test_label_error#Test_boxplot_stats.test_label_error   s=    Q]]:&&		&9 '&&&s   #AA%	c                	    \         P                  P                  RR7      p\        P                  ! \
        4      ;_uu_ 4        \        P                  ! V4       RRR4       R#   + '       g   i     R# ; i)"   )rS   N)r   r   r   )r   rb   normalr   r   r   r   rj   r   rg   s   & r   test_bad_dims Test_boxplot_stats.test_bad_dims   sE    yy\2]]:&&% '&&&s   A$$A5	c                	   \         P                  ! ^R7      p\         P                  ! R	V^.4      p\        P                  ! VRR7      p\        P                  ! VRR7      pV^ ,          R,          ^ 8X  g   Q hV^ ,          R,          ^ 8X  g   Q h\        V^ ,          R,          R	^.4       V^ ,          R,          R	8X  g   Q hV^ ,          R,          ^8X  g   Q h\        V^ ,          R,          . 4       R# )
   )shapeF)	autorangeTr\   r]   r^   Ni)r   zeroshstackr   rj   r   )r   xbstats_falsebstats_trues   &   r   "test_boxplot_stats_autorange_false5Test_boxplot_stats.test_boxplot_stats_autorange_false   s    HH3IIsArl#**1>))!t<Ax(A---Ax(A---!,q/(";c2YG1~h'3...1~h'2---!+a.":B?r2   )
rg   rm   ri   rl   ro   rp   rn   re   rd   rk   N)rJ   rK   rL   rM   rq   rw   r}   r   r   r   r   r   r   r   r   r   r   rN   rI   r2   r   rP   rP   :   sE    0
d2)47
1777&:
&
@r2   rP   c                      ] tR t^tR tRtR# )Hashablec                	    R # rt   rI   r   s   &r   dummyHashable.dummy       Tr2   rI   N)rJ   rK   rL   rM   r   rN   rI   r2   r   r   r      s    r2   r   c                       ] tR t^tRtR tRtR# )
UnhashableNc                	    R # rt   rI   r   s   &r   r   Unhashable.dummy   r   r2   rI   )rJ   rK   rL   rM   __hash__r   rN   rI   r2   r   r   r      s
    Hr2   r   c                  n   ] tR t^tR tR tR tR tR tR t	R t
]P                  P                  RR	R
.4      ]P                  P                  R]].4      R 4       4       t]P                  P                  RR	R
.4      ]P                  P                  R]].4      R 4       4       t]P                  P                  RR	R
.4      ]P                  P                  R]].4      R 4       4       t]P                  P                  RR	R
.4      ]P                  P                  R]].4      R 4       4       tR tRtR# )Test_callback_registryc                	H    R V n         \        P                  ! 4       V n        R# )testN)signalr   CallbackRegistry	callbacksr   s   &r   rq   #Test_callback_registry.setup_method   s    //1r2   c                	~    V'       d   V P                   P                  W4      # V P                   P                  W4      # rt   )r   connect_connect_picklable)r   sfuncpickles   &&&&r   r   Test_callback_registry.connect   s/    >>))!22>>44Q==r2   c                	8    V P                   P                  V4      # rt   )r   
disconnect)r   cids   &&r   r   !Test_callback_registry.disconnect   s    ~~((--r2   c                	   a  \        V 3R  lS P                  P                   4       4      p\        S P                  P                  P	                  S P
                  4      4      pW8X  g   Q hV# )c              3  F   <"   T F  w  rVSP                   8H  x  K  	  R # 5irt   r   ).0r   pr   s   &  r   	<genexpr>/Test_callback_registry.count.<locals>.<genexpr>   s     O2N$!Q$++%2Ns   !)sumr   _func_cid_maplengetr   )r   count1count2s   f  r   countTest_callback_registry.count   sQ    O$..2N2NOOT^^--11$++>?r2   c                	   \         P                  P                  4        . V P                  P                  O. 8X  g   Q hV P                  P                  / 8X  g   Q hV P                  P
                  \        4       8X  g   Q hR # rt   )r   testingbreak_cyclesr   r   _pickled_cidsr   r   s   &r   is_emptyTest_callback_registry.is_empty   sa    


!.--."444~~''2---~~++su444r2   c                	    \         P                  P                  4        . V P                  P                  O. 8w  g   Q hV P                  P                  / 8w  g   Q hR # rt   )r   r   r   r   r   r   s   &r   is_not_empty#Test_callback_registry.is_not_empty   sG    


!.--."444~~''2---r2   c                	    \         P                  ! 4       pVP                  R R 4       \        P                  ! \        P
                  ! V4      4      pVP                  RR 4      pV^8X  g   Q hR# )r    c                     R # rt   rI   rI   r2   r   <lambda>9Test_callback_registry.test_cid_restore.<locals>.<lambda>   s    r2   r"   c                     R # rt   rI   rI   r2   r   r   r      s    tr2   N)r   r   r   r   loadsdumps)r   cbcb2r   s   &   r   test_cid_restore'Test_callback_registry.test_cid_restore   sP    ##%


3%ll6<<+,kk#|,axxr2   r   TFclsc                	   V P                  4        V! 4       pV P                  V P                  VP                  V4      p\	        V4      \
        J g   Q hV P                  4        V P                  V P                  VP                  V4      pWE8X  g   Q hV P                  4        \        . V P                  P                  O4      ^8X  g   Q h\        V P                  P                  4      ^8X  g   Q h?V P                  4        R# )r&   N)
r   r   r   r   typeintr   r   r   r   )r   r   r   mini_mecid1cid2s   &&&   r   test_callback_complete-Test_callback_registry.test_callback_complete   s     	 % ||DKK?DzS    ||DKK?||2T^^1123q8884>>++,111 	r2   c                	   V P                  4        V! 4       pV P                  V P                  VP                  V4      p\	        V4      \
        J g   Q hV P                  4        V P                  V4       V P                  4        R # rt   r   r   r   r   r   r   r   r   r   r   r   r   r   s   &&&  r   test_callback_disconnect/Test_callback_registry.test_callback_disconnect  sg     	 % ||DKK?DzS    	r2   c                	   V P                  4        V! 4       pV P                  V P                  VP                  V4      p\	        V4      \
        J g   Q hV P                  4        V P                  R 4       V P                  4        R# )fooNr  r  s   &&&  r   test_callback_wrong_disconnect5Test_callback_registry.test_callback_wrong_disconnect  sj     	 % ||DKK?DzS    	r2   c                	   V P                  4        V! 4       pV P                  V P                  VP                  V4       V! 4       pV P                  V P                  VP                  V4       V! 4       pV P                  V P                  VP                  V4       V P	                  4        V P                  4       ^8X  g   Q hRpRpV P                  4        R# r'   N)r   r   r   r   r   r   )r   r   r   r   mini_me2s   &&&  r   'test_registration_on_non_empty_registry>Test_callback_registry.test_registration_on_non_empty_registry'  s     	 %T[['--8 5T[[(..&9 5T[[(..&9 	zz|q    r2   c                	    \        \        P                  ! \        P                  ! \        P
                  ! 4       4      4      R 4      '       g   Q hR# )r   N)hasattrr   r   r   r   r   r   s   &r   test_pickling$Test_callback_registry.test_picklingB  s9    v||FLL1G1G1I$JK"$ $ 	$ $r2   )r   r   N)rJ   rK   rL   rM   rq   r   r   r   r   r   r   r   markparametrizer   r   r  r  r
  r  r  rN   rI   r2   r   r   r      sF   2>.5.
 [[Xe}5[[UXz$:; < 60 [[Xe}5[[UXz$:; < 6" [[Xe}5[[UXz$:; < 6" [[Xe}5[[UXz$:; < 62$r2   r   c                V   \         P                  ! 4       pVP                  R R 4       VP                  \         RR 4       \        P
                  ! \        4      ;_uu_ 4        VP                  R R4       RRR4       V P                  4       pVP                  VP                  u;8X  d	   R8X  g   Q h Q hVP                  \         RR 4       VP                  R R4       V P                  4       pVP                  R8X  g   Q hRVP                  9   g   Q hR#   + '       g   i     L; i)	r	  c                     R # rt   rI   rI   r2   r   r   Atest_callbackregistry_default_exception_handler.<locals>.<lambda>I  s    dr2   "_get_running_interactive_frameworkc                     R # rt   rI   rI   r2   r   r   r  L      Tr2   zargument mismatchN c                     R # )znot-nonerI   rI   r2   r   r   r  S  s    Zr2   z,takes 0 positional arguments but 1 was given)r   r   r   setattrr   r   	TypeErrorprocess
readouterrouterr)capsysmonkeypatchr   outerrs   &&  r   /test_callbackregistry_default_exception_handlerr(  G  s    				!BJJul#3\C	y	!	!


5-. 
" F::)r)))))35GIJJu)* F::9VZZGGG 
"	!s   #DD(	c                  a  ! R  R\         4      oR pR pV3R lp\        P                  ! RR7      pVP                  RV4       \        P                  ! VR7      pVP                  RV4       \        P                  ! VR7      pVP                  RV4       \        P
                  P                  RV\        .VS.V\        ..4      ! V 4      # )	c                      ] tR tRtRtR# )%raising_cb_reg.<locals>.TestExceptioni[  rI   NrJ   rK   rL   rM   rN   rI   r2   r   TestExceptionr+  [      r2   r-  c                     \         hrt   )RuntimeErrorrI   r2   r   raise_runtime_error+raising_cb_reg.<locals>.raise_runtime_error^  s    r2   c                     \         hrt   r   rI   r2   r   raise_value_error)raising_cb_reg.<locals>.raise_value_errora  s    r2   c                8   < \        V \        4      '       d   ShV hrt   )ru   r0  )excpr-  s   &r   transformer#raising_cb_reg.<locals>.transformerd  s    dL))
r2   Nexception_handlerr	  zcb, excp)		Exceptionr   r   r   r   r  r  r0  r   )r   r1  r5  r9  cb_oldcb_filtcb_filt_passr-  s   &      @r   raising_cb_regrA  Z  s    	  ##d;F
NN5-. $${CGOOE./ ))KHL 12;;"":%+\$:%,m$<%1:$>$@A BFG Gr2   c                    V P                  \        R R 4       \        P                  ! V4      ;_uu_ 4        VP	                  R4       RRR4       R#   + '       g   i     R# ; i)r  c                     R # rt   rI   rI   r2   r   r   @test_callbackregistry_custom_exception_handler.<locals>.<lambda>~  r  r2   r	  N)r  r   r   r   r!  )r&  r   r8  s   &&&r   .test_callbackregistry_custom_exception_handlerrE  {  sC    3\C	t		


5 
			s   AA$	c                   a \         P                  ! R .R7      p . oV3R lpV P                  R V4       \        P                  ! \
        4      ;_uu_ 4        V P                  RV4       RRR4       V P                  R ^4       \        P                  ! \
        4      ;_uu_ 4        V P                  R^4       RRR4       S^.8X  g   Q hR#   + '       g   i     Lk; i  + '       g   i     L/; i)r	  )signalsc                *   < SP                  V 4       R # rt   )append)r   r   s   &r   r   )test_callbackregistry_signals.<locals>.cb  s    w~~a r2   barN)r   r   r   r   r   r   r!  )crr   r   s     @r   test_callbackregistry_signalsrM    s    				0BG JJub	z	"	"


5" 
#JJua	z	"	"


5! 
#qc>> 
#	" 
#	"s   C%CC	C/	c            	        R  p \         P                  ! V R7      pR pR pVP                  RV4       VP                  RV4       VP                  4       ;_uu_ 4        VP	                  R4       VP	                  R4       RRR4       VP                  RR7      ;_uu_ 4        VP	                  R4       \
        P                  ! \        RR	7      ;_uu_ 4        VP	                  R4       RRR4       RRR4       \
        P                  ! \        R
R	7      ;_uu_ 4        VP	                  R4       RRR4       \
        P                  ! \        RR	7      ;_uu_ 4        VP	                  R4       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)c                    V hrt   rI   )r8  s   &r   raise_handler5test_callbackregistry_blocking.<locals>.raise_handler  s    
r2   r;  c                     \        R 4      h)1 should be blockedr4  rI   r2   r   
test_func12test_callbackregistry_blocking.<locals>.test_func1      .//r2   c                     \        R 4      h)2 should be blockedr4  rI   r2   r   
test_func22test_callbackregistry_blocking.<locals>.test_func2  rV  r2   test1test2Nr   rX  matchrS  )r   r   r   blockedr!  r   r   r   )rP  r   rT  rY  s       r   test_callbackregistry_blockingr`    s-   			-	@B00JJw
#JJw
# 



7


7 

 
7	#	#


7]]:-BCCJJw D	 
$ 
z)>	?	?


7 
@	z)>	?	?


7 
@	? 
 DC	 
$	# 
@	?	?	?	?sH   #E8"6FF	*FF2G8F		FFF/	2G	G	zline, resultc                @    \         P                  ! V 4      V8X  g   Q hR# )z+Strip everything from the first unquoted #.N)r   _strip_comment)lineresults   &&r   test_strip_commentre    s     %///r2   c                     \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! R4       RRR4       R#   + '       g   i     R# ; i)zMissing closing quoter]  zgrid.color: "aaN)r   r   r   r   rb  rI   r2   r   test_strip_comment_invalidrg    s3    	z)@	A	A./ 
B	A	A	As   AA	c                    R ^R^R^/p . ROp. ROp. ROpV\        \        P                  ! V P                  4       4      4      8X  g   Q hV\        \        P                  ! V P	                  4       4      4      8X  g   Q hV\        \        P                  ! V P                  4       4      4      8X  g   Q hV\        P                  ! V4      8X  g   Q hV\        P                  ! V4      8X  g   Q hR# )r    r!   r"   Nr    r!   r"   r&   r'   r   ))r    r&   )r!   r'   )r"   r   )rh   r   sanitize_sequencekeysvaluesr   )r#   kvis       r   test_sanitize_sequencerq    s    	aaa AAA&Au..qvvx89999u..qxxz:;;;;u..qwwy9::::''****''****r2   r    r!   alias_mappingztuple[tuple[dict, dict], ...]fail_mappingz"tuple[tuple[Any, dict, dict], ...]pass_mappingzinp, kwargs_to_normc           	     $   \         P                  ! \        4      ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        \
        P                  ! V 3/ VB  R R R 4       R R R 4       R #   + '       g   i     L; i  + '       g   i     R # ; irt   )r   r   r   r   'suppress_matplotlib_deprecation_warningr   normalize_kwargs)inpkwargs_to_norms   &&r   test_normalize_kwargs_failrz    sO    	y	!	!4#O#O#Q#Qs5n5 $R	!	!#Q#Q	!	!	!s#   A>A+	A>+A;6A>>B	zinp, expected, kwargs_to_normc                    \         P                  ! 4       ;_uu_ 4        V\        P                  ! V 3/ VB 8X  g   Q h R R R 4       R #   + '       g   i     R # ; irt   )r   rv  r   rw  )rx  expectedry  s   &&&r   test_normalize_kwargs_passr}    s@     
	5	5	7	7511#HHHHH 
8	7	7	7s   AA	c                   \         P                  ! R 4       \        V 4      ^8X  g   Q h\        P                  R,          R8  dz   \
        P                  ! \        4      P                  ^,          pV ^ ,          P                  P                  \        VR,          4      \        VR,          4      34      '       d   Q hR# V ^ ,          P                  \        8X  g   Q hR# )oops:Nr'   N
matplotlibmpl_toolkitsN)r      )r   warn_externalr   sysversion_infopathlibPath__file__parentsfilename
startswithstr)recwarnbasedirs   & r   test_warn_externalr    s    vw<1
w& ,,x(0031:&&113w7M3N36w7O3P3R S S 	S S S
 qz""h...r2   c            	     T   \         P                  ! \        R 4      ;_uu_ 4       p \        RR7      V n        \
        P                  ! \        RR7      ;_uu_ 4        \        P                  ! R4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r  N)return_valuez	\Adummy\Zr]  r   )
r   objectr   r   	_getframer   warnsUserWarningr   r  )mock_syss    r   (test_warn_external_frame_embedded_pythonr    sa    	eU	#	#x!t4\\+\::w' ; 
$	#:: 
$	#	#s#   6BB	1BBBB'	c                 $   \         P                  ! ^4      p \         P                  ! ^4      p\         P                  ! ^4      RRR1,          p\        P                  ! WV4      w  r4p\         P                  ! . RO\
        R7      p\         P                  ! . RO\
        R7      p\         P                  ! . RO\
        R7      p\        Wc4       \        Wt4       \        W4       \        P                  ! W4      w  r4\        Wc4       \        Wt4       R# )r   Ndtyper   r   r&   r&   r'   r'   r   r   r&   r&   r'   r'   r   r   )r   r'   r'   r&   r&   r   r   )r   r   r   pts_to_prestepasarrayfloatr
   	r   y1y2xsy1sy2sx_target	y1_target	y2_targets	            r   test_to_prestepr    s    
		!A	1B	1dd	B''r2LBSzz/u=H

0>I

0>Ix$y&y&""1)GBx$y&r2   c                 Z    \         P                  ! . . 4      p V P                  R8X  g   Q hR# r'   N)r'   r   )r   r  r   stepss    r   test_to_prestep_emptyr    &      R(E;;&   r2   c                 $   \         P                  ! ^4      p \         P                  ! ^4      p\         P                  ! ^4      RRR1,          p\        P                  ! WV4      w  r4p\         P                  ! . RO\
        R7      p\         P                  ! . RO\
        R7      p\         P                  ! . RO\
        R7      p\        Wc4       \        Wt4       \        W4       \        P                  ! W4      w  r4\        Wc4       \        Wt4       R# )r   Nr  r  r  r  )r   r   r'   r'   r&   r&   r   )r   r   r   pts_to_poststepr  r  r
   r  s	            r   test_to_poststepr    s    
		!A	1B	1dd	B((3LBSzz/u=H

0>I

0>Ix$y&y&##A*GBx$y&r2   c                 Z    \         P                  ! . . 4      p V P                  R8X  g   Q hR# r  )r   r  r   r  s    r   test_to_poststep_emptyr  0  s&    !!"b)E;;&   r2   c                 $   \         P                  ! ^4      p \         P                  ! ^4      p\         P                  ! ^4      RRR1,          p\        P                  ! WV4      w  r4p\         P                  ! . RO\
        R7      p\         P                  ! . RO\
        R7      p\         P                  ! . RO\
        R7      p\        Wc4       \        Wt4       \        W4       \        P                  ! W4      w  r4\        Wc4       \        Wt4       R# )r   Nr  r  )r         ?r  rR   rR         @r  r   )r   r   r&   r&   r'   r'   r   r   )r   r   r'   r'   r&   r&   r   r   )r   r   r   pts_to_midstepr  r  r
   r  s	            r   test_to_midstepr  5  s    
		!A	1B	1dd	B''r2LBSzz<EJH

35AI

35AIx$y&y&""1)GBx$y&r2   c                 Z    \         P                  ! . . 4      p V P                  R8X  g   Q hR# r  )r   r  r   r  s    r   test_to_midstep_emptyr  I  r  r2   argsc                    \         P                  ! \        4      ;_uu_ 4        \        P                  ! V !   R R R 4       R #   + '       g   i     R # ; irt   )r   r   r   r   r  )r  s   &r   test_step_failsr  N  s0     
z	"	"d# 
#	"	"	"s   AA	c                     ! R  R4      p \        ^4       Uu. uF	  q! 4       NK  	  up;w  r#rErg\        P                  ! 4       pVP                  ! V!   \	        \        V4      ^ ,          4      \	        V4      8X  g   Q h\	        VP                  V4      4      \	        V4      8X  g   Q hVR,           F  p	VP                  W)4      '       d   K  Q h	  VP                  V4       VR,           F  p	VP                  W)4      '       g   K  Q h	  \        P                  ! VR,          VR,          4       F  w  rVP                  W4      '       d   K  Q h	  R# u upi )c                      ] tR tRtRtR# )test_grouper.<locals>.DummyiY  rI   Nr,  rI   r2   r   Dummyr  Y  r.  r2   r  r&   NNN)ranger   Grouperjoinr   rv   get_siblingsjoinedremove	itertoolsproduct)r  _r    r!   r"   r#   r$   objsrA   otherABs               r   test_grouperr  X  s    -21X6XEGX66MA!AFFDMtAwqz?c$i'''q~~a !SY...bxx!!!!  HHQKb88A%%%%  !!$r(DH5xx~~~ 6 7s   Ec                 >    ! R  R4      p \        ^4       Uu. uF	  q! 4       NK  	  pp\        P                  ! 4       pVP                  ! V!   VP                  pV F  pWT9   d   K  Q h	  WB^ ,          ,          pVR,           F  pWE,          VJ d   K  Q h	  R# u upi )c                      ] tR tRtRtR# )#test_grouper_private.<locals>.Dummyim  rI   Nr,  rI   r2   r   r  r  m  r.  r2   r  r  N)r  r   r  r  _mapping)r  r  r  rA   mappingobase_sets          r   test_grouper_privater  l  s     "1X&XEGXD&AFFDMjjG||  AwH"XXzX%%%  's   Bc                    \         P                  ! ^4      p V P                  p^ \        V4      8X  g   Q h^\        V4      8X  g   Q h\        P
                  ! V4      pV^ 8X  g   Q h^ \        V4      8X  g   Q h^\        V4      8X  g   Q hR# )r(   N)r   r   flatnextr   _safe_first_finite)r   itrets      r   test_flatiterr  }  ss    
		!A	
BR==R==

"
"2
&C!8O8R==R==r2   c                     \         P                  ! ^\         P                  4      p \        P                  ! V 4      p\         P
                  ! V4      '       g   Q hR# r  )r   fullr)   r   r  isnanarrr  s     r   test__safe_first_finite_all_nanr    8    
''!RVV
C

"
"3
'C88C===r2   c                     \         P                  ! ^\         P                  4      p \        P                  ! V 4      p\         P
                  ! V4      '       g   Q hR# r  )r   r  infr   r  isinfr  s     r   test__safe_first_finite_all_infr    r  r2   c                 
    ! R  R4      p \         P                  ! . R4      p\        P                  ! V4      R8X  g   Q h\	        ^4       Uu. uF	  q ! 4       NK  	  pp\         P                  ! VR4      p\        P                  ! V4      R	8X  g   Q h\        P
                  ! ^4      p\         P                  ! VR4      p\        P                  ! V4      R	8X  g   Q h\	        ^4       Uu. uF"  p\	        ^4       Uu. uF	  q ! 4       NK  	  upNK$  	  pp\         P                  ! VR4      p\        P                  ! V4      R
8X  g   Q h\        P                  P                  ^^4      p\         P                  ! VR4      p\        P                  ! V4      R8X  g   Q h^.^.^..p\         P                  ! VR4      p\        V\        4      '       g   Q h\        V^ ,          \        P                  4      '       d   V^ ,          P                  R8X  g   Q h\        V^,          \        P                  4      '       d   V^,          P                  R8X  g   Q h\        V^,          \        P                  4      '       d   V^,          P                  R8X  g   Q h\        P                  ! ^ 4      \        P                  ! ^4      \        P                  ! ^4      .p\         P                  ! VR4      p\        V\        4      '       g   Q h\        V4      ^8X  g   Q h\        V^ ,          \        P                  4      '       d   V^ ,          P                  R8X  g   Q h. RO^^.^..p\         P                  ! VR4      p\        V\        4      '       g   Q h\        V^ ,          \        P                  4      '       d   V^ ,          P                  R8X  g   Q h\        V^,          \        P                  4      '       d   V^,          P                  R8X  g   Q h\        V^,          \        P                  4      '       d   V^,          P                  R8X  g   Q h ! R R\        P                  4      p\        P
                  ! ^
\        R7      pV! R\        VP                  R7      p\         P                  ! VR4      p\        V4      ^8X  g   Q h\        V^ ,          V4      '       g   Q h. ROp\         P                  ! VR4      p\        V^ ,          4      \        V4      8X  g   Q h\        V^ ,          \        P                  4      '       g   Q hR# u upi u upi u upi )c                      ] tR tRtRtR# )test_reshape2d.<locals>.Dummyi  rI   Nr,  rI   r2   r   r  r    r.  r2   r  r   c                  4   a  ] tR tRtV 3R ltV 3R ltRtV ;t# )%test_reshape2d.<locals>.ArraySubclassi  c              3  	j   <"   \         SV `  4        F  p\        P                  ! V4      x  K  	  R # 5irt   )super__iter__r   r*   )r   r   	__class__s   & r   r  .test_reshape2d.<locals>.ArraySubclass.__iter__  s&     )+hhuo% ,s   03c                	J   < \         P                  ! \        SV `  V4      4      # rt   )r   r*   r  __getitem__)r   itemr  s   &&r   r  1test_reshape2d.<locals>.ArraySubclass.__getitem__  s    88EG/566r2   rI   )rJ   rK   rL   rM   r  r  rN   __classcell__)r  s   @r   ArraySubclassr    s    	&	7 	7r2   r  r  )r  bufferN)r&   r   )r&   r(   )r   r(   )r(   r   r&   )r   rj  )r'   )
   )	r    r!   r"   r"   ddr$   r%   ffr%   )r   _reshape_2Dr   r   r  r   rb   randru   rv   ndarrayr*   r   r  rg   )r  xnewr  r   r  ro  s         r   test_reshape2dr    s     R%D88D>V###(#(Q(A#Q$D88D>V###
		!AQ$D88D>V###.3Ah7h58	$8a%'8	$hA7Q$D88D>V### 			q!AQ$D88D>V### qcA3AQ$DdD!!!!d1grzz**tAw}}/DDDd1grzz**tAw}}/DDDd1grzz**tAw}}/DDD 
!bhhqk288A;/AQ$DdD!!!!t9>>d1grzz**tAw}}/DDD 
QFQC AQ$DdD!!!!d1grzz**tAw}}/DDDd1grzz**tAw}}/DDDd1grzz**tAw}}/DDD7

 7 			"E"Ae58AQ$D t9>>d1g}---- 	8AQ$DtAw<3q6!!!d1grzz****Q 	$ 
%7s   U(U:U
	UUc                &   \         P                  ! ^4      P                  ^
^4      pV P                  V. ROR7      p\        P
                  ! VR4      p\        VP                  V4       F$  w  r$\         P                  P                  W$4       K&  	  R# )   columnsr   Nri  )
r   r   reshape	DataFramer   r  r   Tr   r
   )pdXr   Xnewr  s   &    r   test_reshape2d_pandasr    sh    
		"b!$A
Q0AQ$DqssD>


%%a. "r2   c                &   \         P                  ! ^4      P                  ^
^4      pV P                  VRR.R7      p\        P
                  ! VR4      p\        VP                  V4       F$  w  r$\         P                  P                  W$4       K&  	  R# r  r   rC   )dimsN)
r   r   r  	DataArrayr   r  r   r  r   r
   )xrr  r   r  r  s   &    r   test_reshape2d_xarrayr    sl    
		"b!$A
Qc3Z(AQ$DqssD>


%%a. "r2   c                T   \         P                  ! ^4      P                  ^
^4      pV P                  V. ROR7      p\        P
                  ! V4      w  r4\         P                  P                  W4       \         P                  ! ^
4      p\         P                  P                  W54       R# )r  r	  Nri  )r   r   r  r  r   index_ofr   r
   )r  r  r   Idxr  IdxRefs   &     r   test_index_of_pandasr    so    
		"b!$A
Q0Aq!ICJJ!!!*YYr]FJJ!!#.r2   c                T   \         P                  ! ^4      P                  ^
^4      pV P                  VRR.R7      p\        P
                  ! V4      w  r4\         P                  P                  W4       \         P                  ! ^
4      p\         P                  P                  W54       R# r  )r   r   r  r  r   r  r   r
   )r  r  r   r  r  r  s   &     r   test_index_of_xarrayr    ss    
		"b!$A
Qc3Z(Aq!ICJJ!!!*YYr]FJJ!!#.r2   c                    ^^^r!p R.V ,          R.V,          ,           R.V,          ,           p^ V 3W,           W,           V,           3.p\         P                  ! V4      V8X  g   Q h^^reVR.V,          ,           p\         P                  ! V4      V8X  g   Q hR.V,          VRV)  ,           pWUV ,           3WP,           V,           WP,           V,           V,           3.p\         P                  ! V4      V8X  g   Q hVR.V,          ,           p\         P                  ! V4      V8X  g   Q h\         P                  ! R.^,          4      . 8X  g   Q h\         P                  ! . 4      . 8X  g   Q hR# )r   TFN)r   contiguous_regions)r    r!   r"   r5   r|  r#   r$   s          r   test_contiguous_regionsr!    sH   A!A6!8ugai4&(*DAac!e%H##D)X555aq5'!)D##D)X555719tCaRy DaC13q5!#a%'*+H##D)X5555'!)D##D)X555##UGAI."444##B'2---r2   c                    V P                  \        ^4      \        ^
^4      R7      p\        P                  ! V4      pV^ 8X  g   Q hR# )r(   )indexN)Seriesr  r   r  )r  r   r<   s   &  r   %test_safe_first_element_pandas_seriesr%  '  s:    
		%(%B-	0A%%a(FQ;;r2   c                    R  p R pR Ft  w  r#\         P                  ! W#,          4      P                  W#4      p\        P                  ! V! V^,
          4      V! V^,
          4      4       F  w  rVV ! WEVR7       K  	  Kv  	  R# )c           	     H   V P                   w  r4. \        ^ V^,
          V4      OV^,
          Np. \        ^ V^,
          V4      OV^,
          Np. p\        P                  ! V4       Fn  w  r\        P                  ! V4       FO  w  r\        P
                  ! WV	^,           1W^,           13,          4      P                  pVP                  V4       KQ  	  Kp  	  \        P                  ! V4      p\        P                  ! V\        P                  ! WVR7      4      '       g   Q hR# )r   rstridecstrideN)r   r  r  pairwiser   _array_perimeterr  rI  r   r  array_equal_array_patch_perimeters)r   r)  r*  rowscolsrow_indscol_indspolysrsrs_nextcscs_nextpss   &&&          r   check*test_array_patch_perimeters.<locals>.check1  s    WW
7U1d1fg.7Q77U1d1fg.7Q7$--h7KB(11(;++AlBqyL.H,IJLLR   < 8
 

5!~~e#;;"#gGH H 	H Hr2   c                p    \        ^V ^,           4       Uu. uF  qV,          ^ 8X  g   K  VNK  	  up# u upi r  )r  )nrp  s   & r   divisors-test_array_patch_perimeters.<locals>.divisors@  s.     AE?9?a!eqj?999s   33r(  N))r(   r(   )      )   	   )r   r   r  r  r  )r9  r=  r/  r0  r   r)  r*  s          r   test_array_patch_perimetersrC  .  sq    H: 1
IIdk"**46 ) 1 1(4!82D2:4!82D!FG!g6!F 1r2   c                   aaa  ! R  R4      o ! R RS4      p S! 4       oVVV3R lpV ! 4       oSP                   Sn        V! S4       \        P                  ! SRRR RR	R
 RRRR7
      ;_uu_ 4        SP                   SP                   J g   Q hSP                  SP                  J g   Q hSP                  R8X  g   Q hSP
                  R8X  g   Q hSP                  R	8X  g   Q hSP                  R8X  g   Q hSP                  SP                   8w  g   Q hSP                  R8X  g   Q hSP                  R8X  g   Q hSP                  R8X  g   Q h RRR4       V! S4       R#   + '       g   i     L; i)c                      ] tR tRt]! 4       t]! 4       tR tR t]	R 4       t
]R 4       t]R 4       t]P                  R 4       tRtR	# )
test_setattr_cm.<locals>.AiK  c                	0    R V n         RV n        RV n        R# )aardvarkoverrider   N)rH  rI  _pr   s   &r   __init__#test_setattr_cm.<locals>.A.__init__O  s    &DM&DMDGr2   c                	    R # rt   rI   r   s   &r   methtest_setattr_cm.<locals>.A.methT  s    r2   c                	    R # rt   rI   )r   s   &r   classy!test_setattr_cm.<locals>.A.classyW      r2   c                 	    R # rt   rI   rI   r2   r   static!test_setattr_cm.<locals>.A.static[  rS  r2   c                	    V P                   # rt   rJ  r   s   &r   proptest_setattr_cm.<locals>.A.prop_  s    77Nr2   c                	    Wn         R # rt   rX  )r   vals   &&r   rY  rZ  c  s    Gr2   )rJ  rH  rI  N)rJ   rK   rL   rM   r  	cls_levelrI  rK  rN  classmethodrQ  staticmethodrU  propertyrY  setterrN   rI   r2   r   r  rF  K  sn    H	8	
	 
	 
	 
	 
	 
	 
	 
	 
	r2   r  c                      ] tR tRtRtR# )test_setattr_cm.<locals>.Big  rI   Nr,  rI   r2   r   r  rc  g  s    r2   r  c                f  < V P                   V P                   Jg   Q hV P                  V P                  J g   Q hSP                  R 8X  g   Q hV P                  V P                  J g   Q hV P                  SP                  J g   Q hV P                  R8X  g   Q h\        V R4      '       d   Q hV P                  R8X  g   Q hV P                  SP                   8X  g   Q hV P                  SP                  J g   Q hRV P                  9  g   Q hRV P                  9  g   Q hRV P                  9  g   Q hR# )rH  rI  extrar   r]  rQ  rU  N)rN  rH  rY  r]  rI  r  monkey__dict__)objr  r    r  s   &r   verify_pre_post_state.test_setattr_cm.<locals>.verify_pre_post_statel  s    xxsxx'''||s||+++zzZ'''xx388###}}+++||z)))3((((xx3zzUZZ'''}}+++#,,...s||+++s||+++r2   squirrelmoosec                     R # rt   rI   rI   r2   r   r   !test_setattr_cm.<locals>.<lambda>  s    4r2   boore  c                     R # rt   rI   rI   r2   r   r   rn    s    4r2   bobrQ  rU  )	rY  rH  rN  rI  re  rf  r]  rQ  rU  N)rN  rf  r   _setattr_cmrH  rI  re  rY  r]  rQ  rU  )r  ri  r  r    r  s     @@@r   test_setattr_cmrs  J  sK    8A  CE,, 	
AzzAH!			J<'5H
. 
. vvzzQZZ'''zzW$$$zzU"""ww'!!!vv###xx5::%%%{{e###xx8###xx8####
.& !'
. 
.s   2CE  E0	c                 J   \         P                  p V ! ^ ^4      R8X  g   Q hV ! ^ ^4      R8X  g   Q hV ! ^ ^4      R8X  g   Q hV ! R	^4      R8X  g   Q hV ! R^4      R8X  g   Q hV ! R^4      R8X  g   Q hV ! R
^4      R8X  g   Q hV ! R^4      V ! R^
4      u;8X  d	   R8X  g   Q h Q hR# )r   0z-0gHz>gӴ:T?z0.00123z-0.00123z
0.00123456Ng(0gӴ:T)r   _format_approx)r%   s    r   test_format_approxrw    s    AQ7c>>Q7c>>Q7c>>Wa=D   T1:_a I---q!Z///_a Aor$:JlJJJJJr2   c                     \        ^
4       U u. uF)  p \        P                  ! 4       \        V R7      ,           NK+  	  pp RV^ &   \        P
                  ! V4      pVe   W!^,          8X  g   Q hR# u up i )r  )daysN)r  r   todayr	   r   r  )rp  datetime_lstr<   s      r   !test_safe_first_element_with_noner|    sd    >CBiHiDJJL9!#444iLHLO%%l3F&O";;;"; Is   /A/c                 r    \        R 4      R 8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q hR# )z
1 \times 2z$1 \times 2$z1 x 2z	$\rm{hi}$hiN)r   rI   r2   r   test_strip_mathr    s;    m$555o&'111l#t+++r2   zfmt, value, resultc                    \         P                  ! W4      V8X  g   Q h\         P                  ! V \        P                  ! V4      4      V8X  g   Q hR# )z)Apply *value* to the format string *fmt*.N)r   _auto_format_strr   float64)fmtr   rd  s   &&&r   test_auto_format_strr    sA     !!#-777!!#rzz%'89VCCCr2   c                 6    ! R R4      p \        R4      pWn        V\        P                  R&   \        P
                  ! ^
4      pVP                  V4      p\        P                  ! V4      p\        V\        P                  4      '       g   Q h\        WB4       R# )z
Test that torch tensors are converted to NumPy arrays.

We don't want to create a dependency on torch in the test suite, so we mock it.
c                  "    ] tR tRtR tR tRtR# )/test_unpack_to_numpy_from_torch.<locals>.Tensori  c                	    Wn         R # rt   rg   r   s   &&r   rK  8test_unpack_to_numpy_from_torch.<locals>.Tensor.__init__      Ir2   c                	    V P                   # rt   r  r   s   &r   	__array__9test_unpack_to_numpy_from_torch.<locals>.Tensor.__array__      99r2   r  NrJ   rK   rL   rM   rK  r  rN   rI   r2   r   Tensorr        		r2   r  torchN)r   r  r  modulesr   r   r   _unpack_to_numpyru   r  r
   )r  r  rg   torch_tensorrd  s        r   test_unpack_to_numpy_from_torchr    sw      wEL CKK99R=D<<%L##L1Ffbjj)))) v$r2   c                 6    ! R R4      p \        R4      pWn        V\        P                  R&   \        P
                  ! ^
4      pVP                  V4      p\        P                  ! V4      p\        V\        P                  4      '       g   Q h\        WB4       R# )z
Test that jax arrays are converted to NumPy arrays.

We don't want to create a dependency on jax in the test suite, so we mock it.
c                  "    ] tR tRtR tR tRtR# ),test_unpack_to_numpy_from_jax.<locals>.Arrayi  c                	    Wn         R # rt   r  r   s   &&r   rK  5test_unpack_to_numpy_from_jax.<locals>.Array.__init__  r  r2   c                	    V P                   # rt   r  r   s   &r   r  6test_unpack_to_numpy_from_jax.<locals>.Array.__array__  r  r2   r  Nr  rI   r2   r   Arrayr    r  r2   r  jaxN)r   r  r  r  r   r   r   r  ru   r  r
   )r  r  rg   	jax_arrayrd  s        r   test_unpack_to_numpy_from_jaxr    sv      U
CICKK99R=D		$I##I.Ffbjj)))) v$r2   c                 P  a  ! R R4      o\        R4      p V3R lV n        SV n        V \        P                  R&   \
        P                  ! ^
4      pV P                  V4      p\        P                  ! V4      p\        V\
        P                  4      '       g   Q h\        W14       R# )z
Test that tensorflow arrays are converted to NumPy arrays.

We don't want to create a dependency on tensorflow in the test suite, so we mock it.
c                  "    ] tR tRtR tR tRtR# )4test_unpack_to_numpy_from_tensorflow.<locals>.Tensori  c                	    Wn         R # rt   r  r   s   &&r   rK  =test_unpack_to_numpy_from_tensorflow.<locals>.Tensor.__init__  r  r2   c                	    V P                   # rt   r  r   s   &r   r  >test_unpack_to_numpy_from_tensorflow.<locals>.Tensor.__array__  r  r2   r  Nr  rI   r2   r   r  r    r  r2   r  
tensorflowc                   < \        V S4      # rt   )ru   )r   r  s   &r   r   6test_unpack_to_numpy_from_tensorflow.<locals>.<lambda>  s    Z6%:r2   N)r   	is_tensorr  r  r  r   r   r   r  ru   r  r
   )r  rg   	tf_tensorrd  r  s       @r   $test_unpack_to_numpy_from_tensorflowr    s      L)J:JJ *CKK99R=D!!$'I##I.Ffbjj)))) v$r2   )	)a : no_commentr  )a : "quoted str"r  )za : "quoted str" # commentr  )a : "#000000"r  )za : "#000000" # commentr  )a : ["#000000", "#FFFFFF"]r  )z$a : ["#000000", "#FFFFFF"] # commentr  )z"a : val  # a comment "with quotes"za : val)z# only comment "with quotes" xxr  ))z%.2f m皙?0.20 m)z{:.2f} mr  r  )z{} mr  z0.2 m)constr  r  )z%d or {}r  z0 or {})z{{{:,.0f}}}g     jAz	{200,000})z{:.2%}gUUUUUU?z66.67%)z$%ggRQ@z$2.54)U__conditional_annotations__
__future__r   r  r  r   r  typingr   unittest.mockr   r   r   r   r	   numpyr   numpy.testingr
   r   r   r   r  r   r   matplotlib.colorscolorsrD   matplotlib.cbookr   r   typesr   r   rP   r   r   r   r(  rA  rE  rM  r`  r  r  re  rg  rq  rs  __annotations__rt  rz  r}  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r!  r%  rC  rs  rw  r|  r  r  r  r  r  )r  s   @r   <module>r     s   " "    
  % . . 6 6  " # = 3 3D{@ {@|  
C$ C$LH&GB  
B  
* 
0
0
0
	+ 
1c1#u67	1c1#Sz):;</+  
2rN	1c1QQ',	1XQx/C#s+<=>40  .=6 >6
 8%'I'I/ ('(!
'(!
'(!
 
iimAq!3'iimSiimRYYq\"$%
$%
$
(&"	P+f////..78Od	K<, - 	0 	D	D%8%:%r2   