§
    ¢”j)  ã                   ó¶   — d dl mZ d dlmZ d dlmZ d dlmZ d dl	Z	d„ Z
d„ Zdd	„Ze	j        fd
„Zdd„Zedk    rd dl	Z	 e	j         e¦   «         ¦  «         dS dS )é    )ÚVariationModel)ÚVarStoreInstancer)ÚfixedToFloat)ÚproductNc                 óv   — | dk    r|j         | |j        |j         z
  z  z   S |j         | |j         |j        z
  z  z   S )Nr   )ÚdefaultValueÚmaxValueÚminValue)ÚvÚaxiss     úl/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/varLib/avar/unbuild.pyÚ_denormalizer      sE   € ØˆA‚v€vØÔ  1¨¬¸Ô8IÑ(IÑ#JÑJÐJàÔ  1¨Ô(9¸D¼MÑ(IÑ#JÑJÐJó    c           
      ó–  — t          | |¦  «        }|j        }|j        }d„ |D ¦   «         }|D �]~}|                      |¦  «        }||         }||         }	t	          |	                     ¦   «         ¦  «        }
|	                     ¦   «         D �]\  }\  }}}||fD �]}|dv rŒ|                     ¦   «         D ]L}t          |¦  «        }t	          |                     ¦   «         ¦  «        }||
k    rŒ9||vrŒ>||         |k    r n§ŒMt          |dz
  dd¦  «        D ]‡}||         }t	          |                     ¦   «         ¦  «        }||
k    rŒ2||vrŒ7d„ |                     ¦   «         D ¦   «         }||         |k    r&d |t          |                     ¦   «         ¦  «        <    nŒˆJ d¦   «         ‚�Œ�Œ!�Œ€d„ |                     ¦   «         D ¦   «         S )	Nc                 óR   — i | ]$}t          |                     ¦   «         ¦  «        d “Œ%S ©N)ÚtupleÚitems)Ú.0Úks     r   ú
<dictcomp>z#_pruneLocations.<locals>.<dictcomp>#   s*   € Ð2Ð2Ð2 q�E�!—'’'‘)”)ÑÔ˜dÐ2Ð2Ð2r   ©éÿÿÿÿr   é   r   r   c                 ó"   — i | ]\  }\  }}}||“ŒS © r   )r   r   Ú_ÚdefaultVs       r   r   z#_pruneLocations.<locals>.<dictcomp>C   s2   € ð %ð %ð %Ù,?¨AÑ/?°°8¸Q˜A˜xð%ð %ð %r   FzNo pin foundc                 ó,   — g | ]}t          |¦  «        ‘ŒS r   ©Údict©r   Úts     r   ú
<listcomp>z#_pruneLocations.<locals>.<listcomp>K   s   € Ð)Ð)Ð)˜�D�‰GŒGÐ)Ð)Ð)r   )
r   ÚmappingÚsupportsÚindexÚsetÚkeysr   r!   Úranger   )Ú	locationsÚpolesÚaxisTagsÚmodelÚmodelMappingÚmodelSupportsÚpinsÚlocationÚiÚsupportÚsupportAxesÚaxisTagÚminVr   ÚmaxVr   ÚpinÚpinLocationÚpinAxesÚcandidateIdxÚ	candidateÚcandidateAxess                         r   Ú_pruneLocationsr?      s'  € õ" ˜9 hÑ/Ô/€EØ”=€LØ”N€MØ2Ð2¨EÐ2Ñ2Ô2€DØð &5ñ &5ˆØ�OŠO˜HÑ%Ô%ˆØ˜ŒOˆØ Ô"ˆÝ˜'Ÿ,š,™.œ.Ñ)Ô)ˆØ(/¯ª©¬ð !	5ñ !	5Ñ$ˆG‘_�d˜A˜tØ˜D�\ð  5ñ  5�Ø˜
�?�?ØØŸ9š9™;œ;ð 5ð 5�CÝ"& s¡)¤)�KÝ! +×"2Ò"2Ñ"4Ô"4Ñ5Ô5�GØ +Ò-Ð-Ø Ø gÐ-Ð-Ø Ø" 7Ô+¨qÒ0Ð0Ø˜ð 1õ ).¨a°!©e°R¸Ñ(<Ô(<ð 5ð 5˜Ø$1°,Ô$?˜	Ý(+¨I¯NªNÑ,<Ô,<Ñ(=Ô(=˜Ø(¨KÒ7Ð7Ø$Ø"¨-Ð7Ð7Ø$ð%ð %ØCLÇ?Â?ÑCTÔCTð%ñ %ô %˜	ð % WÔ-°Ò2Ð2Ø=A˜D¥ y§¢Ñ'8Ô'8Ñ!9Ô!9Ñ:Ø!˜Eð 3ð 5 nÑ4Ô4Ð4ùñA 5ñ!	5ðD *Ð)˜TŸYšY™[œ[Ð)Ñ)Ô)Ð)r   Tc                 óÄ  ‡ ‡!‡"‡#— | d         j         }d„ |D ¦   «         Š!d„ |D ¦   «         }d„ t          |¦  «        D ¦   «         Š d| vri g fS | d         }d„ |j                             ¦   «         D ¦   «         }g }t	          |dd¦  «        d	k    �r–|j        j        }|j        j        }d
d i}	t          d
h¦  «        }
|j
        D �] }|j        }|D �]}g }g }||         }t          |j        ¦  «        D ]š\  }}|j        dk    rŒ||         }|                     ||j        f¦  «         g }|j        dk    r|                     ||j        f¦  «         |j        dk    r|                     ||j        f¦  «         |                     |¦  «         Œ›t          t#          |Ž ¦  «        }t%          |¦  «        }d |	|<   |
                     |¦  «         |
                     |¦  «         �Œ�Œ"d„ t+          |
ˆ fd„¬¦  «        D ¦   «         }
d„ |	                     ¦   «         D ¦   «         }	t/          |
t1          |	¦  «        |¦  «        }
|j        j        }t5          ||¦  «        }|
D ]�}|                     |¦  «         i }t          |¦  «        D ]M\  }}|}|�||         }||         }|dk    r.|                     |d¦  «        }|t;          |d¦  «        z   }|||<   ŒN|                     ||f¦  «         ŒŽ|d         d         i k    sJ ‚|d         d         i k    r|                     d¦  «         |r¸|                     ¦   «         D ]D\  Š#}‰#‰!vrt?          d‰#› �¦  «        ‚ˆ!ˆ#fd„Š"ˆ"fd„|                     ¦   «         D ¦   «         |‰#<   ŒEt          |¦  «        D ]O\  }\  }}ˆ!fd„|                     ¦   «         D ¦   «         }ˆ!fd„|                     ¦   «         D ¦   «         }||f||<   ŒP||fS )NÚfvarc                 ó   — i | ]
}|j         |“ŒS r   ©r6   ©r   Úas     r   r   z&mappings_from_avar.<locals>.<dictcomp>P   s   € Ð.Ð.Ð. ˆqŒy˜!Ð.Ð.Ð.r   c                 ó   — g | ]	}|j         ‘Œ
S r   rC   rD   s     r   r$   z&mappings_from_avar.<locals>.<listcomp>Q   s   € Ð,Ð,Ð,˜a�”	Ð,Ð,Ð,r   c                 ó$   — i | ]\  }}|j         |“ŒS r   rC   )r   r3   rE   s      r   r   z&mappings_from_avar.<locals>.<dictcomp>R   s    € Ð@Ð@Ð@¡D A q�1”9˜aÐ@Ð@Ð@r   Úavarc                 ó2   — i | ]\  }}|r|d dddœk    ¯||“ŒS )r   r   r   r   r   )r   ÚtagÚsegs      r   r   z&mappings_from_avar.<locals>.<dictcomp>V   sG   € ð ð ð áˆC�Øðð ˜r a¨AÐ.Ð.Ò.Ð.ð 	ˆSà.Ð.Ð.r   ÚmajorVersionr   é   r   r   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r   r    r"   s     r   r$   z&mappings_from_avar.<locals>.<listcomp>€   s.   € ð 
ð 
ð 
àõ �‰GŒGð
ð 
ð 
r   c                 óX   •— t          | ¦  «        t          ˆfd„| D ¦   «         ¦  «        fS )Nc              3   ó.   •K  — | ]\  }}‰|         V — Œd S r   r   )r   rJ   r   ÚaxisIndexess      €r   ú	<genexpr>z7mappings_from_avar.<locals>.<lambda>.<locals>.<genexpr>„   s,   øè è € Ð,NÐ,NÁ&À#Àq¨[¸Ô-=Ð,NÐ,NÐ,NÐ,NÐ,NÐ,Nr   )Úlenr   )r#   rQ   s    €r   ú<lambda>z$mappings_from_avar.<locals>.<lambda>„   s/   ø€ �s 1™vœv¥uÐ,NÐ,NÐ,NÐ,NÈAÐ,NÑ,NÔ,NÑ'NÔ'NÐO€ r   )Úkeyc                 ó,   — g | ]}t          |¦  «        ‘ŒS r   r    r"   s     r   r$   z&mappings_from_avar.<locals>.<listcomp>‡   s   € Ð/Ð/Ð/˜Q•�a‘”Ð/Ð/Ð/r   é   zUnknown axis tag c                 ó0   •— t          | ‰‰         ¦  «        S r   ©r   )r   ÚaxisMaprJ   s    €€r   rT   z$mappings_from_avar.<locals>.<lambda>¦   s   ø€ �|¨A¨w°s¬|Ñ<Ô<€ r   c                 ó@   •— i | ]\  }} ‰|¦  «         ‰|¦  «        “ŒS r   r   )r   r   r   Údenorms      €r   r   z&mappings_from_avar.<locals>.<dictcomp>§   s/   ø€ ÐJÐJÐJ±d°a¸˜V˜V A™YœY¨¨¨q©	¬	ÐJÐJÐJr   c                 óD   •— i | ]\  }}|t          |‰|         ¦  «        “ŒS r   rY   ©r   rJ   ÚvalrZ   s      €r   r   z&mappings_from_avar.<locals>.<dictcomp>ª   s:   ø€ ð ð ð Ù9A¸¸c�•\ # w¨s¤|Ñ4Ô4ðð ð r   c                 óD   •— i | ]\  }}|t          |‰|         ¦  «        “ŒS r   rY   r^   s      €r   r   z&mappings_from_avar.<locals>.<dictcomp>­   s:   ø€ ð ð ð Ù9A¸¸c�•\ # w¨s¤|Ñ4Ô4ðð ð r   ) ÚaxesÚ	enumerateÚsegmentsr   ÚgetattrÚtableÚVarStoreÚVarRegionListÚRegionr(   ÚVarDataÚVarRegionIndexÚVarRegionAxisÚ	PeakCoordÚappendÚ
StartCoordÚEndCoordr   r   ÚaddÚupdateÚsortedr)   r?   ÚlistÚ	VarIdxMapr   ÚsetLocationÚgetÚfi2flÚpopÚ
ValueError)$ÚfontÚdenormalizeÚfvarAxesr-   rH   ÚaxisMapsÚmappingsÚvarStoreÚregionsr,   ÚinputLocationsÚvarDataÚregionIndicesÚregionIndexÚpeakLocationÚcornersÚregionÚ	axisIndexr   r6   ÚcornerÚ	varIdxMapÚ	instancerr2   ÚoutputLocationÚvarIdxÚdeltar   rK   r3   ÚinputLocÚ	outputLocrQ   rZ   r\   rJ   s$                                   @@@@r   Úmappings_from_avarr‘   N   sÛ  øøøø€ Ø�FŒ|Ô €HØ.Ð. XÐ.Ñ.Ô.€GØ,Ð, 8Ð,Ñ,Ô,€HØ@Ð@­I°hÑ,?Ô,?Ð@Ñ@Ô@€KØ�TÐÐØ�2ˆvˆØ�Œ<€Dðð àœ×+Ò+Ñ-Ô-ðñ ô €Hð
 €Håˆt�^ QÑ'Ô'¨1Ò,Ñ,Ø”:Ô&ˆØÔ(Ô/ˆð �T�
ˆÝ˜b˜T™œˆØÔ'ð 	/ñ 	/ˆGØ#Ô2ˆMØ,ð /ñ /�Ø!�Ø�Ø  Ô-�Ý'0°Ô1EÑ'FÔ'Fð 
+ð 
+‘O�I˜tØ”~¨Ò*Ð*Ø Ø& yÔ1�GØ ×'Ò'¨°$´.Ð(AÑBÔBÐBØ�FØ”¨!Ò+Ð+ØŸš w°´Ð&@ÑAÔAÐAØ”}¨Ò)Ð)ØŸš w°´Ð&>Ñ?Ô?Ð?Ø—N’N 6Ñ*Ô*Ð*Ð*Ý�g wÐ/Ñ0Ô0�Ý$ \Ñ2Ô2�Ø&*��lÑ#Ø×"Ò" <Ñ0Ô0Ð0Ø×%Ò% gÑ.Ô.Ð.Ñ.ñ'/ð,
ð 
åØØOÐOÐOÐOðñ ô ð
ñ 
ô 
ˆð 0Ð/ %§*¢*¡,¤,Ð/Ñ/Ô/ˆÝ(¨½¸e¹¼ÀhÑOÔOˆð ”JÔ(ˆ	Ý% h°Ñ9Ô9ˆ	Ø&ð 	8ð 	8ˆHØ×!Ò! (Ñ+Ô+Ð+ØˆNÝ&/°Ñ&9Ô&9ð 
0ð 
0Ñ"�	˜7Ø"�ØÐ(Ø& vÔ.�FØ! &Ô)�Ø˜A’:�:Ø Ÿš W¨aÑ0Ô0�AØ�E %¨Ñ,Ô,Ñ,�Að /0�N 7Ñ+øØ�OŠO˜X ~Ð6Ñ7Ô7Ð7Ð7ð ˜Œ{˜1Œ~ Ò#Ð#Ð#Ð#Ø�AŒ;�qŒ>˜RÒÐØ�LŠL˜‰OŒOˆOàð 0Ø ŸšÑ(Ô(ð 	Kð 	K‰HˆC�Ø˜'Ð!Ð!Ý Ð!:°SÐ!:Ð!:Ñ;Ô;Ð;Ø<Ð<Ð<Ð<Ð<ˆFØJÐJÐJÐJ¸c¿iºi¹k¼kÐJÑJÔJˆH�S‰MˆMå(1°(Ñ(;Ô(;ð 	0ð 	0Ñ$ˆAÑ$�˜)ðð ð ð ØEMÇ^Â^ÑEUÔEUðñ ô ˆHðð ð ð ØENÇ_Â_ÑEVÔEVðñ ô ˆIð $ YÐ/ˆH�Q‰KˆKà�XÐÐr   c                 ó~  ‡— | d         }|j         }t          | ¦  «        \  }}d| v r| d         Šˆfd„|D ¦   «         }nd„ |D ¦   «         }t          d|¬¦  «         t          d|¬¦  «         t          d|¬¦  «         |D �])}||j                 }|j        |j        |j        f}	d	„ |	D ¦   «         }	|                     |j        ¦  «        }
|
€d
nd}t          d|j        › d|› d|	d         › d|	d         › d|	d         › d|› �|¬¦  «         |
��t          |
 	                    ¦   «         ¦  «        D ]j}|
|         }|t          |¦  «        k    rt          |¦  «        n|}|t          |¦  «        k    rt          |¦  «        n|}t          d|› d|› d�|¬¦  «         Œkt          d|¬¦  «         �Œ+|�rnt          d|¬¦  «         |D �]H\  }}t          d|¬¦  «         t          d|¬¦  «         t          | 	                    ¦   «         ¦  «        D ]L}||         }|t          |¦  «        k    rt          |¦  «        n|}t          d||         › d|› d�|¬¦  «         ŒMt          d|¬¦  «         t          d|¬¦  «         t          | 	                    ¦   «         ¦  «        D ]L}||         }|t          |¦  «        k    rt          |¦  «        n|}t          d||         › d|› d�|¬¦  «         ŒMt          d |¬¦  «         t          d!|¬¦  «         �ŒJt          d"|¬¦  «         t          d#|¬¦  «         t          d$|¬¦  «         d S )%NrA   Únamec                 ó^   •— i | ])}|j         ‰                     |j        ¦  «        p|j         “Œ*S r   )r6   ÚgetDebugNameÚ
axisNameID)r   r   r“   s     €r   r   zunbuild.<locals>.<dictcomp>¼   sD   ø€ ð 
ð 
ð 
àð ŒL˜$×+Ò+¨D¬OÑ<Ô<ÐLÀÄð
ð 
ð 
r   c                 ó(   — i | ]}|j         |j         “ŒS r   rC   rD   s     r   r   zunbuild.<locals>.<dictcomp>Á   s   € Ð8Ð8Ð8¨a�Q”Y ¤	Ð8Ð8Ð8r   z&<?xml version='1.0' encoding='UTF-8'?>©Úfilez<designspace format="5.1">z  <axes>c                 óV   — g | ]&}|t          |¦  «        k    rt          |¦  «        n|‘Œ'S r   )Úint)r   r   s     r   r$   zunbuild.<locals>.<listcomp>Ë   s0   € ÐAÐAÐA°A˜Q¥# a¡&¤&š[˜[•3�q‘6”6�6¨aÐAÐAÐAr   z/>ú>z    <axis tag="z" name="z" minimum="r   z" maximum="rM   z" default="r   ú"z      <map input="z
" output="z"/>z    </axis>z    <mappings>z      <mapping>z        <input>z          <dimension name="z
" xvalue="z        </input>z        <output>z        </output>z      </mapping>z    </mappings>z	  </axes>z</designspace>)ra   r‘   Úprintr6   r
   r   r	   rv   rr   r)   r›   )rz   ÚfrA   ra   rc   r~   Ú	axisNamesr   ÚaxisNameÚtripletrZ   Úclosingr   r   r�   r�   rJ   r“   s                    @r   Úunbuildr¤   µ   s@  ø€ Ø�Œ<€DØŒ9€DÝ+¨DÑ1Ô1Ñ€Hˆhà�€~€~Ø�FŒ|ˆð
ð 
ð 
ð 
àð
ñ 
ô 
ˆ	ˆ	ð
 9Ð8°4Ð8Ñ8Ô8ˆ	å	Ð
2¸Ð;Ñ;Ô;Ð;Ý	Ð
&¨QÐ/Ñ/Ô/Ð/Ý	ˆ*˜1ÐÑÔÐØð )ñ )ˆà˜Tœ\Ô*ˆà”= $Ô"3°T´]ÐCˆØAÐA¸ÐAÑAÔAˆà—,’,˜tœ|Ñ,Ô,ˆØ!˜/�$�$¨sˆåð N˜dœlð  Nð  N°Hð  Nð  NÈÐQRÌð  Nð  NÐ`gÐhiÔ`jð  Nð  NÐw~ð  @Aô  xBð  Nð  Nð  ELð  Nð  NØð	
ñ 	
ô 	
ð 	
ð ÐÝ˜GŸLšL™NœNÑ+Ô+ð Hð H�Ø˜A”J�Ø¥3 q¡6¤6šk˜k•C˜‘F”F�F¨q�Ø¥3 q¡6¤6šk˜k•C˜‘F”F�F¨q�ÝÐ>¨1Ð>Ð>¸Ð>Ð>Ð>ÀQÐGÑGÔGÐGÐGÝ�- aÐ(Ñ(Ô(Ð(ùØñ )ÝÐ QÐ'Ñ'Ô'Ð'Ø#+ð 	.ñ 	.ÑˆH�iÝÐ#¨!Ð,Ñ,Ô,Ð,ÝÐ#¨!Ð,Ñ,Ô,Ð,Ý˜hŸmšm™oœoÑ.Ô.ð ð �Ø˜S”M�Ø¥3 q¡6¤6šk˜k•C˜‘F”F�F¨q�ÝØR°)¸C´.ÐRÐRÈAÐRÐRÐRØðñ ô ð ð õ Ð$¨1Ð-Ñ-Ô-Ð-ÝÐ$¨1Ð-Ñ-Ô-Ð-Ý˜iŸnšnÑ.Ô.Ñ/Ô/ð ð �Ø˜c”N�Ø¥3 q¡6¤6šk˜k•C˜‘F”F�F¨q�ÝØR°)¸C´.ÐRÐRÈAÐRÐRÐRØðñ ô ð ð õ Ð%¨AÐ.Ñ.Ô.Ð.ÝÐ$¨1Ð-Ñ-Ô-Ð-Ñ-ÝÐ aÐ(Ñ(Ô(Ð(Ý	ˆ+˜AÐÑÔÐÝ	Ð
 Ð#Ñ#Ô#Ð#Ð#Ð#r   c                 óN  — | €t           j        dd…         } ddlm} ddl}|                     dd ¬¦  «        }|                     ddd	¬
¦  «         |                     | ¦  «        } ||j        ¦  «        }d|vrt          dt           j
        ¬¦  «         dS t          |¦  «         dS )z,Print `avar` table as a designspace snippet.Nr   r   )ÚTTFontzfonttools varLib.avar.unbuild)Údescriptionrz   zvarfont.ttfzVariable-font file.)ÚmetavarÚhelprA   zNot a variable font.r˜   )ÚsysÚargvÚfontTools.ttLibr¦   ÚargparseÚArgumentParserÚadd_argumentÚ
parse_argsrz   rž   Ústderrr¤   )Úargsr¦   r­   ÚparserÚoptionsrz   s         r   Úmainrµ   ÷   sÊ   € ð €|ÝŒx˜˜˜Œ|ˆà&Ð&Ð&Ð&Ð&Ð&Ø€O€O€Oà×$Ò$Ø'ØBð %ñ ô €Fð ×Ò˜¨Ð<QÐÑRÔRÐRØ×Ò Ñ%Ô%€Gàˆ6�'”,ÑÔ€DØ�TÐÐÝÐ$­3¬:Ð6Ñ6Ô6Ð6ØˆqåˆD�M„M€M€M€Mr   Ú__main__)Tr   )ÚfontTools.varLib.modelsr   ÚfontTools.varLib.varStorer   ÚfontTools.misc.fixedToolsr   rw   Ú	itertoolsr   rª   r   r?   r‘   Ústdoutr¤   rµ   Ú__name__Úexitr   r   r   ú<module>r¾      sý   ðØ 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø Ð Ð Ð Ð Ð Ø 
€
€
€
ðKð Kð Kð<*ð <*ð <*ð~dð dð dð dðN ”Jð ?$ð ?$ð ?$ð ?$ðDð ð ð ð0 ˆzÒÐØ€J€J€Jà€C„HˆTˆT‰VŒVÑÔÐÐÐð Ðr   