<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def all_conditional_solidity_variables_read(self, include_loop=True):
 """ Return the Soldiity variables directly used in a condtion Use of the IR to filter index access Assumption: the solidity vars are used directly in the conditional node It won't work if the variable is assigned to a temp variable """

        if include_loop:
            if self._all_conditional_solidity_variables_read_with_loop is None:
                self._all_conditional_solidity_variables_read_with_loop = self._explore_functions(
                    lambda x: self._explore_func_conditional(x,
                                                             self._solidity_variable_in_binary,
                                                             include_loop))
            return self._all_conditional_solidity_variables_read_with_loop
        else:
            if self._all_conditional_solidity_variables_read is None:
                self._all_conditional_solidity_variables_read = self._explore_functions(
                    lambda x: self._explore_func_conditional(x,
                                                             self._solidity_variable_in_binary,
                                                             include_loop))
            return self._all_conditional_solidity_variables_read