§
    @iaº`  ã                   ó$  — d dl Z 	 d dlmZ n# e$ r	 d dlmZ Y nw xY wd dlZd dlmZ d dlm	Z	m
Z
mZmZ dZ e j        d¦  «        Zd dlmZmZmZmZmZ d dlmZ  G d	„ d
¦  «        Z G d„ d¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )é    N)ÚRLock)Úprocess_introspection_data)ÚDBusExceptionÚIntrospectionParserExceptionÚMissingErrorHandlerExceptionÚMissingReplyHandlerExceptionÚrestructuredtextzdbus.proxies)ÚBUS_DAEMON_IFACEÚBUS_DAEMON_NAMEÚBUS_DAEMON_PATHÚINTROSPECTABLE_IFACEÚ
LOCAL_PATH)Úis_py2c                   ó$   — e Zd ZdZd„ Zd„ Zd„ ZdS )Ú_DeferredMethodzXA proxy method which will only get called once we have its
    introspection reply.
    c                 óH   — || _         |j        | _        || _        || _        d S ©N)Ú_proxy_methodÚ_method_nameÚ_appendÚ_block)ÚselfÚproxy_methodÚappendÚblocks       ú./usr/lib/python3/dist-packages/dbus/proxies.pyÚ__init__z_DeferredMethod.__init__8   s'   € Ø)ˆÔà(Ô5ˆÔØˆŒØˆŒˆˆó    c                 ó´   — d|v s|                      dd¦  «        r|                      | j        ||¦  «         d S |                      ¦   «           | j        |i |¤ŽS )NÚreply_handlerÚignore_replyF)Úgetr   r   r   ©r   ÚargsÚkeywordss      r   Ú__call__z_DeferredMethod.__call__?   sj   € Ø˜xÐ'Ð'Ø�LŠL˜¨Ñ/Ô/ð (ð �LŠL˜Ô+¨T°8Ñ<Ô<Ð<Ø�4ð �KŠK‰MŒMˆMØ%�4Ô% tÐ8¨xÐ8Ð8Ð8r   c                 ó>   — |                       | j        ||¦  «         d S r   )r   r   r#   s      r   Ú
call_asyncz_DeferredMethod.call_asyncJ   s!   € Ø�Š�TÔ'¨¨xÑ8Ô8Ð8Ð8Ð8r   N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r&   r(   © r   r   r   r   4   sK   € € € € € ðð ðð ð ð	9ð 	9ð 	9ð9ð 9ð 9ð 9ð 9r   r   c                   ó$   — e Zd ZdZd„ Zd„ Zd„ ZdS )Ú_ProxyMethodz°A proxy method.

    Typically a member of a ProxyObject. Calls to the
    method produce messages that travel over the Bus and are routed
    to a specific named Service.
    c                 óò   — |t           k    rt          dt           z  ¦  «        ‚|| _        || _        || _        || _        t          j        |¦  «         || _        |�t          j	        |¦  «         || _
        d S )Nz1Methods may not be called on the reserved path %s)r   r   Ú_proxyÚ_connectionÚ_named_serviceÚ_object_pathÚ_dbus_bindingsÚvalidate_member_namer   Úvalidate_interface_nameÚ_dbus_interface)r   ÚproxyÚ
connectionÚbus_nameÚobject_pathÚmethod_nameÚifaces          r   r   z_ProxyMethod.__init__U   s‹   € à�*Ò$Ð$Ýð !*Ý,6ñ!7ñ 8ô 8ð 8ð  %ˆŒØ)ˆÔØ'ˆÔØ*ˆÔåÔ+¨KÑ8Ô8Ð8à*ˆÔàÐÝÔ2°5Ñ9Ô9Ð9Ø$ˆÔÐÐr   c           
      óp  — |                      dd ¦  «        }|                      dd ¦  «        }|                      dd¦  «        }|                      dd ¦  «        }|€|�1|€t          ¦   «         ‚|€t          ¦   «         ‚|rt          d¦  «        ‚|                      d| j        ¦  «        }|€7|€| j        }n|dz   | j        z   }| j        j                             |d ¦  «        }|s|�+ | j	        j
        | j        | j        || j        ||||fi |¤Ž d S  | j	        j        | j        | j        || j        ||fi |¤ŽS )	Nr    Úerror_handlerr!   FÚ	signaturez6ignore_reply and reply_handler cannot be used togetherÚdbus_interfaceú.)Úpopr   r   Ú	TypeErrorr9   r   r2   Ú_introspect_method_mapr"   r3   r(   r4   r5   Úcall_blocking)	r   r$   r%   r    rA   r!   rB   rC   Úkeys	            r   r&   z_ProxyMethod.__call__i   sœ  € Ø Ÿš _°dÑ;Ô;ˆØ Ÿš _°dÑ;Ô;ˆØ—|’| N°EÑ:Ô:ˆØ—L’L ¨dÑ3Ô3ˆ	àÐ$¨Ð(AØÐ$Ý2Ñ4Ô4Ð4ØÐ&Ý2Ñ4Ô4Ð4Øð 1Ýð !0ñ 1ô 1ð 1ð "ŸšÐ&6¸Ô8LÑMÔMˆàÐØÐ%ØÔ'��à$ sÑ*¨TÔ->Ñ>�àœÔ:×>Ò>¸sÀDÑIÔIˆIàð 	>˜=Ð4Ø'ˆDÔÔ'¨Ô(;Ø(,Ô(9Ø(6Ø(,Ô(9Ø(1Ø(,Ø(5Ø(5ð4ð 4ð +3ð4ð 4ð 4ð 4ð 4ð 2�4Ô#Ô1°$Ô2EØ26Ô2CØ2@Ø26Ô2CØ2;Ø26ð>ð >ð 5=ð>ð >ð >r   c           
      ó„  — |                      dd ¦  «        }|                      dd ¦  «        }|                      dd ¦  «        }|                      d| j        ¦  «        }|€7|r|dz   | j        z   }n| j        }| j        j                             |d ¦  «        } | j        j        | j        | j	        || j        ||||fi |¤Ž d S )Nr    rA   rB   rC   rD   )
rE   r9   r   r2   rG   r"   r3   r(   r4   r5   )r   r$   r%   r    rA   rB   rC   rI   s           r   r(   z_ProxyMethod.call_async•   sé   € Ø Ÿš _°dÑ;Ô;ˆØ Ÿš _°dÑ;Ô;ˆØ—L’L ¨dÑ3Ô3ˆ	à!ŸšÐ&6¸Ô8LÑMÔMˆàÐØð (Ø$ sÑ*¨TÔ->Ñ>��àÔ'�ØœÔ:×>Ò>¸sÀDÑIÔIˆIà#ˆÔÔ# DÔ$7Ø$(Ô$5Ø$2Ø$(Ô$5Ø$-Ø$(Ø$1Ø$1ð	0ð 	0ð '/ð	0ð 	0ð 	0ð 	0ð 	0r   Nr)   r.   r   r   r0   r0   N   sL   € € € € € ðð ð%ð %ð %ð(*>ð *>ð *>ðX0ð 0ð 0ð 0ð 0r   r0   c                   óÐ   — e Zd ZdZeZeZdZdZ	dZ
	 	 dd„Z ed	„ ddd
¦  «        Z ed„ ddd¦  «        Z ed„ ddd¦  «        Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ ZeZdS )ÚProxyObjectz£A proxy to the remote Object.

    A ProxyObject is provided by the Bus. ProxyObjects
    have member functions, and can be called like normal Python objects.
    r   é   é   NTFc                 óR  — |                      dd¦  «        }|�,|�t          d¦  «        ‚|}ddlm}  |dt          d¬¦  «         |                      d	d¦  «        }	|	�,|�t          d
¦  «        ‚|	}ddlm}  |dt          d¬¦  «         |r7t          dd                     |                     ¦   «         ¦  «        z  ¦  «        ‚|r|                     ¦   «          || _        |�t          j
        |¦  «         |x| _        | _        t          j        |¦  «         || _        |s|                     |¦  «        | _        d| _        g | _        i | _        t'          ¦   «         | _        |r| j        t*          k    r| j        | _        dS | j        | _        |                      ¦   «         | _        dS )aø  Initialize the proxy object.

        :Parameters:
            `conn` : `dbus.connection.Connection`
                The bus or connection on which to find this object.
                The keyword argument `bus` is a deprecated alias for this.
            `bus_name` : str
                A bus name for the application owning the object, to be used
                as the destination for method calls and the sender for
                signal matches. The keyword argument ``named_service`` is a
                deprecated alias for this.
            `object_path` : str
                The object path at which the application exports the object
            `introspect` : bool
                If true (default), attempt to introspect the remote
                object to find out supported methods and their signatures
            `follow_name_owner_changes` : bool
                If true (default is false) and the `bus_name` is a
                well-known name, follow ownership changes for that name
        ÚbusNz%conn and bus cannot both be specifiedr   )Úwarnz`Passing the bus parameter to ProxyObject by name is deprecated: please use positional parametersrN   )Ú
stacklevelÚnamed_servicez3bus_name and named_service cannot both be specifiedzjPassing the named_service parameter to ProxyObject by name is deprecated: please use positional parametersz>ProxyObject.__init__ does not take these keyword arguments: %sz, )rE   rF   ÚwarningsrQ   ÚDeprecationWarningÚjoinÚkeysÚ_require_main_loopÚ_busr6   Úvalidate_bus_namer4   Ú_requested_bus_nameÚvalidate_object_pathÚ__dbus_object_path__Úactivate_name_ownerÚ_pending_introspectÚ_pending_introspect_queuerG   r   Ú_introspect_lockr   Ú INTROSPECT_STATE_DONT_INTROSPECTÚ_introspect_stateÚ'INTROSPECT_STATE_INTROSPECT_IN_PROGRESSÚ_Introspect)
r   Úconnr<   r=   Ú
introspectÚfollow_name_owner_changesÚkwargsrP   rQ   rS   s
             r   r   zProxyObject.__init__»   s  € ð, �jŠj˜ Ñ%Ô%ˆØˆ?ØÐÝÐ GÑHÔHÐHØˆDØ%Ð%Ð%Ð%Ð%Ð%ØˆDð @å#°ð3ñ 3ô 3ð 3ð Ÿ
š
 ?°DÑ9Ô9ˆØÐ$ØÐ#Ýð !,ñ -ô -ð -à$ˆHØ%Ð%Ð%Ð%Ð%Ð%ØˆDð Cå#°ð3ñ 3ô 3ð 3ð ð 	8Ýð 4à"Ÿiši¨¯ª©¬Ñ6Ô6ñ7ñ 8ô 8ð 8ð %ð 	&ð ×#Ò#Ñ%Ô%Ð%àˆŒ	àÐÝÔ,¨XÑ6Ô6Ð6ð :BÐAˆÔ˜dÔ6åÔ+¨KÑ8Ô8Ð8Ø$/ˆÔ!à(ð 	EØ"&×":Ò":¸8Ñ"DÔ"DˆDÔð $(ˆÔ à)+ˆÔ&à&(ˆÔ#õ !&¡¤ˆÔàð 	:˜TÔ6½*ÒDÐDØ%)Ô%JˆDÔ"Ð"Ð"à%)Ô%QˆDÔ"à'+×'7Ò'7Ñ'9Ô'9ˆDÔ$Ð$Ð$r   c                 ó   — | j         S r   )r4   ©r   s    r   ú<lambda>zProxyObject.<lambda>  s	   €  TÔ%8€ r   aè  The bus name to which this proxy is bound. (Read-only,
            may change.)

            If the proxy was instantiated using a unique name, this property
            is that unique name.

            If the proxy was instantiated with a well-known name and with
            ``follow_name_owner_changes`` set false (the default), this
            property is the unique name of the connection that owned that
            well-known name when the proxy was instantiated, which might
            not actually own the requested well-known name any more.

            If the proxy was instantiated with a well-known name and with
            ``follow_name_owner_changes`` set true, this property is that
            well-known name.
            c                 ó   — | j         S r   )r[   rk   s    r   rl   zProxyObject.<lambda>   s	   € ¨tÔ/G€ r   z[The bus name which was requested when this proxy was
            instantiated.
            c                 ó   — | j         S r   )r]   rk   s    r   rl   zProxyObject.<lambda>&  s	   € ¨Ô(A€ r   zThe object-path of this proxy.c                 óF   —  | j         j        |f||| j        | j        dœ|¤ŽS )ax  Arrange for the given function to be called when the given signal
        is received.

        :Parameters:
            `signal_name` : str
                The name of the signal
            `handler_function` : callable
                A function to be called when the signal is emitted by
                the remote object. Its positional arguments will be the
                arguments of the signal; optionally, it may be given
                keyword arguments as described below.
            `dbus_interface` : str
                Optional interface with which to qualify the signal name.
                If None (the default) the handler will be called whenever a
                signal of the given member name is received, whatever
                its interface.
        :Keywords:
            `utf8_strings` : bool
                If True, the handler function will receive any string
                arguments as dbus.UTF8String objects (a subclass of str
                guaranteed to be UTF-8). If False (default) it will receive
                any string arguments as dbus.String objects (a subclass of
                unicode).
            `byte_arrays` : bool
                If True, the handler function will receive any byte-array
                arguments as dbus.ByteArray objects (a subclass of str).
                If False (default) it will receive any byte-array
                arguments as a dbus.Array of dbus.Byte (subclasses of:
                a list of ints).
            `sender_keyword` : str
                If not None (the default), the handler function will receive
                the unique name of the sending endpoint as a keyword
                argument with this name
            `destination_keyword` : str
                If not None (the default), the handler function will receive
                the bus name of the destination (or None if the signal is a
                broadcast, as is usual) as a keyword argument with this name.
            `interface_keyword` : str
                If not None (the default), the handler function will receive
                the signal interface as a keyword argument with this name.
            `member_keyword` : str
                If not None (the default), the handler function will receive
                the signal name as a keyword argument with this name.
            `path_keyword` : str
                If not None (the default), the handler function will receive
                the object-path of the sending object as a keyword argument
                with this name
            `message_keyword` : str
                If not None (the default), the handler function will receive
                the `dbus.lowlevel.SignalMessage` as a keyword argument with
                this name.
            `arg...` : unicode or UTF-8 str
                If there are additional keyword parameters of the form
                ``arg``\ *n*, match only signals where the *n*\ th argument
                is the value given for that keyword parameter. As of this time
                only string arguments can be matched (in particular,
                object paths and signatures can't).
        )Úsignal_namerC   r<   Úpath)rY   Úadd_signal_receiverr4   r]   ©r   rp   Úhandler_functionrC   r%   s        r   Úconnect_to_signalzProxyObject.connect_to_signal2  sG   € ðx 	&ˆŒ	Ô%Ð&6ð 	2Ø2=Ø5CØ/3Ô/BØ+/Ô+Dð		2ð 	2ð
 )1ð	2ð 	2ð	2r   c           
      óp   — i } | j         j        | j        | j        t          ddd| j        | j        fddi|¤ŽS )NÚ
IntrospectÚ r.   Úrequire_main_loopF)rY   r(   r4   r]   r   Ú_introspect_reply_handlerÚ_introspect_error_handler)r   ri   s     r   re   zProxyObject._Introspectu  sa   € ØˆØ#ˆtŒyÔ# DÔ$7Ø$(Ô$=Ý$8¸,ÈÈBØ$(Ô$BØ$(Ô$Bð	Gð Gð
 7<ðGð
 @FðGð Gð 	Gr   c                 ó@   — | j         D ]\  }}} ||i |¤Ž Œg | _         d S r   )r`   )r   r   r$   r%   s       r   Ú_introspect_execute_queuez%ProxyObject._introspect_execute_queue~  sC   € ð /3Ô.Lð 	,ð 	,Ñ*ˆ\˜4 ØˆL˜$Ð+ (Ð+Ð+Ð+Ð+Ø)+ˆÔ&Ð&Ð&r   c                 ó®  — | j                              ¦   «          	 	 t          |¦  «        | _        nF# t          $ r9}|                      |¦  «         Y d }~| j                              ¦   «          d S d }~ww xY w| j        | _        d | _	        |  
                    ¦   «          | j                              ¦   «          d S # | j                              ¦   «          w xY wr   )ra   Úacquirer   rG   r   r{   ÚreleaseÚ INTROSPECT_STATE_INTROSPECT_DONErc   r_   r}   )r   ÚdataÚes      r   rz   z%ProxyObject._introspect_reply_handler†  sê   € ØÔ×%Ò%Ñ'Ô'Ð'ð	,ðÝ.HÈÑ.NÔ.N�Ô+Ð+øÝ/ð ð ð Ø×.Ò.¨qÑ1Ô1Ð1Ø���ð Ô!×)Ò)Ñ+Ô+Ð+Ð+Ð+øøøøðøøøð &*Ô%JˆDÔ"Ø'+ˆDÔ$Ø×*Ò*Ñ,Ô,Ð,àÔ!×)Ò)Ñ+Ô+Ð+Ð+Ð+øˆDÔ!×)Ò)Ñ+Ô+Ð+Ð+øøøs+   œ1 °B9 ±
A4»A/ÁB9 Á/A4Á4*B9 Â9Cc                 óÊ  — t          j        ¦   «          t                               d| j        | j        |j        j        |j        j        |¦  «         | j	         
                    ¦   «          	 t                               d¦  «         | j        | _        d | _        |                      ¦   «          | j	                             ¦   «          d S # | j	                             ¦   «          w xY w)Nz$Introspect error on %s:%s: %s.%s: %sz'Executing introspect queue due to error)ÚloggingÚbasicConfigÚ_loggerÚerrorr4   r]   Ú	__class__r+   r*   ra   r   Údebugrb   rc   r_   r}   r€   )r   rˆ   s     r   r{   z%ProxyObject._introspect_error_handler•  sÑ   € ÝÔÑÔÐÝ�ŠÐ<ØÔ)¨4Ô+DØ”oÔ0°%´/Ô2JØñ	ô 	ð 	ð 	Ô×%Ò%Ñ'Ô'Ð'ð	,Ý�MŠMÐCÑDÔDÐDØ%)Ô%JˆDÔ"Ø'+ˆDÔ$Ø×*Ò*Ñ,Ô,Ð,àÔ!×)Ò)Ñ+Ô+Ð+Ð+Ð+øˆDÔ!×)Ò)Ñ+Ô+Ð+Ð+øøøs   Á+AC ÃC"c                 óè   — | j                              ¦   «          	 | j        �| j                             ¦   «          | j                              ¦   «          d S # | j                              ¦   «          w xY wr   )ra   r   r_   r   r€   rk   s    r   Ú_introspect_blockzProxyObject._introspect_block¤  sr   € ØÔ×%Ò%Ñ'Ô'Ð'ð	,ØÔ'Ð3ØÔ(×.Ò.Ñ0Ô0Ð0ð Ô!×)Ò)Ñ+Ô+Ð+Ð+Ð+øˆDÔ!×)Ò)Ñ+Ô+Ð+Ð+øøøs   › A ÁA1c                 ó  — | j                              ¦   «          	 | j        | j        k    r| j                             |||f¦  «         n ||i |¤Ž | j                              ¦   «          d S # | j                              ¦   «          w xY wr   )ra   r   rc   rd   r`   r   r€   )r   Úcallbackr$   ri   s       r   Ú_introspect_add_to_queuez$ProxyObject._introspect_add_to_queue®  s›   € ØÔ×%Ò%Ñ'Ô'Ð'ð	,ØÔ%¨Ô)UÒUÐUØÔ.×5Ò5°xÀÀvÐ6NÑOÔOÐOÐOð �˜$Ð) &Ð)Ð)Ð)àÔ!×)Ò)Ñ+Ô+Ð+Ð+Ð+øˆDÔ!×)Ò)Ñ+Ô+Ð+Ð+øøøs   ›6A, Á,Bc                 óž   — |                      d¦  «        r$|                     d¦  «        rt          |¦  «        ‚|                      |¦  «        S ©NÚ__)Ú
startswithÚendswithÚAttributeErrorÚget_dbus_method©r   Úmembers     r   Ú__getattr__zProxyObject.__getattr__º  sM   € Ø×Ò˜TÑ"Ô"ð 	0 v§¢°tÑ'<Ô'<ð 	0Ý  Ñ(Ô(Ð(à×'Ò'¨Ñ/Ô/Ð/r   c                 óº   — |                       | | j        | j        | j        ||¦  «        }| j        | j        k    r!|                      || j        | j        ¦  «        }|S )a,  Return a proxy method representing the given D-Bus method. The
        returned proxy method can be called in the usual way. For instance, ::

            proxy.get_dbus_method("Foo", dbus_interface='com.example.Bar')(123)

        is equivalent to::

            proxy.Foo(123, dbus_interface='com.example.Bar')

        or even::

            getattr(proxy, "Foo")(123, dbus_interface='com.example.Bar')

        However, using `get_dbus_method` is the only way to call D-Bus
        methods with certain awkward names - if the author of a service
        implements a method called ``connect_to_signal`` or even
        ``__getattr__``, you'll need to use `get_dbus_method` to call them.

        For services which follow the D-Bus convention of CamelCaseMethodNames
        this won't be a problem.
        )	ÚProxyMethodClassrY   r4   r]   rc   rd   ÚDeferredMethodClassr�   rŒ   )r   r˜   rC   Úrets       r   r–   zProxyObject.get_dbus_methodÀ  sn   € ð. ×#Ò# D¨$¬)Ø$(Ô$7Ø$(Ô$=¸vØ$2ñ4ô 4ˆð Ô! TÔ%QÒQÐQØ×*Ò*¨3°Ô0MØ+/Ô+AñCô CˆCð ˆ
r   c                 óL   — d| j         | j        | j        t          | ¦  «        fz  S )Nz&<ProxyObject wrapping %s %s %s at %#x>)rY   r4   r]   Úidrk   s    r   Ú__repr__zProxyObject.__repr__æ  s.   € Ø7ØŒI�tÔ*¨DÔ,EÅrÈ$ÁxÄxð9Qñ Qð 	Qr   )NNNTFr   )r*   r+   r,   r-   r0   r›   r   rœ   rb   rd   r�   r   Úpropertyr<   Úrequested_bus_namer=   ru   re   r}   rz   r{   rŒ   r�   r™   r–   r    Ú__str__r.   r   r   rL   rL   ®   sq  € € € € € ðð ð
 $ÐØ)Ðà'(Ð$Ø./Ð+Ø'(Ð$à=AØ<AðQ:ð Q:ð Q:ð Q:ðf ˆxÐ8Ð8¸$Àðñô €Hð$ "˜Ð"GÐ"GØ�$ðñô Ðð �(ÐAÐAØ�$Ø0ñ2ô 2€KðA2ð A2ð A2ð A2ðFGð Gð Gð,ð ,ð ,ð,ð ,ð ,ð,ð ,ð ,ð,ð ,ð ,ð
,ð 
,ð 
,ð0ð 0ð 0ð$ð $ð $ð $ðLQð Qð Qð €G€G€Gr   rL   c                   óÔ   — e Zd ZdZd„ Z ed„ ddd¦  «        ZeZ ed„ ddd¦  «        Z ed„ ddd	¦  «        Z	 ed
„ ddd¦  «        Z
 ed„ ddd¦  «        Z	 dd„Zd„ Zdd„Zd„ ZeZdS )Ú	Interfacez An interface into a remote object.

    An Interface can be used to wrap ProxyObjects
    so that calls can be routed to their correct
    D-Bus interface.
    c                 óf   — t          |t          ¦  «        r|j        | _        n|| _        || _        dS )a:  Construct a proxy for the given interface on the given object.

        :Parameters:
            `object` : `dbus.proxies.ProxyObject` or `dbus.Interface`
                The remote object or another of its interfaces
            `dbus_interface` : str
                An interface the `object` implements
        N)Ú
isinstancer¥   Úproxy_objectÚ_objr9   )r   ÚobjectrC   s      r   r   zInterface.__init__ô  s7   € õ �f�iÑ(Ô(ð 	ØÔ+ˆDŒIˆIàˆDŒIØ-ˆÔÐÐr   c                 ó   — | j         j        S r   )r©   r=   rk   s    r   rl   zInterface.<lambda>  s   € ¨¬Ô)>€ r   Nz.The D-Bus object path of the underlying objectc                 ó   — | j         j        S r   )r©   r<   rk   s    r   rl   zInterface.<lambda>  s   €  d¤iÔ&8€ r   z:The bus name to which the underlying proxy object is boundc                 ó   — | j         j        S r   )r©   r¢   rk   s    r   rl   zInterface.<lambda>	  s   € °´	Ô0L€ r   zGThe bus name which was requested when the underlying object was createdc                 ó   — | j         S r   )r©   rk   s    r   rl   zInterface.<lambda>  s   € ¨$¬)€ r   zThe underlying proxy objectc                 ó   — | j         S r   )r9   rk   s    r   rl   zInterface.<lambda>  s	   € ¨DÔ,@€ r   zThe D-Bus interface representedc                 ó>   — |s| j         } | j        j        |||fi |¤ŽS )aa  Arrange for a function to be called when the given signal is
        emitted.

        The parameters and keyword arguments are the same as for
        `dbus.proxies.ProxyObject.connect_to_signal`, except that if
        `dbus_interface` is None (the default), the D-Bus interface that
        was passed to the `Interface` constructor is used.
        )r9   r©   ru   rs   s        r   ru   zInterface.connect_to_signal  sG   € ð ð 	2Ø!Ô1ˆNà*ˆtŒyÔ*¨;Ð8HØ+9ðGð GØ=EðGð Gð 	Gr   c                 ó´   — |                      d¦  «        r$|                     d¦  «        rt          |¦  «        ‚| j                             || j        ¦  «        S r‘   )r“   r”   r•   r©   r–   r9   r—   s     r   r™   zInterface.__getattr__"  sV   € Ø×Ò˜TÑ"Ô"ð 	K v§¢°tÑ'<Ô'<ð 	KÝ  Ñ(Ô(Ð(à”9×,Ò,¨V°TÔ5IÑJÔJÐJr   c                 óJ   — |€| j         }| j                             ||¦  «        S )a&  Return a proxy method representing the given D-Bus method.

        This is the same as `dbus.proxies.ProxyObject.get_dbus_method`
        except that if `dbus_interface` is None (the default),
        the D-Bus interface that was passed to the `Interface` constructor
        is used.
        )r9   r©   r–   )r   r˜   rC   s      r   r–   zInterface.get_dbus_method(  s*   € ð Ð!Ø!Ô1ˆNØŒy×(Ò(¨°Ñ@Ô@Ð@r   c                 ó@   — d| j         | j        t          | ¦  «        fz  S )Nz%<Interface %r implementing %r at %#x>)r©   r9   rŸ   rk   s    r   r    zInterface.__repr__4  s&   € Ø6ØŒ	�4Ô'­¨D©¬ð83ñ 3ð 	3r   r   )r*   r+   r,   r-   r   r¡   r=   r]   r<   r¢   r¨   rC   ru   r™   r–   r    r£   r.   r   r   r¥   r¥   ì  s5  € € € € € ðð ð.ð .ð .ð �(Ð>Ð>ÀÀdØLñNô N€Kà&ÐØˆxÐ8Ð8¸$Àð$ñ%ô %€Hð "˜Ð#LÐ#LØ#'¨ð$CñDô DÐð �8Ð3Ð3°T¸4Ø>ñ@ô @€Là�XÐ@Ð@À$ÈØDñFô F€Nð *.ðGð Gð Gð Gð Kð Kð Kð
Að 
Að 
Að 
Að3ð 3ð 3ð €G€G€Gr   r¥   )r…   Ú	threadingr   ÚImportErrorÚdummy_threadingr6   Údbus._expat_introspect_parserr   Údbus.exceptionsr   r   r   r   Ú__docformat__Ú	getLoggerr‡   r
   r   r   r   r   Údbus._compatr   r   r0   rª   rL   r¥   r.   r   r   ú<module>r¼      sø  ðð8 €€€ð&ØÐÐÐÐÐÐøØð &ð &ð &Ø%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ð&øøøð Ð Ð Ð Ø DÐ DÐ DÐ DÐ DÐ Dð"ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð #€ð ˆ'Ô
˜NÑ
+Ô
+€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð  Ð Ð Ð Ð Ð ð9ð 9ð 9ð 9ð 9ñ 9ô 9ð 9ð4]0ð ]0ð ]0ð ]0ð ]0ñ ]0ô ]0ð ]0ð@{ð {ð {ð {ð {�&ñ {ô {ð {ð|	Kð Kð Kð Kð K�ñ Kô Kð Kð Kð Ks   † �š