
    -Ph
                     J    d dl mZ d dlmZ  ed          Zd Zd ZeedZdS )   )	Undefined)
get_modulenumpyc                    t          | t                    r fd|                                 D             S t          | t          t          f          rfd| D             S t
          t          | t
          j                  rm| j        dk    rN| j        j	        dv r@| j        dk    r5| j        dk    r*t          |           t          | j                  | j        dS |                                 S | t          u rd	S | S )
a  
    Python -> Javascript ipywidget serializer

    This function must repalce all objects that the ipywidget library
    can't serialize natively (e.g. numpy arrays) with serializable
    representations

    Parameters
    ----------
    v
        Object to be serialized
    widget_manager
        ipywidget widget_manager (unused)

    Returns
    -------
    any
        Value that the ipywidget library can serialize natively
    c                 8    i | ]\  }}|t          |          S  	_py_to_js.0kvwidget_managers      R/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/plotly/serializers.py
<dictcomp>z_py_to_js.<locals>.<dictcomp>   )    FFFDAq9Q//FFF    c                 0    g | ]}t          |          S r   r	   r   r   r   s     r   
<listcomp>z_py_to_js.<locals>.<listcomp>$   #    888	!^,,888r   Nr   )uifint64uint64)bufferdtypeshape_undefined_)
isinstancedictitemslisttuplenpndarrayndimr   kind
memoryviewstrr   tolistr   r   r   s    `r   r
   r
      s   . !T FFFFAGGIIFFFF 
Ae}	%	% 8888a8888 
Jq"*55 FaKK//7""8##
 )mmc!'llQWUUU 88:: 	I~~}
 r   c                 
   t          | t                    r fd|                                 D             S t          | t          t          f          rfd| D             S t          | t
                    r| dk    rt          S | S )a   
    Javascript -> Python ipywidget deserializer

    Parameters
    ----------
    v
        Object to be deserialized
    widget_manager
        ipywidget widget_manager (unused)

    Returns
    -------
    any
        Deserialized object for use by the Python side of the library
    c                 8    i | ]\  }}|t          |          S r   	_js_to_pyr   s      r   r   z_js_to_py.<locals>.<dictcomp>W   r   r   c                 0    g | ]}t          |          S r   r0   r   s     r   r   z_js_to_py.<locals>.<listcomp>\   r   r   r    )r!   r"   r#   r$   r%   r+   r   r-   s    `r   r1   r1   D   s    $ !T FFFFAGGIIFFFF 
Ae}	%	% 8888a8888 
As		 ] 2 2
 r   )	from_jsonto_jsonN)basedatatypesr   optional_importsr   r&   r
   r1   custom_serializersr   r   r   <module>r8      sn    $ $ $ $ $ $ ( ( ( ( ( (Z: : :z" " "L $-CC   r   