
    \cg'                     >   d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Zd dl
mZ d dlmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm Z m!Z! d	 Z"d
 Z#ejH                  jK                  d       edg      d               Z&d Z'ejH                  jK                  d       edg      d               Z(d Z)d Z*d Z+d Z,d Z- G d d      Z.d Z/d Z0d Z1d Z2e	jf                  ji                  dejj                  jm                               d        Z7d Z8d Z9d  Z:d! Z;d" Z<d# Z=d$ Z>e	jf                  j                  d%ej                  v xs d&ej                  v xr# ej                  d'k(  xr ej                  dd( d)k  d*+      d,        ZCy)-    )BytesION)cm)subprocess_run_helperis_ci_environment)check_figures_equal)rrulewrapper)VertexSelector)axes_dividerparasite_axesc                  H   t        j                         } t        j                  | t	               t        j
                         t        j                  d      }t        j                  |t	               t        j
                         t        j                  d      }t        j                  t        j                  d      d       t        j                          t        j                  |t	               t        j
                         t        j                          t        j                  t        j                  d      t        j                  d             t        j                  t        j                         t	               t        j
                         t        j                         } t        j                         }t        j                  t        j                  d             |j                  d       t        j                  | t	               t        j
                         y )	Ny   polar)
projection
   foobarlabel)xheightlog)pltfigurepickledumpr   HIGHEST_PROTOCOLsubplotaxesplotnparangelegendbargca
set_yscalefigaxs     W/var/www/html/bid-api/venv/lib/python3.12/site-packages/matplotlib/tests/test_pickle.pytest_simpler)      s%   
**,C
KKWY 7 78	S	B
KKGIv667	W	%BHHRYYr](+JJL
KKGIv667
 JJLGGbiimBIIbM2
KK	79f&=&=>
**,C	BHHRYYr]MM%
KKWY 7 78    c                    | j                  d       t        j                  |        t        j                  d       t	        j
                  d      t	        j
                  d      }}t	        j                  ddd      j                  dd      x}x}}t	        j                  |dz        }t        j                  ddd	       t        j                  t        t        d                   t        j                  d
       t        j                  ddd       t        j                  |ddg       t        j                          t        j                  ddd       t        j                   |       t        j                  ddd       t        j"                  |       t        j                  d       t        j                  ddd       t        j$                  |       t        j                  ddd      }|j'                  dd       |j)                  dd       t        j*                  ||||       t        j                  ddd      }|j'                  dd       |j)                  dd       t        j,                  ||||       t        j                  ddd       t        j.                  ||dz  d       t        j0                  d       t        j                  ddd       t        j2                  ||dz  ddd       t        j0                  d       | j5                  d      }|d   j7                  d	d       |d	   j7                  d	d       | j9                          y ) N)r      z!Can you fit any more in a figure?   r   r   P   g333333      hello   z//ooo)hatches   zhello
world!   r,      	   z$x^2$r   z
upper left)locg      g?g?z$-.5 x$)xerryerrr   T)	draggable)set_size_inchesr   r   suptitler   r    linspacereshapesinr   r   listrangeylabelcontourfcolorbar
pcolormeshimshowpcolorset_xlimset_ylim
streamplotquiverscatterr!   errorbar
subfiguressubplotsalign_ylabels)fig_refr   ydatauvr'   subfigss           r(   _generate_complete_test_figurerY   2   sf   G$JJwLL45 99Q<2qA;;q"b)11"a88D81q
q4xA KK1aHHT%)_JJwKK1aLLe}-LLNKK1aNN4KK1aJJtJJKK1aJJt	Q1	BKK1KK1NN1aA	Q1	BKK1KK1JJq!QKK1aKK16)JJ< KK1aLLAH3S	BJJ   #GAJ1AJ1r*   defaultpng)
extensionsc           	         t        |       t        j                  |t        j                        }dt	        j
                  |      D cg c]  \  }}}|
 c}}}vsJ t        j                  |      }|j                  j                          | j                  |j                                | j                  |j                  j                  j                                t        j                  |       y c c}}}w )NFigureCanvasAgg)rY   r   dumpsr   pickletoolsgenopsloadscanvasdrawr=   get_size_inchesfigimagerendererbuffer_rgbar   close)fig_testrS   pklopargposloadeds          r(   test_completerp   j   s     #7+
,,w 7 7
8C
 [=O=OPS=T$U=T\RcS=T$UUUU\\#F
MMV3356fmm,,88:;IIf %Vs   
C6
c                      dd l } dd l}| j                  d   }t        |d      5 } |j                  |      }d d d        t        t         |j                                     y # 1 sw Y   .xY w)Nr   PICKLE_FILE_PATHrb)osr   environopenloadprintstrr_   )rt   r   pathblobr&   s        r(   _pickle_load_subprocessr|   ~   s[    ::()D	dD	Tfkk$ 
 
#lfll3
 ! 
	s   A$$A-c                    t        |       |dz  }|j                         rJ |j                  d      5 }t        j                  ||t        j
                         d d d        |j                         sJ t        t        dt        |      dt        j                  d      }t        j                  t        j                  |j                              }|j                  j!                          | j#                  |j%                                | j'                  |j                  j(                  j+                                t-        j.                  |       y # 1 sw Y   xY w)Nzsinus.picklewb<   Agg)rr   
MPLBACKEND-SETUPTOOLS_SCM_PRETEND_VERSION_FOR_MATPLOTLIBtimeout	extra_env)rY   existsrv   r   r   r   r   r|   ry   mpl__version__rb   astliteral_evalstdoutrc   rd   r=   re   rf   rg   rh   r   ri   )rj   rS   tmp_pathfpfileproc
loaded_figs          r(    test_pickle_load_from_subprocessr      s    #7+	N	"Byy{?	$GT6#:#:; 
99;;  #B
 >A__
D c..t{{;<JZ779:j''00<<>?IIj3 
s   &EEc                     t        j                  d      } t               }t        j                  | |t        j
                         t        j                  d       t         j                  j                  j                  i k(  sJ t        j                  |j                               } t         j                  j                  j                  i k7  sJ | j                         dk(  sJ y )Nza labelall)r   r   r   r   r   r   ri   _pylab_helpersGcffigsrb   	getbuffer	get_label)r&   bufs     r(   test_gcfr      s    
**Y
C
)C
KKS&112IIe!!&&",,,
,,s}}
'C!!&&",,,==?i'''r*   c                      ddl m}  t        j                         } | |      }|j	                  ddd      }|j                  g dg d       t        j                  |t               t        j                         y )Nr   )FigureCanvasPdfr0   )r0   r2   r/   )
matplotlib.backends.backend_pdfr   mfigureFigureadd_subplotr   r   r   r   r   )r   r&   _r'   s       r(   test_no_pyplotr      sS    ?
..
CA	Aq	!BGGIy!
KKWY 7 78r*   c                  `    ddl m}   | ddd      }t        j                  |t	                      y )Nr   )RendererAggr         )matplotlib.backends.backend_aggr   r   r   r   )r   rg   s     r(   test_rendererr      s#    ;2r2&H
KK')$r*   c                  J   ddl m}   | d      }|j                  j                  }|j	                  ddd      }|j                  t        j                  d      j                  dd             |j                  j                          t        j                  |t                      y )Nr   )new_figure_manageri  r0      r/   r5   )r   r   rc   r   r   rH   r   r    r@   rd   r   r   r   )r   managerr&   r'   s       r(   
test_imager      st     C &G
..

C	Aq	!BIIbiim##Aq)*NN
KKWYr*   c                      t        j                  d       t        j                         } t        j                  |       }t        j
                  |       t        j                          y )NT)r   )r   r   gcfr   r_   rb   rd   )r&   pfs     r(   
test_polarr      s<    KKd
'')C	c	B
LLHHJr*   c                       e Zd Zd Zy)TransformBlobc                 l   t        j                         | _        t        j                         | _        t        j                  | j                  | j                        | _        t        j                  | j
                        | _        t        j                  | j                  | j                        | _        y N)	mtransformsIdentityTransformidentity	identity2CompositeGenericTransform	compositeTransformWrapperwrapper
composite2)selfs    r(   __init__zTransformBlob.__init__   sz    #557$668$>>MMNN #33DNNC%??LLMMr*   N)__name__
__module____qualname__r    r*   r(   r   r      s    r*   r   c                     t               } t        j                  |       }~ t        j                  |      } | j                  j
                  | j                  k(  sJ | j                  j                  j                         D cg c]	  } |        c}| j                  gk(  sJ | j                  j                  | j                  j                  k(  sJ | j                  j                  | j                  j                  k(  sJ y c c}w r   )r   r   r_   rb   r   _childr   _parentsvaluesr   
input_dimsoutput_dims)objr   rW   s      r(   test_transformr      s    
/C	c	B
,,r
C;;...--44676AAC67CNN;KKKK;;!!S]]%=%====;;""cmm&?&???? 8s   Dc                      t        d      } 	 t        j                  t        j                  |              y # t        $ r t        d        w xY w)Nr2   z!rrulewrapper pickling test failed)r   r   rb   r_   RecursionErrorrx   )rs    r(   test_rrulewrapperr      s?    QAV\\!_% 12s	   (6 Ac                  
   t        j                  dd      \  } }t        j                  t        j                  |             } | j
                  d   j                  dd       | j
                  d   j                         dk(  sJ y )	Nr2   T)sharexr   r   r   r0   )r   r   )r   rQ   r   rb   r_   r   rJ   get_xlim)r&   axss     r(   test_sharedr     sd    ||Ad+HC
,,v||C(
)CHHQKR 88A;!X---r*   c                  
   t        j                         \  } }|j                  g d       |j                  dt        j
                  t        j                  f       t        j                  t        j                  |              y )N)皙?r   333333?r   top)	functions)
r   rQ   
inset_axessecondary_xaxisr   squaresqrtr   rb   r_   r%   s     r(   test_inset_and_secondaryr     sS    llnGCMM"#uBGG(<=
LLc"#r*   cmapc                 .    t        j                  |        y r   )r   r_   )r   s    r(   	test_cmapr     s    
LLr*   c                      t        j                         } | j                  J t               }t	        j
                  | |       |j                  d       t	        j                  |      }|j                  J y )Nr   )r   r   rc   r   r   r   seekrw   )r&   outfig2s      r(   test_unpickle_canvasr     s\    
..
C::!!!
)C
KKSHHQK;;sD;;"""r*   c                      t        j                  g d      } t        j                  |        t	        t        j                  t        j                  |                   t         j                  k(  sJ y )N)r   r   r0   r0   )	r   	host_axesr
   make_axes_area_auto_adjustabletyper   rb   r_   HostAxesr'   s    r(   test_mpl_toolkitsr   "  sK    		 	 	.B//3V\\"-./=3I3IIIIr*   c                      t        t        j                  t        j                  t        j
                  j                                           t        j
                  j                  k(  sJ y r   )r   r   rb   r_   r   colorsLogNormr   r*   r(   test_standard_normr   (  sE    V\\#***<*<*>?@A::  r*   c                  *   t        j                  j                  t         j                  j                  t         j                  j
                               } t        t        j                  t        j                  |                   t        |       k(  sJ y r   )
r   r   make_norm_from_scalescale
LogitScale	Normalizer   r   rb   r_   )logit_norm_instances    r(   test_dynamic_normr   -  sh    **99		cjj224 6V\\*=>?@#$% % %r*   c                      t        j                  ddgd      \  } t        j                  t        j                  t        |                    y )Nr   r0   T)picker)r   r   r   rb   r_   r	   )lines    r(   test_vertexselectorr   4  s2    HHaVD)ED
LLnT234r*   c                  :   t        j                         j                         } | j                  g d       | j	                  ddg       t        j                  t        j                  |             } | j	                  ddg      \  }|j                         dk(  sJ y )N)cmrT   k)r   r0   r2   r/   r5   r   )	r   r   r   set_prop_cycler   r   rb   r_   	get_color)r'   ls     r(   test_cyclerr  9  su    		!	!	#B,-GGQFO	fll2&	'B	!QBA;;=Cr*   c                      t        j                         j                         } t        j                  t
        j                  j                  | d             y )Nbutton)r   r   r   r   r_   r   widgetsButtonr   s    r(   _test_axeswidget_interactiver
  D  s3    		!	!	#B
LL##B12r*   TF_BUILDGITHUB_ACTIONdarwinr2   )r/      z%Tk version mismatch on Azure macOS CI)reasonc                  D    t        t        t               rdndddi       y )Nx   r   r   tkaggr   )r   r
  r   r   r*   r(   test_axeswidget_interactiver  I  s!     $(*)r*   )Dior   r   rt   sysr   r`   numpyr   pytest
matplotlibr   r   matplotlib.testingr   r   matplotlib.testing.decoratorsr   matplotlib.datesr   matplotlib.linesr	   matplotlib.pyplotpyplotr   matplotlib.transforms
transformsr   matplotlib.figurer   r   mpl_toolkits.axes_grid1r
   r   r)   rY   stylecontextrp   r|   r   r   r   r   r   r   r   r   r   r   r   markparametrize
_colormapsr   r   r   r   r   r   r   r  r
  xfailru   platformversion_infor  r   r*   r(   <module>r+     s    
 	 
       G = ) +  + # ?965p 9( ) $	" 9( ) D(9%	   @.$ !5!5!78 9#J
%5
 3
 	rzz	!	B_

%B 	D 	D%(%5%5bq%9G%C6  

r*   