Ë
    £ehú*  ã                   ó\   — d dl mZ d dlmZ d dlmZ dgZdZd„ Zdd„Z	 ed«      d	„ «       Z
y
)é    )ÚsupportScalar)ÚMAX_F2DOT14)Ú	lru_cacheÚ
rebaseTentg      ?c                 ó$   — | d    | d    | d    fS )Né   é   r   © )Úvs    ú_/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fontTools/varLib/instancer/solver.pyÚ_reverse_negater   
   s!   € Øˆq‰TˆE�A�a‘D�5˜1˜Q™4˜%Ð Ð ó    c                 ó¼  — |\  }}}}}| \  }}	}
||	kD  rGt        t        | «      |j                  «       | «      D ��cg c]  \  }}||�t        |«      nd f‘Œ c}}S ||k  r||	k  rg S ||	k  r9t        d|id| i«      }|||f} t        | |«      D ��cg c]  \  }}||z  |f‘Œ c}}S t        d|id| i«      }|d fg}t        d|id| i«      }||k\  r¡|	d|z
  |
|	z
  z  z   }t	        ||«      |	|f}d}|j                  ||z
  |f«       |
|k\  r|||f}|}|j                  ||z
  |f«       n¯|
|k(  r	|
t        z  }
||
|f}d}|
||f}d}|j                  ||z
  |f«       |j                  ||z
  |f«       nf||	k(  r|	}
|	d|z
  |
|	z
  z  z   }||k  sJ ‚	 t	        ||«      |	|f}d}|	||f}|}|j                  ||z
  |f«       |	|k  r|j                  ||z
  |f«       ||k  r-|||f}t        d|id| i«      }|j                  ||z
  |f«       |S ||k(  r	|t        z  }|||f}d}|||f}d}|j                  ||z
  |f«       |j                  ||z
  |f«       |S c c}}w c c}}w )NÚtagr	   r   )Ú_solver   Úreverse_negater   ÚmaxÚappendÚEPSILONr   )ÚtentÚ	axisLimitÚnegativeÚaxisMinÚaxisDefÚaxisMaxÚ_distanceNegativeÚ_distancePositiveÚlowerÚpeakÚupperÚscalarÚtÚmultÚgainÚoutÚoutGainÚcrossingÚlocÚloc1Úscalar1Úloc2Úscalar2ÚnewUppers                           r   r   r      sN  € ØFOÑC€GˆW�gÐ0Ð2CØÑ€Eˆ4�ð �‚~ô $Ü Ó%Ø×(Ñ(Ó*Ø�ó÷
á�˜ð ¨1¨=”_ QÔ'¸dÒCó
ð 	
ð* �%Ò˜G dšNØˆ	ð: �‚~Ü˜e WÐ-°°t¨}Ó=ˆØ�w Ð(ˆÜ4:¸4ÀÓ4K×L¡y v¨q�˜$‘ Ò"ÓLÐLô ˜% Ð)¨E°4¨=Ó9€DØ�$ˆ<ˆ.€Cô
 ˜U GÐ,¨u°d¨mÓ<€Gð$ ˆw‚ð ˜1˜t™8¨°©Ñ5Ñ5ˆä�5˜'Ó" D¨(Ð3ˆØˆð 	�
‰
�F˜T‘M 3Ð'Ô(ð �GÒØ˜W gÐ.ˆCØˆFà�J‰J˜ ™ sÐ+Õ,ð( ˜ÒØœÑ �ð ˜e WÐ-ˆDØˆGð ˜7 GÐ,ˆDØˆGà�J‰J˜ $™¨Ð-Ô.Ø�J‰J˜ $™¨Ð-Õ.ð �dŠ?ØˆEð$ ˜1˜t™8¨°©Ñ5Ñ5ˆØ˜(Ò"Ð"Ð"ð ô: ˜ Ó'¨¨wÐ7ˆDØˆGà˜' 7Ð+ˆDØˆGà�J‰J˜ $™¨Ð-Ô.à�gŠ~Ø—
‘
˜G d™N¨DÐ1Ô2ð$ �ÒØ˜ Ð)ˆÜ  wÐ/°%¸°Ó?ˆà�
‰
�F˜T‘M 3Ð'Ô(ðB €Jð �GÒØ”WÑˆEð ˜ Ð(ˆØˆð ˜ %Ð(ˆØˆà�
‰
�G˜d‘N DÐ)Ô*Ø�
‰
�G˜d‘N DÐ)Ô*à€JùóA
ùól Ms   ¼IÂIé€   c                 óD  ‡— ‰\  }}}}}d|cxk  r|cxk  r|cxk  rdk  sJ ‚ J ‚| \  }}}	d|cxk  r|cxk  r|	cxk  rdk  sJ ‚ J ‚|dk7  sJ ‚t        | ‰«      }
ˆfd„}|
D ��cg c]-  \  }}|r&||�  ||d   «       ||d   «       ||d   «      fndf‘Œ/ }
}}|
S c c}}w )a7  Given a tuple (lower,peak,upper) "tent" and new axis limits
    (axisMin,axisDefault,axisMax), solves how to represent the tent
    under the new axis configuration.  All values are in normalized
    -1,0,+1 coordinate system. Tent values can be outside this range.

    Return value is a list of tuples. Each tuple is of the form
    (scalar,tent), where scalar is a multipler to multiply any
    delta-sets by, and tent is a new tent for that output delta-set.
    If tent value is None, that is a special deltaset that should
    be always-enabled (called "gain").éÿÿÿÿr	   éþÿÿÿr   r   c                 ó&   •— ‰j                  | «      S )N)ÚrenormalizeValue)r   r   s    €r   ú<lambda>zrebaseTent.<locals>.<lambda>.  s   ø€ �)×,Ñ,¨QÓ/€ r   N)r   )r   r   r   r   r   r   r   r   r   r    ÚsolsÚnr!   r   s    `            r   r   r     sä   ø€ ð GPÑC€GˆW�gÐ0Ð2CØ�Ô4˜GÔ4 wÔ4°"Ò4Ð4Ñ4Ð4Ð4àÑ€Eˆ4�Ø�Ô-˜$Ô- %Ô-¨2Ò-Ð-Ñ-Ð-Ð-à�1Š9Ðˆ9ä�$˜	Ó"€Dã/€Að ÷áˆF�AÙð 
°°‘!�A�a‘D“'™1˜Q˜q™T›7¡A a¨¡d£GÑ,À4ÒHð€Dñ ð €Kùós   Á%2BN)F)ÚfontTools.varLib.modelsr   ÚfontTools.misc.fixedToolsr   Ú	functoolsr   Ú__all__r   r   r   r   r
   r   r   ú<module>r;      s>   ðÝ 1Ý 1Ý àˆ.€à
€ò!óFñR ˆ3ƒñó ñr   