code: def impersonate(target):
      """Decorator to update the attributes of a function so that to external
      introspectors it will appear to be the target function.
  
      Note that this updates the function in place, it doesn't return a
      new one.
      """
  
      def accept(f):
          f.__code__ = update_code_location(
              f.__code__,
              target.__code__.co_filename,
              target.__code__.co_firstlineno,
          )
          f.__name__ = target.__name__
          f.__module__ = target.__module__
          f.__doc__ = target.__doc__
          f.__globals__["__hypothesistracebackhide__"] = True
          return f
  
      return accept
  
imports: from __future__ import absolute_import, division, print_function
  import ast
  import hashlib
  import inspect
  import re
  import types
  from functools import wraps
  from types import ModuleType
  from hypothesis.internal.compat import ARG_NAME_ATTRIBUTE, PY2, getfullargspec, hrange, isidentifier, qualname, str_to_bytes, to_str, to_unicode, update_code_location
  from hypothesis.vendor.pretty import pretty
label_desc: Use image node_id 18 for calling a global function with example usage: impersonate(target) and returns: accept, f