§
    äóÉjc  ã                   óN   — d dl Z d dlmZ d dlmZ ddlmZ  G d„ de¦  «        ZdS )é    N)ÚRequirements)Úutilé   )Ú
exclusionsc                   óú  — e Zd Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
ed„ ¦   «         Zed	„ ¦   «         Zed
„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z ed„ ¦   «         Z!ed„ ¦   «         Z"ed „ ¦   «         Z#ed!„ ¦   «         Z$ed"„ ¦   «         Z%d#S )$ÚSuiteRequirementsc                 ó,   — t          j        d„ ¦  «        S )ztarget platform is Windowsc                 ó@   — t           j                             d¦  «        S )NÚwin)ÚsysÚplatformÚ
startswith©Úconfigs    ú/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib/python3.11/site-packages/alembic/testing/requirements.pyú<lambda>z+SuiteRequirements.windows.<locals>.<lambda>   s   € �3œ<×2Ò2°5Ñ9Ô9€ ó    ©r   Úonly_if©Úselfs    r   ÚwindowszSuiteRequirements.windows
   s   € õ Ô!Ø9Ð9ñ
ô 
ð 	
r   c                 ó(   — t          j        ¦   «         S )zXTarget database must support external schemas, and have one
        named 'test_schema'.©r   Úopenr   s    r   ÚschemaszSuiteRequirements.schemas   ó   € õ
 ŒÑ Ô Ð r   c                 ó(   — t          j        ¦   «         S )z;target database should support 'AUTOCOMMIT' isolation level©r   Úclosedr   s    r   Úautocommit_isolationz&SuiteRequirements.autocommit_isolation   s   € õ Ô Ñ"Ô"Ð"r   c                 ó(   — t          j        ¦   «         S )zneeded for sqlalchemy compatr   r   s    r   Úmaterialized_viewsz$SuiteRequirements.materialized_views   s   € õ Ô Ñ"Ô"Ð"r   c                 ó0   — d„ }t          j        |¦  «        S )Nc                 ó°   — ddl m}  || j        ¦  «        }	 |                     d¦  «         n(# t          $ r Y dS t
          $ r Y dS t          $ r Y nw xY wdS )Nr   )ÚinspectÚxTF)Ú
sqlalchemyr&   ÚdbÚget_unique_constraintsÚNotImplementedErrorÚ	TypeErrorÚ	Exception)r   r&   Úinsps      r   Ú doesnt_have_check_uq_constraintszXSuiteRequirements.unique_constraint_reflection.<locals>.doesnt_have_check_uq_constraints&   s˜   € Ø*Ð*Ð*Ð*Ð*Ð*à�7˜6œ9Ñ%Ô%ˆDðØ×+Ò+¨CÑ0Ô0Ð0Ð0øÝ&ð ð ð Ø�t�tÝð ð ð Ø�t�tÝð ð ð Ø�ðøøøà�5s   ˜. ®
A»	AÁ	AÁA©r   Úskip_if)r   r/   s     r   Úunique_constraint_reflectionz.SuiteRequirements.unique_constraint_reflection$   s%   € ð	ð 	ð 	õ Ô!Ð"BÑCÔCÐCr   c                 ó0   — t          j        d„ gd¦  «        S )z'Target database must support SEQUENCEs.c                 ó$   — | j         j        j        S ©N)r)   ÚdialectÚsupports_sequencesr   s    r   r   z-SuiteRequirements.sequences.<locals>.<lambda>;   s   € ˜FœIÔ-Ô@€ r   zno sequence supportr   r   s    r   Ú	sequenceszSuiteRequirements.sequences6   s%   € õ Ô!Ø@Ð@ÐAØ!ñ
ô 
ð 	
r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úforeign_key_matchz#SuiteRequirements.foreign_key_match?   ó   € åŒÑ Ô Ð r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Ú!foreign_key_constraint_reflectionz3SuiteRequirements.foreign_key_constraint_reflectionC   r;   r   c                 ó(   — t          j        ¦   «         S )zMTarget database must support check constraints
        and also enforce them.r   r   s    r   Úcheck_constraints_w_enforcementz1SuiteRequirements.check_constraints_w_enforcementG   r   r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úcheck_constraint_reflectionz-SuiteRequirements.check_constraint_reflectionN   r;   r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úreflects_pk_namesz#SuiteRequirements.reflects_pk_namesR   ó   € åÔ Ñ"Ô"Ð"r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úreflects_fk_optionsz%SuiteRequirements.reflects_fk_optionsV   rD   r   c                 ó.   — t          j        d„ d¦  «        S )Nc                 ó   — t           j         S r5   )r   Úsqla_2_1r   s    r   r   z2SuiteRequirements.sqlalchemy_2_1.<locals>.<lambda>]   s   € �tœ}Ð,€ r   z"SQLAlchemy 2.1 or greater requiredr0   r   s    r   Úsqlalchemy_2_1z SuiteRequirements.sqlalchemy_2_1Z   s    € åÔ!Ø,Ð,Ø0ñ
ô 
ð 	
r   c                 ó0   — d„ }t          j        |¦  «        S )Nc                 ó2   — 	 dd l }dS # t          $ r Y dS w xY w)Nr   TF)ÚgreenletÚImportError)r   rM   s     r   Úgoz%SuiteRequirements.asyncio.<locals>.goc   s;   € ðØ���ð �tøõ ð ð ð Ø�u�uðøøøs   ‚ ˆ
•r   ©r   rO   s     r   ÚasynciozSuiteRequirements.asyncioa   s$   € ð	ð 	ð 	õ Ô! "Ñ%Ô%Ð%r   c                 ó,   — t          j        d„ ¦  «        S )Nc                 ó$   — | j         j        j        S r5   )r)   r6   Úsupports_commentsr   s    r   r   z,SuiteRequirements.comments.<locals>.<lambda>p   s   € ˜6œ9Ô,Ô>€ r   r   r   s    r   ÚcommentszSuiteRequirements.commentsm   s   € åÔ!Ø>Ð>ñ
ô 
ð 	
r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úalter_columnzSuiteRequirements.alter_columns   r;   r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úcomputed_columnsz"SuiteRequirements.computed_columnsw   rD   r   c                 óZ   — d„ }t          j        d¦  «        t          j        |¦  «        z   S )Nc                 ó6   — t          | j        j        d¦  «        S )NÚ"supports_virtual_generated_columns)Úhasattrr)   r6   r   s    r   rO   z@SuiteRequirements.computed_columns_warn_no_persisted.<locals>.go}   s   € ÝØ”	Ô!Ð#Gñô ð r   zpostgresql<18r   rP   s     r   Ú"computed_columns_warn_no_persistedz4SuiteRequirements.computed_columns_warn_no_persisted{   s4   € ð	ð 	ð 	õ
 Ô! /Ñ2Ô2µZÔ5GÈÑ5KÔ5KÑKÐKr   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úautoincrement_on_composite_pkz/SuiteRequirements.autoincrement_on_composite_pk„   rD   r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úfk_ondelete_is_reflectedz*SuiteRequirements.fk_ondelete_is_reflectedˆ   rD   r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úfk_onupdate_is_reflectedz*SuiteRequirements.fk_onupdate_is_reflectedŒ   rD   r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úfk_onupdatezSuiteRequirements.fk_onupdate�   r;   r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úfk_ondelete_restrictz&SuiteRequirements.fk_ondelete_restrict”   r;   r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úfk_onupdate_restrictz&SuiteRequirements.fk_onupdate_restrict˜   r;   r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úfk_ondelete_noactionz&SuiteRequirements.fk_ondelete_noactionœ   r;   r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úfk_initiallyzSuiteRequirements.fk_initially    rD   r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úfk_deferrablezSuiteRequirements.fk_deferrable¤   rD   r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úfk_deferrable_is_reflectedz,SuiteRequirements.fk_deferrable_is_reflected¨   rD   r   c                 ó   — | j         S r5   )Úforeign_key_name_reflectionr   s    r   Úfk_nameszSuiteRequirements.fk_names¬   s   € àÔ/Ð/r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   rt   z-SuiteRequirements.foreign_key_name_reflection°   r;   r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úinteger_subtype_comparisonsz-SuiteRequirements.integer_subtype_comparisons´   r;   r   c                 ó,   — t          j        d„ ¦  «        S )Nc                 ó$   — | j         j        j        S r5   )r)   r6   Úrequires_name_normalizer   s    r   r   z5SuiteRequirements.no_name_normalize.<locals>.<lambda>»   s   € ˜6œ9Ô,ÔD€ r   r0   r   s    r   Úno_name_normalizez#SuiteRequirements.no_name_normalize¸   s   € åÔ!ØDÐDñ
ô 
ð 	
r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úidentity_columnsz"SuiteRequirements.identity_columns¾   rD   r   c                 ó(   — t          j        ¦   «         S r5   r   r   s    r   Úidentity_columns_alterz(SuiteRequirements.identity_columns_alterÂ   rD   r   N)&Ú__name__Ú
__module__Ú__qualname__Úpropertyr   r   r!   r#   r2   r8   r:   r=   r?   rA   rC   rF   rJ   rQ   rU   rW   rY   r^   r`   rb   rd   rf   rh   rj   rl   rn   rp   rr   ru   rt   rx   r|   r~   r€   © r   r   r   r   	   s®  € € € € € Øð
ð 
ñ „Xð
ð ð!ð !ñ „Xð!ð ð#ð #ñ „Xð#ð
 ð#ð #ñ „Xð#ð ðDð Dñ „XðDð" ð
ð 
ñ „Xð
ð ð!ð !ñ „Xð!ð ð!ð !ñ „Xð!ð ð!ð !ñ „Xð!ð ð!ð !ñ „Xð!ð ð#ð #ñ „Xð#ð ð#ð #ñ „Xð#ð ð
ð 
ñ „Xð
ð ð	&ð 	&ñ „Xð	&ð ð
ð 
ñ „Xð
ð
 ð!ð !ñ „Xð!ð ð#ð #ñ „Xð#ð ðLð Lñ „XðLð ð#ð #ñ „Xð#ð ð#ð #ñ „Xð#ð ð#ð #ñ „Xð#ð ð!ð !ñ „Xð!ð ð!ð !ñ „Xð!ð ð!ð !ñ „Xð!ð ð!ð !ñ „Xð!ð ð#ð #ñ „Xð#ð ð#ð #ñ „Xð#ð ð#ð #ñ „Xð#ð ð0ð 0ñ „Xð0ð ð!ð !ñ „Xð!ð ð!ð !ñ „Xð!ð ð
ð 
ñ „Xð
ð
 ð#ð #ñ „Xð#ð ð#ð #ñ „Xð#ð #ð #r   r   )r   Úsqlalchemy.testing.requirementsr   Úalembicr   Útestingr   r   r…   r   r   ú<module>r‰      s‚   ðØ 
€
€
€
à 8Ð 8Ð 8Ð 8Ð 8Ð 8à Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  ð{#ð {#ð {#ð {#ð {#˜ñ {#ô {#ð {#ð {#ð {#r   