§
    ÛóÉjº+  ã                   ó†  — d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlT d dlZ ej        d¦  «        Zeeeeeeed	œ ej        d
¦  «        _        deeeeed„ eeed„ dœZd„ Zi de“de“de“dd„ “de“d ee¦  «        “de“de“de“de“de“de“de“de“de“d d!„ “d"e“d#ei¥ ej        d$¦  «        _        eeeeeeeeeeeeeed%œ ej        d&¦  «        _        eeeeeeeeeeeeeed'œ ej        d(¦  «        _        dd)„ eeeeed*œZd+„ Zi d,e“de“d-e“d.e“d/e“d0e“d1e“d2e“d3e“d4e“d5e“d6e“d7e“d8e“d9e“d:e“d;e“ e e¦  «         e e¦  «         e e¦  «         e e¦  «         e e¦  «         e e¦  «         e e¦  «         e e¦  «         e e¦  «        d<œ	¥ ej        d=¦  «        _         e ej        d=¦  «        ¦  «        d>„ ¦   «         Z!eeeeed?„ ed@„  e e"¦  «        dA„ dBœ
 ej        dC¦  «        _        ee"dDœx ej        dE¦  «        _         ej        dF¦  «        _        eedGœ ej        dH¦  «        _        eedIœ ej        dJ¦  «        _        ee"e#eedKœ ej        dL¦  «        _         e ej        dL¦  «        ¦  «        dM„ ¦   «         Z!dN„  ej        dO¦  «        _        dP„  ej        dQ¦  «        _        dR„  ej        dS¦  «        _        dT„  ej        dU¦  «        _         e ej        dV¦  «        ¦  «        dW„ ¦   «         Z! e ej        dX¦  «        ¦  «        dY„ ¦   «         Z!dS )Zé    )ÚttLibÚcffLib)ÚT2WidthExtractor)ÚDefaultTable)Ú
add_methodÚmergeObjects)ÚcomputeMegaCmap)Ú*NzfontTools.merge)r
   ÚtableTagÚtableVersionÚ	numGlyphsÚ
maxStorageÚmaxFunctionDefsÚmaxInstructionDefsÚmaxpé   c                 ó   — dS ©Nr   © ©Úbits    ú{/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib64/python3.11/site-packages/fontTools/merge/tables.pyú<lambda>r   #   s   € �1€ ó    c                 ó   — dS r   r   r   s    r   r   r   '   s   € �A€ r   )Úsizer
   é   é   é   é   é   é   é   é   é   c                 óœ   ‡ — t          ‰ ¦  «        Š t          ˆ fd„‰ dd …         D ¦   «         ¦  «        rt          d‰ z  ¦  «        ‚‰ d         S )Nc              3   ó0   •K  — | ]}|‰d          k    V — ŒdS ©r   Nr   )Ú.0ÚitemÚlsts     €r   ú	<genexpr>z"mergeUnitsPerEm.<locals>.<genexpr>-   s+   øè è € Ð
.Ð
.˜dˆ4�3�q”6Š>Ð
.Ð
.Ð
.Ð
.Ð
.Ð
.r   r   z7Cannot merge fonts with different unitsPerEm values: %sr   )ÚlistÚanyÚ
ValueError©r+   s   `r   ÚmergeUnitsPerEmr1   +   s`   ø€ Ý
ˆs‰)Œ)€CÝ
Ð
.Ð
.Ð
.Ð
. c¨!¨"¨"¤gÐ
.Ñ
.Ô
.Ñ.Ô.ð 
ÝØEÈÑKñ
ô 
ð 	
ð ˆqŒ6€Mr   r   r   ÚfontRevisionÚcheckSumAdjustmentc                 ó   — dS r   r   r0   s    r   r   r   8   s   €  a€ r   ÚmagicNumberÚflagsÚ
unitsPerEmÚcreatedÚmodifiedÚxMinÚyMinÚxMaxÚyMaxÚmacStyleÚlowestRecPPEMÚfontDirectionHintc                 ó   — dS )Nr   r   r0   s    r   r   r   D   s   €  Q€ r   ÚindexToLocFormatÚglyphDataFormatÚhead)r
   r   r   ÚascentÚdescentÚlineGapÚadvanceWidthMaxÚminLeftSideBearingÚminRightSideBearingÚ
xMaxExtentÚcaretSlopeRiseÚcaretSlopeRunÚcaretOffsetÚnumberOfHMetricsÚhhea)r
   r   r   rE   rF   rG   ÚadvanceHeightMaxÚminTopSideBearingÚminBottomSideBearingÚ
yMaxExtentrL   rM   rN   ÚnumberOfVMetricsÚvheac                 ó   — dS r   r   r   s    r   r   r   m   s   € �Q€ r   )r   r
   r   r   r   é   é	   c                 óx  — t          | ¦  «        } t          d„ | D ¦   «         ¦  «        rdS t          t          | ¦  «        ¦  «        D ]K}| |         dz  r| |xx         dz  cc<   Œ| |         dz  r| |xx         dz  cc<   Œ:| |         dk    rd| |<   ŒL t	          t
          ¦  «        | ¦  «        }|dz  r|dz  }|S )	Nc              3   ó"   K  — | ]
}|d k    V — ŒdS r(   r   )r)   r*   s     r   r,   z!mergeOs2FsType.<locals>.<genexpr>x   s&   è è € Ð
%Ð
%˜ˆ4�1Š9Ð
%Ð
%Ð
%Ð
%Ð
%Ð
%r   r   é   éýÿÿÿrX   é   r   ióÿÿÿ)r-   ÚallÚrangeÚlenÚ	mergeBitsÚos2FsTypeMergeBitMap)r+   ÚiÚfsTypes      r   ÚmergeOs2FsTyperf   v   sè   € Ý
ˆs‰)Œ)€CÝ
Ð
%Ð
% Ð
%Ñ
%Ô
%Ñ%Ô%ð Øˆqõ •3�s‘8”8‰_Œ_ð 	ð 	ˆàˆqŒ6�F‰?ð 	Ø�ˆFˆFŒF�gÑˆFˆF‰FˆFà�ŒV�f‰_ð 	Ø�ˆFˆFŒF�fÑˆFˆF‰FˆFà�ŒV�qŠ[ˆ[ØˆC�‰Føà,�YÕ+Ñ,Ô,¨SÑ1Ô1€Fà��ð Ø�'ÑˆØ€Mr   r
   ÚversionÚxAvgCharWidthre   ÚpanoseÚulUnicodeRange1ÚulUnicodeRange2ÚulUnicodeRange3ÚulUnicodeRange4ÚfsFirstCharIndexÚfsLastCharIndexÚsTypoAscenderÚsTypoDescenderÚsTypoLineGapÚusWinAscentÚusWinDescent)	ÚulCodePageRange1ÚulCodePageRange2ÚsxHeightÚ
sCapHeightÚusDefaultCharÚusBreakCharÚusMaxContextÚusLowerOpticalPointSizeÚusUpperOpticalPointSizezOS/2c                 ó²   — t          j        | ||¦  «         | j        dk     r| xj        dz  c_        | j        dk    r| j        dz  r| xj        dz  c_        | S )Nr   iÿüÿÿr   rX   éûÿÿÿ)r   Úmergerg   re   )ÚselfÚmÚtabless      r   r€   r€   ¯   sg   € åÔ�t˜Q Ñ'Ô'Ð'Ø„|�aÒÐàˆŒ�wÑˆŒØ„|�qÒÐð Œ;˜Ñð 	#ØˆKŒK˜7Ñ"ˆKŒKØ€Kr   c                 ó   — dS r   r   r0   s    r   r   r   Ä   s   €  € r   c                 ó   — dS r   r   r0   s    r   r   r   Æ   s   € ˜q€ r   c                 ó   — g S ©Nr   r0   s    r   r   r   È   s   € ˜b€ r   )
r
   r   Ú
formatTypeÚisFixedPitchÚminMemType42ÚmaxMemType42ÚminMemType1ÚmaxMemType1ÚmappingÚ
extraNamesÚpost)r   ÚmetricsÚvmtxÚhmtx)r   ÚnamesÚname)r
   r   Úloca)r   ÚglyphsÚ
glyphOrderÚ_reverseGlyphOrderÚaxisTagsÚglyfc                 ó  — t          |¦  «        D ]`\  }}|j                             ¦   «         D ]A}|r|                     ¦   «          |                     ¦   «         r|                     |¦  «         ŒBŒat          j        | ||¦  «        S r‡   )Ú	enumerater—   ÚvaluesÚremoveHintingÚisCompositeÚexpandr   r€   )r�   r‚   rƒ   rd   ÚtableÚgs         r   r€   r€   ã   s’   € å˜fÑ%Ô%ð 	 ð 	 ‰ˆˆ5Ø”×$Ò$Ñ&Ô&ð 	 ð 	 ˆAØð "ð —’Ñ!Ô!Ð!ð �}Š}‰Œð  Ø—’˜‘”�øð	 õ Ô˜d A vÑ.Ô.Ð.r   c                 ó    — t          |¦  «        S r‡   ©Úfirst©r�   r+   s     r   r   r   ò   ó   € ½¸s¹¼€ r   Úprepc                 ó    — t          |¦  «        S r‡   r¥   r§   s     r   r   r   ó   r¨   r   Úfpgmc                 ó    — t          |¦  «        S r‡   r¥   r§   s     r   r   r   ô   r¨   r   zcvt c                 ó    — t          |¦  «        S r‡   r¥   r§   s     r   r   r   õ   s   € ½Øñ:ô :€ r   ÚgaspzCFF c                 óh  — t          d„ |D ¦   «         ¦  «        rt          d¦  «        ‚|D ]}|j                             ¦   «          Œ|d         }|j        d         }|j        }|j        |j        }}g }	g }
t          |                     ¦   «         ¦  «        }|j	        j	        D ]1}||vr|	 
                    |¦  «         Œ|
 
                    |¦  «         Œ2t          |j        ¦  «        }|j        }t                               dt!          |¦  «        ¦  «         t#          |dd …         d¬¦  «        D �]Ö\  }}|j        d         }|j        j        |j        j        }}||k    p||k    }||_        t          |                     ¦   «         ¦  «        }|j	        j	        D ]}||v r|
 
                    |¦  «         Œ|j        }|j        j        }t                               d|t!          |¦  «        ¦  «         |                     |j        ¦  «         |j        rRt#          |j        t!          |¦  «        ¬¦  «        D ].\  }}||j        |<   |j        j         
                    d ¦  «         Œ/|j        D ]˜}|r‰||         }t1          ¦   «         }t3          g g ||¦  «        }|                     |¦  «         |j        }||ur|j                             d¦  «         n|}||k    r|j                             d||z
  ¦  «         ||         ||<   Œ™�ŒØ||_        t!          |¦  «        |_        |
|	z   |j	        _	        |S )Nc              3   óL   K  — | ]}t          |j        d          d¦  «        V — Œ dS )r   ÚFDSelectN)ÚhasattrÚcff)r)   r¢   s     r   r,   zmerge.<locals>.<genexpr>ü   s2   è è € Ð
AÐ
A°�7�5”9˜Q”< Ñ,Ô,Ð
AÐ
AÐ
AÐ
AÐ
AÐ
Ar   z1Merging CID-keyed CFF tables is not supported yetr   zFONT 0 CharStrings: %d.r   )ÚstartzFont %d CharStrings: %d.) r.   ÚNotImplementedErrorr³   ÚdesubroutinizeÚPrivateÚdefaultWidthXÚnominalWidthXÚsetÚgetGlyphOrderÚstringsÚappendr-   ÚcharsetÚCharStringsÚlogÚdebugra   r�   ÚGlobalSubrsÚextendÚcharStringsAreIndexedÚcharStringsÚcharStringsIndexÚitemsÚobjectr   ÚexecuteÚwidthÚprogramÚpopÚinsertr   )r�   r‚   rƒ   r¢   ÚnewcffÚnewfontÚprivateÚnewDefaultWidthXÚnewNominalWidthXÚstoredNamesStringsÚglyphOrderStringsr˜   r•   ÚchrsetÚnewcsrd   Úfontr¸   r¹   ÚwidthsDifferÚfontGlyphOrderÚcsÚgsÚcÚdefaultWidthXTokenÚ	extractorrÊ   s                              r   r€   r€   ú   sr  € å
Ð
AÐ
A¸&Ð
AÑ
AÔ
AÑAÔAð WÝ!Ð"UÑVÔVÐVàð #ð #ˆØŒ	× Ò Ñ"Ô"Ð"Ð"à�AŒY€FØŒj˜Œm€GØŒo€GØ)0Ô)>ÀÔ@UÐ&ÐØÐØÐÝ�W×*Ò*Ñ,Ô,Ñ-Ô-€Jà”Ô'ð +ð +ˆØ�zÐ!Ð!Ø×%Ò% dÑ+Ô+Ð+Ð+à×$Ò$ TÑ*Ô*Ð*Ð*å�'”/Ñ"Ô"€FØÔ€EÝ‡I‚IÐ'­¨U©¬Ñ4Ô4Ð4å˜f Q R Rœj°Ð2Ñ2Ô2ð %#ñ %#‰ˆˆ5ØŒy˜Œ|ˆàŒLÔ&ØŒLÔ&ð %ˆð
 Ð-Ò-ÐR°ÐBRÒ1Rð 	ð ˆŒÝ˜T×/Ò/Ñ1Ô1Ñ2Ô2ˆØ”LÔ(ð 	/ð 	/ˆDØ�~Ð%Ð%Ø!×(Ò(¨Ñ.Ô.Ð.øØÔˆØŒYÔ"ˆÝ�	Š	Ð,¨aµ°R±´Ñ9Ô9Ð9Ø�Š�d”lÑ#Ô#Ð#ØÔ&ð 	:Ý$ R¤^½3¸u¹:¼:ÐFÑFÔFð :ð :‘��4Ø*+�Ô! $Ñ'ØÔ&Ô,×3Ò3°DÑ9Ô9Ð9Ð9Ø”Nð 	#ð 	#ˆDØð BØ�t”H�Ý%+¡X¤XÐ"Ý,¨R°°]ÐDVÑWÔW�	Ø×!Ò! !Ñ$Ô$Ð$Ø!œ�ØÐ 2Ð2Ð2ð ”I—M’M !Ñ$Ô$Ð$Ð$à)�EØÐ,Ò,Ð,Ø”I×$Ò$ Q¨Ð0@Ñ(@ÑAÔAÐAØ˜Tœ(ˆE�$‰KˆKñ	#ð" €G„OÝ˜F™œ€GÔØ/Ð2DÑD€G„OÔà€Mr   Úcmapc                 ó2  — t          |d¦  «        st          ||¦  «         |j        }d„ |                     ¦   «         D ¦   «         }g | _        t          j        d¦  «        }t          |¦  «        t          |¦  «        k    rL |j        d         d¦  «        }d|_	        d|_
        d|_        ||_        | j                             |¦  «          |j        d         d¦  «        }d|_	        d|_
        d|_        ||_        | j                             d|¦  «         |j        }|rT |j        d	         d	¦  «        }d|_	        d
|_
        d|_        i |_        ||_        | j                             d|¦  «         d| _        t          | j        ¦  «        | _        | S )Nrß   c                 ó&   — i | ]\  }}|d k    ¯||“ŒS )iÿÿ  r   )r)   ÚuniÚgids      r   ú
<dictcomp>zmerge.<locals>.<dictcomp>H  s#   € ÐJÐJÐJ¡  S¸CÀ6ºM¸M�3˜¸M¸M¸Mr   r\   r   é
   r   r^   r   r$   r    )r²   r	   rß   rÇ   rƒ   r   ÚgetTableModulera   Úcmap_classesÚ
platformIDÚ	platEncIDÚlanguager½   rÍ   ÚuvsDictr   ÚnumSubTables)	r�   r‚   rƒ   rß   ÚcmapBmpOnlyÚmoduleÚ	cmapTablerë   ÚuvsTables	            r   r€   r€   B  s”  € å�1�fÑÔð #Ý˜˜6Ñ"Ô"Ð"ØŒ6€DàJÐJ¨D¯JªJ©L¬LÐJÑJÔJ€KØ€D„KÝÔ! &Ñ)Ô)€FÝ
ˆ;ÑÔ�3˜t™9œ9Ò$Ð$à+�FÔ'¨Ô+¨BÑ/Ô/ˆ	Ø ˆ	ÔØ ˆ	ÔØˆ	ÔØˆ	ŒØŒ×Ò˜9Ñ%Ô%Ð%à&�Ô# AÔ& qÑ)Ô)€IØ€IÔØ€IÔØ€IÔØ €I„Nà„K×Ò�q˜)Ñ$Ô$Ð$àŒi€GØð 	(à*�6Ô& rÔ*¨2Ñ.Ô.ˆØˆÔØˆÔØˆÔØˆŒØ"ˆÔàŒ×Ò˜1˜hÑ'Ô'Ð'Ø€DÔÝ˜DœKÑ(Ô(€DÔØ€Kr   )$Ú	fontToolsr   r   ÚfontTools.misc.psCharStringsr   Ú#fontTools.ttLib.tables.DefaultTabler   ÚfontTools.merge.baser   r   ÚfontTools.merge.cmapr	   ÚfontTools.merge.utilÚloggingÚ	getLoggerrÀ   ÚmaxÚequalÚsumr¦   ÚgetTableClassÚmergeMapÚ
bitwise_orÚbitwise_andÚheadFlagsMergeBitMapr1   rb   Úcurrent_timeÚminÚrecalculaterc   rf   ÚonlyExistingr€   ÚsumDictsÚsumListsr   r   r   ú<module>r     s‡  ðð
 $Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø <Ð <Ð <Ð <Ð <Ð <Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø "Ð "Ð "Ð "Ø €€€à€gÔÐ)Ñ*Ô*€ð 
ØØØØØØð
(ð 
(Ð €Ô �FÑ Ô Ô $ð Ø	ØØØØØ€}ØØØØˆðð Ð ðð ð ð(Ø�ð(à�Cð(ð �Cð(ð ˜-˜-ð	(ð
 �5ð(ð ˆYˆYÐ+Ñ,Ô,ð(ð �/ð(ð ˆ|ð(ð �ð(ð ˆCð(ð ˆCð(ð ˆCð(ð ˆCð(ð �ð(ð �Sð(ð  ˜˜ð!(ð" ˜ð#(ð$ �uð%(ð (Ð €Ô �FÑ Ô Ô $ð, 
ØØØØØØØØØØØØØ#ð(ð (Ð €Ô �FÑ Ô Ô $ð$ 
ØØØØØØØØØØØØØ#ð(ð (Ð €Ô �FÑ Ô Ô $ð$ Ø	ˆØØØØØðð Ð ðð ð ð0(Øˆð(à�ð(ð ˆsð(ð �Uð	(ð
 ˆnð(ð ˆeð(ð �zð(ð �zð(ð �zð(ð �zð(ð ˜ð(ð �sð(ð �Sð(ð �cð(ð �Cð(ð  �3ð!(ð" �Cð#(ð& %˜ ZÑ0Ô0Ø$˜ ZÑ0Ô0à�˜SÑ!Ô!Ø�,˜sÑ#Ô#Ø!�\ %Ñ(Ô(Ø�< Ñ&Ô&Ø �L Ñ%Ô%à+˜|¨CÑ0Ô0Ø+˜|¨CÑ0Ô0ð;(ð (ð (Ð €Ô �FÑ Ô Ô $ðB €ÐˆEÔ Ñ'Ô'Ñ(Ô(ðð ñ )Ô(ðð 
ØØØØØ!�MØØ �=Øˆ|˜HÑ%Ô%Ø �.ð(ð (Ð €Ô �FÑ Ô Ô $ð ØðOð Oð Ð €Ô �FÑ Ô Ô $Ð': uÔ':¸6Ñ'BÔ'BÔ'Kð Øð(ð (Ð €Ô �FÑ Ô Ô $ð 
Øð(ð (Ð €Ô �FÑ Ô Ô $ð ØØØ%Øð(ð (Ð €Ô �FÑ Ô Ô $ð €ÐˆEÔ Ñ'Ô'Ñ(Ô(ð/ð /ñ )Ô(ð/ð (DÐ'CÐ €Ô �FÑ Ô Ô $Ø'CÐ'CÐ €Ô �FÑ Ô Ô $Ø'CÐ'CÐ €Ô �FÑ Ô Ô $ð(ð (Ð €Ô �FÑ Ô Ô $ð
 €ÐˆEÔ Ñ'Ô'Ñ(Ô(ðDð Dñ )Ô(ðDðN €ÐˆEÔ Ñ'Ô'Ñ(Ô(ð&ð &ñ )Ô(ð&ð &ð &r   