code: def _make_composite_tensor(dist):
      """Wrapper to make distributions of linear operators composite."""
      if JAX_MODE:
          return dist
      if dist is None:
          return dist
      composite_dist = auto_composite_tensor.auto_composite_tensor(
          dist.__class__, omit_kwargs="name"
      )
      p = dist.parameters
  
      for k in p:
          if isinstance(p[k], distribution.Distribution):
              p[k] = _make_composite_tensor(p[k])
          elif isinstance(p[k], tf.linalg.LinearOperator):
              composite_linop = (
                  auto_composite_tensor.auto_composite_tensor(
                      p[k].__class__
                  )
              )
              p[k] = composite_linop(**p[k].parameters)
      ac_dist = composite_dist(**p)
      return ac_dist
  
imports: import collections
  from absl.testing import parameterized
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import reshape
  from tensorflow_probability.python.bijectors import scale
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import joint_distribution_sequential
  from tensorflow_probability.python.distributions import mvn_diag
  from tensorflow_probability.python.distributions import mvn_linear_operator
  from tensorflow_probability.python.distributions import mvn_tril
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import wishart
  from tensorflow_probability.python.experimental.distributions import mvn_precision_factor_linop
  from tensorflow_probability.python.experimental.mcmc import preconditioned_hmc
  from tensorflow_probability.python.internal import auto_composite_tensor
  from tensorflow_probability.python.internal import distribute_lib
  from tensorflow_probability.python.internal import distribute_test_lib
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.internal import unnest
  from tensorflow_probability.python.mcmc import diagnostic
  from tensorflow_probability.python.mcmc import dual_averaging_step_size_adaptation
  from tensorflow_probability.python.mcmc import sample
  from tensorflow_probability.python.mcmc import simple_step_size_adaptation
  from tensorflow_probability.python.mcmc import transformed_kernel
  from tensorflow_probability.python.mcmc.internal import leapfrog_integrator
  from tensorflow_probability.python.stats import sample_stats
label_desc: Use image node_id 1 for calling a global function with example usage: _make_composite_tensor(dist) and returns: ac_dist, dist, dist