l#g0dZddlZddlZddlmZdZdZdS)aHigh-level support for working with threads in asyncio Modified from Python 3.10 stdlib https://github.com/python/cpython/blob/b11a951f16f0603d98de24fee5c023df83ea552c/Lib/asyncio/threads.py (the license GPL-compatible but doesn't require to open-source either). N)events) to_threadcKtj}tj}t j|j|g|Ri|}|d|d{VS)aAsynchronously run function *func* in a separate thread. Any *args and **kwargs supplied for this function are directly passed to *func*. Also, the current :class:`contextvars.Context` is propogated, allowing context variables from the main thread to be accessed in the separate thread. Return a coroutine that can be awaited to get the eventual result of *func* N)rget_running_loop contextvars copy_context functoolspartialrunrun_in_executor)funcargskwargsloopctx func_calls R/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/utils/threads.pyrrsp  " $ $D  " $ $C!#'4A$AAA&AAI%%dI66 6 6 6 6 6 66)__doc__r rasyncior__all__rrrrs[  7 7 7 7 7r