code: def session_demo_alert_callback(n_clicks, session_state=None, **kwargs):
      'Output text based on both app state and session state'
      if session_state is None:
          raise NotImplementedError("Cannot handle a missing session state")
      csf = session_state.get('bootstrap_demo_state', None)
      if not csf:
          csf = dict(clicks=0)
          session_state['bootstrap_demo_state'] = csf
      else:
          csf['clicks'] = n_clicks
      return "Button has been clicked %s times since the page was rendered" %n_clickf session_demo_alert_callback(n_clicks, session_state=None, **kwargs):
      'Output text based on both app state and session state'
      if session_state is None:
          raise NotImplementedError("Cannot handle a missing session state")
      csf = session_state.get('bootstrap_demo_state', None)
      if not csf:
          csf = dict(clicks=0)
          session_state['bootstrap_demo_state'] = csf
      else:
          csf['clicks'] = n_clicks
      return "Button has been clicked %s times since the page was rendered" %n_clicks
docs: Output text based on both app state and session state