§
    
 @gÞV  ã                  óê  — d Z ddlmZ ddlZddlZddlmZ ddlmZ ddlm	Z	 ddl
mZ dd	l
mZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  erddlm!Z!  ej"        d¦  «        Z# G d„ dej$        ¦  «        Z% G d„ de¦  «        Z& G d„ d e¦  «        Z' G d!„ d"e¦  «        Z( G d#„ d$ej        j)        ¦  «        Z* G d%„ d&ej        j+        ¦  «        Z, G d'„ d(e¦  «        Z- G d)„ d*e¦  «        Z. G d+„ d,ej/        ¦  «        Z0 G d-„ d.ej1        ¦  «        Z2 G d/„ d0ej3        ¦  «        Z4 G d1„ d2ej5        ¦  «        Z6 G d3„ d4ej7        ¦  «        Z8 G d5„ d6ej9        ¦  «        Z: G d7„ d8ej;        ¦  «        Z< G d9„ d:ej=        ¦  «        Z> G d;„ d<e	j?        ¦  «        Z@ G d=„ d>e	jA        ¦  «        ZB G d?„ d@e¦  «        ZC G dA„ dBe¦  «        ZD G dC„ dDe¦  «        ZEdE„ ZF G dF„ dGe¦  «        ZG G dH„ dI¦  «        ZH G dJ„ dKeH¦  «        ZI G dL„ dMe¦  «        ZJ G dN„ dOeJ¦  «        ZK G dP„ dQ¦  «        ZL G dR„ dSeG¦  «        ZMeGZNeMZOdS )TaR  
.. dialect:: postgresql+psycopg
    :name: psycopg (a.k.a. psycopg 3)
    :dbapi: psycopg
    :connectstring: postgresql+psycopg://user:password@host:port/dbname[?key=value&key=value...]
    :url: https://pypi.org/project/psycopg/

``psycopg`` is the package and module name for version 3 of the ``psycopg``
database driver, formerly known as ``psycopg2``.  This driver is different
enough from its ``psycopg2`` predecessor that SQLAlchemy supports it
via a totally separate dialect; support for ``psycopg2`` is expected to remain
for as long as that package continues to function for modern Python versions,
and also remains the default dialect for the ``postgresql://`` dialect
series.

The SQLAlchemy ``psycopg`` dialect provides both a sync and an async
implementation under the same dialect name. The proper version is
selected depending on how the engine is created:

* calling :func:`_sa.create_engine` with ``postgresql+psycopg://...`` will
  automatically select the sync version, e.g.::

    from sqlalchemy import create_engine
    sync_engine = create_engine("postgresql+psycopg://scott:tiger@localhost/test")

* calling :func:`_asyncio.create_async_engine` with
  ``postgresql+psycopg://...`` will automatically select the async version,
  e.g.::

    from sqlalchemy.ext.asyncio import create_async_engine
    asyncio_engine = create_async_engine("postgresql+psycopg://scott:tiger@localhost/test")

The asyncio version of the dialect may also be specified explicitly using the
``psycopg_async`` suffix, as::

    from sqlalchemy.ext.asyncio import create_async_engine
    asyncio_engine = create_async_engine("postgresql+psycopg_async://scott:tiger@localhost/test")

.. seealso::

    :ref:`postgresql_psycopg2` - The SQLAlchemy ``psycopg``
    dialect shares most of its behavior with the ``psycopg2`` dialect.
    Further documentation is available there.

é    )ÚannotationsN)Úcast)ÚTYPE_CHECKINGé   )Úranges)Ú_PGDialect_common_psycopg)Ú"_PGExecutionContext_common_psycopg)ÚINTERVAL)Ú
PGCompiler)ÚPGIdentifierPreparer)Ú	REGCONFIG)ÚJSON)ÚJSONB)ÚJSONPathType)ÚCITEXTé   )Úpool)Úutil)ÚAdaptedConnection)Úsqltypes)Úawait_fallback)Ú
await_only)ÚIterablezsqlalchemy.dialects.postgresqlc                  ó   — e Zd ZdZdS )Ú	_PGStringTN©Ú__name__Ú
__module__Ú__qualname__Úrender_bind_cast© ó    úZ/var/www/piapp/venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/psycopg.pyr   r   U   ó   € € € € € ØÐÐÐr"   r   c                  ó   — e Zd ZdZdS )Ú_PGREGCONFIGTNr   r!   r"   r#   r&   r&   Y   r$   r"   r&   c                  ó   — e Zd ZdZd„ Zd„ ZdS )Ú_PGJSONTc                ó8   — |                       d |j        ¦  «        S ©N)Ú_make_bind_processorÚ_psycopg_Json©ÚselfÚdialects     r#   Úbind_processorz_PGJSON.bind_processor`   s   € Ø×(Ò(¨¨wÔ/DÑEÔEÐEr"   c                ó   — d S r*   r!   ©r.   r/   Úcoltypes      r#   Úresult_processorz_PGJSON.result_processorc   ó   € Øˆtr"   N©r   r   r   r    r0   r4   r!   r"   r#   r(   r(   ]   s;   € € € € € ØÐðFð Fð Fðð ð ð ð r"   r(   c                  ó   — e Zd ZdZd„ Zd„ ZdS )Ú_PGJSONBTc                ó8   — |                       d |j        ¦  «        S r*   )r+   Ú_psycopg_Jsonbr-   s     r#   r0   z_PGJSONB.bind_processorj   s   € Ø×(Ò(¨¨wÔ/EÑFÔFÐFr"   c                ó   — d S r*   r!   r2   s      r#   r4   z_PGJSONB.result_processorm   r5   r"   Nr6   r!   r"   r#   r8   r8   g   s;   € € € € € ØÐðGð Gð Gðð ð ð ð r"   r8   c                  ó   — e Zd ZdZdZdS )Ú_PGJSONIntIndexTypeÚjson_int_indexTN©r   r   r   Ú__visit_name__r    r!   r"   r#   r=   r=   q   ó   € € € € € Ø%€NàÐÐÐr"   r=   c                  ó   — e Zd ZdZdZdS )Ú_PGJSONStrIndexTypeÚjson_str_indexTNr?   r!   r"   r#   rC   rC   w   rA   r"   rC   c                  ó   — e Zd ZdS )Ú_PGJSONPathTypeN©r   r   r   r!   r"   r#   rF   rF   }   ó   € € € € € Ø€Dr"   rF   c                  ó   — e Zd ZdZdS )Ú_PGIntervalTNr   r!   r"   r#   rJ   rJ   �   r$   r"   rJ   c                  ó   — e Zd ZdZdS )Ú_PGTimeStampTNr   r!   r"   r#   rL   rL   …   r$   r"   rL   c                  ó   — e Zd ZdZdS )Ú_PGDateTNr   r!   r"   r#   rN   rN   ‰   r$   r"   rN   c                  ó   — e Zd ZdZdS )Ú_PGTimeTNr   r!   r"   r#   rP   rP   �   r$   r"   rP   c                  ó   — e Zd ZdZdS )Ú
_PGIntegerTNr   r!   r"   r#   rR   rR   ‘   r$   r"   rR   c                  ó   — e Zd ZdZdS )Ú_PGSmallIntegerTNr   r!   r"   r#   rT   rT   •   r$   r"   rT   c                  ó   — e Zd ZdZdS )Ú_PGNullTypeTNr   r!   r"   r#   rV   rV   ™   r$   r"   rV   c                  ó   — e Zd ZdZdS )Ú_PGBigIntegerTNr   r!   r"   r#   rX   rX   �   r$   r"   rX   c                  ó   — e Zd ZdZdS )Ú
_PGBooleanTNr   r!   r"   r#   rZ   rZ   ¡   r$   r"   rZ   c                  ó   — e Zd Zd„ Zd„ ZdS )Ú_PsycopgRangec                óF   ‡— t          t          |¦  «        j        Šˆfd„}|S )Nc                ó€   •— t          | t          j        ¦  «        r" ‰| j        | j        | j        | j        ¦  «        } | S r*   )Ú
isinstancer   ÚRangeÚlowerÚupperÚboundsÚempty)ÚvalueÚpsycopg_Ranges    €r#   Úto_rangez._PsycopgRange.bind_processor.<locals>.to_range©   s@   ø€ Ý˜%¥¤Ñ.Ô.ð Ø%˜Ø”K ¤¨e¬l¸E¼Kñô �ð ˆLr"   )r   ÚPGDialect_psycopgÚ_psycopg_Range)r.   r/   rg   rf   s      @r#   r0   z_PsycopgRange.bind_processor¦   s6   ø€ ÝÕ.°Ñ8Ô8ÔGˆð	ð 	ð 	ð 	ð 	ð ˆr"   c                ó   — d„ }|S )Nc                óv   — | �6t          j        | j        | j        | j        r| j        nd| j         ¬¦  «        } | S )Nú[)©rc   rd   ©r   r`   Ú_lowerÚ_upperÚ_bounds©re   s    r#   rg   z0_PsycopgRange.result_processor.<locals>.to_range³   sG   € ØÐ ÝœØ”LØ”LØ,1¬MÐC˜5œ=˜=¸tØ#œmÐ+ð	ñ ô �ð ˆLr"   r!   ©r.   r/   r3   rg   s       r#   r4   z_PsycopgRange.result_processor²   s   € ð	ð 	ð 	ð ˆr"   N©r   r   r   r0   r4   r!   r"   r#   r\   r\   ¥   s2   € € € € € ð
ð 
ð 
ðð ð ð ð r"   r\   c                  ó   — e Zd Zd„ Zd„ ZdS )Ú_PsycopgMultiRangec                ó    ‡‡‡— t          t          |¦  «        j        Št          t          |¦  «        j        Št	          d ¦  «        Šˆˆˆfd„}|S )Nc                ó‚   •— t          | t          ‰‰f¦  «        r| S  ‰ˆfd„t          d| ¦  «        D ¦   «         ¦  «        S )Nc                óT   •— g | ]$} ‰|j         |j        |j        |j        ¦  «        ‘Œ%S r!   )ra   rb   rc   rd   )Ú.0Úelementrf   s     €r#   ú
<listcomp>zG_PsycopgMultiRange.bind_processor.<locals>.to_range.<locals>.<listcomp>Î   sK   ø€ ð ð ð ð  ð "�MØœØœØœØœñ	ô ðð ð r"   zIterable[ranges.Range])r_   Ústrr   )re   ÚNoneTypeÚpsycopg_Multirangerf   s    €€€r#   rg   z3_PsycopgMultiRange.bind_processor.<locals>.to_rangeÉ   sj   ø€ Ý˜%¥# xÐ1CÐ!DÑEÔEð Ø�à%Ð%ðð ð ð õ $(Ð(@À%Ñ#HÔ#Hðñ ô ñ
ô 
ð 
r"   )r   rh   ri   Ú_psycopg_MultirangeÚtype)r.   r/   rg   r~   r   rf   s      @@@r#   r0   z!_PsycopgMultiRange.bind_processorÁ   si   øøø€ ÝÕ.°Ñ8Ô8ÔGˆÝ!Ý˜wñ
ô 
ä
ð 	õ ˜‘:”:ˆð	ð 	ð 	ð 	ð 	ð 	ð 	ð  ˆr"   c                ó   — d„ }|S )Nc                ó"   — | �d„ | D ¦   «         } | S )Nc                óz   — g | ]8}t          j        |j        |j        |j        r|j        nd |j         ¬¦  «        ‘Œ9S )rl   rm   rn   )rz   Úelems     r#   r|   zI_PsycopgMultiRange.result_processor.<locals>.to_range.<locals>.<listcomp>Þ   s]   € ð ð ð ð õ ”LØœØœØ/3¬|ÐE˜tœ|˜|ÀØ"&¤,Ð.ð	ñ ô ðð ð r"   r!   rr   s    r#   rg   z5_PsycopgMultiRange.result_processor.<locals>.to_rangeÜ   s/   € ØÐ ðð ð !&ðñ ô �ð ˆLr"   r!   rs   s       r#   r4   z#_PsycopgMultiRange.result_processorÛ   s   € ð	ð 	ð 	ð ˆr"   Nrt   r!   r"   r#   rv   rv   À   s2   € € € € € ðð ð ð4ð ð ð ð r"   rv   c                  ó   — e Zd ZdS )ÚPGExecutionContext_psycopgNrG   r!   r"   r#   r‡   r‡   í   rH   r"   r‡   c                  ó   — e Zd ZdS )ÚPGCompiler_psycopgNrG   r!   r"   r#   r‰   r‰   ñ   rH   r"   r‰   c                  ó   — e Zd ZdS )ÚPGIdentifierPreparer_psycopgNrG   r!   r"   r#   r‹   r‹   õ   rH   r"   r‹   c                óR   — t                                d| j        | j        ¦  «         d S )Nz%s: %s)ÚloggerÚinfoÚseverityÚmessage_primary)Ú
diagnostics    r#   Ú_log_noticesr’   ù   s$   € Ý
‡K‚K�˜*Ô-¨zÔ/IÑJÔJÐJÐJÐJr"   c                  ó  ‡ — e Zd ZdZdZdZdZdZeZ	e
ZeZdZdZdZ ej        ej        i ej        e“ee“ee“ee“ej        e“ee“ej        j        e “ej        j!        e"“ej        j#        e$“ej%        e&“e'e&“ej(        e)“ej*        e+“ej,        e-“ej.        e/“ej0        e1“ej2        e3“e4j5        e6e4j7        e8i¥¦  «        Zˆ fd„Z9ˆ fd„Z:d„ Z;ˆ fd	„Z<e=d
„ ¦   «         Z>e=d„ ¦   «         Z?ej@        d„ ¦   «         ZAej@        d„ ¦   «         ZBej@        d„ ¦   «         ZCej@        d„ ¦   «         ZDej@        d„ ¦   «         ZEej@        d„ ¦   «         ZFd„ ZGˆ fd„ZHd„ ZId„ ZJd„ ZKd„ ZLd„ ZMdd„ZN	 dd„ZO	 dd„ZPej@        d„ ¦   «         ZQˆ xZRS ) rh   ÚpsycopgTÚpyformat)r   r   Nc                ó˜  •—  t          ¦   «         j        di |¤Ž | j        �r%t          j        d| j        j        ¦  «        }|r3t          d„ |                     ddd¦  «        D ¦   «         ¦  «        | _        | j        dk     rt          d¦  «        ‚dd	l
m}  || j        j        ¦  «        x| _        }| j        d
u rNdd l}|                     d|j        j        j        ¦  «         |                     d|j        j        j        ¦  «         | j        rddlm}  || j        |¦  «         | j        rddlm}  || j        |¦  «         d S d S d S )Nz(\d+)\.(\d+)(?:\.(\d+))?c              3  ó8   K  — | ]}|®t          |¦  «        V — Œd S r*   )Úint)rz   Úxs     r#   ú	<genexpr>z-PGDialect_psycopg.__init__.<locals>.<genexpr>,  s1   è è € ð -ð -Ø ¸¸•C˜‘F”F¸¸¸¸ð-ð -r"   r   é   r   )r   r   r›   z,psycopg version 3.0.2 or higher is required.r   )ÚAdaptersMapFÚinetÚcidr)Úset_json_loads)Úset_json_dumpsr!   )ÚsuperÚ__init__ÚdbapiÚreÚmatchÚ__version__ÚtupleÚgroupÚpsycopg_versionÚImportErrorÚpsycopg.adaptrœ   ÚadaptersÚ_psycopg_adapters_mapÚ_native_inet_typesÚpsycopg.types.stringÚregister_loaderÚtypesÚstringÚ
TextLoaderÚ_json_deserializerÚpsycopg.types.jsonrŸ   Ú_json_serializerr    )	r.   ÚkwargsÚmrœ   Úadapters_mapr”   rŸ   r    Ú	__class__s	           €r#   r¢   zPGDialect_psycopg.__init__&  sÔ  ø€ Ø�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"àŒ:ñ $	DÝ”Ð4°d´jÔ6LÑMÔMˆAØð Ý',ð -ð -Ø$%§G¢G¨A¨q°!Ñ$4Ô$4ð-ñ -ô -ñ (ô (�Ô$ð Ô# iÒ/Ð/Ý!ØBñô ð ð 2Ð1Ð1Ð1Ð1Ð1à8C¸Ø”
Ô#ñ9ô 9ð ˆDÔ&¨ð Ô&¨%Ð/Ð/Ø+Ð+Ð+Ð+à×,Ò,Ø˜GœMÔ0Ô;ñô ð ð ×,Ò,Ø˜GœMÔ0Ô;ñô ð ð Ô&ð FØ=Ð=Ð=Ð=Ð=Ð=à�˜tÔ6¸ÑEÔEÐEàÔ$ð DØ=Ð=Ð=Ð=Ð=Ð=à�˜tÔ4°lÑCÔCÐCÐCÐCðI$	Dð $	DðBDð Dr"   c                ó˜   •— t          ¦   «                              |¦  «        \  }}| j        r
| j        |d<   | j        �
| j        |d<   ||fS )NÚcontextÚclient_encoding)r¡   Úcreate_connect_argsr­   r½   )r.   ÚurlÚcargsÚcparamsrº   s       €r#   r¾   z%PGDialect_psycopg.create_connect_argsO  sW   ø€ å™œ×4Ò4°SÑ9Ô9‰ˆˆwàÔ%ð 	<Ø!%Ô!;ˆG�IÑØÔÐ+Ø)-Ô)=ˆGÐ%Ñ&Ø�gˆ~Ðr"   c                óN   — ddl m} |                     |j        j        |¦  «        S ©Nr   )ÚTypeInfo)Úpsycopg.typesrÄ   ÚfetchÚ
connectionÚdriver_connection)r.   rÇ   ÚnamerÄ   s       r#   Ú_type_info_fetchz"PGDialect_psycopg._type_info_fetchY  s.   € Ø*Ð*Ð*Ð*Ð*Ð*à�~Š~˜jÔ3ÔEÀtÑLÔLÐLr"   c                ó  •— t          ¦   «                              |¦  «         | j        sd| _        | j        rP|                      |d¦  «        }|d u| _        | j        r,ddlm}  ||| j	        ¦  «          |||j
        ¦  «         d S d S d S )NFÚhstorer   )Úregister_hstore)r¡   Ú
initializeÚinsert_returningÚinsert_executemany_returningÚuse_native_hstorerÊ   Ú_has_native_hstoreÚpsycopg.types.hstorerÍ   r­   rÇ   )r.   rÇ   rŽ   rÍ   rº   s       €r#   rÎ   zPGDialect_psycopg.initialize^  sÄ   ø€ Ý‰Œ×Ò˜:Ñ&Ô&Ð&ð Ô$ð 	6Ø05ˆDÔ-ð
 Ô!ð 	=Ø×(Ò(¨°XÑ>Ô>ˆDØ&*°$Ð&6ˆDÔ#ØÔ&ð =Ø@Ð@Ð@Ð@Ð@Ð@ð  �  dÔ&@ÑAÔAÐAð  �  jÔ&;Ñ<Ô<Ð<Ð<Ð<ð	=ð 	=ð=ð =r"   c                ó   — dd l }|S ©Nr   )r”   )Úclsr”   s     r#   Úimport_dbapizPGDialect_psycopg.import_dbapiv  s   € àˆˆˆàˆr"   c                ó   — t           S r*   )ÚPGDialectAsync_psycopg)rÖ   r¿   s     r#   Úget_async_dialect_clsz'PGDialect_psycopg.get_async_dialect_cls|  s   € å%Ð%r"   c                óˆ   — | j         j        j        | j         j        j        | j         j        j        | j         j        j        dœS )N)zREAD COMMITTEDzREAD UNCOMMITTEDzREPEATABLE READÚSERIALIZABLE)r£   ÚIsolationLevelÚREAD_COMMITTEDÚREAD_UNCOMMITTEDÚREPEATABLE_READrÜ   ©r.   s    r#   Ú_isolation_lookupz#PGDialect_psycopg._isolation_lookup€  s?   € ð #œjÔ7ÔFØ $¤
Ô 9Ô JØ#œzÔ8ÔHØ œJÔ5ÔBð	
ð 
ð 	
r"   c                ó   — ddl m} |j        S ©Nr   )Újson)rÅ   rå   ÚJson©r.   rå   s     r#   r,   zPGDialect_psycopg._psycopg_Json‰  s   € à&Ð&Ð&Ð&Ð&Ð&àŒyÐr"   c                ó   — ddl m} |j        S rä   )rÅ   rå   ÚJsonbrç   s     r#   r:   z PGDialect_psycopg._psycopg_Jsonb�  s   € à&Ð&Ð&Ð&Ð&Ð&àŒzÐr"   c                ó   — ddl m} |S )Nr   )ÚTransactionStatus)Ú
psycopg.pqrë   )r.   rë   s     r#   Ú_psycopg_TransactionStatusz,PGDialect_psycopg._psycopg_TransactionStatus•  s   € à0Ð0Ð0Ð0Ð0Ð0à Ð r"   c                ó   — ddl m} |S )Nr   )r`   )Úpsycopg.types.ranger`   )r.   r`   s     r#   ri   z PGDialect_psycopg._psycopg_Range›  s   € à-Ð-Ð-Ð-Ð-Ð-àˆr"   c                ó   — ddl m} |S )Nr   )Ú
Multirange)Úpsycopg.types.multirangerñ   )r.   rñ   s     r#   r€   z%PGDialect_psycopg._psycopg_Multirange¡  s   € à7Ð7Ð7Ð7Ð7Ð7àÐr"   c                ó"   — ||_         ||_        d S r*   ©Ú
autocommitÚisolation_level©r.   rÇ   rõ   rö   s       r#   Ú_do_isolation_levelz%PGDialect_psycopg._do_isolation_level§  s   € Ø *ˆ
ÔØ%4ˆ
Ô"Ð"Ð"r"   c                óª   •— |j         j        }t          ¦   «                              |¦  «        }|| j        j        k    r|                     ¦   «          |S r*   )rŽ   Útransaction_statusr¡   Úget_isolation_levelrí   ÚIDLEÚrollback)r.   Údbapi_connectionÚstatus_beforere   rº   s       €r#   rû   z%PGDialect_psycopg.get_isolation_level«  sP   ø€ Ø(Ô-Ô@ˆÝ‘”×+Ò+Ð,<Ñ=Ô=ˆð ˜DÔ;Ô@Ò@Ð@Ø×%Ò%Ñ'Ô'Ð'Øˆr"   c                óŒ   — |dk    r|                       |dd ¬¦  «         d S |                       |d| j        |         ¬¦  «         d S )NÚ
AUTOCOMMITTrô   F)rø   râ   )r.   rþ   Úlevels      r#   Úset_isolation_levelz%PGDialect_psycopg.set_isolation_levelµ  su   € Ø�LÒ Ð Ø×$Ò$Ø ¨TÀ4ð %ñ ô ð ð ð ð ×$Ò$Ø Ø Ø $Ô 6°uÔ =ð %ñ ô ð ð ð r"   c                ó   — ||_         d S r*   ©Ú	read_only©r.   rÇ   re   s      r#   Úset_readonlyzPGDialect_psycopg.set_readonlyÁ  s   € Ø$ˆ
ÔÐÐr"   c                ó   — |j         S r*   r  ©r.   rÇ   s     r#   Úget_readonlyzPGDialect_psycopg.get_readonlyÄ  s   € ØÔ#Ð#r"   c                ób   ‡ ‡— d„ }|gŠ‰ j         �ˆ fd„}‰                     |¦  «         ˆfd„}|S )Nc                ó:   — |                       t          ¦  «         d S r*   )Úadd_notice_handlerr’   )Úconns    r#   Únoticesz-PGDialect_psycopg.on_connect.<locals>.noticesÈ  s   € Ø×#Ò#¥LÑ1Ô1Ð1Ð1Ð1r"   c                ó>   •— ‰                      | ‰j        ¦  «         d S r*   )r  rö   )r  r.   s    €r#   Ú
on_connectz0PGDialect_psycopg.on_connect.<locals>.on_connectÏ  s"   ø€ Ø×(Ò(¨¨tÔ/CÑDÔDÐDÐDÐDr"   c                ó(   •— ‰D ]} || ¦  «         Œd S r*   r!   )r  ÚfnÚfnss     €r#   r  z0PGDialect_psycopg.on_connect.<locals>.on_connectÕ  s+   ø€ Øð ð �Ø��4‘”��ðð r"   )rö   Úappend)r.   r  r  r  s   `  @r#   r  zPGDialect_psycopg.on_connectÇ  sx   øø€ ð	2ð 	2ð 	2ð ˆiˆàÔÐ+ðEð Eð Eð Eð Eð �JŠJ�zÑ"Ô"Ð"ð	ð 	ð 	ð 	ð 	ð Ðr"   c                ó^   — t          || j        j        ¦  «        r|�|j        s|j        rdS dS )NTF)r_   r£   ÚErrorÚclosedÚbroken)r.   ÚerÇ   Úcursors       r#   Úis_disconnectzPGDialect_psycopg.is_disconnectÛ  s=   € Ý�a˜œÔ)Ñ*Ô*ð 	¨zÐ/EØÔ ð  JÔ$5ð Ø�tØˆur"   Fc                óX  — |j         j        }|s|j        j        | j        j        k    r|                     ¦   «          |j        }	 |s|                      |d¦  «         | 	                    |¦  «         |s|                      ||¦  «         d S d S # |s|                      ||¦  «         w w xY w)NT)
rÇ   rþ   rŽ   rú   rí   rü   rý   rõ   Ú_do_autocommitÚexecute)r.   rÇ   ÚcommandÚrecoverÚ
dbapi_connÚbefore_autocommits         r#   Ú_do_prepared_twophasez'PGDialect_psycopg._do_prepared_twophaseá  sæ   € ØÔ*Ô;ˆ
àð	"ð ŒÔ1ØÔ.Ô3ò4ð 4ð ×ÒÑ!Ô!Ð!Ø&Ô1Ðð	CØ$ð 6Ø×#Ò# J°Ñ5Ô5Ð5Ø×Ò˜wÑ'Ô'Ð'à$ð CØ×#Ò# JÐ0AÑBÔBÐBÐBÐBðCð CøÐ$ð CØ×#Ò# JÐ0AÑBÔBÐBÐBðCøøøs   Á-B ÂB)c                óz   — |r|                       |d|› d�|¬¦  «         d S |                      |j        ¦  «         d S )NzROLLBACK PREPARED 'ú'©r"  )r%  Údo_rollbackrÇ   ©r.   rÇ   ÚxidÚis_preparedr"  s        r#   Údo_rollback_twophasez&PGDialect_psycopg.do_rollback_twophaseô  se   € ð ð 	4Ø×&Ò&ØÐ8°#Ð8Ð8Ð8À'ð 'ñ ô ð ð ð ð ×Ò˜ZÔ2Ñ3Ô3Ð3Ð3Ð3r"   c                óz   — |r|                       |d|› d�|¬¦  «         d S |                      |j        ¦  «         d S )NzCOMMIT PREPARED 'r'  r(  )r%  Ú	do_commitrÇ   r*  s        r#   Údo_commit_twophasez$PGDialect_psycopg.do_commit_twophaseþ  sc   € ð ð 	2Ø×&Ò&ØÐ6°Ð6Ð6Ð6Àð 'ñ ô ð ð ð ð �NŠN˜:Ô0Ñ1Ô1Ð1Ð1Ð1r"   c                ó   — dS )Nú;r!   rá   s    r#   Ú_dialect_specific_select_onez.PGDialect_psycopg._dialect_specific_select_one  s   € àˆsr"   )F)TF)Sr   r   r   ÚdriverÚsupports_statement_cacheÚsupports_server_side_cursorsÚdefault_paramstyleÚsupports_sane_multi_rowcountr‡   Úexecution_ctx_clsr‰   Ústatement_compilerr‹   Úpreparerr©   rÒ   r­   r   Úupdate_copyr   Úcolspecsr   ÚStringr   r   r&   r   r(   r   r   r8   r   rF   ÚJSONIntIndexTyper=   ÚJSONStrIndexTyperC   ÚIntervalrJ   r
   ÚDaterN   ÚDateTimerL   ÚTimerP   ÚIntegerrR   ÚSmallIntegerrT   Ú
BigIntegerrX   r   ÚAbstractRanger\   ÚAbstractMultiRangerv   r¢   r¾   rÊ   rÎ   Úclassmethodr×   rÚ   Úmemoized_propertyrâ   r,   r:   rí   ri   r€   rø   rû   r  r  r  r  r  r%  r-  r0  r3  Ú__classcell__)rº   s   @r#   rh   rh   ý   s¹  ø€ € € € € Ø€Fà#ÐØ#'Ð Ø#ÐØ#'Ð à2ÐØ+ÐØ+€HØ€OàÐØ ÐàˆtÔØ!Ô*ð	
ØŒO˜Yð	
à�|ð	
ð �'ð	
ð �Fð		
ð
 ŒM˜7ð	
ð �8ð	
ð ŒMÔ&¨ð	
ð ŒMÔ*Ð,?ð	
ð ŒMÔ*Ð,?ð	
ð Ô˜{ð	
ð �kð	
ð ŒM˜7ð	
ð Ô˜|ð	
ð ŒM˜7ð	
ð Ô˜jð	
ð  Ô! ?ð!	
ð" Ô ð#	
ð$ Ô  -ØÔ%Ð'9ð'	
ð 	
ñô €Hð2'Dð 'Dð 'Dð 'Dð 'DðRð ð ð ð ðMð Mð Mð
=ð =ð =ð =ð =ð0 ðð ñ „[ðð
 ð&ð &ñ „[ð&ð 
Ôð
ð 
ñ Ôð
ð 
Ôðð ñ Ôðð
 
Ôðð ñ Ôðð
 
Ôð!ð !ñ Ôð!ð
 
Ôðð ñ Ôðð
 
Ôðð ñ Ôðð
5ð 5ð 5ðð ð ð ð ð
ð 
ð 
ð%ð %ð %ð$ð $ð $ðð ð ð(ð ð ðCð Cð Cð Cð( :?ð4ð 4ð 4ð 4ð :?ð2ð 2ð 2ð 2ð 
Ôðð ñ Ôðð ð ð ð r"   rh   c                  óˆ   — e Zd ZdZdZdd„Zd„ Zed„ ¦   «         Zej	        d„ ¦   «         Zd	„ Z
dd
„Zd„ Zd„ Zd„ Zdd„Zd„ ZdS )ÚAsyncAdapt_psycopg_cursor©Ú_cursorÚawait_Ú_rowsNÚreturnÚNonec                ó0   — || _         || _        g | _        d S r*   rO  )r.   r  rQ  s      r#   r¢   z"AsyncAdapt_psycopg_cursor.__init__  s   € ØˆŒØˆŒØˆŒ
ˆ
ˆ
r"   c                ó,   — t          | j        |¦  «        S r*   )ÚgetattrrP  ©r.   rÉ   s     r#   Ú__getattr__z%AsyncAdapt_psycopg_cursor.__getattr__  s   € Ý�t”| TÑ*Ô*Ð*r"   c                ó   — | j         j        S r*   ©rP  Ú	arraysizerá   s    r#   r\  z#AsyncAdapt_psycopg_cursor.arraysize  s   € àŒ|Ô%Ð%r"   c                ó   — || j         _        d S r*   r[  ©r.   re   s     r#   r\  z#AsyncAdapt_psycopg_cursor.arraysize  s   € à!&ˆŒÔÐÐr"   c                ój   — | j                              ¦   «          | j                             ¦   «          d S r*   )rR  ÚclearrP  Ú_closerá   s    r#   ÚclosezAsyncAdapt_psycopg_cursor.close"  s0   € ØŒ
×ÒÑÔÐàŒ×ÒÑÔÐÐÐr"   c                óT  — |                        | j        j        ||fi |¤Ž¦  «        }| j        j        }|rr|j        | j        j        k    r]|                       | j                             ¦   «         ¦  «        }t          |t          ¦  «        st          |¦  «        | _
        n|| _
        |S r*   )rQ  rP  r   ÚpgresultÚstatusÚ_psycopg_ExecStatusÚ	TUPLES_OKÚfetchallr_   ÚlistrR  )r.   ÚqueryÚparamsÚkwÚresultÚresÚrowss          r#   r   z!AsyncAdapt_psycopg_cursor.execute'  sŸ   € Ø—’Ð1˜Tœ\Ô1°%¸ÐFÐFÀ2ÐFÐFÑGÔGˆàŒlÔ#ˆð ð 	"�3”: Ô!9Ô!CÒCÐCØ—;’;˜tœ|×4Ò4Ñ6Ô6Ñ7Ô7ˆDÝ˜d¥DÑ)Ô)ð "Ý! $™ZœZ�”
�
à!�”
Øˆr"   c                ó^   — |                       | j                             ||¦  «        ¦  «        S r*   )rQ  rP  Úexecutemany)r.   rj  Ú
params_seqs      r#   rq  z%AsyncAdapt_psycopg_cursor.executemany6  s&   € Ø�{Š{˜4œ<×3Ò3°E¸:ÑFÔFÑGÔGÐGr"   c              #  ób   K  — | j         r%| j                              d¦  «        V — | j         °#d S d S rÕ   ©rR  Úpoprá   s    r#   Ú__iter__z"AsyncAdapt_psycopg_cursor.__iter__9  sJ   è è € àŒjð 	$Ø”*—.’. Ñ#Ô#Ð#Ð#Ð#ð Œjð 	$ð 	$ð 	$ð 	$ð 	$r"   c                óH   — | j         r| j                              d¦  «        S d S rÕ   rt  rá   s    r#   Úfetchonez"AsyncAdapt_psycopg_cursor.fetchone>  s%   € ØŒ:ð 	à”:—>’> !Ñ$Ô$Ð$à�4r"   c                óh   — |€| j         j        }| j        d|…         }| j        |d …         | _        |S rÕ   )rP  r\  rR  )r.   ÚsizeÚretvals      r#   Ú	fetchmanyz#AsyncAdapt_psycopg_cursor.fetchmanyE  s8   € Øˆ<Ø”<Ô)ˆDà”˜A˜d˜FÔ#ˆØ”Z   Ô&ˆŒ
Øˆr"   c                ó"   — | j         }g | _         |S r*   )rR  )r.   r{  s     r#   rh  z"AsyncAdapt_psycopg_cursor.fetchallM  s   € Ø”ˆØˆŒ
Øˆr"   ©rS  rT  r*   )r   r   r   Ú	__slots__rf  r¢   rY  Úpropertyr\  Úsetterrb  r   rq  rv  rx  r|  rh  r!   r"   r#   rN  rN    sò   € € € € € Ø.€IàÐðð ð ð ð
+ð +ð +ð ð&ð &ñ „Xð&ð Ôð'ð 'ñ Ôð'ðð ð ð
ð ð ð ðHð Hð Hð$ð $ð $ð
ð ð ðð ð ð ðð ð ð ð r"   rN  c                  ó6   — e Zd Zd	d„Zd„ Zd„ Zd
d„Zd„ Zd„ ZdS )ÚAsyncAdapt_psycopg_ss_cursorNc                óT   — |                        | j        j        ||fi |¤Ž¦  «         | S r*   )rQ  rP  r   )r.   rj  rk  rl  s       r#   r   z$AsyncAdapt_psycopg_ss_cursor.executeT  s3   € Ø�ŠÐ(�D”LÔ(¨°Ð=Ð=¸"Ð=Ð=Ñ>Ô>Ð>Øˆr"   c                ó^   — |                       | j                             ¦   «         ¦  «         d S r*   )rQ  rP  rb  rá   s    r#   rb  z"AsyncAdapt_psycopg_ss_cursor.closeX  s(   € Ø�Š�D”L×&Ò&Ñ(Ô(Ñ)Ô)Ð)Ð)Ð)r"   c                óZ   — |                       | j                             ¦   «         ¦  «        S r*   )rQ  rP  rx  rá   s    r#   rx  z%AsyncAdapt_psycopg_ss_cursor.fetchone[  ó"   € Ø�{Š{˜4œ<×0Ò0Ñ2Ô2Ñ3Ô3Ð3r"   r   c                ó\   — |                       | j                             |¦  «        ¦  «        S r*   )rQ  rP  r|  )r.   rz  s     r#   r|  z&AsyncAdapt_psycopg_ss_cursor.fetchmany^  s$   € Ø�{Š{˜4œ<×1Ò1°$Ñ7Ô7Ñ8Ô8Ð8r"   c                óZ   — |                       | j                             ¦   «         ¦  «        S r*   )rQ  rP  rh  rá   s    r#   rh  z%AsyncAdapt_psycopg_ss_cursor.fetchalla  r‡  r"   c              #  ó´   K  — | j                              ¦   «         }	 	 |                      |                     ¦   «         ¦  «        V — n# t          $ r Y d S w xY wŒ=r*   )rP  Ú	__aiter__rQ  Ú	__anext__ÚStopAsyncIteration)r.   Úiterators     r#   rv  z%AsyncAdapt_psycopg_ss_cursor.__iter__d  sq   è è € Ø”<×)Ò)Ñ+Ô+ˆð	ðØ—k’k (×"4Ò"4Ñ"6Ô"6Ñ7Ô7Ð7Ð7Ð7Ð7øÝ%ð ð ð Ø��ðøøøð	s   ž)A Á
AÁAr*   )r   )	r   r   r   r   rb  rx  r|  rh  rv  r!   r"   r#   rƒ  rƒ  S  sx   € € € € € ðð ð ð ð*ð *ð *ð4ð 4ð 4ð9ð 9ð 9ð 9ð4ð 4ð 4ðð ð ð ð r"   rƒ  c                  ó¤   — e Zd ZdZ ee¦  «        Zdd„Zd„ Zdd„Z	d„ Z
d	„ Zd
„ Zd„ Zed„ ¦   «         Zej        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ ZdS )ÚAsyncAdapt_psycopg_connectionr!   rS  rT  c                ó   — || _         d S r*   ©Ú_connectionr
  s     r#   r¢   z&AsyncAdapt_psycopg_connection.__init__q  s   € Ø%ˆÔÐÐr"   c                ó,   — t          | j        |¦  «        S r*   )rW  r“  rX  s     r#   rY  z)AsyncAdapt_psycopg_connection.__getattr__t  s   € Ý�tÔ'¨Ñ.Ô.Ð.r"   Nc                óz   — |                        | j        j        ||fi |¤Ž¦  «        }t          || j         ¦  «        S r*   )rQ  r“  r   rN  )r.   rj  rk  rl  r  s        r#   r   z%AsyncAdapt_psycopg_connection.executew  s@   € Ø—’Ð5˜TÔ-Ô5°e¸VÐJÐJÀrÐJÐJÑKÔKˆÝ(¨°´Ñ=Ô=Ð=r"   c                óš   —  | j         j        |i |¤Ž}t          |d¦  «        rt          || j        ¦  «        S t          || j        ¦  «        S )NrÉ   )r“  r  Úhasattrrƒ  rQ  rN  )r.   Úargsrl  r  s       r#   r  z$AsyncAdapt_psycopg_connection.cursor{  sS   € Ø(�Ô!Ô(¨$Ð5°"Ð5Ð5ˆÝ�6˜6Ñ"Ô"ð 	BÝ/°¸¼ÑDÔDÐDå,¨V°T´[ÑAÔAÐAr"   c                ó^   — |                       | j                             ¦   «         ¦  «         d S r*   )rQ  r“  Úcommitrá   s    r#   rš  z$AsyncAdapt_psycopg_connection.commit‚  s)   € Ø�Š�DÔ$×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ð.Ð.r"   c                ó^   — |                       | j                             ¦   «         ¦  «         d S r*   )rQ  r“  rý   rá   s    r#   rý   z&AsyncAdapt_psycopg_connection.rollback…  s)   € Ø�Š�DÔ$×-Ò-Ñ/Ô/Ñ0Ô0Ð0Ð0Ð0r"   c                ó^   — |                       | j                             ¦   «         ¦  «         d S r*   )rQ  r“  rb  rá   s    r#   rb  z#AsyncAdapt_psycopg_connection.closeˆ  s)   € Ø�Š�DÔ$×*Ò*Ñ,Ô,Ñ-Ô-Ð-Ð-Ð-r"   c                ó   — | j         j        S r*   )r“  rõ   rá   s    r#   rõ   z(AsyncAdapt_psycopg_connection.autocommit‹  s   € àÔÔ*Ð*r"   c                ó0   — |                       |¦  «         d S r*   ©Úset_autocommitr^  s     r#   rõ   z(AsyncAdapt_psycopg_connection.autocommit�  s   € à×Ò˜EÑ"Ô"Ð"Ð"Ð"r"   c                ó`   — |                       | j                             |¦  «        ¦  «         d S r*   )rQ  r“  r   r^  s     r#   r   z,AsyncAdapt_psycopg_connection.set_autocommit“  ó+   € Ø�Š�DÔ$×3Ò3°EÑ:Ô:Ñ;Ô;Ð;Ð;Ð;r"   c                ó`   — |                       | j                             |¦  «        ¦  «         d S r*   )rQ  r“  r  r^  s     r#   r  z1AsyncAdapt_psycopg_connection.set_isolation_level–  s+   € Ø�Š�DÔ$×8Ò8¸Ñ?Ô?Ñ@Ô@Ð@Ð@Ð@r"   c                ó`   — |                       | j                             |¦  «        ¦  «         d S r*   )rQ  r“  Úset_read_onlyr^  s     r#   r¥  z+AsyncAdapt_psycopg_connection.set_read_only™  s+   € Ø�Š�DÔ$×2Ò2°5Ñ9Ô9Ñ:Ô:Ð:Ð:Ð:r"   c                ó`   — |                       | j                             |¦  «        ¦  «         d S r*   )rQ  r“  Úset_deferrabler^  s     r#   r§  z,AsyncAdapt_psycopg_connection.set_deferrableœ  r¢  r"   r~  r*   )r   r   r   r  Ústaticmethodr   rQ  r¢   rY  r   r  rš  rý   rb  r€  rõ   r�  r   r  r¥  r§  r!   r"   r#   r�  r�  m  s  € € € € € Ø€IØˆ\˜*Ñ%Ô%€Fð&ð &ð &ð &ð/ð /ð /ð>ð >ð >ð >ðBð Bð Bð/ð /ð /ð1ð 1ð 1ð.ð .ð .ð ð+ð +ñ „Xð+ð Ôð#ð #ñ Ôð#ð<ð <ð <ðAð Að Að;ð ;ð ;ð<ð <ð <ð <ð <r"   r�  c                  ó(   — e Zd ZdZ ee¦  «        ZdS )Ú%AsyncAdaptFallback_psycopg_connectionr!   N)r   r   r   r  r¨  r   rQ  r!   r"   r#   rª  rª     s"   € € € € € Ø€IØˆ\˜.Ñ)Ô)€F€F€Fr"   rª  c                  ó   — e Zd Zdd„Zd„ ZdS )ÚPsycopgAdaptDBAPIrS  rT  c                ó|   — || _         | j         j                             ¦   «         D ]\  }}|dk    r
|| j        |<   Œd S )NÚconnect)r”   Ú__dict__Úitems)r.   r”   ÚkÚvs       r#   r¢   zPsycopgAdaptDBAPI.__init__¦  sM   € ØˆŒà”LÔ)×/Ò/Ñ1Ô1ð 	%ð 	%‰DˆAˆqØ�IŠ~ˆ~Ø#$�”˜aÑ øð	%ð 	%r"   c           	     ó(  — |                      dd¦  «        }|                      d| j        j        j        ¦  «        }t	          j        |¦  «        r"t          t           ||i |¤Ž¦  «        ¦  «        S t          t           ||i |¤Ž¦  «        ¦  «        S )NÚasync_fallbackFÚasync_creator_fn)
ru  r”   ÚAsyncConnectionr®  r   Úasboolrª  r   r�  r   )r.   Úargrl  r´  Ú
creator_fns        r#   r®  zPsycopgAdaptDBAPI.connect­  s¤   € ØŸšÐ 0°%Ñ8Ô8ˆØ—V’VØ ¤Ô <Ô Dñ
ô 
ˆ
õ Œ;�~Ñ&Ô&ð 	Ý8Ý˜z˜z¨3Ð5°"Ð5Ð5Ñ6Ô6ñô ð õ 1Ý˜:˜: sÐ1¨bÐ1Ð1Ñ2Ô2ñô ð r"   Nr~  )r   r   r   r¢   r®  r!   r"   r#   r¬  r¬  ¥  s7   € € € € € ð%ð %ð %ð %ðð ð ð ð r"   r¬  c                  óf   — e Zd ZdZdZed„ ¦   «         Zed„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd	„ Zd
S )rÙ   Tc                óL   — dd l }ddlm} |t          _        t          |¦  «        S )Nr   )Ú
ExecStatus)r”   rì   r¼  rN  rf  r¬  )rÖ   r”   r¼  s      r#   r×   z#PGDialectAsync_psycopg.import_dbapiÀ  s4   € àˆˆˆØ)Ð)Ð)Ð)Ð)Ð)à8BÕ!Ô5å  Ñ)Ô)Ð)r"   c                ó�   — |j                              dd¦  «        }t          j        |¦  «        rt          j        S t          j        S )Nr´  F)rj  Úgetr   r·  r   ÚFallbackAsyncAdaptedQueuePoolÚAsyncAdaptedQueuePool)rÖ   r¿   r´  s      r#   Úget_pool_classz%PGDialectAsync_psycopg.get_pool_classÉ  s<   € àœŸšÐ'7¸Ñ?Ô?ˆåŒ;�~Ñ&Ô&ð 	.ÝÔ5Ð5åÔ-Ð-r"   c                óx   — ddl m} |j        }|                     |                     |j        |¦  «        ¦  «        S rÃ   )rÅ   rÄ   rÇ   rQ  rÆ   rÈ   )r.   rÇ   rÉ   rÄ   Úadapteds        r#   rÊ   z'PGDialectAsync_psycopg._type_info_fetchÒ  s?   € Ø*Ð*Ð*Ð*Ð*Ð*àÔ'ˆØ�~Š~˜hŸnšn¨WÔ-FÈÑMÔMÑNÔNÐNr"   c                óZ   — |                      |¦  «         |                     |¦  «         d S r*   )r   r  r÷   s       r#   rø   z*PGDialectAsync_psycopg._do_isolation_levelØ  s0   € Ø×!Ò! *Ñ-Ô-Ð-Ø×&Ò& Ñ7Ô7Ð7Ð7Ð7r"   c                ó0   — |                      |¦  «         d S r*   rŸ  r  s      r#   r  z%PGDialectAsync_psycopg._do_autocommitÜ  ó   € Ø×!Ò! %Ñ(Ô(Ð(Ð(Ð(r"   c                ó0   — |                      |¦  «         d S r*   )r¥  r  s      r#   r  z#PGDialectAsync_psycopg.set_readonlyß  s   € Ø× Ò  Ñ'Ô'Ð'Ð'Ð'r"   c                ó0   — |                      |¦  «         d S r*   )r§  r  s      r#   r§  z%PGDialectAsync_psycopg.set_deferrableâ  rÆ  r"   c                ó   — |j         S r*   r’  r
  s     r#   Úget_driver_connectionz,PGDialectAsync_psycopg.get_driver_connectionå  s   € ØÔ%Ð%r"   N)r   r   r   Úis_asyncr5  rJ  r×   rÁ  rÊ   rø   r  r  r§  rÊ  r!   r"   r#   rÙ   rÙ   ¼  s°   € € € € € Ø€HØ#Ðàð*ð *ñ „[ð*ð ð.ð .ñ „[ð.ðOð Oð Oð8ð 8ð 8ð)ð )ð )ð(ð (ð (ð)ð )ð )ð&ð &ð &ð &ð &r"   rÙ   )PÚ__doc__Ú
__future__r   Úloggingr¤   Útypingr   r   Ú r   Ú_psycopg_commonr   r	   Úbaser
   r   r   r   rå   r   r   r   r±   r   r   r   Úenginer   Úsqlr   Úutil.concurrencyr   r   r   Ú	getLoggerr�   r>  r   r&   r(   r8   r?  r=   r@  rC   rF   rJ   rC  rL   rB  rN   rD  rP   rE  rR   rF  rT   ÚNullTyperV   rG  rX   ÚBooleanrZ   ÚAbstractRangeImplr\   ÚAbstractMultiRangeImplrv   r‡   r‰   r‹   r’   rh   rN  rƒ  r�  rª  r¬  rÙ   r/   Údialect_asyncr!   r"   r#   ú<module>rÜ     s³  ðð,ð ,ðZ #Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .Ø *Ð *Ð *Ð *Ð *Ð *àð  ØÐÐÐÐÐà	ˆÔ	Ð;Ñ	<Ô	<€ðð ð ð ð �”ñ ô ð ðð ð ð ð �9ñ ô ð ðð ð ð ð ˆdñ ô ð ðð ð ð ð ˆuñ ô ð ðð ð ð ð ˜(œ-Ô8ñ ô ð ðð ð ð ð ˜(œ-Ô8ñ ô ð ð	ð 	ð 	ð 	ð 	�lñ 	ô 	ð 	ðð ð ð ð �(ñ ô ð ðð ð ð ð �8Ô$ñ ô ð ðð ð ð ð ˆhŒmñ ô ð ðð ð ð ð ˆhŒmñ ô ð ðð ð ð ð �Ô!ñ ô ð ðð ð ð ð �hÔ+ñ ô ð ðð ð ð ð �(Ô#ñ ô ð ðð ð ð ð �HÔ'ñ ô ð ðð ð ð ð �Ô!ñ ô ð ðð ð ð ð �FÔ,ñ ô ð ð6*ð *ð *ð *ð *˜Ô6ñ *ô *ð *ðZ	ð 	ð 	ð 	ð 	Ð!Cñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	˜ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð#7ñ 	ô 	ð 	ðKð Kð KðMð Mð Mð Mð MÐ1ñ Mô Mð Mð`Cð Cð Cð Cð Cñ Cô Cð CðLð ð ð ð Ð#<ñ ô ð ð40<ð 0<ð 0<ð 0<ð 0<Ð$5ñ 0<ô 0<ð 0<ðf*ð *ð *ð *ð *Ð,Iñ *ô *ð *ð
ð ð ð ð ñ ô ð ð.*&ð *&ð *&ð *&ð *&Ð.ñ *&ô *&ð *&ðZ €Ø&€€€r"   