Ë
    …V.j™Š  ã                  óf
  — 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 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.m/Z/ d d%l0m1Z1 d d&l2m3Z3 d d'l4m5Z5 d d(l6m7Z7 d d)l6m8Z8 d d*l9m:Z: d d+l9m;Z; d,Z<	 	 	 	 	 	 dad-„Z=dbd.„Z>	 	 	 	 	 	 	 	 dcd/„Z? ej€                  «       xZAZB	 	 	 	 	 	 ddd0„ZC	 	 	 	 	 	 ded1„ZD	 	 	 	 	 	 dfd2„ZEeBj�                  ejp                  «      	 	 	 	 	 	 dgd3„«       ZGeBj�                  ej�                  «      	 	 	 	 	 	 dhd4„«       ZIeBj�                  ej”                  «      	 	 	 	 	 	 did5„«       ZKeBj�                  ej˜                  «      djd6„«       ZMeBj�                  ejœ                  «      dkd7„«       ZO	 	 	 	 	 	 dld8„ZPeBj�                  ej¢                  «      dmd9„«       ZReBj�                  ej¦                  «      dnd:„«       ZTeBj�                  ejª                  «      	 	 	 	 	 	 dod;„«       ZVeBj�                  ej®                  «      	 	 	 	 	 	 dpd<„«       ZXeBj�                  ej²                  «      d=„ «       ZZeBj�                  ej¶                  «      d>„ «       Z\eBj�                  ejº                  «      	 	 	 	 	 	 dqd?„«       Z^eBj�                  ej¾                  «      drd@„«       Z`eBj�                  ejÂ                  «      dsdA„«       ZbeBj�                  ejÆ                  «      	 	 	 	 	 	 dtdB„«       Zd G dC„ dD«      ZedudE„ZfdFdGdGdHœ	 	 	 	 	 	 	 	 	 	 	 dvdI„Zg	 	 	 	 	 	 dwdJ„Zh	 	 	 	 	 	 	 	 dxdK„ZidL„ ZjdydM„ZkdydN„Zl	 	 	 	 	 	 	 	 dzdO„Zm	 	 	 	 	 	 d{dP„Znd|dQ„Zo	 d}	 	 	 	 	 	 	 d~dR„Zp	 	 	 	 	 	 ddS„Zq	 	 	 	 	 	 d€dT„Zr	 d�	 	 	 	 	 	 	 d‚dU„ZsdƒdV„Zt	 	 	 	 	 	 d„dW„Zu	 d…	 	 	 	 	 	 	 	 	 	 	 d†dX„Zv ej€                  «       Zw	 	 	 	 	 	 	 	 d‡dY„Zxewj�                  ejX                  «      	 	 	 	 	 	 	 	 dˆdZ„«       Zy	 	 	 	 	 	 	 	 d‰d[„Zz	 	 	 	 	 	 dŠd\„Z{ewj�                  ejR                  «      	 	 	 	 	 	 	 	 d‹d]„«       Z|ewj�                  ejZ                  «      	 	 	 	 	 	 	 	 dŒd^„«       Z}ewj�                  ejH                  «      	 	 	 	 	 	 	 	 d�d_„«       Z~eBj�                  ejþ                  «      dŽd`„«       Z€eA�j                  «       ZBy)�é    )Úannotations)ÚStringION)ÚAny)Úcast)ÚDict)ÚList)ÚOptional)ÚTuple)ÚTYPE_CHECKING)ÚUnion)ÚPythonPrinter)Úschema)Úsql)Útypes)Úconv)Úquoted_nameé   )Úutil)Úops)Úsqla_compat)ÚLiteral)ÚDialectKWArgs)ÚColumnElement)Ú
TextClause)ÚCheckConstraint)ÚColumn)Ú
Constraint)ÚFetchedValue)Ú
ForeignKey)ÚForeignKeyConstraint)ÚIndex)ÚMetaData)ÚPrimaryKeyConstraint)ÚUniqueConstraint)ÚARRAY)Ú
TypeEngine)ÚAutogenContext)ÚConfig)ÚMigrationScript)ÚModifyTableOps)ÚComputed)ÚIdentityéÿ   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     ú]C:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\alembic/autogenerate/render.pyÚ_render_gen_namer7   :   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    r6   Ú_indentrC   D   sR   € Ü�:‰:�dœBŸD™DÓ!×%Ñ% f¨dÓ3×9Ñ9Ó;€DÜ�:‰:�fœbŸd™dÓ#×'Ñ'¨¨DÓ1€DØ€Kr8   c                ó.  — | j                   }t        |j                  |j                  «      D ]I  \  }}t	        t        || «      «      ||j                  <   t	        t        || «      «      ||j                  <   ŒK dj                  t        |«      «      |d<   y )NÚ
Úimports)
rF   ÚzipÚupgrade_ops_listÚdowngrade_ops_listrC   Ú_render_cmd_bodyÚupgrade_tokenÚdowngrade_tokenÚjoinÚsorted)r4   Úmigration_scriptÚtemplate_argsrF   Úupgrade_opsÚdowngrade_opss         r6   Ú _render_python_into_templatevarsrS   J   s�   € ð
 ×%Ñ%€Gä&)Ø×)Ñ)Ð+;×+NÑ+Nö'Ñ"ˆ�]ô 4;Ü˜[¨/Ó:ó4
ˆ�k×/Ñ/Ñ0ô 8?Ü˜]¨OÓ<ó8
ˆ�m×3Ñ3Ò4ð'ð  $Ÿy™y¬°«Ó9€M�)Òr8   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_containerr4   ÚbufÚprinterÚ	has_linesÚopÚlinesÚlines           r6   rJ   rJ   `   s�   € ô ‹*€CÜ˜CÓ €Gà×ÑØGôð €IØ×ÔˆÜ˜/¨2Ó.ˆØÒ,¤ e£ˆ	ãˆDØ×Ñ˜dÕ#ñ ð	 ñ Ø×Ñ˜&Ô!à×ÑÐ6Ô7à�<‰<‹>Ðr8   c                óh   — t         j                  |«      }t        j                   || |«      «      }|S r/   )Ú	renderersÚdispatchr   Úto_list)r4   r^   Úrendererr_   s       r6   rW   rW   {   s.   € ô ×!Ñ! "Ó%€HÜ�L‰L™ /°2Ó6Ó7€EØ€Lr8   c                ó8   — dj                  t        | |«      «      S )NrE   )rM   rW   ©r4   r^   s     r6   Úrender_op_textrh   ƒ   s   € ð �9‰9”Y˜°Ó3Ó4Ð4r8   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   rW   Úextend)r4   r^   rk   rj   r_   Út_opÚt_liness          r6   Ú_render_modify_tablers   ‰   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Úformatr2   ro   ry   Úexisting_commentr   ©r4   r^   Útempls      r6   Ú_render_create_table_commentr�   ¦   s±   € ð ×!Ò!ðñ 	ðð 	ð �<‰<Ü+¨OÓ<Ø�m‰mØ%'§Z¡ZÐ%;��r—z‘zÒ!Àð ×"Ñ"Ð.ð �2×&Ñ&Ò&àà%'§Y¡YÐ%:ˆv˜Ÿ	™	Ñ!Øð ó ð ð AEØð ó ð r8   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}
)ru   rv   r;   )rw   rx   rz   r   r{   )r|   r}   r2   ro   r~   r   r   s      r6   Ú_render_drop_table_commentrƒ   È   sš   € ð ×!Ò!ðñ 	ðð 	ð �<‰<Ü+¨OÓ<Ø�m‰mð ×"Ñ"Ð.ð �2×&Ñ&Ò&àà%'§Y¡YÐ%:ˆv˜Ÿ	™	Ñ!Øð ó 
ð 
ð AEØð ó 
ð 
r8   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)Ú	tablenamerw   Úargsz,
schema=%rz,
comment=%rz,
info=Ú Ú_Ú=ú, c              3  ó&   K  — | ]	  }d |z  –— Œ y­w)rv   N© )Ú.0Úps     r6   Ú	<genexpr>z_add_table.<locals>.<genexpr>  s   è ø€ ÐA±¨A˜V a�Z±ùó   ‚z,
prefixes=[%s]z,
if_not_exists=%rz
))Úto_tableÚcolumnsÚ_render_columnrN   ÚconstraintsÚ_render_constraintÚ_namespace_metadataÚlenÚMAX_PYTHON_ARGSrM   Ú_identro   r2   r   ry   ÚinfoÚkwÚreplaceÚ	_prefixesÚif_not_existsrX   )r4   r^   ÚtableÚcolÚconsÚrconsrˆ   Úargs_strrB   ry   rœ   ÚkÚprefixess                r6   Ú
_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)rw   rx   ú, schema=%rz, if_exists=%rÚ))r2   r›   ro   r   Ú	if_existsrX   )r4   r^   rB   s      r6   Ú_drop_tabler­   !  sw   € à+Ü.¨Ó?Ü˜Ÿ™Ó&ñ/ñ €Dð 
‡y‚yØ�¤ r§y¡yÓ 1Ñ1Ñ1ˆà	‡|�|ÐØÐ ¤4¨¯©Ó#5Ñ5Ñ5ˆàˆC�K€DØ€Kr8   c           
     ó†   — |j                   j                  «       D ��cg c]  \  }}|› dt        || «      › �‘Œ c}}S c c}}w )Nr‹   )Údialect_kwargsÚitemsÚ_render_potential_expr)r4   ÚitemÚkeyÚvals       r6   Ú_render_dialect_kwargs_itemsrµ   1  sP   € ð
 ×+Ñ+×1Ñ1Ô3ôá3‰HˆC�ð ˆ%ˆqÔ'¨¨_Ó=Ð>Ò?Ø3òð ùó s   ž=c                ó^  — |j                  «       }| j                  }|rd}nd}|j                  €J ‚t        | |«      }|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<   )rw   r5   r¡   r”   Úuniquer   Úkwargs)Úto_indexr|   r¡   rµ   r    rn   rX   r2   r7   r5   r›   rM   Ú_get_index_rendered_expressionsr·   r   ©r4   r^   ÚindexÚ	has_batchÚtmplrk   rB   s          r6   Ú
_add_indexr¿   :  s  € à�K‰K‹M€Eà×*Ñ*€Iáð+ñ 	ð5ð 	ð
 �;‰;Ð"Ð"Ð"ä'¨¸Ó?€DØ	×ÑÐ#Ø�‰Ð&¬¨b×.>Ñ.>Ó)?Ñ?Ô@ØÜ.¨Ó?Ü  °%·*±*Ó=Ü˜Ÿ™×(Ñ(Ó)Ø—9‘9Ü+¨E°?ÓCó
ð —,‘,Ò' %ð �{‰{×!Ò!ð œV E§K¡K×$6Ñ$6Ó7Ò7àá,0�$˜Ÿ™ 4›Ò(°bññ €Dð €Kr8   c           	     ó´  — |j                  «       }| j                  }|rd}nd}t        | |«      }|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Œ   )rw   r5   ro   r   r¸   )r¹   r|   rµ   r¬   rn   rX   r2   r7   Ú
index_namer›   ro   r   rM   r»   s          r6   Ú_drop_indexrÂ   b  sÁ   € à�K‰K‹M€Eà×*Ñ*€IáØ9‰ð=ð 	ô (¨¸Ó?€DØ	‡|�|ÐØ�‰�N¤T¨"¯,©,Ó%7Ñ7Ô8ØÜ.¨Ó?Ü  °"·-±-Ó@Ü˜RŸ]™]Ó+Ø:<¿)º)�M¤F¨2¯9©9Ó$5Ò5ÈÙ,0�$˜Ÿ™ 4›Ò(°bññ €Dð €Kr8   c                ó:   — t        |j                  «       | d«      gS )NT)Ú_uq_constraintÚto_constraintrg   s     r6   Ú_add_unique_constraintrÆ   |  s   € ô ˜2×+Ñ+Ó-¨ÀÓEÐFÐFr8   c                óÐ  — 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|›�«       Œ; dt        | «      dj                  |«      dœz  S c c}w c c}w )N)Úreferent_schemaÚonupdateÚondeleteÚ	initiallyÚ
deferrableÚ	use_alterÚmatchr   Úsource_schemar‹   z&%(prefix)screate_foreign_key(%(args)s)rŒ   ©rw   rˆ   )Úreprr7   Úconstraint_namer|   rn   r›   Úsource_tablerp   Úreferent_tableÚ
local_colsÚremote_colsÚinsertr�   r2   rM   )r4   r^   rˆ   r¢   r¸   r¦   Úvalues          r6   Ú_add_fk_constraintrÙ   ƒ  s,  € ô Ô! /°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ð	 ð 4Ü.¨Ó?Ø—	‘	˜$“ñ7ñ ð ùò- 8ùÚ8s   ÂEÃ E#c                ó   — t        «       ‚r/   ©ÚNotImplementedError©Ú
constraintr4   s     r6   Ú_add_pk_constraintrß   ª  ó   € ä
Ó
Ðr8   c                ó   — t        «       ‚r/   rÛ   rÝ   s     r6   Ú_add_check_constraintrâ   ¯  rà   r8   c                ó   — t        | «      }t        | |j                  «      }|j                  rt	        |j                  «      nd }|j
                  rt	        |j
                  «      nd }g }|j                  t        |«      «       | j                  sC|j                  t        t	        |j                  «      «      «       |�|j                  d|›�«       |�|j                  d|›�«       |› ddj                  |«      › d�S )Núschema=útype_=zdrop_constraint(rŒ   r«   )r2   r7   rÒ   r   r›   Úconstraint_typern   rÑ   r|   ro   rM   )r4   r^   rw   r5   r   Útype_Úparams_strss          r6   Ú_drop_constraintré   ´  sà   € ô *¨/Ó:€FÜ˜O¨R×-?Ñ-?Ó@€DØ"$§)¢)ŒV�B—I‘IÔ°€FØ*,×*<Ò*<ŒF�2×%Ñ%Ô&À$€Eà€KØ×Ñ”t˜D“zÔ"Ø×%Ò%Ø×Ñœ4¤ r§}¡}Ó 5Ó6Ô7ØÐØ×Ñ ¨¨
Ð3Ô4ØÐØ×Ñ˜V E 9Ð-Ô.àˆXÐ% d§i¡i°Ó&<Ð%=¸QÐ?Ð?r8   c                óÂ   — |j                   |j                  |j                  }}}| j                  rd}nd}|r|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)rr«   )rw   rx   Úcolumnr   )r   ro   rì   r|   r2   r•   )r4   r^   r   rx   rì   ÚtemplaterB   s          r6   Ú_add_columnrî   É  ss   € àŸI™I r§}¡}°b·i±i�6ˆE€FØ×!Ò!Ø5‰à?ˆÙØÐ-Ñ-ˆHØ�C‰ˆØÜ.¨Ó?ØÜ  ¨Ó9Øñ	ñ €Dð €Kr8   c                óä   — |j                   |j                  |j                  }}}| j                  rd}nd}|r|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ë   r«   )rw   rx   Úcnamer   )r   ro   Úcolumn_namer|   r2   r›   )r4   r^   r   rx   rñ   rí   rB   s          r6   Ú_drop_columnrò   Ü  sy   € à!#§¡¨B¯M©M¸2¿>¹>�;ˆE€Fà×!Ò!Ø5‰à?ˆÙØÐ-Ñ-ˆHØ�C‰ˆàÜ.¨Ó?Ü˜“Ü˜Ó$Ü˜“.ñ	ñ €Dð €Kr8   c                ó"  — |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
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)rw   rx   rð   r…   zexisting_type=Fzserver_default=rå   z	nullable=zcomment=zexisting_comment=zexisting_nullable=zautoincrement=zexisting_server_default=rä   r«   )ro   rñ   Úmodify_server_defaultÚmodify_typeÚmodify_nullableÚmodify_commentr�   rl   Úexisting_typeÚexisting_nullabler~   Úexisting_server_defaultr   r|   r2   Ú
_repr_typeÚ_render_server_default)r4   r^   rx   rð   Úserver_defaultrç   Únullablery   rô   rù   rú   r~   rû   r   r{   rí   rB   Úrendereds                     r6   Ú_alter_columnr  ñ  sì  € ð �M‰M€EØ�N‰N€EØ×-Ñ-€NØ�N‰N€EØ×!Ñ!€HØ×Ñ€GØ—E‘E—I‘I˜o¨tÓ4€MØ×$Ñ$€MØ×,Ñ,ÐØ×*Ñ*ÐØ ×8Ñ8ÐØ�Y‰Y€Fà€Fà×!Ò!Ø5‰à@ˆàÜ.¨Ó?ØØññ €Dð
 Ð ÙÚÜ�} oÔ6ð
ñ 	
ˆð ˜UÑ"Ü)¨.¸/ÓJˆÙªF±HÐ=Ñ=ˆàÐÙ¢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Ø€Kr8   c                  ó   — e Zd Zdd„Zdd„Zy)r1   c                ó    — || _         || _        y r/   )rw   r5   )Úselfrw   r5   s      r6   Ú__init__z_f_name.__init__/  s   € ØˆŒØˆ�	r8   c                óL   — | j                   ›dt        | j                  «      ›d�S )Nzf(r«   )rw   r›   r5   )r  s    r6   Ú__repr__z_f_name.__repr__3  s   € Ø ŸK›K¬°·	±	Õ):Ð;Ð;r8   N)rw   Ústrr5   r   ÚreturnÚNone)r	  r  )Ú__name__Ú
__module__Ú__qualname__r  r  rŽ   r8   r6   r1   r1   .  s   „ óô<r8   r1   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)r0   r   r  )r5   s    r6   r›   r›   7  s6   € ð €|ØˆÜ	�Dœ+Ô	&Ü�4‹yÐÜ	�Dœ#Ô	Øˆð 
r8   TF)Úwrap_in_textÚis_server_defaultÚis_indexc               óÈ   — t        | t        j                  «      r>|rd}nd}|t        |«      |j                  j
                  j                  | ||¬«      dœz  S t        | «      S )Nz%(prefix)stext(%(sql)r)z%(sql)r)r  r  )rw   r   )r0   r   ÚClauseElementÚ_sqlalchemy_autogenerate_prefixÚmigration_contextÚimplÚrender_ddl_sql_exprrÑ   )rØ   r4   r  r  r  rí   s         r6   r±   r±   G  so   € ô �%œ×*Ñ*Ô+ÙØ0‰Hà ˆHàÜ5°oÓFØ"×4Ñ4×9Ñ9×MÑMØÐ):ÀXð Nó ñ
ñ 
ð 	
ô �E‹{Ðr8   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 )Nr5   T)r  )Úexpressionsr0   Ú	sa_schemar   rÑ   r›   Úgetattrr±   )Úidxr4   Úexps      r6   rº   rº   `  sh   € ð —?’?óñ #ˆCô ˜#œy×/Ñ/Ô0ô ”œ  V¨TÓ2Ó3Ô4ä'¨¨_ÀtÔLñMð #ñð ùò s   �AA c           
     ó$  — g }|j                   }| j                  r&|j                  dt        | j                  «      f«       | j                  r&|j                  dt        | j                  «      f«       |sH|rF| j
                  j                  r0|j                  dt        | j
                  j                  «      f«       |s3| j                  r'|j                  dt        || j                  «      f«       t        || «      }|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   r5   r‹   z,%(prefix)screate_unique_constraint(%(args)s)rŒ   rÐ   z$%(prefix)sUniqueConstraint(%(args)s))r|   rÌ   rn   r  rË   r¡   r   r›   r5   r7   rµ   rÑ   r”   rp   r2   rM   r  )
rÞ   r4   Úalterrk   r½   Údialect_optionsrˆ   r¢   r¦   Úvs
             r6   rÄ   rÄ   m  s&  € ð
 #%€Dà×*Ñ*€Ià×ÒØ�‰�\¤3 z×'<Ñ'<Ó#=Ð>Ô?Ø×ÒØ�‰�[¤# j×&:Ñ&:Ó";Ð<Ô=Ù™ :×#3Ñ#3×#:Ò#:Ø�‰�Xœv j×&6Ñ&6×&=Ñ&=Ó>Ð?Ô@Ù�Z—_’_Ø�‰ØÔ% o°z·±ÓGÐHô	
ô 3°?ÀJÓO€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   Å,I<Æ#J
Ç;%JÈ2J
c                óF   — | j                   d   }|€d|j                  z  S |S )NÚuser_module_prefixz%s.)rk   r  )r4   Útargetrw   s      r6   Ú_user_autogenerate_prefixr%  —  s.   € Ø×!Ñ!Ð"6Ñ7€FØ€~Ø�v×(Ñ(Ñ(Ð(àˆr8   c                ó(   — | j                   d   xs dS )NÚsqlalchemy_module_prefixr<   ©rk   ©r4   s    r6   r  r  Ÿ  s   € Ø×ÑÐ :Ñ;ÒA¸rÐAr8   c                óB   — | j                   ry| j                  d   xs dS )Nz	batch_op.Úalembic_module_prefixr<   )r|   rk   r)  s    r6   r2   r2   £  s%   € Ø×!Ò!Øà×#Ñ#Ð$;Ñ<ÒBÀÐBr8   c                ób   — d|j                   v r!|j                   d   }|r || ||«      }|dur|S y)NÚrender_itemFr(  )rç   Úobject_r4   Úrenderr   s        r6   Ú_user_defined_renderr0  ª  sC   € ð ˜×,Ñ,Ñ,Ø ×%Ñ% mÑ4ˆÙÙ˜e W¨oÓ>ˆHØ˜uÑ$Ø�Ør8   c                ó0  — 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}}t        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ÿ   Úsystemry   ru   z8%(prefix)sColumn(%(name)r, %(type)s, %(args)s%(kwargs)s)rŒ   r<   r‹   )rw   r5   Útyperˆ   r¸   )r0  rþ   rý   Ú*_should_render_server_default_positionallyrn   rô   r   ÚAUTOINCREMENT_DEFAULTrÿ   r2  ry   r  r›   r5   rü   r3  rM   r  Ú_column_kwargsr°   r±   )
rì   r4   r   rˆ   rk   ry   ÚargÚkwnamer´   r³   s
             r6   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ô %0×$>Ñ$>¸vÓ$F×$LÑ$LÔ$Nôñ %O™˜˜Sò Ô2°3¸ÔHòJà$NòñóñIñ ð ùò 5ùó Bùós   Å7HÆ$HÇHc                óZ   — t        j                  | «      xs t        j                  | «      S r/   )r   Ú_server_default_is_computedÚ_server_default_is_identity)rþ   s    r6   r4  r4  ï  s-   € Ü×2Ñ2Øóò Aä	×	0Ñ	0°Ó	@ðAr8   c                ó
  — 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        «      r"|r t        t        j                  dd| «      «      } t	        t        | «      S )	Nrþ   Fr+   r,   T)r  z^'|'$r<   )r0  r   r:  Ú_render_computedr   r;  Ú_render_identityr0   r  ÚDefaultClauser7  r  r±   rÑ   r=   r@   )Údefaultr4   Úrepr_r   s       r6   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ä)Ø—‘˜_Àôð ô �'œ3Ô¡EÜ”r—v‘v˜h¨¨GÓ4Ó5ˆä”�WÓÐr8   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     r6   r‘   z#_render_computed.<locals>.<genexpr>  ó   è ø€ ÐG¹°˜W t�^¹ùr’   )rw   rB   r¸   )r±   ÚsqltextrD  r  rM   r°   )Úcomputedr4   rB   r¸   s       r6   r=  r=    ss   € ô "Ø×Ñ˜/¸ô€Dð €FØ×ÑÐ%Ø&×0Ñ0ˆˆ{ÑØ5Ü1°/ÓBØØ—9‘9ÑG¸¿¹¼ÓGÓGñ9ñ ð r8   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rF  rŽ   rG  s     r6   r‘   z#_render_identity.<locals>.<genexpr>,  rI  r’   )rw   r¸   )r   Ú_get_identity_options_dictr  rM   r°   )Úidentityr4   r¸   s      r6   r>  r>  #  sM   € ô ×3Ñ3Ø ô€Fð ,Ü1°/ÓBØ—9‘9ÑG¸¿¹¼ÓGÓGñ/ñ ð r8   c                óÐ  — t        d| |«      }|dur|S t        |j                  d«      r'|j                  j                  j	                  | |«      }nd }t        | «      j                  }|j                  }|j                  d«      rLt        j                  d|«      }|€J ‚|j                  d«      }|�|j                  d|z  «       |r|S |›d| ›�S |r|S |s!t        j                  | «      rt        | |«      S |j                  d	«      rMd
| j                   z  t#        «       v r#t#        «       d
| j                   z     }	 |	| |«      S t%        |«      }
|
›| ›�S t'        || «      }
|
›| ›�S )Nr3  Fr  úsqlalchemy.dialectsúsqlalchemy\.dialects\.(\w+)é   z"from sqlalchemy.dialects import %sÚ.zsqlalchemy.z_render_%s_type)r0  Úhasattrr  r  Úrender_typer3  r  rF   Ú
startswithr=   rÎ   ÚgroupÚaddr   Ú_type_has_variantsÚ_render_Variant_typeÚ__visit_name__Úglobalsr  r%  )rç   r4   Ú_skip_variantsr   Úimpl_rtÚmodrF   rÎ   ÚdnameÚfnrw   s              r6   rü   rü   0  sj  € ô
 $ F¨E°?ÓC€HØ�uÑØˆäˆ×0Ñ0°&Ô9Ø!×3Ñ3×8Ñ8×DÑDØ�?ó
‰ð ˆä
ˆu‹+×
 Ñ
 €CØ×%Ñ%€GØ
‡~�~Ð+Ô,Ü—‘Ð7¸Ó=ˆØÐ Ð Ð Ø—‘˜A“ˆØÐØ�K‰KÐ<¸uÑDÔEÙØˆNâ#¡UÐ+Ð+Ù	ØˆÙ¤× >Ñ >¸uÔ EÜ# E¨?Ó;Ð;Ø	�‰˜Ô	&Ø˜u×3Ñ3Ñ3´w³yÑ@Ü“Ð,¨u×/CÑ/CÑCÑDˆBÙ�e˜_Ó-Ð-ä4°_ÓEˆFÙ#¡UÐ+Ð+ä*¨?¸EÓBˆÙ¡Ð'Ð'r8   c           	     ó:   — t        t        t        | |dd«      «      S )NÚ	item_typez(.+?\())r   r  Ú_render_type_w_subtype)rç   r4   s     r6   Ú_render_ARRAY_typerf  \  s#   € ÜÜÜØ�? K°ó	
óð r8   c                ó¼   — t        j                  | «      \  }}t        ||d¬«      }|�|dusJ ‚t        |«      D ]  }||   }|dt        ||d¬«      ›d|›d�z  }Œ! |S )NT)r^  Fz.with_variant(rŒ   r«   )r   Ú_get_variant_mappingrü   rN   )rç   r4   Ú	base_typeÚvariant_mappingÚbaseÚdialectÚtyps          r6   r[  r[  e  sx   € ô "-×!AÑ!AÀ%Ó!HÑ€IˆÜ�i ÀÔF€DØÐ ¨EÑ 1Ð1Ð1Ü˜/Ö*ˆØ˜gÑ&ˆÙÜ�s˜O¸DÖAÚð
ñ 	
‰ð +ð €Kr8   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%srQ  rR  rS  rT  Ú
sqlalchemy)rÑ   r  r=   r@   rü   r3  r  rW  rÎ   rX  r  )rç   r4   ÚattrnameÚregexprw   Ú
outer_reprÚ
inner_typeÚ
inner_reprÚsub_typeÚ
outer_typer`  rÎ   ra  s                r6   re  re  t  sò   € ô �e“€JÜ˜ ¨$Ó/€JØÐØä�jÓ!€Jä—‘˜ W¨jÓ9€JÜœ' %¨Ó2°OÓD€HÜ—‘˜ Ñ+¨W°xÑ-?ÀÓL€JáÙ¡Ð,Ð,ä
ˆu‹+×
 Ñ
 €CØ
‡~�~Ð+Ô,Ü—‘Ð7¸Ó=ˆØÐ Ð Ð Ø—‘˜A“ˆÚ¡Ð,Ð,Ø	�‰˜Ô	%Ü0°ÓAˆÙ¡Ð,Ð,àr8   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_renderersrc   Ú
ValueErrorr   Úwarn)rÞ   r4   Únamespace_metadatare   s       r6   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_keyFr5   z(%(prefix)sPrimaryKeyConstraint(%(args)s)rŒ   r‹   rÐ   )r0  r”   r5   rn   rÑ   r7   r  rM   )rÞ   r4   r{  r   rk   Úcr8  r´   s           r6   Ú_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                  so| j
                  �c| j
                  j                  �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.

    rT  éþÿÿÿNr   r   éÿÿÿÿ)Ú_get_colspecÚsplitr™   rM   Úlink_to_nameÚparentr¡   Útablesr~  rl   r›   r5   )	ÚfkÚmetadata_schemar{  ÚcolspecÚtokensrx   ÚcolnameÚtable_fullnamer¢   s	            r6   Ú_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Ð'ð Ð/×6Ñ6Ñ6Ø$×+Ñ+¨NÑ;×=Ñ=×AÑAÀ'ÓJˆCØˆÜ  §¡Ó*�â'©Ð1€Gà€Nr8   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É   rn   rÑ   rÊ   rË   rÌ   rÍ   rÎ   )rÞ   rk   s     r6   Ú_populate_render_fk_optsr�  ç  sç   € ð ×ÒØ�‰�Z¤ j×&9Ñ&9Ó!:Ð;Ô<Ø×ÒØ�‰�Z¤ j×&9Ñ&9Ó!:Ð;Ô<Ø×ÒØ�‰�[¤$ z×';Ñ';Ó"<Ð=Ô>Ø×ÒØ�‰�\¤4¨
×(=Ñ(=Ó#>Ð?Ô@Ø×ÒØ�‰�[¤$ z×';Ñ';Ó"<Ð=Ô>Ø×ÒØ�‰�Wœd :×#3Ñ#3Ó4Ð5Õ6ð r8   c                óÞ  ‡‡— t        d| |«      }|dur|S g }| j                  r0|j                  dt        t	        || j                  «      «      f«       t        | |«       ‰j                  Š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_keyFr5   zC%(prefix)sForeignKeyConstraint([%(cols)s], [%(refcols)s], %(args)s)rŒ   c              3  ól   K  — | ],  }t        t        |j                  j                  «      «      –— Œ. y ­wr/   )rÑ   r›   r†  r5   )r�   Úfs     r6   r‘   z&_render_foreign_key.<locals>.<genexpr>  s'   è ø€ ð Ù5H°””V˜AŸH™HŸM™MÓ*×+Ñ5Hùs   ‚24c              3  óJ   •K  — | ]  }t        t        |‰‰«      «      –— Œ y ­wr/   )rÑ   rŽ  )r�   r”  Úapply_metadata_schemar{  s     €€r6   r‘   z&_render_foreign_key.<locals>.<genexpr>  s)   øè ø€ ð !á,�Aô ”[ Ð$9Ð;MÓN×OÙ,ùs   ƒ #r‹   )rw   ÚcolsÚrefcolsrˆ   )
r0  r5   rn   rÑ   r7   r�  r   r  rM   Úelements)rÞ   r4   r{  r   rk   r8  r´   r–  s     `    @r6   Ú_render_foreign_keyrš  ø  sö   ù€ ô $ M°:¸ÓO€HØ�uÑØˆà€DØ‡‚Ø�‰Ø”TÔ*¨?¸J¿O¹OÓLÓMÐNô	
ô ˜Z¨Ô.à.×5Ñ5Ðð	#ô 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)r0  rÄ   )rÞ   r4   r{  r   s       r6   Ú_render_unique_constraintrœ    s.   € ô $ H¨j¸/ÓJ€HØ�uÑØˆä˜* o°uÓ=Ð=r8   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$  r5   z.%(prefix)sCheckConstraint(%(sqltext)s%(opts)s)rŒ   c              3  ó0   K  — | ]  \  }}|›d |›�–— Œ y­w)r‹   NrŽ   )r�   r¦   r!  s      r6   r‘   z+_render_check_constraint.<locals>.<genexpr>J  s   è ø€ Ð@¹4±4°1°aª©AÔ.¹4ùs   ‚r<   rC  )rw   rk   rJ  )r0  Ú_create_rulerU  r0   r$  Úsqltypesr&   r5   rn   rÑ   r7   r  rM   r±   rJ  )rÞ   r4   r{  r   rk   s        r6   Ú_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àä)Ø×Ñ ¸eô
ñ
?ñ 
ð 
r8   c                ój   — t        |j                  t        «      st        d«      ‚d|j                  z  S )NznAutogenerate rendering of SQL Expression language constructs not supported here; please use a plain SQL stringzop.execute(%r))r0   rJ  r  rÜ   rg   s     r6   Ú_execute_sqlr¤  T  s4   € ä�b—j‘j¤#Ô&Ü!ð@ó
ð 	
ð ˜bŸj™jÑ(Ð(r8   )r4   r'   r5   zsqla_compat._ConstraintNamer	  z*Optional[Union[quoted_name, str, _f_name]])rB   r  r	  r  )r4   r'   rO   r)   rP   zDict[str, Union[str, Config]]r	  r
  )rZ   zops.OpContainerr4   r'   r	  r  )r4   r'   r^   úops.MigrateOperationr	  ú	List[str])r4   r'   r^   r¥  r	  r  )r4   r'   r^   r*   r	  r¦  )r4   r'   r^   zops.CreateTableCommentOpr	  r  )r4   r'   r^   zops.DropTableCommentOpr	  r  )r4   r'   r^   zops.CreateTableOpr	  r  )r4   r'   r^   zops.DropTableOpr	  r  )r4   r'   r²   r   r	  z	list[str])r4   r'   r^   zops.CreateIndexOpr	  r  )r4   r'   r^   zops.DropIndexOpr	  r  )r4   r'   r^   zops.CreateUniqueConstraintOpr	  r¦  )r4   r'   r^   zops.CreateForeignKeyOpr	  r  )r4   r'   r^   zops.DropConstraintOpr	  r  )r4   r'   r^   zops.AddColumnOpr	  r  )r4   r'   r^   zops.DropColumnOpr	  r  )r4   r'   r^   zops.AlterColumnOpr	  r  )r5   z!Optional[Union[quoted_name, str]]r	  úOptional[str])rØ   r   r4   r'   r  rX   r  rX   r  rX   r	  r  )r  r!   r4   r'   r	  r¦  )rÞ   r$   r4   r'   r  rX   r	  r  )r4   r'   r	  r  )rç   r  r.  r   r4   r'   r	  zUnion[str, Literal[False]])rì   zColumn[Any]r4   r'   r	  r  )rþ   r   r	  rX   )T)r@  zBOptional[Union[FetchedValue, str, TextClause, ColumnElement[Any]]]r4   r'   rA  rX   r	  r§  )rK  r+   r4   r'   r	  r  )rO  r,   r4   r'   r	  r  )F)rç   r&   r4   r'   r^  rX   r	  r  )rç   r%   r4   r'   r	  r  )rç   r&   r4   r'   r	  r  r/   )rç   r&   r4   r'   rp  r  rq  r  rw   r§  r	  z$Union[Optional[str], Literal[False]])rÞ   r   r4   r'   r{  úOptional[MetaData]r	  r§  )rÞ   r#   r4   r'   r{  r¨  r	  r§  )rˆ  r   r‰  r§  r{  r"   r	  r  )rÞ   r    rk   zList[Tuple[str, str]]r	  r
  )rÞ   r    r4   r'   r{  r"   r	  r§  )rÞ   r$   r4   r'   r{  r¨  r	  r  )rÞ   r   r4   r'   r{  r¨  r	  r§  )r4   r'   r^   zops.ExecuteSQLOpr	  r  )‚Ú
__future__r   Úior   r=   Útypingr   r   r   r   r	   r
   r   r   Ú
mako.pygenr   ro  r   r  r   r   r¡  Úsqlalchemy.sql.elementsr   r   r<   r   Ú
operationsr   r   r   Úsqlalchemy.sql.baser   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*   Úalembic.util.sqla_compatr+   r,   rš   r7   rC   rS   Ú
DispatcherÚdefault_renderersrb   rJ   rW   rh   Údispatch_forrs   ÚCreateTableCommentOpr�   ÚDropTableCommentOprƒ   ÚCreateTableOpr¨   ÚDropTableOpr­   rµ   ÚCreateIndexOpr¿   ÚDropIndexOprÂ   ÚCreateUniqueConstraintOprÆ   ÚCreateForeignKeyOprÙ   ÚCreatePrimaryKeyOprß   ÚCreateCheckConstraintOprâ   ÚDropConstraintOpré   ÚAddColumnOprî   ÚDropColumnOprò   ÚAlterColumnOpr  r1   r›   r±   rº   rÄ   r%  r  r2   r0  r•   r4  rý   r=  r>  rü   rf  r[  re  rx  r—   r  rŽ  r�  rš  rœ  r¢  ÚExecuteSQLOpr¤  ÚbranchrŽ   r8   r6   Ú<module>rÊ     s   ðõ #å Û 	Ý Ý Ý Ý Ý Ý Ý  Ý å $Ý *Ý Ý (Ý (Ý /å Ý Ý áÝå1Ý5Ý2Ý5Ý,Ý0Ý2Ý0Ý:Ý+Ý.Ý:Ý6Ý-Ý2å7Ý%Ý6Ý5Ý1Ý1ð €ð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 ×Ñ˜Ÿ™Ó(òó )ððØ#ðØ+8ðàóð ×Ñ˜×)Ñ)Ó*ò$ó +ð$ðN ×Ñ˜Ÿ™Ó(òó )ðð2 ×Ñ˜×4Ñ4Ó5ðGØ#ðGØ)EðGàòGó 6ðGð ×Ñ˜×.Ñ.Ó/ð#Ø#ð#Ø)?ð#àò#ó 0ð#ðL ×Ñ˜×.Ñ.Ó/ñ ó 0ð ð ×Ñ˜×3Ñ3Ó4ñ ó 5ð ð ×Ñ˜×,Ñ,Ó-ð@Ø#ð@Ø)=ð@àò@ó .ð@ð( ×Ñ˜Ÿ™Ó(òó )ðð$ ×Ñ˜×(Ñ(Ó)òó *ðð( ×Ñ˜×)Ñ)Ó*ð9Ø#ð9Ø):ð9àò9ó +ð9÷x<ñ <óð( Ø#ØñØðà#ðð ð	ð
 ðð ðð 	óð2
Ø	ð
Ø!/ð
àó
ð'
Ø ð'
à#ð'
ð ð'
ð 	ó	'
òTóBóCð	Øð	Øð	Ø/=ð	àó	ð6Øð6Ø*8ð6àó6órAð ðððð $ð	ð
 ðð óð:ØðØ)7ðàóð"
Øð
Ø)7ð
àó
ð  !ð)(Øð)(à#ð)(ð ð)(ð 	ó	)(óXðØðØ(6ðàóð( !ðØðà#ðð ðð ð	ð
 ðð *óðD (˜Ÿ™Ó)Ð ðIØðIà#ðIð +ðIð ó	Ið ×#Ñ# I×$BÑ$BÓCðØ$ðà#ðð +ðð ò	ó Dðð4"Øð"à"ð"ð !ð"ð 	ó	"ðJ7Ø$ð7Ø,Að7à	ó7ð" ×#Ñ# I×$BÑ$BÓCð"Ø$ð"à#ð"ð !ð"ð ò	"ó Dð"ðJ ×#Ñ# I×$>Ñ$>Ó?ð	>Ø ð	>à#ð	>ð +ð	>ð 	ò		>ó @ð	>ð ×#Ñ# I×$=Ñ$=Ó>ð%Øð%à#ð%ð +ð%ð ò	%ó ?ð%ðP ×Ñ˜×(Ñ(Ó)ò)ó *ð)ð ×$Ò$Ó&�	r8   