B
    >Œ¶c6 ã               @   sb  d dl mZ d dlZG dd„ deƒZd dl mZ d dlZG dd„ deƒZd dl mZ d dlZG dd„ deƒZd dl mZ d dlZG d	d
„ d
eƒZd dl mZ d dlZG dd„ deƒZ	d dl mZ d dlZG dd„ deƒZ
d dl mZ d dlZG dd„ deƒZd dl mZ d dlZG dd„ deƒZddddd
ddddddgZd dlmZ d dlmZ d dlmZ dS )é    )ÚBaseTraceHierarchyTypeNc                   s„   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejd	d„ ƒZed
d„ ƒZedd„ ƒZ	d‡ fdd„	Z
‡  ZS )ÚTitlec             C   s   | d S )aŒ  
        Sets the font used for `title`. Note that the title's font used
        to be set by the now deprecated `titlefont` attribute.
    
        The 'font' property is an instance of Font
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.pie.title.Font`
          - A dict of string/value properties that will be passed
            to the Font constructor
    
            Supported dict properties:
                
                color
    
                colorsrc
                    Sets the source reference on plot.ly for  color
                    .
                family
                    HTML font family - the typeface that will be
                    applied by the web browser. The web browser
                    will only be able to apply a font if it is
                    available on the system which it operates.
                    Provide multiple font families, separated by
                    commas, to indicate the preference in which to
                    apply fonts if they aren't available on the
                    system. The plotly service (at https://plot.ly
                    or on-premise) generates images on a server,
                    where only a select number of fonts are
                    installed and supported. These include "Arial",
                    "Balto", "Courier New", "Droid Sans",, "Droid
                    Serif", "Droid Sans Mono", "Gravitas One", "Old
                    Standard TT", "Open Sans", "Overpass", "PT Sans
                    Narrow", "Raleway", "Times New Roman".
                familysrc
                    Sets the source reference on plot.ly for
                    family .
                size
    
                sizesrc
                    Sets the source reference on plot.ly for  size
                    .

        Returns
        -------
        plotly.graph_objs.pie.title.Font
        Úfont© )Úselfr   r   úO/var/www/cleansys/lib/python3.7/site-packages/plotly/graph_objs/pie/__init__.pyr   	   s    0z
Title.fontc             C   s   || d< d S )Nr   r   )r   Úvalr   r   r   r   ;   s    c             C   s   | d S )aã  
        Specifies the location of the `title`. Note that the title's
        position used to be set by the now deprecated `titleposition`
        attribute.
    
        The 'position' property is an enumeration that may be specified as:
          - One of the following enumeration values:
                ['top left', 'top center', 'top right', 'middle center',
                'bottom left', 'bottom center', 'bottom right']

        Returns
        -------
        Any
        Úpositionr   )r   r   r   r   r	   A   s    zTitle.positionc             C   s   || d< d S )Nr	   r   )r   r   r   r   r   r	   S   s    c             C   s   | d S )aÊ  
        Sets the title of the chart. If it is empty, no title is
        displayed. Note that before the existence of `title.text`, the
        title's contents used to be defined as the `title` attribute
        itself. This behavior has been deprecated.
    
        The 'text' property is a string and must be specified as:
          - A string
          - A number that will be converted to a string

        Returns
        -------
        str
        Útextr   )r   r   r   r   r
   Y   s    z
Title.textc             C   s   || d< d S )Nr
   r   )r   r   r   r   r   r
   k   s    c             C   s   dS )NÚpier   )r   r   r   r   Ú_parent_path_strq   s    zTitle._parent_path_strc             C   s   dS )Na”          font
            Sets the font used for `title`. Note that the title's
            font used to be set by the now deprecated `titlefont`
            attribute.
        position
            Specifies the location of the `title`. Note that the
            title's position used to be set by the now deprecated
            `titleposition` attribute.
        text
            Sets the title of the chart. If it is empty, no title
            is displayed. Note that before the existence of
            `title.text`, the title's contents used to be defined
            as the `title` attribute itself. This behavior has been
            deprecated.
        r   )r   r   r   r   Ú_prop_descriptionsw   s    zTitle._prop_descriptionsNc                s  t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm} | ¡ | jd< | ¡ | jd	< | ¡ | jd
< | 
dd¡}|dk	r®|n|| d< | 
d	d¡}|dk	rÎ|n|| d	< | 
d
d¡}|dk	rî|n|| d
< | jf t|f|ŽŽ d| _dS )a§  
        Construct a new Title object
        
        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of :class:`plotly.graph_objs.pie.Title`
        font
            Sets the font used for `title`. Note that the title's
            font used to be set by the now deprecated `titlefont`
            attribute.
        position
            Specifies the location of the `title`. Note that the
            title's position used to be set by the now deprecated
            `titleposition` attribute.
        text
            Sets the title of the chart. If it is empty, no title
            is displayed. Note that before the existence of
            `title.text`, the title's contents used to be defined
            as the `title` attribute itself. This behavior has been
            deprecated.

        Returns
        -------
        Title
        ÚtitleNz‰The first argument to the plotly.graph_objs.pie.Title 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.pie.Title`Úskip_invalidFr   )r   r   r	   r
   )Úsuperr   Ú__init__Ú
isinstanceÚ	__class__Úto_plotly_jsonÚdictÚ_copyÚcopyÚ
ValueErrorÚpopÚ_skip_invalidÚplotly.validators.pier   ÚFontValidatorÚ_validatorsZPositionValidatorZTextValidatorÚ_process_kwargs)r   Úargr   r	   r
   ÚkwargsZv_titleÚ_v)r   r   r   r   Š   s,    

zTitle.__init__)NNNN)Ú__name__Ú
__module__Ú__qualname__Úpropertyr   Úsetterr	   r
   r   r   r   Ú__classcell__r   r   )r   r   r      s   2r   c                   sÒ   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejd	d„ ƒZed
d„ ƒZejdd„ ƒZedd„ ƒZ	e	jdd„ ƒZ	edd„ ƒZ
e
jdd„ ƒZ
edd„ ƒZedd„ ƒZd‡ fdd„	Z‡  ZS )ÚTextfontc             C   s   | d S )a%
  
        The 'color' 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:
                aliceblue, antiquewhite, aqua, aquamarine, azure,
                beige, bisque, black, blanchedalmond, blue,
                blueviolet, brown, burlywood, cadetblue,
                chartreuse, chocolate, coral, cornflowerblue,
                cornsilk, crimson, cyan, darkblue, darkcyan,
                darkgoldenrod, darkgray, darkgrey, darkgreen,
                darkkhaki, darkmagenta, darkolivegreen, darkorange,
                darkorchid, darkred, darksalmon, darkseagreen,
                darkslateblue, darkslategray, darkslategrey,
                darkturquoise, darkviolet, deeppink, deepskyblue,
                dimgray, dimgrey, dodgerblue, firebrick,
                floralwhite, forestgreen, fuchsia, gainsboro,
                ghostwhite, gold, goldenrod, gray, grey, green,
                greenyellow, honeydew, hotpink, indianred, indigo,
                ivory, khaki, lavender, lavenderblush, lawngreen,
                lemonchiffon, lightblue, lightcoral, lightcyan,
                lightgoldenrodyellow, lightgray, lightgrey,
                lightgreen, lightpink, lightsalmon, lightseagreen,
                lightskyblue, lightslategray, lightslategrey,
                lightsteelblue, lightyellow, lime, limegreen,
                linen, magenta, maroon, mediumaquamarine,
                mediumblue, mediumorchid, mediumpurple,
                mediumseagreen, mediumslateblue, mediumspringgreen,
                mediumturquoise, mediumvioletred, midnightblue,
                mintcream, mistyrose, moccasin, navajowhite, navy,
                oldlace, olive, olivedrab, orange, orangered,
                orchid, palegoldenrod, palegreen, paleturquoise,
                palevioletred, papayawhip, peachpuff, peru, pink,
                plum, powderblue, purple, red, rosybrown,
                royalblue, rebeccapurple, saddlebrown, salmon,
                sandybrown, seagreen, seashell, sienna, silver,
                skyblue, slateblue, slategray, slategrey, snow,
                springgreen, steelblue, tan, teal, thistle, tomato,
                turquoise, violet, wheat, white, whitesmoke,
                yellow, yellowgreen
          - A list or array of any of the above

        Returns
        -------
        str|numpy.ndarray
        Úcolorr   )r   r   r   r   r)   à   s    2zTextfont.colorc             C   s   || d< d S )Nr)   r   )r   r   r   r   r   r)     s    c             C   s   | d S )zâ
        Sets the source reference on plot.ly for  color .
    
        The 'colorsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        Úcolorsrcr   )r   r   r   r   r*     s    zTextfont.colorsrcc             C   s   || d< d S )Nr*   r   )r   r   r   r   r   r*   (  s    c             C   s   | d S )aô  
        HTML font family - the typeface that will be applied by the web
        browser. The web browser will only be able to apply a font if
        it is available on the system which it operates. Provide
        multiple font families, separated by commas, to indicate the
        preference in which to apply fonts if they aren't available on
        the system. The plotly service (at https://plot.ly or on-
        premise) generates images on a server, where only a select
        number of fonts are installed and supported. These include
        "Arial", "Balto", "Courier New", "Droid Sans",, "Droid Serif",
        "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open
        Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New
        Roman".
    
        The 'family' property is a string and must be specified as:
          - A non-empty string
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        str|numpy.ndarray
        Úfamilyr   )r   r   r   r   r+   .  s    zTextfont.familyc             C   s   || d< d S )Nr+   r   )r   r   r   r   r   r+   H  s    c             C   s   | d S )zä
        Sets the source reference on plot.ly for  family .
    
        The 'familysrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        Ú	familysrcr   )r   r   r   r   r,   N  s    zTextfont.familysrcc             C   s   || d< d S )Nr,   r   )r   r   r   r   r   r,   \  s    c             C   s   | d S )a  
        The 'size' property is a number and may be specified as:
          - An int or float in the interval [1, inf]
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        int|float|numpy.ndarray
        Úsizer   )r   r   r   r   r-   b  s    zTextfont.sizec             C   s   || d< d S )Nr-   r   )r   r   r   r   r   r-   o  s    c             C   s   | d S )zà
        Sets the source reference on plot.ly for  size .
    
        The 'sizesrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        Úsizesrcr   )r   r   r   r   r.   u  s    zTextfont.sizesrcc             C   s   || d< d S )Nr.   r   )r   r   r   r   r   r.   ƒ  s    c             C   s   dS )Nr   r   )r   r   r   r   r   ‰  s    zTextfont._parent_path_strc             C   s   dS )Na]          color

        colorsrc
            Sets the source reference on plot.ly for  color .
        family
            HTML font family - the typeface that will be applied by
            the web browser. The web browser will only be able to
            apply a font if it is available on the system which it
            operates. Provide multiple font families, separated by
            commas, to indicate the preference in which to apply
            fonts if they aren't available on the system. The
            plotly service (at https://plot.ly or on-premise)
            generates images on a server, where only a select
            number of fonts are installed and supported. These
            include "Arial", "Balto", "Courier New", "Droid Sans",,
            "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old
            Standard TT", "Open Sans", "Overpass", "PT Sans
            Narrow", "Raleway", "Times New Roman".
        familysrc
            Sets the source reference on plot.ly for  family .
        size

        sizesrc
            Sets the source reference on plot.ly for  size .
        r   )r   r   r   r   r     s    zTextfont._prop_descriptionsNc                s¦  t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm}	 |	 ¡ | jd< |	 ¡ | jd	< |	 ¡ | jd
< |	 ¡ | jd< |	 ¡ | jd< |	 ¡ | jd< | 
dd¡}
|dk	rØ|n|
| d< | 
d	d¡}
|dk	rø|n|
| d	< | 
d
d¡}
|dk	r|n|
| d
< | 
dd¡}
|dk	r<|n|
| d< | 
dd¡}
|dk	r^|n|
| d< | 
dd¡}
|dk	r€|n|
| d< | jf t|f|ŽŽ d| _dS )a¥  
        Construct a new Textfont object
        
        Sets the font used for `textinfo`.

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of :class:`plotly.graph_objs.pie.Textfont`
        color

        colorsrc
            Sets the source reference on plot.ly for  color .
        family
            HTML font family - the typeface that will be applied by
            the web browser. The web browser will only be able to
            apply a font if it is available on the system which it
            operates. Provide multiple font families, separated by
            commas, to indicate the preference in which to apply
            fonts if they aren't available on the system. The
            plotly service (at https://plot.ly or on-premise)
            generates images on a server, where only a select
            number of fonts are installed and supported. These
            include "Arial", "Balto", "Courier New", "Droid Sans",,
            "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old
            Standard TT", "Open Sans", "Overpass", "PT Sans
            Narrow", "Raleway", "Times New Roman".
        familysrc
            Sets the source reference on plot.ly for  family .
        size

        sizesrc
            Sets the source reference on plot.ly for  size .

        Returns
        -------
        Textfont
        ÚtextfontNzThe first argument to the plotly.graph_objs.pie.Textfont 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.pie.Textfont`r   Fr   )r/   r)   r*   r+   r,   r-   r.   )r   r(   r   r   r   r   r   r   r   r   r   r   r   r/   ÚColorValidatorr   ÚColorsrcValidatorÚFamilyValidatorÚFamilysrcValidatorÚSizeValidatorÚSizesrcValidatorr   )r   r   r)   r*   r+   r,   r-   r.   r    Z
v_textfontr!   )r   r   r   r   ¬  s>    2

zTextfont.__init__)NNNNNNN)r"   r#   r$   r%   r)   r&   r*   r+   r,   r-   r.   r   r   r   r'   r   r   )r   r   r(   Ü   s*   4      r(   c                   sj   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZed	d
„ ƒZd‡ fdd„	Z	‡  Z
S )ÚStreamc             C   s   | d S )a|  
        Sets the maximum number of points to keep on the plots from an
        incoming stream. If `maxpoints` is set to 50, only the newest
        50 points will be displayed on the plot.
    
        The 'maxpoints' property is a number and may be specified as:
          - An int or float in the interval [0, 10000]

        Returns
        -------
        int|float
        Ú	maxpointsr   )r   r   r   r   r7   !  s    zStream.maxpointsc             C   s   || d< d S )Nr7   r   )r   r   r   r   r   r7   1  s    c             C   s   | d S )a  
        The stream id number links a data trace on a plot with a
        stream. See https://plot.ly/settings for more details.
    
        The 'token' property is a string and must be specified as:
          - A non-empty string

        Returns
        -------
        str
        Útokenr   )r   r   r   r   r8   7  s    zStream.tokenc             C   s   || d< d S )Nr8   r   )r   r   r   r   r   r8   F  s    c             C   s   dS )Nr   r   )r   r   r   r   r   L  s    zStream._parent_path_strc             C   s   dS )Na’          maxpoints
            Sets the maximum number of points to keep on the plots
            from an incoming stream. If `maxpoints` is set to 50,
            only the newest 50 points will be displayed on the
            plot.
        token
            The stream id number links a data trace on a plot with
            a stream. See https://plot.ly/settings for more
            details.
        r   )r   r   r   r   r   R  s    zStream._prop_descriptionsNc                sæ   t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm} | ¡ | jd< | ¡ | jd	< | 
dd¡}|dk	r |n|| d< | 
d	d¡}|dk	rÀ|n|| d	< | jf t|f|ŽŽ d| _dS )
a¨  
        Construct a new Stream object
        
        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of :class:`plotly.graph_objs.pie.Stream`
        maxpoints
            Sets the maximum number of points to keep on the plots
            from an incoming stream. If `maxpoints` is set to 50,
            only the newest 50 points will be displayed on the
            plot.
        token
            The stream id number links a data trace on a plot with
            a stream. See https://plot.ly/settings for more
            details.

        Returns
        -------
        Stream
        ÚstreamNz‹The first argument to the plotly.graph_objs.pie.Stream 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.pie.Stream`r   Fr   )r9   r7   r8   )r   r6   r   r   r   r   r   r   r   r   r   r   r   r9   ZMaxpointsValidatorr   ZTokenValidatorr   )r   r   r7   r8   r    Zv_streamr!   )r   r   r   r   `  s&    

zStream.__init__)NNN)r"   r#   r$   r%   r7   r&   r8   r   r   r   r'   r   r   )r   r   r6     s   r6   c                   sÒ   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejd	d„ ƒZed
d„ ƒZejdd„ ƒZedd„ ƒZ	e	jdd„ ƒZ	edd„ ƒZ
e
jdd„ ƒZ
edd„ ƒZedd„ ƒZd‡ fdd„	Z‡  ZS )ÚOutsidetextfontc             C   s   | d S )a%
  
        The 'color' 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:
                aliceblue, antiquewhite, aqua, aquamarine, azure,
                beige, bisque, black, blanchedalmond, blue,
                blueviolet, brown, burlywood, cadetblue,
                chartreuse, chocolate, coral, cornflowerblue,
                cornsilk, crimson, cyan, darkblue, darkcyan,
                darkgoldenrod, darkgray, darkgrey, darkgreen,
                darkkhaki, darkmagenta, darkolivegreen, darkorange,
                darkorchid, darkred, darksalmon, darkseagreen,
                darkslateblue, darkslategray, darkslategrey,
                darkturquoise, darkviolet, deeppink, deepskyblue,
                dimgray, dimgrey, dodgerblue, firebrick,
                floralwhite, forestgreen, fuchsia, gainsboro,
                ghostwhite, gold, goldenrod, gray, grey, green,
                greenyellow, honeydew, hotpink, indianred, indigo,
                ivory, khaki, lavender, lavenderblush, lawngreen,
                lemonchiffon, lightblue, lightcoral, lightcyan,
                lightgoldenrodyellow, lightgray, lightgrey,
                lightgreen, lightpink, lightsalmon, lightseagreen,
                lightskyblue, lightslategray, lightslategrey,
                lightsteelblue, lightyellow, lime, limegreen,
                linen, magenta, maroon, mediumaquamarine,
                mediumblue, mediumorchid, mediumpurple,
                mediumseagreen, mediumslateblue, mediumspringgreen,
                mediumturquoise, mediumvioletred, midnightblue,
                mintcream, mistyrose, moccasin, navajowhite, navy,
                oldlace, olive, olivedrab, orange, orangered,
                orchid, palegoldenrod, palegreen, paleturquoise,
                palevioletred, papayawhip, peachpuff, peru, pink,
                plum, powderblue, purple, red, rosybrown,
                royalblue, rebeccapurple, saddlebrown, salmon,
                sandybrown, seagreen, seashell, sienna, silver,
                skyblue, slateblue, slategray, slategrey, snow,
                springgreen, steelblue, tan, teal, thistle, tomato,
                turquoise, violet, wheat, white, whitesmoke,
                yellow, yellowgreen
          - A list or array of any of the above

        Returns
        -------
        str|numpy.ndarray
        r)   r   )r   r   r   r   r)   ®  s    2zOutsidetextfont.colorc             C   s   || d< d S )Nr)   r   )r   r   r   r   r   r)   â  s    c             C   s   | d S )zâ
        Sets the source reference on plot.ly for  color .
    
        The 'colorsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r*   r   )r   r   r   r   r*   è  s    zOutsidetextfont.colorsrcc             C   s   || d< d S )Nr*   r   )r   r   r   r   r   r*   ö  s    c             C   s   | d S )aô  
        HTML font family - the typeface that will be applied by the web
        browser. The web browser will only be able to apply a font if
        it is available on the system which it operates. Provide
        multiple font families, separated by commas, to indicate the
        preference in which to apply fonts if they aren't available on
        the system. The plotly service (at https://plot.ly or on-
        premise) generates images on a server, where only a select
        number of fonts are installed and supported. These include
        "Arial", "Balto", "Courier New", "Droid Sans",, "Droid Serif",
        "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open
        Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New
        Roman".
    
        The 'family' property is a string and must be specified as:
          - A non-empty string
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        str|numpy.ndarray
        r+   r   )r   r   r   r   r+   ü  s    zOutsidetextfont.familyc             C   s   || d< d S )Nr+   r   )r   r   r   r   r   r+     s    c             C   s   | d S )zä
        Sets the source reference on plot.ly for  family .
    
        The 'familysrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r,   r   )r   r   r   r   r,     s    zOutsidetextfont.familysrcc             C   s   || d< d S )Nr,   r   )r   r   r   r   r   r,   *  s    c             C   s   | d S )a  
        The 'size' property is a number and may be specified as:
          - An int or float in the interval [1, inf]
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        int|float|numpy.ndarray
        r-   r   )r   r   r   r   r-   0  s    zOutsidetextfont.sizec             C   s   || d< d S )Nr-   r   )r   r   r   r   r   r-   =  s    c             C   s   | d S )zà
        Sets the source reference on plot.ly for  size .
    
        The 'sizesrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r.   r   )r   r   r   r   r.   C  s    zOutsidetextfont.sizesrcc             C   s   || d< d S )Nr.   r   )r   r   r   r   r   r.   Q  s    c             C   s   dS )Nr   r   )r   r   r   r   r   W  s    z Outsidetextfont._parent_path_strc             C   s   dS )Na]          color

        colorsrc
            Sets the source reference on plot.ly for  color .
        family
            HTML font family - the typeface that will be applied by
            the web browser. The web browser will only be able to
            apply a font if it is available on the system which it
            operates. Provide multiple font families, separated by
            commas, to indicate the preference in which to apply
            fonts if they aren't available on the system. The
            plotly service (at https://plot.ly or on-premise)
            generates images on a server, where only a select
            number of fonts are installed and supported. These
            include "Arial", "Balto", "Courier New", "Droid Sans",,
            "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old
            Standard TT", "Open Sans", "Overpass", "PT Sans
            Narrow", "Raleway", "Times New Roman".
        familysrc
            Sets the source reference on plot.ly for  family .
        size

        sizesrc
            Sets the source reference on plot.ly for  size .
        r   )r   r   r   r   r   ]  s    z"Outsidetextfont._prop_descriptionsNc                s¦  t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm}	 |	 ¡ | jd< |	 ¡ | jd	< |	 ¡ | jd
< |	 ¡ | jd< |	 ¡ | jd< |	 ¡ | jd< | 
dd¡}
|dk	rØ|n|
| d< | 
d	d¡}
|dk	rø|n|
| d	< | 
d
d¡}
|dk	r|n|
| d
< | 
dd¡}
|dk	r<|n|
| d< | 
dd¡}
|dk	r^|n|
| d< | 
dd¡}
|dk	r€|n|
| d< | jf t|f|ŽŽ d| _dS )aß  
        Construct a new Outsidetextfont object
        
        Sets the font used for `textinfo` lying outside the sector.

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.pie.Outsidetextfont`
        color

        colorsrc
            Sets the source reference on plot.ly for  color .
        family
            HTML font family - the typeface that will be applied by
            the web browser. The web browser will only be able to
            apply a font if it is available on the system which it
            operates. Provide multiple font families, separated by
            commas, to indicate the preference in which to apply
            fonts if they aren't available on the system. The
            plotly service (at https://plot.ly or on-premise)
            generates images on a server, where only a select
            number of fonts are installed and supported. These
            include "Arial", "Balto", "Courier New", "Droid Sans",,
            "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old
            Standard TT", "Open Sans", "Overpass", "PT Sans
            Narrow", "Raleway", "Times New Roman".
        familysrc
            Sets the source reference on plot.ly for  family .
        size

        sizesrc
            Sets the source reference on plot.ly for  size .

        Returns
        -------
        Outsidetextfont
        ÚoutsidetextfontNzThe first argument to the plotly.graph_objs.pie.Outsidetextfont 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.pie.Outsidetextfont`r   Fr   )r;   r)   r*   r+   r,   r-   r.   )r   r:   r   r   r   r   r   r   r   r   r   r   r   r;   r0   r   r1   r2   r3   r4   r5   r   )r   r   r)   r*   r+   r,   r-   r.   r    Zv_outsidetextfontr!   )r   r   r   r   z  s>    3

zOutsidetextfont.__init__)NNNNNNN)r"   r#   r$   r%   r)   r&   r*   r+   r,   r-   r.   r   r   r   r'   r   r   )r   r   r:   ª  s*   4      r:   c                   s„   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejd	d„ ƒZed
d„ ƒZedd„ ƒZ	d‡ fdd„	Z
‡  ZS )ÚMarkerc             C   s   | d S )a=  
        Sets the color of each sector. If not specified, the default
        trace color set is used to pick the sector colors.
    
        The 'colors' property is an array that may be specified as a tuple,
        list, numpy array, or pandas Series

        Returns
        -------
        numpy.ndarray
        Úcolorsr   )r   r   r   r   r=   ð  s    zMarker.colorsc             C   s   || d< d S )Nr=   r   )r   r   r   r   r   r=   ÿ  s    c             C   s   | d S )zä
        Sets the source reference on plot.ly for  colors .
    
        The 'colorssrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        Ú	colorssrcr   )r   r   r   r   r>     s    zMarker.colorssrcc             C   s   || d< d S )Nr>   r   )r   r   r   r   r   r>     s    c             C   s   | d S )a`  
        The 'line' property is an instance of Line
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.pie.marker.Line`
          - A dict of string/value properties that will be passed
            to the Line constructor
    
            Supported dict properties:
                
                color
                    Sets the color of the line enclosing each
                    sector.
                colorsrc
                    Sets the source reference on plot.ly for  color
                    .
                width
                    Sets the width (in px) of the line enclosing
                    each sector.
                widthsrc
                    Sets the source reference on plot.ly for  width
                    .

        Returns
        -------
        plotly.graph_objs.pie.marker.Line
        Úliner   )r   r   r   r   r?     s    zMarker.linec             C   s   || d< d S )Nr?   r   )r   r   r   r   r   r?   7  s    c             C   s   dS )Nr   r   )r   r   r   r   r   =  s    zMarker._parent_path_strc             C   s   dS )Na{          colors
            Sets the color of each sector. If not specified, the
            default trace color set is used to pick the sector
            colors.
        colorssrc
            Sets the source reference on plot.ly for  colors .
        line
            :class:`plotly.graph_objects.pie.marker.Line` instance
            or dict with compatible properties
        r   )r   r   r   r   r   C  s    zMarker._prop_descriptionsNc                s  t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm} | ¡ | jd< | ¡ | jd	< | ¡ | jd
< | 
dd¡}|dk	r®|n|| d< | 
d	d¡}|dk	rÎ|n|| d	< | 
d
d¡}|dk	rî|n|| d
< | jf t|f|ŽŽ d| _dS )a‘  
        Construct a new Marker object
        
        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of :class:`plotly.graph_objs.pie.Marker`
        colors
            Sets the color of each sector. If not specified, the
            default trace color set is used to pick the sector
            colors.
        colorssrc
            Sets the source reference on plot.ly for  colors .
        line
            :class:`plotly.graph_objects.pie.marker.Line` instance
            or dict with compatible properties

        Returns
        -------
        Marker
        ÚmarkerNz‹The first argument to the plotly.graph_objs.pie.Marker 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.pie.Marker`r   Fr   )r@   r=   r>   r?   )r   r<   r   r   r   r   r   r   r   r   r   r   r   r@   ZColorsValidatorr   ZColorssrcValidatorZLineValidatorr   )r   r   r=   r>   r?   r    Zv_markerr!   )r   r   r   r   Q  s,    

zMarker.__init__)NNNN)r"   r#   r$   r%   r=   r&   r>   r?   r   r   r   r'   r   r   )r   r   r<   ì  s   r<   c                   sÒ   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejd	d„ ƒZed
d„ ƒZejdd„ ƒZedd„ ƒZ	e	jdd„ ƒZ	edd„ ƒZ
e
jdd„ ƒZ
edd„ ƒZedd„ ƒZd‡ fdd„	Z‡  ZS )ÚInsidetextfontc             C   s   | d S )a%
  
        The 'color' 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:
                aliceblue, antiquewhite, aqua, aquamarine, azure,
                beige, bisque, black, blanchedalmond, blue,
                blueviolet, brown, burlywood, cadetblue,
                chartreuse, chocolate, coral, cornflowerblue,
                cornsilk, crimson, cyan, darkblue, darkcyan,
                darkgoldenrod, darkgray, darkgrey, darkgreen,
                darkkhaki, darkmagenta, darkolivegreen, darkorange,
                darkorchid, darkred, darksalmon, darkseagreen,
                darkslateblue, darkslategray, darkslategrey,
                darkturquoise, darkviolet, deeppink, deepskyblue,
                dimgray, dimgrey, dodgerblue, firebrick,
                floralwhite, forestgreen, fuchsia, gainsboro,
                ghostwhite, gold, goldenrod, gray, grey, green,
                greenyellow, honeydew, hotpink, indianred, indigo,
                ivory, khaki, lavender, lavenderblush, lawngreen,
                lemonchiffon, lightblue, lightcoral, lightcyan,
                lightgoldenrodyellow, lightgray, lightgrey,
                lightgreen, lightpink, lightsalmon, lightseagreen,
                lightskyblue, lightslategray, lightslategrey,
                lightsteelblue, lightyellow, lime, limegreen,
                linen, magenta, maroon, mediumaquamarine,
                mediumblue, mediumorchid, mediumpurple,
                mediumseagreen, mediumslateblue, mediumspringgreen,
                mediumturquoise, mediumvioletred, midnightblue,
                mintcream, mistyrose, moccasin, navajowhite, navy,
                oldlace, olive, olivedrab, orange, orangered,
                orchid, palegoldenrod, palegreen, paleturquoise,
                palevioletred, papayawhip, peachpuff, peru, pink,
                plum, powderblue, purple, red, rosybrown,
                royalblue, rebeccapurple, saddlebrown, salmon,
                sandybrown, seagreen, seashell, sienna, silver,
                skyblue, slateblue, slategray, slategrey, snow,
                springgreen, steelblue, tan, teal, thistle, tomato,
                turquoise, violet, wheat, white, whitesmoke,
                yellow, yellowgreen
          - A list or array of any of the above

        Returns
        -------
        str|numpy.ndarray
        r)   r   )r   r   r   r   r)   ¢  s    2zInsidetextfont.colorc             C   s   || d< d S )Nr)   r   )r   r   r   r   r   r)   Ö  s    c             C   s   | d S )zâ
        Sets the source reference on plot.ly for  color .
    
        The 'colorsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r*   r   )r   r   r   r   r*   Ü  s    zInsidetextfont.colorsrcc             C   s   || d< d S )Nr*   r   )r   r   r   r   r   r*   ê  s    c             C   s   | d S )aô  
        HTML font family - the typeface that will be applied by the web
        browser. The web browser will only be able to apply a font if
        it is available on the system which it operates. Provide
        multiple font families, separated by commas, to indicate the
        preference in which to apply fonts if they aren't available on
        the system. The plotly service (at https://plot.ly or on-
        premise) generates images on a server, where only a select
        number of fonts are installed and supported. These include
        "Arial", "Balto", "Courier New", "Droid Sans",, "Droid Serif",
        "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open
        Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New
        Roman".
    
        The 'family' property is a string and must be specified as:
          - A non-empty string
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        str|numpy.ndarray
        r+   r   )r   r   r   r   r+   ð  s    zInsidetextfont.familyc             C   s   || d< d S )Nr+   r   )r   r   r   r   r   r+   
  s    c             C   s   | d S )zä
        Sets the source reference on plot.ly for  family .
    
        The 'familysrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r,   r   )r   r   r   r   r,     s    zInsidetextfont.familysrcc             C   s   || d< d S )Nr,   r   )r   r   r   r   r   r,     s    c             C   s   | d S )a  
        The 'size' property is a number and may be specified as:
          - An int or float in the interval [1, inf]
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        int|float|numpy.ndarray
        r-   r   )r   r   r   r   r-   $  s    zInsidetextfont.sizec             C   s   || d< d S )Nr-   r   )r   r   r   r   r   r-   1  s    c             C   s   | d S )zà
        Sets the source reference on plot.ly for  size .
    
        The 'sizesrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r.   r   )r   r   r   r   r.   7  s    zInsidetextfont.sizesrcc             C   s   || d< d S )Nr.   r   )r   r   r   r   r   r.   E  s    c             C   s   dS )Nr   r   )r   r   r   r   r   K  s    zInsidetextfont._parent_path_strc             C   s   dS )Na]          color

        colorsrc
            Sets the source reference on plot.ly for  color .
        family
            HTML font family - the typeface that will be applied by
            the web browser. The web browser will only be able to
            apply a font if it is available on the system which it
            operates. Provide multiple font families, separated by
            commas, to indicate the preference in which to apply
            fonts if they aren't available on the system. The
            plotly service (at https://plot.ly or on-premise)
            generates images on a server, where only a select
            number of fonts are installed and supported. These
            include "Arial", "Balto", "Courier New", "Droid Sans",,
            "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old
            Standard TT", "Open Sans", "Overpass", "PT Sans
            Narrow", "Raleway", "Times New Roman".
        familysrc
            Sets the source reference on plot.ly for  family .
        size

        sizesrc
            Sets the source reference on plot.ly for  size .
        r   )r   r   r   r   r   Q  s    z!Insidetextfont._prop_descriptionsNc                s¦  t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm}	 |	 ¡ | jd< |	 ¡ | jd	< |	 ¡ | jd
< |	 ¡ | jd< |	 ¡ | jd< |	 ¡ | jd< | 
dd¡}
|dk	rØ|n|
| d< | 
d	d¡}
|dk	rø|n|
| d	< | 
d
d¡}
|dk	r|n|
| d
< | 
dd¡}
|dk	r<|n|
| d< | 
dd¡}
|dk	r^|n|
| d< | 
dd¡}
|dk	r€|n|
| d< | jf t|f|ŽŽ d| _dS )aÛ  
        Construct a new Insidetextfont object
        
        Sets the font used for `textinfo` lying inside the sector.

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.pie.Insidetextfont`
        color

        colorsrc
            Sets the source reference on plot.ly for  color .
        family
            HTML font family - the typeface that will be applied by
            the web browser. The web browser will only be able to
            apply a font if it is available on the system which it
            operates. Provide multiple font families, separated by
            commas, to indicate the preference in which to apply
            fonts if they aren't available on the system. The
            plotly service (at https://plot.ly or on-premise)
            generates images on a server, where only a select
            number of fonts are installed and supported. These
            include "Arial", "Balto", "Courier New", "Droid Sans",,
            "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old
            Standard TT", "Open Sans", "Overpass", "PT Sans
            Narrow", "Raleway", "Times New Roman".
        familysrc
            Sets the source reference on plot.ly for  family .
        size

        sizesrc
            Sets the source reference on plot.ly for  size .

        Returns
        -------
        Insidetextfont
        ÚinsidetextfontNz›The first argument to the plotly.graph_objs.pie.Insidetextfont 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.pie.Insidetextfont`r   Fr   )rB   r)   r*   r+   r,   r-   r.   )r   rA   r   r   r   r   r   r   r   r   r   r   r   rB   r0   r   r1   r2   r3   r4   r5   r   )r   r   r)   r*   r+   r,   r-   r.   r    Zv_insidetextfontr!   )r   r   r   r   n  s>    3

zInsidetextfont.__init__)NNNNNNN)r"   r#   r$   r%   r)   r&   r*   r+   r,   r-   r.   r   r   r   r'   r   r   )r   r   rA   ž  s*   4      rA   c            
       s   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejd	d„ ƒZed
d„ ƒZejdd„ ƒZedd„ ƒZ	e	jdd„ ƒZ	edd„ ƒZ
e
jdd„ ƒZ
edd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZedd„ ƒZd#‡ fd!d"„	Z‡  ZS )$Ú
Hoverlabelc             C   s   | d S )aâ  
        Sets the horizontal alignment of the text content within hover
        label box. Has an effect only if the hover label text spans
        more two or more lines
    
        The 'align' property is an enumeration that may be specified as:
          - One of the following enumeration values:
                ['left', 'right', 'auto']
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        Any|numpy.ndarray
        Úalignr   )r   r   r   r   rD   ä  s    zHoverlabel.alignc             C   s   || d< d S )NrD   r   )r   r   r   r   r   rD   ö  s    c             C   s   | d S )zâ
        Sets the source reference on plot.ly for  align .
    
        The 'alignsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        Úalignsrcr   )r   r   r   r   rE   ü  s    zHoverlabel.alignsrcc             C   s   || d< d S )NrE   r   )r   r   r   r   r   rE   
  s    c             C   s   | d S )aq
  
        Sets the background color of the hover labels for this trace
    
        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:
                aliceblue, antiquewhite, aqua, aquamarine, azure,
                beige, bisque, black, blanchedalmond, blue,
                blueviolet, brown, burlywood, cadetblue,
                chartreuse, chocolate, coral, cornflowerblue,
                cornsilk, crimson, cyan, darkblue, darkcyan,
                darkgoldenrod, darkgray, darkgrey, darkgreen,
                darkkhaki, darkmagenta, darkolivegreen, darkorange,
                darkorchid, darkred, darksalmon, darkseagreen,
                darkslateblue, darkslategray, darkslategrey,
                darkturquoise, darkviolet, deeppink, deepskyblue,
                dimgray, dimgrey, dodgerblue, firebrick,
                floralwhite, forestgreen, fuchsia, gainsboro,
                ghostwhite, gold, goldenrod, gray, grey, green,
                greenyellow, honeydew, hotpink, indianred, indigo,
                ivory, khaki, lavender, lavenderblush, lawngreen,
                lemonchiffon, lightblue, lightcoral, lightcyan,
                lightgoldenrodyellow, lightgray, lightgrey,
                lightgreen, lightpink, lightsalmon, lightseagreen,
                lightskyblue, lightslategray, lightslategrey,
                lightsteelblue, lightyellow, lime, limegreen,
                linen, magenta, maroon, mediumaquamarine,
                mediumblue, mediumorchid, mediumpurple,
                mediumseagreen, mediumslateblue, mediumspringgreen,
                mediumturquoise, mediumvioletred, midnightblue,
                mintcream, mistyrose, moccasin, navajowhite, navy,
                oldlace, olive, olivedrab, orange, orangered,
                orchid, palegoldenrod, palegreen, paleturquoise,
                palevioletred, papayawhip, peachpuff, peru, pink,
                plum, powderblue, purple, red, rosybrown,
                royalblue, rebeccapurple, saddlebrown, salmon,
                sandybrown, seagreen, seashell, sienna, silver,
                skyblue, slateblue, slategray, slategrey, snow,
                springgreen, steelblue, tan, teal, thistle, tomato,
                turquoise, violet, wheat, white, whitesmoke,
                yellow, yellowgreen
          - A list or array of any of the above

        Returns
        -------
        str|numpy.ndarray
        Úbgcolorr   )r   r   r   r   rF     s    4zHoverlabel.bgcolorc             C   s   || d< d S )NrF   r   )r   r   r   r   r   rF   F  s    c             C   s   | d S )zæ
        Sets the source reference on plot.ly for  bgcolor .
    
        The 'bgcolorsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        Ú
bgcolorsrcr   )r   r   r   r   rG   L  s    zHoverlabel.bgcolorsrcc             C   s   || d< d S )NrG   r   )r   r   r   r   r   rG   Z  s    c             C   s   | d S )ar
  
        Sets the border color of the hover labels for this trace.
    
        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:
                aliceblue, antiquewhite, aqua, aquamarine, azure,
                beige, bisque, black, blanchedalmond, blue,
                blueviolet, brown, burlywood, cadetblue,
                chartreuse, chocolate, coral, cornflowerblue,
                cornsilk, crimson, cyan, darkblue, darkcyan,
                darkgoldenrod, darkgray, darkgrey, darkgreen,
                darkkhaki, darkmagenta, darkolivegreen, darkorange,
                darkorchid, darkred, darksalmon, darkseagreen,
                darkslateblue, darkslategray, darkslategrey,
                darkturquoise, darkviolet, deeppink, deepskyblue,
                dimgray, dimgrey, dodgerblue, firebrick,
                floralwhite, forestgreen, fuchsia, gainsboro,
                ghostwhite, gold, goldenrod, gray, grey, green,
                greenyellow, honeydew, hotpink, indianred, indigo,
                ivory, khaki, lavender, lavenderblush, lawngreen,
                lemonchiffon, lightblue, lightcoral, lightcyan,
                lightgoldenrodyellow, lightgray, lightgrey,
                lightgreen, lightpink, lightsalmon, lightseagreen,
                lightskyblue, lightslategray, lightslategrey,
                lightsteelblue, lightyellow, lime, limegreen,
                linen, magenta, maroon, mediumaquamarine,
                mediumblue, mediumorchid, mediumpurple,
                mediumseagreen, mediumslateblue, mediumspringgreen,
                mediumturquoise, mediumvioletred, midnightblue,
                mintcream, mistyrose, moccasin, navajowhite, navy,
                oldlace, olive, olivedrab, orange, orangered,
                orchid, palegoldenrod, palegreen, paleturquoise,
                palevioletred, papayawhip, peachpuff, peru, pink,
                plum, powderblue, purple, red, rosybrown,
                royalblue, rebeccapurple, saddlebrown, salmon,
                sandybrown, seagreen, seashell, sienna, silver,
                skyblue, slateblue, slategray, slategrey, snow,
                springgreen, steelblue, tan, teal, thistle, tomato,
                turquoise, violet, wheat, white, whitesmoke,
                yellow, yellowgreen
          - A list or array of any of the above

        Returns
        -------
        str|numpy.ndarray
        Úbordercolorr   )r   r   r   r   rH   `  s    4zHoverlabel.bordercolorc             C   s   || d< d S )NrH   r   )r   r   r   r   r   rH   –  s    c             C   s   | d S )zî
        Sets the source reference on plot.ly for  bordercolor .
    
        The 'bordercolorsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        Úbordercolorsrcr   )r   r   r   r   rI   œ  s    zHoverlabel.bordercolorsrcc             C   s   || d< d S )NrI   r   )r   r   r   r   r   rI   ª  s    c             C   s   | d S )a;  
        Sets the font used in hover labels.
    
        The 'font' property is an instance of Font
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.pie.hoverlabel.Font`
          - A dict of string/value properties that will be passed
            to the Font constructor
    
            Supported dict properties:
                
                color
    
                colorsrc
                    Sets the source reference on plot.ly for  color
                    .
                family
                    HTML font family - the typeface that will be
                    applied by the web browser. The web browser
                    will only be able to apply a font if it is
                    available on the system which it operates.
                    Provide multiple font families, separated by
                    commas, to indicate the preference in which to
                    apply fonts if they aren't available on the
                    system. The plotly service (at https://plot.ly
                    or on-premise) generates images on a server,
                    where only a select number of fonts are
                    installed and supported. These include "Arial",
                    "Balto", "Courier New", "Droid Sans",, "Droid
                    Serif", "Droid Sans Mono", "Gravitas One", "Old
                    Standard TT", "Open Sans", "Overpass", "PT Sans
                    Narrow", "Raleway", "Times New Roman".
                familysrc
                    Sets the source reference on plot.ly for
                    family .
                size
    
                sizesrc
                    Sets the source reference on plot.ly for  size
                    .

        Returns
        -------
        plotly.graph_objs.pie.hoverlabel.Font
        r   r   )r   r   r   r   r   °  s    /zHoverlabel.fontc             C   s   || d< d S )Nr   r   )r   r   r   r   r   r   á  s    c             C   s   | d S )aÝ  
        Sets the default length (in number of characters) of the trace
        name in the hover labels for all traces. -1 shows the whole
        name regardless of length. 0-3 shows the first 0-3 characters,
        and an integer >3 will show the whole name if it is less than
        that many characters, but if it is longer, will truncate to
        `namelength - 3` characters and add an ellipsis.
    
        The 'namelength' property is a integer and may be specified as:
          - An int (or float that will be cast to an int)
            in the interval [-1, 9223372036854775807]
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        int|numpy.ndarray
        Ú
namelengthr   )r   r   r   r   rJ   ç  s    zHoverlabel.namelengthc             C   s   || d< d S )NrJ   r   )r   r   r   r   r   rJ   ü  s    c             C   s   | d S )zì
        Sets the source reference on plot.ly for  namelength .
    
        The 'namelengthsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        Únamelengthsrcr   )r   r   r   r   rK     s    zHoverlabel.namelengthsrcc             C   s   || d< d S )NrK   r   )r   r   r   r   r   rK     s    c             C   s   dS )Nr   r   )r   r   r   r   r     s    zHoverlabel._parent_path_strc             C   s   dS )Naö          align
            Sets the horizontal alignment of the text content
            within hover label box. Has an effect only if the hover
            label text spans more two or more lines
        alignsrc
            Sets the source reference on plot.ly for  align .
        bgcolor
            Sets the background color of the hover labels for this
            trace
        bgcolorsrc
            Sets the source reference on plot.ly for  bgcolor .
        bordercolor
            Sets the border color of the hover labels for this
            trace.
        bordercolorsrc
            Sets the source reference on plot.ly for  bordercolor .
        font
            Sets the font used in hover labels.
        namelength
            Sets the default length (in number of characters) of
            the trace name in the hover labels for all traces. -1
            shows the whole name regardless of length. 0-3 shows
            the first 0-3 characters, and an integer >3 will show
            the whole name if it is less than that many characters,
            but if it is longer, will truncate to `namelength - 3`
            characters and add an ellipsis.
        namelengthsrc
            Sets the source reference on plot.ly for  namelength .
        r   )r   r   r   r   r     s    zHoverlabel._prop_descriptionsNc                s:  t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm} | ¡ | jd< | ¡ | jd	< | ¡ | jd
< | ¡ | jd< | ¡ | jd< | ¡ | jd< | ¡ | jd< | ¡ | jd< | ¡ | jd< | 
dd¡}|dk	r|n|| d< | 
d	d¡}|dk	r&|n|| d	< | 
d
d¡}|dk	rH|n|| d
< | 
dd¡}|dk	rj|n|| d< | 
dd¡}|dk	rŒ|n|| d< | 
dd¡}|dk	r®|n|| d< | 
dd¡}|dk	rÐ|n|| d< | 
dd¡}|	dk	rò|	n|| d< | 
dd¡}|
dk	r|
n|| d< | jf t|f|ŽŽ d| _dS )a$  
        Construct a new Hoverlabel object
        
        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.pie.Hoverlabel`
        align
            Sets the horizontal alignment of the text content
            within hover label box. Has an effect only if the hover
            label text spans more two or more lines
        alignsrc
            Sets the source reference on plot.ly for  align .
        bgcolor
            Sets the background color of the hover labels for this
            trace
        bgcolorsrc
            Sets the source reference on plot.ly for  bgcolor .
        bordercolor
            Sets the border color of the hover labels for this
            trace.
        bordercolorsrc
            Sets the source reference on plot.ly for  bordercolor .
        font
            Sets the font used in hover labels.
        namelength
            Sets the default length (in number of characters) of
            the trace name in the hover labels for all traces. -1
            shows the whole name regardless of length. 0-3 shows
            the first 0-3 characters, and an integer >3 will show
            the whole name if it is less than that many characters,
            but if it is longer, will truncate to `namelength - 3`
            characters and add an ellipsis.
        namelengthsrc
            Sets the source reference on plot.ly for  namelength .

        Returns
        -------
        Hoverlabel
        Ú
hoverlabelNz“The first argument to the plotly.graph_objs.pie.Hoverlabel 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.pie.Hoverlabel`r   Fr   )rL   rD   rE   rF   rG   rH   rI   r   rJ   rK   )r   rC   r   r   r   r   r   r   r   r   r   r   r   rL   ZAlignValidatorr   ZAlignsrcValidatorZBgcolorValidatorZBgcolorsrcValidatorZBordercolorValidatorZBordercolorsrcValidatorr   ZNamelengthValidatorZNamelengthsrcValidatorr   )r   r   rD   rE   rF   rG   rH   rI   r   rJ   rK   r    Zv_hoverlabelr!   )r   r   r   r   =  sP    8

zHoverlabel.__init__)
NNNNNNNNNN)r"   r#   r$   r%   rD   r&   rE   rF   rG   rH   rI   r   rJ   rK   r   r   r   r'   r   r   )r   r   rC   à  s<   661#         rC   c                   sž   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejd	d„ ƒZed
d„ ƒZejdd„ ƒZedd„ ƒZ	edd„ ƒZ
d‡ fdd„	Z‡  ZS )ÚDomainc             C   s   | d S )aY  
        If there is a layout grid, use the domain for this column in
        the grid for this pie trace .
    
        The 'column' property is a integer and may be specified as:
          - An int (or float that will be cast to an int)
            in the interval [0, 9223372036854775807]

        Returns
        -------
        int
        Úcolumnr   )r   r   r   r   rN   Á  s    zDomain.columnc             C   s   || d< d S )NrN   r   )r   r   r   r   r   rN   Ñ  s    c             C   s   | d S )aS  
        If there is a layout grid, use the domain for this row in the
        grid for this pie trace .
    
        The 'row' property is a integer and may be specified as:
          - An int (or float that will be cast to an int)
            in the interval [0, 9223372036854775807]

        Returns
        -------
        int
        Úrowr   )r   r   r   r   rO   ×  s    z
Domain.rowc             C   s   || d< d S )NrO   r   )r   r   r   r   r   rO   ç  s    c             C   s   | d S )aí  
        Sets the horizontal domain of this pie trace (in plot
        fraction).
    
        The 'x' property is an info array that may be specified as:
    
        * a list or tuple of 2 elements where:
    (0) The 'x[0]' property is a number and may be specified as:
          - An int or float in the interval [0, 1]
    (1) The 'x[1]' property is a number and may be specified as:
          - An int or float in the interval [0, 1]

        Returns
        -------
        list
        Úxr   )r   r   r   r   rP   í  s    zDomain.xc             C   s   || d< d S )NrP   r   )r   r   r   r   r   rP     s    c             C   s   | d S )aã  
        Sets the vertical domain of this pie trace (in plot fraction).
    
        The 'y' property is an info array that may be specified as:
    
        * a list or tuple of 2 elements where:
    (0) The 'y[0]' property is a number and may be specified as:
          - An int or float in the interval [0, 1]
    (1) The 'y[1]' property is a number and may be specified as:
          - An int or float in the interval [0, 1]

        Returns
        -------
        list
        Úyr   )r   r   r   r   rQ     s    zDomain.yc             C   s   || d< d S )NrQ   r   )r   r   r   r   r   rQ     s    c             C   s   dS )Nr   r   )r   r   r   r   r      s    zDomain._parent_path_strc             C   s   dS )NaÊ          column
            If there is a layout grid, use the domain for this
            column in the grid for this pie trace .
        row
            If there is a layout grid, use the domain for this row
            in the grid for this pie trace .
        x
            Sets the horizontal domain of this pie trace (in plot
            fraction).
        y
            Sets the vertical domain of this pie trace (in plot
            fraction).
        r   )r   r   r   r   r   &  s    zDomain._prop_descriptionsNc       	         sD  t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm} | ¡ | jd< | ¡ | jd	< | ¡ | jd
< | ¡ | jd< | 
dd¡}|dk	r¼|n|| d< | 
d	d¡}|dk	rÜ|n|| d	< | 
d
d¡}|dk	rü|n|| d
< | 
dd¡}|dk	r|n|| d< | jf t|f|ŽŽ d| _dS )aà  
        Construct a new Domain object
        
        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of :class:`plotly.graph_objs.pie.Domain`
        column
            If there is a layout grid, use the domain for this
            column in the grid for this pie trace .
        row
            If there is a layout grid, use the domain for this row
            in the grid for this pie trace .
        x
            Sets the horizontal domain of this pie trace (in plot
            fraction).
        y
            Sets the vertical domain of this pie trace (in plot
            fraction).

        Returns
        -------
        Domain
        ÚdomainNz‹The first argument to the plotly.graph_objs.pie.Domain 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.pie.Domain`r   Fr   )rR   rN   rO   rP   rQ   )r   rM   r   r   r   r   r   r   r   r   r   r   r   rR   ZColumnValidatorr   ZRowValidatorZ
XValidatorZ
YValidatorr   )	r   r   rN   rO   rP   rQ   r    Zv_domainr!   )r   r   r   r   7  s2    

zDomain.__init__)NNNNN)r"   r#   r$   r%   rN   r&   rO   rP   rQ   r   r   r   r'   r   r   )r   r   rM   ½  s   rM   rL   r@   r   )r   )r@   )rL   )Zplotly.basedatatypesr   Z_BaseTraceHierarchyTyper   r   r   r(   r6   r:   r<   rA   rC   rM   Ú__all__Zplotly.graph_objs.pier   r@   rL   r   r   r   r   Ú<module>   sd    T  ? 
  @ /  @   \ K