§
    ¢”jÆ  ã                   ód   — d dl mZ d dlmZ d dlZ ej        d¦  «        Zd„ Zd„ Z	d„ Z
d„ Zd	„ ZdS )
é    )ÚotTables)ÚdeepcopyNzfontTools.varLib.instancerc                 ó  — g }| j         �| j         j        ng }|D ]7}|j        dk    r dS |                     |j        |j        |j        f¦  «         Œ8t          | j        j	        g|z   ¦  «        }||v rdS | 
                    |¦  «         dS )Né   TF)ÚConditionSetÚConditionTableÚFormatÚappendÚ	AxisIndexÚFilterRangeMinValueÚFilterRangeMaxValueÚ	frozensetÚFeatureTableSubstitutionÚVersionÚadd)ÚrecÚseenÚconditionSetÚconditionSetsÚcondÚ	recordKeys         úu/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/varLib/instancer/featureVars.pyÚ_featureVariationRecordIsUniquer   	   sº   € Ø€Là+.Ô+;Ð+GˆÔÔ'Ð'ÈRð ð ð 
ð 
ˆØŒ;˜!ÒÐà�4�4Ø×ÒØŒ^˜TÔ5°tÔ7OÐPñ	
ô 	
ð 	
ð 	
õ ˜3Ô7Ô?Ð@À<ÑOÑPÔP€IØ�DÐÐØˆuà�Š�ÑÔÐØˆtó    c                 ó–   ‡— | j         }| j        }||k    s|‰j        k    s|‰j        k     rd S t	          ˆfd„||fD ¦   «         ¦  «        S )Nc              3   óF   •K  — | ]}‰                      |d ¬¦  «        V — ŒdS )F)ÚextrapolateN)ÚrenormalizeValue)Ú.0ÚvÚ	axisLimits     €r   ú	<genexpr>z7_limitFeatureVariationConditionRange.<locals>.<genexpr>.   sG   øè è € ð ð Ø=>ˆ	×"Ò" 1°%Ð"Ñ8Ô8ðð ð ð ð ð r   )r   r   ÚmaximumÚminimumÚtuple)Ú	conditionr!   ÚminValueÚmaxValues    `  r   Ú$_limitFeatureVariationConditionRanger)   "   s€   ø€ ØÔ,€HØÔ,€Hð 	�8ÒÐØ�iÔ'Ò'Ð'Ø�iÔ'Ò'Ð'ð 	ˆåð ð ð ð ØCKÈXÐBVðñ ô ñ ô ð r   c                 ón  — d}d}g }ddl m}  |ddd¦  «        }	| j        €0t          j        ¦   «         | _        g | j        _        d| j        _        t          | j        j        ¦  «        D �]#\  }
}|j        dk    rÇ|j        }||         j	        }|j
        }|j        }|                     ||	¦  «        }||j        cxk    r|k    sn d}|j        |k    s|j        |k     rd } n¬||v rZ||         |_        t!          ||¦  «        }|r7|\  }}||_
        ||_        d}|dk    s|dk    r|                     |¦  «         ŒÓd } nNŒØt$                               d                     |
||j        ¦  «        ¦  «         d}|                     |¦  «         �Œ%|�|r|| j        _        |sd | _        d}nd}|o| }|||fS )NTFr   )Ú NormalizedAxisTripleAndDistanceséÿÿÿÿr   zWCondition table {0} of FeatureVariationRecord {1} has unsupported format ({2}); ignored)ÚfontTools.varLib.instancerr+   r   Úotr   ÚConditionCountÚ	enumerater	   r   ÚaxisTagr   r   ÚgetÚdefaultr$   r#   r)   r
   ÚlogÚwarningÚformat)ÚrecordÚrecIdxÚ
axisLimitsÚfvarAxesÚaxisIndexMapÚappliesÚ
shouldKeepÚnewConditionsr+   Údefault_tripleÚir&   ÚaxisIdxr1   r'   r(   ÚtripleÚnewRanger$   r#   Ú	universals                        r   Ú"_instantiateFeatureVariationRecordrE   3   s?  € ð €GØ€JØ€MØKÐKÐKÐKÐKÐKà5Ð5°b¸!¸RÑ@Ô@€NØÔÐ"Ý œoÑ/Ô/ˆÔØ-/ˆÔÔ*Ø-.ˆÔÔ*Ý! &Ô"5Ô"DÑEÔEð *,ñ *,‰ˆˆ9ØÔ˜qÒ Ð ØÔ)ˆGØ˜wÔ'Ô/ˆGà Ô4ˆHØ Ô4ˆHØ—^’^ G¨^Ñ<Ô<ˆFà ¤Ð:Ð:Ò:Ð:°(Ò:Ð:Ð:Ð:Ø�ð Œ~ Ò(Ð(¨F¬N¸XÒ,EÐ,EØ $�Ø�à˜,Ð&Ð&à&2°7Ô&;�	Ô#õ @À	È6ÑRÔR�Øð à'/Ñ$�G˜WØ4;�IÔ1Ø4;�IÔ1Ø!%�JØ "’}�}¨°2ª¨Ø%×,Ò,¨YÑ7Ô7Ð7øð %)�MØ�Eð# 'õ( �KŠKð4ß4:²F¸1¸fÀiÔFVÑ4WÔ4Wñô ð ð ˆGØ× Ò  Ñ+Ô+Ð+Ñ+àÐ  ZÐ Ø-:ˆÔÔ*Øð 	'Ø"&ˆFÔØˆ
ˆ
àˆ
ð Ð0 =Ð0€Ià�J 	Ð)Ð)r   c                 óö  ‡‡— t          |                     ¦   «         ¦  «        Šˆfd„|D ¦   «         Šˆfd„‰D ¦   «         }d}t          ¦   «         }g }d }t          | j        j        ¦  «        D ]ô\  }}	t          |	||||¦  «        \  }
}}|r%t          |	|¦  «        r|                     |	¦  «         |
r«|s©|	j        j	        dk    sJ ‚t          |	j        ¦  «        }t          |j        |	j        j        ¦  «        D ]a\  }}t          | j        j        |j                 j        ¦  «        |_        t          |j        ¦  «        | j        j        |j                 _        Œbd}|r nŒõ|rc|ra|s_t#          j        ¦   «         }t#          j        ¦   «         |_        g |j        _        d|j        _        ||_        |                     |¦  «         |r'|| j        _        t+          |¦  «        | j        _        d S | `d| _	        d S )Nc                 ó0   •— g | ]}|j         ‰v¯|j         ‘ŒS © )r1   )r   ÚaxisÚ
pinnedAxess     €r   ú
<listcomp>z1_instantiateFeatureVariations.<locals>.<listcomp>|   s'   ø€ ÐUÐUÐU $°d´lÈ*Ð6TÐ6T�”Ð6TÐ6TÐ6Tr   c                 ó<   •— i | ]}|‰                      |¦  «        “ŒS rH   )Úindex)r   r1   Ú	axisOrders     €r   ú
<dictcomp>z1_instantiateFeatureVariations.<locals>.<dictcomp>}   s'   ø€ ÐOÐOÐO¸'�G˜YŸ_š_¨WÑ5Ô5ÐOÐOÐOr   Fi   Tr   )ÚsetÚpinnedLocationr0   ÚFeatureVariationsÚFeatureVariationRecordrE   r   r
   r   r   r   ÚzipÚSubstitutionRecordÚFeatureListÚFeatureRecordÚFeatureIndexÚFeaturer.   r   r   r/   ÚlenÚFeatureVariationCount)Útabler:   r9   r;   ÚfeatureVariationAppliedÚuniqueRecordsÚ
newRecordsÚdefaultsSubstsr@   r7   r<   r=   rD   r3   r   ÚdefaultRecordrN   rJ   s                   @@r   Ú_instantiateFeatureVariationsrb   z   sQ  øø€ Ý�Z×.Ò.Ñ0Ô0Ñ1Ô1€JØUÐUÐUÐU¨(ÐUÑUÔU€IØOÐOÐOÐOÀYÐOÑOÔO€Là#ÐÝ‘E”E€MØ€JØ€Nå˜uÔ6ÔMÑNÔNð ð ‰	ˆˆ6Ý)KØ�A�z 8¨\ñ*
ô *
Ñ&ˆ�˜Yð ð 	&Õ9¸&À-ÑPÔPð 	&Ø×Ò˜fÑ%Ô%Ð%àð 	+Ð2ð 	+ØÔ2Ô:¸jÒHÐHÐHÐHÝ% fÔ&EÑFÔFˆNÝ #ØÔ1ØÔ/ÔBñ!ô !ð 	ð 	‘�˜õ #+ØÔ%Ô3°CÔ4DÔEÔMñ#ô #�”õ MUØ”KñMô M�Ô!Ô/°Ô0@ÔAÔIÐIð '+Ð#ð ð 	ØˆEð	ð ð ) :ð )°ið )ÝÔ1Ñ3Ô3ˆÝ%'¤_Ñ%6Ô%6ˆÔ"Ø46ˆÔ"Ô1Ø45ˆÔ"Ô1Ø1?ˆÔ.à×Ò˜-Ñ(Ô(Ð(àð #Ø9CˆÔÔ6Ý8;¸J¹¼ˆÔÔ5Ð5Ð5àÐ#à"ˆŒˆˆr   c                 ó
  — dD ]}|| vst          | |         j        dd ¦  «        sŒ#t                               d|¦  «         t	          | |         j        | d         j        |¦  «         | |                              ¦   «          Œ€d S )N)ÚGPOSÚGSUBrR   z+Instantiating FeatureVariations of %s tableÚfvar)Úgetattrr\   r4   Úinforb   ÚaxesÚprune_lookups)Úvarfontr9   ÚtableTags      r   ÚinstantiateFeatureVariationsrm   ³   s£   € Ø$ð 
*ð 
*ˆØ˜7Ð"Ð"­'Ø�HÔÔ#Ð%8¸$ñ+
ô +
Ð"ð Ý�ŠÐ>ÀÑIÔIÐIÝ%Ø�HÔÔ# W¨V¤_Ô%9¸:ñ	
ô 	
ð 	
ð 	�Ô×'Ò'Ñ)Ô)Ð)Ð)ð
*ð 
*r   )ÚfontTools.ttLib.tablesr   r.   Úcopyr   ÚloggingÚ	getLoggerr4   r   r)   rE   rb   rm   rH   r   r   ú<module>rr      s¡   ðØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø Ð Ð Ð Ð Ð Ø €€€ð €gÔÐ4Ñ5Ô5€ðð ð ð2ð ð ð"D*ð D*ð D*ðN6#ð 6#ð 6#ðr*ð *ð *ð *ð *r   