PK���ȼRY��������€��� �v3.phpUT �øŽg‰gñ“gux �õ��õ��½T]kÛ0}߯pEhìâÙM7X‰çv%”v0֐µ{)Aå:6S$!ÉMJèߕ?R÷!>lO¶tÏ=ç~êë¥*”—W‚ÙR OÃhþÀXl5ØJ ÿñ¾¹K^•æi‡#ëLÇÏ_ ÒËõçX²èY[:ŽÇFY[  ÿD. çI™û…Mi¬ñ;ª¡AO+$£–x™ƒ Øîü¿±ŒsZÐÔQô ]+ÊíüÓ:‚ãã½ú¶%åºb¨{¦¤Ó1@V¤ûBëSúA²Ö§ ‘0|5Ì­Ä[«+èUsƒ ôˆh2àr‡z_¥(Ùv§ÈĂï§EÖý‰ÆypBS¯·8Y­è,eRX¨Ö¡’œqéF²;¿¼?Ø?Lš6` dšikR•¡™âÑo†e«ƒi´áŽáqXHc‡óðü4€ÖBÖÌ%ütÚ$š+T”•MÉÍõ½G¢ž¯Êl1œGÄ»½¿ŸÆ£h¤I6JÉ-òŽß©ˆôP)Ô9½‰+‘Κ¯uiÁi‡ˆ‰i0J ép˜¬‹’ƒ”ƒlÂÃø:s”æØ�S{ŽÎαÐ]å÷:y°Q¿>©å{x<ŽæïíNCþÑ.Mf?¨«2ý}=ûõýî'=£§ÿu•Ü(—¾IIa­"éþ@¶�¿ä9?^-qìÇÞôvŠeÈc ðlacã®xèÄ'®âd¶ çˆSEæódP/ÍÆv{Ô)Ó ?>…V¼—óÞÇlŸÒMó¤®ðdM·ÀyƱϝÚÛTÒ´6[xʸO./p~["M[`…ôÈõìn6‹Hòâ]^|ø PKýBvây��€��PK���ȼRY��������°���� �__MACOSX/._v3.phpUT �øŽg‰gþ“gux �õ��õ��c`cg`b`ðMLVðVˆP€'qƒøˆŽ!!AP&HÇ %PDF-1.7 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font << /F1 8 0 R /F2 9 0 R >> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj << /Producer (���d�o�m�p�d�f� �2�.�0�.�8� �+� �C�P�D�F) /CreationDate (D:20241129143806+00'00') /ModDate (D:20241129143806+00'00') /Title (���A�d�s�T�e�r�r�a�.�c�o�m� �i�n�v�o�i�c�e) >> endobj 6 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 7 0 R >> endobj 7 0 obj << /Filter /FlateDecode /Length 904 >> stream x���]o�J���+F�ͩ����su\ �08=ʩzရ���lS��lc� "Ց� ���wޙ�%�R�DS��� �OI�a`� �Q�f��5����_���םO�`�7�_FA���D�Џ.j�a=�j����>��n���R+�P��l�rH�{0��w��0��=W�2D ����G���I�>�_B3ed�H�yJ�G>/��ywy�fk��%�$�2.��d_�h����&)b0��"[\B��*_.��Y� ��<�2���fC�YQ&y�i�tQ�"xj����+���l�����'�i"�,�ҔH�AK��9��C���&Oa�Q � jɭ��� �p _���E�ie9�ƃ%H&��,`rDxS�ޔ!�(�X!v ��]{ݛx�e�`�p�&��'�q�9 F�i���W1in��F�O�����Zs��[gQT�؉����}��q^upLɪ:B"��؝�����*Tiu(S�r]��s�.��s9n�N!K!L�M�?�*[��N�8��c��ۯ�b�� ��� �YZ���SR3�n�����lPN��P�;��^�]�!'�z-���ӊ���/��껣��4�l(M�E�QL��X ��~���G��M|�����*��~�;/=N4�-|y�`�i�\�e�T�<���L��G}�"В�J^���q��"X�?(V�ߣXۆ{��H[����P�� �c���kc�Z�9v�����? �a��R�h|��^�k�D4W���?Iӊ�]<��4�)$wdat���~�����������|�L��x�p|N�*��E� �/4�Qpi�x.>��d����,M�y|4^�Ż��8S/޾���uQe���D�y� ��ͧH�����j�wX � �&z� endstream endobj 8 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /Name /F2 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding >> endobj xref 0 10 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000284 00000 n 0000000313 00000 n 0000000514 00000 n 0000000617 00000 n 0000001593 00000 n 0000001700 00000 n trailer << /Size 10 /Root 1 0 R /Info 5 0 R /ID[] >> startxref 1812 %%EOF
Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 128

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 129

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 130

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 131
 ec@sdZddlZddlZddlZddlmZddlmZddlmZddlm Z ddlm Z dd lm Z dd lm Z dd lm Z d d lmZd dlmZd dlmZd dlmZeZeZeZejdZejdZdefdYZdefdYZdZdZdZdZdZ dZ!dZ"dZ#dej$j%fd YZ&d!ej$j%fd"YZ'ej(d#d$Z)d%efd&YZ*d'efd(YZ+d)efd*YZ,d+efd,YZ-d-e,fd.YZ.d/e/fd0YZ0d1ej1e0fd2YZ2d3e2efd4YZ3d5e fd6YZ4d7ej5e,fd8YZ6d9e7fd:YZ8d;efd<YZ9d=e fd>YZ:d?efd@YZ;dAe;fdBYZ<dCej=e;fdDYZ>dEej?fdFYZ@edGZAdHZBedIZCdS(Js4Foundational utilities common to many sql modules. iNi(troles(tvisitors(t HasCacheKey(tHasCopyInternals(tMemoizedHasCacheKey(t ClauseVisitor(tExtendedInternalTraversal(tInternalTraversali(texc(tutil(t HasMemoized(t hybridmethodtPARSE_AUTOCOMMITtNO_ARGt ImmutablecBs8eZdZeZdZdZdZdZRS(s@mark a ClauseElement as 'immutable' when expressions are cloned.cOstddS(Ns(Immutable objects do not support copying(tNotImplementedError(tselft optionaldicttkwargs((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt unique_params,scOstddS(Ns(Immutable objects do not support copying(R(RRR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytparams/scKs|S(N((Rtkw((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_clone2scKsdS(N((RR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_copy_internals5s( t__name__t __module__t__doc__tTruet _is_immutableRRRR(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR's    tSingletonConstantcBs,eZdZeZdZedZRS(s.Represent SQL constants like NULL, TRUE, FALSEcOs|jS(N(t _singleton(tclstargR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt__new__>scCs8tj|}|jt|g|_||_dS(N(tobjectR!t__init__t frozensett proxy_setR(Rtobj((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_create_singletonAs (RRRRt_is_singleton_constantR!t classmethodR'(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR9s cGs&tjjg|D]}|j^qS(N(t itertoolstchaint from_iterablet _from_objects(telementstelement((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR-Qs cCs&tjjg|D]}|j^qS(sXexpand tables into individual columns in the given list of column expressions. (R*R+R,t_select_iterable(R.tc((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_select_iterablesWs cCs+tjd}||}||_|S(snon-caching _generative() decorator. This is basically the legacy decorator that copies the object and runs a method on the new copy. c_s:|j}||||}|dks6td|S(sMark a method as generative.s,generative methods must have no return valueN(t _generatetNonetAssertionError(tfnRtargsRtx((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt _generativeis (R t decoratortnon_generative(R6R9t decorated((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR9as  csz|jdi|jdi}g|D]*}|tj||j|df^q+tjfd}|S(Ntmsgstdefaultscs|d}|d}x]D]U\}}}|||k rj|d|j|jf}tj|qqW||||S(Niis9Method %s() has already been invoked on this %s construct(tgetRt __class__RtInvalidRequestError(R6R7RRtnametgettertdefault_tmsg(tgettersR=(sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytchecks  (tpoptoperatort attrgetterR?R4R R:(tnamesRR>RBRG((RFR=sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_exclusive_againstws 4cKs |j|S(N(R(R/R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRscCs#tjg|D]}|j^q S(s\expand the given set of ClauseElements to be the set of all 'cloned' predecessors. (R*R+t _cloned_set(R.R8((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_expand_clonedscs;tt|jt|tfd|DS(sreturn the intersection of sets a and b, counting any overlap between 'cloned' predecessors. The returned set is in terms of the entities present within 'a'. c3s'|]}j|jr|VqdS(N(t intersectionRM(t.0telem(t all_overlap(sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys s(tsetRNRO(tatb((RRsF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_cloned_intersections!cs;tt|jt|tfd|DS(Nc3s'|]}j|js|VqdS(N(RORM(RPRQ(RR(sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys s(RSRNRO(RTRU((RRsF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_cloned_differences!t_DialectArgViewcBsMeZdZdZdZdZdZdZdZdZ RS(saA dictionary view of dialect-level arguments in the form _. cCs ||_dS(N(R&(RR&((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR#scCsYy|jdd\}}Wn,tk rJ}tjt|d|n X||fSdS(Nt_itreplace_context(tsplitt ValueErrorR traise_tKeyError(Rtkeytdialectt value_keyterr((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_keys cCsg|j|\}}y|jj|}Wn/tjk rZ}tjt|d|n X||SdS(NRZ(RcR&tdialect_optionsRtNoSuchModuleErrorR R]R^(RR_R`RatoptRb((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt __getitem__s cCscy|j|\}}Wn/tk rJ}tjtjdd|nX||jj||_RZ(RcR^R R]Rt ArgumentErrorR&Rd(RR_tvalueR`RaRb((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt __setitem__s  cCs*|j|\}}|jj||=dS(N(RcR&Rd(RR_R`Ra((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt __delitem__scCs td|jjjDS(Ncss|]}t|jVqdS(N(tlent _non_defaults(RPR7((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys s(tsumR&Rdtvalues(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt__len__scsfdjjDS(Nc3s9|]/}jj|jD]}d||fVqqdS(s%s_%sN(R&RdRm(RPt dialect_namet value_name(R(sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys s (R&Rd(R((RsF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt__iter__s ( RRRR#RcRgRjRkRpRs(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRXs    t_DialectArgDictcBsDeZdZdZdZdZdZdZdZRS(sA dictionary view of dialect-level arguments for a specific dialect. Maintains a separate collection of user-specified arguments and dialect-specified default arguments. cCsi|_i|_dS(N(Rmt _defaults(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR#s cCstt|jj|jS(N(RlRSRmtunionRu(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRpscCstt|jj|jS(N(titerRSRmRvRu(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRsscCs)||jkr|j|S|j|SdS(N(RmRu(RR_((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRgs cCs||j|_`` format. Only arguments that were actually passed are included; unlike the :attr:`.DialectKWArgs.dialect_options` collection, which contains all options known by this dialect including defaults. The collection is also writable; keys are accepted of the form ``_`` where the value will be assembled into the list of options. .. versionadded:: 0.9.2 .. versionchanged:: 0.9.4 The :attr:`.DialectKWArgs.dialect_kwargs` collection is now writable. .. seealso:: :attr:`.DialectKWArgs.dialect_options` - nested dictionary form (RX(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytdialect_kwargs[scCs|jS(s4A synonym for :attr:`.DialectKWArgs.dialect_kwargs`.(R(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRuscCstj|}t}|dkr<|jjidd6n@x=t|jjD])}||krO|jj||qOqOW|S(Nt*( RRRtR4RutupdatetreversedR@t__mro__(RRqRtdR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_kw_reg_for_dialect_cls|s    cCstjtj|jS(sA collection of keyword arguments specified as dialect-specific options to this construct. This is a two-level nested registry, keyed to ```` and ````. For example, the ``postgresql_where`` argument would be locatable as:: arg = my_object.dialect_options['postgresql']['where'] .. versionadded:: 0.9.2 .. seealso:: :attr:`.DialectKWArgs.dialect_kwargs` - flat dictionary form (R t PopulateDicttportable_instancemethodR(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRdscCs%|s dSx|D] }tjd|}|sBtd|n|jdd\}}y|j|}Wngtjk rtjd||ft |j|<}|j j idd6|||j |_, got '%s'iisHCan't validate argument %r; can't locate any SQLAlchemy dialect named %rRs9Argument %r is not accepted by dialect %r on behalf of %r(tretmatcht TypeErrortgroupRdRReR twarnRtRuRR4RmRhR@(RRtktmRqtarg_nameRR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_validate_dialect_kwargss0    (RRRRtdp_dialect_optionst"_dialect_kwargs_traverse_internalsR)RR tmemoized_propertyRtpropertyRRRRRRdR(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRs 2 t CompileStatecBs_eZdZdZiZedZdZedZedZ edZ RS(sProduces additional object state necessary for a statement to be compiled. the :class:`.CompileState` class is at the base of classes that assemble state for a particular statement object that is then used by the compiler. This process is essentially an extension of the process that the SQLCompiler.visit_XYZ() method takes, however there is an emphasis on converting raw user intent into more organized structures rather than producing string output. The top-level :class:`.CompileState` for the statement being executed is also accessible when the execution context works with invoking the statement and collecting results. The production of :class:`.CompileState` is specific to the compiler, such as within the :meth:`.SQLCompiler.visit_insert`, :meth:`.SQLCompiler.visit_select` etc. methods. These methods are also responsible for associating the :class:`.CompileState` with the :class:`.SQLCompiler` itself, if the statement is the "toplevel" statement, i.e. the outermost SQL statement that's actually being executed. There can be other :class:`.CompileState` objects that are not the toplevel, such as when a SELECT subquery or CTE-nested INSERT/UPDATE/DELETE is generated. .. versionadded:: 1.4 t statementcKs|jrd|jjdd}|jj||jfd}|dkrz|jd|jf}qzn|jd|jf}||kr||||S|j|||SdS(Ntcompile_state_pluginR(t_propagate_attrsR?tpluginst_effective_plugin_targetR4tcreate_for_statement(RRtcompilerRt plugin_nametklass((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRs      cKs ||_dS(N(R(RRRR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR#scCsx|jjdd}|rG||jf}||jkrG|j|Sny|jd|jfSWntk rsdSXdS(NRR(RR?R4RRR^(RRRR_((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytget_plugin_classs   cCs1y|j||jfSWntk r,dSXdS(N(RRR^R4(RRR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_get_plugin_class_for_plugins  csfd}|S(Ncs|jf<|S(N(R(tcls_to_decorate(RRt visit_name(sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytdecorate"s((RRRR((RRRsF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt plugin_for s(R( RRRt __slots__RR)RR#RRR(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRs  t GenerativecBseZdZdZRS(sUProvide a method-chaining pattern in conjunction with the @_generative decorator.csh|j|j}|j|}rRfd|jjjD|_n|jj|_|S(Ncs+i|]!\}}|kr||qS(((RPRtv(tskip(sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys 4s (t_memoized_keysR@R!t__dict__tcopytitems(RRts((RsF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR3-s  +(RRRR3(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR)stInPlaceGenerativecBseZdZdZRS(skProvide a method-chaining pattern in conjunction with the @_generative decorator that mutates in place.cCs1|j}x!|D]}|jj|dqW|S(N(RRRHR4(RRR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR3?s  (RRRR3(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR;stHasCompileStatecBs)eZdZdZejZej Z RS(s=A class that has a :class:`.CompileState` associated with it.N( RRRR4t_compile_state_pluginR t immutabledictt _attributesRRt_compile_state_factory(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRFs t _MetaOptionscBs eZdZdZdZRS(s metaclass for the Options class.cCs9ttd|D|_tj||||dS(Ncss1|]'}|jd r|dkr|VqdS(t__t_cache_key_traversalN(R(t startswith(RPR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys Vs(ttupletsortedt _cache_attrsttypeR#(Rt classnametbasestdict_((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR#Ss cCs`|}t|j|jrLtd|t|j|jfn|jj||S(NsBdictionary contains attributes not covered by Options class %s: %r(RSt differenceRRRR(Rtotherto1((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt__add__^s %(RRRR#R(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRPs tOptionscBseZdZdZdZdZdZedZe dZ e dZ e j Ze jdZ ed Zed ZRS( s,A cacheable option dictionary with defaults.cKs|jj|dS(N(RR(RR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR#oscCs|jj|j}|jj|jt|j|jrktd|t|j|jfn|jj||S(NsBdictionary contains attributes not covered by Options class %s: %r(R@R!RRRSRRR(RRR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRrs%cCsOxHtj|j|jD].\}}t||t||krtSqWtS(N(R t zip_longestRtgetattrtFalseR(RRRTRU((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt__eq__s%cs0djjdjfdjDfS(Ns%s(%s)s, c3s5|]+}|jkrd|j|fVqdS(s%s=%rN(R(RPR(R(sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys s(R@RtjoinR(R((RsF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt__repr__s   cCs t||S(N(t issubclass(RR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt isinstancescCs|it||||6S(N(R(RRBRi((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytadd_to_elementscCs|jS(N(R(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt _state_dictscCs|jS(N(t_state_dict_const(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRscCsx|j}||jk rp|jrpt|jj|jrptd||t|jj|jfn||S(Ns]other element %r is not empty, is not of type %s, and contains attributes not covered here %r(RR@RRSRR(RRR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt safe_merges  %c Cs|jt|j|}|j||}|ri}xR|D]J}d|} ||krp|||| TsN(RR(Rtoptions((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR5s cCs ||_dS(s|Assign the compile options to a new value. :param compile_options: appropriate CacheableOptions structure N(t_compile_options(Rtcompile_options((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_set_compile_optionsXscCs|j|7_dS(s*update the _compile_options with new keys.N(R(RR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_update_compile_optionsbscCs|j||ff7_dS(sMAdd a context option to this statement. These are callable functions that will be given the CompileState object upon compilation. A second argument cache_args is required, which will be combined with the ``__code__`` identity of the function itself in order to produce a cache key. N(R(Rt callable_t cache_args((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_add_context_optionhs cKsUd|krtjdnd|kr<tjdn|jj||_dS(sSet non-SQL options for the statement which take effect during execution. Execution options can be set on a per-statement or per :class:`_engine.Connection` basis. Additionally, the :class:`_engine.Engine` and ORM :class:`~.orm.query.Query` objects provide access to execution options which they in turn configure upon connections. The :meth:`execution_options` method is generative. A new instance of this statement is returned that contains the options:: statement = select(table.c.x, table.c.y) statement = statement.execution_options(autocommit=True) Note that only a subset of possible execution options can be applied to a statement - these include "autocommit" and "stream_results", but not "isolation_level" or "compiled_cache". See :meth:`_engine.Connection.execution_options` for a full list of possible options. .. seealso:: :meth:`_engine.Connection.execution_options` :meth:`_query.Query.execution_options` :meth:`.Executable.get_execution_options` tisolation_levels'isolation_level' execution option may only be specified on Connection.execution_options(), or per-engine using the isolation_level argument to create_engine().tcompiled_cachesm'compiled_cache' execution option may only be specified on Connection.execution_options(), not per statement.N(RRht_execution_optionsRv(RR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytexecution_optionsvs!    cCs|jS(sGet the non-SQL options which will take effect during execution. .. versionadded:: 1.3 .. seealso:: :meth:`.Executable.execution_options` (R(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytget_execution_optionss s:meth:`.Executable.execute`t alternativesAll statement execution in SQLAlchemy 2.0 is performed by the :meth:`_engine.Connection.execute` method of :class:`_engine.Connection`, or in the ORM by the :meth:`.Session.execute` method of :class:`.Session`.cOsk|j}|dkrOt|ddp0|jj}d|}tj|n|j|||tj S(s.Compile and execute this :class:`.Executable`.t descriptionsThis %s is not directly bound to a Connection or Engine. Use the .execute() method of a Connection or Engine to execute this construct.N( tbindR4RR@RRtUnboundExecutionErrort_execute_clauseelementR R(Rt multiparamsRtetlabelRE((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytexecutes  s:meth:`.Executable.scalar`sScalar execution in SQLAlchemy 2.0 is performed by the :meth:`_engine.Connection.scalar` method of :class:`_engine.Connection`, or in the ORM by the :meth:`.Session.scalar` method of :class:`.Session`.cOs|j||jS(snCompile and execute this :class:`.Executable`, returning the result's scalar representation. (R tscalar(RRR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR s s:attr:`.Executable.bind`s5Bound metadata is being removed as of SQLAlchemy 2.0.tenable_warningscCs`|jdk r|jSxCt|D]1}||kr;q#n|j}|dk r#|Sq#WdSdS(sKReturns the :class:`_engine.Engine` or :class:`_engine.Connection` to which this :class:`.Executable` is bound, or None if none found. This is a traversal which checks locally, then checks among the "from" clauses of associated objects until a bound engine or connection is found. N(t_bindR4R-R(Rtftengine((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRs   N(((&RRRRtsupports_executionR RRR4R RRRtdp_executable_optionsRtdp_with_context_optionstdp_propagate_attrst_executable_traverse_internalsRt is_selectt is_updatet is_inserttis_textt is_deletetis_dmlRRR9RRRRRRt deprecated_20R R R(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRsD   # /  tprefix_anon_mapcBseZdZdZRS(sfA map that creates new keys for missing key access. Considers keys of the form " " to produce new symbols "_", where "index" is an incrementing integer corresponding to . Inlines the approach taken by :class:`sqlalchemy.util.PopulateDict` which is otherwise usually used for this type of operation. cCsZ|jdd\}}|j|d}|d||<|dt|}|||<|S(Nt iRY(R[R?tstr(RR_tidenttderivedtanonymous_counterRi((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt __missing__s  (RRRR"(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRs tSchemaEventTargetcBs eZdZdZdZRS(sBase class for elements that are the targets of :class:`.DDLEvents` events. This includes :class:`.SchemaItem` as well as :class:`.SchemaType`. cKsdS(s0Associate with this SchemaEvent's parent object.N((RtparentR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt _set_parenttcKs:|jj|||j|||jj||dS(N(tdispatchtbefore_parent_attachR%tafter_parent_attach(RR$R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_set_parent_with_dispatchs(RRRR%R*(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR# s t SchemaVisitorcBseZdZied6ZRS(s/Define the visiting for ``SchemaItem`` objects.tschema_visitor(RRRRt__traverse_options__(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR+stColumnCollectioncBs1eZdZd!Zd"dZdZedZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZd"dZdZdZdZdZdZdZdZd"ZdZd"dZdZdZ dZ!dZ"e#d Z$RS(#sCollection of :class:`_expression.ColumnElement` instances, typically for :class:`_sql.FromClause` objects. The :class:`_sql.ColumnCollection` object is most commonly available as the :attr:`_schema.Table.c` or :attr:`_schema.Table.columns` collection on the :class:`_schema.Table` object, introduced at :ref:`metadata_tables_and_columns`. The :class:`_expression.ColumnCollection` has both mapping- and sequence- like behaviors. A :class:`_expression.ColumnCollection` usually stores :class:`_schema.Column` objects, which are then accessible both via mapping style access as well as attribute access style. To access :class:`_schema.Column` objects using ordinary attribute-style access, specify the name like any other object attribute, such as below a column named ``employee_name`` is accessed:: >>> employee_table.c.employee_name To access columns that have names with special characters or spaces, index-style access is used, such as below which illustrates a column named ``employee ' payment`` is accessed:: >>> employee_table.c["employee ' payment"] As the :class:`_sql.ColumnCollection` object provides a Python dictionary interface, common dictionary method names like :meth:`_sql.ColumnCollection.keys`, :meth:`_sql.ColumnCollection.values`, and :meth:`_sql.ColumnCollection.items` are available, which means that database columns that are keyed under these names also need to use indexed access:: >>> employee_table.c["values"] The name for which a :class:`_schema.Column` would be present is normally that of the :paramref:`_schema.Column.key` parameter. In some contexts, such as a :class:`_sql.Select` object that uses a label style set using the :meth:`_sql.Select.set_label_style` method, a column of a certain key may instead be represented under a particular label name such as ``tablename_columnname``:: >>> from sqlalchemy import select, column, table >>> from sqlalchemy import LABEL_STYLE_TABLENAME_PLUS_COL >>> t = table("t", column("c")) >>> stmt = select(t).set_label_style(LABEL_STYLE_TABLENAME_PLUS_COL) >>> subq = stmt.subquery() >>> subq.c.t_c :class:`.ColumnCollection` also indexes the columns in order and allows them to be accessible by their integer position:: >>> cc[0] Column('x', Integer(), table=None) >>> cc[1] Column('y', Integer(), table=None) .. versionadded:: 1.4 :class:`_expression.ColumnCollection` allows integer-based index access to the collection. Iterating the collection yields the column expressions in order:: >>> list(cc) [Column('x', Integer(), table=None), Column('y', Integer(), table=None)] The base :class:`_expression.ColumnCollection` object can store duplicates, which can mean either two columns with the same key, in which case the column returned by key access is **arbitrary**:: >>> x1, x2 = Column('x', Integer), Column('x', Integer) >>> cc = ColumnCollection(columns=[(x1.name, x1), (x2.name, x2)]) >>> list(cc) [Column('x', Integer(), table=None), Column('x', Integer(), table=None)] >>> cc['x'] is x1 False >>> cc['x'] is x2 True Or it can also mean the same column multiple times. These cases are supported as :class:`_expression.ColumnCollection` is used to represent the columns in a SELECT statement which may include duplicates. A special subclass :class:`.DedupeColumnCollection` exists which instead maintains SQLAlchemy's older behavior of not allowing duplicates; this collection is used for schema level objects like :class:`_schema.Table` and :class:`.PrimaryKeyConstraint` where this deduping is helpful. The :class:`.DedupeColumnCollection` class also has additional mutation methods as the schema constructs have more use cases that require removal and replacement of columns. .. versionchanged:: 1.4 :class:`_expression.ColumnCollection` now stores duplicate column keys as well as the same column in multiple positions. The :class:`.DedupeColumnCollection` class is added to maintain the former behavior in those cases where deduplication as well as additional replace/remove operations are needed. t _collectiont_indext_colsetcCsVtj|dttj|ditj|dg|rR|j|ndS(NR1R0R/(R"t __setattr__RSt_initial_populate(Rtcolumns((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR#s cCs|j|dS(N(t_populate_separate_keys(Rtiter_((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR3scCs g|jD]\}}|^q S(N(R/(RRtcol((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt _all_columnsscCs g|jD]\}}|^q S(sQReturn a sequence of string key names for all columns in this collection.(R/(RRR7((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytkeysscCs g|jD]\}}|^q S(sReturn a sequence of :class:`_sql.ColumnClause` or :class:`_schema.Column` objects for all columns in this collection.(R/(RRR7((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRoscCs t|jS(sReturn a sequence of (key, column) tuples for all columns in this collection each consisting of a string key name and a :class:`_sql.ColumnClause` or :class:`_schema.Column` object. (tlistR/(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRscCs t|jS(N(tboolR/(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt__bool__scCs t|jS(N(RlR/(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRpscCs&tg|jD]\}}|^q S(N(RwR/(RRR7((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRsscCsZy|j|SWnDtk rU}t|tjrOtjt|d|qVnXdS(NRZ(R0R^RR t int_typesR]t IndexError(RR_Rb((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRgs cCsBy|j|SWn,tk r=}tjt|d|nXdS(NRZ(R0R^R R]tAttributeError(RR_Rb((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt __getattr__scCs?||jkr7t|tjs3tjdntStSdS(Ns'__contains__ requires a string argument(R0RR t string_typesRRhRR(RR_((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt __contains__s  cCs;x4tj||D]\}}||k rtSqWtSdS(sdCompare this :class:`_expression.ColumnCollection` to another based on the names of the keysN(R RRR(RRtltr((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytcompares cCs |j|S(N(RE(RR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRscCs"||jkr|j|S|SdS(sGet a :class:`_sql.ColumnClause` or :class:`_schema.Column` object based on a string key name from this :class:`_expression.ColumnCollection`.N(R0(RR_R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR?s cCs'd|jjdjd|DfS(Ns%s(%s)s, css|]}t|VqdS(N(R(RPR1((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys s(R@RR(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt__str__s cCs tdS(N(R(RR_Ri((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRjscCs tdS(N(R(RR_((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRkscCs tdS(N(R(RR_R&((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR2scCs tdS(sQDictionary clear() is not implemented for :class:`_sql.ColumnCollection`.N(R(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytclearscCs tdS(sRDictionary remove() is not implemented for :class:`_sql.ColumnCollection`.N(R(Rtcolumn((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytremovescCs tdS(sRDictionary update() is not implemented for :class:`_sql.ColumnCollection`.N(R(RR6((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRscCs}t|}||j(|jjd|jD|jjdt|jD|jjdt|jDdS(s*populate from an iterator of (key, column)css|]\}}|VqdS(N((RPRR1((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys scss'|]\}\}}||fVqdS(N((RPtidxRR1((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys scSsi|]\}}||qS(((RPRR7((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys s N(R:R/R1RR0t enumerateR(RR6tcols((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR5 s    cCs}|dkr|j}nt|j}|jj||f|jj|||j|<||jkry||j|3s (R"R2R/(Rtstate((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt __setstate__/scCs?||jkr7t|tjr3tjdntStSdS(s3Checks if a column object exists in this collectionsZcontains_column cannot be used with string arguments. Use ``col_name in table.c`` instead.N(R1RR RARRhRR(RR7((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytcontains_column6s  cCs t|S(sJReturn an "immutable" form of this :class:`_sql.ColumnCollection`.(tImmutableColumnCollection(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt as_immutableBscCsd}||jkr|Sd\}}|j}g|jD]\}}|^q;} xX| D]P}tt|j} |j| } | rZ| s|| |rZ|dkr|| }}qt| t|kr|| }}q| |krtj t j g|j D]*} | j |r | jjdd^q } tj t j g|j D]*} | j |rU| jjdd^qU}|| kr|| }}qqqZqZW|S(sGiven a :class:`_expression.ColumnElement`, return the exported :class:`_expression.ColumnElement` object from this :class:`_expression.ColumnCollection` which corresponds to that original :class:`_expression.ColumnElement` via a common ancestor column. :param column: the target :class:`_expression.ColumnElement` to be matched. :param require_embedded: only return corresponding columns for the given :class:`_expression.ColumnElement`, if the given :class:`_expression.ColumnElement` is actually present within a sub-element of this :class:`_expression.Selectable`. Normally the column will match if it merely shares a common ancestor with one of the exported columns of this :class:`_expression.Selectable`. .. seealso:: :meth:`_expression.Selectable.corresponding_column` - invokes this method against the collection returned by :attr:`_expression.Selectable.exported_columns`. .. versionchanged:: 1.4 the implementation for ``corresponding_column`` was moved onto the :class:`_expression.ColumnCollection` itself. cSs@x9|j|D](}tt|gj|stSqWtS(N(RRSRNRORR(texpanded_proxy_sett target_settt((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytembeddedhs  tweightiN(NN(R1R4R%R/RSRNRORlR treduceRIRNt_uncached_proxy_listtshares_lineageRR?(RRHtrequire_embeddedRXR7t intersectRVRR1RLRUtitsct col_distancet c_distance((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytcorresponding_columnHs<   "   -- (R/R0R1N(%RRRRR4R#R3RR8R9RoRR<RpRsRgR@RBRERR?RFRjRkR2RGRIRt__hash__R5RNRORQRRRTRRc(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR.!s@k                    tDedupeColumnCollectioncBs>eZdZddZdZdZdZdZRS(suA :class:`_expression.ColumnCollection` that maintains deduplicating behavior. This is useful by schema level objects such as :class:`_schema.Table` and :class:`.PrimaryKeyConstraint`. The collection includes more sophisticated mutator methods as well to suit schema objects which require mutable column collections. .. versionadded:: 1.4 cCs|dk r-|j|kr-tjdn|j}|dkrTtjdn||jkr|j|}||krdS|j|tjj|dnOt |j }|j j ||f|j j |||j|<||j|scss'|]\}\}}||fVqdS(N((RPRJRR1((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys sN( R:R_RRhRBR0RMR/R1RRKRf(RR6RLt replace_colRR7((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR5s"  $   cCs|jd|DdS(Ncss|]}|j|fVqdS(N(R_(RPR7((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys s(R5(RR6((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pytextendscCs||jkr"td|n|j|j=|jj|g|jD]$\}}||k rI||f^qI|j(|jjdt|jD|jt|j=dS(Ns8Can't remove column %r; column is not in this collectioncSs%i|]\}\}}||qS(((RPRJRR7((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys s ( R1R\R0R_RIR/RRKRl(RRHRR1((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRIs  8 cCst}|j|jkrb|j|jkrb|j|j}|j|jkrb|j|qbn|j|jkr|j|j|jng}t}x^|jD]S\}}||kr|st}|j|j|fqq|j||fqW|r|j j |n|s3|j|j|fn|j j|||j(|jj |jj dt |jD|jj |jdS(sadd the given column to this collection, removing unaliased versions of this column as well as existing columns with the same key. e.g.:: t = Table('sometable', metadata, Column('col1', Integer)) t.columns.replace(Column('col1', Integer, key='columnone')) will remove the original 'col1' from the collection, and add the new column under the name 'columnname'. Used by schema.Column to override columns during table reflection. cSs%i|]\}\}}||qS(((RPRJRR7((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys 6s N(RSRBR0R_RNRR/RRMR1tdifference_updateRGRRK(RRHt remove_colRtnew_colstreplacedRR7((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRfs2 $    N( RRRR4RNR5RjRIRf(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRes   "   RScBs=eZdZdZdZdZejjZ Z Z RS(t_parentcCsYtj|d|tj|d|jtj|d|jtj|d|jdS(NRoR1R0R/(R"R2R1R0R/(Rt collection((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyR#>scCsi|jd6S(NRo(Ro(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRODscCs|d}|j|dS(NRo(R#(RRPR$((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRQGs (Ro( RRRR#RORQR tImmutableContainert _immutableRNRjRI(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRS;s    t ColumnSetcBs5eZdZdZdZdZdZRS(cCs ||kS(N((RR7((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRROscCs"x|D]}|j|qWdS(N(RN(RRLR7((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRjRs cCst|t|S(N(R:(RR((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRVscCsZg}xD|D]<}x3|D]+}|j|r|j||kqqWq Wtj|S(N(R\RMR.tand_(RRRCR1R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRYs   cCsttd|DS(Ncss|] }|VqdS(N((RPR8((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pys bs(thashR(R((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRdas(RRRRRjRRRd(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyRsNs     cCstjd|j}|s|jj}t|dt|dd}|r_d||f}n d|}|dkrd|}ntj|n|S(Ns|The ``bind`` argument for schema methods that invoke SQL against an engine or connection will be required in SQLAlchemy 2.0.tfullnameRBs %s object %rs %s objectsm%s is not bound to an Engine or Connection. Execution can not proceed without a database to execute against.( R twarn_deprecated_20RR@RRR4RR(t schemaitemRERRBR titem((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_bind_or_errores     cCsVy |jSWnDtk rQx4tj|D]}t|dr+|jSq+WnXdS(sReturn the nearest .entity_namespace for the given entity. If not immediately available, does an iterate to find a sub-element that has one, if any. tentity_namespaceN(R{R?Rtiteratethasattr(tentityRQ((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_entity_namespaces   cCsyy9t|}|tk r+t|||St||SWn9tk rt}tjtjd||fd|nXdS(sReturn an entry from an entity_namespace. Raises :class:`_exc.InvalidRequestError` rather than attribute error on not found. s.Entity namespace for "%s" has no property "%s"RZN(RR RR?R R]RRA(R~R_RtnsRb((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt_entity_namespace_keys   (DRR*RIRR&RRt traversalsRRRRRRRR R R R4RR.ttype_apitsymbolR R R"RRR-R2R9RLRRNRVRWtcollections_abctMutableMappingRXRttpreload_moduleRRRRRRRRtwith_metaclassRRRt StatementRoleRR}RR#R+R.ReRqRStordered_column_setRsRzRR(((sF/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/sql/base.pyt sl         < b