<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def untilTrue(condition, *args, timeout=5) -> bool: """ Keep checking the condition till it is true or a timeout is reached :param condition: the condition to check (a function that returns bool) :param args: the arguments to the condition :return: True if the condition is met in the given timeout, False otherwise """

    result = False
    start = time.perf_counter()
    elapsed = 0
    while elapsed < timeout:
        result = condition(*args)
        if result:
            break
        await asyncio.sleep(.1)
        elapsed = time.perf_counter() - start
    return result