code: def lstsq(
      a: ArrayLike,
      b: ArrayLike,
      rcond: float | None = None,
      *,
      numpy_resid: bool = False,
  ) -> tuple[Array, Array, Array, Array]:
      check_arraylike("jnp.linalg.lstsq", a, b)
      if numpy_resid:
          return _lstsq(a, b, rcond, numpy_resid=True)
      return _jit_lstsq(a, b, rcond)
  
imports: from __future__ import annotations
  from collections.abc import Sequence
  from functools import partial
  import numpy
  import textwrap
  import operator
  from typing import Literal, cast, overload
  import jax
  from jax import jit, custom_jvp
  from jax import lax
  from jax._src.lax import lax
  from jax._src.lax import linalg
  from jax._src.numpy import lax_numpy
  from jax._src.numpy import reductions, ufuncs
  from jax._src.numpy.util import _wraps, promote_dtypes_inexact, check_arraylike
  from jax._src.util import canonicalize_axis
  from jax._src.typing import ArrayLike, Array
label_desc: Use image node_id 34 for calling a global function with example usage: lstsq(a, b, rcond) and returns: _jit_lstsq, _lstsq