
     #e                        d dl mZ d dlmZmZmZmZ d dlmZ erd dlm	Z	 d dl
mZ eeef   Ze G d deeef                Zy)	    )annotations)TYPE_CHECKINGDictMappingTuple)serde)Type)	Converterc                  P    e Zd ZddZedd       ZddZe	 	 	 	 	 	 	 	 d	d       Zy)
Kerningc                j    i }| j                         D ]  \  \  }}}||j                  |i       |<    |S N)items
setdefault)selfresultleftrightvalues        9/usr/lib/python3/dist-packages/ufoLib2/objects/kerning.pyas_nested_dictszKerning.as_nested_dicts   sA    .0$(JJL 	7 MT5516FdB'.	7    c                ,    t        fdD              S )Nc              3  J   K   | ]  }|   D ]  }||f|   |   f   y wr    ).0r   r   kernings      r   	<genexpr>z,Kerning.from_nested_dicts.<locals>.<genexpr>   sD      
 
  E]GDM%01
1
s    #)r   )r   r   s    `r   from_nested_dictszKerning.from_nested_dicts   s     

 
 	
r   c                $    ~| j                         S r   )r   )r   	converters     r   _unstructurezKerning._unstructure   s    ##%%r   c                &    ~|j                  |       S r   )r   )dataclsr!   s      r   
_structurezKerning._structure#   s     $$T**r   N)returndict[str, dict[str, float]])r   !Mapping[str, Mapping[str, float]]r'   r   )r!   r
   r'   r(   )r$   r)   r%   zType[Kerning]r!   r
   r'   r   )	__name__
__module____qualname__r   classmethodr   r"   staticmethodr&   r   r   r   r   r      sX     
 
& +/++ + 
	+ +r   r   N)
__future__r   typingr   r   r   r   ufoLib2.serder   r	   cattrsr
   strKerningPairfloatr   r   r   r   <module>r6      sL    " 6 6  CHo +d;%& + +r   