
    -Ph                     >    d dl mZ d dlZd dlZ G d de          ZdS )    )BaseLayoutHierarchyTypeNc                        e Zd ZdZdZddhZed             Zej        d             Zed             Z	e	j        d             Z	ed             Z
d fd
	Z xZS )Templatelayoutzlayout.templatedatac                     | d         S )a_  
        The 'data' property is an instance of Data
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.layout.template.Data`
          - A dict of string/value properties that will be passed
            to the Data constructor

        Returns
        -------
        plotly.graph_objs.layout.template.Data
        r    selfs    b/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/plotly/graph_objs/layout/_template.pyr   zTemplate.data   s     F|    c                     || d<   d S )Nr   r	   r   vals     r   r   zTemplate.data   s    Vr   c                     | d         S )aY  
        The 'layout' property is an instance of Layout
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.Layout`
          - A dict of string/value properties that will be passed
            to the Layout constructor

        Returns
        -------
        plotly.graph_objs.layout.template.Layout
        r   r	   r
   s    r   r   zTemplate.layout"   s     H~r   c                     || d<   d S )Nr   r	   r   s     r   r   zTemplate.layout1   s    Xr   c                     dS )Na          data
            :class:`plotly.graph_objects.layout.template.Data`
            instance or dict with compatible properties
        layout
            :class:`plotly.graph_objects.Layout` instance or dict
            with compatible properties
        r	   r
   s    r   _prop_descriptionszTemplate._prop_descriptions5   s     r   Nc           	         t                                          d           d|v r|d         | _        dS |i }nct          || j                  r|                                }n9t          |t                    rt          j        |          }nt          d          |
                    dd          | _        |
                    dd          | _        t          j                    5  t          j        d	t           
           |                     d||           ddd           n# 1 swxY w Y   |                     d||            | j        di t          |fi | d| _        dS )a  
        Construct a new Template object

        Default attributes to be applied to the plot. This should be a
        dict with format: `{'layout': layoutTemplate, 'data':
        {trace_type: [traceTemplate, ...], ...}}` where
        `layoutTemplate` is a dict matching the structure of
        `figure.layout` and `traceTemplate` is a dict matching the
        structure of the trace with type `trace_type` (e.g. 'scatter').
        Alternatively, this may be specified as an instance of
        plotly.graph_objs.layout.Template.  Trace templates are applied
        cyclically to traces of each type. Container arrays (eg
        `annotations`) have special handling: An object ending in
        `defaults` (eg `annotationdefaults`) is applied to each array
        item. But if an item has a `templateitemname` key we look in
        the template array for an item with matching `name` and apply
        that instead. If no matching `name` is found we mark the item
        invisible. Any named template item not referenced is appended
        to the end of the array, so this can be used to add a watermark
        annotation or a logo image, for example. To omit one of these
        items on the plot, make an item with matching
        `templateitemname` and `visible: false`.

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.layout.Template`
        data
            :class:`plotly.graph_objects.layout.template.Data`
            instance or dict with compatible properties
        layout
            :class:`plotly.graph_objects.Layout` instance or dict
            with compatible properties

        Returns
        -------
        Template
        template_parentNzThe first argument to the plotly.graph_objs.layout.Template
constructor must be a dict or
an instance of :class:`plotly.graph_objs.layout.Template`skip_invalidF	_validateTignore)categoryr   r   r	   )super__init__r   
isinstance	__class__to_plotly_jsondict_copycopy
ValueErrorpop_skip_invalidr   warningscatch_warningsfilterwarningsDeprecationWarning_set_property_process_kwargs)r   argr   r   kwargsr   s        r   r   zTemplate.__init__@   s   R 	$$$!),DLF;CCT^,, 
	$$&&CCT"" 	*S//CC=   $ZZ>>K66 $&& 	2 	2#H7IJJJJvsD111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	8S&11133tC22622333"s   '3D&&D*-D*)NNN)__name__
__module____qualname___parent_path_str	_path_str_valid_propspropertyr   setterr   r   r   __classcell__)r   s   @r   r   r   	   s        !IH%L  X 
[  [   X ]  ]   XH# H# H# H# H# H# H# H# H# H#r   r   )plotly.basedatatypesr   _BaseLayoutHierarchyTyper#   r"   r'   r   r	   r   r   <module>r:      sn    U T T T T T     # # # # #' # # # # #r   