
    i                     J    S SK r S SKJr  S SKrSSKJr   S	S\S   S\4S jjrg)
    N)List   )idleclientszpyrogram.Client
sequentialc                   #    U(       a"  U  H  nUR                  5       I Sh  vN   M     O9[        R                  " U  Vs/ s H  o"R                  5       PM     sn6 I Sh  vN   [        5       I Sh  vN   U(       a"  U  H  nUR	                  5       I Sh  vN   M     g[        R                  " U  Vs/ s H  o"R	                  5       PM     sn6 I Sh  vN   g Ns  snf  N Np NNs  snf  N7f)aI  Run multiple clients at once.

This method can be used to run multiple clients at once and can be found directly in the ``pyrogram`` package.

If you want to run a single client, you can use Client's bound method :meth:`~pyrogram.Client.run`.

Parameters:
    clients (List of :obj:`~pyrogram.Client`):
        A list of client objects to run.

    sequential (``bool``, *optional*):
        Pass True to run clients sequentially.
        Defaults to False (run clients concurrently)

Example:
    .. code-block:: python

        import asyncio
        from pyrogram import Client, compose


        async def main():
            apps = [
                Client("account1"),
                Client("account2"),
                Client("account3")
            ]

            ...

            await compose(apps)


        asyncio.run(main())

N)startasynciogatherr   stop)r   r   cs      O/app/mltbenv/lib/python3.13/site-packages/pyrogram/methods/utilities/compose.pycomposer      s     P A'')OO  nn':'Qwwy':;;;
&LLA&&(NN  nn9Avvx9::: :; 9:so    C.CC. CC. C!!C.2C#3#C.C%C.4C'C.C,C.C.#C.%C.'C.)F)r
   typingr   pyrogramr   boolr        r   <module>r      s3   &    
 4;#$4;4;r   