Ë
    £ehg  ã                   ó$   — d gZ d„ Zd„ Zdd„Zd„ Zy)Ú
maxCtxFontc           	      óâ   — d}dD ]g  }|| vrŒ| |   j                   }|j                  sŒ$|j                  j                  D ]+  }|j                  D ]  }t	        |||j
                  |«      }Œ Œ- Œi |S )z4Calculate the usMaxContext value for an entire font.é    )ÚGSUBÚGPOS)ÚtableÚ
LookupListÚLookupÚSubTableÚmaxCtxSubtableÚ
LookupType)ÚfontÚmaxCtxÚtagr   ÚlookupÚsts         ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fontTools/otlLib/maxContextCalc.pyr   r      sŒ   € ð €FØò LˆØ�d‰?ØØ�S‘	—‘ˆØ×ÒØØ×&Ñ&×-Ñ-ò 	LˆFØ—o‘oò L�Ü'¨°°V×5FÑ5FÈÓK‘ñLñ	LðLð €Mó    c                 ó\  — |dk(  r|dk(  s	|dk(  r|dv rt        | d«      } | S |dk(  r|dk(  rt        | d«      } | S |dk(  rC|dk(  r>|j                  j                  «       D ]  }|D ]  }t        | |j                  «      } Œ Œ! | S |dk(  r|dk(  s
|dk(  r!|dk(  rt	        | ||dk(  rd	«      } | S d
«      } | S |dk(  r|dk(  s
|dk(  r|dk(  rt	        | ||dk(  rd	nd
d«      } | S |dk(  r|dk(  s
|dk(  r)|dk(  r$t        | ||j                  |j                  «      } | S |dk(  r|dk(  rt        | |d«      } | S )z[Calculate usMaxContext based on a single lookup table (and an existing
    max value).
    r   é   r   )r   é   é   r   é   é   é   ÚPosÚSubé   é   ÚChainé	   ÚReverse)	ÚmaxÚ	ligaturesÚvaluesÚ	CompCountÚmaxCtxContextualSubtabler   ÚExtensionLookupTypeÚExtSubTableÚmaxCtxContextualRule)r   r   Ú
lookupTyper   r#   Úligatures         r   r   r      sŒ  € ð 	ˆvŠ˜*¨š/ØˆvŠ˜*¨	Ñ1ä�V˜Q“ˆð< €Mð7 
�Š˜:¨š?Ü�V˜Q“ˆð4 €Mð/ 
�Š˜:¨š?ØŸ™×,Ñ,Ó.ò 	9ˆIØ%ò 9�Ü˜V X×%7Ñ%7Ó8‘ñ9ð	9ð, €Mð# �Š-˜J¨!šO°¸²À:ÐQRÂ?Ü)¨&°"¸sÀfº}°eÓXˆð  €Mð! SXÓXˆð  €Mð �Š-˜J¨!šO°¸²À:ÐQRÂ?Ü)Ø�B ¨¢™°E¸7ó
ˆð €Mð �Š-˜J¨!šO°¸²À:ÐQRÂ?Ü ¨¨R×-CÑ-CÀRÇ^Á^ÓTˆð €Mð 
�Š˜:¨š?Ü% f¨b°)Ó<ˆà€Mr   c                 ó~  — |j                   dk(  rAt        ||›|›d�«      D ]+  }|€Œt        ||›|›d�«      D ]  }|€Œt        | ||«      } Œ Œ- | S |j                   dk(  rAt        ||›|›d�«      D ]+  }|€Œt        ||›|›d�«      D ]  }|€Œt        | ||«      } Œ Œ- | S |j                   dk(  rt        | ||«      } | S )z>Calculate usMaxContext based on a contextual feature subtable.r   ÚRuleSetÚRuler   ÚClassSetÚ	ClassRuler   )ÚFormatÚgetattrr)   )r   r   ÚruleTypeÚchainÚrulesetÚrules         r   r&   r&   >   sú   € ð 
‡y�y�A‚~Ü˜r±Eº8Ð#DÓEò 	CˆGØˆØÜ ±uºhÐ)GÓHò C�Ø�<ØÜ-¨f°d¸EÓB‘ñCð	Cð( €Mð 
�‰�aŠÜ˜r±UºHÐ#EÓFò 	CˆGØˆØÜ ¹EÂ8Ð)LÓMò C�Ø�<ØÜ-¨f°d¸EÓB‘ñCð	Cð €Mð 
�‰�aŠÜ% f¨b°%Ó8ˆà€Mr   c                 ó´   — |st        | |j                  «      S |dk(  rt        | d|j                  z   «      S t        | |j                  |j                  z   «      S )z:Calculate usMaxContext based on a contextual feature rule.r!   r   )r"   Ú
GlyphCountÚLookAheadGlyphCountÚInputGlyphCount)r   r   r4   s      r   r)   r)   Y   sV   € ñ Ü�6˜2Ÿ=™=Ó)Ð)Ø	�)Ò	Ü�6˜1˜r×5Ñ5Ñ5Ó6Ð6Üˆv�r×)Ñ)¨B×,BÑ,BÑBÓCÐCr   N)Ú )Ú__all__r   r   r&   r)   © r   r   ú<module>r>      s"   ðØˆ.€òò 'óTó6Dr   