+
    i                         R t ^ RIt^ RIHt ^ RIt^ RIt^RIH	t	H
t
 ^RIHt ^RIHtHt ^RIHtHt ]! ^4      w  tttttttttttt]! ]P@                  ! R	4      4      t! ! R R4      t"R# )
a  
Functions to handle markers; used by the marker functionality of
`~matplotlib.axes.Axes.plot`, `~matplotlib.axes.Axes.scatter`, and
`~matplotlib.axes.Axes.errorbar`.

All possible markers are defined here:

============================== ====== =========================================
marker                         symbol description
============================== ====== =========================================
``"."``                        |m00|  point
``","``                        |m01|  pixel
``"o"``                        |m02|  circle
``"v"``                        |m03|  triangle_down
``"^"``                        |m04|  triangle_up
``"<"``                        |m05|  triangle_left
``">"``                        |m06|  triangle_right
``"1"``                        |m07|  tri_down
``"2"``                        |m08|  tri_up
``"3"``                        |m09|  tri_left
``"4"``                        |m10|  tri_right
``"8"``                        |m11|  octagon
``"s"``                        |m12|  square
``"p"``                        |m13|  pentagon
``"P"``                        |m23|  plus (filled)
``"*"``                        |m14|  star
``"h"``                        |m15|  hexagon1
``"H"``                        |m16|  hexagon2
``"+"``                        |m17|  plus
``"x"``                        |m18|  x
``"X"``                        |m24|  x (filled)
``"D"``                        |m19|  diamond
``"d"``                        |m20|  thin_diamond
``"|"``                        |m21|  vline
``"_"``                        |m22|  hline
``0`` (``TICKLEFT``)           |m25|  tickleft
``1`` (``TICKRIGHT``)          |m26|  tickright
``2`` (``TICKUP``)             |m27|  tickup
``3`` (``TICKDOWN``)           |m28|  tickdown
``4`` (``CARETLEFT``)          |m29|  caretleft
``5`` (``CARETRIGHT``)         |m30|  caretright
``6`` (``CARETUP``)            |m31|  caretup
``7`` (``CARETDOWN``)          |m32|  caretdown
``8`` (``CARETLEFTBASE``)      |m33|  caretleft (centered at base)
``9`` (``CARETRIGHTBASE``)     |m34|  caretright (centered at base)
``10`` (``CARETUPBASE``)       |m35|  caretup (centered at base)
``11`` (``CARETDOWNBASE``)     |m36|  caretdown (centered at base)
``"none"`` or ``"None"``              nothing
``" "`` or  ``""``                    nothing
``"$...$"``                    |m37|  Render the string using mathtext.
                                      E.g ``"$f$"`` for marker showing the
                                      letter ``f``.
``verts``                             A list of (x, y) pairs used for Path
                                      vertices. The center of the marker is
                                      located at (0, 0) and the size is
                                      normalized, such that the created path
                                      is encapsulated inside the unit cell.
``path``                              A `~matplotlib.path.Path` instance.
``(numsides, 0, angle)``              A regular polygon with ``numsides``
                                      sides, rotated by ``angle``.
``(numsides, 1, angle)``              A star-like symbol with ``numsides``
                                      sides, rotated by ``angle``.
``(numsides, 2, angle)``              An asterisk with ``numsides`` sides,
                                      rotated by ``angle``.
============================== ====== =========================================

Note that special symbols can be defined via the
:ref:`STIX math font <mathtext>`,
e.g. ``"$\u266B$"``. For an overview over the STIX font symbols refer to the
`STIX font table <http://www.stixfonts.org/allGlyphs.html>`_.
Also see the :doc:`/gallery/text_labels_and_annotations/stix_fonts_demo`.

Integer numbers from ``0`` to ``11`` create lines and triangles. Those are
equally accessible via capitalized variables, like ``CARETDOWNBASE``.
Hence the following are equivalent::

    plt.plot([1, 2, 3], marker=11)
    plt.plot([1, 2, 3], marker=matplotlib.markers.CARETDOWNBASE)

Markers join and cap styles can be customized by creating a new instance of
MarkerStyle.
A MarkerStyle can also have a custom `~matplotlib.transforms.Transform`
allowing it to be arbitrarily rotated or offset.

Examples showing the use of markers:

* :doc:`/gallery/lines_bars_and_markers/marker_reference`
* :doc:`/gallery/lines_bars_and_markers/scatter_star_poly`
* :doc:`/gallery/lines_bars_and_markers/multivariate_marker_plot`

.. |m00| image:: /_static/markers/m00.png
.. |m01| image:: /_static/markers/m01.png
.. |m02| image:: /_static/markers/m02.png
.. |m03| image:: /_static/markers/m03.png
.. |m04| image:: /_static/markers/m04.png
.. |m05| image:: /_static/markers/m05.png
.. |m06| image:: /_static/markers/m06.png
.. |m07| image:: /_static/markers/m07.png
.. |m08| image:: /_static/markers/m08.png
.. |m09| image:: /_static/markers/m09.png
.. |m10| image:: /_static/markers/m10.png
.. |m11| image:: /_static/markers/m11.png
.. |m12| image:: /_static/markers/m12.png
.. |m13| image:: /_static/markers/m13.png
.. |m14| image:: /_static/markers/m14.png
.. |m15| image:: /_static/markers/m15.png
.. |m16| image:: /_static/markers/m16.png
.. |m17| image:: /_static/markers/m17.png
.. |m18| image:: /_static/markers/m18.png
.. |m19| image:: /_static/markers/m19.png
.. |m20| image:: /_static/markers/m20.png
.. |m21| image:: /_static/markers/m21.png
.. |m22| image:: /_static/markers/m22.png
.. |m23| image:: /_static/markers/m23.png
.. |m24| image:: /_static/markers/m24.png
.. |m25| image:: /_static/markers/m25.png
.. |m26| image:: /_static/markers/m26.png
.. |m27| image:: /_static/markers/m27.png
.. |m28| image:: /_static/markers/m28.png
.. |m29| image:: /_static/markers/m29.png
.. |m30| image:: /_static/markers/m30.png
.. |m31| image:: /_static/markers/m31.png
.. |m32| image:: /_static/markers/m32.png
.. |m33| image:: /_static/markers/m33.png
.. |m34| image:: /_static/markers/m34.png
.. |m35| image:: /_static/markers/m35.png
.. |m36| image:: /_static/markers/m36.png
.. |m37| image:: /_static/markers/m37.png
N)Sized)_apicbook)Path)IdentityTransformAffine2D)	JoinStyleCapStylec                   ~  a  ] tR t^t o Rt/ RRbRRbRRbRR	bR
RbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbR R!bR"R#b/ R$R%bR&R&bR'R(bR)R*bR+R,bR-R.bR/R0bR1R2b]R3b]R4b]R5b]R6b]	R7b]
R8b]R9b]R:b]R;bC]R<]R=]R>R?R@RAR@RBR@RCR@/CtRtRtRtRRE ltRF tRG tRH tRI tRJ tRK tRL tRM tRN tRO tRP t RQ t!RR t"RS t#RT t$RU t%RVRDRWRD/RX lt&RRY lt'RZ t(R[ t)R\ t*R] t+R^ t,R_ t-R` t.RRb lt/Rc t0Rd t1]2Pf                  ! ^ ^.RR.^R..4      t4]2Pf                  ! ^ ^.RR.RR..4      t5]2Pf                  ! RR.RR.^R.RR..4      t6]2Pf                  ! ^ ^.^ R.RR..4      t7]2Pf                  ! ^ ^.^ R.^R..4      t8Re t9Rf t:Rg t;Rh t<Ri t=Rj t>Rk t?Rl t@Rm tARn tBRo tCRp tDRq tE]2! RrR.RrRa..4      tFRs tGRt tH]2! RrRr.RaRr..4      tIRu tJRv tK]2! RRr.RRa..4      tLRw tMRx tN]2! RrRr.RrR.RrRr.RyRz.RrRr.RRz..]2P                  ]2P                  ]2P                  ]2P                  ]2P                  ]2P                  .4      tQR{ tRR| tSR} tTR~ tU]2! RR.RrRr.RaR..4      tVR tWR tXR tYR tZ]2! RRr.RrR.Ra^ ..4      t[R t\R t]R t^R t_]2! RRr.RaRr.RrR.RrRa..]2P                  ]2P                  ]2P                  ]2P                  .4      t`R ta]2! RR.RaRa.RRa.RaR..]2P                  ]2P                  ]2P                  ]2P                  .4      tbR tc]2Pf                  ! ]dP                  ! . RO4      ^,          4      tf]2Pf                  ! ]dP                  ! . RO4      ^,          4      tgR th]2Pf                  ! ]dP                  ! . RO4      ^,          4      ti]2Pf                  ! ]dP                  ! . RO4      ^,          4      tjR tkRtlV tmRD# )MarkerStylea7  
A class representing marker types.

Instances are immutable. If you need to change anything, create a new
instance.

Attributes
----------
markers : dict
    All known markers.
filled_markers : tuple
    All known filled markers. This is a subset of *markers*.
fillstyles : tuple
    The supported fillstyles.
.point,pixelocirclevtriangle_down^triangle_up<triangle_left>triangle_right1tri_down2tri_up3tri_left4	tri_right8octagonssquareppentagon*starhhexagon1Hhexagon2+plusxDdiamonddthin_diamond|vline_hlinePplus_filledXx_filledtickleft	tickrighttickuptickdown	caretleft
caretrightcaretup	caretdowncaretleftbasecaretrightbasecaretupbasecaretdownbaseNonenothingnone  Nc                    RV n         W0n        Ve   \        V4      MRV n        Ve   \	        V4      MRV n        V P                  V4       V P                  V4       R# )a  
Parameters
----------
marker : str, array-like, Path, MarkerStyle
    - Another instance of `MarkerStyle` copies the details of that *marker*.
    - For other possible marker values, see the module docstring
      `matplotlib.markers`.

fillstyle : str, default: :rc:`markers.fillstyle`
    One of 'full', 'left', 'right', 'bottom', 'top', 'none'.

transform : `~matplotlib.transforms.Transform`, optional
    Transform that will be combined with the native transform of the
    marker.

capstyle : `.CapStyle` or %(CapStyle)s, optional
    Cap style that will override the default cap style of the marker.

joinstyle : `.JoinStyle` or %(JoinStyle)s, optional
    Join style that will override the default join style of the marker.
N)_marker_function_user_transformr	   _user_capstyler   _user_joinstyle_set_fillstyle_set_marker)selfmarker	fillstyle	transformcapstyle	joinstyles   &&&&&&r/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/matplotlib/markers.py__init__MarkerStyle.__init__   sW    . !%(4<4Hhx0d7@7Ly3RVI&     c                H   V P                   f   R # \        V n        \        4       V n        R V n        R V n        R V n        \        P                  V n
        V P                  ;'       g    \        P                  V n        V P                  R8g  V n        V P                  4        R # )NrK   )rO   _empty_path_pathr   
_transform	_alt_path_alt_transform_snap_thresholdr   round
_joinstylerQ   r	   butt	_capstyle
_fillstyle_filledrU   s   &r[   _recacheMarkerStyle._recache   s{      ( 
+-"##//,,== &0r^   c                R    \        \        V P                  P                  4      4      # N)boollenra   verticesrl   s   &r[   __bool__MarkerStyle.__bool__
  s    C

++,--r^   c                    V P                   # rp   rk   rl   s   &r[   	is_filledMarkerStyle.is_filled      ||r^   c                    V P                   # rp   )rj   rl   s   &r[   get_fillstyleMarkerStyle.get_fillstyle  s    r^   c                    Vf   \         P                  R,          p\        P                  ! V P                  VR7       Wn        R# )z
Set the fillstyle.

Parameters
----------
fillstyle : {'full', 'left', 'right', 'bottom', 'top', 'none'}
    The part of the marker surface that is colored with
    markerfacecolor.
Nzmarkers.fillstyle)rW   )mplrcParamsr   check_in_list
fillstylesrj   )rU   rW   s   &&r[   rS   MarkerStyle._set_fillstyle  s2     %89I4??i@#r^   c                .    V P                   P                  # rp   )rg   namerl   s   &r[   get_joinstyleMarkerStyle.get_joinstyle"  s    ###r^   c                .    V P                   P                  # rp   )ri   r   rl   s   &r[   get_capstyleMarkerStyle.get_capstyle%  s    ~~"""r^   c                    V P                   # rp   )_markerrl   s   &r[   
get_markerMarkerStyle.get_marker(  rz   r^   c                $   \        V\        4      '       d0   \        P                  ! V4      '       d   V P                  V n        EMy\        V\        \        34      '       d<   WP                  9   d,   \        V RV P                  V,          ,           4      V n        EM"\        V\        P                  4      '       d<   VP                  ^8X  d+   VP                  ^,          ^8X  d   V P                  V n        M\        V\        4      '       d   V P                  V n        M\        V\         4      '       d1   \#        V4      R9   d!   V^,          R9   d   V P$                  V n        MY\        V\&        4      '       d'   \(        P*                  ! VP,                  4      V n        M \        V4       V P                  V n        \        V\&        4      '       g   Wn        V P3                  4        R# R#   \.         d   p\/        RT: 24      ThRp?ii ; i)z
Set the marker.

Parameters
----------
marker : str, array-like, Path, MarkerStyle
    - Another instance of `MarkerStyle` copies the details of that *marker*.
    - For other possible marker values see the module docstring
      `matplotlib.markers`.
_set_zUnrecognized marker style N)      )       r   )
isinstancestrr   is_math_text_set_mathtext_pathrO   intmarkersgetattrnpndarrayndimshape_set_verticesr   _set_path_markerr   rr   _set_tuple_markerr   copydeepcopy__dict__
ValueErrorr   rm   )rU   rV   errs   && r[   rT   MarkerStyle._set_marker+  sz    fc""u'9'9&'A'A$($;$;D!c
++,,0F$+D'DLL<P2P$QD!,,1AQ1$$($6$6D!%%$($9$9D!''CK6,Aq	Y&$($:$:D!,, MM&//:DMFV(,(:(:%
 &+..!LMMO /	  F 0
;=BEFFs   #G/ /H:H

Hc                    V P                   # )z
Return a `.Path` for the primary part of the marker.

For unfilled markers this is the whole marker, for filled markers,
this is the area to be drawn with *markerfacecolor*.
)ra   rl   s   &r[   get_pathMarkerStyle.get_pathP  s     zzr^   c                    V P                   f   V P                  P                  4       # V P                  V P                   ,           P                  4       # )zR
Return the transform to be applied to the `.Path` from
`MarkerStyle.get_path()`.
)rP   rb   frozenrl   s   &r[   get_transformMarkerStyle.get_transformY  sA    
 '??))++OOd&:&::BBDDr^   c                    V P                   # )z
Return a `.Path` for the alternate part of the marker.

For unfilled markers, this is *None*; for filled markers, this is the
area to be drawn with *markerfacecoloralt*.
)rc   rl   s   &r[   get_alt_pathMarkerStyle.get_alt_pathc  s     ~~r^   c                    V P                   f   V P                  P                  4       # V P                  V P                   ,           P                  4       # )zV
Return the transform to be applied to the `.Path` from
`MarkerStyle.get_alt_path()`.
)rP   rd   r   rl   s   &r[   get_alt_transformMarkerStyle.get_alt_transforml  sE    
 '&&--//''$*>*>>FFHHr^   c                    V P                   # rp   )re   rl   s   &r[   get_snap_thresholdMarkerStyle.get_snap_thresholdv  s    ###r^   c                V    V P                   e   V P                   P                  4       # R# )z.Return user supplied part of marker transform.N)rP   r   rl   s   &r[   get_user_transformMarkerStyle.get_user_transformy  s(    +''..00 ,r^   c                z    \        V 4      pVP                  e   V;P                  V,          un        V# Wn        V# )z
Return a new version of this marker with the transform applied.

Parameters
----------
transform : `~matplotlib.transforms.Affine2D`
    Transform will be combined with current user supplied transform.
)r   rP   )rU   rX   
new_markers   && r[   transformedMarkerStyle.transformed~  sA     !&
%%1&&)3&  *3&r^   degradc                  Vf   Vf   \        R4      hVe   Ve   \        R4      h\        V 4      pVP                  f   \        4       Vn        Ve   VP                  P	                  V4       Ve   VP                  P                  V4       V# )z
Return a new version of this marker rotated by specified angle.

Parameters
----------
deg : float, optional
    Rotation angle in degrees.

rad : float, optional
    Rotation angle in radians.

.. note:: You must specify exactly one of deg or rad.
zOne of deg or rad is requiredz'Only one of deg and rad can be supplied)r   r   rP   r   
rotate_degrotate)rU   r   r   r   s   &$$ r[   rotatedMarkerStyle.rotated  s     ;3;<==?sFGG &
%%-)1J&?&&11#6?&&--c2r^   c                    Vf   Tp\        V 4      pVP                  ;'       g    \        4       pVP                  W4      Vn        V# )a  
Return new marker scaled by specified scale factors.

If *sy* is not given, the same scale is applied in both the *x*- and
*y*-directions.

Parameters
----------
sx : float
    *X*-direction scaling factor.
sy : float, optional
    *Y*-direction scaling factor.
)r   rP   r   scale)rU   sxsyr   rb   s   &&&  r[   scaledMarkerStyle.scaled  sF     :B &
//==8:
%/%5%5b%=
"r^   c                    R V n         R# )FNrw   rl   s   &r[   _set_nothingMarkerStyle._set_nothing  s	    r^   c                    \         P                  ! \         P                  ! VP                  4      4      p\	        4       P                  R V,          4      V n        Wn        R# )      ?N)r   maxabsrs   r   r   rb   ra   )rU   pathrescales   && r[   _set_custom_markerMarkerStyle._set_custom_marker  s:    &&./"***3=9
r^   c                <    V P                  V P                  4       R # rp   )r   r   rl   s   &r[   r   MarkerStyle._set_path_marker  s    -r^   c                N    V P                  \        V P                  4      4       R # rp   )r   r   r   rl   s   &r[   r   MarkerStyle._set_vertices  s    T\\ 23r^   c                   V P                   p\        V4      ^8X  d   V^ ,          Rr2M!\        V4      ^8X  d   V^ ,          V^,          r2V^,          pV^ 8X  dF   \        P                  ! X4      V n        V P
                  ;'       g    \        P                  V n        MV^8X  dF   \        P                  ! X4      V n        V P
                  ;'       g    \        P                  V n        MaV^8X  dM   \        P                  ! X4      V n        RV n        V P
                  ;'       g    \        P                  V n        M\        RV 24      h\        4       P                  R4      P!                  X4      V n        R# )r           FzUnexpected tuple marker: r   N)r   rr   r   unit_regular_polygonra   rR   r   miterrg   unit_regular_starbevelunit_regular_asteriskrk   r   r   r   r   rb   )rU   rV   numsidesrotationsymstyles   &    r[   r   MarkerStyle._set_tuple_marker  s   v;!!'Ch[A!'F1Ih!9q=228<DJ"22EEiooDO]//9DJ"22EEiooDO]33H=DJ DL"22EEiooDO8ABB"***3/::8Dr^   c                   ^ RI Hp V! RV P                  4       \        P                  R,          R7      p\        VP                  4      ^ 8X  d   R# VP                  4       p\        VP                  VP                  4      p\        4       P                  VP                  ) RVP                  ) ,          ,           VP                  ) RVP                  ) ,          ,           4      P                  RV,          4      V n        W n        RV n        R# )	zK
Draw mathtext markers '$...$' using `.TextPath` object.

Submitted by tcb
)TextPathztext.usetex)xyr$   usetexNr         ?F)r   r   )matplotlib.textr   r   r   r   rr   rs   get_extentsr   widthheightr   	translatexminyminr   rb   ra   _snap)rU   r   textbboxmax_dims   &    r[   r   MarkerStyle._set_mathtext_path  s     	- 6T__%6"||M:<t}}"!djj$++.JY		zC4::+$55		zC4;;,DV7VWU3=! 	 

r^   c                <    V P                  4       V P                  9   # rp   )r|   _half_fillstylesrl   s   &r[   
_half_fillMarkerStyle._half_fill  s    !!#t'<'<<<r^   r   c           
        \        4       P                  R V,          4      V n        \        P                  V n        V P                  4       '       g   \        P                  ! 4       V n	        R# \        P                  ! 4       ;V n	        V n        V P                  4       pV P                  P                  R^ R^ZR^RR/V,          4       V P                  P                  4       P                  R4      V n        R# )r   righttopleftbottom       f@N)r   r   rb   r   infre   r   r   unit_circlera   unit_circle_righthalfrc   r|   r   r   rd   )rU   sizefss   && r[   _set_circleMarkerStyle._set_circle  s    "***3:6!vv  ))+DJ*.*D*D*FFDJ##%BOO&&!UBXsCBGI"&//"8"8":"E"Ed"KDr^   c                *    V P                  R R7       R# )r   )r  N)r  rl   s   &r[   
_set_pointMarkerStyle._set_point  s    c"r^   c                    \         P                  ! 4       V n        \        4       P	                  RR4      V n        RV n        R# )g9?Ng9߿)r   unit_rectanglera   r   r   rb   re   rl   s   &r[   
_set_pixelMarkerStyle._set_pixel  s2    ((*
 #*..xB#r^   c                   \        4       P                  R 4      P                  V4      V n        RV n        V P                  4       '       g   V P                  V n        EMGV P                  V P                  V P                  V P                  .pV P                  4       pVR8X  d:   V^ V,           ^,          ,          V n        V^V,           ^,          ,          V n        MVR8X  d:   V^V,           ^,          ,          V n        V^ V,           ^,          ,          V n        MxVR8X  d:   V^V,           ^,          ,          V n        V^V,           ^,          ,          V n        M8V^V,           ^,          ,          V n        V^V,           ^,          ,          V n        V P                  V n        V P                  ;'       g    \         P"                  V n        R# )r         @r   r   r   N)r   r   r   rb   re   r   _triangle_pathra   _triangle_path_u_triangle_path_l_triangle_path_d_triangle_path_rr|   rc   rd   rR   r   r   rg   )rU   rotskipmpathsr  s   &&&  r[   _set_triangleMarkerStyle._set_triangle$  sX   "***3/::3?"  ,,DJ++++++++-F
 ##%BU{#QXN3
!'TQ!7x#QXN3
!'TQ!7v#QXN3
!'TQ!7#QXN3
!'TQ!7"&//D..AA)//r^   c                &    V P                  R ^ 4      # )r   r  rl   s   &r[   _set_triangle_upMarkerStyle._set_triangle_upB  s    !!#q))r^   c                &    V P                  R ^4      # )r  r  rl   s   &r[   _set_triangle_downMarkerStyle._set_triangle_downE      !!%++r^   c                &    V P                  R ^4      # )g     V@r  rl   s   &r[   _set_triangle_leftMarkerStyle._set_triangle_leftH  s    !!$**r^   c                &    V P                  R ^4      # )g     p@r  rl   s   &r[   _set_triangle_rightMarkerStyle._set_triangle_rightK  r$  r^   c                   \        4       P                  R
R
4      V n        RV n        V P	                  4       '       g   \
        P                  ! 4       V n        M\        RR.RR.RR .RR .RR..4      V n        \        RR .RR .RR.RR.RR ..4      V n        V P                  4       pR^ R^ZR^RR/V,          pV P                  P                  V4       V P                  V n        V P                  ;'       g    \        P                  V n        R	# )r          @r   r   r   r   r   r   r  N      )r   r   rb   re   r   r   r  ra   rc   r|   r   rd   rR   r   r   rg   rU   r  r   s   &  r[   _set_squareMarkerStyle._set_squareN  s    "*..tT:"  ,,.DJ SzC:Sz #SzC:7 8DJ!C:SzC:$':Sz#; <DN##%B7BsFCHLFOO&&v."&//D..AA)//r^   c                .   \        4       P                  RR4      P                  ^-4      V n        RV n        V P                  4       '       g   \        P                  ! 4       V n        M\        ^ ^ .^^ .^^.^ ^ ..4      V n        \        ^ ^ .^ ^.^^.^ ^ ..4      V n	        V P                  4       pR^ R^ZR^RR/V,          pV P                  P                  V4       V P                  V n        V P                  ;'       g    \        P                  V n        R# )	r   r  r   r   r   r   r  Nr-  )r   r   r   rb   re   r   r   r  ra   rc   r|   rd   rR   r   r   rg   r.  s   &  r[   _set_diamondMarkerStyle._set_diamond`  s    "*..tT:EEbI"  ,,.DJ1v1v1v1v>?DJ!Aq6Aq6Aq6Aq6"BCDN##%Bq%VS(CHLFOO&&v."&//D..AA)//r^   c                ^    V P                  4        V P                  P                  R R4       R# )333333?r   N)r2  rb   r   rl   s   &r[   _set_thin_diamondMarkerStyle._set_thin_diamondn  s"    c3'r^   c           	        \        4       P                  R 4      V n        RV n        \        P
                  ! ^4      pV P                  4       '       g   Wn        MVP                  p^\        P                  ! ^4      ,           R,          p\	        V. RO,          4      p\	        V. R	O,          4      p\	        V^ ,          V^,          V^,          ^ V) .V^ ,          .4      p\	        V^ ,          V^,          V^,          ^ V) .V^ ,          .4      pRWE3RWT3RWg3RWv3/V P                  4       ,          w  V n        V n        V P                  V n        V P                  ;'       g    \        P                   V n        R# )
r   r        @r   r   r   r   N)r   r      r   )r   r   r   r:  r   )r   r   rb   re   r   r   r   ra   rs   r   sqrtr|   rc   rd   rR   r   r   rg   )rU   polypathvertsyr   r   r   r   s   &       r[   _set_pentagonMarkerStyle._set_pentagonr  s9   "***3/",,Q/  !J%%ERWWQZ2%Au\*+C%01Fq58U1XA2waIJD%(E!HeAhQBqJKE}hw*   "*$&DJ #'//D..AA)//r^   c           	     @   \        4       P                  R 4      V n        RV n        \        P
                  ! ^RR7      pV P                  4       '       g	   Wn        EMVP                  p\	        \        P                  ! VR,          VR,          VR,          .4      4      p\	        \        P                  ! VR,          VR,          .4      4      p\	        \        P                  ! VR	,          VR,          .4      4      p\	        \        P                  ! VR,          VR
,          VR,          .4      4      pRW43RWC3RWV3RWe3/V P                  4       ,          w  V n        V n        V P                  V n        V P                  ;'       g    \        P                   V n        R# )r   r  gŋ!r?)innerCircler   r:  N:   
   N:r   r   N:r      N:r   r:  N:r      N:   rE  Nr   r   r   r   N)r   r   rb   re   r   r   r   ra   rs   r   concatenater|   rc   rd   rR   r   r   rg   )rU   r<  r=  r   r   r   r   s   &      r[   	_set_starMarkerStyle._set_star  s=   "***3/"))!B  !J%%Er~~uSz5;c
&KLMC"..%*eCj)ABCFc
E#J'?@ADsU4[%*(MNOE}hw*   "*$&DJ #'//D..AA)//r^   c           	     @   \        4       P                  R 4      V n        RV n        \        P
                  ! ^4      pV P                  4       '       g	   Wn        EMVP                  p\        P                  ! \        P                  ! ^\        P                  ,          R,          4      4      p\	        \        P                  ! V) ^ 3.V. R	O,          V^ 3..4      4      p\	        \        P                  ! V) ^ 3.VR,          V^ 3..4      4      p\	        VR,          4      p\	        V. R
O,          4      pRWE3RWT3RWg3RWv3/V P                  4       ,          w  V n        V n        V P                  V n        V P"                  ;'       g    \$        P&                  V n        R# )r   Ng      @:r   rH  NrC  r   r   r   r   )r   r   rH  )r   rH  r:  r   )r   r   rb   re   r   r   r   ra   rs   r   r   cospirI  r|   rc   rd   rR   r   r   rg   )rU   r<  r=  r0   r   r   r   r   s   &       r[   _set_hexagon1MarkerStyle._set_hexagon1  sH   "***3/#,,Q/  !J%%Ervva"%%i"n-.Ar~~!Qy%	2BaVH&MNOC"..QB7)U3Z1a&)JKLFc
#D|,-E}hw*   "*$&DJ #'//D..AA)//r^   c           	        \        4       P                  R 4      P                  ^4      V n        RV n        \
        P                  ! ^4      pV P                  4       '       g   Wn        MVP                  p\        P                  ! ^4      ^,          RrC\        V. R	O,          4      p\        VR,          4      p\        \        P                  ! W43.VR,          V) V) 3W43..4      4      p\        \        P                  ! W43.V^^R
1,          V) V) 3..4      4      pRWV3RWe3RWx3RW3/V P                  4       ,          w  V n        V n        V P                  V n        V P                   ;'       g    \"        P$                  V n        R# )r   N:r   rH  N:Nr   Nr   r   r   r   g      ?)r   r   rH  r:  r   )r   r   r   rb   re   r   r   r   ra   rs   r   r;  rI  r|   rc   rd   rR   r   r   rg   )	rU   r<  r=  r0   r>  r   r   r   r   s	   &        r[   _set_hexagon2MarkerStyle._set_hexagon2  s]   "***3/::2>#,,Q/  !J%%E771:>6qu_-.C%*%F%)rA2h%7(9 : ;D%!B-A2r()5 6 7E }hw*   "*$&DJ #'//D..AA)//r^   c           
        \        4       P                  R 4      V n        RV n        \        P
                  ! ^4      pV P                  4       '       g#   V P                  P                  R4       Wn        M\        P                  ! R4      R,          p\	        ^ R.^ ^.V) ^.RV.RV) .V) R.^ R..4      ;V n        V n        V P                  4       pV P                  P                  R^ R^ZR^RR	/V,          4       V P                  P                  4       P                  R
4      V n        V P                  ;'       g    \         P"                  V n        R# )r   r  g     6@r,  r9  r   r   r   r   r  r  NrR  )r   r   rb   re   r   r   r   r   ra   r   r;  rc   r|   r   rd   rR   r   r   rg   )rU   r<  r0   r  s   &   r[   _set_octagonMarkerStyle._set_octagon  s%   "***3/",,Q/  OO&&t,!Jb A*.R1a&A2q'B7qbQB8aW.+/ /DJ ##%BOO&&Hb'3sCBGI"&//"8"8":"E"Ee"LD..AA)//r^   r   c                    \        4       P                  R 4      V n        RV n        RV n        V P
                  V n        R# r   r   FN)r   r   rb   re   rk   _line_marker_pathra   rl   s   &r[   
_set_vlineMarkerStyle._set_vline  s2    "***3/"++
r^   c                f    V P                  4        V P                  P                  ^Z4      V n        R# Z   N)r[  rb   r   rl   s   &r[   
_set_hlineMarkerStyle._set_hline  s"    //44R8r^   c                    \        4       P                  RR 4      V n        R V n        RV n        V P
                  V n        R# r   FN      r   r   rb   re   rk   _tickhoriz_pathra   rl   s   &r[   _set_tickleftMarkerStyle._set_tickleft  s4    "***45"))
r^   c                    \        4       P                  R R 4      V n        R V n        RV n        V P
                  V n        R# r   FNre  rl   s   &r[   _set_tickrightMarkerStyle._set_tickright  s4    "***34"))
r^   c                    \        4       P                  R R 4      V n        R V n        RV n        V P
                  V n        R# rj  r   r   rb   re   rk   _tickvert_pathra   rl   s   &r[   _set_tickupMarkerStyle._set_tickup  s4    "***34"((
r^   c                    \        4       P                  R R4      V n        R V n        RV n        V P
                  V n        R# rc  rn  rl   s   &r[   _set_tickdownMarkerStyle._set_tickdown  s4    "***35"((
r^   g?r   c                    \        4       P                  R 4      V n        RV n        RV n        V P
                  V n        R# )r   r  FN)r   r   rb   re   rk   	_tri_pathra   rl   s   &r[   _set_tri_downMarkerStyle._set_tri_down  s0    "***3/"^^
r^   c                f    V P                  4        V P                  P                  ^4      V n        R#    Nrw  rb   r   rl   s   &r[   _set_tri_upMarkerStyle._set_tri_up  $    //44S9r^   c                f    V P                  4        V P                  P                  R 4      V n        R# r  Nr|  rl   s   &r[   _set_tri_leftMarkerStyle._set_tri_left  r  r^   c                f    V P                  4        V P                  P                  ^Z4      V n        R# r^  r|  rl   s   &r[   _set_tri_rightMarkerStyle._set_tri_right#  s$    //44R8r^   g      ?c                    \        4       P                  R 4      V n        RV n        RV n        V P
                  V n        V P                  ;'       g    \        P                  V n
        R# r   g      @FN)r   r   rb   re   rk   _caret_pathra   rR   r   r   rg   rl   s   &r[   _set_caretdownMarkerStyle._set_caretdown)  sK    "***3/"%%
..AA)//r^   c                f    V P                  4        V P                  P                  ^4      V n        R# rz  r  rb   r   rl   s   &r[   _set_caretupMarkerStyle._set_caretup0  $    //44S9r^   c                f    V P                  4        V P                  P                  R 4      V n        R# r  r  rl   s   &r[   _set_caretleftMarkerStyle._set_caretleft4  r  r^   c                f    V P                  4        V P                  P                  ^Z4      V n        R# r^  r  rl   s   &r[   _set_caretrightMarkerStyle._set_caretright8  s$    //44R8r^   c                H    V P                  4        V P                  V n        R # rp   )r  _caret_path_basera   rl   s   &r[   _set_caretdownbaseMarkerStyle._set_caretdownbase>  s    **
r^   c                f    V P                  4        V P                  P                  ^4      V n        R# rz  r  rb   r   rl   s   &r[   _set_caretupbaseMarkerStyle._set_caretupbaseB  $    !//44S9r^   c                f    V P                  4        V P                  P                  R 4      V n        R# r  r  rl   s   &r[   _set_caretleftbaseMarkerStyle._set_caretleftbaseF  r  r^   c                f    V P                  4        V P                  P                  ^Z4      V n        R# r^  r  rl   s   &r[   _set_caretrightbaseMarkerStyle._set_caretrightbaseJ  s$    !//44R8r^   c                    \        4       P                  R 4      V n        RV n        RV n        V P
                  V n        R# rY  )r   r   rb   re   rk   
_plus_pathra   rl   s   &r[   	_set_plusMarkerStyle._set_plusS  s0    "***3/"__
r^   c                    \        4       P                  R 4      V n        RV n        RV n        V P
                  V n        R# r  )r   r   rb   re   rk   _x_pathra   rl   s   &r[   _set_xMarkerStyle._set_x^  s0    "***3/"\\
r^   c           
        \        4       V n        R V n        V P                  ;'       g    \        P
                  V n        V P                  4       '       g   V P                  V n	        R# V P                  ;V n	        V n        V P                  4       pV P                  P                  R^ R^ZR^RR/V,          4       V P                  P                  4       P                  ^4      V n        R# r  r   r   r   r   r  N)r   rb   re   rR   r   r   rg   r   _plus_filled_pathra   _plus_filled_path_trc   r|   r   r   rd   rU   r  s   & r[   _set_plus_filledMarkerStyle._set_plus_filledk  s    "*"..AA)//  //DJ +/*B*BBDJ##%BOO&&62xgsCBGI"&//"8"8":"E"Ec"JDr^   c           
        \        4       V n        R V n        V P                  ;'       g    \        P
                  V n        V P                  4       '       g   V P                  V n	        R# V P                  ;V n	        V n        V P                  4       pV P                  P                  R^ R^ZR^RR/V,          4       V P                  P                  4       P                  ^4      V n        R# r  )r   rb   re   rR   r   r   rg   r   _x_filled_pathra   _x_filled_path_trc   r|   r   r   rd   r  s   & r[   _set_x_filledMarkerStyle._set_x_filled  s    "*"..AA)//  ,,DJ +/*?*??DJ##%BOO&&62xgsCBGI"&//"8"8":"E"Ec"JDr^   )r   rc   rd   ri   rk   rj   rg   r   rO   ra   r   re   rb   rQ   rR   rP   )r   r   r   r   r   r   r"   r$   r&   r(   r*   r,   r1   r3   r9   r;   )fullr   r   r   r   rK   )r   r   r   r   )NNNNrp   )r   rR  g333333gɿr5  rd  g       gg      ))rR  )r   r  )r   rR  )r   rR  r   r   r   r   r   r   rR  r   rR  r   r  r   )r  rR  )rR  rR  ))r   r   r  r  r  r  r  r  )r  r   ))rR  )r   rR  )r   r  )r   rR  r   r   r   r   r   r   r   r   rR  r   r  r   rR  r   )r  rR  )r  r  r  r  r  r  r  )n__name__
__module____qualname____firstlineno____doc__TICKLEFT	TICKRIGHTTICKUPTICKDOWN	CARETLEFT
CARETRIGHTCARETUP	CARETDOWNCARETLEFTBASECARETRIGHTBASECARETUPBASECARETDOWNBASEr   filled_markersr   r   r\   rm   rt   rx   r|   rS   r   r   r   rT   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r   _create_closedr  r  r  r  r  r  r  r"  r&  r)  r/  r2  r6  r?  rJ  rO  rS  rV  rZ  r[  r`  rf  rg  rk  ro  rp  rs  MOVETOLINETOrv  rw  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   arrayr  r  r  r  r  r  __static_attributes____classdictcell__)__classdict__s   @r[   r   r      sF     *W*W* 	X* 	_	*
 	]* 	_* 	* 	Z* 	X* 	Z* 	[* 	Y* 	X* 	Z* 	V*  	Z!*" 	Z#*$ 	V%*& 	S'*( 	Y)** 	^+*, 	W-*. 	W/*0 	]1*2 	Z3*4 	*5*6 	;7*8 	9*: 	*;*< 	;=*> 	L?*@ 	A*B 	;C*D 	E*F 	(]		Y
IS*G\N DJ9!<  .$$##JEI$1
 T t :,
.4E*0=
L#$ ((1a&2r(QG)DEN**QFT4L3++NO**
T{QGb"X68**QFQGb"X+FG**QFQGaW+EFB<*,+,B$B(B.B,B0B4B* sDkC:67,9 S#Jc
34O** D#;s45N)) sCj3+Cj3*Cj4+/ kk4;;kk4;;kk4;;01I$::9 sc3Z#s<=KB::9 dC[3+Qx@A+::9 c{S#JT{S#J0{{DKK{{DKK12J
% T4L3*3K#t.KKKK./G
" ++BHH 6D -EGH-I J --bhh 8/ /023/4 5K (( 3B *CEF*G HN **288 5% ,&(),* +K Kr^   r   )r   r   )#r  r   collections.abcr   numpyr   
matplotlibr   rM   r   r   r   r   
transformsr   r   _enumsr   r	   ranger  r  r  r  r  r  r  r  r  r  r  r  emptyr`   r    r^   r[   <module>r     sp   @B  !     3 '
 ?DBi<9fh
J]288F#$vK vKr^   