ó
    oñ:i2  ã                   óà   • S SK Jr  S SKJr  S SKJr  S SKrS SKr\R                  " S5      r	S r
S rS rS	 rS
 rS rS rS rS rS rS r " S S\5      r " S S\5      r " S S\5      rg)é    ©ÚtimestampNow)ÚDefaultTable)ÚreduceNzfontTools.mergec                 ó’   ^• [        U 5      n [        U 5      n[        U5      m[        U4S jU 5       5      (       d
   SU -  5       eT$ )Nc              3   ó,   >#   • U  H	  oT:H  v •  M     g 7f©N© )Ú.0ÚitemÚfirsts     €ÚW/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/fontTools/merge/util.pyÚ	<genexpr>Úequal.<locals>.<genexpr>   s   øé € Ð+ª �uŽ}ªùs   ƒz"Expected all items to be equal: %s)ÚlistÚiterÚnextÚall)ÚlstÚtr   s     @r   Úequalr      sF   ø€ Ü
ˆs‹)€CÜˆS‹	€AÜ�‹G€EÜÔ+©Ó+×+Ñ+ÐWÐ-QÐTWÑ-WÓWÐ+Ø€Ló    c                 ó*   • [        [        U 5      5      $ r	   )r   r   ©r   s    r   r   r      s   € Ü”�S“	‹?Ðr   c                 ó   • [         $ r	   ©ÚNotImplementedr   s    r   Úrecalculater      s   € ÜÐr   c                 ó   • [        5       $ r	   r   r   s    r   Úcurrent_timer    "   s
   € Ü‹>Ðr   c                 ó6   • [        [        R                  U 5      $ r	   )r   ÚoperatorÚand_r   s    r   Úbitwise_andr$   &   s   € Ü”(—-‘- Ó%Ð%r   c                 ó6   • [        [        R                  U 5      $ r	   )r   r"   Úor_r   s    r   Ú
bitwise_orr'   *   s   € Ü”(—,‘, Ó$Ð$r   c                 óF   • [        U 5      n [        U 5      [        U 5      -  $ r	   )r   ÚsumÚlenr   s    r   Úavg_intr+   .   s   € Ü
ˆs‹)€CÜˆs‹8”s˜3“xÑÐr   c                 ó   ^ • U 4S jnU$ )zÆReturns a filter func that when called with a list,
only calls func on the non-NotImplemented items of the list,
and only so if there's at least one item remaining.
Otherwise returns NotImplemented.c                 óp   >• U  Vs/ s H  o[         Ld  M  UPM     nnU(       a  T" U5      $ [         $ s  snf r	   r   )r   r   ÚitemsÚfuncs      €r   ÚwrapperÚonlyExisting.<locals>.wrapper9   s3   ø€ Ù"%ÓD¢#˜$´^Ð)C—¡#ˆÐDÞ#‰t�E‹{Ð7¬Ð7ùò Es   †3–3r
   )r/   r0   s   ` r   ÚonlyExistingr2   3   s   ø€ õ8ð €Nr   c                 ó>   • / nU  H  nUR                  U5        M     U$ r	   )Úextend)r   Úlr   s      r   ÚsumListsr6   @   ó!   € Ø
€AÛˆØ	�‰�Žñ à€Hr   c                 ó>   • 0 nU  H  nUR                  U5        M     U$ r	   )Úupdate)r   Údr   s      r   ÚsumDictsr;   G   r7   r   c                 ó   ^ • U 4S jnU$ )Nc                 óú   >^• [        U 5      n Sn[        TS   5       H'  n TU   nSU-  mU" U4S jU  5       5      nXU-  -  nM)     U$ ! [         a%     TS   n N6! [         a    [        SU-  5      ef = ff = f)Nr   ÚsizeÚ*zDon't know how to merge bit %sé   c              3   ó@   >#   • U  H  n[        UT-  5      v •  M     g 7fr	   )Úbool)r   r   Ú
shiftedBits     €r   r   Ú-mergeBits.<locals>.wrapper.<locals>.<genexpr>[   s   øé € Ð$MÊÀ¤T¨$°Ñ*;×%<Ð%<Êùs   ƒ)r   ÚrangeÚKeyErrorÚ	Exception)r   ÚreturnValueÚ	bitNumberÚ
mergeLogicÚmergedValuerC   Úbitmaps        @€r   r0   ÚmergeBits.<locals>.wrapperO   s¨   ù€ Ü�3‹iˆØˆÜ˜v f™~Ö.ˆIðRØ# IÑ.�
ð ˜i™ˆJÙ$Ô$MÉÓ$MÓMˆKØ¨)Ñ3Ñ3ŠKñ /ð Ðøô ó RðRØ!'¨¡’JøÜó RÜ#Ð$DÀyÑ$PÓQÐQðRúðRús   ¢AÁ
A:ÁAÁA6Á6A:r
   )rL   r0   s   ` r   Ú	mergeBitsrN   N   s   ø€ õð  €Nr   c                   ó$   • \ rS rSrSrS rS rSrg)ÚAttendanceRecordingIdentityDictéb   zUA dictionary-like object that records indices of items actually accessed
from a list.c                 ó˜   • Xl         [        U5       VVs0 s H  u  p#[        U5      U_M     snnU l        [	        5       U l        g s  snnf r	   )r5   Ú	enumerateÚidr:   ÚsetÚs)Úselfr   ÚiÚvs       r   Ú__init__Ú(AttendanceRecordingIdentityDict.__init__f   s9   € ØŒÜ'0°¤~Ô6¢~™t˜q”"�Q“%˜’(¡~Ò6ˆŒÜ“ˆ�ùó 7s   •Ac                 óh   • U R                   R                  U R                  [        U5         5        U$ r	   )rV   Úaddr:   rT   ©rW   rY   s     r   Ú__getitem__Ú+AttendanceRecordingIdentityDict.__getitem__k   s#   € Ø�‰�
‰
�4—6‘6œ"˜Q›%‘=Ô!Øˆr   )r:   r5   rV   N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rZ   r_   Ú__static_attributes__r
   r   r   rP   rP   b   s   † ñòõ
r   rP   c                   ó$   • \ rS rSrSrS rS rSrg)ÚGregariousIdentityDictép   znA dictionary-like object that welcomes guests without reservations and
adds them to the end of the guest list.c                 ó>   • Xl         [        S U 5       5      U l        g )Nc              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr	   )rT   )r   rY   s     r   r   Ú2GregariousIdentityDict.__init__.<locals>.<genexpr>v   s   é € Ð(¢C˜q”R˜—U�U¢Cùs   ‚)r5   rU   rV   )rW   r   s     r   rZ   ÚGregariousIdentityDict.__init__t   s   € ØŒÜÑ(¡CÓ(Ó(ˆ�r   c                 ó¶   • [        U5      U R                  ;  a?  U R                  R                  [        U5      5        U R                  R	                  U5        U$ r	   )rT   rV   r]   r5   Úappendr^   s     r   r_   Ú"GregariousIdentityDict.__getitem__x   s;   € Üˆa‹5˜Ÿ™ÓØ�F‰F�J‰J”r˜!“uÔØ�F‰F�M‰M˜!ÔØˆr   )r5   rV   Nra   r
   r   r   ri   ri   p   s   † ñ/ò)õr   ri   c                   ó4   • \ rS rSrSrS	S jrS rS rS rSr	g)
ÚNonhashableDicté   z3A dictionary-like object mapping objects to values.Nc                 óà   • Uc0  [        U5       VVs0 s H  u  p4[        U5      U_M     snnU l        g [        X5       VVs0 s H  u  pT[        U5      U_M     snnU l        g s  snnf s  snnf r	   )rS   rT   r:   Úzip)rW   ÚkeysÚvaluesrX   rY   Úks         r   rZ   ÚNonhashableDict.__init__‚   sZ   € Ø‰>Ü+4°T¬?Ô;ª?¡4 1”b˜“e˜Q’h©?Ò;ˆD�Fä+.¨tÔ+<Ô=Ò+<¡4 1”b˜“e˜Q’hÑ+<Ò=ˆD�Fùó <ùã=s   ’A$ÁA*c                 ó2   • U R                   [        U5         $ r	   ©r:   rT   ©rW   ry   s     r   r_   ÚNonhashableDict.__getitem__ˆ   s   € Ø�v‰v”b˜“e‰}Ðr   c                 ó2   • X R                   [        U5      '   g r	   r|   )rW   ry   rY   s      r   Ú__setitem__ÚNonhashableDict.__setitem__‹   s   € Ø�‰Œr�!‹uŠr   c                 ó0   • U R                   [        U5      	 g r	   r|   r}   s     r   Ú__delitem__ÚNonhashableDict.__delitem__Ž   s   € Ø�F‰F”2�a“5‰Mr   )r:   r	   )
rb   rc   rd   re   rf   rZ   r_   r€   rƒ   rg   r
   r   r   rs   rs      s   † Ù=ô>òòõr   rs   )ÚfontTools.misc.timeToolsr   Ú#fontTools.ttLib.tables.DefaultTabler   Ú	functoolsr   r"   ÚloggingÚ	getLoggerÚlogr   r   r   r    r$   r'   r+   r2   r6   r;   rN   ÚobjectrP   ri   rs   r
   r   r   Ú<module>rŒ      s„   ðõ
 2Ý <Ý Û Û ð ×ÒÐ)Ó*€òòòòò&ò%ò ò

òòòô( fô ô˜Vô ô�fõ r   