def METHOD_NAME(dash_duo):
    """Raising PreventUpdate OR returning no_update prevents update and
    triggering dependencies."""
    initial_input = "initial input"
    initial_output = "initial output"
    app = Dash(__name__)
    app.layout = html.Div(
        [
            dcc.Input(id="input", value=initial_input),
            html.Div(initial_output, id="output1"),
            html.Div(initial_output, id="output2"),
        ]
    )
    callback1_count = Value("i", 0)
    callback2_count = Value("i", 0)
    @app.callback(Output("output1", "children"), [Input("input", "value")])
    def callback1(value):
        callback1_count.value += 1
        if callback1_count.value > 2:
            return no_update
        raise PreventUpdate("testing callback does not update")
        return value
    @app.callback(Output("output2", "children"), [Input("output1", "children")])
    def callback2(value):
        callback2_count.value += 1
        return value
    dash_duo.start_server(app)
    input_ = dash_duo.find_element("#input")
    for i, key in enumerate("xyz"):
        input_.send_keys(key)
        until(
            lambda: callback1_count.value == i + 2,
            timeout=3,
            msg="callback1 runs 4x (initial page load and 3x through send_keys)",
        )
    dash_duo.wait_for_text_to_equal("#input", "initial inputxyz")
    assert (
        callback2_count.value == 0
    ), "callback2 is never triggered, even on initial load"
    # double check that output1 and output2 children were not updated
    assert dash_duo.find_element("#output1").text == initial_output
    assert dash_duo.find_element("#output2").text == initial_output
    assert not dash_duo.get_logs()
    dash_duo.percy_snapshot(name="aborted")