code: def _run_scoped_abstract_eval(*args, jaxpr):
      # jaxpr will have effects for its inputs (Refs that are allocated) and for
      # constvars (closed over Refs). The effects for the allocated Refs are local
      # to the jaxpr and shouldn't propagate out.
      nonlocal_effects = {
          eff
          for eff in jaxpr.effects
          if not (
              isinstance(eff, effects.JaxprInputEffect)
              and eff.input_index >= len(jaxpr.constvars)
          )
      }
      return [], nonlocal_effects
  
imports: from __future__ import annotations
  import contextlib
  import dataclasses
  import enum
  from typing import Any, Callable
  import jax
  from jax._src import api_util
  from jax._src import core
  from jax._src import effects
  from jax._src import linear_util
  from jax._src import pretty_printer
  from jax._src import state
  from jax._src import tree_util
  from jax._src import util
  from jax._src.state import indexing
  from jax._src.state import primitives
  from jax._src.interpreters import mlir
  from jax._src.interpreters import partial_eval
  from jax._src.pallas.mosaic import core
  import jax.numpy
label_desc: Use image node_id 10 for calling a global function with example usage: _run_scoped_abstract_eval() and returns: list,  nonlocal_effects