Ë
    ýÿæi–‘  ã                  ó|
  — d dl mZ d dlm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	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 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  er~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( 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/ d d&l&m0Z0 d d'l1m2Z2 d d(l3m4Z4 d d)l5m6Z6 d d*l7m8Z8 d d+l9m:Z: d d,l9m;Z; d-Z<	 	 	 	 	 	 dcd.„Z=ddd/„Z>	 	 	 	 	 	 	 	 ded0„Z? ej€                  «       xZAZB	 	 	 	 	 	 dfd1„ZC	 	 	 	 	 	 dgd2„ZD	 	 	 	 	 	 dhd3„ZEeBj�                  ejv                  «      	 	 	 	 	 	 did4„«       ZGeBj�                  ej�                  «      	 	 	 	 	 	 djd5„«       ZIeBj�                  ej”                  «      	 	 	 	 	 	 dkd6„«       ZKeBj�                  ej˜                  «      dld7„«       ZMeBj�                  ejœ                  «      dmd8„«       ZO	 	 	 	 	 	 dnd9„ZPeBj�                  ej¢                  «      dod:„«       ZReBj�                  ej¦                  «      dpd;„«       ZTeBj�                  ejª                  «      	 	 	 	 	 	 dqd<„«       ZVeBj�                  ej®                  «      	 	 	 	 	 	 drd=„«       ZXeBj�                  ej²                  «      d>„ «       ZZeBj�                  ej¶                  «      d?„ «       Z\eBj�                  ejº                  «      	 	 	 	 	 	 dsd@„«       Z^eBj�                  ej¾                  «      dtdA„«       Z`eBj�                  ejÂ                  «      dudB„«       ZbeBj�                  ejÆ                  «      	 	 	 	 	 	 dvdC„«       Zd G dD„ dE«      ZedwdF„ZfdGdHdHdIœ	 	 	 	 	 	 	 	 	 	 	 dxdJ„Zg	 	 	 	 	 	 dydK„Zh	 	 	 	 	 	 	 	 dzdL„ZidM„ Zjd{dN„Zkd{dO„Zl	 	 	 	 	 	 	 	 d|dP„Zm	 	 	 	 	 	 d}dQ„Znd~dR„Zo	 d	 	 	 	 	 	 	 d€dS„Zp	 	 	 	 	 	 d�dT„Zq	 	 	 	 	 	 d‚dU„Zrd{dV„Zs	 dƒ	 	 	 	 	 	 	 d„dW„Ztd…dX„Zu	 	 	 	 	 	 d†dY„Zv	 d‡	 	 	 	 	 	 	 	 	 	 	 dˆdZ„Zw ej€                  «       Zx	 	 	 	 	 	 	 	 d‰d[„Zyexj�                  ej^                  «      	 	 	 	 	 	 	 	 dŠd\„«       Zz	 	 	 	 	 	 	 	 d‹d]„Z{	 	 	 	 	 	 dŒd^„Z|exj�                  ejX                  «      	 	 	 	 	 	 	 	 d�d_„«       Z}exj�                  ej`                  «      	 	 	 	 	 	 	 	 dŽd`„«       Z~exj�                  ejN                  «      	 	 	 	 	 	 	 	 d�da„«       ZeBj�                  e�j                   «      d�db„«       Z�eA�j                  «       ZBy)‘é    )Úannotations)ÚStringION)ÚAny)Úcast)ÚDict)ÚList)ÚOptional)ÚTuple)ÚTYPE_CHECKING)ÚUnion)ÚPythonPrinter)Úschema)Úsql)Útypes)Ú_DialectArgView)Úconv)ÚLabel)Úquoted_nameé   )Úutil)Úops)Úsqla_compat)ÚLiteral)ÚComputed)ÚIdentity)ÚColumnElement)Ú
TextClause)ÚCheckConstraint)ÚColumn)Ú
Constraint)ÚFetchedValue)Ú
ForeignKey)ÚForeignKeyConstraint)ÚIndex)ÚMetaData)ÚPrimaryKeyConstraint)ÚUniqueConstraint)ÚARRAY)Ú
TypeEngine)ÚAutogenContext)ÚConfig)ÚMigrationScript)ÚModifyTableOpséÿ   c                óv   — t        |t        «      rt        t        | «      |«      S t	        j
                  |«      S ©N)Ú
isinstancer   Ú_f_nameÚ_alembic_autogenerate_prefixr   Úconstraint_name_or_none)Úautogen_contextÚnames     úp/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/alembic/autogenerate/render.pyÚ_render_gen_namer8   ;   s2   € ô �$œÔÜÔ3°OÓDÀdÓKÐKä×2Ñ2°4Ó8Ð8ó    c                óò   — t        j                  dt         j                  «      j                  d| «      j	                  «       } t        j                  dt         j                  «      j                  d| «      } | S )NÚ^ú    z +$Ú )ÚreÚcompileÚMÚsubÚstrip)Útexts    r7   Ú_indentrD   E   sR   € Ü�:‰:�dœBŸD™DÓ!×%Ñ% f¨dÓ3×9Ñ9Ó;€DÜ�:‰:�fœbŸd™dÓ#×'Ñ'¨¨DÓ1€DØ€Kr9   c                ó.  — | j                   }t        |j                  |j                  «      D ]I  \  }}t	        t        || «      «      ||j                  <   t	        t        || «      «      ||j                  <   ŒK dj                  t        |«      «      |d<   y )NÚ
Úimports)
rG   ÚzipÚupgrade_ops_listÚdowngrade_ops_listrD   Ú_render_cmd_bodyÚupgrade_tokenÚdowngrade_tokenÚjoinÚsorted)r5   Úmigration_scriptÚtemplate_argsrG   Úupgrade_opsÚdowngrade_opss         r7   Ú _render_python_into_templatevarsrT   K   s�   € ð
 ×%Ñ%€Gä&)Ø×)Ñ)Ð+;×+NÑ+Nö'Ñ"ˆ�]ô 4;Ü˜[¨/Ó:ó4
ˆ�k×/Ñ/Ñ0ô 8?Ü˜]¨OÓ<ó8
ˆ�m×3Ñ3Ò4ð'ð  $Ÿy™y¬°«Ó9€M�)Òr9   c                óB  — t        «       }t        |«      }|j                  d«       d}| j                  D ]5  }t	        ||«      }|xs t        |«      }|D ]  }|j                  |«       Œ Œ7 |s|j                  d«       |j                  d«       |j                  «       S )Nz=# ### commands auto generated by Alembic - please adjust! ###FÚpassz# ### end Alembic commands ###)r   r   Ú	writeliner   Ú	render_opÚboolÚgetvalue)Úop_containerr5   ÚbufÚprinterÚ	has_linesÚopÚlinesÚlines           r7   rK   rK   a   s�   € ô ‹*€CÜ˜CÓ €Gà×ÑØGôð €IØ×ÔˆÜ˜/¨2Ó.ˆØÒ,¤ e£ˆ	ãˆDØ×Ñ˜dÕ#ñ ð	 ñ Ø×Ñ˜&Ô!à×ÑÐ6Ô7à�<‰<‹>Ðr9   c                óh   — t         j                  |«      }t        j                   || |«      «      }|S r0   )Ú	renderersÚdispatchr   Úto_list)r5   r_   Úrendererr`   s       r7   rX   rX   |   s.   € ô ×!Ñ! "Ó%€HÜ�L‰L™ /°2Ó6Ó7€EØ€Lr9   c                ó8   — dj                  t        | |«      «      S )NrF   )rN   rX   ©r5   r_   s     r7   Úrender_op_textri   „   s   € ð �9‰9”Y˜°Ó3Ó4Ð4r9   c                óè  — | j                   }|j                  dd«      }|j                  rºg }|r†| j                  «       5  |j	                  d|j
                  ›d|j                  ›d�«       |j                  D ]  }t        | |«      }|j                  |«       Œ! |j	                  d«       d d d «       |S |j                  D ]  }t        | |«      }|j                  |«       Œ! |S g S # 1 sw Y   |S xY w)NÚrender_as_batchFzwith op.batch_alter_table(z	, schema=z) as batch_op:r=   )	ÚoptsÚgetr   Ú_within_batchÚappendÚ
table_namer   rX   Úextend)r5   r_   rl   rk   r`   Út_opÚt_liness          r7   Ú_render_modify_tablert   Š   sÜ   € ð ×Ñ€DØ—h‘hÐ0°%Ó8€Oà	‡v‚vØˆÙØ ×.Ñ.Õ0Ø—’à—}“} b§i£ið1ôð ŸFœF�DÜ'¨¸Ó>�GØ—L‘L Õ)ð #ð —‘˜RÔ ÷ 1ð ˆð	 Ÿœ�Ü# O°TÓ:�Ø—‘˜WÕ%ð ð ˆàˆ	÷! 1ð ˆús   ¿A,C'Ã'C1c                ó&  — | j                   rd}nd}|j                  t        | «      |j                  |j                  �d|j                  z  nd |j
                  �d|j
                  z  nd |j                  �d|j                  z  d¬«      S d d¬«      S )NzV{prefix}create_table_comment(
{indent}{comment},
{indent}existing_comment={existing}
)z‚{prefix}create_table_comment(
{indent}'{tname}',
{indent}{comment},
{indent}existing_comment={existing},
{indent}schema={schema}
)ú%rú'%s'r<   )ÚprefixÚtnameÚcommentÚexistingr   Úindent)Ú
_has_batchÚformatr3   rp   rz   Úexisting_commentr   ©r5   r_   Útempls      r7   Ú_render_create_table_commentr‚   §   s±   € ð ×!Ò!ðñ 	ðð 	ð �<‰<Ü+¨OÓ<Ø�m‰mØ%'§Z¡ZÐ%;��r—z‘zÒ!Àð ×"Ñ"Ð.ð �2×&Ñ&Ò&àà%'§Y¡YÐ%:ˆv˜Ÿ	™	Ñ!Øð ó ð ð AEØð ó ð r9   c                óî   — | j                   rd}nd}|j                  t        | «      |j                  |j                  �d|j                  z  nd |j
                  �d|j
                  z  d¬«      S d d¬«      S )NzA{prefix}drop_table_comment(
{indent}existing_comment={existing}
)zm{prefix}drop_table_comment(
{indent}'{tname}',
{indent}existing_comment={existing},
{indent}schema={schema}
)rv   rw   r<   )rx   ry   r{   r   r|   )r}   r~   r3   rp   r   r   r€   s      r7   Ú_render_drop_table_commentr„   É   sš   € ð ×!Ò!ðñ 	ðð 	ð �<‰<Ü+¨OÓ<Ø�m‰mð ×"Ñ"Ð.ð �2×&Ñ&Ò&àà%'§Y¡YÐ%:ˆv˜Ÿ	™	Ñ!Øð ó 
ð 
ð AEØð ó 
ð 
r9   c                ó  — |j                  «       }|j                  D �cg c]  }t        || «      ‘Œ c}D �cg c]  }|r|‘Œ c}t        |j                  D �cg c]  }t        || |j                  «      ‘Œ c}D �cg c]  }|�|‘Œ c}«      z   }t        |«      t        kD  rddj                  |«      z   dz   }ndj                  |«      }dt        |j                  «      t        | «      |dœz  }|j                  r|dt        |j                  «      z  z  }|j                  }	|	r|dt        |	«      z  z  }|j                  }
|
r|d|
›�z  }t        |j                   «      D ]*  }|d|j#                  d	d
«      ›d|j                   |   ›�z  }Œ, |j$                  r*dj                  d„ |j$                  D «       «      }|d|z  z  }|j&                  �|dt)        |j&                  «      z  z  }|dz  }|S c c}w c c}w c c}w c c}w )Nz*[ú,
Ú]z.%(prefix)screate_table(%(tablename)r,
%(args)s)Ú	tablenamerx   Úargsz,
schema=%rz,
comment=%rz,
info=Ú Ú_Ú=ú, c              3  ó&   K  — | ]	  }d |z  –— Œ y­w)rw   N© )Ú.0Úps     r7   Ú	<genexpr>z_add_table.<locals>.<genexpr>  s   è ø€ ÐA±¨A˜V a�Z±ùó   ‚z,
prefixes=[%s]z,
if_not_exists=%rz
))Úto_tableÚcolumnsÚ_render_columnrO   ÚconstraintsÚ_render_constraintÚ_namespace_metadataÚlenÚMAX_PYTHON_ARGSrN   Ú_identrp   r3   r   rz   ÚinfoÚkwÚreplaceÚ	_prefixesÚif_not_existsrY   )r5   r_   ÚtableÚcolÚconsÚrconsr‰   Úargs_strrC   rz   r�   ÚkÚprefixess                r7   Ú
_add_tabler©   è   s(  € à�K‰K‹M€Eð
 =B¿MºMó
Ù<I°SŒN˜3 Õ0¸Mò
óñ
ˆCñ ò	 	ð
ñô 	ð "×-Ò-ó	ñ .�Dô #Ø˜/¨2×+AÑ+Aõð .ò	ó		
ñ�ð Ð ò ðñ		
ó	ñ€Dô& ˆ4ƒy”?Ò"Ø˜%Ÿ*™* TÓ*Ñ*¨SÑ0‰à—:‘:˜dÓ#ˆà<Ü˜BŸM™MÓ*Ü.¨Ó?Øñ@ñ €Dð
 
‡y‚yØ�¤¨¯	©	Ó!2Ñ2Ñ2ˆà�m‰m€GÙØ�¤&¨£/Ñ1Ñ1ˆà�:‰:€DÙØ�(˜4˜(Ð#Ñ#ˆä�B—E‘EŽ]ˆÙ˜aŸi™i¨¨SÕ1°2·5±5¸²8Ð<Ñ<‰ð ð ‡‚Ø—9‘9ÑA°·²ÓAÓAˆØÐ" XÑ-Ñ-ˆà	×ÑÐ#ØÐ%¬¨R×-=Ñ-=Ó(>Ñ>Ñ>ˆàˆE�M€DØ€Kùòc
ùòùòùò		
s   ŸG0·G5ÁG:
Á:G?
c                óô   — dt        | «      t        |j                  «      dœz  }|j                  r|dt        |j                  «      z  z  }|j                  �|dt        |j                  «      z  z  }|dz  }|S )Nz%(prefix)sdrop_table(%(tname)r)rx   ry   ú, schema=%rz, if_exists=%rÚ))r3   rœ   rp   r   Ú	if_existsrY   )r5   r_   rC   s      r7   Ú_drop_tabler®   "  sw   € à+Ü.¨Ó?Ü˜Ÿ™Ó&ñ/ñ €Dð 
‡y‚yØ�¤ r§y¡yÓ 1Ñ1Ñ1ˆà	‡|�|ÐØÐ ¤4¨¯©Ó#5Ñ5Ñ5ˆàˆC�K€DØ€Kr9   c           
     ór   — |j                  «       D ��cg c]  \  }}|› dt        || «      › �‘Œ c}}S c c}}w )NrŒ   )ÚitemsÚ_render_potential_expr)r5   Údialect_kwargsÚkeyÚvals       r7   Ú_render_dialect_kwargs_itemsrµ   2  sJ   € ð
 '×,Ñ,Ô.ôá.‰HˆC�ð ˆ%ˆqÔ'¨¨_Ó=Ð>Ò?Ø.òð ùó s   ”3c                ór  — |j                  «       }| j                  }|rd}nd}|j                  €J ‚t        | |j                  «      }|j
                  �'|j                  dt        |j
                  «      z  «       |t        | «      t        | |j                  «      t        |j                  j                  «      dj                  t        || «      «      |j                  xs d|j                  j                  r"dt        |j                  j                  «      z  nd|rddj                  |«      z   nddœz  }|S )	NzL%(prefix)screate_index(%(name)r, [%(columns)s], unique=%(unique)r%(kwargs)s)za%(prefix)screate_index(%(name)r, %(table)r, [%(columns)s], unique=%(unique)r%(schema)s%(kwargs)s)zif_not_exists=%rr�   Fr«   r=   )rx   r6   r¢   r•   Úuniquer   Úkwargs)Úto_indexr}   r¢   rµ   r²   r¡   ro   rY   r3   r8   r6   rœ   rN   Ú_get_index_rendered_expressionsr·   r   ©r5   r_   ÚindexÚ	has_batchÚtmplrl   rC   s          r7   Ú
_add_indexr¿   ;  s  € à�K‰K‹M€Eà×*Ñ*€Iáð+ñ 	ð5ð 	ð
 �;‰;Ð"Ð"Ð"ä'¨¸×9MÑ9MÓN€DØ	×ÑÐ#Ø�‰Ð&¬¨b×.>Ñ.>Ó)?Ñ?Ô@ØÜ.¨Ó?Ü  °%·*±*Ó=Ü˜Ÿ™×(Ñ(Ó)Ø—9‘9Ü+¨E°?ÓCó
ð —,‘,Ò' %ð �{‰{×!Ò!ð œV E§K¡K×$6Ñ$6Ó7Ò7àá,0�$˜Ÿ™ 4›Ò(°bññ €Dð €Kr9   c           	     óÈ  — |j                  «       }| j                  }|rd}nd}t        | |j                  «      }|j                  �'|j                  dt        |j                  «      z  «       |t        | «      t        | |j                  «      t        |j                  «      |j                  rdt        |j                  «      z  nd|rddj                  |«      z   nddœz  }|S )Nz(%(prefix)sdrop_index(%(name)r%(kwargs)s)zM%(prefix)sdrop_index(%(name)r, table_name=%(table_name)r%(schema)s%(kwargs)s)zif_exists=%rr«   r=   r�   )rx   r6   rp   r   r¸   )r¹   r}   rµ   r²   r­   ro   rY   r3   r8   Ú
index_namerœ   rp   r   rN   r»   s          r7   Ú_drop_indexrÂ   c  sÇ   € à�K‰K‹M€Eà×*Ñ*€IáØ9‰ð=ð 	ô (¨¸×9MÑ9MÓN€DØ	‡|�|ÐØ�‰�N¤T¨"¯,©,Ó%7Ñ7Ô8ØÜ.¨Ó?Ü  °"·-±-Ó@Ü˜RŸ]™]Ó+Ø:<¿)º)�M¤F¨2¯9©9Ó$5Ò5ÈÙ,0�$˜Ÿ™ 4›Ò(°bññ €Dð €Kr9   c                ó:   — t        |j                  «       | d«      gS )NT)Ú_uq_constraintÚto_constraintrh   s     r7   Ú_add_unique_constraintrÆ   }  s   € ô ˜2×+Ñ+Ó-¨ÀÓEÐFÐFr9   c                óR  — |j                  «       }t        t        | |j                  «      «      g}| j                  s-|j                  t        t        |j                  «      «      «       |j                  t        t        |j                  «      «      t        |j                  D �cg c]  }t        |«      ‘Œ c}«      t        |j                  D �cg c]  }t        |«      ‘Œ c}«      g«       g d¢}| j                  s|j                  dd«       |D ]9  }||j                  v sŒ|j                  |   }|€Œ$|j                  |›d|›�«       Œ; t        | |j                  «      }dt!        | «      dj#                  |«      |rddj#                  |«      z   dœz  S ddœz  S c c}w c c}w )	N)Úreferent_schemaÚonupdateÚondeleteÚ	initiallyÚ
deferrableÚ	use_alterÚmatchr   Úsource_schemarŒ   z8%(prefix)screate_foreign_key(%(args)s%(dialect_kwargs)s)r�   r=   )rx   r‰   r²   )rÅ   Úreprr8   Úconstraint_namer}   ro   rœ   Úsource_tablerq   Úreferent_tableÚ
local_colsÚremote_colsÚinsertrž   rµ   r²   r3   rN   )	r5   r_   Ú
constraintr‰   r£   r¸   r§   Úvaluer²   s	            r7   Ú_add_fk_constraintrÙ   „  s}  € ð ×!Ñ!Ó#€JÜÔ! /°2×3EÑ3EÓFÓGÐH€DØ×%Ò%Ø�‰”Dœ §¡Ó0Ó1Ô2à‡K�Kä”˜×)Ñ)Ó*Ó+Ü¨¯ªÓ7© #”&˜•+¨Ñ7Ó8Ü¨¯ªÓ8© #”&˜•+¨Ñ8Ó9ð	
ôò€Fð ×%Ò%Ø�‰�a˜Ô)ãˆØ�—‘Š:Ø—E‘E˜!‘HˆEØÑ Ø—‘¢q©%Ð0Õ1ð	 ô 2Ø˜×2Ñ2ó€Nð FÜ.¨Ó?Ø—	‘	˜$“á0>ˆD�4—9‘9˜^Ó,Ñ,ñ	Iñ ð ð EGñ	Iñ ð ùò5 8ùÚ8s   Â%FÃF$c                ó   — t        «       ‚r0   ©ÚNotImplementedError©r×   r5   s     r7   Ú_add_pk_constraintrÞ   ³  ó   € ä
Ó
Ðr9   c                ó   — t        «       ‚r0   rÛ   rÝ   s     r7   Ú_add_check_constraintrá   ¸  rß   r9   c                óD  — t        | «      }t        | |j                  «      }|j                  rt	        |j                  «      nd }|j
                  rt	        |j
                  «      nd }|j                  }g }|j                  t        |«      «       | j                  sC|j                  t        t	        |j                  «      «      «       |�|j                  d|›�«       |�|j                  d|›�«       |�|j                  d|› �«       |› ddj                  |«      › d�S )Núschema=útype_=z
if_exists=zdrop_constraint(r�   r¬   )r3   r8   rÑ   r   rœ   Úconstraint_typer­   ro   rÐ   r}   rp   rN   )r5   r_   rx   r6   r   Útype_r­   Úparams_strss           r7   Ú_drop_constraintrè   ½  s  € ô *¨/Ó:€FÜ˜O¨R×-?Ñ-?Ó@€DØ"$§)¢)ŒV�B—I‘IÔ°€FØ*,×*<Ò*<ŒF�2×%Ñ%Ô&À$€EØ—‘€IØ€KØ×Ñ”t˜D“zÔ"Ø×%Ò%Ø×Ñœ4¤ r§}¡}Ó 5Ó6Ô7ØÐØ×Ñ ¨¨
Ð3Ô4ØÐØ×Ñ˜V E 9Ð-Ô.ØÐØ×Ñ˜Z¨	 {Ð3Ô4àˆXÐ% d§i¡i°Ó&<Ð%=¸QÐ?Ð?r9   c                óð   — |j                   |j                  |j                  |j                  f\  }}}}| j                  rd}nd}|r|dz  }|�|dz  }|dz  }|t        | «      |t        || «      ||dœz  }|S )Nz %(prefix)sadd_column(%(column)s)z*%(prefix)sadd_column(%(tname)r, %(column)sú, schema=%(schema)rz!, if_not_exists=%(if_not_exists)rr¬   )rx   ry   Úcolumnr   r¡   )r   rp   rë   r¡   r}   r3   r–   )r5   r_   r   ry   rë   r¡   ÚtemplaterC   s           r7   Ú_add_columnrí   Ô  s    € ð 	�	‰	Ø
�‰Ø
�	‰	Ø
×Ñð	,Ñ(€FˆE�6˜=ð ×!Ò!Ø5‰à?ˆÙØÐ-Ñ-ˆHØÐ$ØÐ;Ñ;ˆHØ�C‰ˆØÜ.¨Ó?ØÜ  ¨Ó9ØØ&ññ €Dð €Kr9   c                ó  — |j                   |j                  |j                  |j                  f\  }}}}| j                  rd}nd}|r|dz  }|�|dz  }|dz  }|t        | «      t        |«      t        |«      t        |«      |dœz  }|S )Nz %(prefix)sdrop_column(%(cname)r)z*%(prefix)sdrop_column(%(tname)r, %(cname)rrê   z, if_exists=%(if_exists)rr¬   )rx   ry   Úcnamer   r­   )r   rp   Úcolumn_namer­   r}   r3   rœ   )r5   r_   r   ry   rð   r­   rì   rC   s           r7   Ú_drop_columnrñ   ï  s¤   € ð 	�	‰	Ø
�‰Ø
�‰Ø
�‰ð	-Ñ)€FˆE�; 	ð ×!Ò!Ø5‰à?ˆÙØÐ-Ñ-ˆHØÐ ØÐ3Ñ3ˆHØ�C‰ˆàÜ.¨Ó?Ü˜“Ü˜Ó$Ü˜“.Øññ €Dð €Kr9   c                óT  — |j                   }|j                  }|j                  }|j                  }|j                  }|j
                  }|j                  }|j                  j                  dd «      }	|j                  }
|j                  }|j                  }|j                  }|j                  }d}| j                  rd}nd}|t        | «      ||dœz  }|
�|d|›dt!        |
| «      ›�z  }|durt#        || «      }|d|›d	|›�z  }|�|d|›d
|›�z  }|�|d|›dt!        || «      ›�z  }|�|d|›d|›�z  }|dur|d|›d|›�z  }|�|d|›d|›�z  }|€|�|d|›d|›�z  }|	�|d|›d|	›�z  }|du r|rt#        || «      }|d|›d|›�z  }|r| j                  s|d|›d|›�z  }|dz  }|S )NÚautoincrementz           z %(prefix)salter_column(%(cname)rz+%(prefix)salter_column(%(tname)r, %(cname)r)rx   ry   rï   r†   zexisting_type=Fzserver_default=znew_column_name=rä   z	nullable=zcomment=zexisting_comment=zexisting_nullable=zautoincrement=zexisting_server_default=rã   r¬   )rp   rð   Úmodify_server_defaultÚmodify_typeÚmodify_nullableÚmodify_commentÚmodify_namerž   rm   Úexisting_typeÚexisting_nullabler   Úexisting_server_defaultr   r}   r3   Ú
_repr_typeÚ_render_server_default)r5   r_   ry   rï   Úserver_defaultræ   Únullablerz   Únewnameró   rù   rú   r   rû   r   r|   rì   rC   Úrendereds                      r7   Ú_alter_columnr    s
  € ð �M‰M€EØ�N‰N€EØ×-Ñ-€NØ�N‰N€EØ×!Ñ!€HØ×Ñ€GØ�n‰n€GØ—E‘E—I‘I˜o¨tÓ4€MØ×$Ñ$€MØ×,Ñ,ÐØ×*Ñ*ÐØ ×8Ñ8ÐØ�Y‰Y€Fà€Fà×!Ò!Ø5‰à@ˆàÜ.¨Ó?ØØññ €Dð
 Ð ÙÚÜ�} oÔ6ð
ñ 	
ˆð ˜UÑ"Ü)¨.¸/ÓJˆÙªF±HÐ=Ñ=ˆàÐÙªV±WÐ=Ñ=ˆØÐÙ¢6¬:°e¸_Ô+MÐNÑNˆØÐÙ¢f©hÐ7Ñ7ˆØ�eÑÙ¢V©WÐ5Ñ5ˆØÐ#ÙªfÑ6FÐGÑGˆØÐÐ-Ð9ÙªvÑ7HÐIÑIˆØÐ Ùª6±=ÐAÑAˆØ˜ÑÑ#:Ü)Ø# _ó
ˆñ 	²V¹XÐFÑFˆÙ�o×0Ò0Ù¢F©FÐ3Ñ3ˆØˆC�K€DØ€Kr9   c                  ó   — e Zd Zdd„Zdd„Zy)r2   c                ó    — || _         || _        y r0   )rx   r6   )Úselfrx   r6   s      r7   Ú__init__z_f_name.__init__M  s   € ØˆŒØˆ�	r9   c                óL   — | j                   ›dt        | j                  «      ›d�S )Nzf(r¬   )rx   rœ   r6   )r  s    r7   Ú__repr__z_f_name.__repr__Q  s   € Ø ŸK›K¬°·	±	Õ):Ð;Ð;r9   N)rx   Ústrr6   r   ÚreturnÚNone)r
  r	  )Ú__name__Ú
__module__Ú__qualname__r  r  r�   r9   r7   r2   r2   L  s   „ óô<r9   r2   c                óf   — | €| S t        | t        «      rt        | «      S t        | t        «      r| S y)zþproduce a __repr__() object for a string identifier that may
    use quoted_name() in SQLAlchemy 0.9 and greater.

    The issue worked around here is that quoted_name() doesn't have
    very good repr() behavior by itself when unicode is involved.

    N)r1   r   r	  )r6   s    r7   rœ   rœ   U  s6   € ð €|ØˆÜ	�Dœ+Ô	&Ü�4‹yÐÜ	�Dœ#Ô	Øˆð 
r9   TF)Úwrap_in_elementÚis_server_defaultÚis_indexc               óp  — t        | t        j                  «      r’|j                  j                  j                  | ||¬«      }|r]t        |«      }|rdnd}|› |› d|›d�}|r>t        | t        «      r.t        | j                  «      t        u r|d| j                  ›d�z   S |S t        |«      S t        | «      S )N)r  r  Úliteral_columnrC   Ú(r¬   z.label()r1   r   ÚClauseElementÚmigration_contextÚimplÚrender_ddl_sql_exprÚ_sqlalchemy_autogenerate_prefixr   Útyper6   r	  rÐ   )	rØ   r5   r  r  r  Úsql_textrx   ÚelementÚ	value_strs	            r7   r±   r±   e  s½   € ô �%œ×*Ñ*Ô+Ø"×4Ñ4×9Ñ9×MÑMØÐ%6Àð Nó 
ˆñ Ü4°_ÓEˆFÙ*2Ñ&¸ˆGØ!˜( 7 )¨1¨X¨L¸Ð:ˆIáÜ˜u¤eÔ,Ü˜Ÿ™Ó$¬Ñ+à  W¨U¯Z©Z¨N¸!Ð#<Ñ<Ð<à Ð ä˜“>Ð!ä�E‹{Ðr9   c                óÊ   — | j                   D �cg c]I  }t        |t        j                  «      rt	        t        t        |dd «      «      «      nt        ||d¬«      ‘ŒK c}S c c}w )Nr6   T)r  )Úexpressionsr1   Ú	sa_schemar   rÐ   rœ   Úgetattrr±   )Úidxr5   Úexps      r7   rº   rº   ƒ  sh   € ð —?’?óñ #ˆCô ˜#œy×/Ñ/Ô0ô ”œ  V¨TÓ2Ó3Ô4ä'¨¨_ÀtÔLñMð #ñð ùò s   �AA c           
     ó  — g }|j                   }| j                  r|j                  d| j                  f«       | j                  r|j                  d| j                  f«       |sH|rF| j                  j
                  r0|j                  dt        | j                  j
                  «      f«       |s3| j                  r'|j                  dt        || j                  «      f«       t        || j                  «      }|rít        t        || j                  «      «      g}|s,|t        t        | j                  j                  «      «      gz  }|j                  t        | j                  D �cg c]  }t        |j                  «      ‘Œ c}«      «       |j                  |D ��	cg c]  \  }}	|›d|	›�‘Œ c}	}«       |j                  |«       dt        |«      dj                  |«      dœz  S | j                  D �cg c]   }t        t        |j                  «      «      ‘Œ" }}|j                  |D ��	cg c]  \  }}	|›d|	›�‘Œ c}	}«       |j                  |«       d	t!        |«      dj                  |«      dœz  S c c}w c c}	}w c c}w c c}	}w )
NrÌ   rË   r   r6   rŒ   z,%(prefix)screate_unique_constraint(%(args)s)r�   ©rx   r‰   z$%(prefix)sUniqueConstraint(%(args)s))r}   rÌ   ro   rË   r¢   r   rœ   r6   r8   rµ   r²   rÐ   r•   rq   r3   rN   r  )
r×   r5   Úalterrl   r½   Údialect_optionsr‰   r£   r§   Úvs
             r7   rÄ   rÄ   �  s'  € ð
 #%€Dà×*Ñ*€Ià×ÒØ�‰�\ :×#8Ñ#8Ð9Ô:Ø×ÒØ�‰�[ *×"6Ñ"6Ð7Ô8Ù™ :×#3Ñ#3×#:Ò#:Ø�‰�Xœv j×&6Ñ&6×&=Ñ&=Ó>Ð?Ô@Ù�Z—_’_Ø�‰ØÔ% o°z·±ÓGÐHô	
ô 3Ø˜×2Ñ2ó€Oñ ÜÔ% o°z·±ÓGÓHÐIˆÙØ”Tœ& ×!1Ñ!1×!6Ñ!6Ó7Ó8Ð9Ñ9ˆDØ�‰”D°j×6HÒ6HÓIÑ6H¨sœ& §¡Õ*Ð6HÑIÓJÔKØ�‰±$Ô7±$©$¨!¨Q¢¡1Ò%°$Ò7Ô8Ø�‰�OÔ$Ø=Ü2°?ÓCØ—I‘I˜d“OñA
ñ 
ð 	
ð
 3=×2DÒ2DÓEÑ2D¨3””V˜CŸH™HÓ%Õ&Ð2DˆÐEØ�‰±$Ô7±$©$¨!¨Q¢¡1Ò%°$Ò7Ô8Ø�‰�OÔ$Ø5Ü5°oÓFØ—I‘I˜d“Oñ9
ñ 
ð 	
ùò JùÛ7ùò FùÛ7s   Å$I4ÆI9
Ç3%I?È*J
c                óF   — | j                   d   }|€d|j                  z  S |S )NÚuser_module_prefixz%s.)rl   r  )r5   Útargetrx   s      r7   Ú_user_autogenerate_prefixr-  ¼  s.   € Ø×!Ñ!Ð"6Ñ7€FØ€~Ø�v×(Ñ(Ñ(Ð(àˆr9   c                ó(   — | j                   d   xs dS )NÚsqlalchemy_module_prefixr=   ©rl   ©r5   s    r7   r  r  Ä  s   € Ø×ÑÐ :Ñ;ÒA¸rÐAr9   c                óB   — | j                   ry| j                  d   xs dS )Nz	batch_op.Úalembic_module_prefixr=   )r}   rl   r1  s    r7   r3   r3   È  s%   € Ø×!Ò!Øà×#Ñ#Ð$;Ñ<ÒBÀÐBr9   c                ób   — d|j                   v r!|j                   d   }|r || ||«      }|dur|S y)NÚrender_itemFr0  )ræ   Úobject_r5   Úrenderr  s        r7   Ú_user_defined_renderr8  Ï  sC   € ð ˜×,Ñ,Ñ,Ø ×%Ñ% mÑ4ˆÙÙ˜e W¨oÓ>ˆHØ˜uÑ$Ø�Ør9   c                ó  — t        d| |«      }|dur|S g }g }| j                  rRt        | j                  |«      }|r:t        | j                  «      r|j	                  |«       n|j	                  d|f«       | j
                  �:| j
                  t        j                  k7  r|j	                  d| j
                  f«       | j                  �|j	                  d| j                  f«       | j                  r|j	                  d| j                  f«       | j                  }|r|j	                  dd|z  f«       d	t        |«      t        | j                  «      t        | j                  |«      |r+d
j!                  |D �cg c]  }t#        |«      ‘Œ c}«      d
z   ndd
j!                  |D ��cg c]  \  }}|›d|›�‘Œ c}}| j$                  j'                  «       D �	�cg c]  \  }	}|	›dt)        ||«      ›�‘Œ c}}	z   «      dœz  S c c}w c c}}w c c}}	w )Nrë   Frþ   ró   rÿ   Úsystemrz   rv   z8%(prefix)sColumn(%(name)r, %(type)s, %(args)s%(kwargs)s)r�   r=   rŒ   )rx   r6   r  r‰   r¸   )r8  rþ   rý   Ú*_should_render_server_default_positionallyro   ró   r   ÚAUTOINCREMENT_DEFAULTrÿ   r:  rz   r  rœ   r6   rü   r  rN   r	  r¸   r°   r±   )
rë   r5   r  r‰   rl   rz   ÚargÚkwnamer´   r³   s
             r7   r–   r–   Û  sî  € ô $ H¨f°oÓF€HØ�uÑØˆà€DØ"$€Dà×ÒÜ)Ø×!Ñ! ?ó
ˆñ Ü9Ø×%Ñ%ôð —‘˜HÕ%à—‘Ð-¨xÐ8Ô9ð 	×ÑÐ(Ø× Ñ ¤K×$EÑ$EÒEà�‰�_ f×&:Ñ&:Ð;Ô<à‡�Ð"Ø�‰�Z §¡Ð1Ô2à‡}‚}Ø�‰�X˜vŸ}™}Ð-Ô.à�n‰n€GÙØ�‰�Y  w¡Ð/Ô0ð FÜ1°/ÓBÜ�v—{‘{Ó#Ü˜6Ÿ;™;¨Ó8Ù@D�—	‘	©tÓ4©t¨œ3˜s�8¨tÑ4Ó5¸Ò<È"à�I‰IÙ<@ÔA¹D©[¨V°SšF¡CÒ(¸DÒAð %+§M¡M×$7Ñ$7Ô$9ôñ %:™˜˜Sò Ô2°3¸ÔHòJà$9òñóñIñ ð ùò 5ùó Bùós   Å7G>Æ$HÇH	c                óZ   — t        j                  | «      xs t        j                  | «      S r0   )r   Ú_server_default_is_computedÚ_server_default_is_identity)rþ   s    r7   r;  r;    s-   € Ü×2Ñ2Øóò Aä	×	0Ñ	0°Ó	@ðAr9   c                óT  — t        d| |«      }|dur|S t        j                  | «      rt        t	        d| «      |«      S t        j
                  | «      rt        t	        d| «      |«      S t        | t        j                  «      r?t        | j                  t        «      r| j                  } n=t        | j                  |d¬«      S t        | t        j                  «      rt        |«      S t        | t        «      r"|r t        t!        j"                  dd| «      «      } t	        t        | «      S )	Nrþ   Fr   r   T)r  z^'|'$r=   )r8  r   r@  Ú_render_computedr   rA  Ú_render_identityr1   r!  ÚDefaultClauser=  r	  r±   r!   Ú_render_fetched_valuerÐ   r>   rA   )Údefaultr5   Úrepr_r  s       r7   rý   rý     sð   € ô $Ð$4°g¸ÓO€HØ�uÑØˆä×.Ñ.¨wÔ7Ü¤ Z°Ó 9¸?ÓKÐKÜ	×	0Ñ	0°Ô	9Ü¤ Z°Ó 9¸?ÓKÐKÜ	�GœY×4Ñ4Ô	5Ü�g—k‘k¤3Ô'Ø—k‘k‰Gä)Ø—‘˜_Àôð ô 
�GœY×3Ñ3Ô	4Ü$ _Ó5Ð5ä�'œ3Ô¡EÜ”r—v‘v˜h¨¨GÓ4Ó5ˆä”�WÓÐr9   c                óØ   — t        | j                  |d¬«      }i }| j                  �| j                  |d<   dt        |«      |dj	                  d„ |j                  «       D «       «      dœz  S )NF©r  Ú	persistedz(%(prefix)sComputed(%(text)s, %(kwargs)s)r�   c              3  ó&   K  — | ]	  }d |z  –— Œ y­w©z%s=%sNr�   ©r�   Úpairs     r7   r’   z#_render_computed.<locals>.<genexpr>F  ó   è ø€ ÐG¹°˜W t�^¹ùr“   )rx   rC   r¸   )r±   ÚsqltextrK  r  rN   r°   )Úcomputedr5   rC   r¸   s       r7   rC  rC  9  ss   € ô "Ø×Ñ˜/¸5ô€Dð €FØ×ÑÐ%Ø&×0Ñ0ˆˆ{ÑØ5Ü1°/ÓBØØ—9‘9ÑG¸¿¹¼ÓGÓGñ9ñ ð r9   c                óš   — t        j                  | d¬«      }dt        |«      dj                  d„ |j	                  «       D «       «      dœz  S )NT)r²   z%(prefix)sIdentity(%(kwargs)s)r�   c              3  ó&   K  — | ]	  }d |z  –— Œ y­wrM  r�   rN  s     r7   r’   z#_render_identity.<locals>.<genexpr>S  rP  r“   )rx   r¸   )r   Ú_get_identity_options_dictr  rN   r°   )Úidentityr5   r¸   s      r7   rD  rD  J  sM   € ô ×3Ñ3Ø ô€Fð ,Ü1°/ÓBØ—9‘9ÑG¸¿¹¼ÓGÓGñ/ñ ð r9   c                ó"   — ddt        | «      iz  S )Nz%(prefix)sFetchedValue()rx   )r  r1  s    r7   rF  rF  W  s   € Ø%ØÔ1°/ÓBð)ñ ð r9   c                óÐ  — t        d| |«      }|dur|S t        |j                  d«      r'|j                  j                  j	                  | |«      }nd }t        | «      j                  }|j                  }|s!t        j                  | «      rt        | |«      S |j                  d«      rLt        j                  d|«      }|€J ‚|j                  d«      }|�|j                  d|z  «       |r|S |›d| ›�S |r|S |j                  d	«      rMd
| j                   z  t#        «       v r#t#        «       d
| j                   z     }	 |	| |«      S t%        |«      }
|
›| ›�S t'        || «      }
|
›| ›�S )Nr  Fr  úsqlalchemy.dialectsúsqlalchemy\.dialects\.(\w+)é   z"from sqlalchemy.dialects import %sÚ.zsqlalchemy.z_render_%s_type)r8  Úhasattrr  r  Úrender_typer  r  rG   r   Ú_type_has_variantsÚ_render_Variant_typeÚ
startswithr>   rÎ   ÚgroupÚaddÚ__visit_name__Úglobalsr  r-  )ræ   r5   Ú_skip_variantsr  Úimpl_rtÚmodrG   rÎ   ÚdnameÚfnrx   s              r7   rü   rü   ]  sj  € ô
 $ F¨E°?ÓC€HØ�uÑØˆäˆ×0Ñ0°&Ô9Ø!×3Ñ3×8Ñ8×DÑDØ�?ó
‰ð ˆä
ˆu‹+×
 Ñ
 €CØ×%Ñ%€Gáœk×<Ñ<¸UÔCÜ# E¨?Ó;Ð;Ø	�‰Ð-Ô	.Ü—‘Ð7¸Ó=ˆØÐ Ð Ð Ø—‘˜A“ˆØÐØ�K‰KÐ<¸uÑDÔEÙØˆNâ#¡UÐ+Ð+Ù	ØˆØ	�‰˜Ô	&Ø˜u×3Ñ3Ñ3´w³yÑ@Ü“Ð,¨u×/CÑ/CÑCÑDˆBÙ�e˜_Ó-Ð-ä4°_ÓEˆFÙ#¡UÐ+Ð+ä*¨?¸EÓBˆÙ¡Ð'Ð'r9   c           	     ó:   — t        t        t        | |dd«      «      S )NÚ	item_typez(.+?\())r   r	  Ú_render_type_w_subtype)ræ   r5   s     r7   Ú_render_ARRAY_typern  Š  s#   € ÜÜÜØ�? K°ó	
óð r9   c                ó¼   — t        j                  | «      \  }}t        ||d¬«      }|�|dusJ ‚t        |«      D ]  }||   }|dt        ||d¬«      ›d|›d�z  }Œ! |S )NT)rf  Fz.with_variant(r�   r¬   )r   Ú_get_variant_mappingrü   rO   )ræ   r5   Ú	base_typeÚvariant_mappingÚbaseÚdialectÚtyps          r7   r`  r`  “  sx   € ô "-×!AÑ!AÀ%Ó!HÑ€IˆÜ�i ÀÔF€DØÐ ¨EÑ 1Ð1Ð1Ü˜/Ö*ˆØ˜gÑ&ˆÙÜ�s˜O¸DÖAÚð
ñ 	
‰ð +ð €Kr9   c                óè  — t        | «      }t        | |d «      }|€yt        |«      }t        j                  dd|«      }t	        t        | |«      |«      }t        j                  ||z   d|z  |«      }	|r|›|	›�S t        | «      j                  }
|
j                  d«      r2t        j                  d|
«      }|€J ‚|j                  d«      }|›d|	›�S |
j                  d	«      rt        |«      }|›|	›�S y )
NFz([\(\)])z\\\1z\1%srY  rZ  r[  r\  Ú
sqlalchemy)rÐ   r"  r>   rA   rü   r  r  ra  rÎ   rb  r  )ræ   r5   ÚattrnameÚregexprx   Ú
outer_reprÚ
inner_typeÚ
inner_reprÚsub_typeÚ
outer_typerh  rÎ   ri  s                r7   rm  rm  ¢  sò   € ô �e“€JÜ˜ ¨$Ó/€JØÐØä�jÓ!€Jä—‘˜ W¨jÓ9€JÜœ' %¨Ó2°OÓD€HÜ—‘˜ Ñ+¨W°xÑ-?ÀÓL€JáÙ¡Ð,Ð,ä
ˆu‹+×
 Ñ
 €CØ
‡~�~Ð+Ô,Ü—‘Ð7¸Ó=ˆØÐ Ð Ð Ø—‘˜A“ˆÚ¡Ð,Ð,Ø	�‰˜Ô	%Ü0°ÓAˆÙ¡Ð,Ð,àr9   c                óš   — 	 t         j                  | «      } || ||«      S # t        $ r  t        j                  d| z  «       d| z  cY S w xY w)Nz(No renderer is established for object %rz[Unknown Python object %r])Ú_constraint_renderersrd   Ú
ValueErrorr   Úwarn)r×   r5   Únamespace_metadatarf   s       r7   r˜   r˜   Ç  sX   € ð
IÜ(×1Ñ1°*Ó=ˆñ
 ˜
 OÐ5GÓHÐHøô	 ò 9Ü�	‰	Ð<¸zÑIÔJØ+¨jÑ8Ò8ð9ús   ‚! ¡&A
Á	A
c                ó   — t        d| |«      }|dur|S | j                  sy g }| j                  r0|j                  dt	        t        || j                  «      «      f«       dt        |«      dj                  | j                  D �cg c]  }t	        |j                  «      ‘Œ c}|D ��cg c]  \  }}|›d|›�‘Œ c}}z   «      dœz  S c c}w c c}}w )NÚprimary_keyFr6   z(%(prefix)sPrimaryKeyConstraint(%(args)s)r�   rŒ   r&  )r8  r•   r6   ro   rÐ   r8   r  rN   )r×   r5   rƒ  r  rl   Úcr>  r´   s           r7   Ú_render_primary_keyr‡  Õ  sÏ   € ô $ M°:¸ÓO€HØ�uÑØˆà×ÒØà€DØ‡‚Ø�‰Ø”TÔ*¨?¸J¿O¹OÓLÓMÐNô	
ð 6Ü1°/ÓBØ—	‘	Ø#-×#5Ò#5Ó6Ñ#5˜aŒT�!—&‘&�\Ð#5Ñ6Ù:>Ô?¹$©;¨6°3š&¡#Ò&¸$Ò?ñ@ó
ñ9ñ ð ùò 7ùÛ?s   ÂCÂ&C
c                ó¸  — | j                  «       }|j                  d«      }|dd \  }}|�t        |«      dk(  r|›d|›�}ndj                  |dd «      }| j                  sq| j
                  �e| j
                  j                  �O|�M||j                  v r?|j                  |   j                  j                  |«      }|�t        |j                  «      }|›d|›�}|S )zxImplement a 'safe' version of ForeignKey._get_colspec() that
    won't fail if the remote table can't be resolved.

    r\  éþÿÿÿNr   r   éÿÿÿÿ)Ú_get_colspecÚsplitrš   rN   Úlink_to_nameÚparentr¢   Útablesr†  rm   rœ   r6   )	ÚfkÚmetadata_schemarƒ  ÚcolspecÚtokensry   ÚcolnameÚtable_fullnamer£   s	            r7   Ú_fk_colspecr–  ð  s×   € ð �o‰oÓ€GØ�]‰]˜3Ó€FØ˜B˜C�[�N€Eˆ7àÐ"¤s¨6£{°aÒ'7Ú$3±UÐ;‰àŸ™ &¨¨2 ,Ó/ˆð �OŠOØ�I‰IÐ!Ø�I‰I�O‰OÐ'ð Ð*ØÐ"4×";Ñ";Ñ;à$×+Ñ+¨NÑ;×=Ñ=×AÑAÀ'ÓJˆCØˆÜ  §¡Ó*�â'©Ð1€Gà€Nr9   c                ó^  — | j                   r&|j                  dt        | j                   «      f«       | j                  r&|j                  dt        | j                  «      f«       | j                  r&|j                  dt        | j                  «      f«       | j
                  r&|j                  dt        | j
                  «      f«       | j                  r&|j                  dt        | j                  «      f«       | j                  r'|j                  dt        | j                  «      f«       y y )NrÉ   rÊ   rË   rÌ   rÍ   rÎ   )rÉ   ro   rÐ   rÊ   rË   rÌ   rÍ   rÎ   )r×   rl   s     r7   Ú_populate_render_fk_optsr˜    sç   € ð ×ÒØ�‰�Z¤ j×&9Ñ&9Ó!:Ð;Ô<Ø×ÒØ�‰�Z¤ j×&9Ñ&9Ó!:Ð;Ô<Ø×ÒØ�‰�[¤$ z×';Ñ';Ó"<Ð=Ô>Ø×ÒØ�‰�\¤4¨
×(=Ñ(=Ó#>Ð?Ô@Ø×ÒØ�‰�[¤$ z×';Ñ';Ó"<Ð=Ô>Ø×ÒØ�‰�Wœd :×#3Ñ#3Ó4Ð5Õ6ð r9   c                óæ  ‡‡— t        d| |«      }|dur|S g }| j                  r0|j                  dt        t	        || j                  «      «      f«       t        | |«       ‰�‰j                  nd Šdt        |«      dj                  d„ | j                  D «       «      dj                  ˆˆfd„| j                  D «       «      dj                  |D ��cg c]  \  }}|›d|›�‘Œ c}}«      d	œz  S c c}}w )
NÚforeign_keyFr6   zC%(prefix)sForeignKeyConstraint([%(cols)s], [%(refcols)s], %(args)s)r�   c              3  ól   K  — | ],  }t        t        |j                  j                  «      «      –— Œ. y ­wr0   )rÐ   rœ   rŽ  r6   )r�   Úfs     r7   r’   z&_render_foreign_key.<locals>.<genexpr>C  s'   è ø€ ð Ù5H°””V˜AŸH™HŸM™MÓ*×+Ñ5Hùs   ‚24c              3  óJ   •K  — | ]  }t        t        |‰‰«      «      –— Œ y ­wr0   )rÐ   r–  )r�   rœ  Úapply_metadata_schemarƒ  s     €€r7   r’   z&_render_foreign_key.<locals>.<genexpr>F  s)   øè ø€ ð !á,�Aô ”[ Ð$9Ð;MÓN×OÙ,ùs   ƒ #rŒ   )rx   ÚcolsÚrefcolsr‰   )
r8  r6   ro   rÐ   r8   r˜  r   r  rN   Úelements)r×   r5   rƒ  r  rl   r>  r´   rž  s     `    @r7   Ú_render_foreign_keyr¢  )  s  ù€ ô $ M°:¸ÓO€HØ�uÑØˆà€DØ‡‚Ø�‰Ø”TÔ*¨?¸J¿O¹OÓLÓMÐNô	
ô ˜Z¨Ô.ð &8Ð%CÐ×!Ò!Èð ð	#ô 6°oÓFØ—I‘Iñ Ø5?×5HÒ5Hóó ð —y‘yô !à#×,Ò,ó!ó ð —I‘IÙ<@ÔA¹D©[¨V°SšF¡CÒ(¸DÒAóñ
ñ	
ðùó Bs   ÃC-c                óB   — t        d| |«      }|dur|S t        | |d«      S )Nr·   F)r8  rÄ   )r×   r5   rƒ  r  s       r7   Ú_render_unique_constraintr¤  Q  s.   € ô $ H¨j¸/ÓJ€HØ�uÑØˆä˜* o°uÓ=Ð=r9   c           	     óÐ  — t        d| |«      }|dur|S | j                  rEt        | j                  d«      r/t        | j                  j                  t
        j                  «      ry g }| j                  r0|j                  dt        t        || j                  «      «      f«       dt        |«      |rddj                  d„ |D «       «      z   ndt        | j                  |d¬	«      d
œz  S )NÚcheckFr,  r6   z.%(prefix)sCheckConstraint(%(sqltext)s%(opts)s)r�   c              3  ó0   K  — | ]  \  }}|›d |›�–— Œ y­w)rŒ   Nr�   )r�   r§   r)  s      r7   r’   z+_render_check_constraint.<locals>.<genexpr>}  s   è ø€ Ð@¹4±4°1°aª©AÔ.¹4ùs   ‚r=   rJ  )rx   rl   rQ  )r8  Ú_create_ruler]  r1   r,  Úsqltypesr)   r6   ro   rÐ   r8   r  rN   r±   rQ  )r×   r5   rƒ  r  rl   s        r7   Ú_render_check_constraintrª  ^  sâ   € ô $ G¨Z¸ÓI€HØ�uÑØˆð 	×ÒÜ�J×+Ñ+¨XÔ6ÜØ×#Ñ#×*Ñ*Ü×Ñô
ð
 Ø€DØ‡‚Ø�‰Ø”TÔ*¨?¸J¿O¹OÓLÓMÐNô	
ð <Ü1°/ÓBñ ð �D—I‘IÑ@¹4Ó@Ó@ÒAàä)Ø×Ñ Àô
ñ
?ñ 
ð 
r9   c                ó˜   — t        |j                  t        «      st        d«      ‚dj	                  t        | «      |j                  ¬«      S )NznAutogenerate rendering of SQL Expression language constructs not supported here; please use a plain SQL stringz{prefix}execute({sqltext!r}))rx   rQ  )r1   rQ  r	  rÜ   r~   r3   rh   s     r7   Ú_execute_sqlr¬  ‡  sL   € ä�b—j‘j¤#Ô&Ü!ð@ó
ð 	
ð *×0Ñ0Ü+¨OÓ<Ø—
‘
ð 1ó ð r9   )r5   r*   r6   zsqla_compat._ConstraintNamer
  z*Optional[Union[quoted_name, str, _f_name]])rC   r	  r
  r	  )r5   r*   rP   r,   rQ   zDict[str, Union[str, Config]]r
  r  )r[   zops.OpContainerr5   r*   r
  r	  )r5   r*   r_   úops.MigrateOperationr
  ú	List[str])r5   r*   r_   r­  r
  r	  )r5   r*   r_   r-   r
  r®  )r5   r*   r_   zops.CreateTableCommentOpr
  r	  )r5   r*   r_   zops.DropTableCommentOpr
  r	  )r5   r*   r_   zops.CreateTableOpr
  r	  )r5   r*   r_   zops.DropTableOpr
  r	  )r5   r*   r²   r   r
  z	list[str])r5   r*   r_   zops.CreateIndexOpr
  r	  )r5   r*   r_   zops.DropIndexOpr
  r	  )r5   r*   r_   zops.CreateUniqueConstraintOpr
  r®  )r5   r*   r_   zops.CreateForeignKeyOpr
  r	  )r5   r*   r_   zops.DropConstraintOpr
  r	  )r5   r*   r_   zops.AddColumnOpr
  r	  )r5   r*   r_   zops.DropColumnOpr
  r	  )r5   r*   r_   zops.AlterColumnOpr
  r	  )r6   z!Optional[Union[quoted_name, str]]r
  úOptional[str])rØ   r   r5   r*   r  rY   r  rY   r  rY   r
  r	  )r#  r$   r5   r*   r
  r®  )r×   r'   r5   r*   r'  rY   r
  r	  )r5   r*   r
  r	  )ræ   r	  r6  r   r5   r*   r
  zUnion[str, Literal[False]])rë   zColumn[Any]r5   r*   r
  r	  )rþ   r   r
  rY   )T)rG  zBOptional[Union[FetchedValue, str, TextClause, ColumnElement[Any]]]r5   r*   rH  rY   r
  r¯  )rR  r   r5   r*   r
  r	  )rV  r   r5   r*   r
  r	  )F)ræ   r)   r5   r*   rf  rY   r
  r	  )ræ   r(   r5   r*   r
  r	  )ræ   r)   r5   r*   r
  r	  r0   )ræ   r)   r5   r*   rx  r	  ry  r	  rx   r¯  r
  z$Union[Optional[str], Literal[False]])r×   r    r5   r*   rƒ  úOptional[MetaData]r
  r¯  )r×   r&   r5   r*   rƒ  r°  r
  r¯  )r�  r"   r‘  r¯  rƒ  r°  r
  r	  )r×   r#   rl   zList[Tuple[str, str]]r
  r  )r×   r#   r5   r*   rƒ  r°  r
  r¯  )r×   r'   r5   r*   rƒ  r°  r
  r	  )r×   r   r5   r*   rƒ  r°  r
  r¯  )r5   r*   r_   zops.ExecuteSQLOpr
  r	  )ƒÚ
__future__r   Úior   r>   Útypingr   r   r   r   r	   r
   r   r   Ú
mako.pygenr   rw  r   r!  r   r   r©  Úsqlalchemy.sql.baser   Úsqlalchemy.sql.elementsr   r   r   r=   r   Ú
operationsr   r   r   r   r   r   r   Úsqlalchemy.sql.schemar   r   r    r!   r"   r#   r$   r%   r&   r'   Úsqlalchemy.sql.sqltypesr(   Úsqlalchemy.sql.type_apir)   Úalembic.autogenerate.apir*   Úalembic.configr+   Úalembic.operations.opsr,   r-   r›   r8   rD   rT   Ú
DispatcherÚdefault_renderersrc   rK   rX   ri   Údispatch_forrt   ÚCreateTableCommentOpr‚   ÚDropTableCommentOpr„   ÚCreateTableOpr©   ÚDropTableOpr®   rµ   ÚCreateIndexOpr¿   ÚDropIndexOprÂ   ÚCreateUniqueConstraintOprÆ   ÚCreateForeignKeyOprÙ   ÚCreatePrimaryKeyOprÞ   ÚCreateCheckConstraintOprá   ÚDropConstraintOprè   ÚAddColumnOprí   ÚDropColumnOprñ   ÚAlterColumnOpr  r2   rœ   r±   rº   rÄ   r-  r  r3   r8  r–   r;  rý   rC  rD  rF  rü   rn  r`  rm  r€  r˜   r‡  r–  r˜  r¢  r¤  rª  ÚExecuteSQLOpr¬  Úbranchr�   r9   r7   Ú<module>rÑ     s(  ðõ #å Û 	Ý Ý Ý Ý Ý Ý Ý  Ý å $Ý *Ý Ý (Ý /Ý (Ý )Ý /å Ý Ý áÝå#Ý#Ý5Ý2Ý5Ý,Ý0Ý2Ý0Ý:Ý+Ý.Ý:Ý6Ý-Ý2å7Ý%Ý6Ý5ð €ð9Ø#ð9à
%ð9ð 0ó9óð:Ø#ð:à%ð:ð 1ð:ð 
ó	:ð& !0 §¡Ó 1Ð 1Ð �IðØ!ðà#ðð 	óð6Ø#ðØ)=ðàóð5Ø#ð5Ø)=ð5àó5ð ×Ñ˜×*Ñ*Ó+ðØ#ðØ)7ðàòó ,ðð8 ×Ñ˜×0Ñ0Ó1ðØ#ðØ)Aðàòó 2ððB ×Ñ˜×.Ñ.Ó/ðØ#ðØ)?ðàòó 0ðð< ×Ñ˜×)Ñ)Ó*ò6ó +ð6ðr ×Ñ˜Ÿ™Ó(òó )ððØ#ðØ5Dðàóð ×Ñ˜×)Ñ)Ó*ò$ó +ð$ðN ×Ñ˜Ÿ™Ó(òó )ðð2 ×Ñ˜×4Ñ4Ó5ðGØ#ðGØ)EðGàòGó 6ðGð ×Ñ˜×.Ñ.Ó/ð+Ø#ð+Ø)?ð+àò+ó 0ð+ð\ ×Ñ˜×.Ñ.Ó/ñ ó 0ð ð ×Ñ˜×3Ñ3Ó4ñ ó 5ð ð ×Ñ˜×,Ñ,Ó-ð@Ø#ð@Ø)=ð@àò@ó .ð@ð, ×Ñ˜Ÿ™Ó(òó )ðð4 ×Ñ˜×(Ñ(Ó)òó *ðð8 ×Ñ˜×)Ñ)Ó*ð<Ø#ð<Ø):ð<àò<ó +ð<÷~<ñ <óð( !Ø#ØñØðà#ðð ð	ð
 ðð ðð 	óð<
Ø	ð
Ø!/ð
àó
ð)
Ø ð)
à#ð)
ð ð)
ð 	ó	)
òXóBóCð	Øð	Øð	Ø/=ð	àó	ð6Øð6Ø*8ð6àó6órAð ðððð $ð	ð
 ðð óð>ØðØ)7ðàóð"
Øð
Ø)7ð
àó
óð !ð*(Øð*(à#ð*(ð ð*(ð 	ó	*(óZðØðØ(6ðàóð( !ðØðà#ðð ðð ð	ð
 ðð *óðD (˜Ÿ™Ó)Ð ðIØðIà#ðIð +ðIð ó	Ið ×#Ñ# I×$BÑ$BÓCðØ$ðà#ðð +ðð ò	ó Dðð4%Øð%à"ð%ð +ð%ð 	ó	%ðP7Ø$ð7Ø,Að7à	ó7ð" ×#Ñ# I×$BÑ$BÓCð$Ø$ð$à#ð$ð +ð$ð ò	$ó Dð$ðN ×#Ñ# I×$>Ñ$>Ó?ð	>Ø ð	>à#ð	>ð +ð	>ð 	ò		>ó @ð	>ð ×#Ñ# I×$=Ñ$=Ó>ð%Øð%à#ð%ð +ð%ð ò	%ó ?ð%ðP ×Ñ˜×(Ò(Ó)ò	ó *ð	ð ×$Ò$Ó&�	r9   