code: def _pad_helper(draw):
      mode = draw(
          st.sampled_from(
              [
                  "constant",
                  "edge",
                  "linear_ramp",
                  "maximum",
                  "mean",
                  "median",
                  "minimum",
                  "reflect",
                  "symmetric",
                  "wrap",
              ]
          )
      )
      if mode == "median":
          dtypes = "float"
      else:
          dtypes = "numeric"
      dtype, input, shape = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes(dtypes),
              ret_shape=True,
              min_num_dims=1,
              min_value=-100,
              max_value=100,
          ).filter(
              lambda x: x[0][0]
              not in ["float16", "bfloat16", "complex64", "complex128"]
          ),
      )
      ndim = len(shape)
      pad_width = draw(_st_tuples_or_int(ndim, min_val=0))
      kwargs = {}
      if mode in ["reflect", "symmetric"]:
          kwargs["reflect_type"] = draw(
              st.sampled_from(["even", "odd"])
          )
      if mode in ["maximum", "mean", "median", "minimum"]:
          kwargs["stat_length"] = draw(
              _st_tuples_or_int(ndim, min_val=2)
          )
      if mode in ["linear_ramp"]:
          kwargs["end_values"] = draw(_st_tuples_or_int(ndim))
      if mode == "constant":
          kwargs["constant_values"] = draw(_st_tuples_or_int(ndim))
      return dtype, input[0], pad_width, kwargs, mode
  
imports: from hypothesis import strategies, assume
  import numpy
  import hypothesis.extra.numpy
  import ivy
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_frontend_test
  import ivy_tests.test_ivy.test_frontends.test_numpy.helpers
  from ivy_tests.test_ivy.test_functional.test_core.test_manipulation import _repeat_helper
  from ivy_tests.test_ivy.test_functional.test_experimental.test_core.test_manipulation import _get_dtype_values_k_axes_for_rot90, _get_splits, _st_tuples_or_int
label_desc: Use image node_id 8 for calling a global function with example usage: _pad_helper(draw) and returns: dtype,  input,  pad_width,  kwargs,  mode