{"id":22559,"date":"2026-04-29T09:21:35","date_gmt":"2026-04-29T06:21:35","guid":{"rendered":"https:\/\/isa.atu.edu.iq\/?page_id=22559"},"modified":"2026-05-01T15:01:08","modified_gmt":"2026-05-01T12:01:08","slug":"22559-2","status":"publish","type":"page","link":"https:\/\/isa.atu.edu.iq\/?page_id=22559&lang=en","title":{"rendered":""},"content":{"rendered":"\n<!DOCTYPE html>\n<html dir=\"rtl\" lang=\"ar\" id=\"html-root\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, viewport-fit=cover\">\n<title>\u0627\u0644\u0647\u064a\u0643\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0645\u064a | \u0627\u0644\u0645\u0639\u0647\u062f \u0627\u0644\u062a\u0642\u0646\u064a \u0627\u0644\u0633\u0645\u0627\u0648\u0629<\/title>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cairo:wght@300;400;500;600;700;800;900&#038;display=swap\" rel=\"stylesheet\">\n<style>\n:root{--primary:#4a6fa5;--accent:#5b8dd9;--text:#1e2a38;--muted:#4a6078;}\n*{margin:0;padding:0;box-sizing:border-box;}\nbody{font-family:'Cairo',sans-serif;background:#edf1f7;color:var(--text);overflow-x:hidden;min-height:100vh;direction:rtl;}\n\n.bg-scene{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;}\n.bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(90,133,192,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(90,133,192,0.06) 1px,transparent 1px);background-size:60px 60px;animation:gridScroll 20s linear infinite;}\n@keyframes gridScroll{0%{transform:perspective(600px) rotateX(30deg) translateY(0);}100%{transform:perspective(600px) rotateX(30deg) translateY(60px);}}\n.bg-orb{position:absolute;border-radius:50%;filter:blur(80px);animation:orbFloat 8s ease-in-out infinite alternate;}\n.orb1{width:500px;height:500px;background:rgba(180,195,220,0.4);top:-150px;right:-100px;}\n.orb2{width:350px;height:350px;background:rgba(160,185,215,0.28);bottom:10%;left:5%;animation-delay:-3s;}\n.orb3{width:250px;height:250px;background:rgba(200,210,225,0.3);top:40%;right:20%;animation-delay:-6s;}\n@keyframes orbFloat{from{transform:translate(0,0) scale(1);}to{transform:translate(28px,28px) scale(1.08);}}\n\n.logo-wm{position:fixed;pointer-events:none;z-index:0;}\n.logo-center{top:50%;left:50%;transform:translate(-50%,-50%);}\n.logo-tl{top:8%;right:4%;}\n.logo-br{bottom:8%;left:3%;}\n.logo-3d{width:370px;height:370px;animation:spin3D 18s linear infinite;transform-style:preserve-3d;perspective:800px;position:relative;}\n.logo-3d.sm{width:150px;height:150px;}\n.logo-3d.slow{animation-duration:28s;animation-direction:reverse;}\n@keyframes spin3D{0%{transform:rotateY(0deg) rotateX(8deg);}25%{transform:rotateY(90deg) rotateX(14deg) rotateZ(3deg);}50%{transform:rotateY(180deg) rotateX(8deg);}75%{transform:rotateY(270deg) rotateX(14deg) rotateZ(-3deg);}100%{transform:rotateY(360deg) rotateX(8deg);}}\n.logo-3d img{width:100%;height:100%;object-fit:contain;opacity:.07;mix-blend-mode:multiply;border-radius:50%;animation:logoPulse 4s ease-in-out infinite alternate;}\n.logo-3d.sm img{opacity:.035;}\n@keyframes logoPulse{from{opacity:.045;}to{opacity:.13;}}\n.logo-3d::after,.logo-3d::before{content:'';position:absolute;border-radius:50%;border:1px solid rgba(90,133,192,0.13);animation:ringPulse 3s ease-in-out infinite;pointer-events:none;}\n.logo-3d::after{inset:-10px;}\n.logo-3d::before{inset:-24px;animation-delay:1.5s;}\n@keyframes ringPulse{0%,100%{transform:scale(1);opacity:.4;}50%{transform:scale(1.05);opacity:.9;}}\n\nheader{position:sticky;top:0;z-index:200;background:rgba(237,241,247,0.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(90,133,192,0.16);padding:11px 22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;box-shadow:0 4px 22px rgba(90,133,192,0.1);}\n.h-brand{display:flex;align-items:center;gap:12px;}\n.h-logo{width:48px;height:48px;border-radius:50%;border:2px solid rgba(90,133,192,0.28);object-fit:contain;background:#e4eaf4;box-shadow:0 0 16px rgba(90,133,192,0.2);}\n.h-text h1{font-size:1rem;font-weight:900;color:var(--text);line-height:1.2;}\n.h-text p{font-size:.68rem;color:var(--muted);font-weight:600;}\n.lang-grp{display:flex;gap:6px;}\n.lang-btn{padding:5px 15px;border-radius:28px;border:1.5px solid rgba(90,133,192,0.26);background:transparent;cursor:pointer;font-family:'Cairo',sans-serif;font-weight:700;font-size:.78rem;color:var(--primary);transition:all .3s;}\n.lang-btn.active,.lang-btn:hover{background:linear-gradient(135deg,#4a6fa5,#5b8dd9);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(90,133,192,0.3);}\n\n.page-hero{text-align:center;padding:28px 20px 10px;position:relative;z-index:5;}\n.page-hero h2{font-size:clamp(1.2rem,3vw,2rem);font-weight:900;background:linear-gradient(135deg,#1e2a38 0%,#4a6fa5 50%,#5b8dd9 100%);background-clip:text;-webkit-background-clip:text;color:transparent;background-size:200% 200%;animation:gradShift 4s ease infinite;}\n@keyframes gradShift{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}\n.page-hero p{color:var(--muted);font-size:.8rem;margin-top:4px;}\n.hero-line{width:90px;height:3px;margin:10px auto 0;background:linear-gradient(90deg,transparent,#4a6fa5,#5b8dd9,transparent);border-radius:2px;}\n\n.controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;padding:9px 20px 5px;position:relative;z-index:5;}\n.search-input{padding:7px 16px;border-radius:28px;min-width:240px;border:1.5px solid rgba(90,133,192,0.2);background:rgba(255,255,255,0.92);font-family:'Cairo',sans-serif;font-size:.82rem;font-weight:600;color:var(--text);outline:none;transition:all .3s;direction:rtl;box-shadow:0 3px 10px rgba(90,133,192,0.07);}\n.search-input::placeholder{color:#9ab0cc;}\n.search-input:focus{border-color:var(--accent);box-shadow:0 4px 16px rgba(91,141,217,0.2);}\n.ctrl-btn{padding:6px 13px;border-radius:28px;border:1.5px solid rgba(90,133,192,0.2);background:rgba(255,255,255,0.88);cursor:pointer;font-family:'Cairo',sans-serif;font-weight:700;font-size:.76rem;color:var(--primary);transition:all .3s;}\n.ctrl-btn:hover{background:var(--primary);color:#fff;box-shadow:0 4px 10px rgba(90,133,192,0.26);}\n\n.hint-bar{text-align:center;padding:4px 20px 8px;position:relative;z-index:5;font-size:.72rem;color:var(--muted);}\n.hint-bar span{background:rgba(90,133,192,0.1);border:1px solid rgba(90,133,192,0.18);padding:3px 12px;border-radius:20px;}\n\n.legend{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;padding:5px 20px 10px;position:relative;z-index:5;}\n.leg{display:flex;align-items:center;gap:5px;background:rgba(255,255,255,0.82);border:1px solid rgba(90,133,192,0.13);border-radius:16px;padding:3px 10px;font-size:.68rem;font-weight:700;color:var(--muted);}\n.leg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}\n\n.tree-wrap{position:relative;z-index:5;overflow:auto;padding:14px 20px 80px;-webkit-overflow-scrolling:touch;}\n.tree-canvas{position:relative;transform-origin:top center;transition:transform .3s;}\n\n.svg-lines{position:absolute;top:0;left:0;pointer-events:none;z-index:0;overflow:visible;}\n\n\/* \u2500\u2500 BOXES \u2500\u2500 *\/\n.box{\n  position:absolute;z-index:2;\n  border-radius:9px;\n  display:flex;align-items:center;justify-content:center;\n  text-align:center;font-family:'Cairo',sans-serif;\n  font-weight:700;font-size:.72rem;line-height:1.38;\n  padding:7px 10px;\n  border:1.5px solid rgba(255,255,255,0.3);\n  box-shadow:0 4px 16px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.22);\n  color:#fff;\n  user-select:none;white-space:normal;word-break:break-word;\n  transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,opacity .3s;\n}\n.box:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 12px 28px rgba(0,0,0,0.24),0 0 0 2.5px rgba(255,255,255,0.35);z-index:50!important;}\n.box.hl{outline:3px solid #f59e0b;outline-offset:2px;z-index:60!important;box-shadow:0 0 26px rgba(245,158,11,0.45),0 12px 28px rgba(0,0,0,0.24)!important;}\n\n\/* Boxes that have collapsible children get a cursor + toggle badge *\/\n.box.has-children{cursor:pointer;}\n.box.has-children::after{\n  content:'\u25be';\n  position:absolute;bottom:4px;left:50%;transform:translateX(-50%);\n  font-size:.6rem;opacity:.7;transition:transform .3s;\n  line-height:1;\n}\n.box.has-children.collapsed::after{content:'\u25b8';}\n.box.has-children.collapsed{opacity:.88;}\n\n\/* colour palette *\/\n.box.uni    {background:linear-gradient(135deg,#1e3a6e,#2a5296);font-size:.78rem;font-weight:900;}\n.box.council{background:linear-gradient(135deg,#2d1a6e,#3e2898);font-size:.8rem;font-weight:900;}\n.box.dean   {background:linear-gradient(135deg,#143d20,#1c5a2c);font-size:.82rem;font-weight:900;}\n.box.appr   {background:linear-gradient(135deg,#5a3a00,#7a5000);border:2px dashed rgba(255,200,80,.5);}\n.box.vdean  {background:linear-gradient(135deg,#7a3800,#a44e00);}\n.box.branch {background:linear-gradient(135deg,#1e4080,#2a58b0);}\n.box.unit   {background:linear-gradient(135deg,#0e3560,#1a4e80);font-size:.67rem;}\n.box.sci    {background:linear-gradient(135deg,#1c3c60,#285a80);font-weight:800;}\n.box.med    {background:linear-gradient(135deg,#6e1010,#961818);}\n.box.eng    {background:linear-gradient(135deg,#0d3a1e,#185a2e);}\n.box.adm    {background:linear-gradient(135deg,#2e1878,#42249e);}\n\n\/* popup panel for sub-items *\/\n.sub-popup{\n  position:absolute;z-index:100;\n  background:linear-gradient(135deg,rgba(255,255,255,0.97),rgba(235,242,255,0.95));\n  border:1.5px solid rgba(90,133,192,0.3);\n  border-radius:14px;\n  padding:10px;\n  box-shadow:0 20px 50px rgba(0,0,0,0.2),0 0 0 1px rgba(90,133,192,0.1);\n  min-width:160px;\n  animation:popIn .2s cubic-bezier(.22,1,.36,1);\n  display:flex;flex-direction:column;gap:6px;\n}\n@keyframes popIn{from{opacity:0;transform:scale(.92) translateY(-8px);}to{opacity:1;transform:scale(1) translateY(0);}}\n.sub-popup .pop-title{\n  font-size:.68rem;font-weight:900;color:var(--primary);\n  border-bottom:1px solid rgba(90,133,192,0.18);padding-bottom:6px;margin-bottom:2px;\n  display:flex;align-items:center;justify-content:space-between;\n}\n.pop-close{cursor:pointer;font-size:.8rem;color:var(--muted);padding:2px 6px;border-radius:6px;transition:background .2s;}\n.pop-close:hover{background:rgba(90,133,192,0.12);}\n.sub-item{\n  display:flex;align-items:center;gap:8px;\n  padding:6px 10px;border-radius:8px;\n  font-size:.7rem;font-weight:700;color:#fff;\n  border:1px solid rgba(255,255,255,0.2);\n  box-shadow:0 2px 8px rgba(0,0,0,0.15);\n  transition:transform .2s,box-shadow .2s;\n  cursor:default;\n}\n.sub-item:hover{transform:translateX(-3px);box-shadow:0 4px 14px rgba(0,0,0,0.2);}\n.sub-item.unit{background:linear-gradient(135deg,#0e3560,#1a4e80);}\n.sub-item.med  {background:linear-gradient(135deg,#6e1010,#961818);}\n.sub-item.eng  {background:linear-gradient(135deg,#0d3a1e,#185a2e);}\n.sub-item.adm  {background:linear-gradient(135deg,#2e1878,#42249e);}\n.sub-item.branch{background:linear-gradient(135deg,#1e4080,#2a58b0);}\n.sub-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.6);flex-shrink:0;}\n\n.particle{position:fixed;border-radius:50%;pointer-events:none;z-index:1;animation:floatP linear infinite;opacity:0;}\n@keyframes floatP{0%{transform:translateY(100vh);opacity:0;}10%{opacity:.7;}90%{opacity:.7;}100%{transform:translateY(-80px);opacity:0;}}\nfooter{text-align:center;padding:14px 20px 20px;position:relative;z-index:5;color:var(--muted);font-size:.7rem;border-top:1px solid rgba(90,133,192,0.1);}\n<\/style>\n<\/head>\n<body>\n\n<div class=\"bg-scene\">\n  <div class=\"bg-grid\"><\/div>\n  <div class=\"bg-orb orb1\"><\/div><div class=\"bg-orb orb2\"><\/div><div class=\"bg-orb orb3\"><\/div>\n  <div class=\"logo-wm logo-center\"><div class=\"logo-3d\"><img decoding=\"async\" src=\"https:\/\/isa.atu.edu.iq\/wp-content\/uploads\/2026\/04\/wwwwwwwwwww.png\" onerror=\"this.style.display='none'\" alt=\"\"><\/div><\/div>\n  <div class=\"logo-wm logo-tl\"><div class=\"logo-3d sm\"><img decoding=\"async\" src=\"https:\/\/isa.atu.edu.iq\/wp-content\/uploads\/2026\/04\/wwwwwwwwwww.png\" onerror=\"this.style.display='none'\" alt=\"\"><\/div><\/div>\n  <div class=\"logo-wm logo-br\"><div class=\"logo-3d sm slow\"><img decoding=\"async\" src=\"https:\/\/isa.atu.edu.iq\/wp-content\/uploads\/2026\/04\/wwwwwwwwwww.png\" onerror=\"this.style.display='none'\" alt=\"\"><\/div><\/div>\n<\/div>\n\n<header>\n  <div class=\"h-brand\">\n    <img decoding=\"async\" class=\"h-logo\" src=\"https:\/\/isa.atu.edu.iq\/wp-content\/uploads\/2026\/04\/wwwwwwwwwww.png\"\n      onerror=\"this.src='data:image\/svg+xml,%3Csvg xmlns=%22http:\/\/www.w3.org\/2000\/svg%22 viewBox=%220 0 60 60%22%3E%3Crect width=%2260%22 height=%2260%22 rx=%2230%22 fill=%22%234a6fa5%22\/%3E%3Ctext x=%2230%22 y=%2238%22 font-size=%2214%22 text-anchor=%22middle%22 fill=%22white%22 font-weight=%22bold%22%3EITU%3C\/text%3E%3C\/svg%3E'\" alt=\"\">\n    <div class=\"h-text\">\n      <h1 id=\"h-title\">\u0627\u0644\u0645\u0639\u0647\u062f \u0627\u0644\u062a\u0642\u0646\u064a \u0627\u0644\u0633\u0645\u0627\u0648\u0629<\/h1>\n      <p id=\"h-sub\">\u062c\u0627\u0645\u0639\u0629 \u0627\u0644\u0641\u0631\u0627\u062a \u0627\u0644\u0623\u0648\u0633\u0637 \u0627\u0644\u062a\u0642\u0646\u064a\u0629 \u2014 \u0627\u0644\u0647\u064a\u0643\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0645\u064a<\/p>\n    <\/div>\n  <\/div>\n  <div class=\"lang-grp\">\n    <button class=\"lang-btn active\" onclick=\"setLang('ar')\" id=\"btn-ar\">\u0627\u0644\u0639\u0631\u0628\u064a\u0629<\/button>\n    <button class=\"lang-btn\" onclick=\"setLang('en')\" id=\"btn-en\">English<\/button>\n  <\/div>\n<\/header>\n\n<div class=\"page-hero\">\n  <h2 id=\"pg-title\">\u0627\u0644\u0647\u064a\u0643\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0645\u064a \u0644\u0644\u0645\u0639\u0647\u062f \u0627\u0644\u062a\u0642\u0646\u064a \u0627\u0644\u0633\u0645\u0627\u0648\u0629<\/h2>\n  <p id=\"pg-sub\">\u062c\u0627\u0645\u0639\u0629 \u0627\u0644\u0641\u0631\u0627\u062a \u0627\u0644\u0623\u0648\u0633\u0637 \u0627\u0644\u062a\u0642\u0646\u064a\u0629 &nbsp;|&nbsp; \u062a\u0635\u0645\u064a\u0645: \u0623.\u0645. \u0639\u0644\u0627\u0621 \u0639\u0628\u062f \u0639\u0644\u064a \u0647\u0627\u062f\u064a<\/p>\n  <div class=\"hero-line\"><\/div>\n<\/div>\n\n<div class=\"controls\">\n  <input class=\"search-input\" id=\"srch\" type=\"text\" placeholder=\"\u0627\u0628\u062d\u062b \u0639\u0646 \u0623\u064a \u0648\u062d\u062f\u0629 \u0623\u0648 \u0642\u0633\u0645...\" oninput=\"doSearch(this.value)\">\n  <button class=\"ctrl-btn\" onclick=\"zoom(1.18)\">\uff0b \u062a\u0643\u0628\u064a\u0631<\/button>\n  <button class=\"ctrl-btn\" onclick=\"zoom(0.85)\">\uff0d \u062a\u0635\u063a\u064a\u0631<\/button>\n  <button class=\"ctrl-btn\" onclick=\"resetZoom()\" id=\"reset-btn\">\u21ba \u0625\u0639\u0627\u062f\u0629<\/button>\n<\/div>\n\n<div class=\"hint-bar\"><span id=\"hint-txt\">\ud83d\udca1 \u0627\u0646\u0642\u0631 \u0639\u0644\u0649 \u0623\u064a \u0634\u0639\u0628\u0629 \u0623\u0648 \u0642\u0633\u0645 \u0644\u0639\u0631\u0636 \u0648\u062d\u062f\u0627\u062a\u0647 \u0627\u0644\u0641\u0631\u0639\u064a\u0629<\/span><\/div>\n\n<div class=\"legend\">\n  <div class=\"leg\"><div class=\"leg-dot\" style=\"background:#2a5296\"><\/div><span id=\"l0\">\u0627\u0644\u062c\u0627\u0645\u0639\u0629<\/span><\/div>\n  <div class=\"leg\"><div class=\"leg-dot\" style=\"background:#3e2898\"><\/div><span id=\"l1\">\u0645\u062c\u0644\u0633 \u0627\u0644\u0645\u0639\u0647\u062f<\/span><\/div>\n  <div class=\"leg\"><div class=\"leg-dot\" style=\"background:#1c5a2c\"><\/div><span id=\"l2\">\u0627\u0644\u0639\u0645\u064a\u062f<\/span><\/div>\n  <div class=\"leg\"><div class=\"leg-dot\" style=\"background:#7a5000\"><\/div><span id=\"l3\">\u0627\u0644\u0645\u0635\u0627\u062f\u0642\u0627\u062a<\/span><\/div>\n  <div class=\"leg\"><div class=\"leg-dot\" style=\"background:#a44e00\"><\/div><span id=\"l4\">\u0645\u0639\u0627\u0648\u0646\u0648 \u0627\u0644\u0639\u0645\u064a\u062f<\/span><\/div>\n  <div class=\"leg\"><div class=\"leg-dot\" style=\"background:#2a58b0\"><\/div><span id=\"l5\">\u0627\u0644\u0634\u0639\u0628 \u25be \u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u0646\u0642\u0631<\/span><\/div>\n  <div class=\"leg\"><div class=\"leg-dot\" style=\"background:#961818\"><\/div><span id=\"l7\">\u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0637\u0628\u064a\u0629<\/span><\/div>\n  <div class=\"leg\"><div class=\"leg-dot\" style=\"background:#185a2e\"><\/div><span id=\"l8\">\u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0647\u0646\u062f\u0633\u064a\u0629<\/span><\/div>\n  <div class=\"leg\"><div class=\"leg-dot\" style=\"background:#42249e\"><\/div><span id=\"l9\">\u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0625\u062f\u0627\u0631\u064a\u0629<\/span><\/div>\n<\/div>\n\n<div class=\"tree-wrap\" id=\"tree-wrap\">\n  <div class=\"tree-canvas\" id=\"canvas\">\n    <svg class=\"svg-lines\" id=\"svg-el\"><\/svg>\n  <\/div>\n<\/div>\n\n<footer id=\"ft\">\u062a\u0635\u0645\u064a\u0645: \u0623.\u0645. \u0639\u0644\u0627\u0621 \u0639\u0628\u062f \u0639\u0644\u064a \u0647\u0627\u062f\u064a &nbsp;|&nbsp; \u062c\u0627\u0645\u0639\u0629 \u0627\u0644\u0641\u0631\u0627\u062a \u0627\u0644\u0623\u0648\u0633\u0637 \u0627\u0644\u062a\u0642\u0646\u064a\u0629 \u2013 \u0627\u0644\u0645\u0639\u0647\u062f \u0627\u0644\u062a\u0642\u0646\u064a \u0627\u0644\u0633\u0645\u0627\u0648\u0629 \u00a9 2026<\/footer>\n\n<script>\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   TRANSLATIONS\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\nconst LANG = {\n  ar:{\n    hTitle:'\u0627\u0644\u0645\u0639\u0647\u062f \u0627\u0644\u062a\u0642\u0646\u064a \u0627\u0644\u0633\u0645\u0627\u0648\u0629',\n    hSub:'\u062c\u0627\u0645\u0639\u0629 \u0627\u0644\u0641\u0631\u0627\u062a \u0627\u0644\u0623\u0648\u0633\u0637 \u0627\u0644\u062a\u0642\u0646\u064a\u0629 \u2014 \u0627\u0644\u0647\u064a\u0643\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0645\u064a',\n    pgTitle:'\u0627\u0644\u0647\u064a\u0643\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0645\u064a \u0644\u0644\u0645\u0639\u0647\u062f \u0627\u0644\u062a\u0642\u0646\u064a \u0627\u0644\u0633\u0645\u0627\u0648\u0629',\n    pgSub:'\u062c\u0627\u0645\u0639\u0629 \u0627\u0644\u0641\u0631\u0627\u062a \u0627\u0644\u0623\u0648\u0633\u0637 \u0627\u0644\u062a\u0642\u0646\u064a\u0629 | \u062a\u0635\u0645\u064a\u0645: \u0623.\u0645. \u0639\u0644\u0627\u0621 \u0639\u0628\u062f \u0639\u0644\u064a \u0647\u0627\u062f\u064a',\n    ph:'\u0627\u0628\u062d\u062b \u0639\u0646 \u0623\u064a \u0648\u062d\u062f\u0629 \u0623\u0648 \u0642\u0633\u0645...',\n    ft:'\u062a\u0635\u0645\u064a\u0645: \u0623.\u0645. \u0639\u0644\u0627\u0621 \u0639\u0628\u062f \u0639\u0644\u064a \u0647\u0627\u062f\u064a | \u062c\u0627\u0645\u0639\u0629 \u0627\u0644\u0641\u0631\u0627\u062a \u0627\u0644\u0623\u0648\u0633\u0637 \u0627\u0644\u062a\u0642\u0646\u064a\u0629 \u2013 \u0627\u0644\u0645\u0639\u0647\u062f \u0627\u0644\u062a\u0642\u0646\u064a \u0627\u0644\u0633\u0645\u0627\u0648\u0629 \u00a9 2026',\n    reset:'\u21ba \u0625\u0639\u0627\u062f\u0629',\n    hint:'\ud83d\udca1 \u0627\u0646\u0642\u0631 \u0639\u0644\u0649 \u0623\u064a \u0634\u0639\u0628\u0629 \u0623\u0648 \u0642\u0633\u0645 \u0644\u0639\u0631\u0636 \u0648\u062d\u062f\u0627\u062a\u0647 \u0627\u0644\u0641\u0631\u0639\u064a\u0629',\n    close:'\u2715',\n    units:'\u0627\u0644\u0648\u062d\u062f\u0627\u062a',\n    leg:['\u0627\u0644\u062c\u0627\u0645\u0639\u0629','\u0645\u062c\u0644\u0633 \u0627\u0644\u0645\u0639\u0647\u062f','\u0627\u0644\u0639\u0645\u064a\u062f','\u0627\u0644\u0645\u0635\u0627\u062f\u0642\u0627\u062a','\u0645\u0639\u0627\u0648\u0646\u0648 \u0627\u0644\u0639\u0645\u064a\u062f','\u0627\u0644\u0634\u0639\u0628 \u25be \u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u0646\u0642\u0631','','\u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0637\u0628\u064a\u0629','\u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0647\u0646\u062f\u0633\u064a\u0629','\u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0625\u062f\u0627\u0631\u064a\u0629']\n  },\n  en:{\n    hTitle:'Al-Samawa Technical Institute',\n    hSub:'Middle Euphrates Technical University \u2014 Org Chart',\n    pgTitle:'Organizational Chart \u2013 Al-Samawa Technical Institute',\n    pgSub:'Middle Euphrates Technical University | Design: Assist. Prof. Alaa Abd Ali Hadi',\n    ph:'Search any unit or department...',\n    ft:'Design: Assist. Prof. Alaa Abd Ali Hadi | Middle Euphrates Technical University \u00a9 2026',\n    reset:'\u21ba Reset',\n    hint:'\ud83d\udca1 Click any division or department to view its sub-units',\n    close:'\u2715',\n    units:'Sub-units',\n    leg:['University','Institute Council','Dean','Approvals','Vice Deans','Divisions \u25be clickable','','Medical Depts','Engineering Depts','Admin Depts']\n  }\n};\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   DATA  \u2014 sub arrays are POPUP CHILDREN\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\nconst COLS = [\n  \/* \u2500\u2500 COL 0 \u2500\u2500 *\/\n  { vp:{id:'vd1',cls:'vdean',ar:'\u0645\u0639\u0627\u0648\u0646 \u0627\u0644\u0639\u0645\u064a\u062f\\n\u0644\u0644\u0634\u0624\u0648\u0646 \u0627\u0644\u0639\u0644\u0645\u064a\u0629',en:'Vice Dean\\nAcademic Affairs'},\n    children:[\n      {id:'vd1-sub-vd',cls:'vdean',ar:'\u0645\u0639\u0627\u0648\u0646 \u0627\u0644\u0639\u0645\u064a\u062f\\n\u0644\u0644\u0634\u0624\u0648\u0646 \u0627\u0644\u0637\u0628\u064a\u0629',en:'Vice Dean\\nMedical Affairs',\n        sub:[{id:'vd1-s-reg',cls:'branch',ar:'\u0634\u0639\u0628\u0629 \u0634\u0624\u0648\u0646 \u0627\u0644\u0637\u0644\u0628\u0629 \u0648\u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u0637\u0628\u064a\u0629',en:'Medical Student Affairs & Registration'}]},\n      {id:'vd1-s1',cls:'branch',ar:'\u0634\u0639\u0628\u0629 \u0627\u0644\u062f\u0631\u0627\u0633\u0627\u062a \u0648\u0627\u0644\u062a\u062e\u0637\u064a\u0637',en:'Studies & Planning Division',\n        sub:[\n          {id:'vd1-u1',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0625\u062d\u0635\u0627\u0621',en:'Statistics Unit'},\n          {id:'vd1-u2',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0647\u064a\u0626\u0627\u062a \u0648\u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a',en:'Entities & Information Unit'},\n          {id:'vd1-u3',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u062a\u062f\u0631\u064a\u0628 \u0627\u0644\u0635\u064a\u0641\u064a',en:'Summer Training Unit'},\n          {id:'vd1-u4',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0645\u062a\u0627\u0628\u0639\u0629 \u0627\u0644\u062f\u0627\u0631\u0633\u064a\u0646',en:'Learner Follow-Up Unit'},\n          {id:'vd1-u5',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u062d\u0642\u0648\u0642 \u0627\u0644\u0625\u0646\u0633\u0627\u0646',en:'Human Rights Unit'},\n          {id:'vd1-u6',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0628\u062d\u0648\u062b',en:'Research Unit'}]},\n      {id:'vd1-s2',cls:'branch',ar:'\u0634\u0639\u0628\u0629 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u062e\u0627\u0635',en:'Special Program Division',sub:[]},\n      {id:'vd1-s3',cls:'branch',ar:'\u0627\u0644\u0634\u0639\u0628\u0629 \u0627\u0644\u0637\u0628\u064a\u0629',en:'Medical Division',sub:[]},\n      {id:'vd1-s4',cls:'branch',ar:'\u0634\u0639\u0628\u0629 \u0634\u0624\u0648\u0646 \u0627\u0644\u0637\u0644\u0628\u0629 \u0648\u0627\u0644\u062a\u0633\u062c\u064a\u0644',en:'Student Affairs & Registration',\n        sub:[\n          {id:'vd1-u7',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0648\u0627\u0644\u0642\u0628\u0648\u0644',en:'Registration & Admission'},\n          {id:'vd1-u8',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0635\u0646\u0627\u0639\u0629 \u0627\u0644\u062c\u062f\u0627\u0648\u0644',en:'Scheduling Unit'},\n          {id:'vd1-u9',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0625\u0631\u0634\u0627\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a',en:'E-Guidance Unit'},\n          {id:'vd1-u10',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0648\u062b\u0627\u0626\u0642 \u0648\u0627\u0644\u0634\u0647\u0627\u062f\u0627\u062a',en:'Documents & Certificates'}]}\n    ]\n  },\n  \/* \u2500\u2500 COL 1 \u2500\u2500 *\/\n  { vp:{id:'vd2',cls:'vdean',ar:'\u0645\u0639\u0627\u0648\u0646 \u0627\u0644\u0639\u0645\u064a\u062f \u0644\u0644\u0634\u0624\u0648\u0646\\n\u0627\u0644\u0625\u062f\u0627\u0631\u064a\u0629 \u0648\u0627\u0644\u0645\u0627\u0644\u064a\u0629',en:'Vice Dean\\nAdmin & Financial'},\n    children:[\n      {id:'vd2-off',cls:'branch',ar:'\u0645\u0643\u062a\u0628 \u0627\u0644\u0645\u0639\u0627\u0648\u0646 \u0627\u0644\u0625\u062f\u0627\u0631\u064a \u0648\u0627\u0644\u0645\u0627\u0644\u064a',en:'Admin & Finance Office',\n        sub:[{id:'vd2-legal',cls:'unit',ar:'\u0627\u0644\u0644\u062c\u0646\u0629 \u0627\u0644\u0642\u0627\u0646\u0648\u0646\u064a\u0629',en:'Legal Committee'}]},\n      {id:'vd2-fin',cls:'branch',ar:'\u0627\u0644\u0644\u062c\u0646\u0629 \u0627\u0644\u0645\u0627\u0644\u064a\u0629',en:'Finance Committee',\n        sub:[\n          {id:'vd2-u1',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0623\u0645\u0644\u0627\u0643 \u0648\u0627\u0644\u0623\u0635\u0648\u0644',en:'Assets & Properties'},\n          {id:'vd2-u2',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0635\u0646\u062f\u0648\u0642 \u0627\u0644\u062a\u0639\u0644\u064a\u0645',en:'Education Fund Unit'},\n          {id:'vd2-u3',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u062a\u062c\u0647\u064a\u0632\u0627\u062a \u0627\u0644\u062a\u0643\u0646\u0648\u0644\u0648\u062c\u064a\u0629',en:'Tech Equipment Unit'},\n          {id:'vd2-u4',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0646\u0638\u0627\u0645 \u0627\u0644\u0637\u0648\u0631 \u0648\u0627\u0644\u062a\u0639\u0627\u0645\u0644\u0627\u062a',en:'System & Dealings Unit'},\n          {id:'vd2-u5',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0625\u0634\u0647\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0643\u0646\u0648\u0644\u0648\u062c\u064a\u0629',en:'Tech Certifications Unit'}]},\n      {id:'vd2-srv',cls:'branch',ar:'\u0634\u0639\u0628\u0629 \u0627\u0644\u062e\u062f\u0645\u0627\u062a',en:'Services Division',\n        sub:[\n          {id:'vd2-u6',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u062e\u062f\u0645\u0627\u062a',en:'Services Unit'},\n          {id:'vd2-u7',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0623\u0631\u0634\u064a\u0641 \u0648\u0627\u0644\u0648\u062b\u0627\u0626\u0642',en:'Archive & Documents'},\n          {id:'vd2-u8',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0633\u0643\u0646',en:'Housing Unit'},\n          {id:'vd2-u9',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u062d\u0642\u0648\u0644',en:'Fields Unit'},\n          {id:'vd2-u10',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0625\u0639\u0645\u0627\u0631 \u0648\u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639',en:'Construction & Projects'}]},\n      {id:'vd2-it',cls:'branch',ar:'\u0634\u0639\u0628\u0629 \u062a\u0643\u0646\u0648\u0644\u0648\u062c\u064a\u0627 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a',en:'Information Technology',\n        sub:[\n          {id:'vd2-u11',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0623\u0646\u0638\u0645\u0629 \u0648\u0627\u0644\u0628\u0631\u0645\u062c\u0629',en:'Systems & Programming'},\n          {id:'vd2-u12',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0635\u064a\u0627\u0646\u0629 \u0627\u0644\u062d\u0627\u0633\u0648\u0628',en:'Computer Maintenance'},\n          {id:'vd2-u13',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0645\u0648\u0627\u0642\u0639 \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a\u0629',en:'Websites Unit'},\n          {id:'vd2-u14',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a\u0643 \u0648\u0627\u0644\u062f\u0639\u0645',en:'Electronics & Support'},\n          {id:'vd2-u15',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0634\u0624\u0648\u0646 \u0627\u0644\u0625\u062f\u0627\u0631\u064a\u0629',en:'Admin Affairs Unit'}]},\n      {id:'vd2-hr',cls:'branch',ar:'\u0634\u0639\u0628\u0629 \u0627\u0644\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u0628\u0634\u0631\u064a\u0629',en:'Human Resources',\n        sub:[\n          {id:'vd2-u16',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0645\u0648\u0638\u0641\u064a\u0646',en:'Employees Unit'},\n          {id:'vd2-u17',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0645\u0643\u0627\u0641\u0622\u062a',en:'Rewards Unit'},\n          {id:'vd2-u18',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0639\u0637\u0644 \u0648\u0627\u0644\u062a\u0631\u0627\u0643\u0645',en:'Leaves & Accumulation'},\n          {id:'vd2-u19',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0639\u0642\u062f \u0648\u0627\u0644\u062a\u0642\u0627\u0639\u062f',en:'Contracts & Retirement'}]}\n    ]\n  },\n  \/* \u2500\u2500 COL 2 \u2500\u2500 *\/\n  { vp:{id:'doff',cls:'branch',ar:'\u0645\u0643\u062a\u0628 \u0627\u0644\u0639\u0645\u064a\u062f',en:\"Dean's Office\"},\n    children:[\n      {id:'do1',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u062f\u0648\u0627\u0645 \u0627\u0644\u062a\u0639\u0644\u064a\u0645',en:'Education Attendance',sub:[]},\n      {id:'do2',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0634\u0624\u0648\u0646 \u0627\u0644\u0645\u0631\u0627\u0642\u0628\u064a\u0646',en:'Supervisors Affairs',sub:[]},\n      {id:'do3',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0627\u0633\u062a\u0634\u0627\u0631\u0627\u062a \u0627\u0644\u062a\u0643\u0646\u0648\u0644\u0648\u062c\u064a\u0629',en:'Tech Consultations',sub:[]},\n      {id:'do4',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u062d\u0642\u0648\u0642 \u0648\u0627\u0644\u062f\u0639\u0627\u0648\u0649',en:'Rights & Claims',sub:[]},\n      {id:'do5',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0634\u0643\u0627\u0648\u0649 \u0648\u0627\u0644\u0625\u064a\u0642\u0627\u0639\u0627\u062a',en:'Complaints Unit',sub:[]},\n      {id:'do6',cls:'unit',ar:'\u0644\u062c\u0646\u0629 \u0645\u062c\u0644\u0633 \u0627\u0644\u0645\u0639\u0647\u062f',en:'Institute Council Committee',sub:[]},\n      {id:'invest',cls:'branch',ar:'\u0634\u0639\u0628\u0629 \u0627\u0644\u0642\u0636\u0627\u064a\u0627 \u0627\u0644\u0627\u0633\u062a\u062b\u0645\u0627\u0631\u064a\u0629',en:'Investment Cases Division',\n        sub:[\n          {id:'inv1',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0623\u0645\u0644\u0627\u0643 \u0648\u0627\u0644\u0623\u0635\u0648\u0644',en:'Assets & Properties'},\n          {id:'inv2',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0635\u0646\u062f\u0648\u0642 \u0627\u0644\u062a\u0639\u0644\u064a\u0645',en:'Education Fund'},\n          {id:'inv3',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0646\u0638\u0627\u0645 \u0627\u0644\u0637\u0648\u0631 \u0648\u0627\u0644\u062a\u0639\u0627\u0645\u0644\u0627\u062a',en:'System & Dealings'},\n          {id:'inv4',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0625\u0634\u0647\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0643\u0646\u0648\u0644\u0648\u062c\u064a\u0629',en:'Tech Certifications'}]},\n      {id:'struct',cls:'branch',ar:'\u0634\u0639\u0628\u0629 \u0627\u0644\u0641\u062d\u0648\u0635\u0627\u062a \u0627\u0644\u0625\u0646\u0634\u0627\u0626\u064a\u0629',en:'Structural Testing Division',sub:[]}\n    ]\n  },\n  \/* \u2500\u2500 COL 3 \u2500\u2500 *\/\n  { vp:{id:'vd3',cls:'vdean',ar:'\u0634\u0639\u0628\u0629 \u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u062f\u0631\u0627\u0633\u064a\u0629\\n(\u0627\u0644\u0631\u0642\u0627\u0628\u0629 \u0648\u0627\u0644\u062a\u062e\u0637\u064a\u0637)',en:'Academic Depts\\n(Control & Planning)'},\n    children:[\n      {id:'vd3-a',cls:'branch',ar:'\u0634\u0639\u0628\u0629 \u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u062f\u0631\u0627\u0633\u064a\u0629',en:'Study Departments',\n        sub:[\n          {id:'vd3-u1',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0634\u0624\u0648\u0646 \u0627\u0644\u0625\u062f\u0627\u0631\u064a\u0629 \u0648\u0627\u0644\u0623\u0643\u0627\u062f\u064a\u0645\u064a\u0629',en:'Admin & Academic Affairs'},\n          {id:'vd3-u2',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a\u0627\u062a',en:'Electronics Unit'},\n          {id:'vd3-u3',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u062a\u0635\u0627\u0631\u064a\u062d \u0627\u0644\u0639\u0644\u0645\u064a\u0629',en:'Academic Permits Unit'},\n          {id:'vd3-u4',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u062a\u0637\u0648\u064a\u0631 \u0648\u0627\u0644\u062a\u0643\u0648\u064a\u0646',en:'Development & Formation'},\n          {id:'vd3-u5',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0648\u0627\u0644\u0623\u0646\u0638\u0645\u0629',en:'Data & Systems Unit'}]},\n      {id:'vd3-qa',cls:'branch',ar:'\u0634\u0639\u0628\u0629 \u0627\u0644\u062c\u0648\u062f\u0629 \u0648\u0627\u0644\u0623\u062f\u0627\u0621',en:'Quality & Performance',\n        sub:[\n          {id:'vd3-q1',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0636\u0645\u0627\u0646 \u0627\u0644\u062c\u0648\u062f\u0629',en:'Quality Assurance'},\n          {id:'vd3-q2',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0627\u0639\u062a\u0645\u0627\u062f',en:'Accreditation Unit'},\n          {id:'vd3-q3',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u062a\u0642\u064a\u064a\u0645 \u0627\u0644\u0623\u062f\u0627\u0621',en:'Performance Evaluation'}]},\n      {id:'vd3-lib',cls:'branch',ar:'\u0634\u0639\u0628\u0629 \u0627\u0644\u0645\u0643\u062a\u0628\u0629',en:'Library Division',\n        sub:[\n          {id:'vd3-l1',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0645\u0643\u062a\u0628\u0629 \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a\u0629',en:'E-Library Unit'},\n          {id:'vd3-l2',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0625\u0639\u0627\u0631\u0629 \u0648\u0627\u0644\u0625\u064a\u062f\u0627\u0639',en:'Lending & Deposit'}]},\n      {id:'vd3-med',cls:'branch',ar:'\u0634\u0639\u0628\u0629 \u0627\u0644\u0625\u0639\u0644\u0627\u0645 \u0648\u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0627\u0644\u062e\u0627\u0631\u062c\u064a',en:'Media & External Communication',\n        sub:[\n          {id:'vd3-m1',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0625\u0639\u0644\u0627\u0646',en:'Announcements Unit'},\n          {id:'vd3-m2',cls:'unit',ar:'\u0648\u062d\u062f\u0629 \u0627\u0644\u0639\u0644\u0627\u0642\u0627\u062a \u0627\u0644\u0639\u0627\u0645\u0629',en:'Public Relations Unit'}]},\n      {id:'vd3-int',cls:'branch',ar:'\u0634\u0639\u0628\u0629 \u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629',en:'Internal Departments',\n        sub:[\n          {id:'vd3-i1',cls:'unit',ar:'\u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629 \u2013 \u0637\u0644\u0627\u0628',en:'Internal \u2013 Male Students'},\n          {id:'vd3-i2',cls:'unit',ar:'\u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629 \u2013 \u0637\u0627\u0644\u0628\u0627\u062a',en:'Internal \u2013 Female Students'}]}\n    ]\n  },\n  \/* \u2500\u2500 COL 4 \u2500\u2500 *\/\n  { vp:{id:'vd4',cls:'vdean',ar:'\u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0639\u0644\u0645\u064a\u0629',en:'Scientific Departments'},\n    children:[\n      {id:'med-grp',cls:'sci',ar:'\u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0637\u0628\u064a\u0629',en:'Medical Departments',\n        sub:[\n          {id:'med1',cls:'med',ar:'\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u062a\u0645\u0631\u064a\u0636',en:'Nursing Technics Dept'},\n          {id:'med2',cls:'med',ar:'\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0645\u062e\u062a\u0628\u0631\u0627\u062a \u0627\u0644\u0637\u0628\u064a\u0629',en:'Medical Labs Technics'},\n          {id:'med3',cls:'med',ar:'\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0635\u062d\u0629 \u0627\u0644\u0645\u062c\u062a\u0645\u0639',en:'Community Health Dept'},\n          {id:'med4',cls:'med',ar:'\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0641\u0635\u0644 \u0627\u0644\u0643\u0644\u0649',en:'Dialysis Technics Dept'}]},\n      {id:'eng-grp',cls:'sci',ar:'\u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0647\u0646\u062f\u0633\u064a\u0629',en:'Engineering Departments',\n        sub:[\n          {id:'eng1',cls:'eng',ar:'\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0646\u0641\u0637 \u0648\u0627\u0644\u063a\u0627\u0632',en:'Oil & Gas Technics'},\n          {id:'eng2',cls:'eng',ar:'\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u062d\u0641\u0631 \u0648\u0625\u0646\u062a\u0627\u062c \u0627\u0644\u0646\u0641\u0637',en:'Drilling & Production'},\n          {id:'eng3',cls:'eng',ar:'\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0645\u0633\u0627\u062d\u0629',en:'Surveying Technics'},\n          {id:'eng4',cls:'eng',ar:'\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0642\u064a\u0627\u0633 \u0648\u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a\u0627\u062a',en:'Measurement & Electronics'},\n          {id:'eng5',cls:'eng',ar:'\u0642\u0633\u0645 \u062a\u0643\u0646\u0648\u0644\u0648\u062c\u064a\u0627 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0648\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a',en:'IT & App Management'},\n          {id:'eng6',cls:'eng',ar:'\u0642\u0633\u0645 \u0627\u0644\u0623\u0645\u0646 \u0627\u0644\u0633\u064a\u0628\u0631\u0627\u0646\u064a \u0648\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0634\u0628\u0643\u0627\u062a',en:'Cybersecurity & Networks'},\n          {id:'eng7',cls:'eng',ar:'\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0628\u0627\u064a\u0648\u062a\u0643\u0646\u0648\u0644\u0648\u062c\u064a',en:'Biotechnology Technics'},\n          {id:'eng8',cls:'eng',ar:'\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0643\u0647\u0631\u0628\u0627\u0626\u064a\u0629',en:'Electrical Technics'}]},\n      {id:'adm-grp',cls:'sci',ar:'\u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0625\u062f\u0627\u0631\u064a\u0629',en:'Administrative Departments',\n        sub:[\n          {id:'adm1',cls:'adm',ar:'\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0645\u062d\u0627\u0633\u0628\u0629',en:'Accounting Technics'},\n          {id:'adm2',cls:'adm',ar:'\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a\u0629',en:'Electronic Management'}]}\n    ]\n  }\n];\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   LAYOUT CONSTANTS\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\nconst BW    = 156;\nconst GAP_X = 28;\nconst GAP_Y = 52;\nconst MIN_H = 44;\n\nconst Y_UNI     = 30;\nconst Y_COUNCIL = 110;\nconst Y_DEAN    = 206;\nconst Y_VP      = 300;\n\nconst LINE_MAIN  = '#3a6ec0';\nconst LINE_SUB   = '#5a8ed8';\nconst LINE_DASH  = '#d48a10';\nconst DOT_MAIN   = '#4a7ed4';\nconst DOT_SUB    = '#6a9ee0';\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   STATE\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\nlet curLang  = 'ar';\nlet scale    = 1;\nlet openPop  = null; \/\/ currently open popup element\n\nconst canvas = document.getElementById('canvas');\nconst svgEl  = document.getElementById('svg-el');\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   SVG HELPERS\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\nfunction ns(tag){ return document.createElementNS('http:\/\/www.w3.org\/2000\/svg',tag); }\n\nfunction sline(x1,y1,x2,y2,col,w,dash){\n  const e=ns('line');\n  e.setAttribute('x1',x1);e.setAttribute('y1',y1);\n  e.setAttribute('x2',x2);e.setAttribute('y2',y2);\n  e.setAttribute('stroke',col||LINE_MAIN);\n  e.setAttribute('stroke-width',w||2.4);\n  e.setAttribute('stroke-linecap','round');\n  if(dash)e.setAttribute('stroke-dasharray',dash);\n  svgEl.appendChild(e);\n}\nfunction spath(d,col,w,dash){\n  const e=ns('path');\n  e.setAttribute('d',d);e.setAttribute('fill','none');\n  e.setAttribute('stroke',col||LINE_MAIN);\n  e.setAttribute('stroke-width',w||2.4);\n  e.setAttribute('stroke-linecap','round');\n  e.setAttribute('stroke-linejoin','round');\n  if(dash)e.setAttribute('stroke-dasharray',dash);\n  svgEl.appendChild(e);\n}\nfunction sdot(x,y,col,r){\n  const e=ns('circle');\n  e.setAttribute('cx',x);e.setAttribute('cy',y);\n  e.setAttribute('r',r||4.5);\n  e.setAttribute('fill',col||DOT_MAIN);\n  svgEl.appendChild(e);\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   BOX HEIGHT\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\nfunction bh(node,lang){\n  const lines=(lang==='ar'?node.ar:node.en).split('\\n').length;\n  return Math.max(MIN_H,lines*17+18);\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   POPUP \u2014 shows sub-items floating above canvas\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\nfunction closePopup(){\n  if(openPop){ openPop.remove(); openPop=null; }\n  document.querySelectorAll('.box.has-children').forEach(b=>b.classList.remove('collapsed'));\n}\n\nfunction openPopup(boxEl, node, lang){\n  closePopup();\n  boxEl.classList.add('collapsed');\n\n  const items = node.sub||[];\n  if(!items.length) return;\n\n  const t = LANG[lang];\n  const pop = document.createElement('div');\n  pop.className = 'sub-popup';\n  pop.style.zIndex = 200;\n\n  \/* title row *\/\n  const title = document.createElement('div');\n  title.className = 'pop-title';\n  title.innerHTML = `<span>${lang==='ar'?(node.ar).replace(\/\\n\/g,' '):(node.en).replace(\/\\n\/g,' ')}<\/span><span class=\"pop-close\" id=\"pop-x\">${t.close}<\/span>`;\n  pop.appendChild(title);\n\n  items.forEach(u=>{\n    const row = document.createElement('div');\n    row.className = 'sub-item ' + (u.cls||'unit');\n    row.innerHTML = `<div class=\"sub-dot\"><\/div><span>${lang==='ar'?u.ar:u.en}<\/span>`;\n    pop.appendChild(row);\n  });\n\n  \/* Position the popup right below the clicked box *\/\n  const boxRect  = boxEl.getBoundingClientRect();\n  const wrapRect = document.getElementById('tree-wrap').getBoundingClientRect();\n\n  \/* place it in canvas coords *\/\n  const boxLeft   = parseInt(boxEl.style.left);\n  const boxTop    = parseInt(boxEl.style.top);\n  const boxHeight = boxEl.offsetHeight;\n\n  pop.style.position = 'absolute';\n  pop.style.top  = (boxTop + boxHeight + 8) + 'px';\n\n  \/* keep popup within canvas width *\/\n  const popW = Math.max(200, BW + 20);\n  pop.style.width = popW + 'px';\n  let popLeft = boxLeft - (popW - BW)\/2;\n  pop.style.left = popLeft + 'px';\n\n  canvas.appendChild(pop);\n  openPop = pop;\n\n  pop.querySelector('#pop-x').addEventListener('click', e => {\n    e.stopPropagation();\n    closePopup();\n    boxEl.classList.remove('collapsed');\n  });\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   MAKE BOX\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\nlet boxDelay = 0;\nfunction makeBox(node, x, y, w, lang, clickable){\n  const h = bh(node, lang);\n  const div = document.createElement('div');\n  div.className = 'box ' + node.cls;\n  if(clickable && node.sub && node.sub.length){\n    div.classList.add('has-children');\n  }\n  div.id = 'b-' + node.id;\n  div.style.cssText=`left:${x}px;top:${y}px;width:${w}px;min-height:${h}px;animation-delay:${(boxDelay++)*9}ms;`;\n  div.setAttribute('data-ar',node.ar);\n  div.setAttribute('data-en',node.en);\n  div.textContent = lang==='ar'?node.ar:node.en;\n  div.title = div.textContent.replace(\/\\n\/g,' ');\n\n  if(clickable && node.sub && node.sub.length){\n    div.addEventListener('click', e=>{\n      e.stopPropagation();\n      if(openPop && div.classList.contains('collapsed')){\n        closePopup();\n      } else {\n        openPopup(div, node, lang);\n      }\n    });\n  }\n\n  canvas.appendChild(div);\n  return h;\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   RENDER\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\nfunction render(lang){\n  curLang  = lang;\n  boxDelay = 0;\n  closePopup();\n  canvas.innerHTML='';\n  canvas.appendChild(svgEl);\n  svgEl.innerHTML='';\n\n  const N = COLS.length;\n  const blockW = N*BW + (N-1)*GAP_X;\n  const startX = 44;\n  const fullMid = startX + blockW\/2;\n\n  const vpCX = COLS.map((_,i)=> startX + i*(BW+GAP_X) + BW\/2);\n  const vpX  = COLS.map((_,i)=> startX + i*(BW+GAP_X));\n\n  \/* \u2500\u2500 University \u2500\u2500 *\/\n  const uniW = Math.min(270, blockW);\n  const uniX = fullMid - uniW\/2;\n  const uniNode={id:'uni',cls:'uni',ar:'\u062c\u0627\u0645\u0639\u0629 \u0627\u0644\u0641\u0631\u0627\u062a \u0627\u0644\u0623\u0648\u0633\u0637 \u0627\u0644\u062a\u0642\u0646\u064a\u0629\\n\u0627\u0644\u0645\u0639\u0647\u062f \u0627\u0644\u062a\u0642\u0646\u064a \u0627\u0644\u0633\u0645\u0627\u0648\u0629',en:'Middle Euphrates Technical University\\nAl-Samawa Technical Institute',sub:[]};\n  const uniH = makeBox(uniNode, uniX, Y_UNI, uniW, lang, false);\n  sline(fullMid, Y_UNI+uniH, fullMid, Y_COUNCIL, LINE_MAIN, 2.6);\n  sdot(fullMid, Y_COUNCIL, DOT_MAIN, 5);\n\n  \/* \u2500\u2500 Council + Approvals \u2500\u2500 *\/\n  const couW=210; const couX=fullMid-couW\/2;\n  const apW=160;\n  const couNode  ={id:'council',cls:'council',ar:'\u0645\u062c\u0644\u0633 \u0627\u0644\u0645\u0639\u0647\u062f \u0627\u0644\u062a\u0642\u0646\u064a \u0627\u0644\u0633\u0645\u0627\u0648\u0629',en:'Institute Council',sub:[]};\n  const apLNode  ={id:'appr-min',cls:'appr',ar:'\u0645\u0635\u0627\u062f\u0642\u0629 \u0645\u0639\u0627\u0644\u064a \u0627\u0644\u0648\u0632\u064a\u0631 \u0627\u0644\u0645\u062d\u062a\u0631\u0645',en:\"Minister's Approval\",sub:[]};\n  const apRNode  ={id:'appr-pres',cls:'appr',ar:'\u0645\u0635\u0627\u062f\u0642\u0629 \u0627\u0644\u0633\u064a\u062f \u0631\u0626\u064a\u0633 \u0627\u0644\u062c\u0627\u0645\u0639\u0629',en:\"University President's Approval\",sub:[]};\n\n  const couH = makeBox(couNode, couX, Y_COUNCIL, couW, lang, false);\n  makeBox(apLNode, startX, Y_COUNCIL, apW, lang, false);\n  makeBox(apRNode, startX+blockW-apW, Y_COUNCIL, apW, lang, false);\n\n  const couMidY = Y_COUNCIL + couH\/2;\n  sline(startX+apW, couMidY, couX, couMidY, LINE_DASH, 2.2, '6 4');\n  sline(couX+couW, couMidY, startX+blockW-apW, couMidY, LINE_DASH, 2.2, '6 4');\n  sdot(couX, couMidY, LINE_DASH, 4);\n  sdot(couX+couW, couMidY, LINE_DASH, 4);\n\n  \/* \u2500\u2500 Dean \u2500\u2500 *\/\n  sline(fullMid, Y_COUNCIL+couH, fullMid, Y_DEAN, LINE_MAIN, 2.6);\n  sdot(fullMid, Y_DEAN, DOT_MAIN, 5);\n  const deanW=230; const deanX=fullMid-deanW\/2;\n  const deanNode={id:'dean',cls:'dean',ar:'\u0639\u0645\u064a\u062f \u0627\u0644\u0645\u0639\u0647\u062f \u0627\u0644\u062a\u0642\u0646\u064a \u0627\u0644\u0633\u0645\u0627\u0648\u0629',en:'Dean \u2013 Al-Samawa Technical Institute',sub:[]};\n  const deanH = makeBox(deanNode, deanX, Y_DEAN, deanW, lang, false);\n\n  \/* \u2500\u2500 Horizontal VP bar \u2500\u2500 *\/\n  const deanBot = Y_DEAN+deanH;\n  const barY    = deanBot + Math.round(GAP_Y*0.55);\n  sline(fullMid, deanBot, fullMid, barY, LINE_MAIN, 2.6);\n  sline(vpCX[0], barY, vpCX[N-1], barY, LINE_MAIN, 2.6);\n  vpCX.forEach(cx=>{\n    sline(cx, barY, cx, Y_VP, LINE_MAIN, 2.3);\n    sdot(cx, Y_VP, DOT_MAIN, 4.5);\n  });\n\n  \/* \u2500\u2500 Each column \u2500\u2500 *\/\n  COLS.forEach((col,ci)=>{\n    const cx  = vpX[ci];\n    const ccx = vpCX[ci];\n\n    const vpH = makeBox(col.vp, cx, Y_VP, BW, lang, false);\n    let curY  = Y_VP + vpH;\n\n    col.children.forEach(ch=>{\n      const chTop = curY + GAP_Y;\n      const chH   = makeBox(ch, cx, chTop, BW, lang, true); \/\/ \u2190 clickable\n\n      \/* clear vertical connector *\/\n      sline(ccx, curY, ccx, chTop, LINE_MAIN, 2.2);\n      sdot(ccx, curY,  DOT_MAIN, 3.8);\n      sdot(ccx, chTop, DOT_MAIN, 3.8);\n\n      curY = chTop + chH;\n    });\n  });\n\n  \/* size canvas *\/\n  requestAnimationFrame(()=>{\n    let mxW=0, mxH=0;\n    canvas.querySelectorAll('.box').forEach(b=>{\n      const r = parseInt(b.style.left)+parseInt(b.style.width);\n      const bot = b.offsetTop+b.offsetHeight;\n      if(r>mxW)mxW=r; if(bot>mxH)mxH=bot;\n    });\n    const W=mxW+60, H=mxH+60;\n    canvas.style.width=W+'px'; canvas.style.height=H+'px';\n    svgEl.style.width=W+'px';  svgEl.style.height=H+'px';\n    svgEl.setAttribute('viewBox',`0 0 ${W} ${H}`);\n  });\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   CONTROLS\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\nfunction zoom(f){ scale=Math.min(Math.max(scale*f,.28),3); canvas.style.transform=`scale(${scale})`; canvas.style.transformOrigin='top center'; }\nfunction resetZoom(){ scale=1; canvas.style.transform='scale(1)'; }\n\nfunction doSearch(q){\n  q=q.trim().toLowerCase();\n  document.querySelectorAll('.box').forEach(b=>{\n    if(!q){b.classList.remove('hl');return;}\n    const t=((b.getAttribute('data-ar')||'')+(b.getAttribute('data-en')||'')).toLowerCase();\n    if(t.includes(q)){b.classList.add('hl');b.scrollIntoView({behavior:'smooth',block:'center',inline:'center'});}\n    else b.classList.remove('hl');\n  });\n}\n\nfunction setLang(lang){\n  curLang=lang;\n  const t=LANG[lang]; const isAr=lang==='ar';\n  document.getElementById('html-root').setAttribute('dir',isAr?'rtl':'ltr');\n  document.getElementById('html-root').setAttribute('lang',lang);\n  document.getElementById('h-title').textContent=t.hTitle;\n  document.getElementById('h-sub').textContent=t.hSub;\n  document.getElementById('pg-title').textContent=t.pgTitle;\n  document.getElementById('pg-sub').textContent=t.pgSub;\n  document.getElementById('srch').placeholder=t.ph;\n  document.getElementById('ft').textContent=t.ft;\n  document.getElementById('reset-btn').textContent=t.reset;\n  document.getElementById('hint-txt').textContent=t.hint;\n  document.getElementById('srch').value='';\n  for(let i=0;i<=9;i++){const el=document.getElementById('l'+i);if(el)el.textContent=t.leg[i];}\n  document.getElementById('btn-ar').classList.toggle('active',isAr);\n  document.getElementById('btn-en').classList.toggle('active',!isAr);\n  render(lang);\n}\n\n\/* close popup when clicking outside *\/\ndocument.addEventListener('click', e=>{\n  if(openPop && !openPop.contains(e.target) && !e.target.classList.contains('has-children')){\n    closePopup();\n  }\n});\n\n\/* particles *\/\n(function(){\n  const cols=['#8faac8','#a0b8d8','#c0cfe0','#b8cede'];\n  for(let i=0;i<16;i++){\n    const p=document.createElement('div'); p.className='particle';\n    const s=Math.random()*4+1.5;\n    p.style.cssText=`width:${s}px;height:${s}px;background:${cols[i%4]};left:${Math.random()*100}vw;animation-duration:${Math.random()*12+8}s;animation-delay:${Math.random()*10}s;box-shadow:0 0 ${s*3}px currentColor;`;\n    document.body.appendChild(p);\n  }\n})();\n\nrender('ar');\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>\u0627\u0644\u0647\u064a\u0643\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0645\u064a | \u0627\u0644\u0645\u0639\u0647\u062f \u0627\u0644\u062a\u0642\u0646\u064a \u0627\u0644\u0633\u0645\u0627\u0648\u0629 \u0627\u0644\u0645\u0639\u0647\u062f \u0627\u0644\u062a\u0642\u0646\u064a \u0627\u0644\u0633\u0645\u0627\u0648\u0629 \u062c\u0627\u0645\u0639\u0629 \u0627\u0644\u0641\u0631\u0627\u062a \u0627\u0644\u0623\u0648\u0633\u0637 \u0627\u0644\u062a\u0642\u0646\u064a\u0629 \u2014 \u0627\u0644\u0647\u064a\u0643\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0645\u064a \u0627\u0644\u0639\u0631\u0628\u064a\u0629 English \u0627\u0644\u0647\u064a\u0643\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0645\u064a \u0644\u0644\u0645\u0639\u0647\u062f \u0627\u0644\u062a\u0642\u0646\u064a \u0627\u0644\u0633\u0645\u0627\u0648\u0629 \u062c\u0627\u0645\u0639\u0629 \u0627\u0644\u0641\u0631\u0627\u062a \u0627\u0644\u0623\u0648\u0633\u0637 \u0627\u0644\u062a\u0642\u0646\u064a\u0629 &nbsp;|&nbsp; \u062a\u0635\u0645\u064a\u0645: \u0623.\u0645. \u0639\u0644\u0627\u0621 \u0639\u0628\u062f \u0639\u0644\u064a \u0647\u0627\u062f\u064a \uff0b \u062a\u0643\u0628\u064a\u0631 \uff0d \u062a\u0635\u063a\u064a\u0631 \u21ba \u0625\u0639\u0627\u062f\u0629 \ud83d\udca1 \u0627\u0646\u0642\u0631 \u0639\u0644\u0649 \u0623\u064a \u0634\u0639\u0628\u0629 \u0623\u0648 \u0642\u0633\u0645 \u0644\u0639\u0631\u0636 \u0648\u062d\u062f\u0627\u062a\u0647 \u0627\u0644\u0641\u0631\u0639\u064a\u0629 \u0627\u0644\u062c\u0627\u0645\u0639\u0629 \u0645\u062c\u0644\u0633 \u0627\u0644\u0645\u0639\u0647\u062f \u0627\u0644\u0639\u0645\u064a\u062f \u0627\u0644\u0645\u0635\u0627\u062f\u0642\u0627\u062a &hellip; <a href=\"https:\/\/isa.atu.edu.iq\/?page_id=22559&#038;lang=en\">Continued<\/a><\/p>\n","protected":false},"author":99900,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-22559","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/isa.atu.edu.iq\/index.php?rest_route=\/wp\/v2\/pages\/22559","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/isa.atu.edu.iq\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/isa.atu.edu.iq\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/isa.atu.edu.iq\/index.php?rest_route=\/wp\/v2\/users\/99900"}],"replies":[{"embeddable":true,"href":"https:\/\/isa.atu.edu.iq\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22559"}],"version-history":[{"count":14,"href":"https:\/\/isa.atu.edu.iq\/index.php?rest_route=\/wp\/v2\/pages\/22559\/revisions"}],"predecessor-version":[{"id":22649,"href":"https:\/\/isa.atu.edu.iq\/index.php?rest_route=\/wp\/v2\/pages\/22559\/revisions\/22649"}],"wp:attachment":[{"href":"https:\/\/isa.atu.edu.iq\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}