code: def format_url_query_arguments(
      url: str, arguments: dict[str, str] | None = None
  ) -> str:
      """Format a base URL with optional query arguments
  
      Args:
          url (str) :
              An base URL to append query arguments to
          arguments (dict or None, optional) :
              A mapping of key/value URL query arguments, or None (default: None)
  
      Returns:
          str
  
      """
      if arguments is not None:
          items = (
              f"{quote_plus(key)}={quote_plus(value)}"
              for key, value in arguments.items()
          )
          url += "?" + "&".join(items)
      return url
  
file_path: bokeh/src/bokeh/util/strings.py
imports: from __future__ import annotations
  import logging
  import re
  from typing import Any, Iterable, overload
  from urllib.parse import quote_plus
label_desc: Use image node_id 8 for calling a global function with example usage: format_url_query_arguments(url, arguments) and returns: url