....................................../////.===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/hc_python/lib64/python3.12/site-packages/sqlalchemy/orm/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/orm/__pycache__/unitofwork.cpython-312.pyc
�

���g�i����dZddlmZddlmZddlmZddlmZddlmZddlmZdd	l	m
Z
dd
l	mZddl	m
Zdd
l	mZddl	m
Z
ddl
mZer$ddlmZddlmZddlmZddlmZddlmZddlmZd�ZGd�d�ZGd�d�ZGd�de�ZGd�d�Z Gd�dee �Z!Gd �d!e �Z"Gd"�d#e �Z#Gd$�d%e �Z$Gd&�d'e �Z%Gd(�d)e �Z&Gd*�d+e �Z'y,)-z�The internals for the unit of work system.

The session's flush() process passes objects to a contextual object
here, which assembles flush tasks based on mappers and their properties,
organizes them in order of dependency, and executes.

�)�annotations)�Any)�Dict)�Optional)�Set)�
TYPE_CHECKING���
attributes)�exc)�util�)�event)�topological)�DependencyProcessor)�MapperProperty)�Mapper)�Session)�SessionTransaction)�
InstanceStatec���|j��fd�}�fd�}�fd�}tj|d|dd��tj|d|ddd��tj|d	|ddd��tj|d
|ddd��y)z\Establish event listeners on object attributes which handle
    cascade-on-set/append.

    c�b��|�y|j}|r�|jr|jd�|jjj
�}t
j|�}|jjr1�|jk(r"|j|�s|j|�|S)Nzcollection append)
�session�_warn_on_events�_flush_warning�manager�mapper�_propsr�instance_state�_cascade�save_update�key�_contains_state�_save_or_update_state��state�item�	initiator�kw�sess�prop�
item_stater"s       ��J/opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/orm/unitofwork.py�appendz$track_cascade_events.<locals>.append2s�����<���}�}����#�#��#�#�$7�8��=�=�'�'�.�.�s�3�D�#�2�2�4�8�J��
�
�)�)��I�M�M�)��,�,�Z�8��*�*�:�6���c���|�y|j}|jjj�}|r+|jr|j|jrdnd�|��|tjur�|tjurr|jjr[tj|�}|jj|�r*|r ||jvr|j|�yd|_yyyyyy)Nzcollection removezrelated attribute deleteT)rrrrrr�uselistr�	NEVER_SET�PASSIVE_NO_RESULTr �
delete_orphanr�
_is_orphan�_new�expunge�_orphaned_outside_of_sessionr%s       �r-�removez$track_cascade_events.<locals>.removeIs�����<���}�}���}�}�#�#�*�*�3�/���D�(�(�����<�<�$�/�
�
���J�0�0�0��J�8�8�8��
�
�+�+�$�2�2�4�8�J��{�{�%�%�j�1��J�$�)�)�3��L�L��&�?C�J�;�2�,�9�1�
r/c���||ur|S|j}|�r)|jr|jd�|jjj
�	}|�\t
j|�}|jjr1�	|jk(r"|j|�s|j|�|��|tjurw|tjure|jjrOt
j|�}||j vr,|jj#|�r|j%|�|S)Nzrelated attribute set)rrrrrrrrr r!r"r#r$r2r3r4r6r5r7)
r&�newvalue�oldvaluer(r)r*r+�newvalue_state�oldvalue_stater"s
         �r-�set_z"track_cascade_events.<locals>.set_ks����x���O��}�}����#�#��#�#�$;�<��=�=�'�'�.�.�s�3�D��#�!+�!:�!:�8�!D���M�M�-�-��	�
�
�-� �0�0��@��.�.�~�>��$��J�$8�$8�8��J�$@�$@�@��M�M�/�/�",�!:�!:�8�!D��!�T�Y�Y�.�4�;�;�3I�3I�"�4��L�L��*��r/�append_wo_mutationT)�raw�include_keyr.)rA�retvalrBr9�setN)r"r�listen)�
descriptorr+r.r9r?r"s     @r-�track_cascade_eventsrG+s����
�(�(�C��. C�D"�H
�L�L��(�&�d���
�L�L��H�f�$�t���
�L�L��H�f�$�t���
�L�L��E�4�T�$�D�r/c��eZdZUded<ded<ded<ded<d	ed
<dd�Zed��Zd
�Zd�Zd�Z	d�Z
ejfd�Z
d�Zd�Z					d													d d�Zd�Zd�Zej(d��Zd�Zd�Zd�Zd!d�Zd!d�Zy)"�UOWTransactionrrr�transactionzDict[str, Any]rz7util.defaultdict[Mapper[Any], Set[DependencyProcessor]]�depsz6util.defaultdict[Mapper[Any], Set[InstanceState[Any]]]�mappersc��||_i|_tjt�|_tjt�|_i|_i|_t	�|_	i|_
tjd��|_y)Nc�*�t�t�fS�N)rD�r/r-�<lambda>z)UOWTransaction.__init__.<locals>.<lambda>�s��C�E�3�5�>r/)rrr
�defaultdictrDrKrL�presort_actions�postsort_actions�dependencies�states�post_update_states)�selfrs  r-�__init__zUOWTransaction.__init__�sy���������$�$�S�)��	�
�'�'��,���
 "���
!#��� �E���
���#'�"2�"2�3I�"J��r/c�,�t|j�SrO)�boolrV�rXs r-�has_workzUOWTransaction.has_work�s���D�K�K� � r/c���|jr"	|j|tj�yy#tj
$r|jj|g�YywxYw)zZReturn ``True`` if the given state is expired and was deleted
        previously.
        TF)�expired�
_load_expiredr�PASSIVE_OFF�orm_exc�ObjectDeletedErrorr�_remove_newly_deleted�rXr&s  r-�was_already_deletedz"UOWTransaction.was_already_deleted�sY���=�=�
��#�#�E�:�+A�+A�B����-�-�
����2�2�E�7�;��
�s� 0�/A"�!A"c�F�||jvxr|j|dS)z[Return ``True`` if the given state is marked as deleted
        within this uowtransaction.r�rVres  r-�
is_deletedzUOWTransaction.is_deleted�s&������#�=����E�(:�1�(=�=r/c�l�||jvr|j|S|�x|j|<}|SrOr
)rXr"�	callable_�rets    r-�memozUOWTransaction.memo�s7���$�/�/�!��?�?�3�'�'�)2��4�D�O�O�C� �3��Jr/c�J�|j|d}|df|j|<y)z;Remove pending actions for a state from the uowtransaction.rTNrh)rXr&�isdeletes   r-�remove_state_actionsz#UOWTransaction.remove_state_actions�s*���;�;�u�%�a�(��&��-����E�r/c���d||f}||jvr�|j|\}}}|tjzs�|tjzr�|j|j}|j	||j
tjtjztjz�}|r|jr|j�}n|}|||f|j|<|S|j|j}|j	||j
|tjztjz�}|r|jr|j�}n|}|||f|j|<|S)zOFacade to attributes.get_state_history(), including
        caching of results.�history)r�SQL_OKr�impl�get_history�dictra�LOAD_AGAINST_COMMITTED�NO_RAISE�uses_objects�as_state)	rXr&r"�passive�hashkeyrr�
state_history�cached_passiverts	         r-�get_attribute_historyz$UOWTransaction.get_attribute_history�sm���e�S�)���d�o�o�%�59�_�_�W�5M�2�G�]�N�
#�Z�%6�%6�6��j�/�/�/��}�}�S�)�.�.���*�*���J�J��*�*� �7�7�8� �)�)�*����t�0�0�$+�$4�$4�$6�M�$+�M�,3�]�G�+L�����(�$��!�=�=��%�*�*�D��&�&���
�
���3�3�4��%�%�&��G��4�,�,� '� 0� 0� 2�
� '�
�(/���'H�D�O�O�G�$��r/c�"�|df|jvS)NT)rS)rX�	processors  r-�has_depzUOWTransaction.has_dep*s���4� �D�$8�$8�8�8r/c�\�||f}||jvrt||�|j|<yyrO)rS�
Preprocess)rXr��
fromparentr"s    r-�register_preprocessorz$UOWTransaction.register_preprocessor-s6���*�%���d�*�*�*�(2�9�j�(I�D� � ��%�+r/Nc	���|jj|�sA|js4|�2tjdtj|��d|�d|�d��y||jvre|jj}||jvr|j|�|j|j|�||f|j|<y|s|s|r|df|j|<y)NzObject of type z not in session, z operation along 'z' will not proceedFT)
rr#�deletedr
�warn�orm_util�state_class_strrVrrrL�_per_mapper_flush_actions�add)rXr&ro�listonly�
cancel_delete�	operationr+rs        r-�register_objectzUOWTransaction.register_object2s����|�|�+�+�E�2��=�=�Y�%:��	�	� �/�/��6�	�4�I��
�����#��]�]�)�)�F��T�\�\�)��.�.�v�6��L�L�� �$�$�U�+�"*�H�!5�D�K�K������]�&.��%6����E�"�r/c��|jjj}|j|\}}|j	|�|j|�yrO)rr�base_mapperrWr��update)rXr&�post_update_colsrrV�colss      r-�register_post_updatez#UOWTransaction.register_post_updateTsD�����%�%�1�1���.�.�v�6�����
�
�5�����$�%r/c�P�t||j�}t||j�}|jj	||f�|j
D]}|j
|��|jD],}|jr�|j}|j
|��.yrO)
�
SaveUpdateAllr��	DeleteAllrUr��_dependency_processors�per_property_preprocessors�
relationships�viewonly�_dependency_processor)rXr�saves�deletes�depr+s      r-r�z(UOWTransaction._per_mapper_flush_actionsZs����d�F�$6�$6�7���D�&�"4�"4�5�������u�g�.�/��0�0�C��*�*�4�0�1��(�(�D��}�}���,�,�C��*�*�4�0�	)r/c�.�tjd��S)areturn a dynamic mapping of (Mapper, DependencyProcessor) to
        True or False, indicating if the DependencyProcessor operates
        on objects of that Mapper.

        The result is stored in the dictionary persistently once
        calculated.

        c�v�|djj|dj�|djuS)Nrr	)r�getr"r+)�tups r-rQz0UOWTransaction._mapper_for_dep.<locals>.<lambda>ss,���A��
�
�)�)�#�a�&�*�*�5��Q����Dr/)r
�PopulateDictr\s r-�_mapper_for_depzUOWTransaction._mapper_for_dephs��� � �D�
�	
r/c�|�|j}|D�cgc] }||jj|fs�|��"c}Scc}w)zmFilter the given list of InstanceStates to those relevant to the
        given DependencyProcessor.

        )r�rr)rXr�rV�mapper_for_dep�ss     r-�filter_states_for_depz$UOWTransaction.filter_states_for_depvs=��
�-�-��!�M�6�a�^�Q�Y�Y�5E�5E�s�4K�%L��6�M�M��Ms� 9�9c#�K�||f}|jjD]-}|j|D]}|j||k(s�|����/y�wrO)r��self_and_descendantsrLrV)rXrror��checktupr&s      r-�states_for_mapper_hierarchyz*UOWTransaction.states_for_mapper_hierarchy~sO�����h�'���(�(�=�=�F����f�-���;�;�u�%��1��K�.�>�s�AA�	Ac	��	d}t|jj��D]}|j|�s�d}�|sn�Bt	j
|jt|jj���x|_}|�r1|D�cic]}|t|j|����}}t|j�D]�}d|vs/|djs |djs|j|�r|jj|��R|d|vrI|jj|�||dD]"}|jj||df��$��|d|vs��|jj|�||dD]"}|jj|d|f��$��|jj�D�chc]}|jr�|��c}j|�Scc}wcc}w)z}Generate the full, unsorted collection of PostSortRecs as
        well as dependency pairs for this UOWTransaction.

        TFNrr	)�listrS�values�executer�find_cyclesrUrT�cyclesrD�per_state_flush_actions�disabled�
issupersetr9r��
difference)	rXrl�actionr��rec�convert�edger��as	         r-�_generate_actionsz UOWTransaction._generate_actions�s�����C��t�3�3�:�:�<�=���>�>�$�'��C�>���
� +�6�6����t�D�$9�$9�$@�$@�$B�C� 
�	
���f��HN��GM���S��4�4�T�:�;�;�v�
���T�.�.�/���D�L��A�w�'�'��A�w�'�'��(�(��.��%�%�,�,�T�2��!�W��&��%�%�,�,�T�2�&�t�A�w�/���)�)�-�-�s�D��G�n�=� 0��!�W��&��%�%�,�,�T�2�&�t�A�w�/���)�)�-�-�t�A�w��n�=� 0�0�$�,�,�3�3�5�
�5�!�Q�Z�Z�A�5�
�
�*�V�
�	��1��0
s�"H�H	�.H	c�v�|j�}t|d���}|jrYtj|j
|�D]5}t
|�}|s�|j�}|j||�|r�%�7ytj|j
|�D]}|j|��y)Nc��|jSrO)�sort_key)r's r-rQz(UOWTransaction.execute.<locals>.<lambda>�s��T�]�]r/)r")r��sortedr�r�sort_as_subsetsrUrD�pop�execute_aggregate�sortr�)rXrT�subsetr?�nr�s      r-r�zUOWTransaction.execute�s����1�1�3��!��*�
���;�;�%�5�5��!�!�#3����6�{������
�A��'�'��d�3��	�#�'�'��(9�(9�;K�L�����D�!�Mr/c�V�|jsyt|j�}|jj�D���chc]
\}\}}|s�|��}}}}|j|�}|r|jj|�|r|jj
|�yycc}}}w)z�Mark processed objects as clean / deleted after a successful
        flush().

        This method is called within the flush() method after the
        execute() method has succeeded and the transaction has been committed.

        N)rVrD�itemsr�rrd�_register_persistent)rXrVr�ror��isdel�others       r-�finalize_flush_changesz%UOWTransaction.finalize_flush_changes�s����{�{���T�[�[�!��/3�{�{�/@�/@�/B�
�/B�+�1�*�x��h�A�/B�	�
��!�!�%�(����L�L�.�.�u�5���L�L�-�-�e�4���

s�
B$�B$)rr)FFFNN)r&zInstanceState[Any]ror[r�r[r�r[r�z
Optional[str]r+zOptional[MapperProperty]�returnr[)r��None)�__name__�
__module__�__qualname__�__annotations__rY�propertyr]rfrirmrpr�PASSIVE_NO_INITIALIZErr�r�r�r�r�r
�memoized_propertyr�r�r�r�r�r�rPr/r-rIrI�s��
��#�#���
A�A�
C�C�+K�Z�!��!�
�>��.�#-�"B�"B�3�j9�J���#�#'�)-� �!� �� ��	 �
� �!�
 �'� �
� �D&�1�
���
��
�N� �2�h"�65r/rIc��eZdZdZd�Zy)�IterateMappersMixinrPc������jr3t��fd��jjjD��S�jj
jS)Nc3�X�K�|]!}�j|�jfr|���#y�wrO)r��dependency_processor)�.0�mrX�uows  ��r-�	<genexpr>z/IterateMappersMixin._mappers.<locals>.<genexpr>�s2������N�A��&�&��4�+D�+D�'E�F��N�s�'*)r��iterr��parentr�r�rXr�s``r-�_mapperszIterateMappersMixin._mappers�sP����?�?����2�2�9�9�N�N���
��,�,�3�3�H�H�Hr/N)r�r�r��	__slots__r�rPr/r-r�r��s
���I�Ir/r�c��eZdZdZd�Zd�Zy)r�)r�r��	processed�setup_flush_actionsc�L�||_||_t�|_d|_y�NF)r�r�rDr�r�)rXr�r�s   r-rYzPreprocess.__init__s"��$8��!�$�������#(�� r/c���t�}t�}|j|�D]i}|j|j|j�D]<}|j
|\}}|r�|r|j
|��,|j
|��>�k|r7|jj||�|jj|�|r7|jj||�|jj|�|s|ri|js\|jj||d�s|jj||d�r"|jj|�d|_yy�NTF)rDr�rLr�r�rVr�r��presort_deletesr��
presort_savesr��prop_has_changes�per_property_flush_actions)rXr��
delete_states�save_statesrr&ror�s        r-r�zPreprocess.executes;����
��e���m�m�C�(�F����V�,�7�7����G��'*�z�z�%�'8�$��8���%�)�)�%�0�#����.�
H�)���%�%�5�5�c�=�I��N�N�!�!�-�0���%�%�3�3�C��E��N�N�!�!�+�.��K��+�+��)�)�:�:������,�,�=�=���e���)�)�D�D�S�I�+/��(��r/N)r�r�r�r�rYr�rPr/r-r�r��s���I�)�!r/r�c��eZdZdZd�Zd�Zy)�PostSortRec)r�c��|f|z}||jvr|j|Stj|�x|j|<}d|_|Sr�)rT�object�__new__r�)�clsr��argsr"rls     r-r�zPostSortRec.__new__-sV���f�t�m���#�&�&�&��'�'��,�,�.4�n�n�S�.A�A�C� � ��%�� �C�L��Jr/c�&�|j|�yrO)r�)rXr��recss   r-r�zPostSortRec.execute_aggregate6s�����S�r/N)r�r�r�r�r�r�rPr/r-r�r�*s���I��r/r�c�.�eZdZdZd�Zd�Zd�Zd�Zd�Zy)�
ProcessAll)r�ror�r�c���||_d|jj|f|_||_||_|j|j
jj|�y)Nr�)r�r�ror�rKr�r�r�)rXr�r�ror�s     r-rYzProcessAll.__init__=s_��$8��!���%�%�.�.��
��
�
!��
�$������%�,�,�8�8�9�=�=� �	
r/c��|j|�}|jr|jj||�y|jj	||�yrO)�	_elementsror��process_deletes�
process_saves)rXr�rVs   r-r�zProcessAll.executeJsC������$���=�=��%�%�5�5�c�6�B��%�%�3�3�C��@r/c��tg�SrO)r�r�s  r-r�z"ProcessAll.per_state_flush_actionsQs
��
�B�x�r/c�h�|jj�d|j�d|j�d�S)N�(z, isdelete=�))�	__class__r�r�ror\s r-�__repr__zProcessAll.__repr__Xs)���N�N�#�#��%�%��M�M�
�	
r/c#�K�|j|�D]?}|j|D]+}|j|\}}||jk(s�%|r�(|���-�Ay�wrO)r�rLrVro)rXr�rr&ror�s      r-rzProcessAll._elements_sR�����m�m�C�(�F����V�,��'*�z�z�%�'8�$��8��t�}�}�,�X��K�-�)�s�AA�A�	AN)	r�r�r�r�rYr�r�r
rrPr/r-r�r�:s!��L�I�
�A��
� r/r�c�F�eZdZdZd�Zejd�d��Zy)�
PostUpdateAll)rror�c�H�||_||_d|j|f|_y)Nr
)rro�	_sort_keyr�)rXr�rros    r-rYzPostUpdateAll.__init__js$����� ��
�(�&�*:�*:�H�E��
r/�sqlalchemy.orm.persistencec��tjj}|j|j\}}|D�cgc]$}|j
|d|jk(s�#|��&}}|j|j|||�ycc}w�Nr)r
�	preloaded�orm_persistencerWrrVro�post_update)rXr��persistencerVr�r�s      r-r�zPostUpdateAll.executeoss���n�n�4�4���-�-�d�k�k�:����#�I�V��s�z�z�!�}�Q�'7�4�=�=�'H�!�V��I�������V�S�$�?��Js�$B� BN)r�r�r�r�rYr
�preload_moduler�rPr/r-r
r
gs1��0�I�F�
�T���5�6�@�7�@r/r
c�R�eZdZdZd�Zejd�d��Zd�Zd�Z	y)r��rr�c�X�||_d|jf|_||jusJ�y)Nr��rrr�r��rXr�rs   r-rYzSaveUpdateAll.__init__{s/�����(�&�*:�*:�;��
���+�+�+�+�+r/rc��tjjj|j|j|jdd�|�yr�)r
rr�save_objrr�r�s  r-r�zSaveUpdateAll.execute�s:�����&�&�/�/��K�K��+�+�D�K�K���F��	
r/c#�K�t|j|jdd��}|jj}t	||�}|D]/}t||�}|jj||f�|���1|j|jD]'}|j||�}|j||d��)y�wr�)r�r�rr�r��SaveUpdateStaterUr�rKr�r�)	rXr�rVr��
delete_allr&r�r��states_for_props	         r-r�z%SaveUpdateAll.per_state_flush_actions�s�������+�+�D�K�K���F�
���k�k�-�-���s�K�0�
��E�%�S�%�0�F���� � �&�*�!5�6��L���8�8�D�K�K�(�C�!�7�7��V�D�O��'�'��_�e�D�)���CCc�N�|jj�d|j�d�S�Nrr�r	r�rr\s r-r
zSaveUpdateAll.__repr__�����>�>�2�2�D�K�K�@�@r/N�
r�r�r�r�rYr
rr�r�r
rPr/r-r�r�xs:��&�I�,�
�T���5�6�
�7�
�E�"Ar/r�c�R�eZdZdZd�Zejd�d��Zd�Zd�Z	y)r�rc�X�||_d|jf|_||jusJ�y)Nr�rrs   r-rYzDeleteAll.__init__�s/�����$�f�&6�&6�7��
���+�+�+�+�+r/rc��tjjj|j|j|jdd�|�yr�)r
rr�
delete_objrr�r�s  r-r�zDeleteAll.execute�s:�����&�&�1�1��K�K��+�+�D�K�K��u�E��	
r/c#�K�t|j|jdd��}|jj}t	||�}|D]/}t||�}|jj||f�|���1|j|jD]'}|j||�}|j||d��)y�wr�)r�r�rr�r��DeleteStaterUr�rKr�r�)	rXr�rVr��save_allr&r�r�r"s	         r-r�z!DeleteAll.per_state_flush_actions�s�������+�+�D�K�K��u�E�
���k�k�-�-�� ��k�2���E�!��e�,�F���� � �(�F�!3�4��L���8�8�D�K�K�(�C�!�7�7��V�D�O��'�'��_�d�C�)�r#c�N�|jj�d|j�d�Sr%r&r\s r-r
zDeleteAll.__repr__�r'r/Nr(rPr/r-r�r��s:��&�I�,�
�T���5�6�
�7�
�D�"Ar/r�c�"�eZdZdZd�Zd�Zd�Zy)�ProcessState)r�ror&r�c�T�||_d|jf|_||_||_y�Nr2)r�r�ror&)rXr�r�ror&s     r-rYzProcessState.__init__�s+��$8��!�'�)=�)F�)F�G��
� ��
���
r/c��|j}|j}|j}|D�cgc].}|j|ur|j|ur|j|ur|��0}}|j|�|jg|D�cgc]}|j��c}z}|r|j||�y|j
||�ycc}wcc}wrO)r	r�ro�difference_updater&rr)	rXr�r��cls_r�ro�r�our_recsrVs	         r-r�zProcessState.execute_aggregate�s����~�~��#�8�8���=�=���
����{�{�d�"��&�&�*>�>��
�
�h�&�	
��	�
�	
���x�(��*�*��(� ;�(�Q����(� ;�;��� �0�0��f�=� �.�.�s�F�;��
��!<s�3B?�?Cc��|jj�d|j�dtj|j
��d|j�d�S)Nrz, z	, delete=r)r	r�r�r��	state_strr&ror\s r-r
zProcessState.__repr__�s;���N�N�#�#��%�%����t�z�z�*��M�M�	
�	
r/N)r�r�r�r�rYr�r
rPr/r-r2r2�s��G�I��<�$
r/r2c�L�eZdZdZd�Zejd�d��Zd�Zy)r �r&rr�c��||_|jj|_d|jjf|_yr4�r&rr�rr��rXr�r&s   r-rYzSaveUpdateState.__init__�s0����
��l�l�.�.���'����)>�)>�?��
r/rc�j�tjj}|j}|j}|D�cgc]"}|j|us�|j|us�!|��$}}|j|�|j
||jg|D�cgc]}|j��c}z|�ycc}wcc}wrO)r
rrr	rr6rr&)rXr�r�rr7rr8r9s        r-r�z!SaveUpdateState.execute_aggregate�s����n�n�4�4���~�~�������
��!�q�{�{�d�2�q�x�x�6�7I�A�t�	�
�	
���x�(�����T�Z�Z�L�X�#>�X��A�G�G�X�#>�>��	
��	
��
$?s�B+�B+�B+�
B0c�t�|jj�dtj|j��d�Sr%�r	r�r�r;r&r\s r-r
zSaveUpdateState.__repr__��+���N�N�#�#����t�z�z�*�
�	
r/N�	r�r�r�r�rYr
rr�r
rPr/r-r r �s4��-�I�@�
�T���5�6�

�7�

�
r/r c�L�eZdZdZd�Zejd�d��Zd�Zy)r.r=c��||_|jj|_d|jjf|_y)Nr.r?r@s   r-rYzDeleteState.__init__s0����
��l�l�.�.���&����(=�(=�>��
r/rc��tjj}|j}|j}|D�cgc]"}|j|us�|j|us�!|��$}}|j|�|jg|D�cgc]}|j��c}z}|j||D�	cgc]}	|j|	ds�|	��c}	|�ycc}wcc}wcc}	wr)	r
rrr	rr6r&r,rV)
rXr�r�rr7rr8r9rVr�s
          r-r�zDeleteState.execute_aggregate
s����n�n�4�4���~�~�������
��!�q�{�{�d�2�q�x�x�6�7I�A�t�	�
�	
���x�(��*�*��(� ;�(�Q����(� ;�;�������;��1�#�*�*�Q�-��*:�Q��;�S�	
��
��!<��;s#�C�C�C�C�)C
�C
c�t�|jj�dtj|j��d�Sr%rCr\s r-r
zDeleteState.__repr__rDr/NrErPr/r-r.r.s3��-�I�?�
�T���5�6�
�7�
�
r/r.N)(�__doc__�
__future__r�typingrrrrr�rrrbr
r�rr�
dependencyr�
interfacesrrrrrrr&rrGrIr�r�r�r�r
r�r�r2r r.rPr/r-�<module>rPs����#����� ��������/�*�� �+�$�o�dJ5�J5�Z
I�I�/�$�/�d
�
� * �$�k�* �Z@�K�@�""A�K�"A�J"A��"A�J!
�;�!
�H
�k�
�8
�+�
r/

Youez - 2016 - github.com/yon3zu
LinuXploit