ó
    oñ:iC/  ã                   óT  • S SK JrJrJrJrJr  S SKJr  SSKJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJrJr  S SKrS SKJr  S SKJr  S SKr\R:                  " \5      rSr \RB                  " \" S	\S
/5      5      r"\" S\S
/5      r#\RB                  " \#5      r$\RB                  " S5      r%Sr&SRO                  \&RQ                  5       5      r&\RB                  " \&5      r)\RB                  " \" S\S/5      5      r* " S S\+5      r, " S S\+5      r- " S S\.5      r/ " S S\	5      r0S r1SS jr2g)é    )ÚbytechrÚbyteordÚ	bytesjoinÚtobytesÚtostr)Úeexecé   )ÚPSOperatorsÚps_StandardEncodingÚps_arrayÚ
ps_booleanÚps_dictÚ
ps_integerÚ
ps_literalÚps_markÚps_nameÚps_operatorÚps_procedureÚps_procmarkÚps_realÚ	ps_stringN)ÚCallable)Ú
whitespaces	   ()<>[]{}%ó   [s   ]*s   [^][(){}<>/%s   %[^
]*sf   
	\(
		(
			(
				[^()]*   \   [()]
			)
			|
			(
				[^()]*  \(   [^()]*  \)
			)
		)*
		[^()]*
	\)
ó    s   <[s   0-9A-Fa-f]*>c                   ó   • \ rS rSrSrg)ÚPSTokenErroré7   © N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   r   ÚW/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/fontTools/misc/psLib.pyr   r   7   ó   † Úr   r   c                   ó   • \ rS rSrSrg)ÚPSErroré;   r   Nr    r   r   r&   r)   r)   ;   r'   r   r)   c                   óÀ   • \ rS rSrSS jrSS jrS r\\\	R                  \R                  \R                  \R                  4S jr\R                  4S jrS rS rS	rg
)ÚPSTokenizeré?   c                 ón   • [        U5      nXl        [        U5      U l        SU l        SU l        X l        g )Nr   F)r   ÚbufÚlenÚposÚclosedÚencoding)Úselfr/   r3   s      r&   Ú__init__ÚPSTokenizer.__init__@   s.   € ä�c‹lˆØŒÜ�s“8ˆŒØˆŒØˆŒØ �r   c                 óî   • U R                   (       a  [        S5      eUb  US:  a  U R                  nO#[        U R                  U-   U R                  5      nU R
                  U R                  U nX l        U$ )z¤Read at most 'n' bytes from the buffer, or less if the read
hits EOF before obtaining 'n' bytes.
If 'n' is negative or omitted, read all data until EOF is reached.
zI/O operation on closed filer   )r2   Ú
ValueErrorr0   Úminr1   r/   )r4   ÚnÚnewposÚrs       r&   ÚreadÚPSTokenizer.readI   sa   € ð
 �;�;ÜÐ;Ó<Ð<Ø‰9˜˜A›Ø—X‘X‰Fä˜Ÿ™ A™ t§x¡xÓ0ˆFØ�H‰H�T—X‘X Ð'ˆØŒØˆr   c                 ó>   • U R                   (       d  SU l         U ?U ?g g )NT)r2   r/   r1   ©r4   s    r&   ÚcloseÚPSTokenizer.closeX   s   € Ø�{�{ØˆDŒKØ�˜$™(ð r   c                 óî  • U R                  5         U R                  U R                  :¼  a  gU R                  nU R                  n[	        [        X‡   5      5      n	X’;   a®  U	S;   a  Sn
U	nOèU	S:X  a  Sn
U" X‡5      R                  5       u  pÍX‡U nOÃU	S:X  a2  Sn
U" X‡5      nUc  [        SU-  5      eUR                  5       u  pÍX‡U nO‹U	S	:X  a2  S
n
U" X‡5      nUc  [        SU-  5      eUR                  5       u  pÍX‡U nOS[        SU-  5      eU	S:X  a  Sn
U" X‡S-   5      nO
Sn
U" X‡5      nUc  [        SU-  5      eUR                  5       u  pÍX‡U nXq" U5      -   U l        [        X°R                  S9nX«4$ )N)NNs   {}[]Ú
do_specialó   %Ú
do_commentó   (Ú	do_stringzbad string at character %dó   <Údo_hexstringzbad hexstring at character %dzbad token at character %dó   /Ú
do_literalr	   Ú ©r3   )
Ú	skipwhiter1   r0   r/   r   r   Úspanr   r   r3   )r4   r0   Ú
ps_specialÚstringmatchÚhexstringmatchÚcommentmatchÚendmatchr1   r/   ÚcharÚ	tokentypeÚtokenÚ_ÚnextposÚms                  r&   ÚgetnexttokenÚPSTokenizer.getnexttoken]   sš  € ð 	�‰ÔØ�8‰8�t—x‘xÓØØ�h‰hˆØ�h‰hˆÜ”w˜s™xÓ(Ó)ˆØÓØ�w‹Ø(�	Ø‘Ø˜“Ø(�	Ù)¨#Ó3×8Ñ8Ó:‘
�Ø Ð(‘Ø˜“Ø'�	Ù Ó)�Ø‘9Ü&Ð'CÀcÑ'IÓJÐJØŸV™V›X‘
�Ø Ð(‘Ø˜“Ø*�	Ù" 3Ó,�Ø‘9Ü&Ð'FÈÑ'LÓMÐMØŸV™V›X‘
�Ø Ð(‘ä"Ð#>ÀÑ#DÓEÐEà�t‹|Ø(�	Ù˜S¨¡'Ó*‘à�	Ù˜SÓ&�Ø‰yÜ"Ð#>ÀÑ#DÓEÐEØŸ™›‰JˆAØ˜GÐ$ˆEØ˜˜U›Ñ#ˆŒÜ�e§m¡mÑ4ˆØÐÐr   c                 ój   • U" U R                   U R                  5      R                  5       u  p#X0l        g ©N)r/   r1   rP   )r4   Ú
whitematchrY   rZ   s       r&   rO   ÚPSTokenizer.skipwhite”   s&   € Ù §¡¨$¯(©(Ó3×8Ñ8Ó:‰
ˆØ�r   c                 óü   • U R                   S-   U l         U R                  U R                   S  U l        [        R                  " U R                  S5      u  U l        n[        U R                  5      U l        SU l         g )Nr	   iqÙ  é   )r1   r/   Údirtybufr   Údecryptr0   )r4   ÚRs     r&   Ú
starteexecÚPSTokenizer.starteexec˜   sW   € Ø—8‘8˜a‘<ˆŒØŸ™ §¡ Ð,ˆŒÜ—m’m D§M¡M°5Ó9‰ˆŒ�!Ü�t—x‘x“=ˆŒØˆ�r   c                 óN   • [        U S5      (       d  g U R                  U l        U ?g )Nrd   )Úhasattrrd   r/   r@   s    r&   Ú	stopeexecÚPSTokenizer.stopeexecŸ   s"   € Ü�t˜Z×(Ñ(ØØ—=‘=ˆŒØ‰Mr   )r/   r2   rd   r3   r0   r1   N)r   Úascii)éÿÿÿÿ)r!   r"   r#   r$   r5   r=   rA   r0   rQ   ÚstringREÚmatchÚhexstringREÚ	commentREÚendofthingREr\   ÚskipwhiteRErO   rg   rk   r%   r   r   r&   r,   r,   ?   sY   † ô!ôò#ð ØØ—N‘NØ"×(Ñ(Ø—_‘_Ø×#Ñ#ô5 ðn $/×#4Ñ#4ô òõr   r,   c                   ó’   • \ rS rSrSS jrS rS r\4S jrS r	S r
S r\\\\\4S	 jrS
 rS rS rS rS rS rS rS rS rSrg)ÚPSInterpreteré¦   c                 ó‚   • 0 n0 nXl         X#/U l        / U l        SU l        [	        5       U l        U R                  5         g )Nr   )r3   Ú	dictstackÚstackÚ	proclevelr   ÚprocmarkÚfillsystemdict)r4   r3   Ú
systemdictÚuserdicts       r&   r5   ÚPSInterpreter.__init__§   s>   € Øˆ
ØˆØ ŒØ$Ð/ˆŒØˆŒ
ØˆŒÜ#›ˆŒØ×ÑÕr   c                 ó4  • U R                   S   n[        5       =US'   =US'   U l        [        SU R                  5      US'   [        S5      US'   [        S5      US'   [        [        5      US'   [        0 5      US	'   U R                  XR                  5        g )
Nr   Ú[ÚmarkÚ]r	   ÚtrueÚfalseÚStandardEncodingÚFontDirectory)ry   r   rƒ   r   Údo_makearrayr   r   r   r   ÚsuckoperatorsÚ	__class__)r4   r~   s     r&   r}   ÚPSInterpreter.fillsystemdict±   s�   € Ø—^‘^ AÑ&ˆ
Ü;B»9ÐDˆ
�3‰ÐD˜* VÑ,¨t¬yÜ% c¨4×+<Ñ+<Ó=ˆ
�3‰Ü'¨›]ˆ
�6ÑÜ(¨›mˆ
�7ÑÜ)1Ô2EÓ)Fˆ
Ð%Ñ&Ü&-¨b£kˆ
�?Ñ#Ø×Ñ˜:§~¡~Õ6r   c                 óî   • [        U5       HB  n[        X5      n[        U[        5      (       d  M%  US S S:X  d  M0  USS  n[	        X45      X'   MD     UR
                   H  nU R                  X5        M     g )Né   Úps_)ÚdirÚgetattrÚ
isinstancer   r   Ú	__bases__rŠ   )r4   r~   ÚklassÚnameÚattrÚ	baseclasss         r&   rŠ   ÚPSInterpreter.suckoperators»   sj   € Ü˜–JˆDÜ˜4Ó&ˆDÜ˜$¤×)Ó)¨d°2°A¨h¸%Õ.?Ø˜A˜B�x�Ü#.¨tÓ#:�
Ó ñ	 ð
 ŸœˆIØ×Ñ˜zÖ5ò )r   c           	      óŒ  • [        XR                  5      =o0l        UR                  nU R                  nU R
                  n  U" 5       u  pxU(       d  O-U(       a  U" X5      n	U	" U5      n
OU" U5      n
U
b  U" U
5        M>  UR                  5         S U l        g !   U R                  b›  [        R                  SU R                  R                  U R                  R                  S-
  U R                  R                   U R                  R                  U R                  R                  U R                  R                  S-    5        e = f)Nz/ps error:
- - - - - - -
%s
>>>
%s
- - - - - - -é2   )r,   r3   Ú	tokenizerr\   Údo_tokenÚhandle_objectrA   ÚlogÚdebugr/   r1   )r4   Údatar‘   r›   r\   rœ   r�   rW   rX   ÚhandlerÚobjects              r&   Ú	interpretÚPSInterpreter.interpretÄ   s  € Ü%0°·}±}Ó%EÐEˆ	”NØ ×-Ñ-ˆØ—=‘=ˆØ×*Ñ*ˆð	ØÙ#/£>Ñ �	ÞØÞÙ% dÓ6�GÙ$ U›^‘Fá% e›_�FØÑ%Ù! &Ô)ñ ð �O‰OÔØ!ˆD�Nøð	Ø�~‰~Ñ)Ü—	‘	ð$ð —N‘N×&Ñ& t§~¡~×'9Ñ'9¸BÑ'>ÀÇÁ×ASÑASÐTØ—N‘N×&Ñ& t§~¡~×'9Ñ'9¸D¿N¹N×<NÑ<NÐQSÑ<SÐTô	ð ús   ÁAB ÂB+Ec                 óŒ  • U R                   (       d¢  UR                  (       d‘  UR                  S:X  d�  UR                  S:w  a  U R                  UR                  5      nUR                  (       a  U R                  U5        g UR                  S:X  a  U R                  U5        g UR                  5         g U R                  U5        g )NÚproceduretypeÚoperatortype)r{   ÚliteralÚtypeÚresolve_nameÚvalueÚpushÚcall_procedureÚfunction©r4   r¢   s     r&   r�   ÚPSInterpreter.handle_objectå   s}   € Ø—— &§.§.°F·K±KÀ?Ó4RØ�{‰{˜nÓ,Ø×*Ñ*¨6¯<©<Ó8�Ø�~�~Ø—	‘	˜&Õ!à—;‘; /Ó1Ø×'Ñ'¨Õ/à—O‘OÕ%à�I‰I�fÕr   c                 óR   • U R                   nUR                   H  nU" U5        M     g r_   )r�   r«   )r4   Úprocr�   Úitems       r&   r­   ÚPSInterpreter.call_procedureó   s#   € Ø×*Ñ*ˆØ—J”JˆDÙ˜$Öò r   c                 óª   • U R                   n[        [        U5      S-
  SS5       H  nXU   ;   d  M  X#   U   s  $    [        S[	        U5      -   5      e)Nr	   rn   zname error: )ry   Úranger0   r)   Ústr)r4   r•   ry   Úis       r&   rª   ÚPSInterpreter.resolve_nameø   sT   € Ø—N‘Nˆ	Ü”s˜9“~¨Ñ)¨2¨rÖ2ˆAØ ‘|Õ#Ø ‘| DÑ)Ò)ñ 3ô �n¤s¨4£yÑ0Ó1Ð1r   c                 óp  •  U" U5      nU" U5      $ ! [         [        4 a“     U" U5      nU" U5      s $ ! [         [        4 al    SU;   aY  UR                  S5      n U" US U 5      n	U" XS-   S  U	5      nU" U5      s s $ ! [         [        4 a    U" U5      s s s $ f = fU" U5      s s $ f = ff = f)NÚ#r	   )r8   ÚOverflowErrorÚfind)
r4   rX   ÚintÚfloatr   r   r   ÚnumÚhashposÚbases
             r&   rœ   ÚPSInterpreter.do_tokenÿ   sØ   € ð	#Ù�e“*ˆCñ& ˜c“?Ð"øô% œMÐ*ó 	$ð$Ù˜E“l�ñ ˜s“|Ò#øô ¤Ð.ó *Ø˜%“<Ø#Ÿj™j¨›o�Gð/Ù" 5¨¨' ?Ó3˜Ù! %°!©¨Ð"6¸Ó=˜ñ  *¨#›Ô.øô '¬Ð6ó .Ù& u›~Ö-ð.úñ
 # 5›>Ô)ð*úð	$úsY   ‚ ’B5£5«B5µ'B1ÁBÁ6B1Á>B5ÂB!ÂB1ÂB5Â B!Â!B1Â,B5Â0B1Â1B5c                 ó   • g r_   r   ©r4   rX   s     r&   rF   ÚPSInterpreter.do_comment  s   € Ør   c                 ó   • [        USS  5      $ )Nr	   )r   rÅ   s     r&   rL   ÚPSInterpreter.do_literal!  s   € Ü˜%  ˜)Ó$Ð$r   c                 ó   • [        USS 5      $ )Nr	   rn   )r   rÅ   s     r&   rH   ÚPSInterpreter.do_string$  s   € Ü˜˜q ˜Ó%Ð%r   c                 ó>  • SR                  USS R                  5       5      n[        U5      S-  (       a  US-   n/ n[        S[        U5      S5       H,  nUR	                  [        [        X$US-    S5      5      5        M.     SR                  U5      n[        U5      $ )NrM   r	   rn   é   Ú0r   é   )ÚjoinÚsplitr0   r¶   ÚappendÚchrr¾   r   )r4   rX   ÚhexStrÚcleanstrr¸   s        r&   rJ   ÚPSInterpreter.do_hexstring'  s‰   € Ø—‘˜˜q ˜×*Ñ*Ó,Ó-ˆÜˆv‹;˜�?Ø˜c‘\ˆFØˆÜ�qœ#˜f›+ qÖ)ˆAØ�O‰OœC¤ F¨q°1©uÐ$5°rÓ :Ó;Ö<ñ *à—7‘7˜8Ó$ˆÜ˜Ó"Ð"r   c                 ó€  • US:X  a   U R                   S-   U l         U R                  $ US:X  ae  / n U R                  5       nX0R                  :X  a  OUR                  U5        M3  U R                   S-
  U l         UR	                  5         [        U5      $ US:X  a  U R                  $ US:X  a  [        S5      $ [        S5      e)NÚ{r	   Ú}r‚   r„   zhuh?)	r{   r|   ÚpoprÑ   Úreverser   rƒ   r   r   )r4   rX   r²   Ú	topobjects       r&   rD   ÚPSInterpreter.do_special1  s®   € Ø�C‹<Ø!Ÿ^™^¨aÑ/ˆDŒNØ—=‘=Ð Ø�c‹\ØˆDØØ ŸH™H›J�	Ø§¡Ó-ØØ—‘˜IÔ&ñ	 ð
 "Ÿ^™^¨aÑ/ˆDŒNØ�L‰LŒNÜ Ó%Ð%Ø�c‹\Ø—9‘9ÐØ�c‹\Ü˜3“<Ðä˜vÓ&Ð&r   c                 ó:   • U R                   R                  U5        g r_   )rz   rÑ   r¯   s     r&   r¬   ÚPSInterpreter.pushF  s   € Ø�
‰
×Ñ˜&Õ!r   c                 óÌ   • U R                   nU(       d  [        S5      eUS   nU(       a6  UR                  U;  a&  [        S[        U5      < SUR                  < 35      eUS	 U$ )Nzstack underflowrn   ztypecheck, expected z, found )rz   r)   r©   Úrepr)r4   Útypesrz   r¢   s       r&   rÙ   ÚPSInterpreter.popI  s]   € Ø—
‘
ˆÞÜÐ+Ó,Ð,Ø�r‘ˆÞØ�{‰{ %Ó'ÝÜ:>¸u¾+ÀvÇ{Ã{ÐSóð ð �"ˆIØˆr   c                 óÄ   • / n U R                  5       nX R                  :X  a  OUR                  U5        M3  UR                  5         U R	                  [        U5      5        g r_   )rÙ   rƒ   rÑ   rÚ   r¬   r   )r4   ÚarrayrÛ   s      r&   r‰   ÚPSInterpreter.do_makearrayV  sN   € ØˆØØŸ™›
ˆIØŸI™IÓ%ØØ�L‰L˜Ô#ñ	 ð
 	�‰ŒØ�	‰	”(˜5“/Õ"r   c                 ó   • U ? U ?g)zRemove circular references.N)rz   ry   r@   s    r&   rA   ÚPSInterpreter.close`  s   € àˆJØ‰Nr   )ry   r3   rƒ   r{   r|   rz   r›   N©rm   )r!   r"   r#   r$   r5   r}   rŠ   r‘   r£   r�   r­   rª   r¾   r¿   r   r   r   rœ   rF   rL   rH   rJ   rD   r¬   rÙ   r‰   rA   r%   r   r   r&   rv   rv   ¦   sn   † ôò7ò6ð '.ô òBò ò
2ð ØØØØô#ò>ò%ò&ò#ò'ò*"òò#õr   rv   c                 óÂ  • [        U R                  5      nU[        :X  a4  0 nU R                  R                  5        H  u  p4[	        U5      X#'   M     U$ U[
        :X  au  S /[        U R                  5      -  n[        [        U R                  5      5       H  n[	        U R                  U   5      X%'   M     U R                   S:X  a  [        U5      nU$ U R                  nU$ )Nr¦   )	r©   r«   ÚdictÚitemsÚunpack_itemÚlistr0   r¶   Útuple)r³   ÚtpÚnewitemÚkeyr«   r¸   s         r&   rì   rì   f  s¼   € Ü	ˆd�j‰jÓ	€BØ	ŒTƒzØˆØŸ*™*×*Ñ*Ö,‰JˆCÜ& uÓ-ˆG‹Lñ -ð €Nð 
Œt‹Ø�&œ3˜tŸz™z›?Ñ*ˆÜ”s˜4Ÿ:™:“Ö'ˆAÜ$ T§Z¡Z°¡]Ó3ˆG‹Jñ (à�9‰9˜Ó'Ü˜G“nˆGð €Nð —*‘*ˆØ€Nr   c                 óþ  • [         R                  " SU 5      nU(       a"  UR                  S5      nUR                  5       nOS n[	        US9nUR                  S5        UR                  U 5        UR                  S   S   R                  nX5;   a  XS   nOP[        UR                  5       5      n[        U5      S:”  a  UR                  S5        UR                  5         XWS      nUR                  5         [        U5      $ )Ns    /FontName\s+/([^ \t\n\r]+)\s+defr	   rN   sC   /Helvetica 4 dict dup /Encoding StandardEncoding put definefont popr   rˆ   Ú	Helvetica)ÚreÚsearchÚgroupÚdecoderv   r£   ry   r«   rí   Úkeysr0   ÚremoveÚsortrA   rì   )r    r3   r[   ÚfontNameÚinterpreterÚfontdirÚrawfontÚ	fontNamess           r&   Úsuckfontr   w  sá   € Ü
�	Š	Ð6¸Ó=€AÞØ—7‘7˜1“:ˆØ—?‘?Ó$‰àˆÜ¨Ñ2€KØ×ÑØNôð ×Ñ˜$ÔØ×#Ñ# AÑ& Ñ7×=Ñ=€GØÓØÑ#‰ô ˜Ÿ™›Ó(ˆ	Üˆy‹>˜AÓØ×Ñ˜[Ô)Ø�‰ÔØ A™,Ñ'ˆØ×ÑÔÜ�wÓÐr   rè   )3ÚfontTools.misc.textToolsr   r   r   r   r   ÚfontTools.miscr   ÚpsOperatorsr
   r   r   r   r   r   r   r   r   r   r   r   r   r   rô   Úcollections.abcr   Ústringr   ÚloggingÚ	getLoggerr!   rž   rQ   Úcompilert   ÚendofthingPatrs   rr   Ú	stringPatrÏ   rÐ   ro   rq   Ú	Exceptionr   r)   r¢   r,   rv   rì   r   r   r   r&   Ú<module>r     s  ðß PÕ PÝ  ÷÷ ÷ ÷ ó  
Ý $Ý Û ð ×Ò˜Ó!€à€
à�jŠj™ D¨*°eÐ#<Ó=Ó>€Ù˜?¨J¸Ð>Ó?€Ø�zŠz˜-Ó(€Ø�JŠJ�|Ó$€	ð€	ð �H‰H�Y—_‘_Ó&Ó'€	Ø�:Š:�iÓ €à�jŠj™ E¨:°Ð#GÓHÓI€ô	�9ô 	ô	ˆiô 	ôd�&ô dôN}�Kô }ò@õ" r   