§
    §‘ÚjíS  ã                   ód  — U d dl mZ d dl mZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZmZ dd	lmZmZ dd
lmZmZ ddlmZ ddlmZmZmZmZmZ ddlmZ i dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d“d!d“d"d“d#d“dd$d$ddd%œ¥Z e!e"e"f         e#d&<   d'ed(e$ee"e!e%e"f         f         e!eef         f         fd)„Z&d'ed(ee"e!e%e"f         f         fd*„Z'd'ed(e$e!eef         e(e%         f         fd+„Z)d'ed(e*fd,„Z+d-e*d.e,d/e,d0ee$e%e%f         d1f         d2e!eef         d3e(e%         d(e$e,e,ee$e%e%f         d1f         f         fd4„Z-d5Z.d6Z/d7Z0e/d8z  Z1e0d8z  Z2d9e%d(d1fd:„Z3d;e*d<e%d(d1fd=„Z4d2e!eef         d>e%d(e"fd?„Z5d-e*d2e!eef         d3e(e%         d0ee$e%e%f         d1f         d(ee$e%e%f         d1f         f
d@„Z6d-e*d2e!eef         d3e(e%         d(d1fdA„Z7dBe"d(ee"d1f         fdC„Z8dDedEe*dFee*e!eef         e(e%         ge$e!eef         e(e%         f         f         d2e!eef         d3e(e%         d(e$e!eef         e(e%         f         fdG„Z9dEe*d2e!eef         d3e(e%         d(e$e!eef         e(e%         f         fdH„Z:dEe*d2e!eef         d3e(e%         d(e$e!eef         e(e%         f         fdI„Z;d1S )Jé    )ÚError)Ú	unhexlify)ÚCallable)Úpartial)Úsha256)ÚBytesIO)ÚAnyÚUnionÚcasté   )Úadobe_glyphsÚcharset_encoding)Úlogger_errorÚlogger_warning)ÚLimitReachedError)ÚArrayObjectÚDecodedStreamObjectÚDictionaryObjectÚ
NullObjectÚStreamObject)Ú_FontFileCharacterMapz/Identity-Hú	utf-16-bez/Identity-Vz	/GB-EUC-HÚgbkz	/GB-EUC-Vz/GBpc-EUC-HÚgb2312z/GBpc-EUC-Vz
/GBK-EUC-Hz
/GBK-EUC-Vz/GBK2K-HÚgb18030z/GBK2K-Vz
/ETen-B5-HÚcp950z
/ETen-B5-Vz/ETenms-B5-Hz/ETenms-B5-Vz/UniCNS-UTF16-Hz/UniCNS-UTF16-Vz/UniGB-UTF16-HÚcp932)z/UniGB-UTF16-Vz/90ms-RKSJ-Hz/90ms-RKSJ-Vz/UniJIS-UTF16-Hz/UniJIS-UTF16-VÚ_predefined_cmapÚftÚreturnc                 ó°   — t          | ¦  «        }t          | ¦  «        \  }}t          |t          ¦  «        r|D ]}|dk    rt	          |¦  «        ||<   Œ||fS )Néÿ   )Ú_parse_encodingÚ_parse_to_unicodeÚ
isinstanceÚdictÚchr)r   ÚencodingÚmap_dictÚ	int_entryÚxs        ú}/Users/tedpeters/Documents/Projects/Claude Projects/TPC Houses/house-viewer/.venv/lib/python3.11/site-packages/pypdf/_cmap.pyÚget_encodingr-   4   sj   € õ ˜rÑ"Ô"€HÝ+¨BÑ/Ô/Ñ€Hˆiõ �(�DÑ!Ô!ð %Øð 	%ð 	%ˆAØ�CŠxˆxÝ! !™fœf�˜‘øà�XÐÐó    c                 ó  — g }d| vr©d| v rpt          t          | d         ¦  «        t          v rNt          t	          t          d¦  «        t          t          t          | d         ¦  «                 ¦  «        ¦  «        S t          t	          t          d¦  «        t          d         ¦  «        ¦  «        S t          t          t          t          t          f         | d          	                    ¦   «         ¦  «        }t          |t          ¦  «        r¼	 |t          v r t          |                              ¦   «         }n-|t          v rt          |         }nd|v rd}nt          d¦  «        ‚�n# t          $ rV |                      dd	¦  «        d
k    rdnt          d                              ¦   «         }t          dt           ||¬¦  «         Y n¼w xY wt          |t          ¦  «        r„d|v r€	 t          t          t          |d         ¦  «                                      ¦   «         }ne# t          $ r9 t          dt           |¬¦  «         t          d                              ¦   «         }Y n#w xY wt          d                              ¦   «         }t          |t          ¦  «        r¶d|v r²d}|d          	                    ¦   «         }t          |t"          ¦  «        s%t%          dt           |¬¦  «         t#          ¦   «         }|D ]Y}t          |t&          ¦  «        r|}Œ	 |t)          |¦  «        k     rt*          |         ||<   n# t          $ r |||<   Y nw xY w|dz  }ŒZt          |t,          ¦  «        r*t          t	          t          d¦  «        |¦  «        ¦  «        }|S )Nz	/Encodingz	/BaseFonté   z/StandardEncodingz-UCS2-r   z	not foundú/SubtypeÚ z/Type0zSAdvanced encoding %(encoding)s not implemented yet, using %(new_encoding)s instead.)Úsourcer(   Únew_encodingz/BaseEncodingz2Advanced encoding %(encoding)s not implemented yet)r3   r(   z/Differencesr   z;Font encoding differences are not an array: %(differences)s)r3   Údifferencesr   )r   Ústrr   r&   ÚzipÚranger
   r   r   Ú
get_objectr%   Úcopyr   Ú	ExceptionÚgetr   Ú__name__r   r   ÚintÚlenr   Úlist)r   r(   Úencr+   r5   Úos         r,   r#   r#   F   sµ  € ð 79€Hð ˜"ÐÐØ˜"ÐÐ¥¥c¨2¨k¬?Ñ!;Ô!;Õ?OÐ!OÐ!OåÝ•E˜#‘J”JÕ 0µµc¸2¸k¼?Ñ1KÔ1KÔ LÑMÔMñô ð õ Ý•�c‘
”
Õ,Ð-@ÔAÑBÔBñ
ô 
ð 	
õ 59Ý�cÕ#¥ZÐ/Ô0°"°[´/×2LÒ2LÑ2NÔ2Nñ5ô 5€Cõ �#•sÑÔð  @ð	ð Õ&Ð&Ð&Ý+¨CÔ0×5Ò5Ñ7Ô7��ØÕ(Ð(Ð(Ý+¨CÔ0��Ø˜S��Ø&��å Ñ,Ô,Ð,ùøÝð 		ð 		ð 		à!Ÿvšv j°"Ñ5Ô5¸ÒAÐA��ÕGWÐXkÔGl×GqÒGqÑGsÔGsð õ ØeÝØØ%ð	ñ ô ð ð ð ð			øøøõ 
�CÕ)Ñ	*Ô	*ð 
@¨À#Ð/EÐ/Eð	DÝ'­­S°#°oÔ2FÑ(GÔ(GÔH×MÒMÑOÔOˆHˆHøÝð 	Dð 	Dð 	DÝØDÝ¨(ðñ ô ð õ (Ð(;Ô<×AÒAÑCÔCˆHˆHˆHð	Døøøõ $Ð$7Ô8×=Ò=Ñ?Ô?ˆÝ�#Õ'Ñ(Ô(ð ¨^¸sÐ-BÐ-BØˆà˜.Ô)×4Ò4Ñ6Ô6ˆÝ˜+¥{Ñ3Ô3ð 	(ÝØMÝØ'ðñ ô ð õ
 &™-œ-ˆKØð 		ð 		ˆAÝ˜!�SÑ!Ô!ð Ø��ð$Ø�3˜x™=œ=Ò(Ð(Ý&2°1¤o˜ ™øøÝ ð $ð $ð $Ø"#�H˜Q‘K�K�Kð$øøøà�Q‘��Ý�(�DÑ!Ô!ð 3Ý��E #™JœJ¨Ñ1Ô1Ñ2Ô2ˆØ€Os9   ÄAE# Å#AGÇGÇ 8H ÈA IÉIÌ
#L.Ì.M Ì?M c           	      ó¾  — ddl m} i }g }d| vrÞ|                      dd¦  «        dk    rÀ|                      d¦  «        }|s||fS dd	„ t          fd
d„ t          ff}|D ]ˆ\  }}}||v r~t          ||         x}	t          ¦  «        ra ||	¦  «        rV|d
k    r|st          dt          | ¬¦  «         ||fc S |	 	                    ¦   «         }
|
s||fc S t          |	|
|||¦  «        c S Œ‰||fS i g fS d}d}d }t          | ¦  «        }|                     d¦  «        D ]-}t          |                     d¦  «        |||||¦  «        \  }}}Œ.|                     dd ¦  «         ||fS )Nr   )ÚHAS_FONTTOOLSú
/ToUnicoder1   r2   z/Type1z/FontDescriptorz	/FontFilec                 ó   — dS )NT© )Ú_s    r,   ú<lambda>z#_parse_to_unicode.<locals>.<lambda>¯   s   € ˜d€ r.   z
/FontFile3c                 ó4   — |                       d¦  «        dk    S )Nr1   z/Type1C)r<   )Ústreams    r,   rI   z#_parse_to_unicode.<locals>.<lambda>µ   s   €  6§:¢:¨jÑ#9Ô#9¸YÒ#F€ r.   z¸fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary %(ft)s, but is not installed. Consider installing fontTools if you encounter encoding problems.)r3   r   Fó   
s    	éÿÿÿÿ)Úgeneric._fontrD   r<   Ú*_derive_character_map_from_type1_font_fileÚ._derive_character_map_from_cff_type1_font_filer%   r   r   r=   Úget_dataÚ$_derive_character_map_from_font_fileÚ
prepare_cmÚsplitÚprocess_cm_lineÚstripÚpop)r   rD   r)   r*   Úfont_descriptorÚfont_file_handlersÚ	font_fileÚ	conditionÚfont_file_processorÚfont_file_dictÚfont_file_dataÚ
process_rgÚprocess_charÚmultiline_rgÚcmÚlines                   r,   r$   r$   —   s1  € ð -Ð,Ð,Ð,Ð,Ð,ð  "€Hð €Ià˜2ÐÐØ�6Š6�*˜bÑ!Ô! XÒ-Ð-Ø ŸfšfÐ%6Ñ7Ô7ˆOØ"ð +Ø Ð*Ð*ð  Ø"�NÝ>ðð !ØFÐFÝBðð"Ðð >Pð ð Ñ9�	˜9Ð&9à Ð0Ð0Ý°ÀÔ1KÐK˜~Í\ÑZÔZð 1à�I˜nÑ-Ô-ð 1ð ! LÒ0Ð0¸Ð0Ý&ð!?õ $,Ø!ðñ ô ð ð  (¨Ð2Ð2Ð2Ð2à%3×%<Ò%<Ñ%>Ô%>�NØ)ð 3Ø'¨Ð2Ð2Ð2Ð2å?Ø&¨Ð8KÈXÐW`ñô ð ð ð øð ˜YÐ&Ð&à�2ˆvˆà€JØ€Lð 	ð õ 
�B‰Œ€BØ—’˜‘”ð 
ð 
ˆÝ1@Ø�JŠJ�vÑÔØØØØØñ2
ô 2
Ñ.ˆ
�L , ,ð ‡L‚L��TÑÔÐà�YÐÐr.   c                 óè  — | d         }t          |t          ¦  «        r.t          t          | d         ¦  «                             ¦   «         }nd}t          |t
          ¦  «        r|                     ¦   «         }|                     ¦   «                              dd¦  «                             dd¦  «                             dd¦  «                             d	d
¦  «                             dd¦  «                             dd¦  «        }| 	                    d¦  «        }t          t          |¦  «        ¦  «        D ]l}||                              d¦  «        }|dk    rI|dk    rd}n$||         d |…                              dd¦  «        }|dz   ||         |dz   d …         z   ||<   Œmd                     |¦  «                             dd¦  «                             dd¦  «                             dd¦  «        }|S )NrE   s,   beginbfrange
<0000> <0001> <0000>
endbfrangeó   beginbfchars   
beginbfchar
ó	   endbfchars   
endbfchar
ó   beginbfranges   
beginbfrange
ó
   endbfranges   
endbfrange
s   <<s   
{
s   >>s   
}
ó   <ó   >r   ó   .ó    r.   r   ó   [s    [ ó   ]s    ]
 ó   rL   )r%   r   r   r   rQ   r6   ÚencoderV   ÚreplacerT   r8   r?   ÚfindÚjoin)r   Úturb   ÚllÚiÚjÚcontents          r,   rS   rS   ì   s½  € Ø	ˆLÔ	€Bå�"•lÑ#Ô#ð ?ÝÕ% r¨,Ô'7Ñ8Ô8×AÒAÑCÔCˆˆð ?ˆÝ�"•cÑÔð Ø�YŠY‰[Œ[ˆð 	�Š‰
Œ
ß	Š�Ð!3Ñ	4Ô	4ß	Š�Ð/Ñ	0Ô	0ß	Š�Ð"5Ñ	6Ô	6ß	Š�Ð 1Ñ	2Ô	2ß	Š�˜Ñ	!Ô	!ß	Š�˜Ñ	!Ô	!ð ð 
�Š�$‰Œ€BÝ•3�r‘7”7‰^Œ^ð 	4ð 	4ˆØˆqŒE�JŠJ�tÑÔˆØ�Š6ˆ6Ø�AŠvˆvð ��à˜Qœ%   œ)×+Ò+¨D°#Ñ6Ô6�Ø˜d‘N R¨¤U¨1¨q©5¨7¨7¤^Ñ3ˆBˆq‰Eøà	�Š�2‰Œß	Š��vÑ	Ô	ß	Š��xÑ	 Ô	 ß	Š�˜Ñ	Ô	ð	 ð €Ir.   rc   r_   r`   ra   Nr)   r*   c                 ó¾  — | dk    s| d         dk    r|||fS |                       dd¦  «        } d| v rd}n¥d| v rd	}nžd
| v rd}n—d| v rd	}n�|rJ	 t          | |||¦  «        }nz# t          t          f$ r"}t	          dt
          | |¬¦  «         Y d }~nLd }~ww xY w|rB	 t          | ||¦  «         n/# t          $ r"}t	          dt
          | |¬¦  «         Y d }~nd }~ww xY w|||fS )Nr.   r   é%   ó   	rl   rg   Trh   Fre   rf   z(Skipping broken line %(line)r: %(error)s)r3   rc   Úerror)rq   Úparse_bfrangeÚ
ValueErrorÚ
IndexErrorr   r=   Úparse_bfchar)rc   r_   r`   ra   r)   r*   r|   s          r,   rU   rU     ss  € ð ˆs‚{€{�d˜1”g ’m�mØ˜<¨Ð5Ð5Ø�<Š<˜˜tÑ$Ô$€DØ˜$ÐÐØˆ
ˆ
Ø	˜$Ð	Ð	Øˆ
ˆ
Ø	˜4Ð	Ð	ØˆˆØ	˜Ð	Ð	ØˆˆØ	ð 	pð	pÝ(¨¨x¸ÀLÑQÔQˆLˆLøÝ�JÐ'ð 	pð 	pð 	pÝÐEÍhÐ]aÐinÐoÑoÔoÐoÐoÐoÐoÐoÐoøøøøð	pøøøà	ð pð	pÝ˜˜x¨Ñ3Ô3Ð3Ð3øÝð 	pð 	pð 	pÝÐEÍhÐ]aÐinÐoÑoÔoÐoÐoÐoÐoÐoÐoøøøøð	pøøøà�| \Ð1Ð1s0   ÁA  Á BÁ1BÂBÂB+ Â+
CÂ5CÃCi † é   i   é   Úsizec                 óR   — | t           k    rt          d| › dt           › d�¦  «        ‚d S )Nz'Maximum /ToUnicode size limit reached: ú > ú.)ÚMAPPING_DICTIONARY_SIZE_LIMITr   )rƒ   s    r,   Ú_check_mapping_sizerˆ   A  s9   € ØÕ+Ò+Ð+ÝÐ sÈ$Ð sÐ sÕSpÐ sÐ sÐ sÑtÔtÐtð ,Ð+r.   ÚtokenÚlimitc           	      óª   — t          | ¦  «        }||k    r=t          dt          di                     |d¦  «        }t	          d|› d|› d|› d�¦  «        ‚d S )NÚcodeÚstringr‰   zMaximum /ToUnicode z length exceeded: r…   r†   )r?   ÚMAX_CMAP_CODE_BYTES_LIMITÚMAX_CMAP_STRING_BYTES_LIMITr<   r   )r‰   rŠ   Útoken_lengthÚdescriptions       r,   Ú_check_token_lengthr’   F  sx   € Ý�u‘:”:€LØ�eÒÐå% vÝ'¨ð
÷ Š#ˆe�WÑ
Ô
ð 	õ
  ØZ +ÐZÐZÀÐZÐZÐRWÐZÐZÐZñ
ô 
ð 	
ð Ðr.   rŒ   c                 ó~   — |                      | d         d¦  «                             | d         dk    rdndd¦  «        S )NrM   Úbigr   Úcharmapr   Úsurrogatepass)Úto_bytesÚdecode©r)   rŒ   s     r,   Ú__parse_bfrange__decoderš   S  sF   € ð
 �=Š=˜ "œ uÑ-Ô-×4Ò4Ø˜b”\ QÒ&Ð&ˆ	ˆ	¨KØñô ð r.   c                 ó€  — |                       ¦   «         }d}t          |¦  «        }t          |¦  «         t          t          j        dd¬¦  «        }|��|d         }|d         }	|D ]z}
|
dk    rd} not          |
t          ¬	¦  «         |dz  }t          |¦  «          |t          |
¦  «        ¦  «        |t          ||¬
¦  «        <   | 
                    |¦  «         |dz  }Œ{�nVt          |d         t          ¬	¦  «         t          |d         t          ¬	¦  «         t          |d         d¦  «        }t          |d         d¦  «        }	|dk     s|	dk     r!t          d|d         ›d|d         ›�¦  «        ‚t          t          |d         ¦  «        t          |d         ¦  «        ¦  «        }|dz   dz  |d<   |d         dk    r†|dd …         D ]z}
|
dk    rd} not          |
t          ¬	¦  «         |dz  }t          |¦  «          |t          |
¦  «        ¦  «        |t          ||¬
¦  «        <   | 
                    |¦  «         |dz  }Œ{nòt          |d         t          ¬	¦  «         t          |d         d¦  «        }dt          dt          |d         ¦  «        ¦  «        z  }d}t          d|	|z
  dz   ¦  «        }t          ||z   ¦  «         ||	k    rjt          ||z  ¦  «        }t          |t          ¬	¦  «          ||¦  «        |t          ||¬
¦  «        <   | 
                    |¦  «         |dz  }|dz  }||	k    °j|rd n||	fS )NFr   r–   )r(   Úerrorsr   r   rn   T©rŠ   r™   é   zNegative bfrange source range: ú r‚   rM   rm   é   s   %%0%dXé   )rT   r?   rˆ   r   Úbytesr˜   r’   r�   r   rš   ÚappendrŽ   r>   r~   Úmax)rc   r)   r*   ra   ÚlstÚclosure_foundÚentry_countÚdecode_utf16ÚaÚbÚsqÚnbiÚcÚfmt2Ú
range_sizeÚdestinations                   r,   r}   r}   ^  s…  € ð �*Š*‰,Œ,€CØ€MÝ�i‘.”.€KÝ˜Ñ$Ô$Ð$Ý�5œ<°+ÀoÐVÑVÔV€LØÐØ˜ŒOˆØ˜ŒOˆØð 	ð 	ˆBØ�TŠzˆzØ $�Ø�Ý Õ*EÐFÑFÔFÐFØ˜1ÑˆKÝ Ñ,Ô,Ð,ð ��Y r™]œ]Ñ+Ô+ð Ý'°ÀÐBÑBÔBñð ×Ò˜QÑÔÐØ�‰FˆAˆAùå˜C œFÕ*CÐDÑDÔDÐDÝ˜C œFÕ*CÐDÑDÔDÐDÝ��A”˜‰OŒOˆÝ��A”˜‰OŒOˆØˆqŠ5ˆ5�A˜’E�Eõ ÐT¸sÀ1¼vÐTÐTÈ#ÈaÌ&ÐTÐTÑUÔUÐUÝ•#�c˜!”f‘+”+�s 3 q¤6™{œ{Ñ+Ô+ˆØ˜a™ A‘~ˆ�‰ØˆqŒ6�TŠ>ˆ>Ø˜!˜"˜"”gð ð �Ø˜’:�:Ø$(�MØ�EÝ# BÕ.IÐJÑJÔJÐJØ˜qÑ �Ý# KÑ0Ô0Ð0ð !�L¥¨2¡¤Ñ/Ô/ð Ý+°XÀAÐFÑFÔFñð × Ò  Ñ#Ô#Ð#Ø�Q‘��øå  A¤Õ.IÐJÑJÔJÐJÝ�C˜”F˜B‘”ˆAØ�s 1¥c¨#¨a¬&¡k¤kÑ2Ô2Ñ2ˆDØ ˆMÝ˜Q  A¡¨¡	Ñ*Ô*ˆJÝ ¨jÑ 8Ñ9Ô9Ð9Ø�q’&�&Ý'¨¨q©Ñ1Ô1�Ý# KÕ7PÐQÑQÔQÐQð !�L Ñ-Ô-ð Ý+°XÀAÐFÑFÔFñð × Ò  Ñ#Ô#Ð#Ø�Q‘�Ø�Q‘�ð �q’&�&ð !Ð,ˆ4ˆ4 q¨! fÐ,r.   c                 óÆ  — d„ |                       d¦  «        D ¦   «         }t          |¦  «        }|dk    rt          dt          | ¬¦  «         d S |dz  rt          dt          | ¬¦  «         |dz  }t	          t          |¦  «        |z   ¦  «         t          |d         ¦  «        dz  |d<   t          |¦  «        d	k    �r$|d         }|d	         }t          |t          ¬
¦  «         d}|dk    rt          |t          ¬
¦  «         	 t          |¦  «         	                    t          |¦  «        dk     rdndd¦  «        }n/# t          $ r"}	t          dt          |	|¬¦  «         Y d }	~	nd }	~	ww xY w||t          |¦  «         	                    |d         d	k    rdndd¦  «        <   |                     t          |d¦  «        ¦  «         |dd …         }t          |¦  «        d	k    �°"d S d S )Nc                 ó   — g | ]}|¯|‘ŒS rG   rG   )Ú.0r+   s     r,   ú
<listcomp>z parse_bfchar.<locals>.<listcomp>¤  s   € Ð
,Ð
,Ð
,�¨!Ð
,ˆ1Ð
,Ð
,Ð
,r.   rl   r   z-Skipping broken line %(line)r: Line is empty.)r3   rc   r‚   z1Ignoring final token of odd-length line %(line)r.rM   r   r�   r2   rk   r¡   r•   r   r–   z7Got invalid hex string: %(exception)s (%(destination)r))r3   Ú	exceptionr°   rž   )rT   r?   r   r=   rˆ   r’   rŽ   r�   r   r˜   ÚBinasciiErrorr£   r>   )
rc   r)   r*   r¥   Ú
lst_lengthÚ	new_countr3   r°   Úmap_torµ   s
             r,   r€   r€   £  s*  € Ø
,Ð
,�d—j’j Ñ&Ô&Ð
,Ñ
,Ô
,€CÝ�S‘”€JØ�Q‚€ÝÐFÍxÐ^bÐcÑcÔcÐcØˆØ�A�~ð hÝÐJÕS[ÐbfÐgÑgÔgÐgà˜a‘€IÝ�˜I™œ¨Ñ2Ñ3Ô3Ð3Ý�s˜1”v‘;”; !Ñ#€HˆR�Lå
ˆc‰(Œ(�QŠ,‰,Ø�Q”ˆØ˜!”fˆå˜FÕ*CÐDÑDÔDÐDàˆà˜$ÒÐÝ Õ3NÐOÑOÔOÐOð
Ý" ;Ñ/Ô/×6Ò6Ý!$ [Ñ!1Ô!1°AÒ!5Ð!5�I�I¸;Èñô ��øõ !ð ð ð ÝØMÝ#Ø'Ø +ð	ñ ô ð ð ð ð ð ð øøøøðøøøð ð	 	Ý�fÑÔ×$Ò$Ø% bœ\¨QÒ.Ð.�	�	°KÀñô ñ	
ð
 	×Ò�˜V R™œÑ)Ô)Ð)Ø�!�"�"Œgˆõ7 ˆc‰(Œ(�QŠ,‰,ˆ,ˆ,ˆ,ˆ,s   Ä8D; Ä;
E'ÅE"Å"E'Ú
glyph_namec                 óÞ   — 	 t           |          S # t          $ rS |                      d¦  «        sY d S 	 t          t	          | dd …         d¦  «        ¦  «        cY S # t
          $ r Y Y d S w xY ww xY w)Nz/unir¡   rž   )r   ÚKeyErrorÚ
startswithr'   r>   r~   )rº   s    r,   Ú_glyph_name_to_unicoder¾   Î  s™   € ðÝ˜JÔ'Ð'øÝð ð ð Ø×$Ò$ VÑ,Ô,ð 	Ø�4�4ð	Ý•s˜: a b bœ>¨2Ñ.Ô.Ñ/Ô/Ð/Ð/Ð/øÝð 	ð 	ð 	Ø�4�4�4ð	øøøðøøøs,   ‚ �A,²$AÁA,Á
A(Á#A,Á'A(Á(A,rZ   Ú	font_datar\   c                 ó,  — t          |¦  «                             ¦   «         }| j        }|�|j        |k    r( ||i g ¦  «        \  }}t          |||¦  «        }|| _        |                     |j        ¦  «         |                     |j        ¦  «         ||fS )aí  
    Derive the character map from an embedded font program, caching the result on its stream.

    The character map depends only on the decoded font data, and the same font program is reached from every
    font dictionary, resource name and page referencing its stream. Parsing a CFF font program with fontTools is
    expensive, so each stream is parsed once and reused until its data changes, which a digest of the data
    detects (a writer may replace the font program). See #4156.
    )r   ÚdigestÚ_font_file_character_mapr   Úupdater)   Úextendr*   )	rZ   r¿   r\   r)   r*   rÁ   ÚcachedÚcached_map_dictÚcached_int_entrys	            r,   rR   rR   Ú  s    € õ �IÑÔ×%Ò%Ñ'Ô'€FØÔ/€FØ€~˜œ¨&Ò0Ð0Ø,?Ð,?À	È2ÈrÑ,RÔ,RÑ)ˆÐ)Ý& v¨Ð@PÑQÔQˆØ-3ˆ	Ô*Ø‡O‚O�F”OÑ$Ô$Ð$Ø×Ò�VÔ%Ñ&Ô&Ð&Ø�YÐÐr.   c                 óè  — 	 ddl m}  |¦   «         }|                     t          | ¦  «        d ¦  «         |j        d         }|j        }t          |t          ¦  «        r||fS t          t          t          |¦  «        d¦  «        ¦  «        D ]N}||         }|r|dk    rŒt          d|› �¦  «        x}	r'|	|t          |¦  «        <   |                     |¦  «         ŒO	 ||fS # t          $ r ||fcY S w xY w)Nr   )Ú
CFFFontSetr0   z.notdefú/)ÚfontTools.cffLibrÉ   Ú	decompiler   ÚtopDictIndexÚEncodingr%   r6   r8   Úminr?   r¾   r'   r£   r;   )
r¿   r)   r*   rÉ   Úcff_setÚcff_fontÚcff_encodingrv   rº   Úunipoints
             r,   rP   rP   ô  s>  € ð
#Ø/Ð/Ð/Ð/Ð/Ð/Ø�*‘,”,ˆØ×Ò�' )Ñ,Ô,¨dÑ3Ô3Ð3ØÔ'¨Ô*ˆØÔ(ˆå�l¥CÑ(Ô(ð 	'Ø˜YÐ&Ð&Ý•s�3˜|Ñ,Ô,¨cÑ2Ô2Ñ3Ô3ð 	$ð 	$ˆAØ% aœˆJØð  ¨yÒ!8Ð!8ØÝ1Ð2B°jÐ2BÐ2BÑCÔCÐCˆxð $Ø#+��˜Q™œÑ Ø× Ò  Ñ#Ô#Ð#øð	$ð ˜Ð"Ð"øõ ð #ð #ð #Ø˜Ð"Ð"Ð"Ð"ð#øøøs   ‚AC  Á"A9C  Ã C1Ã0C1c                 óÀ  — |                       d¦  «        d         }|                      d¦  «        }t          |¦  «        dk     r||fS |d         }|                     dd¦  «                              d¦  «        }|D ]à}|                     d¦  «        rÉd	„ |                      d
¦  «        D ¦   «         }t          |¦  «        dk     st          |¦  «        dk    r|d         dk    rŒi	 t	          |d         ¦  «        }n# t
          $ r Y ŒŒw xY wt          |d                              ¦   «         ¦  «        }	|	r'|	|t          |¦  «        <   | 	                    |¦  «         Œá||fS )Ns   eexec
r   s	   /Encodingr‚   r   ro   rL   s   dupc                 ó   — g | ]
}|d k    ¯|‘ŒS )r.   rG   )r³   Ú_ws     r,   r´   z>_derive_character_map_from_type1_font_file.<locals>.<listcomp>  s   € Ð>Ð>Ð>˜B°B¸#²I°I�R°I°I°Ir.   rl   r    s   put)
rT   r?   rq   r½   r>   r~   r¾   r˜   r'   r£   )
r¿   r)   r*   ÚtxtÚencoding_partÚlinesÚliÚwordsrv   rÓ   s
             r,   rO   rO     sm  € ð
 �/Š/˜*Ñ
%Ô
% aÔ
(€CØ—I’I˜lÑ+Ô+€MÝ
ˆ=ÑÔ˜AÒÐØ˜Ð"Ð"Ø
˜Ô
€CØ�KŠK˜˜uÑ%Ô%×+Ò+¨EÑ2Ô2€EØð $ð $ˆØ�=Š=˜Ñ Ô ð 	$Ø>Ð> "§(¢(¨4¡.¤.Ð>Ñ>Ô>ˆEÝ�5‰zŒz˜AŠ~ˆ~¥# e¡*¤*¨q¢. .°U¸1´XÀÒ5GÐ5GØðÝ˜˜aœ‘M”M��øÝð ð ð Ø�ðøøøõ .¨e°A¬h¯oªoÑ.?Ô.?Ñ@Ô@ˆHØð $Ø#+��˜Q™œÑ Ø× Ò  Ñ#Ô#Ð#øà�YÐÐs   Ã%C;Ã;
DÄD)<Úbinasciir   r¶   r   Úcollections.abcr   Ú	functoolsr   Úhashlibr   Úior   Útypingr	   r
   r   Ú_codecsr   r   Ú_utilsr   r   rœ   r   Úgenericr   r   r   r   r   Úgeneric._data_structuresr   r   r&   r6   Ú__annotations__Útupler>   r-   r#   r@   r$   r¢   rS   ÚboolrU   r‡   ÚMAX_CMAP_CODE_BYTESÚMAX_CMAP_STRING_BYTESrŽ   r�   rˆ   r’   rš   r}   r€   r¾   rR   rP   rO   rG   r.   r,   ú<module>rë      s¬  ðØ +Ð +Ð +Ð +Ð +Ð +Ð +Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø %Ð %Ð %Ð %Ð %Ð %ðð ð ð ð ð ð ð ð ð ð ð ð ð ð <Ð ;Ð ;Ð ;Ð ;Ð ;ð$Ø�;ð$à�;ð$ð �ð$ð �ð	$ð
 �8ð$ð �8ð$ð �%ð$ð �%ð$ð �	ð$ð �	ð$ð �'ð$ð �'ð$ð �Gð$ð �Gð$ð$ �{ð%$ð& �{ð'$ð( �kð)$ð* "àØØ"Ø"ð5$ð $ð $Ð �$�s˜C�x”.ð ð ñ ð>Øðà
ˆ5��d˜3 ˜8”nÐ$Ô% t¨C°¨H¤~Ð5Ô6ðð ð ð ð$NØðNà
ˆ3��S˜#�X”ÐÔðNð Nð Nð NðbRØðRà
ˆ4��S�Œ>˜4 œ9Ð$Ô%ðRð Rð Rð Rðj&Ð#ð &¨ð &ð &ð &ð &ðR2Ø
ð2àð2ð ð2ð ˜˜c 3˜hœ¨Ð-Ô.ð	2ð
 �3˜�8Œnð2ð �CŒyð2ð ˆ4��u˜U 3¨ 8œ_¨dÐ2Ô3Ð3Ô4ð2ð 2ð 2ð 2ðB !(Ð ð
 Ð ØÐ Ø/°!Ñ3Ð Ø3°aÑ7Ð ðu˜cð u dð uð uð uð uð


˜uð 

¨Sð 

°Tð 

ð 

ð 

ð 

ð d¨3°¨8¤nð ¸Cð ÀCð ð ð ð ðB-Ø
ðB-à�3˜�8ŒnðB-ð �CŒyðB-ð ˜˜c 3˜hœ¨Ð-Ô.ð	B-ð
 ˆ5��c�Œ?˜DÐ Ô!ðB-ð B-ð B-ð B-ðJ(�uð (¨¨S°#¨X¬ð (À4ÈÄ9ð (ÐQUð (ð (ð (ð (ðV	 sð 	¨u°S¸$°YÔ/?ð 	ð 	ð 	ð 	ðØðàðð " 5¨$¨s°C¨x¬.¸$¸s¼)Ð"DÀeÈDÐQTÐVYÐQYÌNÐ\`ÐadÔ\eÐLeÔFfÐ"fÔgðð �3˜�8Œnð	ð
 �CŒyðð ˆ4��S�Œ>˜4 œ9Ð$Ô%ðð ð ð ð4#Øð#à�3˜�8Œnð#ð �CŒyð#ð ˆ4��S�Œ>˜4 œ9Ð$Ô%ð	#ð #ð #ð #ð6Øðà�3˜�8Œnðð �CŒyðð ˆ4��S�Œ>˜4 œ9Ð$Ô%ð	ð ð ð ð ð r.   