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@sTdZddlZddlZddlZddlZddlZddlmZddlmZ ddlm Z ddl m Z dd lm Z dd lmZdd lmZdd lmZdd lmZddlmZddlmZddlmZddlmZejdejejBZejdejejBZejdZejdZ ejdZ!ejdZ"ejdZ#de j$fdYZ%de&fdYZ'de'ej(fdYZ)de'ej*fd YZ+d!e'ej,fd"YZ-d#e%fd$YZ.d%e j/fd&YZ0e0e%_1dS('sDefault implementations of per-dialect sqlalchemy.engine classes. These are semi-private implementation classes which are only of importance to database dialect authors; dialects will usually use the classes here as the base class for their own corresponding classes. iNi(tcharacteristics(tcursor(t interfaces(t Connectioni(tevent(texc(tpool(t processors(ttypes(tutil(tcompiler(t expression(t quoted_names-\s*(?:UPDATE|INSERT|CREATE|DELETE|DROP|ALTER)s \s*SELECTt CACHE_HITt CACHE_MISStCACHING_DISABLEDt NO_CACHE_KEYtNO_DIALECT_SUPPORTtDefaultDialectc BszeZdZejZejZejZ ej Z e Z eZeZeZe ZdZeZe Ze ZeZeZeZeZe ZeZeZeZeZ eZ!eZ"e Z#e Z$eZ%e&j'ie(j)d6Z*e&j'de&j+dfde&j,fde&j+dfde&j+dfd e&j,fd e&j,fd e&j,fd e&j-fgZ.eZ/e&j0re Z1e Z2e3j4j5Z6dFZ8neZ1eZ2e3j4j9Z6d Z8dZ:dZ;dFZ<dFZ=dFZ>dFZ?e Z@e ZAiZBdZCeZDeZEe ZFeZGe ZHeZIeZJeZKdFZLdFZMdFZNeZOdGZPe&j'ZQeZReSZSeTZTeUZUeVZVeWZWeZXe&jYddHddIddJddKeddFdFdFe dFdFdFeZej[ed Z\dZ]e&j^dZ_e&j^dZ`eadZbead Zcedd!Zed"Zfedd#Zgd$Zhd%Zid&Zjd'ZkdFd(Zld)Zmd*ZndFd+Zod,Zpd-Zqd.Zrd/Zsd0Ztd1Zud2Zvd3Zwd4Zxd5Zyd6Zzd7Z{e&j^d8Z|d9Z}d:Z~d;Zd<Zd=ZdFd>ZdFd?ZdFd@ZdAZdBZdCZdDZdEZRS(Ls!Default implementation of Dialectitisolation_leveltconvert_unicodetforcet pool_timeouttechotdebugt echo_poolt pool_recyclet pool_sizet max_overflowtfuturet use_encodingtdefaulti'tnameds1.3sThe :paramref:`_sa.create_engine.convert_unicode` parameter and corresponding dialect-level parameters are deprecated, and will be removed in a future release. Modern DBAPIs support Python Unicode natively and this parameter is unnecessary.tempty_in_strategys1.4sThe :paramref:`_sa.create_engine.empty_in_strategy` keyword is deprecated, and no longer has any effect. All IN expressions are now rendered using the "expanding parameter" strategy which renders a set of boundexpressions, or an "empty set" SELECT, at statement executiontime.tcase_sensitivesThe :paramref:`_sa.create_engine.case_sensitive` parameter is deprecated and will be removed in a future release. Applications should work with result column names in a case sensitive fashion.tserver_side_cursorssThe :paramref:`_sa.create_engine.server_side_cursors` parameter is deprecated and will be removed in a future release. Please use the :paramref:`_engine.Connection.execution_options.stream_results` parameter.sutf-8c Kst|dts)tjd|jn| rZ|jsNtjd|qZt|_n||_ ||_ t |_ d|_||_|dk r||_n-|jdk r|jj|_n |j|_|dk r||_n|jdk|_ |j||_|j||_|dk r2||_n||_||_|jr\|j|_n| |_| |_|jdkrtj||_n'|jdk rtj|j|_nt j!|j |_"tj|j |_#dS( Ntported_sqla_06s2The %s dialect is not yet ported to the 0.6 formats/Dialect %s does not support server side cursorstqmarktformattnumericR(R%R&R'($tgetattrtTrueR twarntnametsupports_server_side_cursorsRt ArgumentErrorR#RtencodingtFalset positionaltNonet_ischematdbapit paramstyletdefault_paramstyletimplicit_returningtpreparertidentifier_preparert type_compilertsupports_native_booleanR"t#_user_defined_max_identifier_lengthtmax_identifier_lengtht label_lengthtcompiler_lintingtdescription_encodingRtto_unicode_processor_factoryt_description_decodertcodecst getencodert_encodert_decoder( tselfRR.R4R3R6R"R:R<R=R>R#tkwargs((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt__init__sP3                   cCs5t|ts1tjdtt|fndS(NsThe argument passed to Dialect.has_table() should be a %s, got %s. Additionally, the Dialect.has_table() method is for internal dialect use only; please use ``inspect(some_engine).has_table(>)`` for public API use.(t isinstanceRRR-ttype(RFtarg((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_ensure_has_table_connectionSscCsT|jjjdd}|dkrJtjd|j|jfddnt|S(Ntsupports_statement_cachesDialect %s:%s will not make use of SQL compilation caching as it does not set the 'supports_statement_cache' attribute to ``True``. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Dialect maintainers should seek to set this attribute to True after appropriate development and testing for SQLAlchemy 1.4 caching support. Alternatively, this attribute may be set to False which will disable this warning.tcodetcprf( t __class__t__dict__tgetR1R R*R+tdrivertbool(RFtssc((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_supports_statement_cache`s   cCs tjS(N(tweakreftWeakKeyDictionary(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt _type_memostscCs|jd|jS(Nt+(R+RS(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdialect_descriptionxscCs|jS(sTrue if this dialect supports sane rowcount even if RETURNING is in use. For dialects that don't support RETURNING, this is synonymous with ``supports_sane_rowcount``. (tsupports_sane_rowcount(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt supports_sane_rowcount_returning|s cCst|dtjS(Nt poolclass(R(Rt QueuePool(tclsturl((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytget_pool_classscCs |j|S(N(Rb(RFRa((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytget_dialect_pool_classscCsLdj|jjddd!}yt|dWntk rGnXdS(Nt.iis .provision(tjoint __module__tsplitt __import__t ImportError(R`tpackage((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytload_provisionings " cCsy|j||_Wntk r2d|_nXy|j||_Wntk red|_nXy|j|j|_Wntk rd|_nX|j t j j krt jrtjdn|j||_ n|jdk r|j|rd|_|_n|js?|j|}|r?||_q?n|jr||j|jkr|tjd|j|jfndS(Ns*RETURNS_UNKNOWN is unsupported in Python 3sQLabel length of %d is greater than this dialect's maximum identifier length of %d(t_get_server_version_infotserver_version_infotNotImplementedErrorR1t_get_default_schema_nametdefault_schema_nametget_default_isolation_levelt connectiontdefault_isolation_leveltreturns_unicode_stringstsqltypestStringtRETURNS_UNKNOWNR tpy3kRtInvalidRequestErrort_check_unicode_returnsR?t_check_unicode_descriptionRAR;t_check_max_identifier_lengthR<R=R-(RFRrtmax_ident_length((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt initializesB          cCsdS(N(R1(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt on_connectscCsdS(sPerform a connection / server version specific check to determine the max_identifier_length. If the dialect's class level max_identifier_length should be used, can return None. .. versionadded:: 1.3.9 N(R1(RFRr((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR|s cCs |j|S(sGiven a DBAPI connection, return its isolation level, or a default isolation level if one cannot be retrieved. May be overridden by subclasses in order to provide a "fallback" isolation level for databases that cannot reliably retrieve the actual isolation level. By default, calls the :meth:`_engine.Interfaces.get_isolation_level` method, propagating any exceptions raised. .. versionadded:: 1.3.22 (tget_isolation_level(RFt dbapi_conn((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRqscstjrj rtjn tjjr@jnifdtjtj dt j dtjtj dt j dg}|r||7}nfd|D}|j ttgrt jjS|thkrt jjSt jjSdS(Ncstj|jd}y<jj}j|||j}|jWn(tj k r}t j d|t SXt |dt jSdS(Ntdialects2Exception attempting to detect unicode returns: %ri(R tselecttcompileRrRt_cursor_executetfetchonetcloseRt DBAPIErrorR R*R/RIt text_type(ttestt statementRtrowtde(tcast_toRrt parametersRF(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt check_unicodes! s'test plain returns'i<s'test unicode returns'csh|]}|qS(((t.0R(R(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys s (R tpy2ktsupports_unicode_statementst binary_typeRR0texecute_sequence_formatR tcasttliteral_columnRutVARCHARtUnicodet issupersetR)R/RvtRETURNS_CONDITIONALtRETURNS_UNICODEt RETURNS_BYTES(RFRrtadditional_teststteststresults((RRRrRRFsL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRzs(       cCstjr|j rtj}n tj}|jj}zY|j|tj tj dj dj d|t |jddtjSWd|jXdS(Ns'x't some_labelRi(R RRRRRrRtexecuteR RRtlabelRRIt descriptionR(RFRrRR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR{$s   cCstj||jS(s)Provide a database-specific :class:`.TypeEngine` object, given the generic object which comes from the types module. This method looks for a dictionary called ``colspecs`` as a class or instance-level variable, and passes on to :func:`_types.adapt_type`. (Rut adapt_typetcolspecs(RFttypeobj((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyttype_descriptor9s cCs[|j||d|stSx8|j||d|D]}|d|kr5tSq5WtSdS(NtschemaR+(t has_tableR/t get_indexesR)(RFRrt table_namet index_nameRtidx((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt has_indexDs cCs8t||jkr4tjd||jfndS(Ns7Identifier '%s' exceeds maximum length of %d characters(tlenR<RtIdentifierError(RFtident((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytvalidate_identifierMscOs|jj||S(N(R3tconnect(RFtcargstcparams((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRTscCs&|j}|j|jg|gS(N(ttranslate_connect_argstupdatetquery(RFRatopts((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytcreate_connect_argsXs cshtjj}|rdtjfd|Dtj|dfd}ndS(Nc3s|]}||fVqdS(N((RR+(R(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys dstengine_connectcs|sj|ndS(N(t_set_connection_characteristics(Rrtbranch(RRF(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytset_connection_characteristicsgs(tsettconnection_characteristicst intersectionR t immutabledictRt listens_for(RFtengineRtsupported_namesR((RRRFsL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytset_engine_execution_options^s  csTt|jj}|rPtjfd|D}|j||ndS(Nc3s|]}||fVqdS(N((RR+(R(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys ts(RRRR RR(RFRrRRR((RsL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt set_connection_execution_optionsns  c Cs6g|jD]"\}}||j||f^q }|jrg|D]$\}}}|jrH||f^qH}|r|jrtjddjd|Dqtj ddjd|Dqn|j j }x*|D]"\}} }| j |||qW|j j jjtj|j|dS(NsThis connection has already initialized a SQLAlchemy Transaction() object via begin() or autobegin; %s may not be altered unless rollback() or commit() is called first.s, css|]\}}|VqdS(N((RR+tobj((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys ssConnection is already established with a Transaction; setting %s may implicitly rollback or commit the existing transaction, or have no effect until next transactioncss|]\}}|VqdS(N((RR+R((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys s(titemsRtin_transactiont transactionalt _is_futureRRyReR R*Rrtdbapi_connectiontset_characteristict_connection_recordtfinalize_callbacktappendt functoolstpartialt_reset_characteristics( RFRrRR+tvaluetcharacteristic_valuesRt trans_objsRtcharacteristic((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRxs&2   ! cCs2x+|D]#}|j|}|j||qWdS(N(Rtreset_characteristic(RFRRtcharacteristic_nameR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRs cCsdS(N((RFR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdo_beginscCs|jdS(N(trollback(RFR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt do_rollbackscCs|jdS(N(tcommit(RFR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt do_commitscCs|j|dS(N(tdo_close(RFR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt do_terminatescCs|jdS(N(R(RFR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRscCsttjdjd|S(NiR(tstrR RR(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_dialect_specific_select_onescCsxd}y2|j}z|j|jWd|jXWn5|jjk ro}|j|||ritSnXt SdS(N( R1RRRRR3tErrort is_disconnectR/R)(RFRRterr((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdo_pings cCsdtjddS(sCreate a random two-phase transaction ID. This id will be passed to do_begin_twophase(), do_rollback_twophase(), do_commit_twophase(). Its format is unspecified. s _sa_%032xiiil (trandomtrandint(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt create_xidscCs|jtj|dS(N(RR tSavepointClause(RFRrR+((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt do_savepointscCs|jtj|dS(N(RR tRollbackToSavepointClause(RFRrR+((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdo_rollback_to_savepointscCs|jtj|dS(N(RR tReleaseSavepointClause(RFRrR+((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdo_release_savepointscCs|j||dS(N(t executemany(RFRRRtcontext((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdo_executemanyscCs|j||dS(N(R(RFRRRR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt do_executescCs|j|dS(N(R(RFRRR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdo_execute_no_paramsscCstS(N(R/(RFteRrR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRscCs|j||jdS(N(tset_isolation_levelRs(RFR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytreset_isolation_levelscCs|dkrdStjr@t|tr@|j|j}q@n|j}|j}||krh|S||kr|j j | r|S||krt |dt S|SdS(Ntquote( R1R RRIRtdecodeR.tlowertupperR8t_requires_quotesR R)(RFR+t name_lowert name_upper((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytnormalize_names          cCs|dkrdS|j}|j}||kr8|S||kr`|jj| r`|}ntjr|js|j|j }qt |}n|S(N( R1RRR8RR Rtsupports_unicode_bindstencodeR.tunicode(RFR+RR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdenormalize_name s          cCs|S(N((RFRr((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytget_driver_connection!sN((s1.3sThe :paramref:`_sa.create_engine.convert_unicode` parameter and corresponding dialect-level parameters are deprecated, and will be removed in a future release. Modern DBAPIs support Python Unicode natively and this parameter is unnecessary.(s1.4sThe :paramref:`_sa.create_engine.empty_in_strategy` keyword is deprecated, and no longer has any effect. All IN expressions are now rendered using the "expanding parameter" strategy which renders a set of boundexpressions, or an "empty set" SELECT, at statement executiontime.(s1.4sThe :paramref:`_sa.create_engine.case_sensitive` parameter is deprecated and will be removed in a future release. Applications should work with result column names in a case sensitive fashion.(s1.4sThe :paramref:`_sa.create_engine.server_side_cursors` parameter is deprecated and will be removed in a future release. Please use the :paramref:`_engine.Connection.execution_options.stream_results` parameter.(t__name__Rft__doc__R t SQLCompilertstatement_compilert DDLCompilert ddl_compilertGenericTypeCompilerR9tIdentifierPreparerR7R)tsupports_alterR/tsupports_commentstinline_commentstuse_setinputsizesRMtdefault_sequence_basettupleRtsupports_schemastsupports_viewstsupports_sequencestsequences_optionalt"preexecute_autoincrement_sequencestsupports_identity_columnstpostfetch_lastrowidR6tfull_returningtinsert_executemany_returningtcte_follows_inserttsupports_native_enumR:t#non_native_boolean_check_constrainttsupports_simple_order_by_labelttuple_in_valuesR RRtIsolationLevelCharacteristicRt bool_or_strtasinttasbooltengine_config_typestsupports_native_decimalRxRRRuRvRRtR1R?RwR+R<R;Rtmax_index_name_lengthtmax_constraint_name_lengthR\tsupports_sane_multi_rowcountRR5tsupports_default_valuestsupports_default_metavaluetsupports_empty_inserttsupports_multivalues_inserttsupports_is_distinct_fromR,R#tsupports_for_update_ofRmRptconstruct_argumentstrequires_name_normalizetreflection_optionstdbapi_exception_translation_maptis_asyncR RRRRt has_terminatetdeprecated_paramstintt NO_LINTINGRHRLtmemoized_propertyRVRYtpropertyR[R]t classmethodRbRcRkR~RR|RqRzR{RRRRRRRRRRRRRRRRRRRRRRRRRRRR(((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR3s            *    8    3   ;      (                 t_RendersLiteralcBseZdZRS(cCs d}|S(NcSsd|S(Ns'%s'((R((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytprocess's((RFRR?((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytliteral_processor&s (RRfR@(((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR>%st _StrDateTimecBseZRS((RRf(((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRA-st_StrDatecBseZRS((RRf(((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRB1st_StrTimecBseZRS((RRf(((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRC5stStrCompileDialectcBseZejZejZejZej Z e Z e Z e Ze ZeZeZe Ze Ze Zieej6eej6eej6ZRS((RRfR tStrSQLCompilerR R R tStrSQLTypeCompilerR9RR7R)RMRRRR/RR6R:R/R!RARutDateTimeRBtDateRCtTimeR(((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRD9s"      tDefaultExecutionContextcBseZeZeZeZeZeZeZeZ d,Z d,Z d,Z d,ZejZd,Zd,ZejZd,Zd,ZeZeZeZeZeZd,ZejZe Z!e"dZ#e"e$dZ%e"dZ&e"dZ'dZ(ej)dZ*ej)dZ+ej)dZ,ej)dZ-ej)d Z.ej)d Z/ej)d Z0d,d Z1e2d Z3dZ4dZ5dZ6dZ7dZ8dZ9dZ:dZ;dZ<dZ=dZ>e2dZ?dZ@dZAdZBdZCdZDej)dZEd ZFd!ZGd"ZHd#ZId$ZJd%ZKd&ZLd,ZMeNd'ZOd(ZPd)ZQd*ZRd+ZSRS(-c Cs8|j|}||_||_|j|_||_}t|_||_|jpg|jj dt |_ t j ||_|jr|jj di}|jj} | |j||_n|js|j|jd|_n |j|_|j|_g|_|jr(|jg|_n ig|_|S(s8Initialize execution context for a DDLElement construct.t future_resulttschema_translate_mapi(t__new__troot_connectiont_dbapi_connectionRtcompiledR)tisddltexecution_optionsRRRR/t_is_future_resultR Rtunicode_statementRLR7t_render_schema_translatesRRDRt create_cursorRtcompiled_parametersR0RR( R`RRrRRRt compiled_ddlRFRPRLtrst((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt _init_ddl{s2                 c  s|j|} || _|| _|j| _|| _|| _|| _| | _|| _|j pu| jj dt | _ |j |j|j|j|jf| _|j| _|j| _|j| _|j| _| js| js| jr-t| _t|jj| _t|jo!|jj | _n|sT|j d|dt g| _!nXgt"|D]-\} } |j | dt d| d|^qa| _!t#|dk| _$t%j&rt%j'|j(| _)n |j(| _)| j*| _+| jj,s| jj-r#| j$r| j.q#| j/n|j0|j1s>|j2r| j$rYt3j4dn|j5| j!d} | j| _)| j6| _7t8j9| j:| j;}n|j<r| jj;}n|j=r | jj di}|j>j?}|| j)|| _)n|j@s0| j)jA| jjB| _n | j)| _g}|j<rx8| j!D]Yg|D]0}|kr||n|^qb}|jC|jD|qUWn|j@ }|r|jEnx| j!D]|jF|r7rfd D}qufd D}n>r\fd D}nfd D}|jC|qW|jD|| _G| S( s6Initialize execution context for a Compiled construct.RKtextracted_parameterst escape_namest _group_numberisL'literal_execute' or 'expanding' parameters can't be used with executemany()iRLcsSi|]I}|kr,||n|j||dqS(i(RR(Rtkey(tcompiled_paramstencodertescaped_bind_namesR(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys Fs csGi|]=}|kr,||n||dqS(i((RR^(R_R`R(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys Os csIi|]?}|kr,||n|j||qS((RR(RR^(R_RaR(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys Ys cs=i|]3}|kr,||n||qS(((RR^(R_R(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys bs (HRMRNRORR[tinvoked_statementRPt cache_hitRRRRRR/RSt_result_columnst_ordered_columnst_textual_ordered_columnst_ad_hoc_textualt_loose_column_name_matchingtresult_column_structtisinserttisupdatetisdeletet isplaintexttis_textR)tis_crudRTRt _returningt_is_explicit_returningt returningt_is_implicit_returningtconstruct_paramsRWt enumerateRRR RRtstringRTRVRtinsert_prefetchtupdate_prefetcht_process_executemany_defaultst_process_executesingle_defaultst_bind_processorstliteral_execute_paramstpost_compile_paramsRRyt#_process_parameters_for_postcompiletparameter_expansiont_expanded_parameterstdictRRt positiontupR0RLR7RURRR.RRRDRaR(R`RRrRRRRPRRbR[RcRFtgrptmtexpanded_stateRRLRYR^tparamR((R_R`RaRsL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_init_compileds               @                     :       c s|j|}||_||_|j|_t|_||_|jpZ|jjdt |_ |s|jj rj g|_ q@ig|_ nt|dj r||_ nt|dtrjr||_ q@g|D]fdD^qpig|_ n%g|D]}j |^q"|_ t|dk|_j rt|tjr||_j|d|_n||_|_|j|_|S(s8Initialize execution context for a string SQL statement.RKics*i|] }|j|dqS(i(RD(Rtk(tdR(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys s i(RMRNRORR)RnRRRRRR/RSR0RRRIRRRRR RRTRDRRVR( R`RRrRRRRRRFtp((RRsL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_init_statementns:           )%  cCsj|j|}||_||_|j|_||_|jpQ|jjdt|_|j |_ |S(s;Initialize execution context for a ColumnDefault construct.RK( RMRNRORRRRRRR/RSRVR(R`RRrRRRRF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt _init_defaults     cCs|jdkrdStj}|j}|tkrId||jjfS|tkrjd||jjfS|tkrd||jjfS|t krd||jjfS|t krd|j j |j j ||jjfSdSdS(Nsraw sqls no key %.5fsscached since %.4gs agosgenerated in %.5fsscaching disabled %.5fss,dialect %s+%s does not support caching %.5fstunknown(RPR1R t perf_counterRcRt _gen_timeR RRRRR+RS(RFtnowtch((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_get_cache_statss$         cCsJ|jr|jjSd|jkr<|jjj|jdS|jjSdS(NRL(RPR7RRRR8t_with_schema_translate(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR8s    cCs |jjS(N(RNR(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRscCs |jjS(N(RPt postfetch(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytpostfetch_colsscCs.|jr|jjS|jr&|jjSdSdS(N((RjRPRwRkRx(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt prefetch_colss     cCs|jjdS(N(RPRr(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytreturning_colsscCs|jjdtS(Nt no_parameters(RRRRR/(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRscCsX|jjd|j r(|jr(tjp+t}|tjkrP|j|jS|SdS(Nt autocommit( RRRRRPRR tPARSE_AUTOCOMMITR/tshould_autocommit_textRT(RFR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytshould_autocommits     c Cs%|j}t|tjrA|jj rA|jj|d}nd|jkr|jjdi}|j j }|||}n|s|jj r|jj }qi}n|j |j||d||jjd}|dk r!|j|j|jjdd}|r!||Sn|S(sExecute a string statement on the current cursor, returning a scalar result. Used to fire off sequences, default phrases, and "select lastrowid" types of statements individually or in the context of a parent INSERT or UPDATE statement. iRLRiN(RNRIR RRRRDRRRRR8RUR0RRRRR1t_cached_result_processorR( RFtstmtttype_RtconnRLRYtrtproc((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_execute_scalar s*         cCs$|j}|jr|S|jSdS(N(RNRt_branch(RFR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRr3s  cCs tj|S(N(tAUTOCOMMIT_REGEXPtmatch(RFR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR;scCs|jjstS|jjr|jjdto|jrRt|jj t j p|j stt|jj t j o|j otj|j }n|jjdt}|S(Ntstream_results(RR,R/R#RRRRR)RPRIRR t Selectablet TextClauseRTtSERVER_SIDE_CURSOR_RER(RFtuse_server_side((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_use_server_side_cursor>s          cCsc|jjrL|jjdts9|jjrL|jrLt|_|j St|_|j SdS(NR( RR,RRRRR/R#RR)t_is_server_sidetcreate_server_side_cursortcreate_default_cursor(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRV_s      cCs |jjS(N(ROR(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRqscCs tdS(N(Rn(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRtscCsdS(N((RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytpre_execwscCstddS(Ns,This dialect does not support OUT parameters(Rn(RFtnames((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytget_out_parameter_valueszscCsdS(N((RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt post_execscCs|j|j|S(sReturn a 'result processor' for a given type as present in cursor.description. This has a default implementation that dialects can override for context-sensitive result type handling. (RR(RFRtcolnametcoltype((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytget_result_processorscCs |jjS(s return self.cursor.lastrowid, or equivalent, after an INSERT. This may involve calling special cursor functions, issuing a new SELECT on the cursor (or a new one), or returning a stored value that was calculated within post_exec(). This function will only be called for dialects which support "implicit" primary key generation, keep preexecute_autoincrement_sequences set to False, and when no explicit id value was bound to the statement. The function is called once for an INSERT statement that would need to return the last inserted primary key for those dialects that make use of the lastrowid concept. In these cases, it is called directly after :meth:`.ExecutionContext.post_exec`. (Rt lastrowid(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt get_lastrowidscCsdS(N((RFR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pythandle_dbapi_exceptionscCs |jjS(N(Rtrowcount(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRscCs |jjS(N(RR\(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR\scCs |jjS(N(RR+(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR+scCsr|j}|js|jr4|j}t}}n|jdd}|jp^|jdt}|j}|r|t j krt j |j |j}n|j p|j j}|dkrt j}n|jr|jjrtjdnt j|||}nt j|||}|jrJ|j rJ|jjrJ|j|n|j|_|rn|j|}n|S(Nt yield_perRs3can't use future_result=True with close_with_result(RRRoRnt_setup_dml_or_text_resultR/RRR1Rtcursor_fetch_strategyt_cursort_DEFAULT_FETCHtBufferedRowCursorFetchStrategyRtalternate_cursor_descriptionRt_NO_CURSOR_DQLRSRNtshould_close_with_resultRRyt CursorResulttLegacyCursorResultRPRQthas_out_parameterst_setup_out_parameterst _soft_closedR(RFtexec_opttresulttyptsrtstrategytcursor_description((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_setup_result_proxys<               c Csg|jjjD]!\}}|jr||f^q}i}xtg|D]\}}|^qM|jg|D]\}}|^qoD]y\}}|j}|j|j} | j |jj } | j |j| } | dk r| |}n|||j scCs/|jj}|j}|||jdgS(Ni(RPt+_inserted_primary_key_from_lastrowid_getterRRW(RFtgetterR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyREs  cCs/|jj}g|jD]}|d|^qS(N(RPRRWR1(RFRR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRKs cCsN|s gS|jj}|j}gt||D]\}}|||^q/S(N(RPt+_inserted_primary_key_from_returning_getterRWR(RFRRRR_RR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyROs   cCs"|js|jo!t|jjS(N(RjRkRTRPR(RF((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytlastrow_has_defaults[scs|js|jrdS|jjd|jd|j}|dkrGdS|jjrt |}|jj j ||j |j |j|nt|jjr|jjn|jjrg|jjD]}||jj|f^q}n1g|jjjD]\}|f^q}g}x'|D]\}|jjkrQq-n||jkrjjrtjj||jfdt|j|DqL|jd|jfd|j|Dq-|jdr-j||n|}|j|jfq-Wy|jj |j ||Wn/t!k r}|j"j#|ddd|nXdS(s:Given a cursor and ClauseParameters, call the appropriate style of ``setinputsizes()`` on the cursor, using DB-API types from the bind parameter's ``TypeEngine`` objects. This method only called by those dialects which require it, currently cx_oracle, asyncpg and pg8000. Nt include_typest exclude_typesc3sR|]H\}}r'j||n||jj|fVqdS(N(RRRJR(RRt paramname(RtdbtypesRathas_escaped_namestnum(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys s c3s9|]/}r!j||n|jfVqdS(N(RRRJ(RR(RtdbtypeRaR(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys s ($RQRnRPt_get_set_input_sizes_lookuptinclude_set_input_sizestexclude_set_input_sizesR1Rt _has_eventsRtdispatchtdo_setinputsizesRRRRTRaR0RtbindsRRR|RRJt_is_tuple_typeRRtextendRuRRRtdo_set_input_sizest BaseExceptionRNt_handle_dbapi_exception(RFt inputsizesR^Rtgeneric_inputsizest escaped_nameR((RRRRaRRsL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_set_input_sizes`s\         /.      cCs_|jr|j||S|jr8||_|j|S|jrT|j|||S|jSdS(N(t is_sequencet fire_sequencet is_callabletcurrent_columnRKtis_clause_elementt_exec_default_clause_element(RFtcolumnRR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt _exec_defaults     c s|js!tj|j|}n |j}tj|jd|j}|j|j|j r|j }|jj g|D]0}|kr||n|^q}nt fdD}|j tj||d|S(NRc3s?|]5}||kr,||n|fVqdS(N((RR^(R_R(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys sR(t _arg_is_typedR t type_coerceRKRRRRtR{R0RRRRR R( RFR RRt default_argRPRR^R((R_RsL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRs        @ csy|j|j}Wn tk r8tjdnX|jj}|r|jr|jr|j r|j di|j |j j 6}ni|j |j 6}d|j j}|jfd|D|SSdS(siReturn a dictionary of parameters applied to the current row. This method can only be used in the context of a user-defined default generation function, e.g. as described at :ref:`context_default_functions`. When invoked, a dictionary is returned which includes entries for each column/value pair that is part of the INSERT or UPDATE statement. The keys of the dictionary will be the key value of each :class:`_schema.Column`, which is usually synonymous with the name. :param isolate_multiinsert_groups=True: indicates that multi-valued INSERT constructs created using :meth:`_expression.Insert.values` should be handled by returning only the subset of parameters that are local to the current column default invocation. When ``False``, the raw parameters of the statement are returned including the naming convention used in the case of multi-valued INSERT. .. versionadded:: 1.2 added :meth:`.DefaultExecutionContext.get_current_parameters` which provides more functionality over the existing :attr:`.DefaultExecutionContext.current_parameters` attribute. .. seealso:: :attr:`.DefaultExecutionContext.current_parameters` :ref:`context_default_functions` sdget_current_parameters() can only be invoked in the context of a Python side column default functioniic3s)|]}|d|ffVqdS(s%s_m%dN((RR^(tindexR(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys FsN(tcurrent_parametersRtAttributeErrorRRyRPt compile_stateRjt_has_multi_parameterst_is_multiparam_columnRR^toriginalt_dict_parameterstkeysR(RFtisolate_multiinsert_groupsR RRR((RRsL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytget_current_parameterss(!         cCs0|jdkrdS|j||j|jSdS(N(RR1R RJ(RFR ((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytget_insert_defaultLscCs0|jdkrdS|j||j|jSdS(N(tonupdateR1R RJ(RFR ((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytget_update_defaultRscCs|jj}i}|jj}|jj}xC|D];}|jr1|jj r1|jjr1|jj||   &(2RRBRRtreRWtRRRRtbaseRRRRRRRuR tsqlR R t sql.elementsR RtItUNICODERRtsymbolR RRRRtDialectRtobjectR>RGRARHRBRIRCRDtExecutionContextRJtexecution_ctx_cls(((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytsP     D