<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def adaptive_gaussian_prior_builder( getter, name, *args, **kwargs):
 """A pre-canned builder for adaptive scalar gaussian prior distributions. Given a true `getter` function and arguments forwarded from `tf.get_variable`, return a distribution object for a scalar-valued adaptive gaussian prior which will be broadcast over a variable of the requisite shape. This prior's parameters (e.g `loc` and `scale` for a gaussian) will consist of a single learned scalar for the entire `tf.Variable` for which it serves as the prior, regardless of that `tf.Variable`'s shape. Args: getter: The `getter` passed to a `custom_getter`. Please see the documentation for `tf.get_variable`. name: The `name` argument passed to `tf.get_variable`. *args: See positional arguments passed to `tf.get_variable`. **kwargs: See keyword arguments passed to `tf.get_variable`. Returns: An instance of `tfp.distributions.Normal` representing the prior distribution over the variable in question. """

  kwargs["shape"] = ()
  loc_var = getter(name + "_prior_loc", *args, **kwargs)
  kwargs["initializer"] = scale_variable_initializer(0.01)
  scale_var = getter(name + "_prior_scale", *args, **kwargs)
  prior = tfp.distributions.Normal(
      loc=loc_var, scale=tf.nn.softplus(scale_var),
      name="{}_prior_dist".format(name))
  return prior