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@s%dZddlmZddlZddlZddlmZddlmZddlmZddlm Z e j d Z e j d Z e j d Z d efd YZdefdYZdejfdYZdefdYZeedZiZdefdYZdS(s'Base constructs for connection pools. i(tdequeNi(tevent(texc(tlog(tutiltreset_rollbackt reset_committ reset_nonet _ConnDialectcBsPeZdZeZeZdZdZdZdZ dZ dZ RS(spartial implementation of :class:`.Dialect` which provides DBAPI connection methods. When a :class:`_pool.Pool` is combined with an :class:`_engine.Engine`, the :class:`_engine.Engine` replaces this with its own :class:`.Dialect`. cCs|jdS(N(trollback(tselftdbapi_connection((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt do_rollback)scCs|jdS(N(tcommit(R R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt do_commit,scCs|jdS(N(tclose(R R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt do_terminate/scCs|jdS(N(R(R R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pytdo_close2scCstddS(NsJThe ping feature requires that a dialect is passed to the connection pool.(tNotImplementedError(R R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pytdo_ping5scCs|S(N((R t connection((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pytget_driver_connection;s( t__name__t __module__t__doc__tFalsetis_asynct has_terminateR RRRRR(((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRs     t_AsyncConnDialectcBseZeZRS((RRtTrueR(((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyR?stPoolc BseZdZeZdddeddeddZe j dZ e dZ e jdZ dZedZdZded Zd Zd Zd Zd ZdZdZdZRS(s)Abstract base class for connection pools.ic Cs|r||_|_n d |_tj|d|||_||_d|_||_t j j |idt gt 6dd tgt6dgt6ddt|_||_| r|jj| dtn|r||_n|rx*|D]\} } tj|| | qWnd S( s Construct a Pool. :param creator: a callable function that returns a DB-API connection object. The function will be called with parameters. :param recycle: If set to a value other than -1, number of seconds between connection recycling, which means upon checkout, if this timeout is surpassed the connection will be closed and replaced with a newly opened connection. Defaults to -1. :param logging_name: String identifier which will be used within the "name" field of logging records generated within the "sqlalchemy.pool" logger. Defaults to a hexstring of the object's id. :param echo: if True, the connection pool will log informational output such as when connections are invalidated as well as when connections are recycled to the default log handler, which defaults to ``sys.stdout`` for output.. If set to the string ``"debug"``, the logging will include pool checkouts and checkins. The :paramref:`_pool.Pool.echo` parameter can also be set from the :func:`_sa.create_engine` call by using the :paramref:`_sa.create_engine.echo_pool` parameter. .. seealso:: :ref:`dbengine_logging` - further detail on how to configure logging. :param reset_on_return: Determine steps to take on connections as they are returned to the pool, which were not otherwise handled by a :class:`_engine.Connection`. Available from :func:`_sa.create_engine` via the :paramref:`_sa.create_engine.pool_reset_on_return` parameter. :paramref:`_pool.Pool.reset_on_return` can have any of these values: * ``"rollback"`` - call rollback() on the connection, to release locks and transaction resources. This is the default value. The vast majority of use cases should leave this value set. * ``"commit"`` - call commit() on the connection, to release locks and transaction resources. A commit here may be desirable for databases that cache query plans if a commit is emitted, such as Microsoft SQL Server. However, this value is more dangerous than 'rollback' because any data changes present on the transaction are committed unconditionally. * ``None`` - don't do anything on the connection. This setting may be appropriate if the database / DBAPI works in pure "autocommit" mode at all times, or if a custom reset handler is established using the :meth:`.PoolEvents.reset` event handler. * ``True`` - same as 'rollback', this is here for backwards compatibility. * ``False`` - same as None, this is here for backwards compatibility. For further customization of reset on return, the :meth:`.PoolEvents.reset` event hook may be used which can perform any connection activity desired on reset. (requires version 1.4.43 or greater) .. seealso:: :ref:`pool_reset_on_return` :param events: a list of 2-tuples, each of the form ``(callable, target)`` which will be passed to :func:`.event.listen` upon construction. Provided here so that event listeners can be assigned via :func:`_sa.create_engine` before dialect-level listeners are applied. :param dialect: a :class:`.Dialect` that will handle the job of calling rollback(), close(), or commit() on DBAPI connections. If omitted, a built-in "stub" dialect is used. Applications that make use of :func:`_sa.create_engine` should not use this parameter as it is handled by the engine creation strategy. .. versionadded:: 1.1 - ``dialect`` is now a public parameter to the :class:`_pool.Pool`. :param pre_ping: if True, the pool will emit a "ping" (typically "SELECT 1", but is dialect-specific) on the connection upon checkout, to test if the connection is alive or not. If not, the connection is transparently re-connected and upon success, all other pooled connections established prior to that timestamp are invalidated. Requires that a dialect is passed as well to interpret the disconnection error. .. versionadded:: 1.2 techoflagiR tnoneR treset_on_returntresolve_symbol_namestonly_propagateN(t logging_namet_orig_logging_nametNoneRtinstance_loggert_creatort_recyclet_invalidate_timet _pre_pingRtsymboltparse_user_argumentRRRRRt_reset_on_returntechotdispatcht_updatet_dialectRtlisten( R tcreatortrecycleR/R$R!teventstdialecttpre_pingt _dispatchtfnttarget((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt__init__Is0m           cCs |jjS(N(R2R(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt _is_asyncioscCs |jdS(NR((t__dict__(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyR(scCs#||jd<|j||_dS(NR((R>t_should_wrap_creatort_invoke_creator(R R4((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyR(s csytj|jdt}Wntk r9fdSX|ddk rZt|dp]d}t|d|}|d|dfdgd fkrS|dkrSfdSdS( slDetect if creator accepts a single argument, or is sent as a legacy style no-arg function. tno_selfcsS(N((tcrec(R4(sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyttiitconnection_recordicsS(N((RB(R4(sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRCRDN(N(Rtget_callable_argspecR(Rt TypeErrorR&tlen(R R4targspect defaultedt positionals((R4sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyR?s &# cCs|jjd|rdnd|y-|r>|jj|n|jj|WnAtk r}|jjd|dtt|t sqnXdS(Ns%s connection %rs Hard-closingtClosingsException closing connection %rtexc_info( tloggertdebugR2RRt BaseExceptionterrorRt isinstancet Exception(R Rt terminatete((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt_close_connections  cCs t|S(s6Called by subclasses to create a new ConnectionRecord.(t_ConnectionRecord(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt_create_connectionscCsit|dd}| s+|j|jkr=tj|_n|ret|dtre|j|ndS(sMark all connections established within the generation of the given connection as invalidated. If this pool's last invalidate time is before when the given connection was created, update the timestamp til now. Otherwise, no action is performed. Connections with a start time prior to this pool's invalidation time will be recycled upon next checkout. t_connection_recordtis_validN(tgetattrR&R*t starttimettimeRt invalidate(R Rt exceptiont_checkintrec((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt _invalidates cCs tdS(s"Return a new :class:`_pool.Pool`, of the same class as this one and configured with identical creation arguments. This method is used in conjunction with :meth:`dispose` to close out an entire :class:`_pool.Pool` and create a new one in its place. N(R(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pytrecreate$s cCs tdS(sDispose of this pool. This method leaves the possibility of checked-out connections remaining open, as it only affects connections that are idle in the pool. .. seealso:: :meth:`Pool.recreate` N(R(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pytdispose0s cCs tj|S(sReturn a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. (t_ConnectionFairyt _checkout(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pytconnect?scCs|j|dS(sGiven a _ConnectionRecord, return it to the :class:`_pool.Pool`. This method is called when an instrumented DBAPI connection has its ``close()`` method called. N(t_do_return_conn(R trecord((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt _return_connIscCs tdS(s7Implementation for :meth:`get`, supplied by subclasses.N(R(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt_do_getRscCs tdS(s?Implementation for :meth:`return_conn`, supplied by subclasses.N(R(R tconn((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRhWscCs tdS(N(R(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pytstatus\sN(RRRRR2R&RRR<RthybridpropertyR=tpropertyR(tsetterR?RVRXRbRcRdRgRjRkRhRm(((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRCs0        RWcBseZdZedZeZdZdZ dZ e dZ e dZ e jdZ dZejdZejdZedZed Zed Ze d Ze d Zd ZdedZdZdZedZdZRS(sInternal object which maintains an individual DBAPI connection referenced by a :class:`_pool.Pool`. The :class:`._ConnectionRecord` object always exists for any particular DBAPI connection whether or not that DBAPI connection has been "checked out". This is in contrast to the :class:`._ConnectionFairy` which is only a public facade to the DBAPI connection while it is checked out. A :class:`._ConnectionRecord` may exist for a span longer than that of a single DBAPI connection. For example, if the :meth:`._ConnectionRecord.invalidate` method is called, the DBAPI connection associated with this :class:`._ConnectionRecord` will be discarded, but the :class:`._ConnectionRecord` may be used again, in which case a new DBAPI connection is produced when the :class:`_pool.Pool` next uses this record. The :class:`._ConnectionRecord` is delivered along with connection pool events, including :meth:`_events.PoolEvents.connect` and :meth:`_events.PoolEvents.checkout`, however :class:`._ConnectionRecord` still remains an internal object whose API and internals may change. .. seealso:: :class:`._ConnectionFairy` cCs,||_|r|jnt|_dS(N(t_ConnectionRecord__poolt_ConnectionRecord__connectRtfinalize_callback(R tpoolRg((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyR<s  cCs-|jdkrdS|jjj|jSdS(s<The connection object as returned by the driver after a connect. For normal sync drivers that support the DBAPI protocol, this object is the same as the one referenced by :attr:`._ConnectionRecord.dbapi_connection`. For adapted drivers, like the Asyncio ones, this is the actual object that was returned by the driver ``connect`` call. As :attr:`._ConnectionRecord.dbapi_connection` it may be ``None`` if this :class:`._ConnectionRecord` has been marked as invalidated. .. versionadded:: 1.4.24 N(R R&RqR2R(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pytdriver_connections cCs|jS(sAn alias to :attr:`._ConnectionRecord.dbapi_connection`. This alias is deprecated, please use the new name. .. deprecated:: 1.4.24 (R (R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRs cCs ||_dS(N(R (R tvalue((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRsicCsiS(s`The ``.info`` dictionary associated with the DBAPI connection. This dictionary is shared among the :attr:`._ConnectionFairy.info` and :attr:`_engine.Connection.info` accessors. .. note:: The lifespan of this dictionary is linked to the DBAPI connection itself, meaning that it is **discarded** each time the DBAPI connection is closed and/or invalidated. The :attr:`._ConnectionRecord.record_info` dictionary remains persistent throughout the lifespan of the :class:`._ConnectionRecord` container. ((R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pytinfoscCsiS(sAn "info' dictionary associated with the connection record itself. Unlike the :attr:`._ConnectionRecord.info` dictionary, which is linked to the lifespan of the DBAPI connection, this dictionary is linked to the lifespan of the :class:`._ConnectionRecord` container itself and will remain persistent throughout the life of the :class:`._ConnectionRecord`. .. versionadded:: 1.1 ((R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt record_infoscsjyj}Wn<tk rZ}tjj|dtWdQXnXjt|}t j |fd_ }t |<rj jd|n|S(Nt_fairy_was_createdcs"to!td|dtS(Nttransaction_was_reset(t_finalize_fairyR&R(tref(R/RtRa(sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRCss#Connection %r checked out from pool(Rktget_connectionRPRt safe_reraiset_checkin_failedRt_should_log_debugRetweakrefR|t fairy_reft_strong_ref_connection_recordsRNRO(tclsRtR terrtfairyR|((R/RtRasG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pytcheckouts"      cCs$|jd||jd|dS(NRURy(R^tcheckin(R RRy((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRs cCs|jdkr*|r*tjd|dSd|_|j}|j}x&|jrm|jj}||qHW|jj r|jj ||n|j |dS(NsDouble checkin attempted on %s( RR&RtwarnR RqRstpopR0RRj(R RyRRtt finalizer((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRs     cCs |jdk S(N(RR&(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pytin_use$scCs|jS(N(R\(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pytlast_connect_time(scCs |jdk r|jndS(N(R R&t_ConnectionRecord__close(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyR,scCs|jdkrdS|r8|jjj|j||n|jjj|j|||dk r|jjjd|r{dnd|j|jj |n(|jjjd|rdnd|j|rt j |_ n|j dt d|_dS(sInvalidate the DBAPI connection held by this :class:`._ConnectionRecord`. This method is called for all connection invalidations, including when the :meth:`._ConnectionFairy.invalidate` or :meth:`_engine.Connection.invalidate` methods are called, as well as when any so-called "automatic invalidation" condition occurs. :param e: an exception object indicating a reason for the invalidation. :param soft: if True, the connection isn't closed; instead, this connection will be recycled on next checkout. .. versionadded:: 1.0.3 .. seealso:: :ref:`pool_connection_invalidation` Ns*%sInvalidate connection %r (reason: %s:%s)sSoft RDs%sInvalidate connection %rRT(R R&RqR0tsoft_invalidateR^RNRwt __class__RR]t_soft_invalidate_timeRR(R RUtsoft((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyR^0s*       cCs,t}|jdkr/|jj|jn|jjdkrtj|j |jjkr|jj jd|jt }ns|jj |j kr|jj jdd|jt }n8|j |j kr|jj jdd|jt }n|r%|jdt |jj|jn|jS(Nis)Connection %r exceeded timeout; recyclings4Connection %r invalidated due to pool invalidation; t recyclings:Connection %r invalidated due to local soft invalidation; RT(RR R&RwtclearRrRqR)R]R\RNRR*RR(R R5((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyR}es6             cCs4|jdkp3|jj|jkp3|j|jkS(N(R R&RqR*R\R(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt_is_hard_or_soft_invalidatedscCs^|jj|jjjr8|jjj|j|n|jj|jd|d|_dS(NRT(RsRRqR0RR RVR&(R RT((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt__closes   cCs|j}d|_yEtj|_|j||_}|jjd|t|_ Wn9t k r}t j |jjd|WdQXnZX|j jr|j jj|j j|j|n|j jj|j j|j|dS(NsCreated new connection %rsError on connect(): %s(RqR&R R]R\R@RNRORtfreshRPRR~R0t first_connectt for_modifytexec_once_unless_exceptionRgt_exec_w_sync_on_first_run(R RtRRU((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt __connects"         N( RRRRR<RRR&RR\R RoRuRRpRRtmemoized_propertyRwRxt classmethodRRRRRRR^R}RRRr(((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRW`s.     5 1  c Cs7|rtj|dn"|r;tjtj|dn|dk rx|j|k rZdS|dkslt|j}n|jj o|jj }|r| p|}| } n | }t } |dk r|r|r|j j d|ny|pt|||}|j|kst| r2|j||n|r|rT||_|jn| r|jjry|jj|n|j|qd|} |j j| tj| nWqtk r } |j jddt |r|jd| nt| tsqqXn|r3|jdk r3|jndS(scCleanup for a :class:`._ConnectionFairy` whether or not it's already been garbage collected. When using an async dialect no IO can happen here (without using a dedicated thread), since this is called outside the greenlet context and with an already running loop. In this case function will only log a message and raise a warning. Ns$Connection %r being returned to poolsdThe garbage collector is trying to clean up connection %r. This feature is unsupported on unsupported on asyncio dbapis that lack a "terminate" feature, since no IO can be performed at this stage to reset the connection. Please close out all connections when they are no longer used, calling ``close()`` or using a context manager to manage their lifetime.s!Exception during reset or similarRMRU(RRR&RR|RtAssertionErrorR R2RRRRNRORet_resett_pooltdetachR0tclose_detachedRVRQRRRPR^RRRSR( R RERtR|R/RzRtdont_restore_gcedRtcan_manipulate_connectiontmessageRU((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyR{sb                 RecBs eZdZdZdZdZedZedZ e j dZ e dddZ dZ edZeZedZed Zed Zejd Zed Zded ZdZdZdZdZedZRS(sbProxies a DBAPI connection and provides return-on-dereference support. This is an internal object used by the :class:`_pool.Pool` implementation to provide context management to a DBAPI connection delivered by that :class:`_pool.Pool`. The name "fairy" is inspired by the fact that the :class:`._ConnectionFairy` object's lifespan is transitory, as it lasts only for the length of a specific DBAPI connection being checked out from the pool, and additionally that as a transparent proxy, it is mostly invisible. .. seealso:: :class:`._ConnectionRecord` cCs||_||_||_dS(N(R RYt_echo(R R RER/((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyR<?s  cCs |jjS(sThe connection object as returned by the driver after a connect. .. versionadded:: 1.4.24 .. seealso:: :attr:`._ConnectionFairy.dbapi_connection` :attr:`._ConnectionRecord.driver_connection` :ref:`faq_dbapi_connection` (RYRu(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRu[scCs|jS(sAn alias to :attr:`._ConnectionFairy.dbapi_connection`. This alias is deprecated, please use the new name. .. deprecated:: 1.4.24 (R (R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRls cCs ||_dS(N(R (R Rv((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRwsc Cs |sKtj|}||_d|_|dk rKtj||_qKn|jdkrlt j dn|jd7_|j j r|j s|jdkr|Sd}x0|dkr|j j}t|j _y|j rz|sU|jr|jjd|jn|jj|j}|sw|jrC|jjd|jnt jqwqz|jrz|jjd|jqzn|j j|j|j ||SWqt jk r}|jr|jjd||j j||j||d tn)|jjd |j||j j|y|j j|_Wn?tk ru}tj|j j|d t ~WdQXnX|d8}qtk r} tj3|j } | dk r| j| d t n~WdQXqXqW|jjd |jt j ddS( NisThis connection is closediisPool pre-ping on connection %ss;Pool pre-ping on connection %s failed, will invalidate pools)Connection %s is fresh, skipping pre-pingsoDisconnection detected on checkout, invalidating all pooled connections prior to current timestamp (reason: %r)R`sVDisconnection detected on checkout, invalidating individual connection %s (reason: %r)Rys+Reconnection attempts exhausted on checkout(!RWRRt_counterR&RR|tcurrentR RtInvalidRequestErrorR0R+RYRRRRNROR2RtInvalidatePoolErrortDisconnectionErrortinvalidate_poolRwR^RbR}RPRR~RR( RRtt threadconnsRtattemptstconnection_is_freshtresultRURtbe_outerRa((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRf{s                             cCstj|jd|S(NR(ReRfR(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt_checkout_existingsc CsDt|j|j|jd|jd|d|d|_d|_dS(NRzR(R{R RYRR&R(R Rz((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyR`s  cCs|jjr%|jj||jn|jtkr|r_|jr|jjd|jqq|jr|jjd|jn|j j |nD|jt kr|jr|jjd|jn|j j |ndS(Ns.Connection %s reset, transaction already resets Connection %s rollback-on-returnsConnection %s commit-on-return( R0tresetRYR.RRRNROR R2R RR(R RtRz((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRs&         cCs |jjS(N(RRN(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt_loggerscCs |jdk S(sbReturn True if this :class:`._ConnectionFairy` still refers to an active DBAPI connection.N(R R&(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRZscCs |jjS(sInfo dictionary associated with the underlying DBAPI connection referred to by this :class:`.ConnectionFairy`, allowing user-defined data to be associated with the connection. The data here will follow along with the DBAPI connection including after it is returned to the connection pool and used again in subsequent instances of :class:`._ConnectionFairy`. It is shared with the :attr:`._ConnectionRecord.info` and :attr:`_engine.Connection.info` accessors. The dictionary associated with a particular DBAPI connection is discarded when the connection itself is discarded. (RYRw(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRw"scCs|jr|jjSdSdS(sInfo dictionary associated with the :class:`._ConnectionRecord container referred to by this :class:`.ConnectionFairy`. Unlike the :attr:`._ConnectionFairy.info` dictionary, the lifespan of this dictionary is persistent across connections that are disconnected and/or invalidated within the lifespan of a :class:`._ConnectionRecord`. .. versionadded:: 1.1 N(RYRxR&(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRx5s  cCse|jdkr tjddS|jrE|jjd|d|n|sad|_|jndS(sMark this connection as invalidated. This method can be called directly, and is also called as a result of the :meth:`_engine.Connection.invalidate` method. When invoked, the DBAPI connection is immediately closed and discarded from further use by the pool. The invalidation mechanism proceeds via the :meth:`._ConnectionRecord.invalidate` internal method. :param e: an exception object indicating a reason for the invalidation. :param soft: if True, the connection isn't closed; instead, this connection will be recycled on next checkout. .. versionadded:: 1.0.3 .. seealso:: :ref:`pool_connection_invalidation` s.Can't invalidate an already-closed connection.NRUR(R R&RRRYR^R`(R RUR((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyR^Gs   cOs|jj||S(sReturn a new DBAPI cursor for the underlying connection. This method is a proxy for the ``connection.cursor()`` DBAPI method. (R tcursor(R targstkwargs((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRfscCst|j|S(N(R[R (R tkey((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt __getattr__oscCs|jdk r|j}d|_d|_|jj|j|jj|_d|_|jjj r|jjj |j|qndS(s"Separate this connection from its Pool. This means that the connection will no longer be returned to the pool when closed, and will instead be literally closed. The containing ConnectionRecord is separated from the DB-API connection, and will create a new connection when next used. Note that any overall connection limiting constraints imposed by a Pool implementation may be violated after a detach, as the detached connection is removed from the pool's knowledge and control. N( RYR&RR RRhRwtcopyR0R(R Ra((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRrs     cCs/|jd8_|jdkr+|jndS(Nii(RR`(R ((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRscCs5|jd8_|jdkr1|jd|ndS(NiiRz(RR`(R ttransaction_reset((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt_close_specialsN(RRRR<R&R RYRoRuRRpRRfRRR`t_closeRRRZRRRwRxR^RRRRR(((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyRe*s.  p      (Rt collectionsRR]RRDRRRRR,RRRtobjectRRt IdentifiedRRWRR&R{RRe(((sG/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/pool/base.pyt s(  #j ]