AD6M434OFUCH6ISHP7GXSNNRBHEWP242ZDH7QCVCYLHMRASGE5MQC
SFQBWL6PHSX7MQVOSQW4ZO35SLXNHN6562IWYCN4UKWAEVE6AQNQC
CCLLB7OIFNFYJZTG3UCI7536TOCWSCSXR67VELSB466R24WLJSDAC
YN63NUZO4LVJ7XPMURDULTXBVJKW5MVCTZ24R7Z52QMHO3HPDUVQC
SXEYMYF7P4RZMZ46WPL4IZUTSQ2ATBWYZX7QNVMS3SGOYXYOHAGQC
I24UEJQLCH2SOXA4UHIYWTRDCHSOPU7AFTRUOTX7HZIAV4AZKYEQC
6YMDOZIB5LVYLFIDGN2WNT5JTHEAMS4TFPVDEZ3OWXWOKJOC5QDAC
I52XSRUH5RVHQBFWVMAQPTUSPAJ4KNVID2RMI3UGCVKFLYUO6WZAC
WZVCLZKY34KQBQU6YBGJLQCDADBQ67LQVDNRVCMQVY3O3C3EIWSQC
T7CAACFBDKOZEBM7XBX7HMCDM66RWEYKLOJY6JNIGWOFKV2HQEBQC
alive.insert(*vertex);
stack.truncate(elt_index);
break;
if *vertex == vertex0 {
assert!(alive.is_empty());
return Ok(alive)
} else {
alive.insert(*vertex);
stack.truncate(elt_index);
break;
}
// `to_self` tells whether we've already marked a vertex alive
// along the path from `vertex0`. This can happen if the only
// vertices alive are from change `change`.
while let Some((elt, mut to_self)) = stack.pop() {
while let Some(elt) = stack.pop() {
if v.introduced_by() != change {
alive.insert(vertex);
stack.truncate(elt_index);
break;
} else if !to_self {
if vertex != vertex0 {