class_docstr: A mapped task group.
  
  This doesn't really do anything special, just holds some additional metadata
  for expansion later.
  
  Don't instantiate this class directly; call *expand* or *expand_kwargs* on
  a ``@task_group`` function instead.
class_docstr_tok: ["A","mapped","task","group",".","This","does","n't","really","do","anything","special",",","just","holds","some","additional","metadata","for","expansion","later",".","Do","n't","instantiate","this","class","directly",";","call","*","expand","*","or","*","expand_kwargs","*","on","a","``","@","task_group","``","function","instead","."]
docstr: Upstream dependencies that provide XComs used by this mapped task group.
docstr_tok: ["Upstream","dependencies","that","provide","XComs","used","by","this","mapped","task","group","."]
code: def iter_mapped_dependencies(self) -> Iterator[Operator]:
      """Upstream dependencies that provide XComs used by this mapped task group."""
      from airflow.models.xcom_arg import XComArg
  
      for op, _ in XComArg.iter_xcom_references(self._expand_input):
          yield op
  
imports: from __future__ import annotations
  import copy
  import functools
  import operator
  import weakref
  from typing import TYPE_CHECKING, Any, Generator, Iterator, Sequence
  import re2
  from airflow.compat.functools import cache
  from airflow.exceptions import AirflowDagCycleException, AirflowException, DuplicateTaskIdFound, TaskAlreadyInTaskGroup
  from airflow.models.taskmixin import DAGNode
  from airflow.serialization.enums import DagAttributeTypes
  from airflow.utils.helpers import validate_group_key
label_desc: Use image node_id 2 for calling the MappedTaskGroup obj's underlying member method code with example usage: obj.iter_mapped_dependencies() without return types