code: def projected_normal_model():
      a = pyro.sample(
          "a", dist.MultivariateNormal(torch.zeros(3), torch.eye(3))
      )
      b = pyro.sample("b", dist.ProjectedNormal(a))
      c = pyro.sample("c", dist.ProjectedNormal(torch.ones(3)))
      return a, b, c
  
imports: import pytest
  import torch
  import pyro
  import pyro.distributions
  from pyro import poutine
  from pyro.infer import SVI, Predictive, Trace_ELBO
  from pyro.infer.autoguide import AutoNormal
  from pyro.infer.reparam import AutoReparam, MinimalReparam
  from pyro.optim import Adam
label_desc: Use image node_id 8 for calling a global function with example usage: projected_normal_model() and returns: a,  b,  c