code: def _initialize_rangetool(p, x_axis_type, source):
      """
      Initializes the range tool chart and slider.
  
      Parameters
      ----------
      p : Bokeh.plotting.figure
          Bokeh plot that the figure tool is going to supplement.
      x_axis_type : str
          Type of the xaxis (ex. datetime)
      source : Bokeh.models.sources
          Data
  
      Returns
      -------
          Bokeh.plotting.figure
      """
      # Initialize range tool plot
      p_rangetool = figure(
          title="Drag the box to change the range above.",
          height=130,
          width=p.width,
          y_range=p.y_range,
          x_axis_type=x_axis_type,
          y_axis_type=None,
          tools="",
          toolbar_location=None,
      )
  
      # Need to explicitly set the initial range of the plot for the range tool.
      start_index = int(0.75 * len(source["__x__values"]))
      start = source["__x__values"][start_index]
      end = source["__x__values"][-1]
      # Explicitly cast to python datetime object due to a bug in numpy
      # (see https://github.com/bokeh/bokeh/blob/branch-3.0/bokeh/core/property/bases.py#L251):
      if source["__x__values"].dtype.name == "datetime64[ns]":
          start = datetime.datetime.fromtimestamp(
              int(start) / 1_000_000_000
          )
          end = datetime.datetime.fromtimestamp(
              int(end) / 1_000_000_000
          )
      p.x_range = Range1d(start, end)
  
      range_tool = RangeTool(x_range=p.x_range)
      range_tool.overlay.fill_color = "navy"
      range_tool.overlay.fill_alpha = 0.2
  
      p_rangetool.ygrid.grid_line_color = None
      p_rangetool.add_tools(range_tool)
      p_rangetool.toolbar.active_multi = range_tool
  
      return p_rangetool
  
imports: import datetime
  import numbers
  import warnings
  from copy import deepcopy
  from typing import Iterable, List, Optional, Union
  import numpy
  import pandas
  from bokeh.layouts import column
  from bokeh.models import ColorBar, ColumnDataSource, DatetimeTickFormatter, FuncTickFormatter, HoverTool, LinearColorMapper, RangeTool
  from bokeh.models.ranges import Range1d
  from bokeh.palettes import Inferno256, all_palettes
  from bokeh.plotting import figure
  from bokeh.transform import cumsum, dodge
  from pandas.core.base import PandasObject
  from pandas.errors import ParserError
  from .base import embedded_html, set_fontsizes_of_figure, show
  from .geoplot import geoplot
  from .utils import _extract_additional_columns
label_desc: Use image node_id 15 for calling a global function with example usage: _initialize_rangetool(p, x_axis_type, source) and returns: p_rangetool