human
Solve the following python programming problem given the following code:
@register_check
def whitespace_around_named_parameter_equals(logical_line, tokens):
assistant
#Here is the Python program you requested.

    """Don\t use spaces around the \=\ sign in function arguments.
    Don\t use spaces around the \=\ sign when used to indicate a
    keyword argument or a default parameter value.
    Okay: def complex(real, imag=0.0):
    Okay: return magic(r=real, i=imag)
    Okay: boolean(a == b)
    Okay: boolean(a != b)
    Okay: boolean(a <= b)
    Okay: boolean(a >= b)
    Okay: def foo(arg: int = 42):
    Okay: async def foo(arg: int = 42):
    E251: def complex(real, imag = 0.0):
    E251: return magic(r = real, i = imag)
    """
    parens = 0
    no_space = False
    prev_end = None
    annotated_func_arg = False
    in_def = bool(STARTSWITH_DEF_REGEX.match(logical_line))
    message = 'E251    unexpected    spaces    around    keyword    /    parameter    equals'
    for (token_type, text, start, end, line) in tokens:
        if (token_type == tokenize.NL):
            continue
        if no_space:
            no_space = False
            if (start != prev_end):
                (yield (prev_end, message))
        if (token_type == tokenize.OP):
            if (text in '(['):
                parens += 1
            elif (text in ')]'):
                parens -= 1
            elif (in_def and (text == ':') and (parens == 1)):
                annotated_func_arg = True
            elif (parens and (text == ',') and (parens == 1)):
                annotated_func_arg = False
            elif (parens and (text == '=') and (not annotated_func_arg)):
                no_space = True
                if (start != prev_end):
                    (yield (prev_end, message))
            if (not parens):
                annotated_func_arg = False
        prev_end = end