§
    {Øj„  ã                  ó0  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ ddl	m
Z
 ddlmZmZ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 ej        rd d
lmZ d dlmZmZ ddlm Z   G d„ de
¦  «        Z! G d„ de
¦  «        Z" G d„ de¦  «        Z#dS )é    )ÚannotationsN)Údatetimeé   )ÚFS)ÚFileExpectedÚIllegalBackReferenceÚResourceNotFoundÚResourceReadOnly)ÚInfo)ÚdirnameÚescapes_rootÚforcedirÚnormpathÚrelpath)ÚTempFS)Ú
Collection)ÚIOÚAny)ÚSubFSc                  ó<   — e Zd ZdZ	 ddd
„Zej        r	 ddd„ZdS dS )ÚZipFSzRead and write zip files.Fúutf-8Úfileústr | os.PathLikeÚwriteÚboolÚencodingÚstrc                óF   — |rt          ||¦  «        S t          ||¦  «        S ©N)Ú
WriteZipFSÚ	ReadZipFS)Úclsr   r   r   s       ú•/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/fontTools/misc/filesystem/_zipfs.pyÚ__new__zZipFS.__new__    s,   € ð ð 	-Ý˜d HÑ-Ô-Ð-å˜T 8Ñ,Ô,Ð,ó    c                ó   — d S r    © )Úselfr   r   r   s       r$   Ú__init__zZipFS.__init__*   s	   € ð ˆDr&   N)Fr   )r   r   r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r%   ÚtypingÚTYPE_CHECKINGr*   r(   r&   r$   r   r      sq   € € € € € Ø#Ð#ð LSð-ð -ð -ð -ð -ð Ôð ð QXð	ð 	ð 	ð 	ð 	ð 	ð 	ðð r&   r   c                  óÒ   ‡ — e Zd ZdZd,d-ˆ fd„Zd.d	„Zd.d
„Zd/d„Zed0d„¦   «         Z	ˆ fd„Z
d1d2d„Zd3d„Zd3d„Zd3d„Zd/d„Zd4d5d„Zd4d5d„Zd6d„Zd6d „Zd6d!„Zd4d7d%„Zd8d'„Zd9d:d+„Zˆ xZS );r"   zA readable zip file.r   r   r   r   r   c                óÊ   •— t          ¦   «                              ¦   «          t          j        |¦  «        | _        || _        t          j        |d¦  «        | _        d | _	        d S )NÚr)
Úsuperr*   ÚosÚfspathÚ_filer   ÚzipfileÚZipFileÚ_zipÚ_directory_fs©r)   r   r   Ú	__class__s      €r$   r*   zReadZipFS.__init__3   sP   ø€ Ý‰Œ×ÒÑÔÐÝ”Y˜t‘_”_ˆŒ
Ø ˆŒÝ”O D¨#Ñ.Ô.ˆŒ	Ø!ˆÔÐÐr&   Úreturnc                ó   — d| j         ›d�S )Nz
ReadZipFS(ú)©r7   ©r)   s    r$   Ú__repr__zReadZipFS.__repr__:   s   € Ø+˜DœJÐ+Ð+Ð+Ð+r&   c                ó   — d| j         › d�S )Nz<zipfs 'ú'>rA   rB   s    r$   Ú__str__zReadZipFS.__str__=   s   € Ø(˜$œ*Ð(Ð(Ð(Ð(r&   Úpathc                ó�   — t          t          |¦  «        ¦  «        }| j                             |¦  «        rt	          |¦  «        }|S )z"Convert a path to a zip file name.)r   r   Ú
_directoryÚisdirr   ©r)   rG   s     r$   Ú_path_to_zip_namezReadZipFS._path_to_zip_name@   s=   € å•x ‘~”~Ñ&Ô&ˆØŒ?× Ò  Ñ&Ô&ð 	"Ý˜D‘>”>ˆDØˆr&   r   c                ó  — | j         €ø| j                             ¦   «         D ] }t          |¦  «        rt	          |¦  «        ‚Œ!t          ¦   «         }	 | j                             ¦   «         D ]j}|}|                     d¦  «        r|                     |d¬¦  «         Œ1|                     t          |¦  «        d¬¦  «         | 	                    |¦  «         Œkn## t          $ r |                     ¦   «          ‚ w xY w|| _         | j         S )Nú/T)Úrecreate)r;   r:   Únamelistr   r   r   ÚendswithÚmakedirsr   ÚcreateÚ	ExceptionÚclose)r)   Úzip_nameÚ_fsÚresource_names       r$   rI   zReadZipFS._directoryG   s&  € àÔÐ%ð !œI×.Ò.Ñ0Ô0ð 9ð 9�Ý Ñ)Ô)ð 9Ý.¨xÑ8Ô8Ð8ð9õ ‘(”(ˆCð
Ø $¤	× 2Ò 2Ñ 4Ô 4ð 2ð 2�HØ$,�MØ$×-Ò-¨cÑ2Ô2ð 2ØŸš ]¸T˜ÑBÔBÐBÐBàŸš¥W¨]Ñ%;Ô%;Àd˜ÑKÔKÐKØŸ
š
 =Ñ1Ô1Ð1Ð1ð2øõ ð ð ð Ø—	’	‘”�Øðøøøð "%ˆDÔØÔ!Ð!s   ÁBC Ã C6c                óÌ   •— t          t          | ¦  «                             ¦   «          | j                             ¦   «          | j        �| j                             ¦   «          d S d S r    )r4   r"   rU   r:   r;   )r)   r=   s    €r$   rU   zReadZipFS.closed   s]   ø€ Ý�i˜ÑÔ×$Ò$Ñ&Ô&Ð&ØŒ	�ŠÑÔÐØÔÐ)ØÔ×$Ò$Ñ&Ô&Ð&Ð&Ð&ð *Ð)r&   NÚ
namespacesúCollection[str] | Noner   c                ó
  — |pd}i }|dk    rdddœ|d<   d|v rdt           j        i|d<   nË| j                             |¦  «        }|j        |j        dœ|d<   d|v r›|                      |¦  «        }	 | j                             |¦  «        }d|v rV|j        t          |j        rt           j        nt           j
        ¦  «        t          |j        Ž                      ¦   «         d	œ|d<   n# t          $ r Y nw xY wt          |¦  «        S )
Nr(   rN   Ú T)ÚnameÚis_dirÚbasicÚdetailsÚtype)Úsizerb   Úmodified)ÚstatÚS_IFDIRrI   Úgetinfor^   r_   rL   r:   Ú	file_sizeÚintÚS_IFREGr   Ú	date_timeÚ	timestampÚKeyErrorr   )r)   rG   rZ   Úraw_infoÚ
basic_inforV   Úzip_infos          r$   rg   zReadZipFS.getinfoj   s;  € ØÐ% 2ˆ
Øˆà�3Š;ˆ;Ø)+°tÐ <Ð <ˆH�WÑØ˜JÐ&Ð&Ø'-­t¬|Ð&<�˜Ñ#øàœ×0Ò0°Ñ6Ô6ˆJØ)3¬ÀJÔDUÐ VÐ VˆH�WÑà˜JÐ&Ð&Ø×1Ò1°$Ñ7Ô7�ðØ#œy×0Ò0°Ñ:Ô:�Hð ! JÐ.Ð.à$,Ô$6Ý$'Ø0:Ô0AÐ S¥¤ ÅtÄ|ñ%ô %õ )1°(Ô2DÐ(E×(OÒ(OÑ(QÔ(Qð/ð /˜ Ñ+øøõ	  ð ð ð Ø�Dðøøøõ �H‰~Œ~Ðs   Á1C& Ã&
C3Ã2C3r   c                ó^   — |                       ¦   «          | j                             |¦  «        S r    )ÚcheckrI   ÚexistsrK   s     r$   rs   zReadZipFS.existsˆ   ó%   € Ø�
Š
‰ŒˆØŒ×%Ò% dÑ+Ô+Ð+r&   c                ó^   — |                       ¦   «          | j                             |¦  «        S r    )rr   rI   rJ   rK   s     r$   rJ   zReadZipFS.isdirŒ   s%   € Ø�
Š
‰ŒˆØŒ×$Ò$ TÑ*Ô*Ð*r&   c                ó^   — |                       ¦   «          | j                             |¦  «        S r    )rr   rI   ÚisfilerK   s     r$   rw   zReadZipFS.isfile�   rt   r&   c                ó^   — |                       ¦   «          | j                             |¦  «        S r    )rr   rI   ÚlistdirrK   s     r$   ry   zReadZipFS.listdir”   s%   € Ø�
Š
‰ŒˆØŒ×&Ò& tÑ,Ô,Ð,r&   FrO   r   c                óH   — |                       ¦   «          t          |¦  «        ‚r    ©rr   r
   ©r)   rG   rO   s      r$   ÚmakedirzReadZipFS.makedir˜   ó   € Ø�
Š
‰ŒˆÝ˜tÑ$Ô$Ð$r&   c                óH   — |                       ¦   «          t          |¦  «        ‚r    r{   r|   s      r$   rR   zReadZipFS.makedirsœ   r~   r&   c                óH   — |                       ¦   «          t          |¦  «        ‚r    r{   rK   s     r$   ÚremovezReadZipFS.remove    r~   r&   c                óH   — |                       ¦   «          t          |¦  «        ‚r    r{   rK   s     r$   Ú	removedirzReadZipFS.removedir¤   r~   r&   c                óH   — |                       ¦   «          t          |¦  «        ‚r    r{   rK   s     r$   Ú
removetreezReadZipFS.removetree¨   r~   r&   ÚsrcÚdstrS   c                óH   — |                       ¦   «          t          |¦  «        ‚r    r{   )r)   r†   r‡   rS   s       r$   ÚmovedirzReadZipFS.movedir¬   s   € Ø�
Š
‰ŒˆÝ˜sÑ#Ô#Ð#r&   Úbytesc                óÞ   — |                       ¦   «          | j                             |¦  «        st          |¦  «        ‚|                      |¦  «        }| j                             |¦  «        }|S r    )rr   rI   rw   r	   rL   r:   Úread)r)   rG   rV   Ú	zip_bytess       r$   Ú	readbyteszReadZipFS.readbytes°   sa   € Ø�
Š
‰ŒˆØŒ×%Ò% dÑ+Ô+ð 	)Ý" 4Ñ(Ô(Ð(Ø×)Ò)¨$Ñ/Ô/ˆØ”I—N’N 8Ñ,Ô,ˆ	ØÐr&   ÚrbÚmodeúIO[Any]c                óþ  ‡— |                       ¦   «          | j                             |¦  «        rt          |›d�¦  «        ‚‰d         }|dk    r,| j                             |¦  «        st          d|›�¦  «        ‚t          ˆfd„dD ¦   «         ¦  «        rt          |¦  «        ‚|                      |¦  «        }| j	         
                    ||¦  «        }d‰v r|rt          d¦  «        ‚|S t          j        |fi |¤ŽS )	Nz is a directoryr   r3   zNo such file or directory: c              3  ó    •K  — | ]}|‰v V — Œ	d S r    r(   )Ú.0Úmr�   s     €r$   ú	<genexpr>z!ReadZipFS.open.<locals>.<genexpr>Á   s'   øè è € Ð)Ð)˜Qˆq�DˆyÐ)Ð)Ð)Ð)Ð)Ð)r&   zwax+Úbz*encoding args invalid for binary operation)rr   rI   rJ   r   rs   r	   Úanyr
   rL   r:   ÚopenÚ
ValueErrorÚioÚTextIOWrapper)r)   rG   r�   ÚkwargsÚzip_moderV   Ústreams     `    r$   r™   zReadZipFS.open¸   s  ø€ Ø�
Š
‰ŒˆØŒ?× Ò  Ñ&Ô&ð 	;Ý $Ð9Ð9Ð9Ñ:Ô:Ð:à˜”7ˆØ�sŠ?ˆ? 4¤?×#9Ò#9¸$Ñ#?Ô#?ˆ?Ý"Ð#IÀÐ#IÐ#IÑJÔJÐJåÐ)Ð)Ð)Ð) &Ð)Ñ)Ô)Ñ)Ô)ð 	)Ý" 4Ñ(Ô(Ð(à×)Ò)¨$Ñ/Ô/ˆØ”—’ ¨(Ñ3Ô3ˆØ�$ˆ;ˆ;Øð OÝ Ð!MÑNÔNÐNØˆMåÔ Ð1Ð1¨&Ð1Ð1Ð1r&   ©r   ©r   r   r   r   ©r>   r   )rG   r   r>   r   )r>   r   r    )rG   r   rZ   r[   r>   r   )rG   r   r>   r   )F)rG   r   rO   r   r>   r   )rG   r   )r†   r   r‡   r   rS   r   )rG   r   r>   rŠ   )r�   )rG   r   r�   r   r>   r‘   )r+   r,   r-   r.   r*   rC   rF   rL   ÚpropertyrI   rU   rg   rs   rJ   rw   ry   r}   rR   r�   rƒ   r…   r‰   rŽ   r™   Ú__classcell__©r=   s   @r$   r"   r"   0   sÚ  ø€ € € € € ØÐð"ð "ð "ð "ð "ð "ð "ð,ð ,ð ,ð ,ð)ð )ð )ð )ðð ð ð ð ð"ð "ð "ñ „Xð"ð8'ð 'ð 'ð 'ð 'ðð ð ð ð ð<,ð ,ð ,ð ,ð+ð +ð +ð +ð,ð ,ð ,ð ,ð-ð -ð -ð -ð%ð %ð %ð %ð %ð%ð %ð %ð %ð %ð%ð %ð %ð %ð%ð %ð %ð %ð%ð %ð %ð %ð$ð $ð $ð $ð $ðð ð ð ð2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2r&   r"   c                  ó@   ‡ — e Zd ZdZddˆ fd„Zdd	„Zdd
„Zˆ fd„Zˆ xZS )r!   zA writable zip file.r   r   r   r   r   c                óˆ   •— t          ¦   «                              ¦   «          t          j        |¦  «        | _        || _        d S r    )r4   r*   r5   r6   r7   r   r<   s      €r$   r*   zWriteZipFS.__init__Ñ   s3   ø€ Ý‰Œ×ÒÑÔÐÝ”Y˜t‘_”_ˆŒ
Ø ˆŒˆˆr&   r>   c                ó   — d| j         ›d�S )NzWriteZipFS(r@   rA   rB   s    r$   rC   zWriteZipFS.__repr__Ö   s   € Ø,˜TœZÐ,Ð,Ð,Ð,r&   c                ó   — d| j         › d�S )Nz<zipfs-write 'rE   rA   rB   s    r$   rF   zWriteZipFS.__str__Ù   s   € Ø. ¤
Ð.Ð.Ð.Ð.r&   c                óV  •— |                       ¦   «         rd S t          j                             | j        ¦  «        d         }t          j        |d| j        ¬¦  «         | j        |dz   k    rt          j        |dz   | j        ¦  «         t          ¦   «          
                    ¦   «          d S )Nr   Úzip)ÚformatÚroot_dirz.zip)Úisclosedr5   rG   Úsplitextr7   ÚshutilÚmake_archiveÚ	_temp_dirÚmover4   rU   )r)   Ú	base_namer=   s     €r$   rU   zWriteZipFS.closeÜ   sŽ   ø€ Ø�=Š=‰?Œ?ð 	ØˆFÝ”G×$Ò$ T¤ZÑ0Ô0°Ô3ˆ	ÝÔ˜I¨e¸d¼nÐMÑMÔMÐMØŒ:˜ VÑ+Ò+Ð+ÝŒK˜	 FÑ*¨D¬JÑ7Ô7Ð7Ý‰Œ�Š‰Œˆˆˆr&   r    r¡   r¢   )	r+   r,   r-   r.   r*   rC   rF   rU   r¤   r¥   s   @r$   r!   r!   Î   s‰   ø€ € € € € ØÐð!ð !ð !ð !ð !ð !ð !ð
-ð -ð -ð -ð/ð /ð /ð /ðð ð ð ð ð ð ð ð r&   r!   )$Ú
__future__r   r›   r5   r°   re   r/   r8   r   Ú_baser   Ú_errorsr   r   r	   r
   Ú_infor   Ú_pathr   r   r   r   r   Ú_tempfsr   r0   Úcollections.abcr   r   r   Ú_subfsr   r   r"   r!   r(   r&   r$   ú<module>r½      sÕ  ðØ "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø 	€	€	€	Ø €€€Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ Ð Ð Ð Ð Ð à	Ôð Ø*Ð*Ð*Ð*Ð*Ð*ØÐÐÐÐÐÐÐàÐÐÐÐÐðð ð ð ð ˆBñ ô ð ð&[2ð [2ð [2ð [2ð [2�ñ [2ô [2ð [2ð|ð ð ð ð �ñ ô ð ð ð r&   