  from __future__ import unicode_literals
  
  from django.utils.datastructures import OrderedSet
  from django.db.migrations.state import ProjectState
  
  
  class MigrationGraph(object):
      """
 
</s> remove from django.db.migrations.graph import MigrationGraph, CircularDependencyError
 </s> add from django.db.migrations.graph import CircularDependencyError, MigrationGraph, NodeNotFoundError </s> remove from django.db.migrations.graph import MigrationGraph
 </s> add from django.db.migrations.graph import MigrationGraph, NodeNotFoundError </s> remove             raise ValueError("Node %r not a valid node" % (node, ))
 </s> add             raise NodeNotFoundError("Node %r not a valid node" % (node, ), node)
  from __future__ import unicode_literals
  

  from django.db.migrations.state import ProjectState
  
  
  class MigrationGraph(object):
      """
keep keep replace keep keep keep keep keep
 Fixed #23556 -- Raised a more meaningful error message when migrations refer to an unavailable node 
django/db/migrations/graph.py