code: def test_clsd014_input_output_callback(dash_duo):
      app = Dash(__name__, assets_folder="assets")
  
      app.layout = html.Div(
          [
              html.Div(id="input-text"),
              dcc.Input(id="input", type="number", value=0),
          ]
      )
  
      app.clientside_callback(
          ClientsideFunction(
              namespace="clientside",
              function_name="input_output_callback",
          ),
          Output("input", "value"),
          Input("input", "value"),
      )
  
      app.clientside_callback(
          ClientsideFunction(
              namespace="clientside",
              function_name="input_output_follower",
          ),
          Output("input-text", "children"),
          Input("input", "value"),
      )
  
      dash_duo.start_server(app)
  
      dash_duo.find_element("#input").send_keys("2")
      dash_duo.wait_for_text_to_equal("#input-text", "3")
      call_count = dash_duo.driver.execute_script(
          "return window.callCount;"
      )
  
      assert call_count == 2, "initial + changed once"
  
      assert dash_duo.get_logs() == []
  
imports: from multiprocessing import Value, Lock
  from dash import Dash, Input, Output, State, ClientsideFunction, ALL, html, dcc
  from selenium.webdriver.common.keys import Keys
label_desc: Use image node_id 13 for calling a global function with example usage: test_clsd014_input_output_callback(dash_duo) without return types