ó
    oñ:iQ$  ã                  ó®  • S SK Jr  S SKrS SKJr  S SKJrJr  S SKJ	r	J
r
JrJrJrJrJr   S SKJr  S SKJr  S SKJr  S S	KJr  S
/r\R4                  " S5      rSSS.rS\S    S3r\S 5       rSS jrSS jr S S jr!      S!S jr"S"S jr#      S#S jr$S$S jr%S%S jr&S&S jr'\" \RP                  " S5      5      S'S j5       r)g! \ a    Sr N¡f = f)(é    )ÚannotationsN)Úcache)ÚchainÚcount)ÚDictÚIterableÚIteratorÚListÚOptionalÚSetÚTuple)Úetree)ÚttLib)Ú_add_method)ÚSVGDocumentÚsubset_glyphsz^glyph(\d+)$zhttp://www.w3.org/2000/svgzhttp://www.w3.org/1999/xlink)ÚsvgÚxlinkÚ{r   z}hrefc                ó4   • [         R                  " U [        S9$ )N)Ú
namespaces)r   ÚXPathÚ
NAMESPACES)Úpaths    ÚW/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/fontTools/subset/svg.pyÚxpathr       s   € ô �;Š;�t¬
Ñ3Ð3ó    c                ój   • [        S5      " U 5       Vs0 s H  oR                  S   U_M     sn$ s  snf )Nz//svg:*[@id]Úid)r   Úattrib)ÚtreeÚels     r   Úgroup_elements_by_idr#   &   s3   € ô +0°Ô*?ÀÔ*EÓFÒ*E B�I‰I�d‰O˜RÒÑ*EÑFÐFùÒFs   ”0c                ó  • 0 nU R                  S5       Hr  nUR                  S5      S:X  a7  UR                  S5      u  p4UR                  5       nUR                  5       X'   MO  UR                  5       (       d  Mf  [        SU 35      e   U$ )NÚ;Ú:é   z Invalid CSS declaration syntax: )Úsplitr   ÚstripÚ
ValueError)Ú
style_attrÚresultÚdeclarationÚproperty_nameÚvalues        r   Úparse_css_declarationsr0   -   s‰   € ð €FØ!×'Ñ'¨Ö,ˆØ×Ñ˜SÓ! QÓ&Ø#.×#4Ñ#4°SÓ#9Ñ ˆMØ)×/Ñ/Ó1ˆMØ$)§K¡K£MˆFÓ!Ø×Ñ× Ó ÜÐ?À¸}ÐMÓNÐNñ -ð €Mr   c              #  ó”  #   • [        S5      n[        U /U" U 5      5       H¢  n[        U5      nUb  Uv •  UR                  nSU;   a%  0 [	        U5      E[        UR                  S   5      EnS HP  nXT;   d  M
  XE   nUR                  S5      (       d  M&  UR                  S5      (       d  M>  USS nU(       d   eUv •  MR     M¤     g 7f)NzŠ.//svg:*[ starts-with(@xlink:href, '#') or starts-with(@fill, 'url(#') or starts-with(@clip-path, 'url(#') or contains(@style, ':url(#') ]Ústyle)Úfillz	clip-pathzurl(#Ú)é   éÿÿÿÿ)r   r   Úhref_local_targetr    Údictr0   Ú
startswithÚendswith)r!   Ú!find_svg_elements_with_referencesr"   Úref_idÚattrsÚattrr/   s          r   Úiter_referenced_idsr?   ;   sÇ   é € ô
 ).ð	ó)Ð%ô �T�FÑ=¸dÓCÖDˆÜ" 2Ó&ˆØÑØŠLà—	‘	ˆØ�eÓØQ”t˜E“{ÐQÔ&<¸R¿Y¹YÀwÑ=OÓ&PÐQˆEÛ)ˆDØ�}Ø™�Ø×#Ñ# G×,Ó,°·±À×1DÓ1DØ" 1 R˜[�FÞ!�M˜6Ø ”Ló *ò Eùs   ‚A3CÁ9CÂCÂ-Cc                óÄ   • UnU(       aW  [        5       nU H&  nX@;  a  M
  UR                  [        X   5      5        M(     X1-  nUR                  U5        UnU(       a  MV  g g ©N)ÚsetÚupdater?   )ÚelementsÚelement_idsÚ	unvisitedÚ
referencedÚel_ids        r   Úclosure_element_idsrI   Y   s`   € ð
 €IÞ
Ü"›uˆ
ÛˆEØÓ$áØ×ÑÔ1°(±/ÓBÖCñ	 ð
 	Ñ!ˆ
Ø×Ñ˜:Ô&Øˆ	÷ Š)r   c           	     ó  • U R                   R                  S5      U;   a  g[        U  Vs/ s H  n[        X!5      PM     sn5      (       a  g[	        U 5      S:X  d   eU R                  5       nUb  UR                  U 5        gs  snf )Nr   Tr   F)r    ÚgetÚanyÚsubset_elementsÚlenÚ	getparentÚremove)r"   Úretained_idsÚeÚparents       r   rM   rM   k   su   € ð 
‡y�y‡}�}�TÓ˜lÓ*àô ±bÓ9²b°ŒO˜AÖ,±bÑ9×:Ñ:ØÜˆr‹7�a‹<Ðˆ<Ø�\‰\‹^€FØÑØ�‰�bÔØùò :s   ªBc                ó€  • [        U 5      n0 nUR                  5        Hœ  u  pE[        R                  U5      nU(       d  M#  [	        UR                  S5      5      nUR                  U5      nUb  Xx:X  a  MX  SU 3n	O,SU 3n	[        S5      n
X’;   a  U	 S[        U
5       3n	X’;   a  M  X“U'   X•R                  S'   Mž     U$ )Nr'   ÚglyphÚ.r   )
r#   ÚitemsÚGID_REÚmatchÚintÚgrouprK   r   Únextr    )r   Úglyph_index_maprD   Úid_maprH   r"   ÚmÚ	old_indexÚ	new_indexÚnew_idÚns              r   Úremap_glyph_idsrd   ~   sÉ   € ô
 $ CÓ(€HØ€FØ—^‘^Ö%‰	ˆÜ�L‰L˜ÓˆÞÙÜ˜Ÿ™ ›
“Oˆ	Ø#×'Ñ'¨	Ó2ˆ	ØÑ ØÓ%ÙØ˜Y˜KÐ(‰Fð
 ˜˜�[ˆFÜ�a“ˆAØÓ$Ø"˜8 1¤T¨!£W IÐ.�ð Õ$ð ˆu‰Ø �	‰	�$‹ñ) &ð, €Mr   c                ó¦   • [         U R                  ;   a=  U R                  [            nUR                  S5      (       a  [        U5      S:”  a  USS  $ g )NÚ#r'   )Ú
XLINK_HREFr    r9   rN   )r"   Úhrefs     r   r7   r7   ž   sC   € Ü�R—Y‘YÓØ�y‰yœÑ$ˆØ�?‰?˜3×Ñ¤C¨£I°£MØ˜˜�8ˆOØr   c                ó–   • [        S5      " U 5       H4  n[        U5      nUc   eX1;   d  M  X   nSU 3UR                  [        '   M6     g )Nz,.//svg:*[starts-with(@xlink:href, '#glyph')]rf   )r   r7   r    rg   )r   r^   r"   Úold_idrb   s        r   Úupdate_glyph_href_linksrk   ¦   sO   € äÐBÔCÀCÖHˆÜ" 2Ó&ˆØÑ!Ð!Ð!ØÕØ‘^ˆFØ&'¨ x LˆB�I‰I”jÓ!ò Ir   c              #  óÆ   #   • [        [        [        U 5      5      5      n [        U5      =p#U H  nUS-
  U:X  a  UnM  X#4v •  U=p#M     X#4v •  g ! [         a     g f = f7f)Nr'   )ÚiterÚsortedrB   r\   ÚStopIteration)ÚintsÚsorted_intsÚstartÚendÚvs        r   Úrangesru   °   st   é € ä”vœc $›iÓ(Ó)€KðÜ˜;Ó'Ð'ˆó ˆØˆq‰5�C‹<ØŠCà�,ÒØˆOˆE‘Cñ ð ˆ,Óøô ó Ùðüs'   ‚A!¡A ­$A!Á
AÁA!ÁAÁA!zSVG c           
     ó*  ^• [         c  [        S5      eUR                  nUR                  nUR                  m/ nU R
                   GH   n[        UR                  UR                  S-   5       Vs1 s H  obU   iM	     snR                  UR                  5      nU(       d  M\  [         R                  " UR                  R                  S5      [         R                  " SSSS9S9n[        U5      n	U V
s1 s H  o£U
   iM	     nn
U Vs1 s H  nSU 3iM
     nn[!        Xœ5        [#        XŒ5      (       d  Mï  UR$                  R&                  (       d  [)        UT5      n[+        X�5        [         R,                  " X�R$                  R.                  S	9R1                  S5      nU4S
 jU 5       n[3        U5       H-  u  nnUR5                  [7        UUUUR8                  5      5        M/     GM£     X@l        [;        U R
                  5      $ s  snf s  sn
f s  snf )Nz.No module named 'lxml', required to subset SVGr'   zutf-8TF)Ú	huge_treeÚremove_blank_textÚresolve_entities)ÚparserrU   )Úpretty_printc              3  ó.   >#   • U  H
  nTU   v •  M     g 7frA   © )Ú.0Úir]   s     €r   Ú	<genexpr>Ú subset_glyphs.<locals>.<genexpr>ö   s   øé € Ð5²¨1�O AÖ&²ùs   ƒ)r   ÚImportErrorÚorig_glyph_orderÚreverseOrigGlyphMapr]   ÚdocListÚrangeÚstartGlyphIDÚ
endGlyphIDÚintersectionÚglyphsÚ
fromstringÚdataÚencodeÚ	XMLParserr#   rI   rM   ÚoptionsÚretain_gidsrd   rk   ÚtostringÚ
pretty_svgÚdecoderu   Úappendr   Ú
compressedÚbool)ÚselfÚsÚglyph_orderÚrev_orig_glyph_mapÚnew_docsÚdocr   rŠ   r   rD   ÚgÚgidsrE   r^   Únew_docÚnew_gidsrr   rs   r]   s                     @r   r   r   À   sÉ  ø€ ä�}ÜÐJÓKÐKð ×/Ñ/€Kà)*×)>Ñ)>Ðà&'×&7Ñ&7€Oà"$€HØ�|�|ˆä$)¨#×*:Ñ*:¸C¿N¹NÈQÑ<NÔ$Oó
Ú$O˜q˜ŒNÑ$Oñ
ç
‰,�q—x‘xÓ
 ð 	ö áä×Òð �H‰H�O‰O˜GÓ$Ü—?’?ð
 ð #'ð "'ññ	
ˆô& (¨Ó,ˆÙ/5Ó6ªv¨! 1Ô%©vˆÐ6Ù,0Ó1ªD q˜˜q˜c“{©DˆÐ1Ü˜HÔ2ä˜s×0Ñ0Ùà�y‰y×$×$Ü$ S¨/Ó:ˆFÜ# CÔ0ä—.’. ·9±9×3GÑ3GÑH×OÑOÐPWÓXˆä5±Ó5ˆÜ  Ö*‰JˆE�3Ø�O‰OœK¨°¸¸S¿^¹^ÓLÖMô +ñU ðZ „Lä�—‘ÓÐùò]
ùò6 7ùÚ1s   Á/HÃ3HÄH)r!   úetree.ElementÚreturnúDict[str, etree.Element])r+   Ústrr¢   úDict[str, str])r!   r¡   r¢   zIterator[str])rD   r£   rE   úSet[str]r¢   ÚNone)r"   r¡   rQ   r¦   r¢   r–   )r   r¡   r]   zDict[int, int]r¢   r¥   )r"   r¡   r¢   zOptional[str])r   r¡   r^   r¥   r¢   r§   )rp   zIterable[int]r¢   zIterator[Tuple[int, int]])r¢   r–   )*Ú
__future__r   ÚreÚ	functoolsr   Ú	itertoolsr   r   Útypingr   r   r	   r
   r   r   r   Úlxmlr   r‚   Ú	fontToolsr   ÚfontTools.subset.utilr   ÚfontTools.ttLib.tables.S_V_G_r   Ú__all__ÚcompilerX   r   rg   r   r#   r0   r?   rI   rM   rd   r7   rk   ru   ÚgetTableClassr   r}   r   r   Ú<module>r´      s  ðÝ "ã 	Ý ß "ß G× GÑ GðÝõ Ý -Ý 5ð Ð
€ð 
�Š�OÓ	$€ð (Ø+ñ€
ð �*˜WÑ%Ð& fÐ-€
ð ñ4ó ð4ô
Gôô!ð<Ø&ðØ5=ðà	ôô$ð&Ø	ðØ)7ðàôô@ô1ôñ  ˆU× Ò  Ó(Ó)ó;ó *ñ;øðo ó ð ‚Eðús   ¬C	 Ã	CÃC