
from synet.utils.common import PathReq
from synet.utils.common import ECMPPathsReq
from synet.utils.common import PathOrderReq
from synet.utils.common import Protocols
from synet.utils.common import KConnectedPathsReq

topology_file = 'topos/mid/Esnet.graphml'
seed = 1125711260
reqs_simple_1 = [
    PathReq(Protocols.OSPF, "NREL", ['ELPA', 'ALBU', 'NREL'], False),
]

edges_cost_simple_1 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

####################

reqs_ecmp_1_2 = [
    ECMPPathsReq(Protocols.OSPF, 'DOE', [PathReq(Protocols.OSPF, "DOE", ['NodeID38', 'NodeID41', 'NodeID40', 'SUNN', 'SEA', 'SaltTTLake', 'CHIC', 'WASH', 'DOE'], False), PathReq(Protocols.OSPF, "DOE", ['NodeID38', 'NodeID41', 'NodeID40', 'SUNN', 'SNV1', 'ELPA', 'ATLA', 'WASH', 'DOE'], False)], False),
]

edges_cost_ecmp_1_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

reqs_kconnected_1_2 = [
    KConnectedPathsReq(Protocols.OSPF, 'DOE', [PathReq(Protocols.OSPF, "DOE", ['NodeID38', 'NodeID41', 'NodeID40', 'SUNN', 'SEA', 'SaltTTLake', 'CHIC', 'WASH', 'DOE'], False), PathReq(Protocols.OSPF, "DOE", ['NodeID38', 'NodeID41', 'NodeID40', 'SUNN', 'SNV1', 'ELPA', 'ATLA', 'WASH', 'DOE'], False)], False),
]

edges_cost_kconnected_1_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

reqs_order_1_2 = [
    PathOrderReq(Protocols.OSPF, 'NodeID39', [PathReq(Protocols.OSPF, "NodeID39", ['NodeID17', 'NodeID39'], False), PathReq(Protocols.OSPF, "NodeID39", ['NodeID17', 'NodeID16', 'NodeID25', 'SNV1', 'SEA', 'SUNN', 'NodeID40', 'NodeID41', 'NodeID38', 'NodeID39'], False)], False),
]

edges_cost_order_1_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 3),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

reqs_simple_2 = [
    PathReq(Protocols.OSPF, "SRS", ['ARM', 'ORNL', 'ATLA', 'SRS'], False),
    PathReq(Protocols.OSPF, "Equinix", ['ARM', 'ORNL', 'ATLA', 'WASH', 'Equinix'], False),
]

edges_cost_simple_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 2),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

####################

reqs_ecmp_2_2 = [
    ECMPPathsReq(Protocols.OSPF, 'GEANT', [PathReq(Protocols.OSPF, "GEANT", ['AMES', 'CHIC', 'NETL', 'NEWY', 'GEANT'], False), PathReq(Protocols.OSPF, "GEANT", ['AMES', 'CHIC', 'WASH', 'NEWY', 'GEANT'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'SInet', [PathReq(Protocols.OSPF, "SInet", ['AMES', 'CHIC', 'WASH', 'NEWY', 'SInet'], False), PathReq(Protocols.OSPF, "SInet", ['AMES', 'CHIC', 'NETL', 'NEWY', 'SInet'], False)], False),
]

edges_cost_ecmp_2_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

reqs_kconnected_2_2 = [
    KConnectedPathsReq(Protocols.OSPF, 'GEANT', [PathReq(Protocols.OSPF, "GEANT", ['AMES', 'CHIC', 'NETL', 'NEWY', 'GEANT'], False), PathReq(Protocols.OSPF, "GEANT", ['AMES', 'CHIC', 'WASH', 'NEWY', 'GEANT'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'SInet', [PathReq(Protocols.OSPF, "SInet", ['AMES', 'CHIC', 'WASH', 'NEWY', 'SInet'], False), PathReq(Protocols.OSPF, "SInet", ['AMES', 'CHIC', 'NETL', 'NEWY', 'SInet'], False)], False),
]

edges_cost_kconnected_2_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

reqs_order_2_2 = [
    PathOrderReq(Protocols.OSPF, 'WASH', [PathReq(Protocols.OSPF, "WASH", ['NETL', 'WASH'], False), PathReq(Protocols.OSPF, "WASH", ['NETL', 'NEWY', 'WASH'], False)], False),
    PathOrderReq(Protocols.OSPF, 'NodeID16', [PathReq(Protocols.OSPF, "NodeID16", ['NodeID17', 'NodeID16'], False), PathReq(Protocols.OSPF, "NodeID16", ['NodeID17', 'NodeID39', 'NodeID38', 'NodeID41', 'NodeID40', 'SUNN', 'SNV1', 'NodeID25', 'NodeID16'], False)], False),
]

edges_cost_order_2_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 2),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

reqs_simple_4 = [
    PathReq(Protocols.OSPF, "NodeID41", ['INL', 'SEA', 'SUNN', 'NodeID40', 'NodeID41'], False),
    PathReq(Protocols.OSPF, "PPPL", ['INL', 'SEA', 'SaltTTLake', 'CHIC', 'WASH', 'NEWY', 'PPPL'], False),
    PathReq(Protocols.OSPF, "OSTI", ['INL', 'SEA', 'SaltTTLake', 'CHIC', 'ORNL', 'OSTI'], False),
    PathReq(Protocols.OSPF, "NodeID39", ['INL', 'SEA', 'SUNN', 'NodeID40', 'NodeID41', 'NodeID38', 'NodeID39'], False),
]

edges_cost_simple_4 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 2),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 2),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

####################

reqs_ecmp_4_2 = [
    ECMPPathsReq(Protocols.OSPF, 'DOETTGTN', [PathReq(Protocols.OSPF, "DOETTGTN", ['YUCCATTMT', 'SUNN', 'SNV1', 'ELPA', 'ATLA', 'WASH', 'DOETTGTN'], False), PathReq(Protocols.OSPF, "DOETTGTN", ['YUCCATTMT', 'SUNN', 'SEA', 'SaltTTLake', 'CHIC', 'WASH', 'DOETTGTN'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'NNSA', [PathReq(Protocols.OSPF, "NNSA", ['YUCCATTMT', 'SUNN', 'SEA', 'SaltTTLake', 'CHIC', 'WASH', 'NNSA'], False), PathReq(Protocols.OSPF, "NNSA", ['YUCCATTMT', 'SUNN', 'SNV1', 'ELPA', 'ATLA', 'WASH', 'NNSA'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'Equinix', [PathReq(Protocols.OSPF, "Equinix", ['YUCCATTMT', 'SUNN', 'SNV1', 'ELPA', 'ATLA', 'WASH', 'Equinix'], False), PathReq(Protocols.OSPF, "Equinix", ['YUCCATTMT', 'SUNN', 'SEA', 'SaltTTLake', 'CHIC', 'WASH', 'Equinix'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'ORNL', [PathReq(Protocols.OSPF, "ORNL", ['YUCCATTMT', 'SUNN', 'SNV1', 'ELPA', 'ATLA', 'ORNL'], False), PathReq(Protocols.OSPF, "ORNL", ['YUCCATTMT', 'SUNN', 'SEA', 'SaltTTLake', 'CHIC', 'ORNL'], False)], False),
]

edges_cost_ecmp_4_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

reqs_kconnected_4_2 = [
    KConnectedPathsReq(Protocols.OSPF, 'DOETTGTN', [PathReq(Protocols.OSPF, "DOETTGTN", ['YUCCATTMT', 'SUNN', 'SNV1', 'ELPA', 'ATLA', 'WASH', 'DOETTGTN'], False), PathReq(Protocols.OSPF, "DOETTGTN", ['YUCCATTMT', 'SUNN', 'SEA', 'SaltTTLake', 'CHIC', 'WASH', 'DOETTGTN'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'NNSA', [PathReq(Protocols.OSPF, "NNSA", ['YUCCATTMT', 'SUNN', 'SEA', 'SaltTTLake', 'CHIC', 'WASH', 'NNSA'], False), PathReq(Protocols.OSPF, "NNSA", ['YUCCATTMT', 'SUNN', 'SNV1', 'ELPA', 'ATLA', 'WASH', 'NNSA'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'Equinix', [PathReq(Protocols.OSPF, "Equinix", ['YUCCATTMT', 'SUNN', 'SNV1', 'ELPA', 'ATLA', 'WASH', 'Equinix'], False), PathReq(Protocols.OSPF, "Equinix", ['YUCCATTMT', 'SUNN', 'SEA', 'SaltTTLake', 'CHIC', 'WASH', 'Equinix'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'ORNL', [PathReq(Protocols.OSPF, "ORNL", ['YUCCATTMT', 'SUNN', 'SNV1', 'ELPA', 'ATLA', 'ORNL'], False), PathReq(Protocols.OSPF, "ORNL", ['YUCCATTMT', 'SUNN', 'SEA', 'SaltTTLake', 'CHIC', 'ORNL'], False)], False),
]

edges_cost_kconnected_4_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

reqs_order_4_2 = [
    PathOrderReq(Protocols.OSPF, 'Denv', [PathReq(Protocols.OSPF, "Denv", ['SaltTTLake', 'Denv'], False), PathReq(Protocols.OSPF, "Denv", ['SaltTTLake', 'CHIC', 'Denv'], False)], False),
    PathOrderReq(Protocols.OSPF, 'CHIC', [PathReq(Protocols.OSPF, "CHIC", ['Denv', 'CHIC'], False), PathReq(Protocols.OSPF, "CHIC", ['Denv', 'SaltTTLake', 'CHIC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'NETL', [PathReq(Protocols.OSPF, "NETL", ['WASH', 'NETL'], False), PathReq(Protocols.OSPF, "NETL", ['WASH', 'CHIC', 'NETL'], False)], False),
    PathOrderReq(Protocols.OSPF, 'CHIC', [PathReq(Protocols.OSPF, "CHIC", ['SaltTTLake', 'CHIC'], False), PathReq(Protocols.OSPF, "CHIC", ['SaltTTLake', 'Denv', 'CHIC'], False)], False),
]

edges_cost_order_4_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 2),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

reqs_simple_8 = [
    PathReq(Protocols.OSPF, "BECHTEL-NV", ['ORNL', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'BECHTEL-NV'], False),
    PathReq(Protocols.OSPF, "Abilene", ['ORNL', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'Abilene'], False),
    PathReq(Protocols.OSPF, "NodeID40", ['ORNL', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'NodeID40'], False),
    PathReq(Protocols.OSPF, "ARM", ['ORNL', 'ARM'], False),
    PathReq(Protocols.OSPF, "SDSC", ['ORNL', 'ATLA', 'ELPA', 'SNV1', 'SDSC'], False),
    PathReq(Protocols.OSPF, "CHI-SL", ['ORNL', 'CHIC', 'CHI-SL'], False),
    PathReq(Protocols.OSPF, "FNAL", ['ORNL', 'CHIC', 'CHI-SL', 'FNAL'], False),
    PathReq(Protocols.OSPF, "MAXGPOP", ['ORNL', 'CHIC', 'WASH', 'MAXGPOP'], False),
]

edges_cost_simple_8 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 2),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 2),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

####################

reqs_ecmp_8_2 = [
    ECMPPathsReq(Protocols.OSPF, 'NodeID39', [PathReq(Protocols.OSPF, "NodeID39", ['LIGO', 'PNNL', 'SEA', 'SNV1', 'NodeID25', 'NodeID16', 'NodeID17', 'NodeID39'], False), PathReq(Protocols.OSPF, "NodeID39", ['LIGO', 'PNNL', 'SEA', 'SUNN', 'NodeID40', 'NodeID41', 'NodeID38', 'NodeID39'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'SNLA', [PathReq(Protocols.OSPF, "SNLA", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'Denv', 'ALBU', 'SNLA'], False), PathReq(Protocols.OSPF, "SNLA", ['LIGO', 'PNNL', 'SEA', 'SNV1', 'ELPA', 'ALBU', 'SNLA'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'DOE-A', [PathReq(Protocols.OSPF, "DOE-A", ['LIGO', 'PNNL', 'SEA', 'SNV1', 'ELPA', 'ALBU', 'DOE-A'], False), PathReq(Protocols.OSPF, "DOE-A", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'Denv', 'ALBU', 'DOE-A'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'PANTEX', [PathReq(Protocols.OSPF, "PANTEX", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'Denv', 'ALBU', 'DOE-A', 'PANTEX'], False), PathReq(Protocols.OSPF, "PANTEX", ['LIGO', 'PNNL', 'SEA', 'SNV1', 'ELPA', 'ALBU', 'DOE-A', 'PANTEX'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'BNL', [PathReq(Protocols.OSPF, "BNL", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'CHIC', 'WASH', 'NEWY', 'BNL'], False), PathReq(Protocols.OSPF, "BNL", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'CHIC', 'NETL', 'NEWY', 'BNL'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'NASH', [PathReq(Protocols.OSPF, "NASH", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'CHIC', 'NASH'], False), PathReq(Protocols.OSPF, "NASH", ['LIGO', 'PNNL', 'SEA', 'SNV1', 'ELPA', 'ATLA', 'NASH'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'SInet', [PathReq(Protocols.OSPF, "SInet", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'CHIC', 'WASH', 'NEWY', 'SInet'], False), PathReq(Protocols.OSPF, "SInet", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'CHIC', 'NETL', 'NEWY', 'SInet'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'NEWY', [PathReq(Protocols.OSPF, "NEWY", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'CHIC', 'WASH', 'NEWY'], False), PathReq(Protocols.OSPF, "NEWY", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'CHIC', 'NETL', 'NEWY'], False)], False),
]

edges_cost_ecmp_8_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 2),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

reqs_kconnected_8_2 = [
    KConnectedPathsReq(Protocols.OSPF, 'NodeID39', [PathReq(Protocols.OSPF, "NodeID39", ['LIGO', 'PNNL', 'SEA', 'SNV1', 'NodeID25', 'NodeID16', 'NodeID17', 'NodeID39'], False), PathReq(Protocols.OSPF, "NodeID39", ['LIGO', 'PNNL', 'SEA', 'SUNN', 'NodeID40', 'NodeID41', 'NodeID38', 'NodeID39'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'SNLA', [PathReq(Protocols.OSPF, "SNLA", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'Denv', 'ALBU', 'SNLA'], False), PathReq(Protocols.OSPF, "SNLA", ['LIGO', 'PNNL', 'SEA', 'SNV1', 'ELPA', 'ALBU', 'SNLA'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'DOE-A', [PathReq(Protocols.OSPF, "DOE-A", ['LIGO', 'PNNL', 'SEA', 'SNV1', 'ELPA', 'ALBU', 'DOE-A'], False), PathReq(Protocols.OSPF, "DOE-A", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'Denv', 'ALBU', 'DOE-A'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'PANTEX', [PathReq(Protocols.OSPF, "PANTEX", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'Denv', 'ALBU', 'DOE-A', 'PANTEX'], False), PathReq(Protocols.OSPF, "PANTEX", ['LIGO', 'PNNL', 'SEA', 'SNV1', 'ELPA', 'ALBU', 'DOE-A', 'PANTEX'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'BNL', [PathReq(Protocols.OSPF, "BNL", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'CHIC', 'WASH', 'NEWY', 'BNL'], False), PathReq(Protocols.OSPF, "BNL", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'CHIC', 'NETL', 'NEWY', 'BNL'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'NASH', [PathReq(Protocols.OSPF, "NASH", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'CHIC', 'NASH'], False), PathReq(Protocols.OSPF, "NASH", ['LIGO', 'PNNL', 'SEA', 'SNV1', 'ELPA', 'ATLA', 'NASH'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'SInet', [PathReq(Protocols.OSPF, "SInet", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'CHIC', 'WASH', 'NEWY', 'SInet'], False), PathReq(Protocols.OSPF, "SInet", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'CHIC', 'NETL', 'NEWY', 'SInet'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'NEWY', [PathReq(Protocols.OSPF, "NEWY", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'CHIC', 'WASH', 'NEWY'], False), PathReq(Protocols.OSPF, "NEWY", ['LIGO', 'PNNL', 'SEA', 'SaltTTLake', 'CHIC', 'NETL', 'NEWY'], False)], False),
]

edges_cost_kconnected_8_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 2),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

reqs_order_8_2 = [
    PathOrderReq(Protocols.OSPF, 'NodeID38', [PathReq(Protocols.OSPF, "NodeID38", ['NodeID41', 'NodeID38'], False), PathReq(Protocols.OSPF, "NodeID38", ['NodeID41', 'NodeID40', 'SUNN', 'SNV1', 'NodeID25', 'NodeID16', 'NodeID17', 'NodeID39', 'NodeID38'], False)], False),
    PathOrderReq(Protocols.OSPF, 'AMES', [PathReq(Protocols.OSPF, "AMES", ['CHIC', 'AMES'], False), PathReq(Protocols.OSPF, "AMES", ['CHIC', 'CHI-SL', 'FNAL', 'ANL', 'AMES'], False)], False),
    PathOrderReq(Protocols.OSPF, 'SNLA', [PathReq(Protocols.OSPF, "SNLA", ['ALBU', 'SNLA'], False), PathReq(Protocols.OSPF, "SNLA", ['ALBU', 'DOE-A', 'SNLA'], False)], False),
    PathOrderReq(Protocols.OSPF, 'NEWY', [PathReq(Protocols.OSPF, "NEWY", ['CERN', 'NEWY'], False), PathReq(Protocols.OSPF, "NEWY", ['CERN', 'CHI-SL', 'CHIC', 'NASH', 'ATLA', 'WASH', 'NEWY'], False)], False),
    PathOrderReq(Protocols.OSPF, 'NodeID40', [PathReq(Protocols.OSPF, "NodeID40", ['NodeID41', 'NodeID40'], False), PathReq(Protocols.OSPF, "NodeID40", ['NodeID41', 'NodeID38', 'NodeID39', 'NodeID17', 'NodeID16', 'NodeID25', 'SNV1', 'SEA', 'SUNN', 'NodeID40'], False)], False),
    PathOrderReq(Protocols.OSPF, 'CHI-SL', [PathReq(Protocols.OSPF, "CHI-SL", ['FNAL', 'CHI-SL'], False), PathReq(Protocols.OSPF, "CHI-SL", ['FNAL', 'ANL', 'AMES', 'CHIC', 'CHI-SL'], False)], False),
    PathOrderReq(Protocols.OSPF, 'NETL', [PathReq(Protocols.OSPF, "NETL", ['NEWY', 'NETL'], False), PathReq(Protocols.OSPF, "NETL", ['NEWY', 'WASH', 'NETL'], False)], False),
    PathOrderReq(Protocols.OSPF, 'WASH', [PathReq(Protocols.OSPF, "WASH", ['NEWY', 'WASH'], False), PathReq(Protocols.OSPF, "WASH", ['NEWY', 'NETL', 'WASH'], False)], False),
]

edges_cost_order_8_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 2),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 4),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 3),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 4),
    ("NETL", "WASH", 3),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

reqs_simple_16 = [
    PathReq(Protocols.OSPF, "SInet", ['DOE', 'WASH', 'NEWY', 'SInet'], False),
    PathReq(Protocols.OSPF, "SNV1", ['DOE', 'WASH', 'ATLA', 'ELPA', 'SNV1'], False),
    PathReq(Protocols.OSPF, "GA", ['DOE', 'WASH', 'ATLA', 'ELPA', 'SNV1', 'SDSC', 'GA'], False),
    PathReq(Protocols.OSPF, "MAXGPOP", ['DOE', 'WASH', 'MAXGPOP'], False),
    PathReq(Protocols.OSPF, "CHI-SL", ['DOE', 'WASH', 'CHIC', 'CHI-SL'], False),
    PathReq(Protocols.OSPF, "SNLA", ['DOE', 'WASH', 'CHIC', 'Denv', 'ALBU', 'SNLA'], False),
    PathReq(Protocols.OSPF, "NodeID25", ['DOE', 'WASH', 'ATLA', 'ELPA', 'SNV1', 'NodeID25'], False),
    PathReq(Protocols.OSPF, "NodeID41", ['DOE', 'WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'NodeID40', 'NodeID41'], False),
    PathReq(Protocols.OSPF, "ANL", ['DOE', 'WASH', 'CHIC', 'AMES', 'ANL'], False),
    PathReq(Protocols.OSPF, "NodeID43", ['DOE', 'WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'NodeID43'], False),
    PathReq(Protocols.OSPF, "NASA", ['DOE', 'WASH', 'ATLA', 'ELPA', 'SNV1', 'NASA'], False),
    PathReq(Protocols.OSPF, "NodeID16", ['DOE', 'WASH', 'ATLA', 'ELPA', 'SNV1', 'NodeID25', 'NodeID16'], False),
    PathReq(Protocols.OSPF, "AMPATH", ['DOE', 'WASH', 'ATLA', 'ELPA', 'SNV1', 'SDSC', 'AMPATH'], False),
    PathReq(Protocols.OSPF, "ATLA", ['DOE', 'WASH', 'ATLA'], False),
    PathReq(Protocols.OSPF, "AMES", ['DOE', 'WASH', 'CHIC', 'AMES'], False),
    PathReq(Protocols.OSPF, "WASH", ['DOE', 'WASH'], False),
]

edges_cost_simple_16 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 2),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 2),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

####################

reqs_ecmp_16_2 = [
    ECMPPathsReq(Protocols.OSPF, 'PacificWave', [PathReq(Protocols.OSPF, "PacificWave", ['WASH', 'ATLA', 'ELPA', 'SNV1', 'SUNN', 'PacificWave'], False), PathReq(Protocols.OSPF, "PacificWave", ['WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'PacificWave'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'BECHTEL-NV', [PathReq(Protocols.OSPF, "BECHTEL-NV", ['WASH', 'ATLA', 'ELPA', 'SNV1', 'SUNN', 'BECHTEL-NV'], False), PathReq(Protocols.OSPF, "BECHTEL-NV", ['WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'BECHTEL-NV'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'NodeID42', [PathReq(Protocols.OSPF, "NodeID42", ['WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'NodeID42'], False), PathReq(Protocols.OSPF, "NodeID42", ['WASH', 'ATLA', 'ELPA', 'SNV1', 'SUNN', 'NodeID42'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'NodeID38', [PathReq(Protocols.OSPF, "NodeID38", ['WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'NodeID40', 'NodeID41', 'NodeID38'], False), PathReq(Protocols.OSPF, "NodeID38", ['WASH', 'ATLA', 'ELPA', 'SNV1', 'SUNN', 'NodeID40', 'NodeID41', 'NodeID38'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'ALBU', [PathReq(Protocols.OSPF, "ALBU", ['WASH', 'CHIC', 'Denv', 'ALBU'], False), PathReq(Protocols.OSPF, "ALBU", ['WASH', 'ATLA', 'ELPA', 'ALBU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'ORAU', [PathReq(Protocols.OSPF, "ORAU", ['WASH', 'ATLA', 'ORNL', 'ORAU'], False), PathReq(Protocols.OSPF, "ORAU", ['WASH', 'CHIC', 'ORNL', 'ORAU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'ARM', [PathReq(Protocols.OSPF, "ARM", ['WASH', 'CHIC', 'ORNL', 'ARM'], False), PathReq(Protocols.OSPF, "ARM", ['WASH', 'ATLA', 'ORNL', 'ARM'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'OSTI', [PathReq(Protocols.OSPF, "OSTI", ['WASH', 'CHIC', 'ORNL', 'OSTI'], False), PathReq(Protocols.OSPF, "OSTI", ['WASH', 'ATLA', 'ORNL', 'OSTI'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'NOAA', [PathReq(Protocols.OSPF, "NOAA", ['WASH', 'CHIC', 'ORNL', 'NOAA'], False), PathReq(Protocols.OSPF, "NOAA", ['WASH', 'ATLA', 'ORNL', 'NOAA'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'SUNN', [PathReq(Protocols.OSPF, "SUNN", ['WASH', 'ATLA', 'ELPA', 'SNV1', 'SUNN'], False), PathReq(Protocols.OSPF, "SUNN", ['WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'DOE-A', [PathReq(Protocols.OSPF, "DOE-A", ['WASH', 'CHIC', 'Denv', 'ALBU', 'DOE-A'], False), PathReq(Protocols.OSPF, "DOE-A", ['WASH', 'ATLA', 'ELPA', 'ALBU', 'DOE-A'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'NASH', [PathReq(Protocols.OSPF, "NASH", ['WASH', 'CHIC', 'NASH'], False), PathReq(Protocols.OSPF, "NASH", ['WASH', 'ATLA', 'NASH'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'NodeID41', [PathReq(Protocols.OSPF, "NodeID41", ['WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'NodeID40', 'NodeID41'], False), PathReq(Protocols.OSPF, "NodeID41", ['WASH', 'ATLA', 'ELPA', 'SNV1', 'SUNN', 'NodeID40', 'NodeID41'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'YUCCATTMT', [PathReq(Protocols.OSPF, "YUCCATTMT", ['WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'YUCCATTMT'], False), PathReq(Protocols.OSPF, "YUCCATTMT", ['WASH', 'ATLA', 'ELPA', 'SNV1', 'SUNN', 'YUCCATTMT'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'ORNL', [PathReq(Protocols.OSPF, "ORNL", ['WASH', 'ATLA', 'ORNL'], False), PathReq(Protocols.OSPF, "ORNL", ['WASH', 'CHIC', 'ORNL'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'NREL', [PathReq(Protocols.OSPF, "NREL", ['WASH', 'ATLA', 'ELPA', 'ALBU', 'NREL'], False), PathReq(Protocols.OSPF, "NREL", ['WASH', 'CHIC', 'Denv', 'ALBU', 'NREL'], False)], False),
]

edges_cost_ecmp_16_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

reqs_kconnected_16_2 = [
    KConnectedPathsReq(Protocols.OSPF, 'PacificWave', [PathReq(Protocols.OSPF, "PacificWave", ['WASH', 'ATLA', 'ELPA', 'SNV1', 'SUNN', 'PacificWave'], False), PathReq(Protocols.OSPF, "PacificWave", ['WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'PacificWave'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'BECHTEL-NV', [PathReq(Protocols.OSPF, "BECHTEL-NV", ['WASH', 'ATLA', 'ELPA', 'SNV1', 'SUNN', 'BECHTEL-NV'], False), PathReq(Protocols.OSPF, "BECHTEL-NV", ['WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'BECHTEL-NV'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'NodeID42', [PathReq(Protocols.OSPF, "NodeID42", ['WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'NodeID42'], False), PathReq(Protocols.OSPF, "NodeID42", ['WASH', 'ATLA', 'ELPA', 'SNV1', 'SUNN', 'NodeID42'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'NodeID38', [PathReq(Protocols.OSPF, "NodeID38", ['WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'NodeID40', 'NodeID41', 'NodeID38'], False), PathReq(Protocols.OSPF, "NodeID38", ['WASH', 'ATLA', 'ELPA', 'SNV1', 'SUNN', 'NodeID40', 'NodeID41', 'NodeID38'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'ALBU', [PathReq(Protocols.OSPF, "ALBU", ['WASH', 'CHIC', 'Denv', 'ALBU'], False), PathReq(Protocols.OSPF, "ALBU", ['WASH', 'ATLA', 'ELPA', 'ALBU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'ORAU', [PathReq(Protocols.OSPF, "ORAU", ['WASH', 'ATLA', 'ORNL', 'ORAU'], False), PathReq(Protocols.OSPF, "ORAU", ['WASH', 'CHIC', 'ORNL', 'ORAU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'ARM', [PathReq(Protocols.OSPF, "ARM", ['WASH', 'CHIC', 'ORNL', 'ARM'], False), PathReq(Protocols.OSPF, "ARM", ['WASH', 'ATLA', 'ORNL', 'ARM'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'OSTI', [PathReq(Protocols.OSPF, "OSTI", ['WASH', 'CHIC', 'ORNL', 'OSTI'], False), PathReq(Protocols.OSPF, "OSTI", ['WASH', 'ATLA', 'ORNL', 'OSTI'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'NOAA', [PathReq(Protocols.OSPF, "NOAA", ['WASH', 'CHIC', 'ORNL', 'NOAA'], False), PathReq(Protocols.OSPF, "NOAA", ['WASH', 'ATLA', 'ORNL', 'NOAA'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'SUNN', [PathReq(Protocols.OSPF, "SUNN", ['WASH', 'ATLA', 'ELPA', 'SNV1', 'SUNN'], False), PathReq(Protocols.OSPF, "SUNN", ['WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'DOE-A', [PathReq(Protocols.OSPF, "DOE-A", ['WASH', 'CHIC', 'Denv', 'ALBU', 'DOE-A'], False), PathReq(Protocols.OSPF, "DOE-A", ['WASH', 'ATLA', 'ELPA', 'ALBU', 'DOE-A'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'NASH', [PathReq(Protocols.OSPF, "NASH", ['WASH', 'CHIC', 'NASH'], False), PathReq(Protocols.OSPF, "NASH", ['WASH', 'ATLA', 'NASH'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'NodeID41', [PathReq(Protocols.OSPF, "NodeID41", ['WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'NodeID40', 'NodeID41'], False), PathReq(Protocols.OSPF, "NodeID41", ['WASH', 'ATLA', 'ELPA', 'SNV1', 'SUNN', 'NodeID40', 'NodeID41'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'YUCCATTMT', [PathReq(Protocols.OSPF, "YUCCATTMT", ['WASH', 'CHIC', 'SaltTTLake', 'SEA', 'SUNN', 'YUCCATTMT'], False), PathReq(Protocols.OSPF, "YUCCATTMT", ['WASH', 'ATLA', 'ELPA', 'SNV1', 'SUNN', 'YUCCATTMT'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'ORNL', [PathReq(Protocols.OSPF, "ORNL", ['WASH', 'ATLA', 'ORNL'], False), PathReq(Protocols.OSPF, "ORNL", ['WASH', 'CHIC', 'ORNL'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'NREL', [PathReq(Protocols.OSPF, "NREL", ['WASH', 'ATLA', 'ELPA', 'ALBU', 'NREL'], False), PathReq(Protocols.OSPF, "NREL", ['WASH', 'CHIC', 'Denv', 'ALBU', 'NREL'], False)], False),
]

edges_cost_kconnected_16_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 1),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 1),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 1),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 1),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 1),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 1),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 1),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 1),
    ("SEA", "SNV1", 1),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 1),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 1),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 1),
    ("NETL", "NEWY", 1),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

reqs_order_16_2 = [
    PathOrderReq(Protocols.OSPF, 'CERN', [PathReq(Protocols.OSPF, "CERN", ['CHI-SL', 'CERN'], False), PathReq(Protocols.OSPF, "CERN", ['CHI-SL', 'CHIC', 'WASH', 'NEWY', 'CERN'], False)], False),
    PathOrderReq(Protocols.OSPF, 'NodeID40', [PathReq(Protocols.OSPF, "NodeID40", ['SUNN', 'NodeID40'], False), PathReq(Protocols.OSPF, "NodeID40", ['SUNN', 'SNV1', 'NodeID25', 'NodeID16', 'NodeID17', 'NodeID39', 'NodeID38', 'NodeID41', 'NodeID40'], False)], False),
    PathOrderReq(Protocols.OSPF, 'SEA', [PathReq(Protocols.OSPF, "SEA", ['SNV1', 'SEA'], False), PathReq(Protocols.OSPF, "SEA", ['SNV1', 'SUNN', 'SEA'], False)], False),
    PathOrderReq(Protocols.OSPF, 'ELPA', [PathReq(Protocols.OSPF, "ELPA", ['ATLA', 'ELPA'], False), PathReq(Protocols.OSPF, "ELPA", ['ATLA', 'NASH', 'CHIC', 'SaltTTLake', 'Denv', 'ALBU', 'ELPA'], False)], False),
    PathOrderReq(Protocols.OSPF, 'CHIC', [PathReq(Protocols.OSPF, "CHIC", ['NASH', 'CHIC'], False), PathReq(Protocols.OSPF, "CHIC", ['NASH', 'ATLA', 'WASH', 'CHIC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'SNV1', [PathReq(Protocols.OSPF, "SNV1", ['SUNN', 'SNV1'], False), PathReq(Protocols.OSPF, "SNV1", ['SUNN', 'SEA', 'SNV1'], False)], False),
    PathOrderReq(Protocols.OSPF, 'NASH', [PathReq(Protocols.OSPF, "NASH", ['CHIC', 'NASH'], False), PathReq(Protocols.OSPF, "NASH", ['CHIC', 'ORNL', 'ATLA', 'NASH'], False)], False),
    PathOrderReq(Protocols.OSPF, 'NEWY', [PathReq(Protocols.OSPF, "NEWY", ['CERN', 'NEWY'], False), PathReq(Protocols.OSPF, "NEWY", ['CERN', 'CHI-SL', 'CHIC', 'WASH', 'NEWY'], False)], False),
    PathOrderReq(Protocols.OSPF, 'NodeID39', [PathReq(Protocols.OSPF, "NodeID39", ['NodeID38', 'NodeID39'], False), PathReq(Protocols.OSPF, "NodeID39", ['NodeID38', 'NodeID41', 'NodeID40', 'SUNN', 'SNV1', 'NodeID25', 'NodeID16', 'NodeID17', 'NodeID39'], False)], False),
    PathOrderReq(Protocols.OSPF, 'ANL', [PathReq(Protocols.OSPF, "ANL", ['FNAL', 'ANL'], False), PathReq(Protocols.OSPF, "ANL", ['FNAL', 'CHI-SL', 'CHIC', 'AMES', 'ANL'], False)], False),
    PathOrderReq(Protocols.OSPF, 'WASH', [PathReq(Protocols.OSPF, "WASH", ['NEWY', 'WASH'], False), PathReq(Protocols.OSPF, "WASH", ['NEWY', 'NETL', 'WASH'], False)], False),
    PathOrderReq(Protocols.OSPF, 'DOE-A', [PathReq(Protocols.OSPF, "DOE-A", ['SNLA', 'DOE-A'], False), PathReq(Protocols.OSPF, "DOE-A", ['SNLA', 'ALBU', 'DOE-A'], False)], False),
    PathOrderReq(Protocols.OSPF, 'Denv', [PathReq(Protocols.OSPF, "Denv", ['SaltTTLake', 'Denv'], False), PathReq(Protocols.OSPF, "Denv", ['SaltTTLake', 'CHIC', 'Denv'], False)], False),
    PathOrderReq(Protocols.OSPF, 'SEA', [PathReq(Protocols.OSPF, "SEA", ['SaltTTLake', 'SEA'], False), PathReq(Protocols.OSPF, "SEA", ['SaltTTLake', 'Denv', 'ALBU', 'ELPA', 'SNV1', 'SEA'], False)], False),
    PathOrderReq(Protocols.OSPF, 'ELPA', [PathReq(Protocols.OSPF, "ELPA", ['ALBU', 'ELPA'], False), PathReq(Protocols.OSPF, "ELPA", ['ALBU', 'Denv', 'SaltTTLake', 'SEA', 'SNV1', 'ELPA'], False)], False),
    PathOrderReq(Protocols.OSPF, 'ATLA', [PathReq(Protocols.OSPF, "ATLA", ['ELPA', 'ATLA'], False), PathReq(Protocols.OSPF, "ATLA", ['ELPA', 'ALBU', 'Denv', 'CHIC', 'ORNL', 'ATLA'], False)], False),
]

edges_cost_order_16_2 = [
    ("AMPATH", "SDSC", 1),
    ("Abilene", "SUNN", 1),
    ("Starlight", "CHI-SL", 1),
    ("SInet", "NEWY", 1),
    ("ELPA", "ALBU", 2),
    ("ELPA", "SNV1", 1),
    ("ELPA", "ATLA", 1),
    ("DOE", "WASH", 1),
    ("WASH", "NodeID21", 1),
    ("WASH", "NodeID20", 1),
    ("WASH", "JLAB", 1),
    ("WASH", "MAXGPOP", 1),
    ("WASH", "NETL", 1),
    ("WASH", "DOE", 1),
    ("WASH", "Equinix", 1),
    ("WASH", "NEWY", 1),
    ("WASH", "CHIC", 2),
    ("WASH", "NNSA", 1),
    ("WASH", "DOETTGTN", 1),
    ("WASH", "ATLA", 2),
    ("NEWY", "NETL", 1),
    ("NEWY", "GEANT", 1),
    ("NEWY", "CERN", 1),
    ("NEWY", "PSFC", 1),
    ("NEWY", "SInet", 1),
    ("NEWY", "WASH", 1),
    ("NEWY", "BNL", 1),
    ("NEWY", "PPPL", 1),
    ("PNNL", "LIGO", 1),
    ("PNNL", "SEA", 1),
    ("DOETTGTN", "WASH", 1),
    ("CHIC", "SaltTTLake", 1),
    ("CHIC", "ORNL", 1),
    ("CHIC", "Denv", 3),
    ("CHIC", "EquinixID35", 1),
    ("CHIC", "WASH", 1),
    ("CHIC", "NETL", 1),
    ("CHIC", "CHI-SL", 1),
    ("CHIC", "NASH", 2),
    ("CHIC", "AMES", 1),
    ("AMES", "ANL", 1),
    ("AMES", "CHIC", 1),
    ("Pacwave", "SEA", 1),
    ("CHI-SL", "CERN", 1),
    ("CHI-SL", "CHIC", 1),
    ("CHI-SL", "Starlight", 1),
    ("CHI-SL", "FNAL", 1),
    ("YUCCATTMT", "SUNN", 1),
    ("SaltTTLake", "CHIC", 3),
    ("SaltTTLake", "Denv", 1),
    ("SaltTTLake", "SEA", 1),
    ("CERN", "NEWY", 1),
    ("CERN", "CHI-SL", 1),
    ("ORAU", "ORNL", 1),
    ("NodeID38", "NodeID41", 1),
    ("NodeID38", "NodeID39", 1),
    ("NodeID39", "NodeID38", 1),
    ("NodeID39", "NodeID17", 1),
    ("BECHTEL-NV", "SUNN", 1),
    ("LANL", "ALBU", 1),
    ("SNV1", "NodeID25", 1),
    ("SNV1", "AUID14", 1),
    ("SNV1", "SDSC", 1),
    ("SNV1", "ELPA", 1),
    ("SNV1", "NASA", 1),
    ("SNV1", "SUNN", 1),
    ("SNV1", "SEA", 1),
    ("MAXGPOP", "WASH", 1),
    ("NodeID16", "NodeID25", 1),
    ("NodeID16", "NodeID17", 1),
    ("NodeID17", "NodeID16", 1),
    ("NodeID17", "NodeID39", 1),
    ("ORNL", "ORAU", 1),
    ("ORNL", "OSTI", 1),
    ("ORNL", "NOAA", 1),
    ("ORNL", "CHIC", 1),
    ("ORNL", "ARM", 1),
    ("ORNL", "ATLA", 1),
    ("ATLA", "ORNL", 3),
    ("ATLA", "WASH", 1),
    ("ATLA", "NASH", 1),
    ("ATLA", "ELPA", 1),
    ("ATLA", "SRS", 1),
    ("SEA", "SaltTTLake", 2),
    ("SEA", "SNV1", 2),
    ("SEA", "INL", 1),
    ("SEA", "SUNN", 2),
    ("SEA", "PNNL", 1),
    ("SEA", "AU", 1),
    ("SEA", "Pacwave", 1),
    ("FNAL", "ANL", 1),
    ("FNAL", "CHI-SL", 1),
    ("NNSA", "WASH", 1),
    ("PANTEX", "DOE-A", 1),
    ("DOE-A", "PANTEX", 1),
    ("DOE-A", "ALBU", 1),
    ("DOE-A", "SNLA", 1),
    ("EquinixID35", "CHIC", 1),
    ("SNLA", "AlliedTTSignal", 1),
    ("SNLA", "ALBU", 1),
    ("SNLA", "DOE-A", 1),
    ("AlliedTTSignal", "SNLA", 1),
    ("GEANT", "NEWY", 1),
    ("OSTI", "ORNL", 1),
    ("PSFC", "NEWY", 1),
    ("LIGO", "PNNL", 1),
    ("Denv", "CHIC", 3),
    ("Denv", "SaltTTLake", 1),
    ("Denv", "ALBU", 1),
    ("NETL", "CHIC", 2),
    ("NETL", "NEWY", 2),
    ("NETL", "WASH", 1),
    ("NREL", "ALBU", 1),
    ("SRS", "ATLA", 1),
    ("Equinix", "WASH", 1),
    ("SUNN", "NodeID43", 1),
    ("SUNN", "NodeID42", 1),
    ("SUNN", "Abilene", 1),
    ("SUNN", "BECHTEL-NV", 1),
    ("SUNN", "NodeID40", 1),
    ("SUNN", "SNV1", 1),
    ("SUNN", "SEA", 1),
    ("SUNN", "YUCCATTMT", 1),
    ("SUNN", "PacificWave", 1),
    ("GA", "SDSC", 1),
    ("BNL", "NEWY", 1),
    ("PPPL", "NEWY", 1),
    ("NodeID43", "SUNN", 1),
    ("NOAA", "ORNL", 1),
    ("ALBU", "LANL", 1),
    ("ALBU", "Denv", 1),
    ("ALBU", "ELPA", 1),
    ("ALBU", "NREL", 1),
    ("ALBU", "SNLA", 1),
    ("ALBU", "DOE-A", 1),
    ("PacificWave", "SUNN", 1),
    ("NodeID21", "WASH", 1),
    ("NodeID20", "WASH", 1),
    ("JLAB", "WASH", 1),
    ("NodeID25", "SNV1", 1),
    ("NodeID25", "NodeID16", 1),
    ("NodeID42", "SUNN", 1),
    ("NodeID41", "NodeID38", 1),
    ("NodeID41", "NodeID40", 1),
    ("NodeID40", "SUNN", 1),
    ("NodeID40", "NodeID41", 1),
    ("ANL", "AMES", 1),
    ("ANL", "FNAL", 1),
    ("SDSC", "SNV1", 1),
    ("SDSC", "AMPATH", 1),
    ("SDSC", "GA", 1),
    ("INL", "SEA", 1),
    ("AUID14", "SNV1", 1),
    ("NASA", "SNV1", 1),
    ("AU", "SEA", 1),
    ("NASH", "CHIC", 1),
    ("NASH", "ATLA", 1),
    ("ARM", "ORNL", 1),
]

####################

reqs_simple = [reqs_simple_1,reqs_simple_2,reqs_simple_4,reqs_simple_8,reqs_simple_16]

reqs_simple_vals = [edges_cost_simple_1,edges_cost_simple_2,edges_cost_simple_4,edges_cost_simple_8,edges_cost_simple_16]

####################

reqs_ecmp = [reqs_ecmp_1_2,reqs_ecmp_2_2,reqs_ecmp_4_2,reqs_ecmp_8_2,reqs_ecmp_16_2]

reqs_ecmp_vals = [edges_cost_ecmp_1_2,edges_cost_ecmp_2_2,edges_cost_ecmp_4_2,edges_cost_ecmp_8_2,edges_cost_ecmp_16_2]

####################

reqs_kconnected = [reqs_kconnected_1_2,reqs_kconnected_2_2,reqs_kconnected_4_2,reqs_kconnected_8_2,reqs_kconnected_16_2]

reqs_kconnected_vals = [edges_cost_kconnected_1_2,edges_cost_kconnected_2_2,edges_cost_kconnected_4_2,edges_cost_kconnected_8_2,edges_cost_kconnected_16_2]

####################

reqs_order = [reqs_order_1_2, reqs_order_2_2, reqs_order_4_2, reqs_order_8_2, reqs_order_16_2]

reqs_order_vals = [edges_cost_order_1_2, edges_cost_order_2_2, edges_cost_order_4_2, edges_cost_order_8_2, edges_cost_order_16_2]

####################

