Ë
    é#0hj  ã                   óP   — d Z ddlmZmZmZmZmZ dadad	d„Z	d„ Z
d	d„Zd	d„Zd„ Zy)
z>Implementation of the ipaddres-based network types adaptation
é    )Únew_typeÚnew_array_typeÚregister_typeÚregister_adapterÚQuotedStringNc                 ó   — ddl a t        €
t        «       at        D ]  }t        || «       Œ t         j                  t         j
                  t         j                  t         j                  fD ]  }t        |t        «       Œ y)a  
    Register conversion support between `ipaddress` objects and `network types`__.

    :param conn_or_curs: the scope where to register the type casters.
        If `!None` register them globally.

    After the function is called, PostgreSQL :sql:`inet` values will be
    converted into `~ipaddress.IPv4Interface` or `~ipaddress.IPv6Interface`
    objects, :sql:`cidr` values into into `~ipaddress.IPv4Network` or
    `~ipaddress.IPv6Network`.

    .. __: https://www.postgresql.org/docs/current/static/datatype-net-types.html
    r   N)
Ú	ipaddressÚ_castersÚ_make_castersr   ÚIPv4InterfaceÚIPv6InterfaceÚIPv4NetworkÚIPv6Networkr   Úadapt_ipaddress)Úconn_or_cursÚcÚts      úQ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/psycopg2/_ipaddress.pyÚregister_ipaddressr   %   sn   € ó ô ÐÜ “?ˆäò 'ˆÜ�a˜Õ&ð'ô ×%Ñ%¤y×'>Ñ'>Ü×#Ñ#¤Y×%:Ñ%:ð<ò -ˆä˜œOÕ,ñ-ó    c                  ó†   — t        ddt        «      } t        dd| «      }t        ddt        «      }t        dd|«      }| |||gS )	N)ie  ÚINET)i  zINET[])iŠ  ÚCIDR)i‹  zCIDR[])r   Úcast_interfacer   Úcast_network)ÚinetÚainetÚcidrÚacidrs       r   r   r   B   sI   € Ü�F˜F¤NÓ3€DÜ˜7 H¨dÓ3€Eä�F˜F¤LÓ1€DÜ˜6 8¨TÓ2€Eà�%˜˜uÐ%Ð%r   c                 óD   — | €y t         j                  t        | «      «      S ©N)r	   Úip_interfaceÚstr©ÚsÚcurs     r   r   r   L   s   € Ø€yØä×!Ñ!¤# a£&Ó)Ð)r   c                 óD   — | €y t         j                  t        | «      «      S r!   )r	   Ú
ip_networkr#   r$   s     r   r   r   S   s   € Ø€yØÜ×Ñ¤ A£Ó'Ð'r   c                 ó*   — t        t        | «      «      S r!   )r   r#   )Úobjs    r   r   r   Y   s   € Üœ˜C›Ó!Ð!r   r!   )Ú__doc__Úpsycopg2.extensionsr   r   r   r   r   r	   r
   r   r   r   r   r   © r   r   ú<module>r.      s=   ðñ÷4Mõ Mð €	ð €ó-ò:&ó*ó(ó"r   