<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def lookup_online(byte_sig: str, timeout: int, proxies=None) -> List[str]: """Lookup function signatures from 4byte.directory. :param byte_sig: function signature hash as hexstr :param timeout: optional timeout for online lookup :param proxies: optional proxy servers for online lookup :return: a list of matching function signatures for this hash """

        if not ethereum_input_decoder:
            return []
        return list(
            ethereum_input_decoder.decoder.FourByteDirectory.lookup_signatures(
                byte_sig, timeout=timeout, proxies=proxies
            )
        )