
    6Dh                     .    S SK Jr  S SKr " S S\5      rg)    )BaseLayoutHierarchyTypeNc                   `	  ^  \ rS rSrSrSr1 Skr\S 5       r\R                  S 5       r\S 5       r
\
R                  S 5       r
\S	 5       r\R                  S
 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S  5       r\S! 5       r\R                  S" 5       r\S# 5       r\R                  S$ 5       r\S% 5       r\R                  S& 5       r\S' 5       r\R                  S( 5       r\S) 5       r\R                  S* 5       r\S+ 5       r\R                  S, 5       r\S- 5       r\R                  S. 5       r\S/ 5       r\R                  S0 5       r\S1 5       r\R                  S2 5       r\S3 5       r \ R                  S4 5       r \S5 5       r!\!R                  S6 5       r!\S7 5       r"\"R                  S8 5       r"\S9 5       r#\#R                  S: 5       r#\S; 5       r$\$R                  S< 5       r$\S= 5       r%\%R                  S> 5       r%\S? 5       r&\&R                  S@ 5       r&\SA 5       r'\'R                  SB 5       r'\SC 5       r(\(R                  SD 5       r(\SE 5       r)\)R                  SF 5       r)\SG 5       r*\*R                  SH 5       r*\SI 5       r+\+R                  SJ 5       r+\SK 5       r,\,R                  SL 5       r,\SM 5       r-\-R                  SN 5       r-\SO 5       r.\.R                  SP 5       r.\SQ 5       r/\/R                  SR 5       r/\SS 5       r0\0R                  ST 5       r0\SU 5       r1\1R                  SV 5       r1\SW 5       r2\2R                  SX 5       r2\SY 5       r3\3R                  SZ 5       r3\S[ 5       r4                                            S^U 4S\ jjr5S]r6U =r7$ )_
Annotation   layoutzlayout.annotation>+   xyaxayfontnametextxrefyrefalignaxrefayrefwidthheightvalignxclickxshiftyclickyshiftbgcoloropacityvisiblexanchoryanchorstandoff	arrowhead	arrowside	arrowsize	borderpad	hovertext	showarrow	textangle
arrowcolor
arrowwidth
hoverlabelbordercolorborderwidthclicktoshowcaptureeventsstartstandoffstartarrowheadstartarrowsizetemplateitemnamec                     U S   $ )a  
Sets the horizontal alignment of the `text` within the box. Has
an effect only if `text` spans two or more lines (i.e. `text`
contains one or more <br> HTML tags) or if an explicit width is
set to override the text width.

The 'align' property is an enumeration that may be specified as:
  - One of the following enumeration values:
        ['left', 'center', 'right']

Returns
-------
Any
r    selfs    V/var/www/html/env/lib/python3.13/site-packages/plotly/graph_objs/layout/_annotation.pyr   Annotation.align:   s      G}    c                     XS'   g )Nr   r4   r6   vals     r7   r   r8   L   	    Wr9   c                     U S   $ )ay  
Sets the color of the annotation arrow.

The 'arrowcolor' property is a color and may be specified as:
  - A hex string (e.g. '#ff0000')
  - An rgb/rgba string (e.g. 'rgb(255,0,0)')
  - An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
  - An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
  - A named CSS color: see https://plotly.com/python/css-colors/ for a list

Returns
-------
str
r(   r4   r5   s    r7   r(   Annotation.arrowcolorP   s      L!!r9   c                     XS'   g )Nr(   r4   r;   s     r7   r(   r?   b   
     \r9   c                     U S   $ )z
Sets the end annotation arrow head style.

The 'arrowhead' property is a integer and may be specified as:
  - An int (or float that will be cast to an int)
    in the interval [0, 8]

Returns
-------
int
r!   r4   r5   s    r7   r!   Annotation.arrowheadf        K  r9   c                     XS'   g )Nr!   r4   r;   s     r7   r!   rC   u   
    [r9   c                     U S   $ )a  
Sets the annotation arrow head position.

The 'arrowside' property is a flaglist and may be specified
as a string containing:
  - Any combination of ['end', 'start'] joined with '+' characters
    (e.g. 'end+start')
    OR exactly one of ['none'] (e.g. 'none')

Returns
-------
Any
r"   r4   r5   s    r7   r"   Annotation.arrowsidey        K  r9   c                     XS'   g )Nr"   r4   r;   s     r7   r"   rH      rF   r9   c                     U S   $ )a  
Sets the size of the end annotation arrow head, relative to
`arrowwidth`. A value of 1 (default) gives a head about 3x as
wide as the line.

The 'arrowsize' property is a number and may be specified as:
  - An int or float in the interval [0.3, inf]

Returns
-------
int|float
r#   r4   r5   s    r7   r#   Annotation.arrowsize        K  r9   c                     XS'   g )Nr#   r4   r;   s     r7   r#   rL      rF   r9   c                     U S   $ )z
Sets the width (in px) of annotation arrow line.

The 'arrowwidth' property is a number and may be specified as:
  - An int or float in the interval [0.1, inf]

Returns
-------
int|float
r)   r4   r5   s    r7   r)   Annotation.arrowwidth   s     L!!r9   c                     XS'   g )Nr)   r4   r;   s     r7   r)   rP      rA   r9   c                     U S   $ )a  
Sets the x component of the arrow tail about the arrow head. If
`axref` is `pixel`, a positive (negative) component corresponds
to an arrow pointing from right to left (left to right). If
`axref` is not `pixel` and is exactly the same as `xref`, this
is an absolute value on that axis, like `x`, specified in the
same coordinates as `xref`.

The 'ax' property accepts values of any type

Returns
-------
Any
r
   r4   r5   s    r7   r
   Annotation.ax         Dzr9   c                     XS'   g )Nr
   r4   r;   s     r7   r
   rS      	    T
r9   c                     U S   $ )a  
Indicates in what coordinates the tail of the annotation
(ax,ay) is specified. If set to a x axis id (e.g. "x" or "x2"),
the `x` position refers to a x coordinate. If set to "paper",
the `x` position refers to the distance from the left of the
plotting area in normalized coordinates where 0 (1) corresponds
to the left (right). If set to a x axis ID followed by "domain"
(separated by a space), the position behaves like for "paper",
but refers to the distance in fractions of the domain length
from the left of the domain of that axis: e.g., *x2 domain*
refers to the domain of the second x  axis and a x position of
0.5 refers to the point between the left and the right of the
domain of the second x axis. In order for absolute positioning
of the arrow to work, "axref" must be exactly the same as
"xref", otherwise "axref" will revert to "pixel" (explained
next). For relative positioning, "axref" can be set to "pixel",
in which case the "ax" value is specified in pixels relative to
"x". Absolute positioning is useful for trendline annotations
which should continue to indicate the correct trend when
zoomed. Relative positioning is useful for specifying the text
offset for an annotated point.

The 'axref' property is an enumeration that may be specified as:
  - One of the following enumeration values:
        ['pixel']
  - A string that matches one of the following regular expressions:
        ['^x([2-9]|[1-9][0-9]+)?( domain)?$']

Returns
-------
Any
r   r4   r5   s    r7   r   Annotation.axref       D G}r9   c                     XS'   g )Nr   r4   r;   s     r7   r   rX      r=   r9   c                     U S   $ )a  
Sets the y component of the arrow tail about the arrow head. If
`ayref` is `pixel`, a positive (negative) component corresponds
to an arrow pointing from bottom to top (top to bottom). If
`ayref` is not `pixel` and is exactly the same as `yref`, this
is an absolute value on that axis, like `y`, specified in the
same coordinates as `yref`.

The 'ay' property accepts values of any type

Returns
-------
Any
r   r4   r5   s    r7   r   Annotation.ay   rT   r9   c                     XS'   g )Nr   r4   r;   s     r7   r   r\     rV   r9   c                     U S   $ )a  
Indicates in what coordinates the tail of the annotation
(ax,ay) is specified. If set to a y axis id (e.g. "y" or "y2"),
the `y` position refers to a y coordinate. If set to "paper",
the `y` position refers to the distance from the bottom of the
plotting area in normalized coordinates where 0 (1) corresponds
to the bottom (top). If set to a y axis ID followed by "domain"
(separated by a space), the position behaves like for "paper",
but refers to the distance in fractions of the domain length
from the bottom of the domain of that axis: e.g., *y2 domain*
refers to the domain of the second y  axis and a y position of
0.5 refers to the point between the bottom and the top of the
domain of the second y axis. In order for absolute positioning
of the arrow to work, "ayref" must be exactly the same as
"yref", otherwise "ayref" will revert to "pixel" (explained
next). For relative positioning, "ayref" can be set to "pixel",
in which case the "ay" value is specified in pixels relative to
"y". Absolute positioning is useful for trendline annotations
which should continue to indicate the correct trend when
zoomed. Relative positioning is useful for specifying the text
offset for an annotated point.

The 'ayref' property is an enumeration that may be specified as:
  - One of the following enumeration values:
        ['pixel']
  - A string that matches one of the following regular expressions:
        ['^y([2-9]|[1-9][0-9]+)?( domain)?$']

Returns
-------
Any
r   r4   r5   s    r7   r   Annotation.ayref  rY   r9   c                     XS'   g )Nr   r4   r;   s     r7   r   r_   ,  r=   r9   c                     U S   $ )a{  
Sets the background color of the annotation.

The 'bgcolor' property is a color and may be specified as:
  - A hex string (e.g. '#ff0000')
  - An rgb/rgba string (e.g. 'rgb(255,0,0)')
  - An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
  - An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
  - A named CSS color: see https://plotly.com/python/css-colors/ for a list

Returns
-------
str
r   r4   r5   s    r7   r   Annotation.bgcolor0  s      Ir9   c                     XS'   g )Nr   r4   r;   s     r7   r   rb   B  	    Yr9   c                     U S   $ )a  
Sets the color of the border enclosing the annotation `text`.

The 'bordercolor' property is a color and may be specified as:
  - A hex string (e.g. '#ff0000')
  - An rgb/rgba string (e.g. 'rgb(255,0,0)')
  - An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
  - An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
  - A named CSS color: see https://plotly.com/python/css-colors/ for a list

Returns
-------
str
r+   r4   r5   s    r7   r+   Annotation.bordercolorF  s      M""r9   c                     XS'   g )Nr+   r4   r;   s     r7   r+   rf   X  
    !]r9   c                     U S   $ )z
Sets the padding (in px) between the `text` and the enclosing
border.

The 'borderpad' property is a number and may be specified as:
  - An int or float in the interval [0, inf]

Returns
-------
int|float
r$   r4   r5   s    r7   r$   Annotation.borderpad\  rD   r9   c                     XS'   g )Nr$   r4   r;   s     r7   r$   rj   k  rF   r9   c                     U S   $ )z
Sets the width (in px) of the border enclosing the annotation
`text`.

The 'borderwidth' property is a number and may be specified as:
  - An int or float in the interval [0, inf]

Returns
-------
int|float
r,   r4   r5   s    r7   r,   Annotation.borderwidtho  s     M""r9   c                     XS'   g )Nr,   r4   r;   s     r7   r,   rm   ~  rh   r9   c                     U S   $ )a  
Determines whether the annotation text box captures mouse move
and click events, or allows those events to pass through to
data points in the plot that may be behind the annotation. By
default `captureevents` is False unless `hovertext` is
provided. If you use the event `plotly_clickannotation` without
`hovertext` you must explicitly enable `captureevents`.

The 'captureevents' property must be specified as a bool
(either True, or False)

Returns
-------
bool
r.   r4   r5   s    r7   r.   Annotation.captureevents  s    " O$$r9   c                     XS'   g )Nr.   r4   r;   s     r7   r.   rp     
     #_r9   c                     U S   $ )aj  
Makes this annotation respond to clicks on the plot. If you
click a data point that exactly matches the `x` and `y` values
of this annotation, and it is hidden (visible: false), it will
appear. In "onoff" mode, you must click the same point again to
make it disappear, so if you click multiple points, you can
show multiple annotations. In "onout" mode, a click anywhere
else in the plot (on another data point or not) will hide this
annotation. If you need to show/hide this annotation in
response to different `x` or `y` values, you can set `xclick`
and/or `yclick`. This is useful for example to label the side
of a bar. To label markers though, `standoff` is preferred over
`xclick` and `yclick`.

The 'clicktoshow' property is an enumeration that may be specified as:
  - One of the following enumeration values:
        [False, 'onoff', 'onout']

Returns
-------
Any
r-   r4   r5   s    r7   r-   Annotation.clicktoshow  s    0 M""r9   c                     XS'   g )Nr-   r4   r;   s     r7   r-   rt     rh   r9   c                     U S   $ )a;  
Sets the annotation text font.

The 'font' property is an instance of Font
that may be specified as:
  - An instance of :class:`plotly.graph_objs.layout.annotation.Font`
  - A dict of string/value properties that will be passed
    to the Font constructor

Returns
-------
plotly.graph_objs.layout.annotation.Font
r   r4   r5   s    r7   r   Annotation.font  s     F|r9   c                     XS'   g )Nr   r4   r;   s     r7   r   rw     	    Vr9   c                     U S   $ )z
Sets an explicit height for the text box. null (default) lets
the text set the box height. Taller text will be clipped.

The 'height' property is a number and may be specified as:
  - An int or float in the interval [1, inf]

Returns
-------
int|float
r   r4   r5   s    r7   r   Annotation.height       H~r9   c                     XS'   g )Nr   r4   r;   s     r7   r   r{     	    Xr9   c                     U S   $ )a9  
The 'hoverlabel' property is an instance of Hoverlabel
that may be specified as:
  - An instance of :class:`plotly.graph_objs.layout.annotation.Hoverlabel`
  - A dict of string/value properties that will be passed
    to the Hoverlabel constructor

Returns
-------
plotly.graph_objs.layout.annotation.Hoverlabel
r*   r4   r5   s    r7   r*   Annotation.hoverlabel  s     L!!r9   c                     XS'   g )Nr*   r4   r;   s     r7   r*   r     rA   r9   c                     U S   $ )z
Sets text to appear when hovering over this annotation. If
omitted or blank, no hover label will appear.

The 'hovertext' property is a string and must be specified as:
  - A string
  - A number that will be converted to a string

Returns
-------
str
r%   r4   r5   s    r7   r%   Annotation.hovertext  rM   r9   c                     XS'   g )Nr%   r4   r;   s     r7   r%   r     rF   r9   c                     U S   $ )a  
When used in a template, named items are created in the output
figure in addition to any items the figure already has in this
array. You can modify these items in the output figure by
making your own item with `templateitemname` matching this
`name` alongside your modifications (including `visible: false`
or `enabled: false` to hide it). Has no effect outside of a
template.

The 'name' property is a string and must be specified as:
  - A string
  - A number that will be converted to a string

Returns
-------
str
r   r4   r5   s    r7   r   Annotation.name  s    & F|r9   c                     XS'   g )Nr   r4   r;   s     r7   r   r     ry   r9   c                     U S   $ )z
Sets the opacity of the annotation (text + arrow).

The 'opacity' property is a number and may be specified as:
  - An int or float in the interval [0, 1]

Returns
-------
int|float
r   r4   r5   s    r7   r   Annotation.opacity       Ir9   c                     XS'   g )Nr   r4   r;   s     r7   r   r   -  rd   r9   c                     U S   $ )a  
Determines whether or not the annotation is drawn with an
arrow. If True, `text` is placed near the arrow's tail. If
False, `text` lines up with the `x` and `y` provided.

The 'showarrow' property must be specified as a bool
(either True, or False)

Returns
-------
bool
r&   r4   r5   s    r7   r&   Annotation.showarrow1  rM   r9   c                     XS'   g )Nr&   r4   r;   s     r7   r&   r   A  rF   r9   c                     U S   $ )a  
Sets a distance, in pixels, to move the end arrowhead away from
the position it is pointing at, for example to point at the
edge of a marker independent of zoom. Note that this shortens
the arrow from the `ax` / `ay` vector, in contrast to `xshift`
/ `yshift` which moves everything by this amount.

The 'standoff' property is a number and may be specified as:
  - An int or float in the interval [0, inf]

Returns
-------
int|float
r    r4   r5   s    r7   r    Annotation.standoffE  s      Jr9   c                     XS'   g )Nr    r4   r;   s     r7   r    r   W  s
    Zr9   c                     U S   $ )z
Sets the start annotation arrow head style.

The 'startarrowhead' property is a integer and may be specified as:
  - An int (or float that will be cast to an int)
    in the interval [0, 8]

Returns
-------
int
r0   r4   r5   s    r7   r0   Annotation.startarrowhead[  s     $%%r9   c                     XS'   g )Nr0   r4   r;   s     r7   r0   r   j      !$r9   c                     U S   $ )a  
Sets the size of the start annotation arrow head, relative to
`arrowwidth`. A value of 1 (default) gives a head about 3x as
wide as the line.

The 'startarrowsize' property is a number and may be specified as:
  - An int or float in the interval [0.3, inf]

Returns
-------
int|float
r1   r4   r5   s    r7   r1   Annotation.startarrowsizen  s     $%%r9   c                     XS'   g )Nr1   r4   r;   s     r7   r1   r   ~  r   r9   c                     U S   $ )a  
Sets a distance, in pixels, to move the start arrowhead away
from the position it is pointing at, for example to point at
the edge of a marker independent of zoom. Note that this
shortens the arrow from the `ax` / `ay` vector, in contrast to
`xshift` / `yshift` which moves everything by this amount.

The 'startstandoff' property is a number and may be specified as:
  - An int or float in the interval [0, inf]

Returns
-------
int|float
r/   r4   r5   s    r7   r/   Annotation.startstandoff  s      O$$r9   c                     XS'   g )Nr/   r4   r;   s     r7   r/   r     rr   r9   c                     U S   $ )aa  
Used to refer to a named item in this array in the template.
Named items from the template will be created even without a
matching item in the input figure, but you can modify one by
making an item with `templateitemname` matching its `name`,
alongside your modifications (including `visible: false` or
`enabled: false` to hide it). If there is no template or no
matching item, this item will be hidden unless you explicitly
show it with `visible: true`.

The 'templateitemname' property is a string and must be specified as:
  - A string
  - A number that will be converted to a string

Returns
-------
str
r2   r4   r5   s    r7   r2   Annotation.templateitemname  s    ( &''r9   c                     XS'   g )Nr2   r4   r;   s     r7   r2   r     s    #& r9   c                     U S   $ )a  
Sets the text associated with this annotation. Plotly uses a
subset of HTML tags to do things like newline (<br>), bold
(<b></b>), italics (<i></i>), hyperlinks (<a href='...'></a>).
Tags <em>, <sup>, <sub>, <s>, <u> <span> are also supported.

The 'text' property is a string and must be specified as:
  - A string
  - A number that will be converted to a string

Returns
-------
str
r   r4   r5   s    r7   r   Annotation.text  s      F|r9   c                     XS'   g )Nr   r4   r;   s     r7   r   r     ry   r9   c                     U S   $ )a:  
Sets the angle at which the `text` is drawn with respect to the
horizontal.

The 'textangle' property is a angle (in degrees) that may be
specified as a number between -180 and 180.
Numeric values outside this range are converted to the equivalent value
(e.g. 270 is converted to -90).

Returns
-------
int|float
r'   r4   r5   s    r7   r'   Annotation.textangle  rI   r9   c                     XS'   g )Nr'   r4   r;   s     r7   r'   r     rF   r9   c                     U S   $ )a1  
Sets the vertical alignment of the `text` within the box. Has
an effect only if an explicit height is set to override the
text height.

The 'valign' property is an enumeration that may be specified as:
  - One of the following enumeration values:
        ['top', 'middle', 'bottom']

Returns
-------
Any
r   r4   r5   s    r7   r   Annotation.valign  s     H~r9   c                     XS'   g )Nr   r4   r;   s     r7   r   r     r~   r9   c                     U S   $ )z
Determines whether or not this annotation is visible.

The 'visible' property must be specified as a bool
(either True, or False)

Returns
-------
bool
r   r4   r5   s    r7   r   Annotation.visible  r   r9   c                     XS'   g )Nr   r4   r;   s     r7   r   r      rd   r9   c                     U S   $ )a7  
Sets an explicit width for the text box. null (default) lets
the text set the box width. Wider text will be clipped. There
is no automatic wrapping; use <br> to start a new line.

The 'width' property is a number and may be specified as:
  - An int or float in the interval [1, inf]

Returns
-------
int|float
r   r4   r5   s    r7   r   Annotation.width  s     G}r9   c                     XS'   g )Nr   r4   r;   s     r7   r   r     r=   r9   c                     U S   $ )a  
Sets the annotation's x position. If the axis `type` is "log",
then you must take the log of your desired range. If the axis
`type` is "date", it should be date strings, like date data,
though Date objects and unix milliseconds will be accepted and
converted to strings. If the axis `type` is "category", it
should be numbers, using the scale where each category is
assigned a serial number from zero in the order it appears.

The 'x' property accepts values of any type

Returns
-------
Any
r   r4   r5   s    r7   r   Annotation.x      " Cyr9   c                     XS'   g )Nr   r4   r;   s     r7   r   r   +  	    S	r9   c                     U S   $ )a  
Sets the text box's horizontal position anchor This anchor
binds the `x` position to the "left", "center" or "right" of
the annotation. For example, if `x` is set to 1, `xref` to
"paper" and `xanchor` to "right" then the right-most portion of
the annotation lines up with the right-most edge of the
plotting area. If "auto", the anchor is equivalent to "center"
for data-referenced annotations or if there is an arrow,
whereas for paper-referenced with no arrow, the anchor picked
corresponds to the closest side.

The 'xanchor' property is an enumeration that may be specified as:
  - One of the following enumeration values:
        ['auto', 'left', 'center', 'right']

Returns
-------
Any
r   r4   r5   s    r7   r   Annotation.xanchor/      * Ir9   c                     XS'   g )Nr   r4   r;   s     r7   r   r   F  rd   r9   c                     U S   $ )z
Toggle this annotation when clicking a data point whose `x`
value is `xclick` rather than the annotation's `x` value.

The 'xclick' property accepts values of any type

Returns
-------
Any
r   r4   r5   s    r7   r   Annotation.xclickJ       H~r9   c                     XS'   g )Nr   r4   r;   s     r7   r   r   X  r~   r9   c                     U S   $ )a  
Sets the annotation's x coordinate axis. If set to a x axis id
(e.g. "x" or "x2"), the `x` position refers to a x coordinate.
If set to "paper", the `x` position refers to the distance from
the left of the plotting area in normalized coordinates where 0
(1) corresponds to the left (right). If set to a x axis ID
followed by "domain" (separated by a space), the position
behaves like for "paper", but refers to the distance in
fractions of the domain length from the left of the domain of
that axis: e.g., *x2 domain* refers to the domain of the second
x  axis and a x position of 0.5 refers to the point between the
left and the right of the domain of the second x axis.

The 'xref' property is an enumeration that may be specified as:
  - One of the following enumeration values:
        ['paper']
  - A string that matches one of the following regular expressions:
        ['^x([2-9]|[1-9][0-9]+)?( domain)?$']

Returns
-------
Any
r   r4   r5   s    r7   r   Annotation.xref\      2 F|r9   c                     XS'   g )Nr   r4   r;   s     r7   r   r   w  ry   r9   c                     U S   $ )z
Shifts the position of the whole annotation and arrow to the
right (positive) or left (negative) by this many pixels.

The 'xshift' property is a number and may be specified as:
  - An int or float

Returns
-------
int|float
r   r4   r5   s    r7   r   Annotation.xshift{  r|   r9   c                     XS'   g )Nr   r4   r;   s     r7   r   r     r~   r9   c                     U S   $ )a  
Sets the annotation's y position. If the axis `type` is "log",
then you must take the log of your desired range. If the axis
`type` is "date", it should be date strings, like date data,
though Date objects and unix milliseconds will be accepted and
converted to strings. If the axis `type` is "category", it
should be numbers, using the scale where each category is
assigned a serial number from zero in the order it appears.

The 'y' property accepts values of any type

Returns
-------
Any
r	   r4   r5   s    r7   r	   Annotation.y  r   r9   c                     XS'   g )Nr	   r4   r;   s     r7   r	   r     r   r9   c                     U S   $ )a  
Sets the text box's vertical position anchor This anchor binds
the `y` position to the "top", "middle" or "bottom" of the
annotation. For example, if `y` is set to 1, `yref` to "paper"
and `yanchor` to "top" then the top-most portion of the
annotation lines up with the top-most edge of the plotting
area. If "auto", the anchor is equivalent to "middle" for data-
referenced annotations or if there is an arrow, whereas for
paper-referenced with no arrow, the anchor picked corresponds
to the closest side.

The 'yanchor' property is an enumeration that may be specified as:
  - One of the following enumeration values:
        ['auto', 'top', 'middle', 'bottom']

Returns
-------
Any
r   r4   r5   s    r7   r   Annotation.yanchor  r   r9   c                     XS'   g )Nr   r4   r;   s     r7   r   r     rd   r9   c                     U S   $ )z
Toggle this annotation when clicking a data point whose `y`
value is `yclick` rather than the annotation's `y` value.

The 'yclick' property accepts values of any type

Returns
-------
Any
r   r4   r5   s    r7   r   Annotation.yclick  r   r9   c                     XS'   g )Nr   r4   r;   s     r7   r   r     r~   r9   c                     U S   $ )a  
Sets the annotation's y coordinate axis. If set to a y axis id
(e.g. "y" or "y2"), the `y` position refers to a y coordinate.
If set to "paper", the `y` position refers to the distance from
the bottom of the plotting area in normalized coordinates where
0 (1) corresponds to the bottom (top). If set to a y axis ID
followed by "domain" (separated by a space), the position
behaves like for "paper", but refers to the distance in
fractions of the domain length from the bottom of the domain of
that axis: e.g., *y2 domain* refers to the domain of the second
y  axis and a y position of 0.5 refers to the point between the
bottom and the top of the domain of the second y axis.

The 'yref' property is an enumeration that may be specified as:
  - One of the following enumeration values:
        ['paper']
  - A string that matches one of the following regular expressions:
        ['^y([2-9]|[1-9][0-9]+)?( domain)?$']

Returns
-------
Any
r   r4   r5   s    r7   r   Annotation.yref  r   r9   c                     XS'   g )Nr   r4   r;   s     r7   r   r     ry   r9   c                     U S   $ )z
Shifts the position of the whole annotation and arrow up
(positive) or down (negative) by this many pixels.

The 'yshift' property is a number and may be specified as:
  - An int or float

Returns
-------
int|float
r   r4   r5   s    r7   r   Annotation.yshift  r|   r9   c                     XS'   g )Nr   r4   r;   s     r7   r   r      r~   r9   c                     g)Na:          align
            Sets the horizontal alignment of the `text` within the
            box. Has an effect only if `text` spans two or more
            lines (i.e. `text` contains one or more <br> HTML tags)
            or if an explicit width is set to override the text
            width.
        arrowcolor
            Sets the color of the annotation arrow.
        arrowhead
            Sets the end annotation arrow head style.
        arrowside
            Sets the annotation arrow head position.
        arrowsize
            Sets the size of the end annotation arrow head,
            relative to `arrowwidth`. A value of 1 (default) gives
            a head about 3x as wide as the line.
        arrowwidth
            Sets the width (in px) of annotation arrow line.
        ax
            Sets the x component of the arrow tail about the arrow
            head. If `axref` is `pixel`, a positive (negative)
            component corresponds to an arrow pointing from right
            to left (left to right). If `axref` is not `pixel` and
            is exactly the same as `xref`, this is an absolute
            value on that axis, like `x`, specified in the same
            coordinates as `xref`.
        axref
            Indicates in what coordinates the tail of the
            annotation (ax,ay) is specified. If set to a x axis id
            (e.g. "x" or "x2"), the `x` position refers to a x
            coordinate. If set to "paper", the `x` position refers
            to the distance from the left of the plotting area in
            normalized coordinates where 0 (1) corresponds to the
            left (right). If set to a x axis ID followed by
            "domain" (separated by a space), the position behaves
            like for "paper", but refers to the distance in
            fractions of the domain length from the left of the
            domain of that axis: e.g., *x2 domain* refers to the
            domain of the second x  axis and a x position of 0.5
            refers to the point between the left and the right of
            the domain of the second x axis. In order for absolute
            positioning of the arrow to work, "axref" must be
            exactly the same as "xref", otherwise "axref" will
            revert to "pixel" (explained next). For relative
            positioning, "axref" can be set to "pixel", in which
            case the "ax" value is specified in pixels relative to
            "x". Absolute positioning is useful for trendline
            annotations which should continue to indicate the
            correct trend when zoomed. Relative positioning is
            useful for specifying the text offset for an annotated
            point.
        ay
            Sets the y component of the arrow tail about the arrow
            head. If `ayref` is `pixel`, a positive (negative)
            component corresponds to an arrow pointing from bottom
            to top (top to bottom). If `ayref` is not `pixel` and
            is exactly the same as `yref`, this is an absolute
            value on that axis, like `y`, specified in the same
            coordinates as `yref`.
        ayref
            Indicates in what coordinates the tail of the
            annotation (ax,ay) is specified. If set to a y axis id
            (e.g. "y" or "y2"), the `y` position refers to a y
            coordinate. If set to "paper", the `y` position refers
            to the distance from the bottom of the plotting area in
            normalized coordinates where 0 (1) corresponds to the
            bottom (top). If set to a y axis ID followed by
            "domain" (separated by a space), the position behaves
            like for "paper", but refers to the distance in
            fractions of the domain length from the bottom of the
            domain of that axis: e.g., *y2 domain* refers to the
            domain of the second y  axis and a y position of 0.5
            refers to the point between the bottom and the top of
            the domain of the second y axis. In order for absolute
            positioning of the arrow to work, "ayref" must be
            exactly the same as "yref", otherwise "ayref" will
            revert to "pixel" (explained next). For relative
            positioning, "ayref" can be set to "pixel", in which
            case the "ay" value is specified in pixels relative to
            "y". Absolute positioning is useful for trendline
            annotations which should continue to indicate the
            correct trend when zoomed. Relative positioning is
            useful for specifying the text offset for an annotated
            point.
        bgcolor
            Sets the background color of the annotation.
        bordercolor
            Sets the color of the border enclosing the annotation
            `text`.
        borderpad
            Sets the padding (in px) between the `text` and the
            enclosing border.
        borderwidth
            Sets the width (in px) of the border enclosing the
            annotation `text`.
        captureevents
            Determines whether the annotation text box captures
            mouse move and click events, or allows those events to
            pass through to data points in the plot that may be
            behind the annotation. By default `captureevents` is
            False unless `hovertext` is provided. If you use the
            event `plotly_clickannotation` without `hovertext` you
            must explicitly enable `captureevents`.
        clicktoshow
            Makes this annotation respond to clicks on the plot. If
            you click a data point that exactly matches the `x` and
            `y` values of this annotation, and it is hidden
            (visible: false), it will appear. In "onoff" mode, you
            must click the same point again to make it disappear,
            so if you click multiple points, you can show multiple
            annotations. In "onout" mode, a click anywhere else in
            the plot (on another data point or not) will hide this
            annotation. If you need to show/hide this annotation in
            response to different `x` or `y` values, you can set
            `xclick` and/or `yclick`. This is useful for example to
            label the side of a bar. To label markers though,
            `standoff` is preferred over `xclick` and `yclick`.
        font
            Sets the annotation text font.
        height
            Sets an explicit height for the text box. null
            (default) lets the text set the box height. Taller text
            will be clipped.
        hoverlabel
            :class:`plotly.graph_objects.layout.annotation.Hoverlab
            el` instance or dict with compatible properties
        hovertext
            Sets text to appear when hovering over this annotation.
            If omitted or blank, no hover label will appear.
        name
            When used in a template, named items are created in the
            output figure in addition to any items the figure
            already has in this array. You can modify these items
            in the output figure by making your own item with
            `templateitemname` matching this `name` alongside your
            modifications (including `visible: false` or `enabled:
            false` to hide it). Has no effect outside of a
            template.
        opacity
            Sets the opacity of the annotation (text + arrow).
        showarrow
            Determines whether or not the annotation is drawn with
            an arrow. If True, `text` is placed near the arrow's
            tail. If False, `text` lines up with the `x` and `y`
            provided.
        standoff
            Sets a distance, in pixels, to move the end arrowhead
            away from the position it is pointing at, for example
            to point at the edge of a marker independent of zoom.
            Note that this shortens the arrow from the `ax` / `ay`
            vector, in contrast to `xshift` / `yshift` which moves
            everything by this amount.
        startarrowhead
            Sets the start annotation arrow head style.
        startarrowsize
            Sets the size of the start annotation arrow head,
            relative to `arrowwidth`. A value of 1 (default) gives
            a head about 3x as wide as the line.
        startstandoff
            Sets a distance, in pixels, to move the start arrowhead
            away from the position it is pointing at, for example
            to point at the edge of a marker independent of zoom.
            Note that this shortens the arrow from the `ax` / `ay`
            vector, in contrast to `xshift` / `yshift` which moves
            everything by this amount.
        templateitemname
            Used to refer to a named item in this array in the
            template. Named items from the template will be created
            even without a matching item in the input figure, but
            you can modify one by making an item with
            `templateitemname` matching its `name`, alongside your
            modifications (including `visible: false` or `enabled:
            false` to hide it). If there is no template or no
            matching item, this item will be hidden unless you
            explicitly show it with `visible: true`.
        text
            Sets the text associated with this annotation. Plotly
            uses a subset of HTML tags to do things like newline
            (<br>), bold (<b></b>), italics (<i></i>), hyperlinks
            (<a href='...'></a>). Tags <em>, <sup>, <sub>, <s>, <u>
            <span> are also supported.
        textangle
            Sets the angle at which the `text` is drawn with
            respect to the horizontal.
        valign
            Sets the vertical alignment of the `text` within the
            box. Has an effect only if an explicit height is set to
            override the text height.
        visible
            Determines whether or not this annotation is visible.
        width
            Sets an explicit width for the text box. null (default)
            lets the text set the box width. Wider text will be
            clipped. There is no automatic wrapping; use <br> to
            start a new line.
        x
            Sets the annotation's x position. If the axis `type` is
            "log", then you must take the log of your desired
            range. If the axis `type` is "date", it should be date
            strings, like date data, though Date objects and unix
            milliseconds will be accepted and converted to strings.
            If the axis `type` is "category", it should be numbers,
            using the scale where each category is assigned a
            serial number from zero in the order it appears.
        xanchor
            Sets the text box's horizontal position anchor This
            anchor binds the `x` position to the "left", "center"
            or "right" of the annotation. For example, if `x` is
            set to 1, `xref` to "paper" and `xanchor` to "right"
            then the right-most portion of the annotation lines up
            with the right-most edge of the plotting area. If
            "auto", the anchor is equivalent to "center" for data-
            referenced annotations or if there is an arrow, whereas
            for paper-referenced with no arrow, the anchor picked
            corresponds to the closest side.
        xclick
            Toggle this annotation when clicking a data point whose
            `x` value is `xclick` rather than the annotation's `x`
            value.
        xref
            Sets the annotation's x coordinate axis. If set to a x
            axis id (e.g. "x" or "x2"), the `x` position refers to
            a x coordinate. If set to "paper", the `x` position
            refers to the distance from the left of the plotting
            area in normalized coordinates where 0 (1) corresponds
            to the left (right). If set to a x axis ID followed by
            "domain" (separated by a space), the position behaves
            like for "paper", but refers to the distance in
            fractions of the domain length from the left of the
            domain of that axis: e.g., *x2 domain* refers to the
            domain of the second x  axis and a x position of 0.5
            refers to the point between the left and the right of
            the domain of the second x axis.
        xshift
            Shifts the position of the whole annotation and arrow
            to the right (positive) or left (negative) by this many
            pixels.
        y
            Sets the annotation's y position. If the axis `type` is
            "log", then you must take the log of your desired
            range. If the axis `type` is "date", it should be date
            strings, like date data, though Date objects and unix
            milliseconds will be accepted and converted to strings.
            If the axis `type` is "category", it should be numbers,
            using the scale where each category is assigned a
            serial number from zero in the order it appears.
        yanchor
            Sets the text box's vertical position anchor This
            anchor binds the `y` position to the "top", "middle" or
            "bottom" of the annotation. For example, if `y` is set
            to 1, `yref` to "paper" and `yanchor` to "top" then the
            top-most portion of the annotation lines up with the
            top-most edge of the plotting area. If "auto", the
            anchor is equivalent to "middle" for data-referenced
            annotations or if there is an arrow, whereas for paper-
            referenced with no arrow, the anchor picked corresponds
            to the closest side.
        yclick
            Toggle this annotation when clicking a data point whose
            `y` value is `yclick` rather than the annotation's `y`
            value.
        yref
            Sets the annotation's y coordinate axis. If set to a y
            axis id (e.g. "y" or "y2"), the `y` position refers to
            a y coordinate. If set to "paper", the `y` position
            refers to the distance from the bottom of the plotting
            area in normalized coordinates where 0 (1) corresponds
            to the bottom (top). If set to a y axis ID followed by
            "domain" (separated by a space), the position behaves
            like for "paper", but refers to the distance in
            fractions of the domain length from the bottom of the
            domain of that axis: e.g., *y2 domain* refers to the
            domain of the second y  axis and a y position of 0.5
            refers to the point between the bottom and the top of
            the domain of the second y axis.
        yshift
            Shifts the position of the whole annotation and arrow
            up (positive) or down (negative) by this many pixels.
        r4   r5   s    r7   _prop_descriptionsAnnotation._prop_descriptions  s    Wr9   c-           	        > [         T.U ]  S5        SU-;   a  U-S   U l        gUc  0 nOb[        XR                  5      (       a  UR                  5       nO7[        U[        5      (       a  [        R                  " U5      nO[        S5      eU-R                  SS5      U l        U-R                  SS5      U l        U R                  S	X5        U R                  S
X5        U R                  SX5        U R                  SX5        U R                  SX5        U R                  SX5        U R                  SX5        U R                  SX5        U R                  SX5        U R                  SX5        U R                  SX5        U R                  SX5        U R                  SX5        U R                  SX5        U R                  SUU5        U R                  SUU5        U R                  SUU5        U R                  SUU5        U R                  SUU5        U R                  SUU5        U R                  SUU5        U R                  SUU5        U R                  SUU5        U R                  S UU5        U R                  S!UU5        U R                  S"UU5        U R                  S#UU5        U R                  S$UU5        U R                  S%UU5        U R                  S&UU5        U R                  S'UU 5        U R                  S(UU!5        U R                  S)UU"5        U R                  S*UU#5        U R                  S+UU$5        U R                  S,UU%5        U R                  S-UU&5        U R                  S.UU'5        U R                  S/UU(5        U R                  S0UU)5        U R                  S1UU*5        U R                  S2UU+5        U R                  S3UU,5        U R                  " S40 [        U40 U-D6D6  SU l        g)5a2  
Construct a new Annotation object

Parameters
----------
arg
    dict of properties compatible with this constructor or
    an instance of
    :class:`plotly.graph_objs.layout.Annotation`
align
    Sets the horizontal alignment of the `text` within the
    box. Has an effect only if `text` spans two or more
    lines (i.e. `text` contains one or more <br> HTML tags)
    or if an explicit width is set to override the text
    width.
arrowcolor
    Sets the color of the annotation arrow.
arrowhead
    Sets the end annotation arrow head style.
arrowside
    Sets the annotation arrow head position.
arrowsize
    Sets the size of the end annotation arrow head,
    relative to `arrowwidth`. A value of 1 (default) gives
    a head about 3x as wide as the line.
arrowwidth
    Sets the width (in px) of annotation arrow line.
ax
    Sets the x component of the arrow tail about the arrow
    head. If `axref` is `pixel`, a positive (negative)
    component corresponds to an arrow pointing from right
    to left (left to right). If `axref` is not `pixel` and
    is exactly the same as `xref`, this is an absolute
    value on that axis, like `x`, specified in the same
    coordinates as `xref`.
axref
    Indicates in what coordinates the tail of the
    annotation (ax,ay) is specified. If set to a x axis id
    (e.g. "x" or "x2"), the `x` position refers to a x
    coordinate. If set to "paper", the `x` position refers
    to the distance from the left of the plotting area in
    normalized coordinates where 0 (1) corresponds to the
    left (right). If set to a x axis ID followed by
    "domain" (separated by a space), the position behaves
    like for "paper", but refers to the distance in
    fractions of the domain length from the left of the
    domain of that axis: e.g., *x2 domain* refers to the
    domain of the second x  axis and a x position of 0.5
    refers to the point between the left and the right of
    the domain of the second x axis. In order for absolute
    positioning of the arrow to work, "axref" must be
    exactly the same as "xref", otherwise "axref" will
    revert to "pixel" (explained next). For relative
    positioning, "axref" can be set to "pixel", in which
    case the "ax" value is specified in pixels relative to
    "x". Absolute positioning is useful for trendline
    annotations which should continue to indicate the
    correct trend when zoomed. Relative positioning is
    useful for specifying the text offset for an annotated
    point.
ay
    Sets the y component of the arrow tail about the arrow
    head. If `ayref` is `pixel`, a positive (negative)
    component corresponds to an arrow pointing from bottom
    to top (top to bottom). If `ayref` is not `pixel` and
    is exactly the same as `yref`, this is an absolute
    value on that axis, like `y`, specified in the same
    coordinates as `yref`.
ayref
    Indicates in what coordinates the tail of the
    annotation (ax,ay) is specified. If set to a y axis id
    (e.g. "y" or "y2"), the `y` position refers to a y
    coordinate. If set to "paper", the `y` position refers
    to the distance from the bottom of the plotting area in
    normalized coordinates where 0 (1) corresponds to the
    bottom (top). If set to a y axis ID followed by
    "domain" (separated by a space), the position behaves
    like for "paper", but refers to the distance in
    fractions of the domain length from the bottom of the
    domain of that axis: e.g., *y2 domain* refers to the
    domain of the second y  axis and a y position of 0.5
    refers to the point between the bottom and the top of
    the domain of the second y axis. In order for absolute
    positioning of the arrow to work, "ayref" must be
    exactly the same as "yref", otherwise "ayref" will
    revert to "pixel" (explained next). For relative
    positioning, "ayref" can be set to "pixel", in which
    case the "ay" value is specified in pixels relative to
    "y". Absolute positioning is useful for trendline
    annotations which should continue to indicate the
    correct trend when zoomed. Relative positioning is
    useful for specifying the text offset for an annotated
    point.
bgcolor
    Sets the background color of the annotation.
bordercolor
    Sets the color of the border enclosing the annotation
    `text`.
borderpad
    Sets the padding (in px) between the `text` and the
    enclosing border.
borderwidth
    Sets the width (in px) of the border enclosing the
    annotation `text`.
captureevents
    Determines whether the annotation text box captures
    mouse move and click events, or allows those events to
    pass through to data points in the plot that may be
    behind the annotation. By default `captureevents` is
    False unless `hovertext` is provided. If you use the
    event `plotly_clickannotation` without `hovertext` you
    must explicitly enable `captureevents`.
clicktoshow
    Makes this annotation respond to clicks on the plot. If
    you click a data point that exactly matches the `x` and
    `y` values of this annotation, and it is hidden
    (visible: false), it will appear. In "onoff" mode, you
    must click the same point again to make it disappear,
    so if you click multiple points, you can show multiple
    annotations. In "onout" mode, a click anywhere else in
    the plot (on another data point or not) will hide this
    annotation. If you need to show/hide this annotation in
    response to different `x` or `y` values, you can set
    `xclick` and/or `yclick`. This is useful for example to
    label the side of a bar. To label markers though,
    `standoff` is preferred over `xclick` and `yclick`.
font
    Sets the annotation text font.
height
    Sets an explicit height for the text box. null
    (default) lets the text set the box height. Taller text
    will be clipped.
hoverlabel
    :class:`plotly.graph_objects.layout.annotation.Hoverlab
    el` instance or dict with compatible properties
hovertext
    Sets text to appear when hovering over this annotation.
    If omitted or blank, no hover label will appear.
name
    When used in a template, named items are created in the
    output figure in addition to any items the figure
    already has in this array. You can modify these items
    in the output figure by making your own item with
    `templateitemname` matching this `name` alongside your
    modifications (including `visible: false` or `enabled:
    false` to hide it). Has no effect outside of a
    template.
opacity
    Sets the opacity of the annotation (text + arrow).
showarrow
    Determines whether or not the annotation is drawn with
    an arrow. If True, `text` is placed near the arrow's
    tail. If False, `text` lines up with the `x` and `y`
    provided.
standoff
    Sets a distance, in pixels, to move the end arrowhead
    away from the position it is pointing at, for example
    to point at the edge of a marker independent of zoom.
    Note that this shortens the arrow from the `ax` / `ay`
    vector, in contrast to `xshift` / `yshift` which moves
    everything by this amount.
startarrowhead
    Sets the start annotation arrow head style.
startarrowsize
    Sets the size of the start annotation arrow head,
    relative to `arrowwidth`. A value of 1 (default) gives
    a head about 3x as wide as the line.
startstandoff
    Sets a distance, in pixels, to move the start arrowhead
    away from the position it is pointing at, for example
    to point at the edge of a marker independent of zoom.
    Note that this shortens the arrow from the `ax` / `ay`
    vector, in contrast to `xshift` / `yshift` which moves
    everything by this amount.
templateitemname
    Used to refer to a named item in this array in the
    template. Named items from the template will be created
    even without a matching item in the input figure, but
    you can modify one by making an item with
    `templateitemname` matching its `name`, alongside your
    modifications (including `visible: false` or `enabled:
    false` to hide it). If there is no template or no
    matching item, this item will be hidden unless you
    explicitly show it with `visible: true`.
text
    Sets the text associated with this annotation. Plotly
    uses a subset of HTML tags to do things like newline
    (<br>), bold (<b></b>), italics (<i></i>), hyperlinks
    (<a href='...'></a>). Tags <em>, <sup>, <sub>, <s>, <u>
    <span> are also supported.
textangle
    Sets the angle at which the `text` is drawn with
    respect to the horizontal.
valign
    Sets the vertical alignment of the `text` within the
    box. Has an effect only if an explicit height is set to
    override the text height.
visible
    Determines whether or not this annotation is visible.
width
    Sets an explicit width for the text box. null (default)
    lets the text set the box width. Wider text will be
    clipped. There is no automatic wrapping; use <br> to
    start a new line.
x
    Sets the annotation's x position. If the axis `type` is
    "log", then you must take the log of your desired
    range. If the axis `type` is "date", it should be date
    strings, like date data, though Date objects and unix
    milliseconds will be accepted and converted to strings.
    If the axis `type` is "category", it should be numbers,
    using the scale where each category is assigned a
    serial number from zero in the order it appears.
xanchor
    Sets the text box's horizontal position anchor This
    anchor binds the `x` position to the "left", "center"
    or "right" of the annotation. For example, if `x` is
    set to 1, `xref` to "paper" and `xanchor` to "right"
    then the right-most portion of the annotation lines up
    with the right-most edge of the plotting area. If
    "auto", the anchor is equivalent to "center" for data-
    referenced annotations or if there is an arrow, whereas
    for paper-referenced with no arrow, the anchor picked
    corresponds to the closest side.
xclick
    Toggle this annotation when clicking a data point whose
    `x` value is `xclick` rather than the annotation's `x`
    value.
xref
    Sets the annotation's x coordinate axis. If set to a x
    axis id (e.g. "x" or "x2"), the `x` position refers to
    a x coordinate. If set to "paper", the `x` position
    refers to the distance from the left of the plotting
    area in normalized coordinates where 0 (1) corresponds
    to the left (right). If set to a x axis ID followed by
    "domain" (separated by a space), the position behaves
    like for "paper", but refers to the distance in
    fractions of the domain length from the left of the
    domain of that axis: e.g., *x2 domain* refers to the
    domain of the second x  axis and a x position of 0.5
    refers to the point between the left and the right of
    the domain of the second x axis.
xshift
    Shifts the position of the whole annotation and arrow
    to the right (positive) or left (negative) by this many
    pixels.
y
    Sets the annotation's y position. If the axis `type` is
    "log", then you must take the log of your desired
    range. If the axis `type` is "date", it should be date
    strings, like date data, though Date objects and unix
    milliseconds will be accepted and converted to strings.
    If the axis `type` is "category", it should be numbers,
    using the scale where each category is assigned a
    serial number from zero in the order it appears.
yanchor
    Sets the text box's vertical position anchor This
    anchor binds the `y` position to the "top", "middle" or
    "bottom" of the annotation. For example, if `y` is set
    to 1, `yref` to "paper" and `yanchor` to "top" then the
    top-most portion of the annotation lines up with the
    top-most edge of the plotting area. If "auto", the
    anchor is equivalent to "middle" for data-referenced
    annotations or if there is an arrow, whereas for paper-
    referenced with no arrow, the anchor picked corresponds
    to the closest side.
yclick
    Toggle this annotation when clicking a data point whose
    `y` value is `yclick` rather than the annotation's `y`
    value.
yref
    Sets the annotation's y coordinate axis. If set to a y
    axis id (e.g. "y" or "y2"), the `y` position refers to
    a y coordinate. If set to "paper", the `y` position
    refers to the distance from the bottom of the plotting
    area in normalized coordinates where 0 (1) corresponds
    to the bottom (top). If set to a y axis ID followed by
    "domain" (separated by a space), the position behaves
    like for "paper", but refers to the distance in
    fractions of the domain length from the bottom of the
    domain of that axis: e.g., *y2 domain* refers to the
    domain of the second y  axis and a y position of 0.5
    refers to the point between the bottom and the top of
    the domain of the second y axis.
yshift
    Shifts the position of the whole annotation and arrow
    up (positive) or down (negative) by this many pixels.

Returns
-------
Annotation
annotations_parentNzThe first argument to the plotly.graph_objs.layout.Annotation
constructor must be a dict or
an instance of :class:`plotly.graph_objs.layout.Annotation`skip_invalidF	_validateTr   r(   r!   r"   r#   r)   r
   r   r   r   r   r+   r$   r,   r.   r-   r   r   r*   r%   r   r   r&   r    r0   r1   r/   r2   r   r'   r   r   r   r   r   r   r   r   r	   r   r   r   r   r4   )super__init__r   
isinstance	__class__to_plotly_jsondict_copycopy
ValueErrorpop_skip_invalidr   _set_property_process_kwargs)/r6   argr   r(   r!   r"   r#   r)   r
   r   r   r   r   r+   r$   r,   r.   r-   r   r   r*   r%   r   r   r&   r    r0   r1   r/   r2   r   r'   r   r   r   r   r   r   r   r   r	   r   r   r   r   kwargsr   s/                                                 r7   r   Annotation.__init__  s   h
 	'!),DL;C^^,,$$&CT""**S/C?  $ZZ>K67C/<9;7;7;7<94)7C/4)7C/9c3=#;;7=#;?C?=#{;63-8S&1<j9;Y763-9c73;Y7:sH5+S.A+S.A?C?-s4DE63-;Y78S&19c737C/3Q'9c738S&163-8S&13Q'9c738S&163-8S&13tC2623"r9   )r   r   r   ),NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)8__name__
__module____qualname____firstlineno___parent_path_str	_path_str_valid_propspropertyr   setterr(   r!   r"   r#   r)   r
   r   r   r   r   r+   r$   r,   r.   r-   r   r   r*   r%   r   r   r&   r    r0   r1   r/   r2   r   r'   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   __static_attributes____classcell__)r   s   @r7   r   r      sJ   #I,L\  " \\  " "" ! ! ! !     ! !      ! !     " " ! !  " YY  ! !F \\   " YY  ! !F \\   " ^^  # #" " " ! !     # # " " % %$ $ $ # #2 " "    
[[    ]]  " " ! ! ! !      ( 
[[    ^^  ! !        " __  & & % % & & % % % %" $ $ ( (* ' '  " 
[[  ! !         ]]    ^^    \\   $ XX   , ^^    ]]   4 
[[    ]]   $ XX   , ^^    ]]   4 
[[    ]]  X Xx 

[V# V#r9   r   )plotly.basedatatypesr   _BaseLayoutHierarchyTyper   r   r   r4   r9   r7   <module>r      s    U m#) m#r9   