Click on the buttons above the chart to combine nodes by different criteria (in this demo selection will also be reset).
The key used to combine nodes can be easily changed by passing new values to the combine prop.
You can make nested combos that are inside other combos by setting the level property to higher values.
ReGraph has full type definitions, including the return values for each event. Use type inference to propagate these types through your code.
See also
import React, { useEffect, useRef, useState } from "react";
import { createRoot } from "react-dom/client";
import each from "lodash/each";
import { Chart, type Index, type Link, type Node } from "regraph";
import data, { demoTheme, getRegion, type Items, type RegionData, regionThemes } from "./data";
import "@ci/theme/rg/css/layout.css";
interface State {
/** An index of combos which are currently open */
openCombos: Index<boolean>;
/** The current combine rules */
combine: Chart.CombineOptions<RegionData>;
/** The current layout rules */
layout: Chart.LayoutOptions;
/** The current selection */
selection: Index<Node | Link>;
}
interface Props {
/** A dictionary of nodes and links in the chart */
items: Items;
}
export const Demo = () => <Combos items={data()} />;
function Combos(props: Props) {
const { items } = props;
/* Tracks the country/region data for every node (include combos) */
const regionData = useRef<Index<RegionData>>({});
const [state, setState] = useState<State>({
openCombos: {},
combine: { level: 0, properties: ["country", "region"] },
layout: { tightness: 6 },
selection: {},
});
/** Update regionData with every node on first render */
useEffect(() => {
each(items, (item, id) => {
if (item.data) {
regionData.current[id] = (item as Node<RegionData>).data!;
}
});
}, []);
const combineLinksHandler = ({ setStyle, links, id1, id2 }: Chart.CombineLinksEvent) => {
const { country: end1Country, region: end1Region } = regionData.current[id1];
const { country: end2Country, region: end2Region } = regionData.current[id2];
const region1 = end1Region || getRegion(end1Country);
const region2 = end2Region || getRegion(end2Country);
setStyle({
width: 3 * Math.sqrt(Object.keys(links).length),
end1: { color: regionThemes[region1].iconColor },
end2: { color: regionThemes[region2].iconColor },
});
};
const combineNodesHandler = ({ setStyle, nodes, combo, id }: Chart.CombineNodesEvent) => {
const { combine, openCombos } = state;
const { country, region } = combo;
const isRegion = !country;
const regionTheme = regionThemes[region || getRegion(country)];
if (!regionData.current[id]) {
regionData.current[id] = { country, region };
}
const label = {
text: isRegion ? region : country,
color: demoTheme.comboFontColor,
fontSize: isRegion ? demoTheme.regionFontSize : demoTheme.countryFontSize,
};
setStyle({
open: !!openCombos[id],
arrange: isRegion && combine.level === 2 ? "concentric" : "lens",
label,
size: Math.sqrt(Object.keys(nodes).length),
border: {
color: demoTheme.borderColor,
width: 5,
},
color: isRegion ? regionTheme.regionOpenColor : regionTheme.countryOpenColor,
closedStyle: {
border: {
color: isRegion ? undefined : demoTheme.borderColor,
width: 2,
},
label: { text: label.text, position: "s" },
color: regionTheme.iconColor,
},
});
};
const combineCountry = () => {
const { combine } = state;
if (combine.level !== 1) {
setState((current) => {
return {
...current,
combine: { ...combine, level: 1 },
layout: { tightness: 2 },
selection: {},
};
});
}
};
const combineRegion = () => {
const { combine } = state;
if (combine.level !== undefined && combine.level < 2) {
setState((current) => {
return {
...current,
combine: { ...combine, level: 2 },
layout: { tightness: 2 },
selection: {},
};
});
}
};
const uncombine = () => {
const { combine } = state;
if (combine.level !== undefined && combine.level > 0) {
setState((current) => {
return {
...current,
combine: { ...combine, level: 0 },
layout: { tightness: 6 },
selection: {},
};
});
}
};
const doubleClickHandler = ({ id, itemType }: Chart.PointerEvent) => {
const { combine, openCombos } = state;
// if the id is a comboId, we want to toggle its open state
if (id && itemType === "combo") {
setState((current) => {
return {
...current,
combine: { ...combine },
openCombos: { ...openCombos, [id]: !openCombos[id] },
};
});
}
};
return (
<div className="story">
<div className="options">
<button type="button" onClick={combineCountry}>
Combine By Country
</button>
<button type="button" onClick={combineRegion}>
Combine By Region
</button>
<button type="button" onClick={uncombine}>
Uncombine all
</button>
</div>
<div className="chart-wrapper">
<Chart
items={items}
combine={state.combine}
layout={state.layout}
options={{
minZoom: 0.02,
selection: { color: "#333", labelColor: "white" },
}}
selection={state.selection}
animation={{ time: 800 }}
onCombineNodes={combineNodesHandler}
onCombineLinks={combineLinksHandler}
onDoubleClick={doubleClickHandler}
/>
</div>
</div>
);
}
const root = createRoot(document.getElementById("regraph"));
root.render(<Demo />); import { style } from "@ci/theme/rg/js/storyStyles";
import mapValues from "lodash/mapValues";
const Afghanistan = "/public/img/flags/afghanistan.svg";
const Algeria = "/public/img/flags/algeria.svg";
const Australia = "/public/img/flags/australia.svg";
const Belgium = "/public/img/flags/belgium.svg";
const Bosnia = "/public/img/flags/bosnia-and-herzegovina.svg";
const Britain = "/public/img/flags/united-kingdom.svg";
const Canada = "/public/img/flags/canada.svg";
const France = "/public/img/flags/france.svg";
const Germany = "/public/img/flags/germany.svg";
const Indonesia = "/public/img/flags/indonesia.svg";
const Italy = "/public/img/flags/italy.svg";
const Jordan = "/public/img/flags/jordan.svg";
const Kuwait = "/public/img/flags/kuwait.svg";
const Malaysia = "/public/img/flags/malaysia.svg";
const Morocco = "/public/img/flags/morocco.svg";
const Pakistan = "/public/img/flags/pakistan.svg";
const SaudiArabia = "/public/img/flags/saudi-arabia.svg";
const Singapore = "/public/img/flags/singapore.svg";
const Spain = "/public/img/flags/spain.svg";
const Sudan = "/public/img/flags/sudan.svg";
const Tanzania = "/public/img/flags/tanzania.svg";
const Turkey = "/public/img/flags/turkey.svg";
const USA = "/public/img/flags/united-states-of-america.svg";
const Yemen = "/public/img/flags/yemen.svg";
function getRegion(country) {
const regions = [
"Middle East",
"Europe",
"North America",
"South East",
"Unknown Region",
"Africa",
];
const mapping = {
Afghanistan: regions[0],
France: regions[1],
"Saudi Arabia": regions[0],
Malaysia: regions[3],
Germany: regions[1],
Morocco: regions[5],
"Unknown Country": regions[4],
Britain: regions[1],
Canada: regions[2],
Tanzania: regions[5],
Jordan: regions[0],
Sudan: regions[5],
Australia: regions[3],
Belgium: regions[1],
Italy: regions[1],
Pakistan: regions[0],
Spain: regions[1],
Bosnia: regions[1],
Turkey: regions[0],
USA: regions[2],
Kuwait: regions[0],
Algeria: regions[5],
Indonesia: regions[3],
Singapore: regions[3],
Yemen: regions[0],
};
if (!country) {
return null;
}
return mapping[country];
}
const demoTheme = {
linkColor: style.link.color,
countryFontSize: 26,
regionFontSize: 20,
borderColor: style.primary3.color,
comboFontColor: style.colors.charcoal,
};
const regionThemes = {
"Middle East": {
iconColor: style.primary2.color,
countryOpenColor: style.combo.color,
regionOpenColor: style.combo.color,
},
Europe: {
iconColor: style.cat03.color,
countryOpenColor: style.combo.color,
regionOpenColor: style.combo.color,
},
"North America": {
iconColor: style.primary3.color,
countryOpenColor: style.combo.color,
regionOpenColor: style.combo.color,
},
"South East": {
iconColor: style.cat01.color,
countryOpenColor: style.combo.color,
regionOpenColor: style.combo.color,
},
Africa: {
iconColor: style.cat05.color,
countryOpenColor: style.combo.color,
regionOpenColor: style.combo.color,
},
"Unknown Region": {
iconColor: style.colors.midGrey,
countryOpenColor: style.combo.color,
regionOpenColor: style.combo.color,
},
};
function styleItem(isRegion, region, item) {
if (item.id1 && item.id2) {
return { ...item, width: 5, color: demoTheme.linkColor };
}
const regionTheme = regionThemes[region];
const { country, t, u } = item;
const newItem = {
color: regionTheme.iconColor,
label: { text: t },
glyphs: [{ position: "ne", image: u }],
border: {
width: 2,
},
data: { country },
};
if (country !== "Unknown Country") {
newItem.data.region = region;
}
return newItem;
}
function data() {
const items = {
N1: { country: "Afghanistan", t: "Hassan al Fadli", u: Afghanistan },
N2: { country: "Afghanistan", t: "Nabil ibn al-Salim", u: Afghanistan },
N3: {
country: "Afghanistan",
t: "Mustafa al-Bakr",
u: Afghanistan,
},
N4: {
country: "Afghanistan",
t: "Ibrahim Abd Bakr",
u: Afghanistan,
},
N5: { country: "Pakistan", t: "Amir Abdal Faruq", u: Pakistan },
N6: {
country: "Pakistan",
t: "Omar Abu Omari",
u: Pakistan,
},
N7: {
country: "Afghanistan",
t: "Sami al Omari",
u: Afghanistan,
},
N8: {
country: "Afghanistan",
t: "Yusuf al-Fadli",
u: Afghanistan,
},
N9: { country: "Unknown Country", t: "Tariq ibn Bakr", u: "" },
N10: { country: "Afghanistan", t: "Yusuf Abd Fadli", u: Afghanistan },
N11: { country: "Afghanistan", t: "Ahmed al Rahman", u: Afghanistan },
N12: { country: "Afghanistan", t: "Zaid Abdal Faruq", u: Afghanistan },
N13: {
country: "Afghanistan",
t: "Yusuf ibn Anwar",
u: Afghanistan,
},
N14: { country: "Pakistan", t: "Mustafa Abu Fadli", u: Pakistan },
N15: {
country: "Afghanistan",
t: "Nabil Abd Najjar",
u: Afghanistan,
},
N16: {
country: "Afghanistan",
t: "Faisal ibn al-Qureshi",
u: Afghanistan,
},
N17: {
country: "Saudi Arabia",
t: "Faisal al Salim",
u: SaudiArabia,
},
N18: {
country: "Afghanistan",
t: "Tariq Abdal Zaman",
u: Afghanistan,
},
N19: { country: "Pakistan", t: "Karim al Najjar", u: Pakistan },
N20: { country: "Afghanistan", t: "Zaid ibn Faruq", u: Afghanistan },
N21: {
country: "Pakistan",
t: "Ahmed ibn al-Faruq",
u: Pakistan,
},
N22: {
country: "Afghanistan",
t: "Saad al-Omari",
u: Afghanistan,
},
N23: {
country: "Jordan",
t: "Sami ibn Shafi",
u: Jordan,
},
N24: { country: "Afghanistan", t: "Zaid al Hassan", u: Afghanistan },
N25: {
country: "Saudi Arabia",
t: "Ali al-Zaman",
u: SaudiArabia,
},
N26: { country: "Afghanistan", t: "Faisal Abdal Ghamdi", u: Afghanistan },
N27: { country: "Sudan", t: "Tariq al Bakr", u: Sudan },
N28: { country: "Kuwait", t: "Saad ibn Omari", u: Kuwait },
N29: { country: "Afghanistan", t: "Bilal al Najjar", u: Afghanistan },
N30: {
country: "Afghanistan",
t: "Omar al-Omari",
u: Afghanistan,
},
N31: {
country: "Britain",
t: "Faisal ibn Tahir",
u: Britain,
},
N32: {
country: "Afghanistan",
t: "Ali ibn Harbi",
u: Afghanistan,
},
N33: {
country: "Afghanistan",
t: "Yusuf Abdal Mahdi",
u: Afghanistan,
},
N34: {
country: "Afghanistan",
t: "Mustafa Abu Najjar",
u: Afghanistan,
},
N35: { country: "Yemen", t: "Ibrahim al-Rahman", u: Yemen },
N36: { country: "Afghanistan", t: "Yusuf Abd Hassan", u: Afghanistan },
N37: {
country: "Afghanistan",
t: "Hassan Abd Shehri",
u: Afghanistan,
},
N38: { country: "USA", t: "Bilal Abd Salim", u: USA },
N39: {
country: "Afghanistan",
t: "Omar ibn al-Salim",
u: Afghanistan,
},
N40: { country: "USA", t: "Faisal Abdal Qureshi", u: USA },
N41: {
country: "Afghanistan",
t: "Amir al Tahir",
u: Afghanistan,
},
N42: { country: "Pakistan", t: "Mohammed al Qureshi", u: Pakistan },
N43: { country: "Afghanistan", t: "Abdul Abdal Mahdi", u: Afghanistan },
N44: { country: "Pakistan", t: "Zaid ibn al-Qureshi", u: Pakistan },
N45: {
country: "Saudi Arabia",
t: "Abdul Abdal Harbi",
u: SaudiArabia,
},
N46: { country: "Afghanistan", t: "Nabil Abdal Tahir", u: Afghanistan },
N47: { country: "Afghanistan", t: "Mustafa ibn al-Karim", u: Afghanistan },
N48: { country: "Afghanistan", t: "Zaid Abd Hussein", u: Afghanistan },
N49: { country: "Italy", t: "L'Houssaine Kherchtou", u: Italy },
N50: { country: "Afghanistan", t: "Abdul Abd Fawaz", u: Afghanistan },
N51: { country: "Pakistan", t: "Omar al Faruq", u: Pakistan },
N52: { country: "Tanzania", t: "Abdul Abd Fadli", u: Tanzania },
N53: { country: "Britain", t: "Saad Abd Shafi", u: Britain },
N54: { country: "Germany", t: "Faisal bin Faruq", u: Germany },
N55: {
country: "Afghanistan",
t: "Khalid ibn Hassan",
u: Afghanistan,
},
N56: {
country: "Saudi Arabia",
t: "Amir ibn Mahdi",
u: SaudiArabia,
},
N57: { country: "Germany", t: "Amir ibn al-Harbi", u: Germany },
N58: { country: "Germany", t: "Yusuf Abdal Rahman", u: Germany },
N59: { country: "Germany", t: "Zaid Abd Bakr", u: Germany },
N60: { country: "Germany", t: "Ali al Karim", u: Germany },
N61: { country: "Germany", t: "Nabil bin Mahdi", u: Germany },
N62: { country: "Germany", t: "Amir Abdal Bakr", u: Germany },
N63: {
country: "Germany",
t: "Zaid al Harbi",
u: Germany,
},
N64: {
country: "Germany",
t: "Zaid ibn Hassan",
u: Germany,
},
N65: { country: "Germany", t: "Amir al-Hassan", u: Germany },
N66: { country: "Germany", t: "Khalid al Salim", u: Germany },
N67: { country: "Germany", t: "Hassan Abdal Hassan", u: Germany },
N68: { country: "USA", t: "Jamal Abu Shehri", u: USA },
N69: { country: "Saudi Arabia", t: "Nabil ibn al-Fadli", u: SaudiArabia },
N70: { country: "Unknown Country", t: "Karim ibn al-Shehri" },
N71: { country: "Saudi Arabia", t: "Yusuf al-Karim", u: SaudiArabia },
N72: {
country: "Saudi Arabia",
t: "Mustafa bin Faruq",
u: SaudiArabia,
},
N73: {
country: "Saudi Arabia",
t: "Ali Abd Shafi",
u: SaudiArabia,
},
N74: {
country: "Saudi Arabia",
t: "Mohammed bin Anwar",
u: SaudiArabia,
},
N75: { country: "Saudi Arabia", t: "Khalid al-Hussein", u: SaudiArabia },
N76: {
country: "Saudi Arabia",
t: "Amir Abd Omari",
u: SaudiArabia,
},
N77: {
country: "Saudi Arabia",
t: "Amir Abu Ghamdi",
u: SaudiArabia,
},
N78: {
country: "Saudi Arabia",
t: "Yusuf al Shafi",
u: SaudiArabia,
},
N79: {
country: "Saudi Arabia",
t: "Abdul Abdal Shehri",
u: SaudiArabia,
},
N80: {
country: "Saudi Arabia",
t: "Yusuf Abd Qureshi",
u: SaudiArabia,
},
N81: { country: "Saudi Arabia", t: "Mohammed Abu Fadli", u: SaudiArabia },
N82: { country: "Saudi Arabia", t: "Bilal al Rahman", u: SaudiArabia },
N83: { country: "Saudi Arabia", t: "Karim al-Fadli", u: SaudiArabia },
N84: {
country: "Morocco",
t: "Ali Abdal Omari",
u: Morocco,
},
N85: { country: "Pakistan", t: "Nabil al Omari", u: Pakistan },
N86: {
country: "USA",
t: "Saad Abdal Omari",
u: USA,
},
N87: { country: "Canada", t: "Bilal al Anwar", u: Canada },
N88: { country: "Yemen", t: "Khalid ibn al-Najjar", u: Yemen },
N89: { country: "Germany", t: "Khalid ibn Tahir", u: Germany },
N90: { country: "Britain", t: "Yusuf Abu Fadli", u: Britain },
N91: { country: "Pakistan", t: "Saad al Fadli", u: Pakistan },
N92: { country: "Unknown Country", t: "Mohammed Abd Anwar" },
N93: { country: "Unknown Country", t: "Bilal al-Zaman" },
N94: { country: "Afghanistan", t: "Ali Abd Mahdi", u: Afghanistan },
N95: { country: "Afghanistan", t: "Faisal Abdal Omari", u: Afghanistan },
N96: { country: "Afghanistan", t: "Zaid Abu Shafi", u: Afghanistan },
N97: { country: "Canada", t: "Mohammed Abu Hassan", u: Canada },
N98: { country: "Canada", t: "Saad Abdal Fadli", u: Canada },
N99: {
country: "Saudi Arabia",
t: "Ali Abdal Hassan",
u: SaudiArabia,
},
N100: {
country: "Saudi Arabia",
t: "Saad ibn al-Karim",
u: SaudiArabia,
},
N101: {
country: "Saudi Arabia",
t: "Saad bin Omari",
u: SaudiArabia,
},
N102: {
country: "Saudi Arabia",
t: "Ali bin Harbi",
u: SaudiArabia,
},
N103: {
country: "Saudi Arabia",
t: "Mohammed bin Ghamdi",
u: SaudiArabia,
},
N104: { country: "Germany", t: "James Wright", u: Germany },
N105: {
country: "Afghanistan",
t: "Nabil Abd Qureshi",
u: Afghanistan,
},
N106: { country: "Unknown Country", t: "Mustafa al Anwar" },
N107: { country: "Afghanistan", t: "Bilal ibn al-Zaman", u: Afghanistan },
N108: {
country: "Afghanistan",
t: "Abdul Abu Najjar",
u: Afghanistan,
},
N109: { country: "Britain", t: "Hassan Abdal Najjar", u: Britain },
N110: { country: "Britain", t: "Ibrahim Abd Qureshi", u: Britain },
N111: { country: "Britain", t: "Hassan Abd Fawaz", u: Britain },
N112: { country: "Britain", t: "Khalid Abdal Shehri", u: Britain },
N113: { country: "Britain", t: "Omar ibn al-Faruq", u: Britain },
N114: { country: "Britain", t: "Samuel Taylor", u: Britain },
N115: { country: "Britain", t: "Khalid Abu Ghamdi", u: Britain },
N116: { country: "Britain", t: "Jamal al Hussein", u: Britain },
N117: { country: "Britain", t: "Mohammed al Shehri", u: Britain },
N118: { country: "Yemen", t: "Saad Abd Shehri", u: Yemen },
N119: { country: "Yemen", t: "Omar Abu Anwar", u: Yemen },
N120: {
country: "Afghanistan",
t: "Jamal Abd Rahman",
u: Afghanistan,
},
N121: {
country: "Afghanistan",
t: "Jamal ibn Hussein",
u: Afghanistan,
},
N122: { country: "Kuwait", t: "Hassan al Hussein", u: Kuwait },
N123: {
country: "Kuwait",
t: "Mustafa Abdal Harbi",
u: Kuwait,
},
N124: { country: "Kuwait", t: "Ahmed Abdal Salim", u: Kuwait },
N125: { country: "Kuwait", t: "Abdul Abu Anwar", u: Kuwait },
N126: {
country: "Kuwait",
t: "Tariq Abdal Hussein",
u: Kuwait,
},
N127: { country: "Kuwait", t: "Faisal bin Mahdi", u: Kuwait },
N128: {
country: "Afghanistan",
t: "Omar al Anwar",
u: Afghanistan,
},
N129: {
country: "Afghanistan",
t: "Mustafa Abd Harbi",
u: Afghanistan,
},
N130: {
country: "Afghanistan",
t: "Nabil Abd Ghamdi",
u: Afghanistan,
},
N131: {
country: "Saudi Arabia",
t: "Saad Abd Faruq",
u: SaudiArabia,
},
N132: { country: "Unknown Country", t: "Ahmed Abu Tahir" },
N133: {
country: "Saudi Arabia",
t: "Mustafa Abdal Bakr",
u: SaudiArabia,
},
N134: {
country: "Saudi Arabia",
t: "Bilal al-Mahdi",
u: SaudiArabia,
},
N135: { country: "Saudi Arabia", t: "Mustafa Abu Shehri", u: SaudiArabia },
N136: {
country: "Saudi Arabia",
t: "Ali ibn Karim",
u: SaudiArabia,
},
N137: {
country: "Saudi Arabia",
t: "Amir Abu Shafi",
u: SaudiArabia,
},
N138: { country: "Turkey", t: "Ahmed bin Zaman", u: Turkey },
N139: { country: "Turkey", t: "Hassan Abu Ghamdi", u: Turkey },
N140: { country: "Turkey", t: "Yusuf Abu Bakr", u: Turkey },
N141: { country: "Pakistan", t: "Tariq ibn al-Anwar", u: Pakistan },
N142: { country: "Pakistan", t: "Ali al Shehri", u: Pakistan },
N143: { country: "Turkey", t: "Tariq al-Tahir", u: Turkey },
N144: { country: "Turkey", t: "Saad al-Shehri", u: Turkey },
N145: { country: "Turkey", t: "Yusuf Abd Karim", u: Turkey },
N146: { country: "Turkey", t: "Nabil Abu Fawaz", u: Turkey },
N147: { country: "Pakistan", t: "Yusuf Abdal Zaman", u: Pakistan },
N148: { country: "Turkey", t: "Faisal ibn al-Zaman", u: Turkey },
N149: { country: "Germany", t: "Ali Abd Qureshi", u: Germany },
N150: { country: "Unknown Country", t: "Ahmed Abd Fawaz" },
N151: { country: "Malaysia", t: "Bilal ibn al-Fawaz", u: Malaysia },
N152: { country: "Malaysia", t: "Nabil bin Hassan", u: Malaysia },
N153: { country: "Malaysia", t: "Ibrahim Abu Rahman", u: Malaysia },
N154: {
country: "Afghanistan",
t: "Saad bin Shafi",
u: Afghanistan,
},
N155: { country: "Malaysia", t: "Amir ibn al-Shehri", u: Malaysia },
N156: { country: "Malaysia", t: "Bilal bin Tahir", u: Malaysia },
N157: { country: "Afghanistan", t: "Amir Abdal Karim", u: Afghanistan },
N158: { country: "Malaysia", t: "Yusuf Abdal Qureshi", u: Malaysia },
N159: { country: "Malaysia", t: "Hassan Abdal Karim", u: Malaysia },
N160: { country: "Malaysia", t: "Hassan ibn al-Fadli", u: Malaysia },
N161: { country: "Malaysia", t: "Zaid al-Faruq", u: Malaysia },
N162: { country: "Malaysia", t: "Ali Abu Omari", u: Malaysia },
N163: { country: "Malaysia", t: "Omar Abd Harbi", u: Malaysia },
N164: { country: "Malaysia", t: "Zaid Abu Harbi", u: Malaysia },
N165: { country: "Indonesia", t: "Jamal al-Hussein", u: Indonesia },
N166: { country: "Malaysia", t: "Yusuf Abd Harbi", u: Malaysia },
N167: { country: "Afghanistan", t: "Abdul ibn al-Faruq", u: Afghanistan },
N168: { country: "Singapore", t: "Jamal Abu Bakr", u: Singapore },
N169: {
country: "Singapore",
t: "Saad ibn al-Zaman",
u: Singapore,
},
N170: { country: "Singapore", t: "Jamal bin Hussein", u: Singapore },
N171: {
country: "Afghanistan",
t: "Amir ibn al-Fadli",
u: Afghanistan,
},
N172: { country: "Malaysia", t: "Ali Abu Anwar", u: Malaysia },
N173: { country: "Malaysia", t: "Ahmed bin Bakr", u: Malaysia },
N174: { country: "Malaysia", t: "Tariq al-Salim", u: Malaysia },
N175: { country: "Afghanistan", t: "Ahmed Abdal Ghamdi", u: Afghanistan },
N176: { country: "Malaysia", t: "Omar bin Qureshi", u: Malaysia },
N177: { country: "Malaysia", t: "Karim bin Anwar", u: Malaysia },
N178: { country: "Malaysia", t: "Ali Abdal Anwar", u: Malaysia },
N179: { country: "Afghanistan", t: "Omar Abdal Anwar", u: Afghanistan },
N180: { country: "Malaysia", t: "Zaid bin Qureshi", u: Malaysia },
N181: { country: "Singapore", t: "Mustafa Abd Hassan", u: Singapore },
N182: { country: "Indonesia", t: "Nabil Abdal Hussein", u: Indonesia },
N183: { country: "Afghanistan", t: "Bilal bin Anwar", u: Afghanistan },
N184: { country: "Unknown Country", t: "Zaid Abu Tahir" },
N185: { country: "Unknown Country", t: "Nabil ibn al-Bakr" },
N186: {
country: "Malaysia",
t: "Abdul ibn al-Rahman",
u: Malaysia,
},
N187: { country: "Malaysia", t: "Ibrahim ibn al-Bakr", u: Malaysia },
N188: { country: "Indonesia", t: "Khalid al-Rahman", u: Indonesia },
N189: { country: "Unknown Country", t: "Karim Abu Rahman" },
N190: { country: "Malaysia", t: "Nabil Abdal Faruq", u: Malaysia },
N191: {
country: "Afghanistan",
t: "Omar Abu Bakr",
u: Afghanistan,
},
N192: { country: "Malaysia", t: "Nabil Abd Rahman", u: Malaysia },
N193: { country: "Afghanistan", t: "Abdul ibn al-Karim", u: Afghanistan },
N194: { country: "Unknown Country", t: "Faisal bin Omari" },
N195: { country: "Afghanistan", t: "Abdul ibn Tahir", u: Afghanistan },
N196: { country: "Afghanistan", t: "Tariq al-Fadli", u: Afghanistan },
N197: { country: "Indonesia", t: "Khalid Abd Bakr", u: Indonesia },
N198: { country: "Singapore", t: "Mohammed ibn al-Rahman", u: Singapore },
N199: {
country: "Singapore",
t: "Amir al Faruq",
u: Singapore,
},
N200: { country: "Australia", t: "Matthew Miller", u: Australia },
N201: { country: "Australia", t: "Daniel Green", u: Australia },
N202: { country: "Spain", t: "Hassan Abdal Faruq", u: Spain },
N203: { country: "Algeria", t: "Jamal ibn Ghamdi", u: Algeria },
N204: { country: "Afghanistan", t: "Nabil bin Shafi", u: Afghanistan },
N205: { country: "Afghanistan", t: "Karim Abu Fadli", u: Afghanistan },
N206: { country: "France", t: "Ahmed bin Rahman", u: France },
N207: { country: "France", t: "Bilal al Bakr", u: France },
N208: { country: "Germany", t: "Ahmed bin Harbi", u: Germany },
N209: { country: "France", t: "Zaid Abu Shehri", u: France },
N210: { country: "France", t: "Mark Lewis", u: France },
N211: { country: "France", t: "Ali bin Qureshi", u: France },
N212: { country: "France", t: "Jamal Abd Anwar", u: France },
N213: { country: "France", t: "Jamal ibn Shafi", u: France },
N214: { country: "France", t: "Nabil bin Fadli", u: France },
N215: { country: "France", t: "Mohammed al Anwar", u: France },
N216: { country: "France", t: "Omar Abd Ghamdi", u: France },
N217: { country: "France", t: "Sami Abu Anwar", u: France },
N218: { country: "France", t: "Karim ibn al-Anwar", u: France },
N219: { country: "France", t: "Amir ibn Fawaz", u: France },
N220: { country: "France", t: "Ibrahim Abu Salim", u: France },
N221: { country: "France", t: "Faisal Abu Shafi", u: France },
N222: { country: "Unknown Country", t: "Yusuf ibn Zaman" },
N223: { country: "France", t: "Saad ibn al-Anwar", u: France },
N224: { country: "Algeria", t: "Faisal Abu Salim", u: Algeria },
N225: { country: "France", t: "Hassan ibn Rahman", u: France },
N226: { country: "Algeria", t: "Tariq bin Karim", u: Algeria },
N227: { country: "France", t: "Sami bin Fadli", u: France },
N228: { country: "France", t: "Abdul Abd Hussein", u: France },
N229: { country: "France", t: "Mohammed Abdal Najjar", u: France },
N230: { country: "France", t: "Richard Lewis", u: France },
N231: { country: "France", t: "Michael Miller", u: France },
N232: { country: "France", t: "Faisal al Shafi", u: France },
N233: { country: "France", t: "Ibrahim al-Fadli", u: France },
N234: { country: "France", t: "Ahmed ibn Omari", u: France },
N235: { country: "France", t: "Ibrahim Abd Karim", u: France },
N236: { country: "France", t: "Zaid al Qureshi", u: France },
N237: { country: "France", t: "Omar ibn al-Shafi", u: France },
N238: { country: "France", t: "Abdul bin Ghamdi", u: France },
N239: { country: "Algeria", t: "Faisal al-Fadli", u: Algeria },
N240: { country: "Bosnia", t: "Mark Jones", u: Bosnia },
N241: { country: "Bosnia", t: "Richard Williams", u: Bosnia },
N242: { country: "France", t: "Hassan ibn Faruq", u: France },
N243: { country: "France", t: "Zaid Abu Salim", u: France },
N244: { country: "France", t: "Ali al-Tahir", u: France },
N245: { country: "Bosnia", t: "Nabil Abu Harbi", u: Bosnia },
N246: { country: "France", t: "Faisal bin Bakr", u: France },
N247: { country: "France", t: "Amir Abu Omari", u: France },
N248: { country: "France", t: "Khalid al Hussein", u: France },
N249: { country: "France", t: "Ahmed Abdal Najjar", u: France },
N250: { country: "Afghanistan", t: "Jamal Abd Hussein", u: Afghanistan },
N251: { country: "Canada", t: "Amir bin Fawaz", u: Canada },
N252: { country: "Canada", t: "Ibrahim al Zaman", u: Canada },
N253: { country: "Bosnia", t: "Ahmed al-Zaman", u: Bosnia },
N254: { country: "Afghanistan", t: "Ali Abu Najjar", u: Afghanistan },
N255: { country: "Canada", t: "Faisal ibn Omari", u: Canada },
N256: { country: "Canada", t: "Faisal Abdal Tahir", u: Canada },
N257: { country: "Canada", t: "Omar ibn al-Mahdi", u: Canada },
N258: { country: "Canada", t: "Sami ibn al-Faruq", u: Canada },
N259: { country: "Canada", t: "Bilal Abu Bakr", u: Canada },
N260: { country: "Canada", t: "Omar ibn Najjar", u: Canada },
N261: { country: "Canada", t: "Ahmed ibn Mahdi", u: Canada },
N262: { country: "Canada", t: "Omar al-Fadli", u: Canada },
N263: { country: "USA", t: "Hassan al-Mahdi", u: USA },
N264: { country: "Unknown Country", t: "Saad Abd Omari" },
N265: { country: "Britain", t: "Omar Abu Fawaz", u: Britain },
N266: { country: "Britain", t: "Amir Abdal Qureshi", u: Britain },
N267: { country: "Germany", t: "Amir Abu Fadli", u: Germany },
N268: { country: "Algeria", t: "Abdul Abu Fawaz", u: Algeria },
N269: { country: "Britain", t: "Saad al Hassan", u: Britain },
N270: { country: "Unknown Country", t: "Amir ibn al-Bakr" },
N271: { country: "Unknown Country", t: "Ali bin Shehri" },
N272: { country: "Unknown Country", t: "Saad Abdal Ghamdi" },
N273: { country: "Germany", t: "Michael Williams", u: Germany },
N274: { country: "Bosnia", t: "Faisal al-Salim", u: Bosnia },
N275: { country: "Bosnia", t: "Zaid Abdal Zaman", u: Bosnia },
N276: { country: "Algeria", t: "Saad al-Fadli", u: Algeria },
N277: { country: "France", t: "Faisal ibn Hassan", u: France },
N278: { country: "France", t: "Ibrahim ibn Hussein", u: France },
N279: { country: "France", t: "Hassan bin Hassan", u: France },
N280: { country: "France", t: "Abdul al-Ghamdi", u: France },
N281: { country: "Yemen", t: "Zaid al-Tahir", u: Yemen },
N282: { country: "Italy", t: "Nabil ibn al-Rahman", u: Italy },
N283: { country: "Belgium", t: "Jamal al Qureshi", u: Belgium },
N284: { country: "Belgium", t: "Ibrahim ibn Anwar", u: Belgium },
N285: { country: "Belgium", t: "Jamal al Shafi", u: Belgium },
N286: { country: "Belgium", t: "Saad Abdal Shafi", u: Belgium },
N287: { country: "Germany", t: "Nabil al Hassan", u: Germany },
N288: { country: "Germany", t: "Hassan Abdal Ghamdi", u: Germany },
N289: { country: "France", t: "Ibrahim al-Hussein", u: France },
N290: { country: "France", t: "Ali al Hassan", u: France },
N291: { country: "France", t: "Richard Wilson", u: France },
N292: { country: "France", t: "Stephen Green", u: France },
N293: { country: "Britain", t: "Khalid ibn Mahdi", u: Britain },
N294: { country: "France", t: "Omar Abd Tahir", u: France },
N295: { country: "France", t: "Mohammed Abdal Fawaz", u: France },
N296: { country: "France", t: "Ibrahim bin Zaman", u: France },
N297: { country: "France", t: "Abdul Abd Shehri", u: France },
N298: { country: "France", t: "Daniel Scott", u: France },
N299: { country: "France", t: "Daniel Brown", u: France },
N300: { country: "France", t: "Mark Wilson", u: France },
N301: { country: "France", t: "Andrew Scott", u: France },
N302: { country: "France", t: "John Miller", u: France },
N303: { country: "Canada", t: "Mustafa al-Shafi", u: Canada },
N304: { country: "France", t: "Faisal al Hussein", u: France },
N305: { country: "France", t: "Ali al Omari", u: France },
N306: { country: "Spain", t: "Saad ibn al-Hussein", u: Spain },
N307: { country: "Spain", t: "Faisal Abu Qureshi", u: Spain },
N308: { country: "Spain", t: "Ali Abu Bakr", u: Spain },
N309: { country: "Spain", t: "Omar Abd Najjar", u: Spain },
N310: { country: "Spain", t: "Nabil Abu Mahdi", u: Spain },
N311: { country: "Bosnia", t: "Zaid al Faruq", u: Bosnia },
N312: { country: "Afghanistan", t: "Ibrahim Abdal Fadli", u: Afghanistan },
N313: { country: "Spain", t: "Matthew Lewis", u: Spain },
N314: { country: "Bosnia", t: "Khalid al-Fadli", u: Bosnia },
N315: { country: "Bosnia", t: "Hassan ibn Shafi", u: Bosnia },
N316: { country: "Spain", t: "Tariq bin Anwar", u: Spain },
N317: { country: "Spain", t: "Hassan bin Rahman", u: Spain },
N318: { country: "Spain", t: "Ali Abd Hussein", u: Spain },
N319: { country: "Spain", t: "Amir ibn al-Zaman", u: Spain },
N320: { country: "Spain", t: "Hassan ibn Bakr", u: Spain },
N321: {
country: "Afghanistan",
t: "Charles Jones",
u: Afghanistan,
},
N322: { country: "Morocco", t: "Jamal al Omari", u: Morocco },
N323: { country: "Morocco", t: "Nabil Abu Tahir", u: Morocco },
N324: { country: "Morocco", t: "Saad Abu Shafi", u: Morocco },
N325: { country: "Morocco", t: "Sami ibn al-Ghamdi", u: Morocco },
N326: { country: "Morocco", t: "Zaid bin Zaman", u: Morocco },
N327: { country: "Morocco", t: "Jamal ibn Shehri", u: Morocco },
N328: { country: "Morocco", t: "Zaid bin Omari", u: Morocco },
N329: { country: "Morocco", t: "Ahmed al Najjar", u: Morocco },
N330: { country: "Morocco", t: "Tariq ibn al-Karim", u: Morocco },
N331: { country: "Morocco", t: "Ibrahim Abu Fawaz", u: Morocco },
N332: { country: "Morocco", t: "Hassan Abd Rahman", u: Morocco },
N333: { country: "Morocco", t: "Omar al Hassan", u: Morocco },
N334: { country: "Morocco", t: "Saad Abu Najjar", u: Morocco },
N335: { country: "Morocco", t: "Mohammed al Najjar", u: Morocco },
N336: { country: "Morocco", t: "Ali bin Salim", u: Morocco },
N337: { country: "Morocco", t: "Sami Abu Rahman", u: Morocco },
N338: { country: "Morocco", t: "Hassan ibn al-Faruq", u: Morocco },
N339: { country: "Morocco", t: "Amir ibn al-Salim", u: Morocco },
N340: { country: "Morocco", t: "Saad Abu Tahir", u: Morocco },
N341: { country: "Afghanistan", t: "Mohammed Abdal Salim", u: Afghanistan },
N342: { country: "Afghanistan", t: "Faisal Abu Fawaz", u: Afghanistan },
N343: { country: "Afghanistan", t: "Karim Abdal Harbi", u: Afghanistan },
N344: {
country: "Afghanistan",
t: "Mohammed ibn al-Omari",
u: Afghanistan,
},
N345: { country: "Afghanistan", t: "Mustafa Abdal Fawaz", u: Afghanistan },
N346: { country: "Australia", t: "Ahmed ibn al-Harbi", u: Australia },
N347: { country: "Afghanistan", t: "Nabil al Anwar", u: Afghanistan },
N348: { country: "France", t: "Jamal Abdal Shehri", u: France },
N349: { country: "Germany", t: "Khalid Abdal Hassan", u: Germany },
N350: { country: "Sudan", t: "Omar Abu Salim", u: Sudan },
N351: { country: "Afghanistan", t: "Faisal al-Zaman", u: Afghanistan },
N352: {
country: "Canada",
t: "Khalid Abu Shafi",
u: Canada,
},
N353: { country: "Britain", t: "Matthew Jones", u: Britain },
N354: { country: "Unknown Country", t: "Ahmed bin Ghamdi" },
N355: { country: "Spain", t: "Hassan bin Fawaz", u: Spain },
N356: { country: "USA", t: "Faisal Abdal Harbi", u: USA },
N357: { country: "Afghanistan", t: "Faisal Abu Faruq", u: Afghanistan },
N358: {
country: "Afghanistan",
t: "Hassan al Shafi",
u: Afghanistan,
},
N359: { country: "Bosnia", t: "Anthony King", u: Bosnia },
N360: { country: "Australia", t: "Faisal al-Rahman", u: Australia },
N361: { country: "Pakistan", t: "Tariq Abd Fawaz", u: Pakistan },
N362: { country: "USA", t: "Ali bin Rahman", u: USA },
N363: { country: "Afghanistan", t: "Karim bin Fadli", u: Afghanistan },
N364: { country: "Unknown Country", t: "Sami ibn al-Tahir" },
N365: { country: "Indonesia", t: "Ibrahim Abdal Anwar", u: Indonesia },
N366: { country: "Indonesia", t: "Tariq al Salim", u: Indonesia },
"N1/p/N10": { id1: "N1", id2: "N10" },
"N1/p/N14": { id1: "N1", id2: "N14" },
"N1/p/N15": { id1: "N1", id2: "N15" },
"N1/p/N152": { id1: "N1", id2: "N152" },
"N1/p/N16": { id1: "N1", id2: "N16" },
"N1/p/N357": { id1: "N1", id2: "N357" },
"N1/p/N363": { id1: "N1", id2: "N363" },
"N1/p/N43": { id1: "N1", id2: "N43" },
"N1/p/N5": { id1: "N1", id2: "N5" },
"N1/p/N6": { id1: "N1", id2: "N6" },
"N1/p/N7": { id1: "N1", id2: "N7" },
"N1/p/N8": { id1: "N1", id2: "N8" },
"N10/p/N2": { id1: "N10", id2: "N2" },
"N10/p/N4": { id1: "N10", id2: "N4" },
"N10/p/N6": { id1: "N10", id2: "N6" },
"N104/p/N149": { id1: "N104", id2: "N149" },
"N104/p/N54": { id1: "N104", id2: "N54" },
"N107/p/N120": { id1: "N107", id2: "N120" },
"N108/p/N105": { id1: "N108", id2: "N105" },
"N108/p/N27": { id1: "N108", id2: "N27" },
"N108/p/N29": { id1: "N108", id2: "N29" },
"N109/p/N29": { id1: "N109", id2: "N29" },
"N11/p/N2": { id1: "N11", id2: "N2" },
"N11/p/N21": { id1: "N11", id2: "N21" },
"N11/p/N34": { id1: "N11", id2: "N34" },
"N11/p/N6": { id1: "N11", id2: "N6" },
"N110/p/N29": { id1: "N110", id2: "N29" },
"N112/p/N29": { id1: "N112", id2: "N29" },
"N115/p/N111": { id1: "N115", id2: "N111" },
"N115/p/N113": { id1: "N115", id2: "N113" },
"N117/p/N113": { id1: "N117", id2: "N113" },
"N118/p/N108": { id1: "N118", id2: "N108" },
"N12/p/N2": { id1: "N12", id2: "N2" },
"N12/p/N6": { id1: "N12", id2: "N6" },
"N120/p/N1": { id1: "N120", id2: "N1" },
"N124/p/N126": { id1: "N124", id2: "N126" },
"N125/p/N126": { id1: "N125", id2: "N126" },
"N13/p/N2": { id1: "N13", id2: "N2" },
"N13/p/N21": { id1: "N13", id2: "N21" },
"N13/p/N23": { id1: "N13", id2: "N23" },
"N13/p/N25": { id1: "N13", id2: "N25" },
"N13/p/N34": { id1: "N13", id2: "N34" },
"N13/p/N6": { id1: "N13", id2: "N6" },
"N138/p/N142": { id1: "N138", id2: "N142" },
"N140/p/N139": { id1: "N140", id2: "N139" },
"N141/p/N143": { id1: "N141", id2: "N143" },
"N141/p/N147": { id1: "N141", id2: "N147" },
"N141/p/N148": { id1: "N141", id2: "N148" },
"N147/p/N148": { id1: "N147", id2: "N148" },
"N149/p/N54": { id1: "N149", id2: "N54" },
"N151/p/N195": { id1: "N151", id2: "N195" },
"N153/p/N155": { id1: "N153", id2: "N155" },
"N153/p/N167": { id1: "N153", id2: "N167" },
"N153/p/N175": { id1: "N153", id2: "N175" },
"N153/p/N179": { id1: "N153", id2: "N179" },
"N153/p/N195": { id1: "N153", id2: "N195" },
"N153/p/N196": { id1: "N153", id2: "N196" },
"N154/p/N1": { id1: "N154", id2: "N1" },
"N154/p/N41": { id1: "N154", id2: "N41" },
"N154/p/N43": { id1: "N154", id2: "N43" },
"N155/p/N161": { id1: "N155", id2: "N161" },
"N155/p/N175": { id1: "N155", id2: "N175" },
"N155/p/N180": { id1: "N155", id2: "N180" },
"N156/p/N151": { id1: "N156", id2: "N151" },
"N156/p/N152": { id1: "N156", id2: "N152" },
"N156/p/N167": { id1: "N156", id2: "N167" },
"N156/p/N175": { id1: "N156", id2: "N175" },
"N156/p/N191": { id1: "N156", id2: "N191" },
"N157/p/N153": { id1: "N157", id2: "N153" },
"N157/p/N158": { id1: "N157", id2: "N158" },
"N158/p/N161": { id1: "N158", id2: "N161" },
"N161/p/N167": { id1: "N161", id2: "N167" },
"N161/p/N175": { id1: "N161", id2: "N175" },
"N161/p/N179": { id1: "N161", id2: "N179" },
"N161/p/N195": { id1: "N161", id2: "N195" },
"N161/p/N196": { id1: "N161", id2: "N196" },
"N165/p/N156": { id1: "N165", id2: "N156" },
"N166/p/N173": { id1: "N166", id2: "N173" },
"N166/p/N175": { id1: "N166", id2: "N175" },
"N174/p/N180": { id1: "N174", id2: "N180" },
"N175/p/N179": { id1: "N175", id2: "N179" },
"N175/p/N195": { id1: "N175", id2: "N195" },
"N175/p/N196": { id1: "N175", id2: "N196" },
"N175/p/N6": { id1: "N175", id2: "N6" },
"N177/p/N180": { id1: "N177", id2: "N180" },
"N178/p/N173": { id1: "N178", id2: "N173" },
"N184/p/N153": { id1: "N184", id2: "N153" },
"N185/p/N153": { id1: "N185", id2: "N153" },
"N19/p/N355": { id1: "N19", id2: "N355" },
"N196/p/N151": { id1: "N196", id2: "N151" },
"N2/p/N21": { id1: "N2", id2: "N21" },
"N2/p/N26": { id1: "N2", id2: "N26" },
"N2/p/N27": { id1: "N2", id2: "N27" },
"N2/p/N30": { id1: "N2", id2: "N30" },
"N2/p/N33": { id1: "N2", id2: "N33" },
"N2/p/N357": { id1: "N2", id2: "N357" },
"N2/p/N5": { id1: "N2", id2: "N5" },
"N2/p/N6": { id1: "N2", id2: "N6" },
"N2/p/N8": { id1: "N2", id2: "N8" },
"N202/p/N306": { id1: "N202", id2: "N306" },
"N203/p/N239": { id1: "N203", id2: "N239" },
"N204/p/N211": { id1: "N204", id2: "N211" },
"N204/p/N212": { id1: "N204", id2: "N212" },
"N204/p/N213": { id1: "N204", id2: "N213" },
"N205/p/N206": { id1: "N205", id2: "N206" },
"N205/p/N207": { id1: "N205", id2: "N207" },
"N205/p/N208": { id1: "N205", id2: "N208" },
"N205/p/N209": { id1: "N205", id2: "N209" },
"N205/p/N210": { id1: "N205", id2: "N210" },
"N21/p/N6": { id1: "N21", id2: "N6" },
"N214/p/N204": { id1: "N214", id2: "N204" },
"N214/p/N217": { id1: "N214", id2: "N217" },
"N214/p/N218": { id1: "N214", id2: "N218" },
"N214/p/N219": { id1: "N214", id2: "N219" },
"N215/p/N204": { id1: "N215", id2: "N204" },
"N215/p/N217": { id1: "N215", id2: "N217" },
"N215/p/N218": { id1: "N215", id2: "N218" },
"N215/p/N219": { id1: "N215", id2: "N219" },
"N216/p/N204": { id1: "N216", id2: "N204" },
"N216/p/N217": { id1: "N216", id2: "N217" },
"N216/p/N218": { id1: "N216", id2: "N218" },
"N216/p/N219": { id1: "N216", id2: "N219" },
"N217/p/N204": { id1: "N217", id2: "N204" },
"N217/p/N218": { id1: "N217", id2: "N218" },
"N218/p/N204": { id1: "N218", id2: "N204" },
"N218/p/N219": { id1: "N218", id2: "N219" },
"N219/p/N204": { id1: "N219", id2: "N204" },
"N220/p/N205": { id1: "N220", id2: "N205" },
"N220/p/N207": { id1: "N220", id2: "N207" },
"N221/p/N205": { id1: "N221", id2: "N205" },
"N221/p/N207": { id1: "N221", id2: "N207" },
"N223/p/N239": { id1: "N223", id2: "N239" },
"N225/p/N232": { id1: "N225", id2: "N232" },
"N225/p/N239": { id1: "N225", id2: "N239" },
"N225/p/N250": { id1: "N225", id2: "N250" },
"N227/p/N223": { id1: "N227", id2: "N223" },
"N228/p/N223": { id1: "N228", id2: "N223" },
"N231/p/N229": { id1: "N231", id2: "N229" },
"N231/p/N232": { id1: "N231", id2: "N232" },
"N237/p/N223": { id1: "N237", id2: "N223" },
"N237/p/N239": { id1: "N237", id2: "N239" },
"N240/p/N243": { id1: "N240", id2: "N243" },
"N240/p/N244": { id1: "N240", id2: "N244" },
"N240/p/N246": { id1: "N240", id2: "N246" },
"N240/p/N247": { id1: "N240", id2: "N247" },
"N240/p/N248": { id1: "N240", id2: "N248" },
"N240/p/N250": { id1: "N240", id2: "N250" },
"N240/p/N252": { id1: "N240", id2: "N252" },
"N240/p/N253": { id1: "N240", id2: "N253" },
"N240/p/N29": { id1: "N240", id2: "N29" },
"N241/p/N242": { id1: "N241", id2: "N242" },
"N241/p/N243": { id1: "N241", id2: "N243" },
"N241/p/N244": { id1: "N241", id2: "N244" },
"N241/p/N246": { id1: "N241", id2: "N246" },
"N241/p/N248": { id1: "N241", id2: "N248" },
"N242/p/N243": { id1: "N242", id2: "N243" },
"N242/p/N244": { id1: "N242", id2: "N244" },
"N242/p/N245": { id1: "N242", id2: "N245" },
"N242/p/N246": { id1: "N242", id2: "N246" },
"N242/p/N247": { id1: "N242", id2: "N247" },
"N242/p/N248": { id1: "N242", id2: "N248" },
"N243/p/N244": { id1: "N243", id2: "N244" },
"N243/p/N245": { id1: "N243", id2: "N245" },
"N243/p/N246": { id1: "N243", id2: "N246" },
"N243/p/N247": { id1: "N243", id2: "N247" },
"N243/p/N248": { id1: "N243", id2: "N248" },
"N243/p/N249": { id1: "N243", id2: "N249" },
"N244/p/N245": { id1: "N244", id2: "N245" },
"N244/p/N246": { id1: "N244", id2: "N246" },
"N244/p/N247": { id1: "N244", id2: "N247" },
"N244/p/N248": { id1: "N244", id2: "N248" },
"N245/p/N246": { id1: "N245", id2: "N246" },
"N245/p/N247": { id1: "N245", id2: "N247" },
"N245/p/N248": { id1: "N245", id2: "N248" },
"N246/p/N247": { id1: "N246", id2: "N247" },
"N246/p/N248": { id1: "N246", id2: "N248" },
"N247/p/N249": { id1: "N247", id2: "N249" },
"N249/p/N246": { id1: "N249", id2: "N246" },
"N250/p/N241": { id1: "N250", id2: "N241" },
"N250/p/N253": { id1: "N250", id2: "N253" },
"N251/p/N254": { id1: "N251", id2: "N254" },
"N253/p/N254": { id1: "N253", id2: "N254" },
"N255/p/N250": { id1: "N255", id2: "N250" },
"N255/p/N256": { id1: "N255", id2: "N256" },
"N255/p/N257": { id1: "N255", id2: "N257" },
"N255/p/N352": { id1: "N255", id2: "N352" },
"N256/p/N250": { id1: "N256", id2: "N250" },
"N256/p/N254": { id1: "N256", id2: "N254" },
"N256/p/N258": { id1: "N256", id2: "N258" },
"N256/p/N260": { id1: "N256", id2: "N260" },
"N256/p/N261": { id1: "N256", id2: "N261" },
"N256/p/N303": { id1: "N256", id2: "N303" },
"N257/p/N250": { id1: "N257", id2: "N250" },
"N257/p/N254": { id1: "N257", id2: "N254" },
"N257/p/N258": { id1: "N257", id2: "N258" },
"N258/p/N250": { id1: "N258", id2: "N250" },
"N258/p/N254": { id1: "N258", id2: "N254" },
"N258/p/N261": { id1: "N258", id2: "N261" },
"N259/p/N250": { id1: "N259", id2: "N250" },
"N259/p/N254": { id1: "N259", id2: "N254" },
"N260/p/N258": { id1: "N260", id2: "N258" },
"N260/p/N303": { id1: "N260", id2: "N303" },
"N262/p/N250": { id1: "N262", id2: "N250" },
"N273/p/N264": { id1: "N273", id2: "N264" },
"N277/p/N279": { id1: "N277", id2: "N279" },
"N279/p/N305": { id1: "N279", id2: "N305" },
"N280/p/N291": { id1: "N280", id2: "N291" },
"N280/p/N292": { id1: "N280", id2: "N292" },
"N283/p/N284": { id1: "N283", id2: "N284" },
"N284/p/N286": { id1: "N284", id2: "N286" },
"N284/p/N287": { id1: "N284", id2: "N287" },
"N284/p/N288": { id1: "N284", id2: "N288" },
"N285/p/N286": { id1: "N285", id2: "N286" },
"N285/p/N287": { id1: "N285", id2: "N287" },
"N285/p/N288": { id1: "N285", id2: "N288" },
"N286/p/N288": { id1: "N286", id2: "N288" },
"N287/p/N286": { id1: "N287", id2: "N286" },
"N288/p/N287": { id1: "N288", id2: "N287" },
"N289/p/N291": { id1: "N289", id2: "N291" },
"N289/p/N292": { id1: "N289", id2: "N292" },
"N290/p/N292": { id1: "N290", id2: "N292" },
"N293/p/N295": { id1: "N293", id2: "N295" },
"N294/p/N295": { id1: "N294", id2: "N295" },
"N295/p/N300": { id1: "N295", id2: "N300" },
"N296/p/N283": { id1: "N296", id2: "N283" },
"N296/p/N293": { id1: "N296", id2: "N293" },
"N296/p/N294": { id1: "N296", id2: "N294" },
"N296/p/N300": { id1: "N296", id2: "N300" },
"N298/p/N293": { id1: "N298", id2: "N293" },
"N298/p/N296": { id1: "N298", id2: "N296" },
"N298/p/N297": { id1: "N298", id2: "N297" },
"N298/p/N300": { id1: "N298", id2: "N300" },
"N3/p/N34": { id1: "N3", id2: "N34" },
"N3/p/N8": { id1: "N3", id2: "N8" },
"N30/p/N33": { id1: "N30", id2: "N33" },
"N300/p/N293": { id1: "N300", id2: "N293" },
// ...truncated 1058 lines <!doctype html>
<html>
<body>
<div id="regraph" style="height: 100vh"></div>
<script type="module" src="./code.jsx"></script>
</body>
</html>