§
    äóÉjû  ã                  óÜ   — d dl mZ d dlZd dlmZ d dlZ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 d dlmZ d	d
lmZ ddœd&d„Zd'd„Zd(d„Zd)d"„Zd*d$„Zd+d%„ZdS ),é    )ÚannotationsN)Ú	ExitStack)Ú	resources)Ú
ModuleType)ÚAny)Ú
exceptions)ÚTemplateé   )ÚCommandErrorF)Úappend_with_newlinesÚtemplate_fileústr | os.PathLike[str]ÚdestÚoutput_encodingÚstrr   ÚboolÚkwr   ÚreturnÚNonec               óˆ  — t          t          | ¦  «        ¬¦  «        }	  |j        d	i |¤Ž                     |¦  «        }t	          ||rdnd¦  «        5 }|r(|                     d                     |¦  «        ¦  «         |                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S #  t          j        dd¬¦  «        5 }|                     t          j	        ¦   «                              ¦   «                              |¦  «        ¦  «         |j
        }	d d d ¦  «         n# 1 swxY w Y   t          d|	z  ¦  «        ‚xY w)
N)ÚfilenameÚabÚwbz

z.txtF)ÚsuffixÚdeletezDTemplate rendering failed; see %s for a template-oriented traceback.© )r	   Ú_preserving_path_as_strÚrender_unicodeÚencodeÚopenÚwriteÚtempfileÚNamedTemporaryFiler   Útext_error_templateÚnamer   )
r   r   r   r   r   ÚtemplateÚoutputÚfÚntfÚfnames
             úw/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib/python3.11/site-packages/alembic/util/pyfiles.pyÚtemplate_to_filer,      sÏ  € õ Õ!8¸Ñ!GÔ!GÐHÑHÔH€HðØ(�Ô(Ð.Ð.¨2Ð.Ð.×5Ò5°oÑFÔFˆõ �$Ð 4Ð>˜˜¸$Ñ?Ô?ð 	À1Ø#ð 8Ø—’˜Ÿš oÑ6Ô6Ñ7Ô7Ð7Ø�GŠG�F‰OŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	øð
ÝÔ(°¸uÐEÑEÔEð 	ÈØ�IŠIÝÔ.Ñ0Ô0ß’Ñ!Ô!ß’˜Ñ(Ô(ñô ð ð
 ”HˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ð+Ø-2ñ3ñ
ô 
ð 	
øøøsC   Ÿ B- ÁA B Â B$Â'B$Â-EÃAD$ÄEÄ$D(	Ä(EÄ+D(	Ä,EÚfname_or_resourceúpathlib.Pathc                óŽ  — t           j                             | ¦  «        s“d| v r�|                      d¦  «        }t	          ¦   «         }t          j        |j        ¦  «         t          j	        |d         ¦  «        }|dd…         D ]}||z  }Œ| 
                    t          j        |¦  «        ¦  «        } t          j        | ¦  «        S )zÔInterpret a filename as either a filesystem location or as a package
    resource.

    Names that are non absolute paths and contain a colon
    are interpreted as resources and coerced to a file location.

    ú:r   r
   N)ÚosÚpathÚisabsÚsplitr   ÚatexitÚregisterÚcloser   ÚfilesÚenter_contextÚas_fileÚpathlibÚPath)r-   ÚtokensÚfile_managerÚrefÚtoks        r+   Úcoerce_resource_to_filenamerA   4   sÃ   € õ Œ7�=Š=Ð*Ñ+Ô+ð 
°Ð7HÐ0HÐ0HØ"×(Ò(¨Ñ-Ô-ˆõ !‘{”{ˆÝŒ˜Ô*Ñ+Ô+Ð+åŒo˜f QœiÑ(Ô(ˆØ˜!˜"˜"”:ð 	ð 	ˆCØ˜‘)ˆCˆCØ(×6Ò6ÝÔ˜cÑ"Ô"ñ
ô 
Ðõ Œ<Ð)Ñ*Ô*Ð*ó    r2   úpathlib.Path | Nonec                ó’  — t          j        | ¦  «        }t          j        t          j                             |                     ¦   «         ¦  «        ¦  «        }|                     ¦   «         r|S |j        }t          j        j	        D ]@}| 
                    |¦  «                             ¦   «         r| 
                    |¦  «        c S ŒAdS )z,Given a python source path, locate the .pyc.N)r;   r<   Ú	importlibÚutilÚcache_from_sourceÚas_posixÚexistsr   Ú	machineryÚBYTECODE_SUFFIXESÚwith_suffix)r2   ÚpathpathÚ	candidateÚexts       r+   Úpyc_file_from_pathrP   N   sÅ   € õ
 Œ|˜DÑ!Ô!€HÝ”ÝŒ×(Ò(¨×):Ò):Ñ)<Ô)<Ñ=Ô=ñô €Ið ×ÒÑÔð ØÐð Œ/€CÝÔ"Ô4ð ð ˆØ×Ò Ñ$Ô$×+Ò+Ñ-Ô-ð 	-Ø×'Ò'¨Ñ,Ô,Ð,Ð,Ð,ð	-ð ˆtrB   Údir_r   r   c                ó”  — t          j        | ¦  «        } t          j        |¦  «        }|j        }t          j        dd|¦  «        }| |z  }|j        }|dk    rY|                     ¦   «         rt          ||¦  «        }nKt          |¦  «        }|€t          d|z  ¦  «        ‚t          ||¦  «        }n|dv rt          ||¦  «        }nJ ‚|S )z3Load a file from the given path as a Python module.z\WÚ_z.pyNzCan't find Python file %s)z.pycz.pyo)
r;   r<   r%   ÚreÚsubr   rI   Úload_module_pyrP   ÚImportError)rQ   r   Úfilename_as_pathÚ	module_idr2   rO   ÚmoduleÚpyc_paths           r+   Úload_python_filer\   d   s×   € õ
 Œ<˜ÑÔ€DÝ”| HÑ-Ô-ÐØÔ$€Hå”�u˜c 8Ñ,Ô,€IØ�(‰?€DØ
Œ+€CØ
ˆe‚|€|Ø�;Š;‰=Œ=ð 	=Ý# I¨tÑ4Ô4ˆFˆFå)¨$Ñ/Ô/ˆHØÐÝ!Ð"=ÀÑ"DÑEÔEÐEå'¨	°8Ñ<Ô<��Ø	Ð Ð	 Ð	 Ý 	¨4Ñ0Ô0ˆˆàˆØ€MrB   rY   c                óÀ   — t           j                             | |¦  «        }|sJ ‚t           j                             |¦  «        }|j                             |¦  «         |S )N)rE   rF   Úspec_from_file_locationÚmodule_from_specÚloaderÚexec_module)rY   r2   ÚspecrZ   s       r+   rV   rV   €   sR   € ÝŒ>×1Ò1°)¸TÑBÔB€DØ€K€K€KÝŒ^×,Ò,¨TÑ2Ô2€FØ„K×Ò˜FÑ#Ô#Ð#Ø€MrB   c                óÄ   — t          | t          ¦  «        r| S t          | t          j        ¦  «        rt          | ¦  «        S t          t          j        | ¦  «        ¦  «        S )zæreceive str/pathlike and return a string.

    Does not convert an incoming string path to a Path first, to help with
    unit tests that are doing string path round trips without OS-specific
    processing if not necessary.

    )Ú
isinstancer   r;   ÚPurePathr<   )r2   s    r+   r   r   ˆ   sT   € õ �$�ÑÔð 'ØˆÝ	�D�'Ô*Ñ	+Ô	+ð 'Ý�4‰yŒyÐå•7”< Ñ%Ô%Ñ&Ô&Ð&rB   )r   r   r   r   r   r   r   r   r   r   r   r   )r-   r   r   r.   )r2   r   r   rC   )rQ   r   r   r   r   r   )rY   r   r2   r   r   r   )r2   r   r   r   )Ú
__future__r   r5   Ú
contextlibr   rE   r   Úimportlib.machineryÚimportlib.utilr1   r;   rT   r"   Útypesr   Útypingr   Úmakor   Úmako.templater	   Úexcr   r,   rA   rP   r\   rV   r   r   rB   r+   ú<module>ro      sw  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø €€€Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð ð "'ðð ð ð ð ð ð<+ð +ð +ð +ð4ð ð ð ð,ð ð ð ð8ð ð ð ð'ð 'ð 'ð 'ð 'ð 'rB   