+
    >a                     t   ^ RI HtHtHt ^ RIHt ^ RIt^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ R	IHtHt ^ R
IHtHtHtHt ^ RIHt ^ RIHtHtHtHt ^ RI H!t!H"t" ^ RI#H$t$ ^ RI%H&t& ^RI'H(t(H)t)H*t*H+t+H,t, ]
! R^R7        ! R R4      t-RR lt. ! R R4      t/ ! R R]!4      t0 ! R R4      t1RR lt2R# )    )as_completedFuturewait_for)countN)Optional)warn)IOLoopIOStream)Event)Queue	QueueFull)
SASLParsermake_auth_externalBEGINAuthenticationError)get_bus)ParserMessageTypeMessageMessageFlag)	ProxyBase
unwrap_msg)Router)message_bus)MessageFiltersFilterHandleReplyMatcherRouterClosedcheck_replyablezsjeepney.io.tornado is deprecated. Tornado is now built on top of asyncio, so please use jeepney.io.asyncio instead.)
stacklevelc                   d   a  ] tR t^t o V 3R lR ltRR/V 3R lR lltV 3R lR ltR	 tR
tV t	R# )DBusConnectionc                    < V ^8  d   QhRS[ /# )   streamr
   )format__classdict__s   "2lib/python3.14/site-packages/jeepney/io/tornado.py__annotate__DBusConnection.__annotate__   s        x      c                `    Wn         \        4       V n        \        ^R7      V n        RV n        R# )   )startN)r&   r   parserr   outgoing_serialunique_name)selfr&   s   &&r)   __init__DBusConnection.__init__   s$    h$1~r,   serialNc                    < V ^8  d   QhRS[ /# r%   messager   )r'   r(   s   "r)   r*   r+   !   s     ; ;' ;r,   c                  "   Vf   \        V P                  4      pV P                  P                  VP	                  V4      4      G R j  xL
  R #  L5iN)nextr1   r&   write	serialiser3   r9   r6   s   &&$r)   sendDBusConnection.send!   s=     >$../Fkk 1 1& 9:::s   AA	A
Ac                    < V ^8  d   QhRS[ /# )r%   returnr:   )r'   r(   s   "r)   r*   r+   '   s     $ $w $r,   c                   "    V P                   P                  4       pVe   V# V P                  P                  RR R7      G Rj  xL
 pV P                   P	                  V4       Kc   L!5i)TNi   partial)r0   get_next_messager&   
read_bytesadd_data)r3   msgbs   &  r)   receiveDBusConnection.receive'   sX     ++..0C
kk,,T4,@@AKK  # As   AA(A&"A(c                :    V P                   P                  4        R # r<   )r&   closer3   s   &r)   rP   DBusConnection.close0   s    r,   )r1   r0   r&   r2   )
__name__
__module____qualname____firstlineno__r4   rA   rM   rP   __static_attributes____classdictcell__r(   s   @r)   r#   r#      s4        ;T ; ;$ $ r,   r#   c                 "  "   \        V 4      p\        \        P                  ! \        P                  R 7      4      pVP	                  V4      G Rj  xL
  VP                  R\        4       ,           4      G Rj  xL
  \        4       pVP                  '       gT   TP                  VP                  RRR7      G Rj  xL
 4       VP                  '       g   KP  \        VP                  4      hVP                  \        4      G Rj  xL
  \        V4      p\        V4      ;_uu_ 4       p\!        \#        \$        V4      P'                  4       ^
4      G Rj  xL
 pV^ ,          Vn        RRR4       V#  EL  L L Lr L%  + '       g   i     T# ; i5i))familyN    i   TrF   )r   r   socketAF_UNIXconnectr>   r   r   authenticatedfeedrI   errorr   r   r#   
DBusRouterr   Proxyr   Hellor2   )busbus_addrr&   auth_parserconnrouter
reply_bodys   &      r)   open_dbus_connectionrl   4   s+    s|Hfmm6>>:;F
..
"""
,,u133
444,K'''v00t0DDE%k&7&788
,,u
&!D	D		V#E+v$>$D$D$FKK
%a= 
 K# #4 E 
 L 
	 Ks~   AFE0'F8E39F!F:E5;F-FE7"F',E;E9E;&F3F5F7F9E;;F		Fc                      a  ] tR t^Kt o V 3R lR ltRR/R ltR tRRR^/V 3R	 lR
 lltR tR t	R t
]R 4       tV 3R lR ltV 3R lR ltR tRtV tR# )rc   c                    < V ^8  d   QhRS[ /# )r%   ri   )r#   )r'   r(   s   "r)   r*   DBusRouter.__annotate__L   s     % %^ %r,   c                    Wn         \        4       V n        \        4       V n        \        4       V n        \        P                  ! 4       P                  V P                  4       \        \        4      V n        R # r<   )ri   r   _repliesr   _filtersr   _stop_receivingr	   currentadd_callback	_receiverr   r   rj   )r3   ri   s   &&r)   r4   DBusRouter.__init__L   sJ    	$&($w%%dnn5 Vnr,   r6   Nc               Z   "   V P                   P                  WR 7      G Rj  xL
  R#  L5i)r6   N)ri   rA   r@   s   &&$r)   rA   DBusRouter.sendV   s     iinnWn444s    +)+c                  "   \        V4       V P                  P                  4       '       d   \        R 4      h\	        V P
                  P                  4      pV P                  P                  V\        4       4      ;_uu_ 4       pV P                  WR7      G Rj  xL
  VG Rj  xL
 uuRRR4       #  L L  + '       g   i     R# ; i5i)zThis DBusRouter has stoppedry   N)r    rs   is_setr   r=   ri   r1   rq   catchr   rA   )r3   r9   r6   	reply_futs   &&  r)   send_and_get_replyDBusRouter.send_and_get_replyY   s      &&((<==dii//0]]  22i))G)333#O 323# 322sB   BCB7B3	B7$B5%B7(C3B75B77C		Cqueuebufsizec                0   < V ^8  d   QhRS[ S[,          /# )r%   r   )r   r   )r'   r(   s   "r)   r*   ro   d   s     J JXe_ Jr,   c               T    \        V P                  Y;'       g    \        V4      4      # )aT  Create a filter for incoming messages

Usage::

    with router.filter(rule) as queue:
        matching_msg = await queue.get()

:param jeepney.MatchRule rule: Catch messages matching this rule
:param tornado.queues.Queue queue: Matched messages will be added to this
:param int bufsize: If no queue is passed in, create one with this size
)r   rr   r   )r3   ruler   r   s   &&$$r)   filterDBusRouter.filterd   s!     DMM41H1H%.IIr,   c                :    V P                   P                  4        R # r<   )rs   setrQ   s   &r)   stopDBusRouter.stopr   s      "r,   c                    V # r<    rQ   s   &r)   	__enter__DBusRouter.__enter__u   s    r,   c                &    V P                  4        R # )F)r   r3   exc_typeexc_valexc_tbs   &&&&r)   __exit__DBusRouter.__exit__x   s    		r,   c                .    V P                   P                  # r<   )ri   r2   rQ   s   &r)   r2   DBusRouter.unique_name~   s    yy$$$r,   c                    < V ^8  d   QhRS[ /# r8   r:   )r'   r(   s   "r)   r*   ro      s     % %' %r,   c                @  "   VP                   P                  \        P                  8X  dT   VP                   P                  \
        P                  ,          '       g#   \        V P                  V4      G R j  xL
 4      # V P                  V4      G R j  xL
  R #  L# L5ir<   )
headermessage_typer   method_returnflagsr   no_reply_expectedr   r   rA   )r3   r9   s   &&r)   send_messageDBusRouter.send_message   sl     ++{/H/HH --0M0MMMD$;$;G$DDEE))G$$$ E$s*   ABB6B7BBBBc                    < V ^8  d   QhRS[ /# )r%   rK   r:   )r'   r(   s   "r)   r*   ro      s     	 	W 	r,   c                    V P                   P                  V4      '       d   R# V P                  P                  V4       F  p VP                  P                  V4       K!  	  R#   \         d     K3  i ; i)zHandle one received messageN)rq   dispatchrr   matchesr   
put_nowaitr   )r3   rK   r   s   && r)   	_dispatchDBusRouter._dispatch   s^    ==!!#&&mm++C0F'', 1  s   A$$A32A3c                  "     \        V P                  P                  4       V P                  P	                  4       .4       Fa  pVG Rj  xL
 pVf%    RV n        V P                  P                  4        R# V P                  V4       V P                  P                  V4       Kc  	  K   L^  RT n        T P                  P                  4        i ; i5i)z'Receiver loop - runs in a separate taskNF)r   ri   rM   rs   wait
is_runningrq   drop_allr   rj   incoming)r3   cororK   s   &  r)   rv   DBusRouter._receiver   s     	%($))*;*;*=t?S?S?X?X?Z)[\D $*C{ $DOMM""$ NN3'KK((- ]$ $DOMM""$s/   CAB+ 
B)	B+ #C73B+ +#CC)rr   rq   rs   ri   r   rj   )rS   rT   rU   rV   r4   rA   r   r   r   r   r   propertyr2   r   r   rv   rW   rX   rY   s   @r)   rc   rc   K   s}     % %5D 5	%Jd JA J J# % %% %	 	% %r,   rc   c                   J   a a ] tR t^t oV3R lV 3R lltR tR tRtVtV ;t	# )rd   c                    < V ^8  d   QhRS[ /# )r%   rj   )rc   )r'   r(   s   "r)   r*   Proxy.__annotate__   s      z r,   c                2   < \         SV `  V4       W n        R # r<   )superr4   _router)r3   msggenrj   	__class__s   &&&r)   r4   Proxy.__init__   s     r,   c                N    R P                  V P                  V P                  4      # )zProxy({}, {}))r'   _msggenr   rQ   s   &r)   __repr__Proxy.__repr__   s    %%dllDLLAAr,   c                   a a VV 3R  lpV# )c                     <"   S! V / VB pVP                   P                  \        P                  J g   Q h\	        SP
                  P                  V4      G R j  xL
 4      #  L5ir<   )r   r   r   method_callr   r   r   )argskwargsrK   make_msgr3   s   *, r)   inner!Proxy._method_call.<locals>.inner   sS     D+F+C::**k.E.EEEEDLL$C$CC$HHIIHs   AA$A"	A$r   )r3   r   r   s   ff r)   _method_callProxy._method_call   s    	J
 r,   )r   )
rS   rT   rU   rV   r4   r   r   rW   rX   __classcell__)r   r(   s   @@r)   rd   rd      s      B r,   rd   c                   >   a  ] tR t^t o RtRtRR ltR tR tRt	V t
R# )_RouterContextNc                    Wn         R # r<   rf   )r3   rf   s   &&r)   r4   _RouterContext.__init__   s    r,   c                   "   \        V P                  4      G R j  xL
 V n        \        V P                  4      V n        V P                  #  L/5ir<   )rl   rf   ri   rc   rj   rQ   s   &r)   
__aenter___RouterContext.__aenter__   s7     .txx88	 +{{ 9s   AA0Ac                v   "   V P                   P                  4        V P                  P                  4        R # 5ir<   )rj   r   ri   rP   r   s   &&&&r)   	__aexit___RouterContext.__aexit__   s#     		s   79)rf   ri   rj   SESSION)rS   rT   rU   rV   ri   rj   r4   r   r   rW   rX   rY   s   @r)   r   r      s#     DF
 r,   r   c                    \        V 4      # )a{  Open a D-Bus 'router' to send and receive messages.

Use as an async context manager::

    async with open_dbus_router() as req:
        ...

:param str bus: 'SESSION' or 'SYSTEM' or a supported address.
:return: :class:`DBusRouter`

This is a shortcut for::

    conn = await open_dbus_connection()
    async with conn:
        async with conn.router() as req:
            ...
)r   r   s   &r)   open_dbus_routerr      s    $ #r,   r   )3asyncior   r   r   	itertoolsr   r]   typingr   warningsr   tornado.ioloopr	   tornado.iostreamr   tornado.locksr   tornado.queuesr   r   jeepney.authr   r   r   r   jeepney.busr   jeepney.low_levelr   r   r   r   jeepney.wrappersr   r   jeepney.routingr   jeepney.bus_messagesr   commonr   r   r   r   r    r#   rl   rc   rd   r   r   r   r,   r)   <module>r      s    2 2     ! %  + S S  G G 2 " ,   :FGI 4.[% [%|I " "r,   