a
    -gh£
  ã                   @   s>   d dl mZ d dlmZ edƒZdd„ Zdd„ ZeedœZd	S )
é   )Ú	Undefined)Ú
get_moduleÚnumpyc                    s²   t | tƒr ‡ fdd„|  ¡ D ƒS t | ttfƒr@‡ fdd„| D ƒS tduržt | tjƒrž| jdkr–| jj	dv r–| jdkr–| jd	kr–t
| ƒt| jƒ| jd
œS |  ¡ S | tu rªdS | S d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                    s   i | ]\}}|t |ˆ ƒ“qS © ©Ú	_py_to_js©Ú.0ÚkÚv©Úwidget_managerr   úb/mounts/lovelace/software/anaconda3/envs/metaDMG/lib/python3.9/site-packages/plotly/serializers.pyÚ
<dictcomp>   ó    z_py_to_js.<locals>.<dictcomp>c                    s   g | ]}t |ˆ ƒ‘qS r   r   ©r	   r   r   r   r   Ú
<listcomp>$   r   z_py_to_js.<locals>.<listcomp>Nr   )ÚuÚiÚfZint64Zuint64)ÚbufferÚdtypeÚshapeÚ_undefined_)Ú
isinstanceÚdictÚitemsÚlistÚtupleÚnpZndarrayÚndimr   ÚkindÚ
memoryviewÚstrr   Útolistr   ©r   r   r   r   r   r      s$    
ÿ
þýü	r   c                    s^   t | tƒr ‡ fdd„|  ¡ D ƒS t | ttfƒr@‡ fdd„| D ƒS t | tƒrV| dkrVtS | S d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                    s   i | ]\}}|t |ˆ ƒ“qS r   ©Ú	_js_to_pyr   r   r   r   r   W   r   z_js_to_py.<locals>.<dictcomp>c                    s   g | ]}t |ˆ ƒ‘qS r   r&   r   r   r   r   r   \   r   z_js_to_py.<locals>.<listcomp>r   N)r   r   r   r   r   r#   r   r%   r   r   r   r'   D   s    
r'   )Ú	from_jsonÚto_jsonN)Zbasedatatypesr   Zoptional_importsr   r   r   r'   Zcustom_serializersr   r   r   r   Ú<module>   s
   =&