class_docstr: Class to store the configuration of a given match substitution, which circuit gates, template gates,
  qubits and predecessors of the match in the circuit.
class_docstr_tok: ["Class","to","store","the","configuration","of","a","given","match","substitution",",","which","circuit","gates",",","template","gates",",","qubits","and","predecessors","of","the","match","in","the","circuit","."]
code: def __init__(
      self,
      circuit_config,
      template_config,
      pred_block,
      qubit_config,
      template_dag,
  ):
      self.template_dag = template_dag
      self.circuit_config = circuit_config
      self.template_config = template_config
      self.qubit_config = qubit_config
      self.pred_block = pred_block
  
imports: import copy
  import itertools
  from collections import OrderedDict
  from typing import Sequence, Callable
  import numpy
  import pennylane
  from pennylane.transforms import transform
  from pennylane import adjoint
  from pennylane.ops.qubit.attributes import symmetric_over_all_wires
  from pennylane.tape import QuantumTape, QuantumScript
  from pennylane.transforms.commutation_dag import commutation_dag
  from pennylane.wires import Wires
label_desc: Use image node_id 1 to create a new SubstitutionConfig object  with example: obj = SubstitutionConfig(circuit_config, template_config, pred_block, qubit_config, template_dag)