{"id":4896,"date":"2025-11-10T04:44:37","date_gmt":"2025-11-09T23:44:37","guid":{"rendered":"https:\/\/insurancewala.pk\/?page_id=4896"},"modified":"2026-10-21T00:45:31","modified_gmt":"2026-10-20T19:45:31","slug":"child-education-calculator","status":"publish","type":"page","link":"https:\/\/insurancewala.pk\/?page_id=4896","title":{"rendered":"Child Education Calculator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4896\" class=\"elementor elementor-4896\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b1414a5 e-flex e-con-boxed e-con e-parent\" data-id=\"b1414a5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e8bec33 elementor-widget elementor-widget-html\" data-id=\"e8bec33\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ================= INSURANCE WALA CHILD EDUCATION CALCULATOR (v1) =================\r\n     Paste into a WordPress \"Custom HTML\" block or an Elementor \"HTML\" widget. -->\r\n<div id=\"iw-edu\">\r\n<style>\r\n\r\n\r\n#iw-edu{\r\n  --navy:#0d2840; --deep:#071a2b; --lime:#b3ff3c; --ink:#1e2f44; --muted:#566680;\r\n  --line:#d9e0ea; --mist:#f4f7fb; --err:#c0183f;\r\n  --page-bg:transparent;      \/* set to #0b1a2f for the old dark page look *\/\r\n  --scroll-offset:12px;       \/* raise this if your theme has a sticky header *\/\r\n  font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;\r\n  color:var(--ink); background:var(--page-bg); padding:12px; line-height:1.45;\r\n  text-align:left; -webkit-font-smoothing:antialiased;\r\n}\r\n#iw-edu *,#iw-edu *::before,#iw-edu *::after{box-sizing:border-box}\r\n#iw-edu :where(h2,h3,p,dl,dd,dt,ul,li){margin:0;padding:0;list-style:none}\r\n#iw-edu [hidden]{display:none!important}\r\n#iw-edu button,#iw-edu label{-webkit-tap-highlight-color:transparent;touch-action:manipulation}\r\n#iw-edu button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;\r\n  text-transform:none;letter-spacing:normal;box-shadow:none;-webkit-appearance:none;appearance:none;border-radius:0;line-height:1.2}\r\n#iw-edu svg{display:block}\r\n\r\n\/* ---------- card + header ---------- *\/\r\n#iw-edu .iw-card{max-width:560px;margin:0 auto;background:#fff;border-radius:28px;scroll-margin-top:var(--scroll-offset);\r\n  box-shadow:0 24px 48px -24px rgba(7,26,43,.45),0 0 0 1px rgba(13,40,64,.08)}\r\n#iw-edu .iw-head{display:flex;align-items:center;gap:16px;padding:16px 18px;\r\n  background:linear-gradient(145deg,#0d2840,#071a2b);border-radius:28px 28px 0 0}\r\n#iw-edu .iw-logo{display:block;width:auto;height:78px;max-width:none;flex:none;\r\n  filter:drop-shadow(0 0 16px rgba(179,255,60,.22))}\r\n#iw-edu .iw-title{font-size:21px;line-height:1.15;font-weight:800;letter-spacing:-.4px;color:#fff}\r\n#iw-edu .iw-sub{margin-top:4px;font-size:13.5px;line-height:1.35;color:rgba(255,255,255,.82)}\r\n\r\n\/* ---------- tabs ---------- *\/\r\n#iw-edu .iw-tabs{display:flex;gap:6px;margin:14px 14px 0;padding:6px;background:var(--mist);border-radius:18px}\r\n#iw-edu .iw-tab{--tb:var(--mist);flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:8px 6px;\r\n  border-radius:14px;font-size:14.5px;font-weight:700;color:var(--muted);transition:background .2s,color .2s}\r\n#iw-edu .iw-tab svg{width:24px;height:24px;flex:none;fill:currentColor;stroke:none}\r\n#iw-edu .iw-tab svg .i2{fill:#9db0c8;stroke:var(--tb);stroke-width:1.6;stroke-linejoin:round;paint-order:stroke}\r\n#iw-edu .iw-tab:hover{--tb:#e9eef5;color:var(--navy);background:#e9eef5}\r\n#iw-edu .iw-tab[aria-selected=\"true\"]{--tb:var(--navy);background:var(--navy);color:#fff}\r\n#iw-edu .iw-tab[aria-selected=\"true\"] svg .i2{fill:var(--lime)}\r\n\r\n\/* ---------- body + progress ---------- *\/\r\n#iw-edu .iw-body{padding:18px 16px 6px}\r\n#iw-edu .iw-progress{display:flex;align-items:center;gap:12px;margin-bottom:16px}\r\n#iw-edu .iw-pstep{font-size:13.5px;font-weight:700;color:var(--muted);white-space:nowrap}\r\n#iw-edu .iw-pbar{flex:1;display:flex;gap:4px}\r\n#iw-edu .iw-pbar i{flex:1;height:6px;border-radius:3px;background:#e3e9f1;transition:background .25s}\r\n#iw-edu .iw-pbar i.on{background:var(--navy)}\r\n\r\n@keyframes iw-fwd{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}\r\n@keyframes iw-bwd{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}\r\n#iw-edu .iw-screen.is-fwd{animation:iw-fwd .24s cubic-bezier(.2,.7,.2,1)}\r\n#iw-edu .iw-screen.is-bwd{animation:iw-bwd .24s cubic-bezier(.2,.7,.2,1)}\r\n#iw-edu .iw-h{font-size:22px;line-height:1.2;font-weight:800;color:var(--navy);letter-spacing:-.3px;outline:none}\r\n#iw-edu .iw-lead{margin-top:4px;font-size:15px;color:var(--muted)}\r\n#iw-edu .iw-field{margin-top:24px}\r\n#iw-edu .iw-label{display:block;font-size:15.5px;font-weight:800;color:var(--navy)}\r\n#iw-edu .iw-hint{margin:2px 0 10px;font-size:13.5px;color:var(--muted)}\r\n#iw-edu .iw-tag{font-weight:600;color:var(--muted);font-size:13.5px}\r\n#iw-edu .iw-stack{display:grid;gap:8px}\r\n#iw-edu .iw-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}\r\n\r\n\/* ---------- native inputs, visually hidden (labels carry the look) ---------- *\/\r\n#iw-edu .iw-opt{position:relative}\r\n#iw-edu .iw-in{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}\r\n#iw-edu .iw-in:focus-visible+label{outline:3px solid var(--navy);outline-offset:3px}\r\n\r\n\/* age \/ parent chips *\/\r\n#iw-edu .iw-chip{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 12px;text-align:center;\r\n  border:1.5px solid var(--line);border-radius:12px;background:#fff;font-size:15px;font-weight:700;color:var(--navy);\r\n  cursor:pointer;user-select:none;transition:background .15s,border-color .15s,color .15s}\r\n#iw-edu .iw-chip:hover{border-color:var(--navy)}\r\n#iw-edu .iw-in:checked+.iw-chip{background:var(--navy);border-color:var(--navy);color:#fff}\r\n\r\n\/* plan cards *\/\r\n#iw-edu .iw-plan{display:flex;align-items:center;gap:12px;min-height:68px;padding:12px 14px;\r\n  border:1.5px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}\r\n#iw-edu .iw-plan:hover{border-color:var(--navy)}\r\n#iw-edu .iw-radio{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid #8fa1b8;position:relative;transition:border-color .15s}\r\n#iw-edu .iw-radio::after{content:\"\";position:absolute;inset:3px;border-radius:50%;background:var(--navy);transform:scale(0);transition:transform .15s}\r\n#iw-edu .iw-plan-main{flex:1;min-width:0}\r\n#iw-edu .iw-plan-main strong,#iw-edu .iw-row-text strong{display:block;font-size:16px;font-weight:800;color:var(--navy)}\r\n#iw-edu .iw-plan-main small,#iw-edu .iw-row-text small{display:block;font-size:13.5px;color:var(--muted)}\r\n#iw-edu .iw-plan-price{text-align:right;flex:none}\r\n#iw-edu .iw-plan-price b{display:block;font-size:17px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}\r\n#iw-edu .iw-plan-price small{display:block;font-size:13px;color:var(--muted)}\r\n#iw-edu .iw-in:checked+.iw-plan{border-color:var(--navy);background:#f4fde4;box-shadow:0 0 0 1px var(--navy)}\r\n#iw-edu .iw-in:checked+.iw-plan .iw-radio{border-color:var(--navy)}\r\n#iw-edu .iw-in:checked+.iw-plan .iw-radio::after{transform:scale(1)}\r\n\r\n\/* switch rows *\/\r\n#iw-edu .iw-row{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 14px;\r\n  border:1.5px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}\r\n#iw-edu .iw-row-static{cursor:default}\r\n#iw-edu .iw-row-text{flex:1;min-width:0}\r\n#iw-edu .iw-row-text strong{font-size:15.5px}\r\n#iw-edu .iw-pill{flex:none;padding:4px 10px;border-radius:40px;background:#eef2f7;font-size:13px;font-weight:800;color:var(--navy);white-space:nowrap}\r\n#iw-edu .iw-sw{flex:none;position:relative;width:46px;height:28px;border-radius:20px;background:#b9c4d3;transition:background .2s}\r\n#iw-edu .iw-sw::after{content:\"\";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s,background .2s}\r\n#iw-edu .iw-in:checked+.iw-row{border-color:var(--navy);background:#f7fafd}\r\n#iw-edu .iw-in:checked+.iw-row .iw-sw{background:var(--navy)}\r\n#iw-edu .iw-in:checked+.iw-row .iw-sw::after{transform:translateX(18px);background:var(--lime)}\r\n\r\n\/* children stepper *\/\r\n#iw-edu .iw-stepper{display:flex;align-items:center;gap:4px;flex:none}\r\n#iw-edu .iw-sbtn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:#fff;\r\n  font-size:22px;font-weight:700;color:var(--navy);display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}\r\n#iw-edu .iw-sbtn:hover:not(:disabled){border-color:var(--navy);background:var(--mist)}\r\n#iw-edu .iw-sbtn:disabled{opacity:.35;cursor:not-allowed}\r\n#iw-edu .iw-kids{min-width:30px;text-align:center;font-size:20px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}\r\n\r\n\/* ---------- review screen ---------- *\/\r\n#iw-edu .iw-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:-8px 0 4px -6px;padding:0 8px;\r\n  border-radius:10px;font-size:15px;font-weight:700;color:var(--navy)}\r\n#iw-edu .iw-back svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}\r\n#iw-edu .iw-back:hover{background:var(--mist)}\r\n#iw-edu .iw-sum{margin-top:16px;padding:2px 16px;border:1.5px solid var(--line);border-radius:16px;background:#fff}\r\n#iw-edu .iw-sum+.iw-sum{margin-top:10px}\r\n#iw-edu .iw-sum-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #edf1f6;font-size:15px}\r\n#iw-edu .iw-sum-row:last-child{border-bottom:0}\r\n#iw-edu .iw-sum-row dt{color:var(--muted);font-weight:600;flex:none}\r\n#iw-edu .iw-sum-row dd{color:var(--navy);font-weight:700;text-align:right}\r\n#iw-edu .iw-sum-total dt{color:var(--navy);font-weight:800}\r\n#iw-edu .iw-sum-total dd{font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}\r\n#iw-edu .iw-note{margin-top:8px;font-size:13.5px;color:var(--muted)}\r\n#iw-edu .iw-benefits{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px;margin-top:16px}\r\n#iw-edu .iw-ben{display:flex;align-items:flex-start;gap:10px}\r\n#iw-edu .iw-ben-ico{flex:none;width:28px;height:28px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center}\r\n#iw-edu .iw-ben-ico svg{width:15px;height:15px;stroke:var(--lime);fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}\r\n#iw-edu .iw-ben-t{display:block;font-size:14.5px;font-weight:800;color:var(--navy);line-height:1.25}\r\n#iw-edu .iw-ben-d{display:block;font-size:13.5px;color:var(--muted)}\r\n\r\n\/* ---------- form fields ---------- *\/\r\n#iw-edu .iw-input{display:block;width:100%;min-height:52px;margin:8px 0 0;padding:12px 16px;border:1.5px solid var(--line);border-radius:14px;\r\n  background:#fff;font:inherit;font-size:16px;font-weight:600;color:var(--navy);box-shadow:none;transition:border-color .15s,box-shadow .15s}\r\n#iw-edu .iw-input::placeholder{color:#7d8ba1;font-weight:500}\r\n#iw-edu .iw-input:focus,#iw-edu .iw-phone:focus-within{outline:none;border-color:var(--navy);box-shadow:0 0 0 4px rgba(13,40,64,.14)}\r\n#iw-edu .iw-phone{display:flex;align-items:center;margin-top:8px;padding:0 6px 0 16px;border:1.5px solid var(--line);border-radius:14px;background:#fff;transition:border-color .15s,box-shadow .15s}\r\n#iw-edu .iw-phone span{font-size:16px;font-weight:800;color:var(--navy);margin-right:10px}\r\n#iw-edu .iw-phone .iw-input{flex:1;min-width:0;margin:0;border:0;border-radius:0;padding:12px 0;box-shadow:none}\r\n#iw-edu .iw-phone .iw-input:focus{box-shadow:none}\r\n#iw-edu .iw-input.is-bad,#iw-edu .iw-phone.is-bad{border-color:var(--err);background:#fff6f8}\r\n#iw-edu .iw-err{margin-top:6px;font-size:13.5px;font-weight:700;color:var(--err)}\r\n\r\n\/* ---------- sticky price bar ---------- *\/\r\n#iw-edu .iw-pricebar{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;\r\n  margin:14px 12px 12px;padding:12px 12px 12px 18px;border-radius:22px;background:var(--navy);color:#fff;\r\n  box-shadow:0 14px 30px -12px rgba(7,26,43,.6)}\r\n#iw-edu .iw-pb-label,#iw-edu .iw-pb-month{display:block;font-size:13px;color:rgba(255,255,255,.82);white-space:nowrap}\r\n#iw-edu .iw-pb-total{display:block;font-size:26px;line-height:1.1;font-weight:800;letter-spacing:-.5px;color:var(--lime);font-variant-numeric:tabular-nums}\r\n#iw-edu .iw-pb-btn{display:flex;align-items:center;justify-content:center;gap:8px;flex:none;min-height:50px;padding:0 22px;border-radius:40px;\r\n  background:var(--lime);color:var(--navy);font-size:16px;font-weight:800;white-space:nowrap;transition:background .15s,transform .1s}\r\n#iw-edu .iw-pb-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}\r\n#iw-edu .iw-pb-btn:hover:not(:disabled){background:#a2ee2a}\r\n#iw-edu .iw-pb-btn:active:not(:disabled){transform:scale(.98)}\r\n#iw-edu .iw-pb-btn:disabled{opacity:.45;cursor:not-allowed}\r\n#iw-edu .iw-pb-actions{display:flex;gap:8px;flex:none}\r\n#iw-edu .iw-pb-back{display:flex;align-items:center;justify-content:center;gap:4px;flex:none;min-height:50px;padding:0 20px 0 12px;\r\n  border-radius:40px;border:1.5px solid rgba(255,255,255,.42);color:#fff;font-size:16px;font-weight:700;transition:background .15s,border-color .15s,transform .1s}\r\n#iw-edu .iw-pb-back svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}\r\n#iw-edu .iw-pb-back:hover{background:rgba(255,255,255,.12);border-color:#fff}\r\n#iw-edu .iw-pb-back:active{transform:scale(.98)}\r\n#iw-edu .iw-pricebar.is-review{flex-direction:column;align-items:stretch;gap:10px;padding:12px}\r\n#iw-edu .iw-pricebar.is-review .iw-pb-price{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 6px}\r\n#iw-edu .iw-pricebar.is-review .iw-pb-total{font-size:22px}\r\n#iw-edu .iw-pricebar.is-review .iw-pb-month{display:none}\r\n#iw-edu .iw-pricebar.is-review .iw-pb-actions{flex:1}\r\n#iw-edu .iw-pricebar.is-review .iw-pb-btn{flex:1}\r\n#iw-edu .iw-pb-btn:focus-visible,#iw-edu .iw-pb-back:focus-visible,#iw-edu .iw-modal-btn:focus-visible,#iw-edu .iw-back:focus-visible,#iw-edu .iw-sbtn:focus-visible,#iw-edu .iw-tab:focus-visible{\r\n  outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px var(--navy)}\r\n#iw-edu .iw-back:focus-visible,#iw-edu .iw-sbtn:focus-visible,#iw-edu .iw-tab:focus-visible{outline-color:var(--navy);box-shadow:none}\r\n\r\n\/* ---------- confirmation dialog ---------- *\/\r\n#iw-edu .iw-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(7,26,43,.62)}\r\n#iw-edu .iw-modal-card{width:100%;max-width:380px;padding:28px 24px 22px;border-radius:24px;background:#fff;text-align:center}\r\n#iw-edu .iw-modal-ico{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center}\r\n#iw-edu .iw-modal-ico svg{width:28px;height:28px;stroke:var(--lime);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}\r\n#iw-edu .iw-modal h3{font-size:22px;font-weight:800;color:var(--navy);letter-spacing:-.3px}\r\n#iw-edu .iw-modal p{margin:8px 0 18px;font-size:15px;color:var(--muted)}\r\n#iw-edu .iw-modal-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;border-radius:40px;font-size:16px;font-weight:800;text-decoration:none;cursor:pointer}\r\n#iw-edu .iw-modal-btn.main{background:var(--lime);color:var(--navy)}\r\n#iw-edu .iw-modal-btn.ghost{margin-top:8px;color:var(--navy);background:transparent}\r\n#iw-edu .iw-modal-btn.ghost:hover{background:var(--mist)}\r\n\r\n\/* ---------- small screens ---------- *\/\r\n@media (max-width:440px){\r\n  #iw-edu{padding:8px}\r\n  #iw-edu .iw-title{font-size:19px}\r\n  #iw-edu .iw-logo{height:66px}\r\n  #iw-edu .iw-sub{font-size:13px}\r\n  #iw-edu .iw-tab{flex-direction:column;gap:3px;min-height:58px;font-size:13px}\r\n  #iw-edu .iw-body{padding:16px 12px 4px}\r\n  #iw-edu .iw-h{font-size:20px}\r\n  #iw-edu .iw-pb-total{font-size:23px}\r\n  #iw-edu .iw-pb-btn{padding:0 16px;font-size:15px}\r\n  #iw-edu .iw-pricebar{margin:12px 8px 8px;padding-left:14px}\r\n  #iw-edu .iw-pricebar.is-review{padding:12px}\r\n  #iw-edu .iw-pb-back{padding:0 16px 0 10px;font-size:15px}\r\n}\r\n@media (max-width:359px){\r\n  #iw-edu .iw-benefits{grid-template-columns:1fr}\r\n}\r\n@media (prefers-reduced-motion:reduce){\r\n  #iw-edu *,#iw-edu *::before,#iw-edu *::after{transition:none!important;animation:none!important}\r\n}\r\n\r\n\/* ===== Hajj savings calculator additions ===== *\/\r\n#iw-edu .hj-logo{--lw:111px;position:relative;flex:none;display:block;width:var(--lw);height:calc(var(--lw)*.70455);overflow:hidden}\r\n#iw-edu .hj-logo .iw-logo{position:absolute;display:block;max-width:none;width:calc(var(--lw)*1.26263);height:calc(var(--lw)*1.26263);left:calc(var(--lw)*-.12879);top:calc(var(--lw)*-.31061);filter:none}\r\n#iw-edu .hj-need{margin-top:10px;padding:10px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--mist);font-size:14px;font-weight:700;color:var(--navy)}\r\n#iw-edu .hj-need:empty{display:none}\r\n#iw-edu .hj-need.is-short{border-color:var(--err);background:#fff6f8;color:var(--ink)}\r\n#iw-edu .hj-need.is-ok{border-color:var(--navy);background:#f4fde4}\r\n#iw-edu .hj-who{margin-top:10px;font-size:14px;font-weight:700;color:var(--navy)}\r\n#iw-edu .iw-sum-row dd{white-space:nowrap}\r\n#iw-edu .iw-sum-row dt{flex:1 1 0;min-width:0}\r\n#iw-edu .hj-det .iw-sum-row dd{white-space:normal}\r\n#iw-edu .hj-usewrap{margin-top:8px}\r\n#iw-edu .hj-use{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:6px 16px;border:2px solid var(--navy);border-radius:40px;background:#fff;font-size:15px;font-weight:800;line-height:1.25;text-align:center;color:var(--navy);transition:background .15s,transform .1s}\r\n#iw-edu .hj-use:hover{background:var(--mist)}\r\n#iw-edu .hj-use:active{transform:scale(.99)}\r\n#iw-edu .hj-use:focus-visible{outline:3px solid var(--navy);outline-offset:3px}\r\n#iw-edu .hj-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}\r\n#iw-edu .hj-note{margin-top:4px;font-weight:700;color:var(--navy)}\r\n#iw-edu .iw-plan-price small{max-width:104px}\r\n#iw-edu .hj-range{-webkit-appearance:none;appearance:none;display:block;width:100%;height:36px;margin:10px 0 0;padding:0;background:transparent;cursor:pointer;--p:0%}\r\n#iw-edu .hj-range::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:linear-gradient(to right,var(--navy) var(--p),#dfe6ef var(--p))}\r\n#iw-edu .hj-range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-10px;border-radius:50%;background:var(--lime);border:3px solid var(--navy);box-shadow:0 2px 6px rgba(7,26,43,.35)}\r\n#iw-edu .hj-range::-moz-range-track{height:8px;border-radius:4px;background:#dfe6ef}\r\n#iw-edu .hj-range::-moz-range-progress{height:8px;border-radius:4px;background:var(--navy)}\r\n#iw-edu .hj-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--lime);border:3px solid var(--navy);box-shadow:0 2px 6px rgba(7,26,43,.35)}\r\n#iw-edu .hj-range:focus{outline:none}\r\n#iw-edu .hj-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #fff,0 0 0 7px var(--navy)}\r\n#iw-edu .hj-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px #fff,0 0 0 7px var(--navy)}\r\n#iw-edu .hj-rl{display:flex;justify-content:space-between;font-size:13px;font-weight:600;color:var(--muted)}\r\n#iw-edu .hj-words{margin-top:8px;font-size:13.5px;font-weight:600;color:var(--muted)}\r\n#iw-edu .hj-grow{margin-top:10px;padding:10px 14px;border:1.5px solid var(--navy);border-radius:14px;background:#f4fde4;font-size:14px;font-weight:600;color:var(--navy)}\r\n#iw-edu .hj-feats{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:6px}\r\n#iw-edu .hj-feats li{font-size:13px;color:var(--muted);font-weight:600}\r\n#iw-edu .hj-feats li::before{content:\"\";display:inline-block;width:6px;height:6px;margin:0 6px 1px 0;border-radius:50%;background:var(--navy)}\r\n#iw-edu .hj-hero{margin-top:18px;padding:22px 16px 18px;border-radius:24px;background:linear-gradient(145deg,#0d2840,#071a2b);text-align:center;color:#fff}\r\n#iw-edu .hj-hero p{font-size:14.5px;color:rgba(255,255,255,.86)}\r\n#iw-edu .hj-hero b{display:block;margin:6px 0 2px;font-size:38px;line-height:1.1;font-weight:800;letter-spacing:-.8px;color:var(--lime);font-variant-numeric:tabular-nums}\r\n#iw-edu .hj-hero small{display:block;margin-bottom:8px;font-size:14px;color:rgba(255,255,255,.78)}\r\n#iw-edu .hj-prog{height:8px;margin:14px 8px 6px;border-radius:4px;background:rgba(255,255,255,.2);overflow:hidden}\r\n#iw-edu .hj-prog i{display:block;height:100%;border-radius:4px;background:var(--lime);transition:width .4s}\r\n#iw-edu .hj-hero .hj-pct{font-size:13.5px}\r\n#iw-edu .hj-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}\r\n#iw-edu .hj-tile{min-width:0;padding:12px 14px;border:1.5px solid var(--line);border-radius:16px;background:#fff}\r\n#iw-edu .hj-tile span,#iw-edu .hj-gap span{display:block;font-size:13.5px;font-weight:600;color:var(--muted)}\r\n#iw-edu .hj-tile b{display:block;margin-top:2px;font-size:19px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}\r\n#iw-edu .hj-tile small,#iw-edu .hj-gap small{display:block;font-size:13px;color:var(--muted)}\r\n#iw-edu .hj-gap{margin-top:8px;padding:14px 16px;border:1.5px solid var(--err);border-left-width:6px;border-radius:16px;background:#fff6f8}\r\n#iw-edu .hj-gap b{display:block;margin:2px 0;font-size:25px;font-weight:800;color:var(--err);font-variant-numeric:tabular-nums}\r\n#iw-edu .hj-gap.is-ok{border-color:var(--navy);background:#f4fde4}\r\n#iw-edu .hj-gap.is-ok b{color:var(--navy)}\r\n#iw-edu .hj-chartbox{margin-top:8px;padding:12px 10px;border:1.5px solid var(--line);border-radius:18px;background:#fff}\r\n#iw-edu .hj-svg{display:block;width:100%;height:auto;cursor:crosshair}\r\n#iw-edu .hj-ax{font-size:17px;fill:#566680;font-family:inherit}\r\n#iw-edu .hj-legend{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}\r\n#iw-edu .hj-lg{display:flex;align-items:center;gap:6px;min-height:38px;padding:0 12px;border:1.5px solid var(--line);border-radius:40px;background:#fff;font-size:13px;font-weight:700;color:var(--navy);cursor:pointer;transition:opacity .15s,background .15s}\r\n#iw-edu .hj-lg i{width:12px;height:12px;flex:none;border-radius:50%}\r\n#iw-edu .iw-in:not(:checked)+.hj-lg{opacity:.5}\r\n#iw-edu .iw-in:checked+.hj-lg{background:var(--mist);border-color:var(--navy)}\r\n#iw-edu .hj-read{margin-top:10px;padding:10px 12px;border-radius:14px;background:var(--mist);font-size:13.5px;color:var(--ink)}\r\n#iw-edu .hj-read strong{display:block;margin-bottom:4px;color:var(--navy)}\r\n#iw-edu .hj-read li{display:flex;align-items:center;gap:8px;padding:2px 0}\r\n#iw-edu .hj-read li i{width:10px;height:10px;flex:none;border-radius:50%}\r\n#iw-edu .hj-read li span{flex:1;min-width:0}\r\n#iw-edu .hj-read li b{color:var(--navy);font-variant-numeric:tabular-nums}\r\n#iw-edu .hj-det{margin-top:6px}\r\n#iw-edu .hj-det summary{display:flex;align-items:center;min-height:44px;cursor:pointer;list-style:none;font-size:14.5px;font-weight:800;color:var(--navy)}\r\n#iw-edu .hj-det summary::-webkit-details-marker{display:none}\r\n#iw-edu .hj-det summary::after{content:\"\";width:8px;height:8px;margin:-3px 0 0 10px;border-right:2.5px solid var(--navy);border-bottom:2.5px solid var(--navy);transform:rotate(45deg);transition:transform .2s}\r\n#iw-edu .hj-det[open] summary::after{margin-top:3px;transform:rotate(-135deg)}\r\n#iw-edu .hj-det summary:focus-visible{outline:3px solid var(--navy);outline-offset:3px}\r\n#iw-edu .hj-tbl{overflow-x:auto;margin-top:2px}\r\n#iw-edu .hj-tbl table{width:100%;border-collapse:collapse;font-size:13px}\r\n#iw-edu .hj-tbl th,#iw-edu .hj-tbl td{padding:8px 10px;text-align:right;white-space:nowrap;border-bottom:1px solid #edf1f6;color:var(--ink)}\r\n#iw-edu .hj-tbl th:first-child,#iw-edu .hj-tbl td:first-child{text-align:left}\r\n#iw-edu .hj-tbl th{color:var(--muted);font-weight:700}\r\n#iw-edu .hj-ul{display:grid;gap:8px;margin:4px 0 8px;font-size:14px;color:var(--ink)}\r\n#iw-edu .hj-ul li{position:relative;padding-left:16px}\r\n#iw-edu .hj-ul li::before{content:\"\";position:absolute;left:2px;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--navy)}\r\n#iw-edu .iw-pb-price{min-width:0;flex:1}\r\n#iw-edu .iw-pb-month{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\r\n#iw-edu .iw-pricebar.is-review .iw-pb-price{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center;padding:0 6px;flex:none}\r\n#iw-edu .iw-pricebar.is-review .iw-pb-label{grid-column:1;grid-row:1}\r\n#iw-edu .iw-pricebar.is-review .iw-pb-month{display:block;grid-column:1;grid-row:2}\r\n#iw-edu .iw-pricebar.is-review .iw-pb-total{grid-column:2;grid-row:1 \/ span 2}\r\n@media (max-width:440px){\r\n  #iw-edu .hj-logo{--lw:94px}\r\n  #iw-edu .hj-hero b{font-size:34px}\r\n  #iw-edu .iw-plan-price small{max-width:84px}\r\n}\r\n\r\n\/* ===== Child education calculator additions ===== *\/\r\n#iw-edu .iw-input[type=\"date\"]{-webkit-appearance:none;appearance:none;min-height:52px;text-align:left}\r\n#iw-edu .ed-ok{color:var(--navy)}\r\n#iw-edu .ed-chk{color:var(--err)}\r\n\r\n\/* ---- look and motion ---- *\/\r\n#iw-edu .iw-head{position:relative;overflow:hidden}\r\n#iw-edu .iw-head>*{position:relative;z-index:1}\r\n#iw-edu .ed-orb{position:absolute;z-index:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 30% 30%,rgba(179,255,60,.24),rgba(179,255,60,0) 70%);transform:translate3d(0,calc(var(--py,0) * var(--k,1) * 1px),0)}\r\n#iw-edu .ed-orb.o1{width:180px;height:180px;right:-50px;top:-80px;--k:-1}\r\n#iw-edu .ed-orb.o2{width:130px;height:130px;left:34%;bottom:-80px;--k:1.6;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.14),rgba(255,255,255,0) 70%)}\r\n#iw-edu .ed-cap{position:absolute;z-index:0;right:14px;bottom:6px;width:62px;height:62px;color:#fff;opacity:.13;pointer-events:none}\r\n#iw-edu .ed-cap svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}\r\n#iw-edu .iw-progress{position:sticky;top:var(--scroll-offset);z-index:6;margin:-18px -16px 14px;padding:14px 16px 10px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #edf1f6}\r\n#iw-edu .iw-pbar i{transition:background .35s ease,transform .35s ease}\r\n#iw-edu .iw-pbar i.on{transform:scaleY(1.25)}\r\n#iw-edu .ed-hrow{display:flex;align-items:center;gap:12px}\r\n#iw-edu .ed-hico{flex:none;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:15px;background:var(--navy);box-shadow:0 10px 18px -10px rgba(13,40,64,.7)}\r\n#iw-edu .ed-hico svg{width:24px;height:24px;fill:none;stroke:var(--lime);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}\r\n#iw-edu .ed-ico{display:inline-flex;flex:none;margin-right:8px}\r\n#iw-edu .ed-ico svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}\r\n#iw-edu .iw-plan-main strong .ed-ico{vertical-align:-3px}\r\n#iw-edu .iw-sw::after{transition:transform .32s cubic-bezier(.3,1.4,.5,1),background .2s}\r\n#iw-edu .iw-pb-label,#iw-edu .iw-pb-month{max-height:22px;transition:max-height .25s ease,opacity .2s ease}\r\n#iw-edu .iw-pricebar.is-compact .iw-pb-label,#iw-edu .iw-pricebar.is-compact .iw-pb-month{max-height:0;opacity:0;overflow:hidden}\r\n#iw-edu .ed-rw{position:relative;margin-top:24px}\r\n#iw-edu .ed-rw .hj-range{margin-top:0}\r\n#iw-edu .ed-bub{position:absolute;bottom:36px;left:0;transform:translateX(-50%) translateY(6px) scale(.9);padding:4px 10px;border-radius:10px;background:var(--navy);color:var(--lime);font-size:13px;font-weight:800;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}\r\n#iw-edu .ed-bub::after{content:\"\";position:absolute;left:50%;top:100%;margin-left:-5px;border:5px solid transparent;border-top-color:var(--navy)}\r\n#iw-edu .ed-rw.is-drag .ed-bub{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}\r\n#iw-edu .hj-range::-webkit-slider-thumb{transition:transform .15s}\r\n#iw-edu .ed-rw.is-drag .hj-range::-webkit-slider-thumb{transform:scale(1.18)}\r\n#iw-edu .ed-rw.is-drag .hj-range::-moz-range-thumb{transform:scale(1.18)}\r\n#iw-edu .ed-ring{position:relative;width:96px;height:96px;margin:0 auto 10px}\r\n#iw-edu .ed-ring svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}\r\n#iw-edu .ed-ring circle{fill:none;stroke-width:9;stroke-linecap:round}\r\n#iw-edu .ed-ring .trk{stroke:rgba(255,255,255,.18)}\r\n#iw-edu .ed-ring .val{stroke:var(--lime);transition:stroke-dashoffset 1.5s cubic-bezier(.3,.7,.2,1)}\r\n#iw-edu .ed-ring-t{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums}\r\n#iw-edu .hj-hero{position:relative;overflow:hidden}\r\n#iw-edu .hj-hero::after{content:\"\";position:absolute;inset:-40% -20% auto auto;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(179,255,60,.16),rgba(179,255,60,0) 70%);pointer-events:none}\r\n#iw-edu .hj-hero>*{position:relative;z-index:1}\r\n#iw-edu .hj-tile,#iw-edu .hj-gap,#iw-edu .hj-chartbox{transition:box-shadow .2s ease,transform .2s ease}\r\n@media (hover:hover){#iw-edu .hj-tile:hover,#iw-edu .hj-chartbox:hover{box-shadow:0 14px 28px -18px rgba(7,26,43,.45);transform:translateY(-2px)}}\r\n@keyframes edFade{from{opacity:0}to{opacity:1}}\r\n@keyframes edIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}\r\n@keyframes edPop{0%{transform:scale(.97)}55%{transform:scale(1.025)}100%{transform:scale(1)}}\r\n@keyframes edDrift{from{margin-top:0;margin-left:0}to{margin-top:16px;margin-left:-14px}}\r\n@keyframes edFloat{50%{transform:translateY(-6px) rotate(-3deg)}}\r\n#iw-edu.ed-anim .rv{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}\r\n#iw-edu.ed-anim .rv.is-in{opacity:1;transform:none}\r\n#iw-edu.ed-anim .iw-screen.is-fwd,#iw-edu.ed-anim .iw-screen.is-bwd{animation:edFade .3s ease}\r\n#iw-edu.ed-anim .ed-orb.o1{animation:edDrift 9s ease-in-out infinite alternate}\r\n#iw-edu.ed-anim .ed-orb.o2{animation:edDrift 12s ease-in-out infinite alternate-reverse}\r\n#iw-edu.ed-anim .ed-cap{animation:edFloat 6s ease-in-out infinite}\r\n#iw-edu.ed-anim .hj-usewrap:not([hidden]),#iw-edu.ed-anim #ed-adhoc-box:not([hidden]){animation:edIn .38s cubic-bezier(.2,.7,.2,1)}\r\n#iw-edu.ed-anim.ed-ready .iw-in:checked+.iw-chip,#iw-edu.ed-anim.ed-ready .iw-in:checked+.iw-plan{animation:edPop .34s cubic-bezier(.3,1.4,.5,1)}\r\n#iw-edu.ed-anim .hj-svg polyline[data-d]{transition:stroke-dashoffset 1.5s cubic-bezier(.3,.7,.2,1)}\r\n#iw-edu .hj-svg.ed-draw polyline[data-d]{stroke-dashoffset:0!important}\r\n#iw-edu.ed-anim .hj-svg polygon{opacity:0;transition:opacity 1.2s ease .4s}\r\n#iw-edu.ed-anim .hj-svg.ed-draw polygon{opacity:1}\r\n@media (max-width:440px){\r\n  #iw-edu .iw-progress{margin:-16px -12px 14px;padding:12px 12px 10px}\r\n  #iw-edu .ed-hico{width:42px;height:42px;border-radius:13px}\r\n}\r\n<\/style>\r\n\r\n<div class=\"iw-card\" id=\"ed-card\">\r\n  <header class=\"iw-head\">\r\n    <i class=\"ed-orb o1\" aria-hidden=\"true\"><\/i><i class=\"ed-orb o2\" aria-hidden=\"true\"><\/i>\r\n    <span class=\"ed-cap\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\"><path d=\"M22 10 12 5 2 10l10 5 10-5z\"\/><path d=\"M6 12v5c3 2 9 2 12 0v-5\"\/><path d=\"M22 10v6\"\/><\/svg><\/span>\r\n    <span class=\"hj-logo\"><img fetchpriority=\"high\" class=\"iw-logo\" src=\"https:\/\/insurancewala.pk\/wp-content\/uploads\/2025\/10\/logo-green-500-x-500-px.png\" alt=\"Insurance Wala\" width=\"500\" height=\"500\" decoding=\"async\"><\/span>\r\n    <div>\r\n      <h2 class=\"iw-title\">Child education calculator<\/h2>\r\n      <p class=\"iw-sub\">Secure your child&rsquo;s future with a clear education savings plan.<\/p>\r\n    <\/div>\r\n  <\/header>\r\n\r\n  <div class=\"iw-body\">\r\n    <div class=\"iw-progress\">\r\n      <span class=\"iw-pstep\" id=\"ed-pstep\">Step 1 of 4<\/span>\r\n      <div class=\"iw-pbar\" aria-hidden=\"true\"><i class=\"on\" id=\"ed-pb1\"><\/i><i id=\"ed-pb2\"><\/i><i id=\"ed-pb3\"><\/i><i id=\"ed-pb4\"><\/i><\/div>\r\n    <\/div>\r\n    <div id=\"ed-screens\"><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"iw-pricebar\" id=\"ed-bar\">\r\n    <div class=\"iw-pb-price\">\r\n      <span class=\"iw-pb-label\" id=\"ed-label\">Child&rsquo;s age<\/span>\r\n      <strong class=\"iw-pb-total\" id=\"ed-total\">&ndash;<\/strong>\r\n      <span class=\"iw-pb-month\" id=\"ed-sub\"><\/span>\r\n    <\/div>\r\n    <div class=\"iw-pb-actions\">\r\n      <button type=\"button\" class=\"iw-pb-back\" id=\"ed-back\" data-act=\"back\" hidden><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polyline points=\"15 18 9 12 15 6\"\/><\/svg>Back<\/button>\r\n      <button type=\"button\" class=\"iw-pb-btn\" id=\"ed-next\" data-act=\"next\">Continue<\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<div class=\"iw-modal\" id=\"ed-modal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"ed-modal-title\" hidden>\r\n  <div class=\"iw-modal-card\">\r\n    <div class=\"iw-modal-ico\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/div>\r\n    <h3 id=\"ed-modal-title\">One last step<\/h3>\r\n    <p>WhatsApp is opening with your education plan filled in. Tap <strong>Send<\/strong> in WhatsApp so it reaches us. Our specialist will reply with your personalised education options.<\/p>\r\n    <a class=\"iw-modal-btn main\" id=\"ed-wa-link\" href=\"#\" target=\"_blank\" rel=\"noopener\">Open WhatsApp again<\/a>\r\n    <button type=\"button\" class=\"iw-modal-btn ghost\" id=\"ed-modal-close\" data-act=\"close\">Done<\/button>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  'use strict';\r\n  var root = document.getElementById('iw-edu');\r\n  if (!root || root.getAttribute('data-ready')) return;\r\n  root.setAttribute('data-ready', '1');\r\n\r\n  var LOGO_FALLBACK = 'data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AABLnklEQVR42u2deXxedZX\/3+d777MlbdMkrSwim4hLwWVkdBSX1gUVRdwaFWhaEa3jOO7LzKiTZnRcRhnHZfwNipQmLTipOq44AloEd0VxKSiDGyhY2iZN2yTPcu\/3\/P743ps8TZM0KQW6nPfr9ZCSPM9zt+\/93HPO93zPAcMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDGMfiJ2CIw9VZA1Ex4LcCWmv4O2sGIZxUIrVbH5nGAcjsZ2CI0usRNAP6zGLjqLaDRyXEn1RZNv1+d\/sLBkHM85OwZFBj+IEuFwXP\/hYaj+q4C5uwb2phP9mv3acJYIOKJGdKcMEy7jfWQKCoI50TQU5aRStj6K1GIkV\/defKIXNoOYeGuYSGgeDK5heqp3zQZ9cAxWIgGgM9WXcGZtpX94rQ1csCVZWamfNMMEy7hfWhNlgFZLFgiv78P+5JaXhb7xtrfKFzVBHgzV2z1QS6QFZArI5\/NTlYTuKxcoMcwmNfVGg6BTZI04lENVQLeEeGdN5Vq\/ge9j\/WJYqMqBECNor+C4h7RWSLiEVwZPFysz1NPYHGzRHjkuoa7Xl6IjSj4u44xqozx9YCmkLEo2gX1spg8\/b3xlDVZxkOV2blPJdtD0xJX4I+FaPG43xv08pfqdbtoxMfr9hmEto7EGd0e0VSiOy91MrqqIaoc9ar+2niwz9skdxc0ko7cnEZ622LYyIXvcn9BUOObkAOBweSBGExu192nFZjeTjIjsH57odw1xC43A3ozM3bLXQENjlglW1hwXlwVdwsYcL5zo2ctFZq21LC7jvtSLviZGTPVBHtYb6Bup9eEIe34qsqRB\/\/3LtCC6o2jg0TLCMqfnLNLEBqaOAvLRPj3pAr5DMRkgGlKhX8Ot04bkVoq8XcA8fQZNGJogSwg4uH2sN0BE0KSCnluErfdr2gl7Bq4mWYYJlTEbht9ONhUaIZR3jSJZDlru1D8uqS0g\/o20nF3D\/pUi5iqYCsUzzWQERiGtoqkgxJrq0T9tOEhMtwwTL2PuCy00zeY8pkKKre5RiFzPHlpaA9CguJnp\/CTm6gSZuljOMAlEDTYpIJ7h\/A1hjl8cwwTKaSeBmjzKVBSTg6mhagUecTPszcpdvOlewS0hPofOxEbxwFM2TUWeNQDyGqiAv2aBtjzXX0DDBMgDYnMWUPHpXDd0WgZsceM9cRhwSCaxG0M3MnN6g6LNakYKG7Pg5p8ko+ApCijsX4FPYekbDBOuIZw0oisxj6E6QXxaDtvipXLUxVB3y3LXa8Te9gl8+hZWVu4sCj0zGPzp3BDQbhI8EuNOWBRkmWIYIuongxgn8VJjedFLwZSSKkLcBDEy1KFrGf\/cAD8h+CpaCBMGTBwzoI4qZW2gJzYYJ1pHO1nG3MP1eDcVNc\/0FXBX1EbxgnbY\/QQS\/cYr3iqCK1mYSvzlYWulibrYEUsMEywgsH3cB\/bcb6E6XLYqeSj88aCGMj\/eOB96bLJ\/cChK4040bS\/vnEsaggm5dluV+WSFBwwTLCBaRIitl13aHfr2EqE6TupAt10lbcE+r0rGqS0ibF0VfN\/5v\/fE9sbA0pFKIwo8AltqYNEywjMlCo7ir2HfcyTVQdej712n78c3Z70uz4LhHvjqCDhWD6MxVtzQCGcWPpaQbm7\/XMEywDK4DjyIxcu0IfkshCNh0VpYkoCXcYodcAln2e1bNYUCJVsrQ7QKfKSMOSOa4O0kFcQ4uWyU7f2vuoDGLEIJxpJEnffZp+2dacBeOhuU00QxuW1pBojH0Q90y+PZNSrwM0p5s\/JzK8W2e3d+uIKePhGz3fVYBUUhakHgM\/2ul+NTfsmXbGlATLGMmrLzMEf200ssTdNVsXMMqmpaQt12uC29fJjs+0aPEvUISamfdPrRO57+kSvzV+biHjKCJZoueZU+RIrfmWpC4jv7OIy9aKVvutq49hllYxtTWTTbD9zEoLqT9ugru8VXU78PKUhdekpBe2C3Dlw8oUTbzKCL4y7XjgUX4dAF5jhBqLWsmVHlN5kI25Br4axvwypUydLsV8jNMsIwZ2aTEy4SkTzu6y8i6WlMF0n2IFjEkCf5NF8iO\/4RQtQEgL8TXrwsviIle1ECfKGibIs6hXpEdDv1hgn5+JTvW5+WSu8QC7YYJlrEPKysLnFfGaP9FCTmlEaylfU3EeMAVgRr60a0M\/eNbhLEeJV4DvrnJxJf1mJYRqp0NaBNkxyilwdVy12j+RVZt1DDBMmbNciXaKKR92vl3LfCJUTSR2QXMVUAriKui36viXneRbPtZbrkBLJPpZwwHlKiL0JDCroJhgmXM0sxCFKSfoyrQuKGMPCaLZbnZfTzMHjZgp6If3o1+bLUMDeeitBx0TfbeNUHkMJEyTLCM\/aYpxeHZRdzXGqgyhxIvCj4CV0Ko4m8T+FBKcUPeGSdf1mMWlWGCZRxQ0Vqn7f2tuAv2lZc1lYsI+CISRUAN\/Q3wSfBfukB2\/HH8fYqsyRJVLXZlmGAZ+0Ue\/L5CK8emlG+McUclwdKa00qIZuEqACPoNuCbDv3yCHwtdxfzbeY14zcH19GSRg0TLGNuVla\/tq+u4P5rrlbWJLyGdYJRGaGB0oC7HfoVD1cn+B+9Qob\/MNU+NLW19xbzMkywjOnMI+kBORaiMu03lHGPr80hAD+dxSWQKkQxSImQcFXHb\/FwC7jvCf57jujW+RT+\/PymlIc9vickusp14K4DxgXNxMwEyzArq08XnlMh+vLYPbOypnQXAQoQxU1DbwwdA70ZuEVxmx3pzUrh5jKlP2\/mT7Xp4l2Wx2WCZRzB9ChuDehGFrfWSH9QhCX12SWT7pfLmP+Pg6iAUCDUlqmFP9U8OiTIbQp3CNyhcAdwV4r+ZZChn2YJqyZaJljGEesZKpEI6Xptf28Z987RA2hlzcL6UkKj1ShvFx0h2c\/w\/zWgjtYd3Aq88nwZ\/JGJlgmWceQKlhPQ9Sx8suKuk4nCfHLf70oooZxn1meCFgEyD5FdpLdE6JnnMbyDoHQW0zrMsQJ+xt4Gj6AN9BeK7rofn2giEyVqIsKSoUI2ZnUXmlSIHt4gWiqCrrF+hiZYxpFrcp\/I8G5Bbo\/Cbw42y8VNNK\/gdAgzh3b1TLCMI0+xFMYXL\/\/ZMR5jOghNQVRgnl20IwerOGrMxM6DLMiZx7FSIAp9FeXnAIstHmsWlnFkklck9eiI3PtdbLyG5NLxV\/47INHwSrPBKkXEtSKFArADf9kQ2z+niiybZj\/z4oKGWVjGYcqaiQarWkKiUbTBAQ5q525mEXHNg3A8t4GJVIaEUG7ZQ62G\/qSB\/19P9L1VMvgtgDfMsJ1ewVu9eBMs4wiwsvrh0mHSR7Xi\/mrkwGa9E2cuXAN\/Sx3uECTPo1qgMB\/YCWwXdDvobcANNaKbLpLtu\/LvmbEQoCIIul4XniBNFSOMQxvz+49wehS3FNxW0M3ZeOgNrhki6CV6TMt8ah8pIK+uoukBsLTUgXgYTuEVD4Bvni2DO5tEqFijozzK4NhqoZH\/\/lJtP60FPSdFHhwjv6vhv7pKdvxiKusp\/906bf9oO+6lO9ANKxh8K1iulgmWcchaUBvBTdcAIlumg4w3luh8XxH+sR6aVcj+jh2FZB4S70b\/qVsG3\/9qpfBYYLXQmJyxnhf\/G6PzbSV4f8zEOqEEHa6hL10pQ99o7rqT\/3uDtj\/JITdECFW0LrB4hQzuNPfQBMs4hBnQxaeMkZ7p4ARBqynuN1WK16yWu0bzgHUuXP3a8bUycnbzomgNZWBSQkZ8JDOPKYV8pkfPVNgdw+dTqDbg5atkaHPeOuw6iLKuPstbkIEq6n3YlgPSElKo4u+C+qO7ZeTuHsX1gg5kXz9G+1UV5KwaeNCxEjywS4aGTbAObSyGdQRaVmtAloL7E509nvRv5yGdLnt+1YGY6s2XaccbL5TBa1RxG8dFSN5cR5\/ioFWzpTNlxJURl6BUUdIZFktnFQElhbrgEkXfU8E9pBri+1et1bandsnwH7LmGAlhtnKlgmZilY9XV0WTFtwxI5SfBSP9S8EtAQ3VJtpeUMY9s4YmMcQJsn0eHVUYsif0IY5N+R5RahXEqlfwt9P+6XnwLg+do2iyK3vV0bSAe0QLfLlf258rgt+YuWcrZPtvPLqxgohCUkKkhr92B\/7C3eiHEnRLEdy+E03VCWkFiOuor6O1EnJ8hFu7VikPgM\/ECoG2NPzca6xGoA49CeDWTFQv1c75QvSerOeFxiEif9PZcltNs0C8DQQTLOMQoAeiXsH3a\/tFrbhVu9Eks4hiyV5AVEUTkDLwqSv0AUdtFNLFICE\/S784hvoyUkjQjStk6Jk1ki8N0fFujzy2gf64FATNTxV\/UNAiEqeIF+SqQhC4eBRNW3FLHR1rAQbAZeJycyFzPacKaSjsAihyQtQlpAX82yvIabUwcSDBJNMbAK6z9YYmWMbBZUHllslUrmAvpAO6eB7wujS4dDLVGBCIa2jagjs2pXF+drMjglZp\/NBDo4EfFeSNG7T9Ca3Ev+tg8MYC6WhKckGCjslELtdkgfFFhAh5QAm\/YTe6PQ5rA2UETechL+uj81+6hLRHcQqfS0CyJUJp5oomMbhRtOqIrx1QolfIH6uXasdZMfIPWasycRCNoFXBfwtgq603NMEyDhLrSTOLRNBpsrsFQUdJThDktFpQtmktDgEyUXsOTCwuvpqRbQIjDeS\/zpPtd6ZwWYy0zcctSYk+sVJ23ZqiN5ant7J8FMTnQV0yNOzRD+UWmQQRSkvou\/q04\/W9gl\/B4LVj6KcX4OIiEsUgZSSuIK4B77lA7v5liFt1Pq0VrhCIfFYSJ5Rk1u+tYPhnPTr9jKhhgmXcx5ZVr+CXK9GAUuwV\/GTRygPnEVGpiETMztoQQRYDLM\/evxwqoDdE0Nun7a9uwT2sitZDuoM+VBUR2BYFcdK9dxUJquGPQZGFlD8+il7fgsSZwLkGaAE+ul47e7vArZLBVw+Tvtejv0rQv6Twg13IRatk8H0A67X9VQ79qkBnEoJXeYkJccgnEHSJzYibYBkHj2XVp51PewEdN9Vov+lybe\/qFXyexwShlRZADLtr6JjL6krtUwrRrc2C16CtAHpxichHyDuT4H4RgRNka0gZkPY0E4ypRDAIlpyCoKHxhLy6iv6lkO1TtrrZF+Gfz6Fj0wZdeE6Cv3gX9WV13GO\/wPYnpbRu6NeOl\/Rr+7di5FMClXpmpSmkLUg0ir\/2Nga\/1KO4LqwiqQmWcf8aVpllFWbGfF8ZOa2Ie3gJWX+5tr+8S0g3aUgFWJOJU5XW20E3FxGvM9\/E6oJrdW3zLwsM71whO24YI31TBTm+lmUrhLpZ+ufsbQ\/MZvamEiyXoigs2aTEqsgK2f6bBFktWWXRLPjlaqgvIU8uEH05xv2mhcJAEf3k8+n4YsSuX5eRjSXcsjpoGj7nyDpR1\/EjMfHbxhNRbXbQBMu4f1mTCUKMP16Ro0dDikDiIS4hl\/Vp+7OXCclAqNOueXBa4FOFiWvvpzCrkhISj6Hbhagvt9B6FLccfL92HOfg9dUJUZNMhP5vQNvbHHpcEv5fpomNIXDin1i0OCz\/obBKtn+5hq6tIJGf2CdXR30V9RHygApuWStybgvyvAJywhiaZgF28lLOWWE\/GvDqC2TrTQMaZkZttJhgGfe\/YGkWlxokNGZwQJSG35cjZP0VuvCRXUKat\/DqUVyRoct24j82D4kiJM+bGu9kU0HiFL8zhfNWyLa7cktuCSFLXPH\/XEEW5d2hBaI6iiI31pCHl3FlD+k0FpaEtT1S8qSPBDg1E8MK8bvG0DuK4XPjoiXgEtBRNB3JXpkrGmVWVZ6z5UtINIb+40oZuiI\/ZhspJljGQUC+xOQ2tm0R5McFRPPZtjqkMdLpkYF1Or9zOSEQ3yv4LiFdKUNvGCH9O4\/+Jc7qTBUQiaGRoJvq6JNXyeDVPWFtnvYocZeQrtOFz4txr6xONFnVbG3faIXoB8BZ+zJnNAiLRPCo\/HdLQLpk6188\/oNxyGKYbJnl3XQimag8s0ewLSuF82+rZOiD45UcDBMs4+ChR4l7Be+RS12TReMgqqFJGfdQIf70RnBrMksGRXoUt0J2fHKMZInHn9NA39DAr\/a4J7xcBp+2Snb8Ihe4zK1K+vSok4rI\/yOkIYyLTzGshf5ml2zd7dHn7CtYJJDGgCKnQcjxWp5lt49RWTuK\/3Xmss5WcNJylnW\/UgbfMR5kt7jV4feQtlNwiKOIAl+H4lY6flJBTmuyfshnzKqkl\/wfO16bC1CzmziNELosPSLOxKrV0bimhDxhbM8W9mkJcWPI82Iav4ZoM1CaIeiOBoGJauj3Bxlc9gah1lw9ok8Xvq6V6OO70dTNLju9MR8p7ELfuEIGP7pJibOa9IZZWMZB9sjRLnBnCzVB35aGi5rXPkcgCktpotWn0vHZS7VzfhbLivNA+oAS9Shx9tP1KG4JSG5ZrdWWo4X6V8rIE7LGqrkY+kJYiHz779j2v0r0qhZkpvjV+LhrhF186ELaj8ricbKZEAiLaWwcwf8lyxebtVun2X5dZ6PCBMs4eNlIsJq6Zeh\/a+jFLeFGb7acsgxyWd6CfqNfOx\/aKyS9gu8VfN7AIfs5HucKMau2Z5Qpbyrjlo1OsngUtICIwMVLOK6k6IVjsxhXEnKx0jKuQ3Cn5DGsXsEPgDtPRrYI8j\/ZGkKdhVBlQXe16iOHOXaBDx8rK+1RXAuD79hNx8MryNnNAiMQjaJpGXmCR7\/Xrx3\/ATJwG9v\/L3eferOv69eOBR73GMG\/NoaXCOLGJpVIzt26UfzPVsjQx\/tU3tuKe8DInu7iLHbdPw741mQ3V\/CfTYleM9uwRVa6xmXiZ7ErEyzjYGcNqAj+05qsEKLvV3Cnjk0SrZDTREcZ+ZdR9B9Pof0H65VfedyfHeo8nKTwN0X86QWEMZQ0SyFo1gc3LhLymj5dcEoBfXM1zFDOKS6qyJOa\/395Fiz3WrqxRuNXZeT06ixF0AfL0jDBMg4JQytLDu2SnYPrtf0lDfzVJdzR9aYbXsClIafJO6iUcMsiWJYtlyECGkAN1cbE59wkly4tI\/EI\/q0rZehH\/drx3RipZMH4WQmWkHed0Iddose0dMldo2TVQHuUuFu2jPRp+3UxcjozFAXcU7CsfIzFsIxDinz27wIZ+mUCL0rR4ayoXtosFllVAx1D091oMob6\/N+1THgyq0omuV5JBYl34y9bKUMXr9OOD7QgTxxrCsbP0oWTRmht88AKtdMhq4HV5NIp7pvVUFViVg9WsfFsgmUcuqK1Uoa+X8OfA+woIJFOajbalIwZS5axnv97GgsmbUHiEbh2lQy98nJd+PwivGNsb5dxthZWMg8pO\/QxAHnXnjzhs07jhhQGM\/dT9yGAuOCpGiZYxqEoWpuU+ELZccMo+jJBR4tBtPYr+1vBt4RlL798EPPOWattS4u4KxW83898vnxdoYe\/AViTC2qW8Pkq2TkIelMBmbJUzRT7aOPZBMs4VMkXPl8oQ9+owbkJ\/s+FibWDcxErjUHq6NaU5IV3suuRRaIvAy0J0yeIzuJ7o5CPxZMGlKJIyMOC5hbzemvE7NIbLIZlgmUcJpbWShm8tkrydNA7s8YMcxEtX0Qkgctq7Lw9Rf8nRuYnIUF0v8eQTNTGOqnKwocD9EyIX56cerub8PqmtdTCB8TGswmWcThYWpcohYtk128a8P8Ke1ZDmDUR+ocy7cc45Ng6qgciyK3gy4hT3LLmMbl0\/O\/RcFY+ZibB0ubjWW55WCZYxqFNe1atweGv39\/vSKE1oTTmoS4HaB2qgo+D6DwRJmYIb53IXq\/J1JvyCkn2MyoG62oBhMavhgmWcYjTK\/g68e79d+GkojSqEqyrA4KEyqII+tfrdH5nXrPr1PFaX1LU8E+fdc1JsyVBbh4SFxAn6Ngu9Ed5O681ZmEdtlji6BHC8vGa7mm9Fgo8zOlhFRRAK3dw+tgp\/OJACoJLQozsxCrRaapcvxFk63guVrrQEyVAqYzggDpKA93cQG8U+E4Df82XGLpjY1Z5wlrRm2AZhzi5m1Qmro6RViOo+KYOM7O0h8q98u2kX9sPaGE8BXUIgnSJ8O0BzZboACluSZZVv6WK3qLw1ZjouoTGb18hwzsmfZF1djbBMg4nUpKawG6HVOaqOoIUM12oCbQoByaQJVlNeJDnXqqd\/9DF9t1Zf8XYob\/fjn+j4r\/cLcO\/b\/5cjxIvAV0e1jBaowkTLONwo0GxBo0RgcXZ7NqsNUfRQiYwjQO8W64e1ic+SPFvR3h3j+J6IUWG3p2\/KW9blrm3Klak74jDgu5HjkuYFfRrVDMLa85um0CbKqJo\/UAF3fPW8w6iUpjpS5tML80tqbxzc5eQiuAtTmUWlnEEkDBYj2kfyYI9s5ntUwmVRaMa\/FIE7Ve5RzGsvB2XgkYQVZB4FB0exv\/zShn6mIaqDePb6DVLyjAL68hkFdRARudgIaXzkMIIfv0KGXzfem1\/ewTHNeYYsM8sqRRoCEgJcS2hB+G2EfxnIH5ytwx+LC8xY1fKMAvrCEYInaKDhcTYvpQms4J8KxKPkF45wo4L+7TzBW3IB3cF48dnAiRTCZfmcaasnlYEUkCiIkS7Ua3hvxtBn6BXXyA7\/gghRmV9BA0TLAME3RiC1qmio1kMazpLxgtIBaIR\/EdK7Hjb+eD78D8dhv9QeHUR11IMOVT4XBCbviDKBlcdqKOaortS2FRHb\/C4n3XL4HhZ5AEl2gxqYmWYYBnjbJ7okDythaWhZ2Ak0BjFv7VbdnxMFVkD0itDtwNvulQ7PwT+nDo8QeBhIPMmi18C26pwq8Jmh7upRP1XXbJzcHw7WVsvEyrDBMuYkmPJzSqpZsKlk8QqqSBxDd2e4letlB1fzVIJfK\/gc+G6SLbfCVwCXHKVUtpCWyUm8qNZDL8d2MzQrl7Ze4F1njslQaRMqAwTLGNqTh1PbfBDnggNVUbJivrpPCSuoj9OYeVK2XFL1p5+fIYuC4Zrk3UkZws1GK5Ntb1LlMKdWSWFNUGk1Gb8DBMsY04o0aBvsqqKSCwoY+in6qTveIUM78gC4FOKSyZcae7aTbcdkYkE01477YYJljEXJhYU+8EEl7qQA8Uo+lvQd6+QoSthbrN1loJgmGAZ97KFJUPlkF4wOoJ+pEz6712yc1BDWeI8vmQYJljG\/cdEJU5\/9y7kczH6nvNkxy9yq8qEyjCMg44Bpdj072imOJRhGMb97xYqMtGZxjAM46BWLLOqDMMwDMMwDMMwDMMwDMMwDMMwjlhspujepHkmzpawGPd0DNk4OngEa0CJFk+zP9dl5U2aL2IPREun+a6lkM5ljVuP4pZOUy56r23P4rsAN1VVgqw8S7RkFjWgepR4uuNbBulsBu5czulM52Caz7MEdDPoXM7P\/XFNZnNOD+SY2XoPanzl37sUvExzjLN5jypyXaijeI+YaRvGIUyP4vI2VM03yIBSvEQpTJVNPqBEh0PyZn7sljG\/\/1aUTjF+msdQ9oqmEqbDZRwdEhZWXme8T9ufqLgHC74hE5UxvUcqEfKD82X7r3sU1yv4tdq2MCZ6hkeLkpXzzWqQi4BX5OsXMLgLZq4mkH9fv7b9FUSnC1rV7KmZfU8Z0l+ukOGf5u+d5hhc\/hS6XNuXRPAs4EzgJKBVkYbCoEN\/q8iNit64Uoa+3yxczU\/kASWqsfC5CvNBUhkvvIcKLnYkXztfhof21el4vS58ised6NBaflwT3yE\/PF+2\/V++7+u1\/fQU9+jm8z\/9\/YUKOqrobof8Nq\/JPtWx7M94AFhPxwM9smyq8VAgve7lDP9RmX21iAGlWGPhs1OiBQ6fNJ9TxRUKVK8+T0a26D6aYOR\/X6eLTgV9\/OT9S5Gyw\/9uhey4YTadqHsUtyarFQbQrx3HCXom6GM97jTQo4EWwvjeDXK3oLcqcpMS3dQtW3\/efO6XB4tIL9XOYwv4pXHWQdvP8V7Pz7WS\/Gql7PzJTOP\/vuR+X\/y8MdxIqYN3LESeP4obf1SkwEKEu0neBfzrkqxMeEzhZMFvnI8LXRAmbiTKCEP4i0V4a\/ZEmvbmOTaYzB6iVy3GvWYnE48pDyxA2Ar\/BfztxHunFqtLdNEx8\/E9Ci+tIAvzcpqajVoBIuTJEazaDfU+7bg5go0Jur4rlB4eb7U+wgmFiF2XL0DaG5OOr4Swi8IZwI0D4LomH58i+Y2suJ7FuKftajqu\/Dt2kr4VuPhjUABqinR3Im9tPv8zkaDUQRW9u187biug\/btIN3bJzsF7Mrg3EvoP9ik9i5CLRpr2xwOtCNvhvxFeNpts\/Vxgxpg\/3+Eua0c667i9xswgxS\/CyAvX7F2efg\/WhHGQONJzFxL9W7XpuzwwH2ErejXwrB6Q3hm+Kxf3XmCdLn5SRPpaQZcWcMfEQKiXL9kYCjLigBg5W4FRkt192n5zRPTfdeSKLtn6lx4lBpKY9IwFRBuS\/bRKUqAN4W6iy4BXTjf+jzjBatL0kTE0qaKeCd87GYVIkT0qWka4JMEPj6Lz\/J7di7WGEsHr+7T9C10y9L3Z3DwCo6NoUkNTzc6JZNsWGJ1pwImQrtO2ZxTwny4hJ1ZRdqMJWTcZzbWDiU4yDopF5NERPFrgTX3a+cGU7Z94BTQf5\/AouiBpOr7w1EMUl87yKbl7iuPyHsRn5\/SY8RpZMjbF+Z\/pu0XAxchREXKUQ85shTf26cK3d8uOr+yPpaUaLOR+XXQM+OftxCeNJk9AQBvhFD53rbadKDL8h9mKYwXRKgyPoW0NVLUp\/lRF0wruBeu187wLZPsVs9l3RWqjaFJv+i6BJApjZve+jnMNSJeQrtNFj4lI3+1IX1ggVDysomkmmk4mbTUbDB7AIfMKyOMc+jiHf\/067Xz3V9l+RbixpTGKpmnWe1LnrlvJ2D7G\/\/3BQeP3Zhc9JpykSMJNEwHxZBclCX04x98jE6\/Yg8RIQZCPrlXKa3LLZeatT7vt7G9TmvJdQnq5tj+niPuSgxN3TwyQOPsOl+27y\/6d76PWUT+KJjGyCHyv0r54kvuw1\/Hl+5TOqv\/p3M4pU7x30svJxDFEZG54Ar6K+hE0dbiHFYi+vFbb3tglpHONq2wEh6BCem4FOTqzDuKmbcYpSAtuXkx0\/n6M4WiqY1SIE1DBf3CtLj66C\/y+9j07f9OMmek\/m1t8IRTR8caI9Poy7oUJ6FgYPz4fJ3mLtOaXTFynOA0PaD+K1iu4E8CveC1PlaYHSr5P013TaV\/5sehB1rv0sAvUCUQ1NK0gZ8QsfLMIfuAAH2ced+jTBafESB9ISy24tVGzECikCokG6z7viEWTiEk2Ej9yoQzdMVVQ9SB6oOQvnx1P3kjVCTgHUR1NU1TLRB\/p1\/bnZo0r3Cw3IF1CqoqksCqdfnxKGk7ky\/r0qNZewmfu4ZhxDdSXccc5kvdlD44Dfm\/kYjWgFPu0\/TMtyEcEmTeGJk0C42a4BFOJphMo7ManwL8sk28nZINtH\/jZvJSDK43isJxZEHA1VB3yTwPa8Yj9edrvcxuCCtGaCrKoAYlrcqPyi1xBovlIPB+JW5A4AqcTDUh9AZEqfovDfVIVWc7BmWPjgAIiRUTKiJvXdCyTHxYefBT05\/0DungeWdOKfQbFwaHIehY+KUYeVw9utJvm2voyclqB+lOa4qD39BjdKJqWkO712v6cXiE5kA+Q3A3sUYpVOvrn4S4cySzyKUIzmo+T7KW5Rdv0uzT7f19BJEWvWilD39mk+w7zSLiebqZXhBQLiHNo4WAai4drxVFJwVdwraP4j6lyFhyYRgh5zORS7Xyoxz+\/iubdjccfg1EYXFTRbwO\/IcSNHujQvyrjHijhbz4G14BLL5Dtd8bZDM9Bdh59EVwNrld0raIlhTbgoQLPLuGOrYXjl2bRqkJaRk6vkjxJhP\/d1+RH052kqKwsITKKpjJ9LE0daA1ehfD1zXpAhF4yo8V59N+\/qJ3fOZftu2cz0zdbd7dXSNdp+4fmI1270YaE+08mmVEekDIyHr9qoCQhPhYXkSgfZ7UQ60gbaOrQD6HILzglgtuSmQ5SoVbH\/2EfpyMZQ8vg\/gwTHZdMsO5FK2sMTVtwT19P56tWyPZLDkQr9KXgesGX4K8ruPnNN5aCRiAe3aX47jLDX2ne3qXaeSzo4xVWxcjzRvE7C9Q\/DrA8xC4ONjdQIwSP3twtg5c3\/61fO45L0MtLyNPrIVDvJp1\/BZ4N\/O9sHgJdQnqpdh4r6DnTWVfNBlE9zHw+\/UpddOrLZdutB2ja3dXRtBX3sGH0n0V4W48S93IPWpMFy9l1CWm\/tneVca8fCZMyhSnOty8jLkGp4X+myLUOf72HOxRXVzSuIg8AvxTk6cAZC3GFbfivrmTHd0rgZhIrBV9EXB3\/+zLpmcMz7HYLooO0RMdkQfdlB0l7tsO6pruANMLg\/9crtf2qLhm6ozlnan\/YOtHb7yERTrMZm2jCIpFoDD7dLcNfVMVdomFgvhoSCQ1I\/wf4n35tf64jWnCejGwhz\/05SBMvHVrMs+avA5aA65LBP\/Xpgtco0c8d0pJOxLSavGZ56Gy+f0n2uRL64jLygMnWlY6f8\/HZQvGQtOAWjOKXE1Je5ACNGVdF0xK8rk\/b\/6dbhr53T8ZMD0ivkG7QYxal1C9OwkzfVGKclpGojv+xR9+zUnZ8ZQaT5pvAu9dp+5NG0Dcp8nERtEfRfZ2HYEZK0tyFe3qGD7qxeLg3oXAJpC1I5yj678DyjfdwYG\/Obh4PbX7cjdgrmvl7gI9B4Q0SUhVWZyWJlxBiVSJDX2sOxB7MJ1GzpSaqyLJMWHsU1y07b+vTjp+VkDN9eDBMcm904Wy+fzn4AX1EscpdK9MpLk8UAtJMyilyjbCN7o8qH+6SzEO65+dSUpACUgb5yJf1mGUbuWu\/vzsXkJTq37fijhuBvVzdzLKK6vi1nuLfd8uWkbxZbfO4WxNcSxm3yGXoO8B38vf0Cn42cTclZNYTvlPWTOPu5X87mMbn4Rh01+aZDYFoDE1LuJf0a8dLuoT0ngRTJ55gMuTY80pLGOwaw8p+7VjwBqE2vmQnm8ruElLJBlZPeHIfeotZs2PJ8qa2uSYraNIbG\/v6qgElEqDGlifHyGPqTTFBDeeSFP1Tgv66FE69nxAs1SJyagcdZ0MWuL8HotxsZdXQpAUeN0z19V1Cuj\/fvSTLtdqgxywS5BX1SfG+bLtpBXFj6NfOZ+iV3bJlZJMSi4SHRP7qlbCmL\/\/\/bLbxXp1VPtjE6rAULAeSB72b75zM37p4gx6zqItws+3P9+eLiSO4OSQx0qxbro5SQM4A\/Xa\/dpyVi1S+5ivfbj4ID9EnguRiq+hxvsldm6Rr22djXQXLxZ9fQlw2gzqePF4K6wQ+BfKpQnhj86VNYwQP3bkVsj\/XVRifKNkjDy6bUHjXFdq+ZH9mmhePW1eNZ5SRBzXYK13CF0JM6c8VWJ2L0GzjRfckHitBADUTQp3uZS7hvay+HoYVTWOkI2nKFapB2oocP0rtvQiv2bifT6elkKJISuHbKfU\/F5Bjk6Y4loDUUC3iHp2i37hC2z9fx\/+nyPAmspmyAxH8v69P7SYlvhFkU5iRS3sF36cdj4\/hkY0p3MGMX+0rIC2CXqGdxzbQF1XD\/RE1Wzp1tBGhX6gjO3aTfsAhxaZp\/mgM1Rieeal2PvQi2f6bbBWSzkWsFEY8jEWwyO\/pGqYVXOsI\/j82Kc\/ZCrqYuc82C\/6c7Bmqk6wrYpAR9D\/Pl6E\/9yhx170c3A47oO6L2jm\/jtOdeFmA22O\/mn+3ma2jB9OD9XCysHwU7pmtIO\/VSbNuLps1LMBF67TjGV1CWuSEOYuWCDoArlu23O2Qi4shvDI5H0kaqPdAEffimOibfdq+aZ22v7RPj2rNxepQWGGf3dBjy4TkDKGxTEg+BXGftj\/RoWsdFHTP5VGEeJOq7GOGMHezGvjzW5C2LMs7X5SclhGpw\/ePYeg3q2Twz4J8o5yZY\/l5zuI\/rQW4YE+XfXZuYPbmBHiPh8FoIkd2PJzQinvGHbRf2CWkW+dWgser4hQepXvHOzUKY3K4SOOyLE8rvZevpWuEoP+Dd6E\/q5HeVMp+Nr\/K6E\/rpDdVSX9yKosefDCN1cPKwsrScdoi6v0phdPm4S7cPTHjJAriQjLcR\/q148zjOHEU\/jjn7XQRYlAnM\/iJm2l\/6jzcuSNoQ\/dc8uIA8hmvMm4psDSh8dMrtONj58ngul7BL1eijQevtZWlD8iT1mnHB7PzmOdhnRmDq4ebvjkPLakg8Sh6Q4Vjfqw6JDL1onEhnMdKFV6aKV5zHCk7j35gmZCgiKAbUjhHJhYoS\/ZwAPRll2j7h5cztHMuExmZOi2I0W+mEJdxF+9CU9dkMTdQFeRf12rb1TB8x2xPXq\/gT9S2E2NYlI5r4ESgvYBEHn58noxsOe8+u0fAIcUYefC+HlQJEJGWLIZ1714QGaNUFKJ3jeC3FMY9xfFgatqCnObRd+TLGPYn6Lwc\/BmQlGHlGPrVVqSQPfHTSRc+UtAqmlbRNEL+qoBcvkE7rrpcFzx44z2cBLiXn8jSAArwyHnI2+chb5mPXFRBnhyC3hMWUX4TOogzN+4fu+Tm+hqmnl3bmC3srdL2hCLy2Nqei65z62OoRvFz+Y1WJL2mCn8s7Bk3lEawsk5pQZ4pgs418z0kX7JglKGPj6C\/LCNRUxa\/S8C3IIsc0Qe7JIQEZvvdBYoLQVum8qmiMJR+2yTg95loNVA\/wysNHoLWvC3NudcvR9pKo7JCtt0F8k\/RJJcty7PxMfKWy7T9idlA2S\/XUIEuGRouMPji3fC+CMZaJjKR0+b8oXxRaQ31Y6gvIs8pEF2\/Thc99d5YOnQgXcIG6CiajKDJLjQZa6omkLtWCkkBcTGiCbzmAhn67kzJnMvDknSF6KJoUjBds2C7ol96ldy9JZ\/i75Kdg4J+Md7z\/ZInuCqszC3guQ4aRQurhYYib0yDhUWzaziK+hJ0bdD2lyGoDxOYs7H6HVMvMcqqZGgDQgrB\/XDvz+aFCda9TBVJVZHbGOyr4r9WRuImy0dS0AJSKuD+XQT1ITeG\/RKtsGi33i3b31mHpXX4goQncuQyi2vylHmWhZ\/EuGOL6P\/0acfje++FRdr3QvggbqpEIROWj8i8cI7\/XEeXr5TBy2YUq1CWx\/dp20nAs5tmW9Gw7Ebq4SkyMKBEG6EwREgPiZAr6qhvdkOzWBPAWf3a8QhCEqWb28FJCtAt27+VoJ8sI843CZ9OCPOHvqy0OHRsNhvw+DGQmkxyeTUkvwKyKHcf72NPJJ3uRdNPE6z7gAKi2ZRtIri31PC7oiY3Ig+mzoPH92vnBZLlVHEPRGtAiVbJ4I\/Ok+0vTtGnjqJXeqi3IHkFh8mB+Ti4iLQDV2zQeYu6DvBaQj1AT+1o+u\/RCDTF37Yb\/y+j8LhuGfz8gBLNdAMunxh+L25F2pPwwBhPZQjLR\/TGC2To61neUX210OgS0vNl8EcJem0Z2cP91pAgXATfPdfgezM9iovwPaPo70rBnfcTAWt8K+64HbS\/E1x1dt\/YuBvY7aZwt7MCj48ZX7B8H7mFQliYP92rjMQVJCogZX+QacRhnel+iVJYIdt\/06\/ta8rIxWNhDVc8Ec9CFX2PoLdVw1hx+ytaEGJRzRnIV+jCR1aRN0TICocUJicOOoiqaDIPOXmUwt8j9OxDgNQBgi\/OYn8QtJj5XbK\/d0JQeb0b5AFMmg0E1CHiYaSbwTUIukmJZ8wjysrI9ChFkFUN9szhEnBJyE3o6NOOzyoau9wYQZ0iCejxSbi7mz8nSfj6l6zVtg90yfCO\/YwLxefL8NB67Xwz8MXM888D\/G40XMO\/B39DLRRSjGbwMyORXdv7tOOPDjlew2fHT20D1Qg59c8seiK67YYpK8geWHyMuAZ6xxj6FgkWo8g0caowiyp\/vD8swCNSsK7NZvNGWPDJUXa9qIKcOZa5EwKSLaA9UZATs5XvsxcsRQbA5TW0YSKRL3dHzpMdvwBeebl2ri+g\/1VETp0i2zmqo+rhpZco710tNFpJpTZDsFPRzpkCqgJcpaeUtrF9vp9B\/GbjNpSRaAQ+J3jXSvSa3Xuu83MN1Lcgj+qn46pRPen513FjOtMylvymPJVFzxB0SX1StYvMZSeCkwrISZOWJwJh9ioTuubPuTrqK7gHV+EsYGBjdn3mMmaWZA+eLtn+pT7tuKIFOW9kYtZQQpKszAc52zNzJcXryJ+C+l0XJiomn99s7Wn6FoTrF4dmFPfaUq2skggJ7FghgxsPxXv6sO608YjspnyF\/LEqJG9qoGOT8mzwoPsaeNPY1ZovkZgcL+mV0IaqR0PC5SrZvinBndNAt8aTMqqz6WMBTlxA+9EAI0SqwRqcZtPy0Omshzx4O8ZdbQrHJeydhR5Ebd\/LZppFVSm9dRT9WTaDljZbRKOhYOKzK\/zu33oF37OPSYxQpM93l8Lnp7Qo0qwC51SvxvTXSzVcz4tgYt3nXNmcleKPkbeNoXc3zzSTjRnde7H3tKS4zzdCkb7JFS2iKuqLuOev04UrlwnJjXM0IlRx+2FJuk2hG0+UdeWJpnuZYN3HZO5HvEJ2\/jhBPzJpyjq\/mWd\/wbOn4AZta+\/Xjr\/fpMR5Zc2phGtZKARXXCnbblX024U918M1D1\/XIO4AaOWPHtiZNa\/QKZ6UTxFBT57i+h1LWP4zQvGUEu7YdO\/SL+JRHH54docLgpa6ZctIgl9VR4ez4n066cZLyrg3rtOFr+0Vkp4pCsnlZWSuoO0khz5nLNRDj6b3bKct4Tvd9XJ1lBietF7bHt0r+DX7MQPcK3gFOU+23+nhH+MQL9O5jpmt2VKh49l+UwO+U5oUd8vjjCmqMe4\/+7XjrDOERk8YS\/F0Ewf537OVAn5\/LLKlZGsUmVivONXrYLufD\/dqDWEAZmV0+ym+b4TGuSVkSW3STNNsGQAnQtqvbvVC5P130H7uOnX\/ILL9JxCW3Uz+zND4FDbt0wVBBfUptd0AXdDoR\/7k4NFMmmGsoxqjz1ynbY85Q4Z\/lm9vOejGsNi2sRroV94chcTO5hlQzYK93mcZs0OzsEJ8thxplez4RZ+2v6aIu9KH1AaX37geokawFv59nbb\/dqUMfWPyEqQl4++NXt6CLBiZokifzjGGI037kOXBJRVcZTfycuCm\/Q5MZwvUuxhc28fCl1SInjM2xzGTWXiuS0j6lfensFT29NybFsxLawQb12vHGy4Itcd8Lk7NEwhNjWs9QL92nBUR\/\/zl3H03wGz9vOsgGlB0M8iSGQog3luNck2w9uG+bVSibtkysk473qjo15uzpWf7NbmFsEHbTlbkHTtDFYin19Dv9unCtUp8SZds+9lUXsE67Ty3gD6hNqk4XdMODHfQehe6UxDUq94UI8+r7un+ZCkZrjVCPrtB2\/6uS4avbd7Qldr+oAT39hhePLZ3fChzg3VHBW4GuHO2bpOglyiFbhn67OXa8dfzkTc3C05+4zmkVIC+z2jHsi4ZvHk8kz8UsvOX6DEtSvX8xjSnvRxmVWcdk6mz193mQushPe9S7XzvRbJ91\/4Om81Zrpho9KYa\/kkRMi+dgyuYPXx8j+JWyODV67Tjs\/OQl40E9zDec8JANYIFBWTtem0\/T+HSGL7\/chnaK7P+Uu08toQ+XtDzyshLxkjeKcL75uDC+YOlIJ8J1gyuYXjiD17bpx2faUVW725agjHLgKyEoK\/8ayuyMLRR0tRBsUy0eoz0\/PXa8S1FrxL4VYiNRSco6bME3wVS8XsPeB8jLoGfPZ+7xppmir7TVH55jydyKKvCqQ2ia\/q042eC\/l7RGsgDElhShqOrU5cy8SXEjcJ3umRwGEWWzCHO055NYixm8B1\/ov3RLbinjey5jMU1Ql30B5TRKzbovGecz+7tmWvjBNJ+xp5RwD2ssXcuFSnUq+jnJFSOi6abGJhIE5EW0BcL0tr0RpegWsYdJ+gLgb79tsxzK0u2\/6ZP2\/+lBfnQaLAso7k8LNcorFHkSmpvrFJ6XAk5uTbJuswFP0Wp4J7p4Zl1\/F\/Wa\/sdKXIX6C4HZUWOFvxJRdyxLmsLpujf9mnrpcsZ2fqpcE9PZ6VKWCKki9dr+1vSGXdbfAEpJSQ\/XiHD37RGqvcDy8GjSET9XaMUn11Ejk+mKO87FQ\/iFHe23Nbo045nFpDlY5NKI4+iPkLmFZHngzx\/TzvAUQ91uacqw6Ihz0m\/gKD5TNFXKN8wRG1zecJ93WNwN4JL4MrIYwR5TP63BGVs6nrouVsqgm7I3ds5nz8QEdIrlVU19Lsl5EHNiZxZNn\/SgjyqSuEzA\/CirLlG2htqtnfHiDR\/RiEtIa6G\/mSFDJ4\/l33q0\/aFFeScEdQ3CWcahRZtKzbpU69YJt9OxtD9Su3I143C0MdGaH9xC+5vxmauNz+Ve6kDSnSejGxZqy3dQvrVAixsTCrmJ+MTJupDDzE5OkaOnpD0\/BpDHR3vaNOCO26M4oUiIx\/46AwJs3nqhyBHl5APzzxREBqpbkM+A3zzYGmk6o4kwcorLZwvu7cpvG0upv0PeWC6Tud3gv6HoJOvnAhEM81spVPMbIUblXgUf1uZ9HOqyFJIN4J7vtw16vAfzKpt6hTWhsvWKPrm7SRZX7sp3Ke0gkSj+B920vmlrEuP349z6AeU6OUydEcNXumhMUUhw3gUTSq451dp\/7CE4Lf06YJTFM7OUkiiSQNRFK7MknCLM81cZa9isNzk82mWI9V0rNFYyHF6yp\/Y\/Mgw46f7l4om6OZQcbUeI2+o42vRfiSl5hb+K2TrdxPoAnaUwgRQMk1cziXgpxpLWTmjvEekZHW2XvdJbWt\/PdRn40pPN07zVx2thYauMnYw3cNHlGDlA2e5EnXL4MY6urEyUTRuRtbw7TQimgeSFJEoylJaJs8ezXZmS7MuwVkZnNd3yc7BjSGgr\/nawgvYsWEUXT8PiZm0xKdpe25SA0w3xQBNikhcQ3eX8K89W26rrWH\/833ymdcLZfCaGv5d5dBecfKi73gUTcu4N\/Zpx+uDOxGtasFV0j0z1DUKVtmQw39FgkAkM81cdQlpFzR6BV9Gv1RDtzSni+RlZ0pIEdKVCJrSut9jPXcNz5fBH6XwkfIsx8x0otUtg9dU4TkN9NZsSdN0kw1umiane+SfNdCkhHtgK+7Ns72ms2ykGlkj1elPoKdpHVPTWqZ0mvK7e617yj63T6vhEVmeTRl9axXdlvnFDZ1h2xuhcIHs+GONZNlu9N81LHSOm9YLpkw0npy8v7mFNN6TsBJEaKwGr7pAhr6eB\/THb5Jxi6zwmt34z2e9AKXpGKdrcrnXtlqQWNFtDXT5y2T4p1PFI7LPTHn+ZTzTvOkmzhIsVzH0oVF0Y0uwFiafQ22giUPf36cdy4FnZes2fdN7GiXEp3Dt+ey4XWcbK8ny37pkaFjQLxQRbd6+gK8HC+EFa7VtodCoZudmrzFDcCF1X+5wKOcs7x9BNxcnjtdPPl8zuU4TltbgD6rIslH8ZRHQvGieiUamU6W0qE7qW1hECsWQArMkD7zHE9+1xzWd7Wvi2h9cVXEPplb1LWUkKiHFfE1TESmFWSMt7fledUBb87qnElKohBmm+dE+zP98oXGXDN2eIu+u4MY\/P3nbQBmy6X9FXiU7B7tl8C2KPm43fi0w2hL2IyqEDsjS9MRMcgGNQIqIq2Tvq6LfqMPTVsrgZVOuvcuelN2yZWSFDL1kDN7u4O5sWy7OsvWzgZ1k20rzvoiFpm2N4q+u4Z\/+Chn63+nW+Qlamnz+S0gxy1trmc5VCsdWf+0Y\/pYFSKE0aU1aAYnLuJYyDJRxZ4TaYHuc66ILq5Q2ZqVhZu1uLQlnSRzyBQVpyfY323YhQqJ23PEx8UtvY3A0HzP5tW5eM5fuo\/pCbrmskMGdAm\/O1uMVytl53nPMSMu+LC1V3EWy\/c4LZOiVKZw1GiZqaAn756KJdA2fX1uycj5x1rcwO5bIoz\/dib4uZWi8rFYDjfNjzI9zLq+JY9GKzRLu+eTKg8G3VPHH1SYFY6vhhrljXDQCI2EWzVf8xAyaZrGMwYRCbTbB1JAhvP2SPtqfUEGWTMqzSceCAP4Wsul\/Ga8ZLiJDvwIuXKeLPlAjPTeFsx1ysofFBajEoVpDMCFQUnSnR+8U5DuKbFgh26+DiVSJ6ayIfKnG+bL9Q5do+3+3Ii9T9FzQByuyqIREmXjhQzCWFN3t0Tsb8EOH9HXL0LXTbWvi\/MsfqvgbJ51\/HwV37zfTCf\/NSrRRdm\/boItWjKKf9Hg3xaLryfX59phwGIOho4ivyq\/LXFwsgIIOXj9G+xeKyAnNS58m9l8fuoTF5Rrpd6v4Y5pKOuc\/E816Ws3Ufbtppvnqy7XjA\/PgmdU9Zw3TanjIbZ5NLDDvBt0tg9cA16zTzjNq8KIUfZbAg4DFxezhlAfbayEeuiNF71L0JsFtVArf7JYtIzCRBxgj26v4G\/PY6VwXwk\/ce\/J\/4+P\/4PDEjP2hR3FrsoGX\/26DHrMIaien+KNAWgUXg1YFHanDnxoM\/Xp1mIke\/47ZThVPTsJcrwtPUPQkT9ShSEuIZ\/mGws4C0V01tt3yCqG6P9uas3V8CLQqO5jJW241n8MN+oCTE5KTBdo8UonxXpExjx+Mie88X7b936TxGPceorlVh6RgTc7onRw\/mHxDTJckF3r+ze3GnCnhbqptT7Xfs91uVtFBZbyA3dzP0Wyzj\/NtMYt2TZP74DUzm+3NdP1mZS2Nd8\/ZP2ZzDVVx07mcc93+TN+1X9nhGkp4bwxjaVbLbZpWOez9\/mxx\/j29Lw+2THezsA6wpbER3GaQpdnvrguxFt0M2rsfIjUL8RrfFoT1a7MVKePgtuAnX989xtIh2iLOMAzDMAzDMAzDMPYTi2EdokwV5J6pflFzkHimGMhUwfcZYyZTBHf3J0h\/T+IyU+3zbAPXhmEYhmEW1pFOnu8UFmHHb3FQDmXG1YGrOpIPnS\/DQ+N5UVlt9auU0iDtryMkI+KJbu6WbZ+abPH0Cv5KbTsxJXqtorEi3qGRottuY8cH98jzyb77E7p4Xivpmwtoh0fqBWhpwJe6ZfCavfKzss\/0KO4hdP5tBKc20FqElDx6W4nBT443Kp2FdZTv8xXaeWxK+nqQIkgao8UEv24Fwz\/rAbEZtcOH2E7BoUc788aGqb+gDR4+RmitXAR2wrXAtzL3KM07omxj8YOE9ENlRCJgN36oT4\/a0C1bRnJRWQquF3yDaFkH8raR7FnWgmMH\/hu98L5mAdoE0TIlbaPxtFai3iRTmDKwE\/\/E5cq3yMr55OKTp5UvBfcndNU83Bm7gVaEYfTnwCXZfs\/qSZq7lA20q4P4HaNZMb95OAaRYxC61ij02pA5bHB2Cg4hczhYJ\/Hz5a5RRa9qQFpD61W0Hnr7uWXN7984XvQv+esSImNoPSta2AbJ42GiacXSrFqAwBNq2ffW0HqouxRqda1pKgmzFNKsg1i3B18N70+H0VSQRz+fzieLoMunH2Mj1dASfSxb3rJ7rucjX5MnsHIMn9bQRh1Nd+C9oGf3adtJMrGcyjDBMu5rJiqE+m\/X0EigSCgDEgFnwpTr4c7K7tgIIJSD8U\/NhMdlzQw0ZE7rk+pZaZEIimP4MUf8o+Zt6\/j7F58CcnYVdQKFvMZVBZG8oeny6dzbMPaiptecxmKe5b2ejmfE8OhaWE9ZEIg8aAXXKkQX2Dg3wTLuR\/LFwWU6rk9ha27yJMEdevgV2nlstrDWLQe\/Vk8oKzwu9NObaJopyOMHlGhp5joG16rzIYqckmZ6V0DwyK0PZOuvNGuA2jxuqiTdlVD2OWWiHpWrBefv3H7tOC6v7XVgg3lhKVSIx9FdCruf75uGcsuqQNeALp4n98Y+GCZYxmz8whBM75LfDSv6nULWCqwROq8c5fGPytzBWASN2X26wMmNIGgyISicAR1HS3D14nDH+6cUodDUnh1Fr18mJHnaQGZdpZcq84GuZM\/BJFkZ3rSCdHh4SXOs6UDRE4oP+kt14QkxnF1taheWVWqIaqBFOK1B8pR7Yx8MEyxjlmzKbk4P1zSt+E0riKTIGQDzxltq+ce24soKSXYzuxR8Gemso4\/MbubcTXtcMQSmPFmXY4dcNSku5gCKtD29jHtofaLevCo6kqtCGsSj+xKl0HWAi8Dl4lNCukpIe5rViQLUo3lJX3XBQnzVNG6yYYJl3BdcN24B+R+M4EddsJAktG\/XpwA8J6vt7ZCnphOClFdDzV9nZTdzo0+PagXOyGvfxIir4e+MiH+evcdDczfl6KJMnHxm5W32yPuLmSETehRyeoWOpc0xp3vsDWa16Af0uIpHujNh9OXgkV4LXNIS9sfXQ+34p2\/Qzoflteht9JhgGfcxvVlH4d8x\/EuFWwsTIgHIX23Q49tF0NADUJ8Ufo\/LGlrkxe1EkScNKJEIGpE8KEYeVg+xH7I28t8\/T+7e0hNm4lieVSu9TNtPd+jSrJmElkLM6CtC4dNVdCgOkwBpjMSCXkCYLTwgVtYawv7WGVlagkdk3WMkQsTj+gX5dA1NgNhDowWZ79HlNmpMsIz7MY61EVyvkAhcn7thWb+yjjq7nghQZuyvHfLANFT2dB79i0d3RqFLMx49tUr7w8Nn9fElpJQ1xXDBKpMbIJtJlIm7vgBdFVyrD25mPILWIb6qW7bcDVxbCG5lHit7Yb92HJfFyu5xHKk3C64r0h1nzS9iiHeTbvMkN6xg8JYE\/WkxtIWXGoqiKy5WKuNJqYYJlnG\/qdfXMh9NFNIyQpylNwjytBIiitYrwU36b+DqMkIKjVbcAofmPQ2fqeN6iKvhG8A1mWCl+SxhsNrkgszdooiIR29aTNuPB5RIcZfn++MhreDme+QCgGO5Zy5ZjwbhvFLbTgQ9pxbarbnghso3XyHDfxgAJ+gVWUa0NECLuIcspuNsmHsvRsMEyzgA5LGkhOgXVfxdWV13H8wHecxPlALIY0MnA3F1QHHfAq7JTAwNF9+duUmJgUdnQpN3Y9j8ZQZ\/AyFh9bpMbFqonltETmyEzi1Zc1L5z7PltlqXkK6UbVeNoT8thbHlQzqFvnStnlBezT0u4ZvVNo9WVHCtKaQuiFIaoR+FkEy6C+0bDa2\/IoEkHI+uUMVttuD7IY0tzTlU41iC71HcKrZu6af9ByXkhaMo9SwfazNtpzk4PbOECjX8qCDXAcdXQ7frqBFcwcdtYdEjIT0+BO3RIkIdrtmYZZKTtQDrUZwiF8RAPbSAimtoouij+7X9WI8WHbJb0XrQFo2qqC8ij2qw6ykIV6uGnZgrqohAOqCL51VJX9qUEOYa6DDw3PW6cKmHSJHEozsKuKMS1FVRdchZl9N5aq9s\/\/XB0nbdMME64ixkEZI+lRtSeKFClJkwDxLcSxQe1AgzaK6G\/mCFDO4c0MV\/GCO9uYyclgXpH5Tgzy\/g5jcyIauhONz1ANeB2xo6H6d92r4kRp9WDcmZeR+9uIJ7U3NgqIGSBeQdoeefa8BFwNX7e6BZOoWvkTy1hFuSdfeJsoTYthLunc37UEdpZB2mPaQtIcF1BfBOy8kyl9C4f\/DhqaNX19CGy65n1g369XnfwkIQlm+EhNOtuwW+UwgfToF2RVen2cLhArg6epcn+hHAsqaOxA7pLuLKPsvTyraf1NDGGFrPX0kIxica3E6pBy\/srCt10aki6NYpxp2gMgRxjxJ\/KvvZo8SblHhAiTbnbdbgVa6pWW3e\/7HatP0xtJ5O9PJTQjIroC+9VDvnd+WLsg2zsIz70C3MbtqXM3RLP+23FHCPzKwkJ8i8rO5MPIo2BP3+RNUEva4Gr8ksIBGkNfOPNEJwcOMK2XL3ePsp8Bu0rT3JMtuzVvCUmnrmTUU1BMUlhXQ+0rab5MXA++eBVPd6tzRWC6NTHOM4\/dr5UIdflgmgAygj0XSRfM32AZAGmpaRkwX\/HISBHiXu5fBvi2WCZRw8ZLWlRPB9KtcU4ZH1LC0hTxItIFLD\/36Myo2qO0QErVD6VpX6cARt6UQQWvL\/OOTrhCqesjmkNCSpytkV5ISssoKEOJf\/Vh1+rmiFpnb2LrPeBDkvQjp1PLYmK3+ij\/3wY7mxsX5ie5IGYTu+X9v\/gSaLTkEFKXr0Dytl6ArQl5ZxC0bQRLKxW8V\/2cHvFErZMedBN591rH5ZhLT4ILwCshIY6GX66qyGCZZxL7E0q2Ml+OvrRG9u6lwtgM\/cp++vlrtG20Omd9olf9narx0\/KCDP8iFRdNyVrKH1BvptBF2u6MSyGlmVvUcdRAk64pHXrZTBW6bbtz7tiIrw2gSoh2D+Q3\/Db599hvCVfh2PgbkEiOCEAu79k\/3dVoQd+O\/1KJ\/1sCqbGCAGGnDHGHSvlqHh6fZhvbYfV0CeWUUl5IXpM\/q0\/bRuGfqVBd9NsIz7mOsyQSlR+FGV5M4YOSqFRrYYOPVQBPlaHrPJOwQLfCOGZ1ShkQXQ0xLEVfTnNcq\/h6yeluA\/q+2nNZAz62hDs6U4Y\/jvdTP066pSuHOStXIsROF3uqEBr860p1FEot24lwNfCXpDI\/ub90AtuLPNLl1aCFnzf3oIbU+N4fgGWg9xOZEGetVqGRq+ZJp9eDUkV+D6CEuQEoVGGRePwnnAP1nw3QTLuK\/jWNkauS7Z+pc+7bylA\/fAEXwcik1JvBPvFf0hgm5WNF\/onKI\/SJCoDRf54JIV5iNsIf3RarlrdJMSbyW4nHXkHUcTVXbhkRA3ooZsyGpo+dWTrZTgm+nH6LyxncFbFuNOH0OJECrw8s\/qgo\/U0eICXGGmQlgeaEEYxZ\/oid7RiYt2olGU15FA12cNKPbah56sNEUf1WtSirs6iObXUEoINfTv+nXRx7tk211mZZlgGfcxm8PdK4L\/j13whyzPiiLqBL3teIbuBFgD6rKbs0LrTVVGP5Cii5IQ75EaKh42ZK6mF8FfpaeUBhm8bQfpp8eyWb8RfL2V5KswsSh6UmzNo7g3yG21DdrRO4o+ayxULpUSEjUoLHDolTvRX1XDWkA3dYgOHQ3lrbYKuG342xPQGHUN9O4KQzdmFUX9VEIeSuGM3N2vxbfV0MeOoX43KhUk2oVvB+6y0WMYhmHcK5gPfxgxoERDk6yVU0GXydTT95uU+NZJY+BOSCe7SFO979WQzKbv31T7lMWb3LGzHH+nZrN\/zfsw03HNZh9mu\/+GYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiHM\/8fK+6gRQ5SBmgAAAAASUVORK5CYII=';\r\n\r\n  \/* ================= ENGINE (formulas from the Child Education Calculator file) ================= *\/\r\n  var WA_NUMBER = '923223579770';\r\n  var LOGO_URL = 'https:\/\/insurancewala.pk\/wp-content\/uploads\/2025\/10\/logo-green-500-x-500-px.png';\r\n  var INDEXATION = 0.05;      \/\/ yearly increase when premium indexation is on\r\n\r\n  var FUNDS = {\r\n    managed:    { name: 'EFU Managed Growth Fund', desc: 'Balanced approach with medium risk', rate: 0.13, feats: ['Government securities', 'Blue chip equities', 'Fixed income securities'] },\r\n    guaranteed: { name: 'EFU Guaranteed Growth Fund', desc: 'Low risk with steady returns', rate: 0.09, feats: ['Short term debt securities', 'Capital preservation', 'Guaranteed bid price'] },\r\n    aggressive: { name: 'EFU Aggressive Growth Fund', desc: 'Higher risk, potential for higher returns', rate: 0.13, feats: ['Equity-heavy portfolio', 'Growth stocks', 'Maximum capital growth'] },\r\n    alternad:   { name: 'EFU Alternad Growth Fund', desc: 'Sharia-compliant investment', rate: 0.13, feats: ['Sharia-compliant investment'] }\r\n  };\r\n  var PROFESSIONS = [['doctor', 'Doctor'], ['engineer', 'Engineer'], ['business', 'Business Professional'], ['it-expert', 'IT Expert'], ['chartered-accountant', 'Chartered Accountant']];\r\n  var EDU_AGES = [['18', '18 years (Undergraduate)'], ['21', '21 years (Graduate)'], ['24', '24 years (Postgraduate)'], ['custom', 'Custom age']];\r\n  var INFLATIONS = [[0.05, '5% (Conservative)'], [0.06, '6% (Average)'], [0.07, '7% (Aggressive)'], [0.08, '8% (High)']];\r\n  var BASE_LIMITS = {\r\n    cost:    { min: 1000000, max: 10000000, step: 100000 },\r\n    target:  { min: 1000000, max: 50000000, step: 100000 },\r\n    monthly: { min: 5000, max: 100000, step: 1000 },\r\n    adhoc:   { min: 100000, max: 5000000, step: 100000 }\r\n  };\r\n\r\n  function fmtPKR(amount) {\r\n    amount = Math.round(amount);\r\n    var neg = amount < 0, a = Math.abs(amount), s;\r\n    if (a >= 10000000) s = 'Rs. ' + (a \/ 10000000).toFixed(2) + ' Cr';\r\n    else if (a >= 100000) s = 'Rs. ' + (a \/ 100000).toFixed(2) + ' Lac';\r\n    else s = 'Rs. ' + a.toLocaleString('en-US');\r\n    return neg ? '-' + s : s;\r\n  }\r\n  function fmtFull(amount) { return 'Rs. ' + Math.round(amount).toLocaleString('en-US'); }\r\n  function toWords(num) {\r\n    if (num === 0) return 'Zero';\r\n    var units = ['', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine'];\r\n    var teens = ['Ten', 'Eleven', 'Twelve', 'Thirteen', 'Fourteen', 'Fifteen', 'Sixteen', 'Seventeen', 'Eighteen', 'Nineteen'];\r\n    var tens = ['', '', 'Twenty', 'Thirty', 'Forty', 'Fifty', 'Sixty', 'Seventy', 'Eighty', 'Ninety'];\r\n    var r;\r\n    if (num >= 10000000) { r = toWords(Math.floor(num \/ 10000000)) + ' Crore'; if (num % 10000000 > 0) r += ' ' + toWords(num % 10000000); return r; }\r\n    if (num >= 100000) { r = toWords(Math.floor(num \/ 100000)) + ' Lac'; if (num % 100000 > 0) r += ' ' + toWords(num % 100000); return r; }\r\n    if (num >= 1000) { r = toWords(Math.floor(num \/ 1000)) + ' Thousand'; if (num % 1000 > 0) r += ' ' + toWords(num % 1000); return r; }\r\n    var w = '';\r\n    if (num >= 100) { w += units[Math.floor(num \/ 100)] + ' Hundred '; num %= 100; }\r\n    if (num >= 20) { w += tens[Math.floor(num \/ 10)] + ' '; num %= 10; }\r\n    else if (num >= 10) { w += teens[num - 10] + ' '; num = 0; }\r\n    if (num > 0) w += units[num] + ' ';\r\n    return w.trim();\r\n  }\r\n\r\n  \/\/ Age in whole years from a yyyy-mm-dd string (null if empty, invalid or in the future)\r\n  function ageFromDob(str, now) {\r\n    var m = \/^(\\d{4})-(\\d{2})-(\\d{2})$\/.exec(str || '');\r\n    if (!m) return null;\r\n    var y = +m[1], mo = +m[2] - 1, d = +m[3], dob = new Date(y, mo, d);\r\n    if (dob.getFullYear() !== y || dob.getMonth() !== mo || dob.getDate() !== d || y < 1900 || dob > now) return null;\r\n    var age = now.getFullYear() - y, md = now.getMonth() - mo;\r\n    if (md < 0 || (md === 0 && now.getDate() < d)) age--;\r\n    return age;\r\n  }\r\n\r\n  \/\/ Future value of a monthly contribution of Rs. 1 over `years` (monthly compounding, paid at the start of each month;\r\n  \/\/ with indexation: yearly lump sums that rise 5% a year, as in the original file)\r\n  function contribFactor(rate, years, indexed) {\r\n    if (!indexed) { var i = rate \/ 12, n = years * 12; return ((Math.pow(1 + i, n) - 1) \/ i) * (1 + i); }\r\n    var v = 0, t;\r\n    for (t = 1; t <= years; t++) v += 12 * Math.pow(1 + INDEXATION, t - 1) * Math.pow(1 + rate, years - t);\r\n    return v;\r\n  }\r\n  function contribValue(monthly, rate, indexed, y) { return (monthly > 0 && y > 0) ? monthly * contribFactor(rate, y, indexed) : 0; }\r\n\r\n  \/\/ S: { childAge, eduAge, cost, infl, target, monthly, index, adhocOn, adhoc, fund }\r\n  function project(S) {\r\n    var years = S.eduAge - S.childAge, rate = FUNDS[S.fund].rate, adhoc = S.adhocOn ? S.adhoc : 0;\r\n    var futureCost = S.cost * Math.pow(1 + S.infl, years);\r\n    var fvContrib = (S.monthly > 0 && years > 0) ? S.monthly * contribFactor(rate, years, S.index) : 0;\r\n    var adhocGrowth = (adhoc > 0 && years > 0) ? adhoc * Math.pow(1 + rate, years) : 0;\r\n    var corpus = fvContrib + adhocGrowth, shortfall = corpus - S.target;\r\n    var totalContrib = 0, t;\r\n    if (years > 0) {\r\n      if (S.index) { for (t = 1; t <= years; t++) totalContrib += S.monthly * 12 * Math.pow(1 + INDEXATION, t - 1); }\r\n      else totalContrib = S.monthly * 12 * years;\r\n    }\r\n    totalContrib += adhoc;\r\n    var needed = S.target - adhocGrowth;\r\n    var required = years > 0 ? Math.max(0, needed) \/ contribFactor(rate, years, S.index) : 0;   \/\/ monthly contribution that reaches the target\r\n    var series = [], y;\r\n    for (y = 0; y <= Math.max(years, 0); y++) {\r\n      var c = contribValue(S.monthly, rate, S.index, y), a = adhoc * Math.pow(1 + rate, y);\r\n      series.push({ year: y, age: S.childAge + y, total: c + a, contrib: c, adhoc: a, target: S.target });\r\n    }\r\n    return {\r\n      years: years, rate: rate, futureCost: futureCost, fvContrib: fvContrib, adhocGrowth: adhocGrowth, adhoc: adhoc,\r\n      corpus: corpus, shortfall: shortfall, totalContrib: totalContrib, required: required, extra: required - S.monthly,\r\n      pctOfTarget: S.target > 0 ? Math.min(100, Math.round(corpus \/ S.target * 100)) : 0, series: series\r\n    };\r\n  }\r\n  function ceilTo(v, u) { return Math.ceil(v \/ u) * u; }\r\n  \/\/ Monthly slider: wide enough to reach the target fund\r\n  function monthlyMax(S) {\r\n    var years = S.eduAge - S.childAge;\r\n    if (!(years > 0)) return BASE_LIMITS.monthly.max;\r\n    var req = S.target \/ contribFactor(FUNDS[S.fund].rate, years, S.index);\r\n    return Math.max(BASE_LIMITS.monthly.max, ceilTo(req, 10000));\r\n  }\r\n  function monthlyStep(max) { return max <= 100000 ? 1000 : max <= 500000 ? 5000 : 10000; }\r\n\r\n  \/\/ Plan rules printed in the original file's Coverage Details tab\r\n  function eligibility(parentAge, years) {\r\n    var entry = parentAge + 1, maturity = parentAge + years;\r\n    return [\r\n      { label: 'Parent\\u2019s age at entry', value: entry + ' next birthday', note: 'The plan accepts 18 to 65 next birthday.', ok: entry >= 18 && entry <= 65 },\r\n      { label: 'Plan term', value: years + (years === 1 ? ' year' : ' years'), note: 'The plan term is 10 to 25 years.', ok: years >= 10 && years <= 25 },\r\n      { label: 'Parent\\u2019s age at maturity', value: maturity + ' years', note: 'The maximum age at maturity is 70 years.', ok: maturity <= 70 }\r\n    ];\r\n  }\r\n\r\n  \/* ================= UI ================= *\/\r\n  var TODAY = new Date();\r\n  var TODAY_STR = TODAY.getFullYear() + '-' + ('0' + (TODAY.getMonth() + 1)).slice(-2) + '-' + ('0' + TODAY.getDate()).slice(-2);\r\n  var S = {\r\n    step: 1, pName: '', pDob: '', pGender: '', cName: '', cDob: '', cGender: '', prof: 'doctor', eduSel: '18', eduCustom: 18,\r\n    cost: 5000000, infl: 0.06, target: 10000000, monthly: 20000, index: false, adhocOn: false, adhoc: 500000, fund: 'managed', phone: ''\r\n  };\r\n  var R = null, pAge = null, cAge = null;\r\n  var chartVis = { total: true, target: true, contrib: true, adhoc: true };\r\n  var chartIdx = -1, chartDrawn = false;\r\n\r\n  function $(sel, ctx) { return (ctx || root).querySelector(sel); }\r\n  function $$(sel, ctx) { return Array.prototype.slice.call((ctx || root).querySelectorAll(sel)); }\r\n  var reduceMotion = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n  var ICON_WA = '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z\"\/><\/svg>';\r\n\r\n  var ANIM = !reduceMotion && 'IntersectionObserver' in window;\r\n  if (ANIM) root.classList.add('ed-anim');\r\n  function S24(p) { return '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">' + p + '<\/svg>'; }\r\n  var ICO = {\r\n    users: S24('<path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/>'),\r\n    cap: S24('<path d=\"M22 10 12 5 2 10l10 5 10-5z\"\/><path d=\"M6 12v5c3 2 9 2 12 0v-5\"\/><path d=\"M22 10v6\"\/>'),\r\n    pie: S24('<path d=\"M21.21 15.89A10 10 0 1 1 8 2.83\"\/><path d=\"M22 12A10 10 0 0 0 12 2v10z\"\/>'),\r\n    award: S24('<circle cx=\"12\" cy=\"8\" r=\"7\"\/><polyline points=\"8.21 13.89 7 23 12 20 17 23 15.79 13.88\"\/>'),\r\n    shield: S24('<path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/>'),\r\n    trend: S24('<polyline points=\"23 6 13.5 15.5 8.5 10.5 1 18\"\/><polyline points=\"17 6 23 6 23 12\"\/>'),\r\n    moon: S24('<path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"\/>'),\r\n    doctor: S24('<polyline points=\"22 12 18 12 15 21 9 3 6 12 2 12\"\/>'),\r\n    engineer: S24('<path d=\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z\"\/>'),\r\n    business: S24('<rect x=\"2\" y=\"7\" width=\"20\" height=\"14\" rx=\"2\"\/><path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"\/>'),\r\n    'it-expert': S24('<rect x=\"2\" y=\"3\" width=\"20\" height=\"14\" rx=\"2\"\/><line x1=\"8\" y1=\"21\" x2=\"16\" y2=\"21\"\/><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"21\"\/>'),\r\n    'chartered-accountant': S24('<rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\"\/><line x1=\"8\" y1=\"6\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"11\" x2=\"8\" y2=\"11.01\"\/><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"11.01\"\/><line x1=\"16\" y1=\"11\" x2=\"16\" y2=\"11.01\"\/><line x1=\"8\" y1=\"15\" x2=\"8\" y2=\"15.01\"\/><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"15.01\"\/><line x1=\"16\" y1=\"15\" x2=\"16\" y2=\"15.01\"\/>')\r\n  };\r\n  var FUND_ICO = { managed: 'pie', guaranteed: 'shield', aggressive: 'trend', alternad: 'moon' };\r\n  function ico(k) { return '<span class=\"ed-ico\">' + ICO[k] + '<\/span>'; }\r\n  function hrow(k, t) { return '<div class=\"ed-hrow\"><span class=\"ed-hico\">' + ICO[k] + '<\/span><h3 class=\"iw-h\" tabindex=\"-1\">' + t + '<\/h3><\/div>'; }\r\n\r\n  function eduAge() { return S.eduSel === 'custom' ? S.eduCustom : Number(S.eduSel); }\r\n  function model() { return { childAge: cAge, eduAge: eduAge(), cost: S.cost, infl: S.infl, target: S.target, monthly: S.monthly, index: S.index, adhocOn: S.adhocOn, adhoc: S.adhoc, fund: S.fund }; }\r\n  function planValid() {\r\n    var e = eduAge();\r\n    return cAge !== null && e === Math.floor(e) && e >= 18 && e <= 30 && e - cAge >= 1;\r\n  }\r\n  function normPhone(v) {\r\n    var d = String(v || '').replace(\/\\D\/g, '');\r\n    if (d.indexOf('0092') === 0) d = d.slice(4);\r\n    else if (d.indexOf('92') === 0 && d.length > 10) d = d.slice(2);\r\n    if (d.charAt(0) === '0') d = d.slice(1);\r\n    return d.slice(0, 10);\r\n  }\r\n  function lim(key) {\r\n    var L = BASE_LIMITS[key];\r\n    if (key !== 'monthly') return L;\r\n    var mx = planValid() ? monthlyMax(model()) : L.max;\r\n    return { min: L.min, max: mx, step: monthlyStep(mx) };\r\n  }\r\n\r\n  \/* ---------- markup ---------- *\/\r\n  function radio(field, value, inner, checked, cls) {\r\n    var id = 'ed-' + field + '-' + value;\r\n    return '<div class=\"iw-opt\"><input class=\"iw-in\" type=\"radio\" name=\"ed-' + field + '\" id=\"' + id + '\" value=\"' + value + '\" data-f=\"' + field + '\"' + (checked ? ' checked' : '') + '>' +\r\n      '<label class=\"' + cls + '\" for=\"' + id + '\">' + inner + '<\/label><\/div>';\r\n  }\r\n  function switchRow(field, title, desc) {\r\n    var id = 'ed-' + field;\r\n    return '<div class=\"iw-opt\"><input class=\"iw-in\" type=\"checkbox\" role=\"switch\" id=\"' + id + '\" data-f=\"' + field + '\"' + (S[field] ? ' checked' : '') + '>' +\r\n      '<label class=\"iw-row\" for=\"' + id + '\"><span class=\"iw-row-text\"><strong>' + title + '<\/strong><small>' + desc + '<\/small><\/span><span class=\"iw-sw\" aria-hidden=\"true\"><\/span><\/label><\/div>';\r\n  }\r\n  function textField(id, field, label, ph, errText, type) {\r\n    return '<div class=\"iw-field\"><label class=\"iw-label\" for=\"' + id + '\">' + label + '<\/label>' +\r\n      '<input class=\"iw-input\" id=\"' + id + '\" data-f=\"' + field + '\" type=\"' + (type || 'text') + '\"' + (type === 'date' ? ' min=\"1900-01-01\" max=\"' + TODAY_STR + '\"' : ' autocomplete=\"name\" placeholder=\"' + ph + '\"') + '>' +\r\n      (type === 'date' ? '<p class=\"hj-who\" id=\"' + id + '-age\" role=\"status\"><\/p>' : '') +\r\n      '<p class=\"iw-err\" id=\"' + id + '-err\" role=\"alert\" hidden>' + errText + '<\/p><\/div>';\r\n  }\r\n  function genderField(field, label) {\r\n    return '<div class=\"iw-field\"><span class=\"iw-label\" id=\"ed-' + field + '-l\">' + label + ' <span class=\"iw-tag\">(optional)<\/span><\/span><div class=\"iw-grid2\" style=\"margin-top:8px\" role=\"radiogroup\" aria-labelledby=\"ed-' + field + '-l\">' +\r\n      radio(field, 'male', 'Male', S[field] === 'male', 'iw-chip') + radio(field, 'female', 'Female', S[field] === 'female', 'iw-chip') + '<\/div><\/div>';\r\n  }\r\n  function moneyField(key, title, hint, extra) {\r\n    var L = lim(key);\r\n    return '<div class=\"iw-field\"><label class=\"iw-label\" for=\"ed-' + key + '\">' + title + '<\/label>' + (hint ? '<p class=\"iw-hint\">' + hint + '<\/p>' : '') +\r\n      '<div class=\"iw-phone\"><span>Rs.<\/span><input class=\"iw-input\" id=\"ed-' + key + '\" data-m=\"' + key + '\" type=\"text\" inputmode=\"numeric\" autocomplete=\"off\" value=\"' + S[key].toLocaleString('en-US') + '\"><\/div>' +\r\n      '<div class=\"ed-rw\"><output class=\"ed-bub\" id=\"ed-' + key + '-bub\" aria-hidden=\"true\"><\/output><input class=\"hj-range\" id=\"ed-' + key + '-r\" data-r=\"' + key + '\" type=\"range\" min=\"' + L.min + '\" max=\"' + L.max + '\" step=\"' + L.step + '\" value=\"' + S[key] + '\" aria-label=\"' + title + ' slider\"><\/div>' +\r\n      '<div class=\"hj-rl\"><span id=\"ed-' + key + '-min\">' + fmtPKR(L.min) + '<\/span><span id=\"ed-' + key + '-max\">' + fmtPKR(L.max) + '<\/span><\/div>' +\r\n      '<p class=\"hj-words\" id=\"ed-' + key + '-w\"><\/p>' + (extra || '') + '<\/div>';\r\n  }\r\n  function fundCard(k) {\r\n    var F = FUNDS[k];\r\n    return radio('fund', k, '<span class=\"iw-radio\" aria-hidden=\"true\"><\/span><span class=\"iw-plan-main\"><strong>' + ico(FUND_ICO[k]) + F.name + '<\/strong><small>' + F.desc + '<\/small>' +\r\n      '<ul class=\"hj-feats\">' + F.feats.map(function (f) { return '<li>' + f + '<\/li>'; }).join('') + '<\/ul><\/span><span class=\"iw-plan-price\"><b>' + Math.round(F.rate * 100) + '%<\/b><small>expected annual returns<\/small><\/span>', S.fund === k, 'iw-plan');\r\n  }\r\n\r\n  function screen1() {\r\n    return '<section class=\"iw-screen hj-screen\" data-s=\"1\">' + hrow('users', 'Parent and child details') +\r\n      '<p class=\"iw-lead\">Tell us about yourself and your child to get an accurate education plan.<\/p>' +\r\n      textField('ed-pname', 'pName', 'Parent\\u2019s full name', 'Enter parent\\u2019s full name', 'Enter the parent\\u2019s full name.') +\r\n      textField('ed-pdob', 'pDob', 'Parent\\u2019s date of birth', '', 'Enter a valid date of birth for the parent.', 'date') +\r\n      genderField('pGender', 'Parent\\u2019s gender') +\r\n      textField('ed-cname', 'cName', 'Child\\u2019s name', 'Enter child\\u2019s name', 'Enter your child\\u2019s name.') +\r\n      textField('ed-cdob', 'cDob', 'Child\\u2019s date of birth', '', 'Enter a valid date of birth for your child.', 'date') +\r\n      genderField('cGender', 'Child\\u2019s gender') + '<\/section>';\r\n  }\r\n  function screen2() {\r\n    var prof = PROFESSIONS.map(function (p) { return radio('prof', p[0], ico(p[0]) + p[1], S.prof === p[0], 'iw-chip'); }).join('');\r\n    var ages = EDU_AGES.map(function (a) { return radio('eduSel', a[0], a[1], S.eduSel === a[0], 'iw-chip'); }).join('');\r\n    var infl = INFLATIONS.map(function (a) { return radio('infl', a[0], a[1], S.infl === a[0], 'iw-chip'); }).join('');\r\n    return '<section class=\"iw-screen hj-screen\" data-s=\"2\" hidden>' + hrow('cap', 'Education goals') +\r\n      '<p class=\"iw-lead\">Define your child\\u2019s education aspirations and the cost you expect.<\/p>' +\r\n      '<div class=\"iw-field\"><span class=\"iw-label\" id=\"ed-prof-l\">I wish my child to become a<\/span><div class=\"iw-grid2\" style=\"margin-top:8px\" role=\"radiogroup\" aria-labelledby=\"ed-prof-l\">' + prof + '<\/div><\/div>' +\r\n      '<div class=\"iw-field\"><span class=\"iw-label\" id=\"ed-age-l\">I need the money when my child attains age<\/span><div class=\"iw-grid2\" style=\"margin-top:8px\" role=\"radiogroup\" aria-labelledby=\"ed-age-l\">' + ages + '<\/div>' +\r\n        '<div id=\"ed-custom-w\" hidden><label class=\"iw-hint\" for=\"ed-custom\" style=\"display:block;margin:14px 0 0\">Enter custom age (18 to 30)<\/label>' +\r\n        '<input class=\"iw-input\" id=\"ed-custom\" data-f=\"eduCustom\" type=\"number\" inputmode=\"numeric\" min=\"18\" max=\"30\" value=\"18\"><\/div>' +\r\n        '<p class=\"hj-need\" id=\"ed-years\" role=\"status\"><\/p><\/div>' +\r\n      moneyField('cost', 'Approximate cost of education today', '', '<p class=\"iw-note\">This is the average cost based on our analysis. You can change it as per your requirement.<\/p>') +\r\n      '<div class=\"iw-field\"><span class=\"iw-label\" id=\"ed-infl-l\">Expected education inflation rate<\/span><div class=\"iw-grid2\" style=\"margin-top:8px\" role=\"radiogroup\" aria-labelledby=\"ed-infl-l\">' + infl + '<\/div><\/div>' +\r\n      '<div class=\"iw-field\"><span class=\"iw-label\">Education cost projection<\/span><dl class=\"iw-sum\" id=\"ed-fc\" style=\"margin-top:8px\"><\/dl><\/div>' +\r\n      '<p class=\"iw-err\" id=\"ed-s2-err\" role=\"alert\" hidden><\/p><\/section>';\r\n  }\r\n  function screen3() {\r\n    return '<section class=\"iw-screen hj-screen\" data-s=\"3\" hidden>' + hrow('pie', 'Education plan') +\r\n      '<p class=\"iw-lead\">Customise your education savings plan to meet your goal.<\/p>' +\r\n      moneyField('target', 'Target fund amount', 'The amount you want to have when your child needs the money',\r\n        '<p class=\"hj-need\" id=\"ed-fcnote\" role=\"status\"><\/p><div class=\"hj-usewrap\" id=\"ed-use-c-w\" hidden><button type=\"button\" class=\"hj-use\" data-act=\"use-c\" id=\"ed-use-c\"><\/button><\/div>') +\r\n      moneyField('monthly', 'Monthly contribution', '',\r\n        '<p class=\"iw-note\">Regular monthly contributions help build your education corpus faster.<\/p><p class=\"hj-need\" id=\"ed-need\" role=\"status\"><\/p>' +\r\n        '<div class=\"hj-usewrap\" id=\"ed-use-m-w\" hidden><button type=\"button\" class=\"hj-use\" data-act=\"use-m\" id=\"ed-use-m\"><\/button><\/div>') +\r\n      '<div class=\"iw-field\"><div class=\"iw-stack\">' + switchRow('index', 'Include 5% annual premium indexation', 'Your monthly contributions will increase by 5% each year to keep up with inflation') + '<\/div><\/div>' +\r\n      '<div class=\"iw-field\"><div class=\"iw-stack\">' + switchRow('adhocOn', 'Adhoc premium (recommended for higher returns)', 'Add a one-time premium payment to boost your education savings') + '<\/div><\/div>' +\r\n      '<div id=\"ed-adhoc-box\" hidden>' + moneyField('adhoc', 'Adhoc premium amount', '', '<p class=\"hj-grow\" id=\"ed-grow\" hidden><\/p>') + '<\/div>' +\r\n      '<div class=\"iw-field\"><span class=\"iw-label\" id=\"ed-fund-l\">Investment options<\/span><div class=\"iw-stack\" style=\"margin-top:8px\" role=\"radiogroup\" aria-labelledby=\"ed-fund-l\">' +\r\n        Object.keys(FUNDS).map(fundCard).join('') + '<\/div><\/div>' +\r\n      '<p class=\"iw-err\" id=\"ed-s3-err\" role=\"alert\" hidden><\/p><\/section>';\r\n  }\r\n  function screen4() {\r\n    return '<section class=\"iw-screen hj-screen\" data-s=\"4\" hidden>' + hrow('award', 'Your education plan') +\r\n      '<p class=\"iw-lead\">Based on your information, here is your personalised education savings plan.<\/p><div id=\"ed-res\"><\/div>' +\r\n      '<div class=\"iw-field\"><span class=\"iw-label\">Mobile number <span class=\"iw-tag\">(optional)<\/span><\/span><p class=\"iw-hint\">Add it if you would like a call back.<\/p>' +\r\n        '<div class=\"iw-phone\"><span>+92<\/span><input class=\"iw-input\" id=\"ed-phone\" data-f=\"phone\" type=\"tel\" inputmode=\"numeric\" autocomplete=\"tel-national\" placeholder=\"3223579770\" aria-label=\"Mobile number\"><\/div>' +\r\n        '<p class=\"iw-err\" id=\"ed-phone-err\" role=\"alert\" hidden>Enter 10 digits starting with 3, like 3223579770.<\/p><\/div><\/section>';\r\n  }\r\n\r\n  var io = ANIM ? new IntersectionObserver(function (entries) {\r\n    var i = 0;\r\n    entries.forEach(function (en) {\r\n      if (!en.isIntersecting) return;\r\n      var el = en.target; io.unobserve(el);\r\n      el.style.transitionDelay = (i++ * 70) + 'ms'; el.classList.add('is-in');\r\n      onReveal(el);\r\n      setTimeout(function () { el.style.transitionDelay = ''; }, 1000);\r\n    });\r\n  }, { threshold: 0.08, rootMargin: '0px 0px -4% 0px' }) : null;\r\n  function countUp(el) {\r\n    var to = Number(el.getAttribute('data-count')), f = el.getAttribute('data-fmt'), t0 = performance.now(), d = 1100;\r\n    function fm(v) { return f === 'pct' ? Math.round(v) + '%' : fmtPKR(v); }\r\n    function step(now) { var p = Math.min(1, (now - t0) \/ d), e = 1 - Math.pow(1 - p, 3); el.textContent = fm(to * e); if (p < 1) requestAnimationFrame(step); else el.textContent = fm(to); }\r\n    el.textContent = fm(0); requestAnimationFrame(step);\r\n  }\r\n  function onReveal(el) {\r\n    if (el.hasAttribute('data-count')) countUp(el);\r\n    $$('[data-count]', el).forEach(countUp);\r\n    $$('.ed-ring .val', el).forEach(function (c) { c.style.strokeDashoffset = c.getAttribute('data-off'); });\r\n    if (el.querySelector('#ed-svg') && !chartDrawn) { chartDrawn = true; setTimeout(function () { var sv = $('#ed-svg'); if (sv) sv.classList.add('ed-draw'); }, 120); }\r\n  }\r\n  function reveal(screen) {\r\n    if (!io || !screen) return;\r\n    var list = [];\r\n    Array.prototype.forEach.call(screen.children, function (c) {\r\n      if (c.id === 'ed-res') Array.prototype.forEach.call(c.children, function (x) { list.push(x); }); else list.push(c);\r\n    });\r\n    list.forEach(function (el) {\r\n      if (el.hidden || el.id === 'ed-adhoc-box' || el.classList.contains('iw-err')) return;\r\n      el.classList.remove('is-in'); el.classList.add('rv'); io.observe(el);\r\n    });\r\n  }\r\n  var card = $('#ed-card'), nextBtn = $('#ed-next'), totalEl = $('#ed-total'), subEl = $('#ed-sub'), labelEl = $('#ed-label'), barEl = $('#ed-bar');\r\n  $('#ed-screens').innerHTML = screen1() + screen2() + screen3() + screen4();\r\n\r\n  \/* ---------- helpers ---------- *\/\r\n  function sumRow(k, v, cls) { return '<div class=\"iw-sum-row' + (cls ? ' ' + cls : '') + '\"><dt>' + k + '<\/dt><dd>' + v + '<\/dd><\/div>'; }\r\n  function yrs(n) { return n + (n === 1 ? ' year' : ' years'); }\r\n  function sliderFill(el) {\r\n    var p = (Number(el.value) - Number(el.min)) \/ (Number(el.max) - Number(el.min)) * 100;\r\n    p = Math.max(0, Math.min(100, p));\r\n    el.style.setProperty('--p', p + '%');\r\n    var bub = $('#ed-' + el.getAttribute('data-r') + '-bub'), w = el.clientWidth;\r\n    if (bub && w > 0) {\r\n      bub.textContent = fmtPKR(el.value);\r\n      var half = bub.offsetWidth \/ 2, x = 14 + (w - 28) * p \/ 100;\r\n      bub.style.left = Math.max(half, Math.min(w - half, x)) + 'px';\r\n    }\r\n  }\r\n  function bubble(range, on) {\r\n    var w = range.parentNode; if (!w || !w.classList) return;\r\n    if (on) sliderFill(range);\r\n    w.classList.toggle('is-drag', on);\r\n  }\r\n  function words(key) { $('#ed-' + key + '-w').textContent = 'Pakistani Rupees ' + toWords(Math.round(S[key])) + ' Only'; }\r\n  function applyLimits() {\r\n    ['cost', 'target', 'monthly', 'adhoc'].forEach(function (k) {\r\n      var L = lim(k), r = $('#ed-' + k + '-r');\r\n      r.min = L.min; r.max = L.max; r.step = L.step;\r\n      $('#ed-' + k + '-max').textContent = fmtPKR(L.max);\r\n      if (S[k] > L.max) { S[k] = L.max; $('#ed-' + k).value = S[k].toLocaleString('en-US'); }\r\n      r.value = S[k]; sliderFill(r);\r\n    });\r\n  }\r\n\r\n  \/* ---------- live updates ---------- *\/\r\n  function recalc() {\r\n    pAge = ageFromDob(S.pDob, TODAY); cAge = ageFromDob(S.cDob, TODAY);\r\n    $('#ed-pdob-age').textContent = pAge === null ? '' : 'Parent\\u2019s current age: ' + yrs(pAge);\r\n    $('#ed-cdob-age').textContent = cAge === null ? '' : 'Child\\u2019s current age: ' + yrs(cAge);\r\n    $('#ed-custom-w').hidden = S.eduSel !== 'custom';\r\n    applyLimits();\r\n    var ok = planValid();\r\n    R = ok ? project(model()) : null;\r\n    ['cost', 'target', 'monthly', 'adhoc'].forEach(words);\r\n    $('#ed-adhoc-box').hidden = !S.adhocOn;\r\n\r\n    var yh = $('#ed-years'), e = eduAge();\r\n    if (cAge === null) { yh.className = 'hj-need'; yh.textContent = 'Enter your child\\u2019s date of birth in step 1 to see how many years are left.'; }\r\n    else if (!ok) { yh.className = 'hj-need is-short'; yh.textContent = (e >= 18 && e <= 30) ? 'Choose an age later than your child\\u2019s current age (' + cAge + ').' : 'Enter an age between 18 and 30.'; }\r\n    else { yh.className = 'hj-need is-ok'; yh.textContent = 'Your child needs the money in ' + yrs(R.years) + ', at age ' + e + '.'; }\r\n\r\n    if (R) {\r\n      $('#ed-fc').innerHTML = sumRow('Education cost today', fmtPKR(S.cost)) + sumRow('Future education cost', fmtPKR(R.futureCost), 'iw-sum-total') +\r\n        sumRow('Years until funds needed', yrs(R.years)) + sumRow('Education inflation rate', Math.round(S.infl * 100) + '%');\r\n      var amtC = Math.round(R.futureCost \/ 100000) * 100000, LT = lim('target');\r\n      var fn = $('#ed-fcnote'), uc = $('#ed-use-c-w');\r\n      fn.className = 'hj-need'; fn.textContent = 'In ' + yrs(R.years) + ' your child\\u2019s education may cost ' + fmtPKR(R.futureCost) + ' at ' + Math.round(S.infl * 100) + '% inflation.';\r\n      if (amtC >= LT.min && amtC <= LT.max && amtC !== S.target) { uc.hidden = false; $('#ed-use-c').textContent = 'Set the target fund to ' + fmtPKR(amtC); } else uc.hidden = true;\r\n\r\n      var nd = $('#ed-need'), amtM = Math.ceil(R.required \/ 1000) * 1000, LM = lim('monthly'), um = $('#ed-use-m-w');\r\n      nd.className = 'hj-need' + (R.extra > 0 ? ' is-short' : ' is-ok');\r\n      nd.textContent = R.extra > 0\r\n        ? 'To reach your target fund of ' + fmtPKR(S.target) + ' you need ' + fmtFull(R.required) + ' a month' + (S.index ? ', rising 5% every year' : '') + '. That is ' + fmtFull(R.extra) + ' more than you contribute now.'\r\n        : (R.required === 0 ? 'Your adhoc premium alone reaches the target fund. No monthly contribution is needed.' : 'You are on track. ' + fmtFull(R.required) + ' a month is enough to reach your target fund.');\r\n      if (R.extra > 0 && amtM <= LM.max) { um.hidden = false; $('#ed-use-m').textContent = 'Set my monthly contribution to ' + fmtFull(amtM); } else um.hidden = true;\r\n      var g = $('#ed-grow');\r\n      if (S.adhocOn) { g.hidden = false; g.textContent = 'Your adhoc premium will grow to about ' + fmtPKR(R.adhocGrowth) + ' when your child needs the education funds.'; } else g.hidden = true;\r\n    } else {\r\n      $('#ed-fc').innerHTML = ''; $('#ed-fcnote').textContent = ''; $('#ed-use-c-w').hidden = true;\r\n      $('#ed-need').textContent = ''; $('#ed-use-m-w').hidden = true; $('#ed-grow').hidden = true;\r\n    }\r\n    updateBar();\r\n    if (S.step === 4 && R) renderResults();\r\n  }\r\n  var barRaf = 0, barVal = null;\r\n  function setBarTotal(num, text) {\r\n    cancelAnimationFrame(barRaf);\r\n    if (!ANIM || num === null || barVal === null) { totalEl.textContent = text; barVal = num; return; }\r\n    var from = barVal, t0 = performance.now(), d = 380;\r\n    function f(now) {\r\n      var p = Math.min(1, (now - t0) \/ d), e = 1 - Math.pow(1 - p, 3), v = from + (num - from) * e;\r\n      barVal = v; totalEl.textContent = fmtPKR(v);\r\n      if (p < 1) barRaf = requestAnimationFrame(f); else { barVal = num; totalEl.textContent = text; }\r\n    }\r\n    barRaf = requestAnimationFrame(f);\r\n  }\r\n  function updateBar() {\r\n    var l = 'Child\\u2019s age', t = '\\u2013', s = '', num = null;\r\n    if (S.step === 1) { if (cAge !== null) { t = yrs(cAge); s = S.cName ? S.cName : ''; } }\r\n    else if (S.step === 2) { l = 'Future education cost'; if (R) { t = fmtPKR(R.futureCost); num = R.futureCost; s = 'In ' + yrs(R.years) + ' at ' + Math.round(S.infl * 100) + '% inflation'; } else s = 'Complete the details'; }\r\n    else { l = 'Projected education fund'; if (R) { t = fmtPKR(R.corpus); num = R.corpus; s = 'Target ' + fmtPKR(S.target); } else s = 'Complete the details'; }\r\n    labelEl.textContent = l; subEl.textContent = s; setBarTotal(num, t);\r\n  }\r\n\r\n  \/* ---------- results ---------- *\/\r\n  var LINES = [\r\n    { k: 'total', label: 'Education corpus', color: '#0d2840', w: 3.5 },\r\n    { k: 'target', label: 'Target fund', color: '#c0183f', w: 2.5, dash: '7 6' },\r\n    { k: 'contrib', label: 'Monthly contributions', color: '#1e8f4e', w: 2.5 },\r\n    { k: 'adhoc', label: 'Adhoc premium', color: '#c27c0e', w: 2.5 }\r\n  ];\r\n  function axisFmt(v) {\r\n    if (v >= 10000000) return (v \/ 10000000).toFixed(v % 10000000 === 0 ? 0 : 1) + ' Cr';\r\n    if (v >= 100000) return (v \/ 100000).toFixed(v % 100000 === 0 ? 0 : 1) + ' Lac';\r\n    return v === 0 ? '0' : (v \/ 1000) + 'k';\r\n  }\r\n  function niceStep(x) {\r\n    var mag = Math.pow(10, Math.floor(Math.log(x) \/ Math.LN10)), f = x \/ mag;\r\n    return (f <= 1 ? 1 : f <= 2 ? 2 : f <= 2.5 ? 2.5 : f <= 5 ? 5 : 10) * mag;\r\n  }\r\n  var CH = { W: 600, H: 380, L: 64, Rr: 14, T: 14, B: 40 };\r\n  function visibleLines() { return LINES.filter(function (l) { return R.series.some(function (p) { return p[l.k] > 0; }); }); }\r\n  function chartSVG() {\r\n    var W = CH.W, H = CH.H, L = CH.L, pw = W - L - CH.Rr, ph = H - CH.T - CH.B, ser = R.series, n = ser.length;\r\n    var lines = visibleLines().filter(function (l) { return chartVis[l.k]; });\r\n    var maxV = 0; lines.forEach(function (l) { ser.forEach(function (p) { if (p[l.k] > maxV) maxV = p[l.k]; }); });\r\n    if (maxV <= 0) maxV = 100000;\r\n    var step = niceStep(maxV \/ 4), top = Math.ceil(maxV \/ step) * step;\r\n    function x(i) { return L + (n > 1 ? i \/ (n - 1) * pw : 0); }\r\n    function y(v) { return CH.T + ph - v \/ top * ph; }\r\n    var s = '<svg class=\"hj-svg\" id=\"ed-svg\" viewBox=\"0 0 ' + W + ' ' + H + '\" role=\"img\" aria-label=\"Projected education fund of ' + fmtPKR(R.corpus) + ' against a target fund of ' + fmtPKR(S.target) + '\">';\r\n    var v, i;\r\n    for (v = 0; v <= top + 1; v += step) {\r\n      s += '<line x1=\"' + L + '\" x2=\"' + (W - CH.Rr) + '\" y1=\"' + y(v).toFixed(1) + '\" y2=\"' + y(v).toFixed(1) + '\" stroke=\"#e3e9f1\" stroke-width=\"1\"\/>' +\r\n        '<text x=\"' + (L - 8) + '\" y=\"' + (y(v) + 4).toFixed(1) + '\" text-anchor=\"end\" class=\"hj-ax\">' + axisFmt(v) + '<\/text>';\r\n    }\r\n    var every = n <= 8 ? 1 : Math.ceil(n \/ 6);\r\n    for (i = 0; i < n; i += every) s += '<text x=\"' + x(i).toFixed(1) + '\" y=\"' + (H - 12) + '\" text-anchor=\"middle\" class=\"hj-ax\">Age ' + ser[i].age + '<\/text>';\r\n    lines.forEach(function (l) {\r\n      var pts = ser.map(function (p, j) { return x(j).toFixed(1) + ',' + y(p[l.k]).toFixed(1); }).join(' ');\r\n      if (l.k === 'total') s += '<polygon points=\"' + x(0).toFixed(1) + ',' + y(0).toFixed(1) + ' ' + pts + ' ' + x(n - 1).toFixed(1) + ',' + y(0).toFixed(1) + '\" fill=\"rgba(13,40,64,.08)\"\/>';\r\n      s += '<polyline points=\"' + pts + '\" fill=\"none\" stroke=\"' + l.color + '\" stroke-width=\"' + l.w + '\" stroke-linejoin=\"round\" stroke-linecap=\"round\"' + (l.dash ? ' stroke-dasharray=\"' + l.dash + '\"' : ' data-d=\"1\"') + '\/>';\r\n    });\r\n    s += '<g id=\"ed-guide\" visibility=\"hidden\"><line id=\"ed-gl\" y1=\"' + CH.T + '\" y2=\"' + (CH.T + ph) + '\" stroke=\"#566680\" stroke-width=\"1\" stroke-dasharray=\"3 3\"\/>';\r\n    lines.forEach(function (l) { s += '<circle data-k=\"' + l.k + '\" r=\"4.5\" fill=\"#fff\" stroke=\"' + l.color + '\" stroke-width=\"2.5\"\/>'; });\r\n    s += '<\/g><rect id=\"ed-hit\" x=\"' + L + '\" y=\"' + CH.T + '\" width=\"' + pw + '\" height=\"' + ph + '\" fill=\"transparent\" style=\"touch-action:pan-y\"\/><\/svg>';\r\n    return { svg: s, x: x, y: y, lines: lines };\r\n  }\r\n  var chartGeo = null;\r\n  function readout(idx) {\r\n    var p = R.series[idx], h = '<strong>Age ' + p.age + ' (year ' + p.year + ')<\/strong><ul>';\r\n    chartGeo.lines.forEach(function (l) { h += '<li><i style=\"background:' + l.color + '\"><\/i><span>' + l.label + '<\/span><b>' + fmtPKR(p[l.k]) + '<\/b><\/li>'; });\r\n    $('#ed-read').innerHTML = h + '<\/ul>';\r\n    var g = $('#ed-guide'); if (!g) return;\r\n    g.setAttribute('visibility', 'visible');\r\n    var gx = chartGeo.x(idx).toFixed(1), gl = $('#ed-gl'); gl.setAttribute('x1', gx); gl.setAttribute('x2', gx);\r\n    $$('#ed-guide circle').forEach(function (c) { c.setAttribute('cx', gx); c.setAttribute('cy', chartGeo.y(p[c.getAttribute('data-k')]).toFixed(1)); });\r\n    chartIdx = idx;\r\n  }\r\n  function renderChart() {\r\n    chartGeo = chartSVG();\r\n    $('#ed-chart').innerHTML = chartGeo.svg;\r\n    var svgEl = $('#ed-svg');\r\n    if (ANIM && !chartDrawn) {\r\n      $$('#ed-svg polyline[data-d]').forEach(function (p) { var len = p.getTotalLength(); p.style.strokeDasharray = len; p.style.strokeDashoffset = len; });\r\n    } else svgEl.classList.add('ed-draw');\r\n    $('#ed-legend').innerHTML = visibleLines().map(function (l) {\r\n      var id = 'ed-lg-' + l.k;\r\n      return '<div class=\"iw-opt\"><input class=\"iw-in\" type=\"checkbox\" id=\"' + id + '\" data-s=\"' + l.k + '\"' + (chartVis[l.k] ? ' checked' : '') + '><label class=\"hj-lg\" for=\"' + id + '\"><i style=\"background:' + l.color + '\"><\/i>' + l.label + '<\/label><\/div>';\r\n    }).join('');\r\n    readout(chartIdx < 0 || chartIdx >= R.series.length ? R.series.length - 1 : chartIdx);\r\n    var svg = $('#ed-svg');\r\n    function move(e) {\r\n      var r = svg.getBoundingClientRect(), sx = (e.clientX - r.left) \/ r.width * CH.W, n = R.series.length;\r\n      var i = Math.round((sx - CH.L) \/ (CH.W - CH.L - CH.Rr) * (n - 1));\r\n      readout(Math.max(0, Math.min(n - 1, i)));\r\n    }\r\n    var hit = $('#ed-hit'); hit.addEventListener('pointermove', move); hit.addEventListener('pointerdown', move);\r\n  }\r\n\r\n  var ABOUT = '<div class=\"iw-field\"><span class=\"iw-label\">About the education plan<\/span>' +\r\n    '<details class=\"hj-det\"><summary>What is covered<\/summary><ul class=\"hj-ul\">' +\r\n    '<li><b>Education fund:<\/b> Accumulated fund for your child\\u2019s higher education.<\/li>' +\r\n    '<li><b>Investment growth:<\/b> Your contributions are invested for potential growth.<\/li>' +\r\n    '<li><b>Continuation benefit:<\/b> EFU Life pays all future premiums if the parent dies before maturity.<\/li>' +\r\n    '<li><b>Flexible contributions:<\/b> Option to adjust your contribution amounts as needed.<\/li>' +\r\n    '<li><b>Premium indexation:<\/b> Your contributions increase by 5% annually to keep pace with inflation.<\/li>' +\r\n    '<li><b>Professional management:<\/b> Your funds are managed by investment professionals.<\/li><\/ul><\/details>' +\r\n    '<details class=\"hj-det\"><summary>Investment options<\/summary><dl class=\"iw-sum\" style=\"margin-top:6px\">' +\r\n    sumRow('EFU Managed Growth Fund', 'Balanced approach with medium risk (13% expected returns)') + sumRow('EFU Guaranteed Growth Fund', 'Low risk with steady returns (9% expected returns)') +\r\n    sumRow('EFU Aggressive Growth Fund', 'Higher risk with potential for higher returns (13% expected returns)') + sumRow('EFU Alternad Growth Fund', 'Sharia-compliant investment (13% expected returns)') + '<\/dl><\/details>' +\r\n    '<details class=\"hj-det\"><summary>Eligibility and terms<\/summary><dl class=\"iw-sum\" style=\"margin-top:6px\">' +\r\n    sumRow('Minimum age at entry', '18 next birthday') + sumRow('Maximum age at entry', '65 next birthday') + sumRow('Plan term', '10 to 25 years') +\r\n    sumRow('Maximum age at maturity', '70 years') + sumRow('Minimum annual premium', 'Rs. 20,000') + '<\/dl><\/details>' +\r\n    '<details class=\"hj-det\"><summary>Key benefits<\/summary><ul class=\"hj-ul\">' +\r\n    '<li><b>Education security:<\/b> Ensure funds are available for your child\\u2019s higher education.<\/li>' +\r\n    '<li><b>Wealth accumulation:<\/b> Your contributions are invested for potential growth over time.<\/li>' +\r\n    '<li><b>Continuation benefit:<\/b> The education plan continues even if the parent is no longer around.<\/li>' +\r\n    '<li><b>Financial discipline:<\/b> Regular savings habit for your child\\u2019s future.<\/li>' +\r\n    '<li><b>Flexibility:<\/b> Choose from multiple investment options based on your risk appetite.<\/li>' +\r\n    '<li><b>Peace of mind:<\/b> Know that your child\\u2019s education is financially secured.<\/li><\/ul><\/details>' +\r\n    '<details class=\"hj-det\"><summary>Additional protection benefits<\/summary><ul class=\"hj-ul\">' +\r\n    '<li><b>Additional term assurance:<\/b> Additional lump sum payment in case of the parent\\u2019s death.<\/li>' +\r\n    '<li><b>Accidental death benefit:<\/b> Additional coverage for accidental death.<\/li>' +\r\n    '<li><b>Accidental death and disability benefit:<\/b> Coverage for accidental death and disability.<\/li>' +\r\n    '<li><b>Accidental death and disability plus:<\/b> Enhanced coverage for accidental death and disability.<\/li><\/ul><\/details><\/div>';\r\n\r\n  function renderResults() {\r\n    var r = R, ahead = r.shortfall >= 0, F = FUNDS[S.fund], e = eduAge(), name = S.cName || 'your child';\r\n    var C = 263.89, off = C * (1 - r.pctOfTarget \/ 100);\r\n    var h = '<div class=\"hj-hero\"><div class=\"ed-ring\" role=\"img\" aria-label=\"' + r.pctOfTarget + ' percent of your target fund\"><svg viewBox=\"0 0 100 100\" aria-hidden=\"true\"><circle class=\"trk\" cx=\"50\" cy=\"50\" r=\"42\"\/>' +\r\n      '<circle class=\"val\" cx=\"50\" cy=\"50\" r=\"42\" stroke-dasharray=\"' + C + '\" data-off=\"' + off.toFixed(1) + '\" style=\"stroke-dashoffset:' + (ANIM ? C : off.toFixed(1)) + '\"\/><\/svg>' +\r\n      '<span class=\"ed-ring-t\" data-count=\"' + r.pctOfTarget + '\" data-fmt=\"pct\">' + r.pctOfTarget + '%<\/span><\/div>' +\r\n      '<p>When ' + name + ' needs the education funds, you will have a total of<\/p><b data-count=\"' + Math.round(r.corpus) + '\" data-fmt=\"pkr\">' + fmtPKR(r.corpus) + '<\/b><small>' + fmtFull(r.corpus) + '<\/small>' +\r\n      '<p>Based on the ' + F.name + ' at ' + Math.round(r.rate * 100) + '% expected annual returns<\/p><p class=\"hj-pct\">' + r.pctOfTarget + '% of your target fund of ' + fmtPKR(S.target) + '<\/p><\/div>';\r\n    h += '<div class=\"hj-tiles\"><div class=\"hj-tile\"><span>Your monthly contribution<\/span><b data-count=\"' + S.monthly + '\" data-fmt=\"pkr\">' + fmtPKR(S.monthly) + '<\/b><small>per month' + (S.index ? ', rising 5% a year' : '') + '<\/small><\/div>' +\r\n      '<div class=\"hj-tile\"><span>Total contributions<\/span><b data-count=\"' + Math.round(r.totalContrib) + '\" data-fmt=\"pkr\">' + fmtPKR(r.totalContrib) + '<\/b><small>over the plan term<\/small><\/div><\/div>';\r\n    if (ahead) h += '<div class=\"hj-gap is-ok\"><span>Surplus: you are ahead of your target<\/span><b data-count=\"' + Math.round(r.shortfall) + '\" data-fmt=\"pkr\">' + fmtPKR(r.shortfall) + '<\/b><small>more than your target fund<\/small><\/div>';\r\n    else h += '<div class=\"hj-gap\"><span>Shortfall against your target fund<\/span><b data-count=\"' + Math.round(-r.shortfall) + '\" data-fmt=\"pkr\">' + fmtPKR(-r.shortfall) + '<\/b><small>additional savings needed<\/small><\/div>';\r\n    h += '<div class=\"iw-field\"><span class=\"iw-label\">Monthly contribution to reach your target<\/span><dl class=\"iw-sum\" style=\"margin-top:8px\">' +\r\n      sumRow('Monthly contribution now', fmtFull(S.monthly)) + sumRow('Monthly contribution required', fmtFull(r.required), 'iw-sum-total') +\r\n      (r.extra > 0 ? sumRow('Extra needed each month', fmtFull(r.extra)) : sumRow('Above what you need', fmtFull(-r.extra))) + '<\/dl>' +\r\n      '<p class=\"iw-note\">' + (r.extra > 0 ? 'Contribute the required amount every month to reach your target fund.' : 'You can keep your current contribution, or lower it to the required amount.') +\r\n      (S.index ? ' The required amount is your starting contribution. It rises 5% every year.' : '') + (r.adhoc > 0 ? ' Your adhoc premium is already counted.' : '') + '<\/p><\/div>';\r\n    h += '<div class=\"iw-field\"><span class=\"iw-label\">Education cost projection<\/span><dl class=\"iw-sum\" style=\"margin-top:8px\">' +\r\n      sumRow('Current education cost', fmtPKR(S.cost)) + sumRow('Future education cost', fmtPKR(r.futureCost)) + sumRow('Target fund required', fmtPKR(S.target)) +\r\n      sumRow('Years until funds needed', yrs(r.years)) + sumRow('Education inflation rate', Math.round(S.infl * 100) + '%') +\r\n      sumRow(ahead ? 'Surplus' : 'Shortfall', fmtPKR(Math.abs(r.shortfall))) + '<\/dl>' +\r\n      '<p class=\"iw-note\">The target fund is the amount you set yourself. Your future education cost is shown for comparison.<\/p><\/div>';\r\n    h += '<div class=\"iw-field\"><span class=\"iw-label\">Plan details<\/span><dl class=\"iw-sum\" style=\"margin-top:8px\">' +\r\n      sumRow('Parent', S.pName || '-') + sumRow('Child\\u2019s name', S.cName || '-') + sumRow('Child wishes to become', (PROFESSIONS.filter(function (p) { return p[0] === S.prof; })[0] || ['', '-'])[1]) +\r\n      sumRow('Child\\u2019s age when funds needed', e + ' Years') + sumRow('Years until education', yrs(r.years)) + sumRow('Monthly contribution', fmtPKR(S.monthly)) +\r\n      sumRow('Premium indexation', S.index ? 'Yes (5%)' : 'No') + sumRow('Adhoc premium', r.adhoc > 0 ? fmtPKR(r.adhoc) : 'None') +\r\n      sumRow('Investment strategy', F.name) + sumRow('Target fund calculation', 'Set manually') + '<\/dl><\/div>';\r\n    if (pAge !== null) {\r\n      var el = eligibility(pAge, r.years);\r\n      h += '<div class=\"iw-field\"><span class=\"iw-label\">Plan eligibility check<\/span><dl class=\"iw-sum\" style=\"margin-top:8px\">' +\r\n        el.map(function (x) { return sumRow(x.label, '<span class=\"' + (x.ok ? 'ed-ok' : 'ed-chk') + '\">' + x.value + (x.ok ? '' : ' (check)') + '<\/span>'); }).join('') + '<\/dl>' +\r\n        (el.every(function (x) { return x.ok; }) ? '<p class=\"iw-note\">Your details fit the plan rules. Our specialist will confirm.<\/p>'\r\n          : '<p class=\"iw-note\">' + el.filter(function (x) { return !x.ok; }).map(function (x) { return x.note; }).join(' ') + ' Our specialist can suggest options that fit.<\/p>') + '<\/div>';\r\n    }\r\n    h += '<div class=\"iw-field\"><span class=\"iw-label\">Education savings projection<\/span><p class=\"iw-hint\">Tap or drag on the chart to see each year.<\/p>' +\r\n      '<div class=\"hj-chartbox\"><div id=\"ed-chart\"><\/div><div class=\"hj-legend\" id=\"ed-legend\"><\/div><div class=\"hj-read\" id=\"ed-read\"><\/div><\/div>' +\r\n      '<details class=\"hj-det\"><summary>See the numbers year by year<\/summary><div class=\"hj-tbl\"><table><thead><tr><th>Age<\/th><th>Education corpus<\/th><th>Target fund<\/th><th>Contributions<\/th><th>Adhoc<\/th><\/tr><\/thead><tbody>' +\r\n      r.series.map(function (p) { return '<tr><td>' + p.age + '<\/td><td>' + fmtPKR(p.total) + '<\/td><td>' + fmtPKR(p.target) + '<\/td><td>' + fmtPKR(p.contrib) + '<\/td><td>' + fmtPKR(p.adhoc) + '<\/td><\/tr>'; }).join('') +\r\n      '<\/tbody><\/table><\/div><\/details><\/div>';\r\n    h += ABOUT;\r\n    h += '<p class=\"iw-note\">This projection is an estimate based on the expected returns of your chosen fund and your education inflation rate. Returns are not guaranteed.<\/p>';\r\n    $('#ed-res').innerHTML = h;\r\n    renderChart();\r\n  }\r\n\r\n  \/* ---------- steps ---------- *\/\r\n  function show(dir) {\r\n    $$('.hj-screen').forEach(function (sc) { sc.hidden = Number(sc.getAttribute('data-s')) !== S.step; });\r\n    $('#ed-pstep').textContent = 'Step ' + S.step + ' of 4';\r\n    [1, 2, 3, 4].forEach(function (i) { $('#ed-pb' + i).className = S.step >= i ? 'on' : ''; });\r\n    $('#ed-back').hidden = S.step === 1;\r\n    barEl.classList.toggle('is-review', S.step > 1);\r\n    nextBtn.innerHTML = S.step === 1 ? 'Continue' : S.step === 2 ? 'Continue' : S.step === 3 ? 'Calculate education plan' : ICON_WA + 'Send on WhatsApp';\r\n    barEl.classList.remove('is-compact');\r\n    if (S.step === 4 && R) { chartDrawn = false; renderResults(); $('#ed-phone').value = S.phone; }\r\n    if (dir) {\r\n      var vis = $('.hj-screen:not([hidden])');\r\n      if (vis) { vis.classList.remove('is-fwd', 'is-bwd'); void vis.offsetWidth; vis.classList.add(dir === 'fwd' ? 'is-fwd' : 'is-bwd'); }\r\n    }\r\n    updateBar();\r\n    reveal($('.hj-screen:not([hidden])'));\r\n  }\r\n  function bringIntoView() {\r\n    var r = card.getBoundingClientRect();\r\n    if (r.top < 0 || r.top > window.innerHeight * 0.6) card.scrollIntoView({ behavior: reduceMotion ? 'auto' : 'smooth', block: 'start' });\r\n  }\r\n  function focusHeading() {\r\n    var h = $('.hj-screen:not([hidden]) .iw-h');\r\n    if (h) { try { h.focus({ preventScroll: true }); } catch (e) { h.focus(); } }\r\n  }\r\n  var pushed = 0;\r\n  function forward(step) {\r\n    S.step = step;\r\n    try { history.pushState({ ed: step }, ''); pushed++; } catch (e) {}\r\n    show('fwd'); bringIntoView(); focusHeading();\r\n  }\r\n  function goBack() {\r\n    if (pushed > 0) {\r\n      var before = pushed;\r\n      history.back();\r\n      setTimeout(function () { if (pushed === before) { pushed = Math.max(0, pushed - 1); S.step = Math.max(1, S.step - 1); show('bwd'); bringIntoView(); focusHeading(); } }, 450);\r\n    } else { S.step = Math.max(1, S.step - 1); show('bwd'); bringIntoView(); focusHeading(); }\r\n  }\r\n  window.addEventListener('popstate', function () {\r\n    if (pushed <= 0) return;\r\n    pushed--; S.step = Math.max(1, S.step - 1);\r\n    show('bwd'); focusHeading();\r\n  });\r\n\r\n  \/* ---------- validation ---------- *\/\r\n  function setErr(id, bad, el, text) {\r\n    var err = $('#' + id + '-err');\r\n    if (err) { err.hidden = !bad; if (bad && text) err.textContent = text; }\r\n    el.setAttribute('aria-invalid', bad ? 'true' : 'false');\r\n    if (bad) el.setAttribute('aria-describedby', id + '-err'); else el.removeAttribute('aria-describedby');\r\n    (el.closest('.iw-phone') || el).classList.toggle('is-bad', bad);\r\n  }\r\n  function validateStep1() {\r\n    var checks = [\r\n      ['ed-pname', S.pName.trim().length < 2, null],\r\n      ['ed-pdob', pAge === null || pAge < 15 || pAge > 100, pAge === null ? 'Enter a valid date of birth for the parent.' : 'Please check the parent\\u2019s date of birth.'],\r\n      ['ed-cname', S.cName.trim().length < 2, null],\r\n      ['ed-cdob', cAge === null || cAge > 29, cAge === null ? 'Enter a valid date of birth for your child.' : 'Your child must be 29 or younger.']\r\n    ], first = null;\r\n    checks.forEach(function (c) { var el = $('#' + c[0]); setErr(c[0], c[1], el, c[2]); if (c[1] && !first) first = el; });\r\n    if (first) { first.focus(); return false; }\r\n    return true;\r\n  }\r\n  function validateStep2() {\r\n    var er = $('#ed-s2-err');\r\n    if (planValid()) { er.hidden = true; return true; }\r\n    er.hidden = false;\r\n    er.textContent = cAge === null ? 'Go back and enter your child\\u2019s date of birth first.' : 'Choose an age between 18 and 30 that is later than your child\\u2019s current age (' + cAge + ').';\r\n    return false;\r\n  }\r\n\r\n  \/* ---------- WhatsApp ---------- *\/\r\n  function waMessage(phone) {\r\n    var r = R, F = FUNDS[S.fund], L = [];\r\n    L.push('Hello! I\\u2019m interested in an Education Plan for my child:', '');\r\n    L.push('Parent Name: ' + S.pName.trim() + (S.pGender ? ' (' + S.pGender + ')' : ''));\r\n    if (phone) L.push('Phone: +92 ' + phone);\r\n    L.push('Child Name: ' + S.cName.trim() + (S.cGender ? ' (' + S.cGender + ')' : ''), 'Child\\u2019s Current Age: ' + cAge, 'Education Age: ' + eduAge());\r\n    L.push('', 'Education Details:', '- Current Education Cost: ' + fmtPKR(S.cost), '- Future Education Cost: ' + fmtPKR(r.futureCost), '- Target Fund Required: ' + fmtPKR(S.target),\r\n      '- Monthly Contribution: ' + fmtPKR(S.monthly), '- Premium Indexation: ' + (S.index ? 'Yes (5%)' : 'No'), '- Adhoc Premium: ' + (r.adhoc > 0 ? fmtPKR(r.adhoc) : 'None'), '- Investment Strategy: ' + F.name);\r\n    L.push('', 'Calculated Values:', '- Education Corpus: ' + fmtPKR(r.corpus), '- ' + (r.shortfall >= 0 ? 'Surplus' : 'Shortfall') + ': ' + fmtPKR(Math.abs(r.shortfall)),\r\n      '- Total Contributions: ' + fmtPKR(r.totalContrib), '- Monthly Contribution Required For Target: ' + fmtFull(r.required));\r\n    L.push('', 'Please contact me with more details.');\r\n    return L.join('\\n');\r\n  }\r\n  function sendWhatsApp() {\r\n    var phoneEl = $('#ed-phone'), phone = normPhone(phoneEl.value), bad = phone !== '' && !\/^3\\d{9}$\/.test(phone);\r\n    setErr('ed-phone', bad, phoneEl);\r\n    if (bad) { phoneEl.focus(); return; }\r\n    phoneEl.value = phone; S.phone = phone;\r\n    var url = 'https:\/\/wa.me\/' + WA_NUMBER + '?text=' + encodeURIComponent(waMessage(phone));\r\n    var w = window.open(url, '_blank');\r\n    if (w) { try { w.opener = null; } catch (e) {} }\r\n    $('#ed-wa-link').href = url;\r\n    openModal();\r\n  }\r\n  var modal = $('#ed-modal'), lastFocus = null;\r\n  function openModal() { lastFocus = document.activeElement; modal.hidden = false; $('#ed-wa-link').focus(); }\r\n  function closeModal() { modal.hidden = true; if (lastFocus && lastFocus.focus) lastFocus.focus(); }\r\n\r\n  \/* ---------- events ---------- *\/\r\n  function clampMoney(key, v) { var L = lim(key); return Math.max(L.min, Math.min(L.max, v)); }\r\n  function setMoney(key, v) { S[key] = v; $('#ed-' + key).value = v.toLocaleString('en-US'); recalc(); }\r\n\r\n  root.addEventListener('click', function (e) {\r\n    if (e.target === modal) { closeModal(); return; }\r\n    var b = e.target.closest('[data-act]');\r\n    if (!b) return;\r\n    var act = b.getAttribute('data-act');\r\n    if (act === 'next') {\r\n      if (S.step === 1) { if (validateStep1()) forward(2); }\r\n      else if (S.step === 2) { if (validateStep2()) forward(3); }\r\n      else if (S.step === 3) {\r\n        var er = $('#ed-s3-err');\r\n        if (!planValid()) { er.hidden = false; er.textContent = 'Go back to step 2 and choose an education age later than your child\\u2019s current age.'; return; }\r\n        er.hidden = true; forward(4);\r\n      } else sendWhatsApp();\r\n    } else if (act === 'back') goBack();\r\n    else if (act === 'use-c') { if (R) setMoney('target', clampMoney('target', Math.round(R.futureCost \/ 100000) * 100000)); }\r\n    else if (act === 'use-m') { if (R) setMoney('monthly', clampMoney('monthly', Math.ceil(R.required \/ 1000) * 1000)); }\r\n    else if (act === 'close') closeModal();\r\n  });\r\n  root.addEventListener('change', function (e) {\r\n    var el = e.target, f = el.getAttribute('data-f');\r\n    if (el.getAttribute('data-s')) { chartVis[el.getAttribute('data-s')] = el.checked; renderChart(); return; }\r\n    if (!f) return;\r\n    if (f === 'pGender' || f === 'cGender' || f === 'prof' || f === 'eduSel' || f === 'fund') S[f] = el.value;\r\n    else if (f === 'infl') S.infl = Number(el.value);\r\n    else if (f === 'index' || f === 'adhocOn') S[f] = el.checked;\r\n    else if (f === 'pDob' || f === 'cDob') { S[f] = el.value; }\r\n    else return;\r\n    recalc();\r\n  });\r\n  root.addEventListener('input', function (e) {\r\n    var el = e.target, f = el.getAttribute('data-f'), key = el.getAttribute('data-m'), rk = el.getAttribute('data-r');\r\n    if (key) {\r\n      var v = parseInt(String(el.value).replace(\/[^\\d]\/g, ''), 10);\r\n      if (isNaN(v)) v = 0;\r\n      v = Math.min(lim(key).max, v);\r\n      S[key] = v;\r\n      var r = $('#ed-' + key + '-r'); r.value = v; sliderFill(r);\r\n      if (v >= lim(key).max) el.value = v.toLocaleString('en-US');\r\n      recalc();\r\n    } else if (rk) {\r\n      S[rk] = Number(el.value); sliderFill(el);\r\n      $('#ed-' + rk).value = S[rk].toLocaleString('en-US');\r\n      recalc();\r\n    } else if (f === 'pName' || f === 'cName') {\r\n      S[f] = el.value; if (el.getAttribute('aria-invalid') === 'true') setErr(el.id, false, el);\r\n      if (f === 'cName') updateBar();\r\n    } else if (f === 'pDob' || f === 'cDob') {\r\n      S[f] = el.value; if (el.getAttribute('aria-invalid') === 'true') setErr(el.id, false, el);\r\n      recalc();\r\n    } else if (f === 'eduCustom') {\r\n      S.eduCustom = el.value === '' ? NaN : Number(el.value); recalc();\r\n    } else if (f === 'phone') {\r\n      if (el.getAttribute('aria-invalid') === 'true') setErr('ed-phone', false, el);\r\n    }\r\n  });\r\n  root.addEventListener('pointerdown', function (e) { var r = e.target.closest && e.target.closest('.hj-range'); if (r) bubble(r, true); });\r\n  root.addEventListener('focusin', function (e) { if (e.target.classList && e.target.classList.contains('hj-range')) bubble(e.target, true); });\r\n  document.addEventListener('pointerup', function () {\r\n    $$('.ed-rw.is-drag').forEach(function (w) { setTimeout(function () { w.classList.remove('is-drag'); }, 700); });\r\n  });\r\n  root.addEventListener('focusout', function (e) {\r\n    var el = e.target, key = el.getAttribute('data-m');\r\n    if (el.classList && el.classList.contains('hj-range')) bubble(el, false);\r\n    if (key) {\r\n      var L = lim(key), v = Math.max(L.min, Math.min(L.max, S[key]));\r\n      S[key] = v; el.value = v.toLocaleString('en-US');\r\n      var r = $('#ed-' + key + '-r'); r.value = v; sliderFill(r);\r\n      recalc();\r\n    } else if (el.getAttribute('data-f') === 'phone') {\r\n      var p = normPhone(el.value); el.value = p; S.phone = p;\r\n      setErr('ed-phone', p !== '' && !\/^3\\d{9}$\/.test(p), el);\r\n    }\r\n  });\r\n  root.addEventListener('keydown', function (e) {\r\n    var el = e.target;\r\n    if (!modal.hidden) {\r\n      if (e.key === 'Escape') { closeModal(); return; }\r\n      if (e.key === 'Tab') { var f = [$('#ed-wa-link'), $('#ed-modal-close')], i = f.indexOf(document.activeElement); e.preventDefault(); f[(i + 1) % 2].focus(); }\r\n      return;\r\n    }\r\n    if (e.key === 'Enter' && el.tagName === 'INPUT' && (el.type === 'text' || el.type === 'tel' || el.type === 'number' || el.type === 'date')) {\r\n      e.preventDefault();\r\n      if (el.getAttribute('data-m')) { el.blur(); return; }\r\n      nextBtn.click();\r\n    }\r\n  });\r\n\r\n  \/\/ Logo: fall back to the built-in copy if the site image cannot load\r\n  (function () {\r\n    var logo = $('.iw-logo');\r\n    function useFallback() { if (!logo.getAttribute('data-fb')) { logo.setAttribute('data-fb', '1'); logo.src = LOGO_FALLBACK; } }\r\n    logo.addEventListener('error', useFallback);\r\n    if (logo.complete && logo.naturalWidth === 0) useFallback();\r\n  })();\r\n\r\n  \/\/ Scroll effects: header parallax, and the bottom bar slims down while scrolling down\r\n  var headEl = $('.iw-head'), lastY = window.pageYOffset || 0, ticking = false;\r\n  function onScroll() {\r\n    var y = window.pageYOffset || 0, dy = y - lastY;\r\n    if (Math.abs(dy) > 8) { barEl.classList.toggle('is-compact', dy > 0 && y > 160); lastY = y; }\r\n    var r = card.getBoundingClientRect();\r\n    headEl.style.setProperty('--py', Math.max(-60, Math.min(60, -r.top * 0.14)).toFixed(1));\r\n    ticking = false;\r\n  }\r\n  if (ANIM) window.addEventListener('scroll', function () { if (!ticking) { ticking = true; requestAnimationFrame(onScroll); } }, { passive: true });\r\n\r\n  $$('.hj-range').forEach(sliderFill);\r\n  recalc(); show();\r\n  requestAnimationFrame(function () { root.classList.add('ed-ready'); });\r\n})();\r\n<\/script>\r\n<\/div>\r\n<!-- ================= END INSURANCE WALA CHILD EDUCATION CALCULATOR ================= -->\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Child education calculator Secure your child&rsquo;s future with a clear education savings plan. Step 1 of 4 Child&rsquo;s age &ndash; Back Continue One last step WhatsApp is opening with your education plan filled in. Tap Send in WhatsApp so it reaches us. Our specialist will reply with your personalised education options. Open WhatsApp again Done<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"rs_blank_template":"","rs_page_bg_color":"","slide_template_v7":"","footnotes":""},"class_list":["post-4896","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.5 (Yoast SEO v28.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Child Education Plan Calculator Pakistan | Insurance Wala<\/title>\n<meta name=\"description\" content=\"Free child education plan calculator for Pakistan. Estimate future fees and the yearly savings you need, then get a free WhatsApp plan review.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/insurancewala.pk\/?page_id=4896\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Child Education Plan Calculator Pakistan | Insurance Wala\" \/>\n<meta property=\"og:description\" content=\"Free child education plan calculator for Pakistan. Estimate future fees and the yearly savings you need, then get a free WhatsApp plan review.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/insurancewala.pk\/?page_id=4896\" \/>\n<meta property=\"og:site_name\" content=\"Insurance Wala\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/share\/1ZDzV3aBDp\/?mibextid=wwXIfr\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-20T19:45:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/insurancewala.pk\/wp-content\/uploads\/2025\/10\/logo-green-500-x-500-px.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Child Education Plan Calculator Pakistan | Insurance Wala\" \/>\n<meta name=\"twitter:description\" content=\"Estimate future education fees and the yearly savings you need. Free calculator with a WhatsApp plan review.\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/insurancewala.pk\\\/?page_id=4896\",\"url\":\"https:\\\/\\\/insurancewala.pk\\\/?page_id=4896\",\"name\":\"Child Education Plan Calculator Pakistan | Insurance Wala\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/insurancewala.pk\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/insurancewala.pk\\\/?page_id=4896#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/insurancewala.pk\\\/?page_id=4896#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/insurancewala.pk\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/logo-green-500-x-500-px.png\",\"datePublished\":\"2025-11-09T23:44:37+00:00\",\"dateModified\":\"2026-10-20T19:45:31+00:00\",\"description\":\"Free child education plan calculator for Pakistan. Estimate future fees and the yearly savings you need, then get a free WhatsApp plan review.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/insurancewala.pk\\\/?page_id=4896#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/insurancewala.pk\\\/?page_id=4896\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/insurancewala.pk\\\/?page_id=4896#primaryimage\",\"url\":\"https:\\\/\\\/insurancewala.pk\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/logo-green-500-x-500-px.png\",\"contentUrl\":\"https:\\\/\\\/insurancewala.pk\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/logo-green-500-x-500-px.png\",\"width\":500,\"height\":500,\"caption\":\"Smart Insurance for Tomorrow\u2019s Families\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/insurancewala.pk\\\/?page_id=4896#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/insurancewala.pk\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Child Education Calculator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/insurancewala.pk\\\/#website\",\"url\":\"https:\\\/\\\/insurancewala.pk\\\/\",\"name\":\"InsuranceWala.pk\",\"description\":\"Smart Insurance for Tomorrow\u2019s Families\",\"publisher\":{\"@id\":\"https:\\\/\\\/insurancewala.pk\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/insurancewala.pk\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/insurancewala.pk\\\/#organization\",\"name\":\"Insurance Wala\",\"url\":\"https:\\\/\\\/insurancewala.pk\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/insurancewala.pk\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/insurancewala.pk\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/cropped-logo-Green-800-x-500-px.png\",\"contentUrl\":\"https:\\\/\\\/insurancewala.pk\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/cropped-logo-Green-800-x-500-px.png\",\"width\":500,\"height\":368,\"caption\":\"Insurance Wala\"},\"image\":{\"@id\":\"https:\\\/\\\/insurancewala.pk\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/share\\\/1ZDzV3aBDp\\\/?mibextid=wwXIfr\",\"https:\\\/\\\/www.instagram.com\\\/insurance_walay.pk?igsh=MTRicGd3NjJndmJoMg&utm_source=qr\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/insurancewalay\\\/\"],\"email\":\"admin@insurancewala.pk\",\"telephone\":\"+92 3223579770\",\"foundingDate\":\"2020-09-04\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"1\",\"maxValue\":\"10\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Child Education Plan Calculator Pakistan | Insurance Wala","description":"Free child education plan calculator for Pakistan. Estimate future fees and the yearly savings you need, then get a free WhatsApp plan review.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/insurancewala.pk\/?page_id=4896","og_locale":"en_US","og_type":"article","og_title":"Child Education Plan Calculator Pakistan | Insurance Wala","og_description":"Free child education plan calculator for Pakistan. Estimate future fees and the yearly savings you need, then get a free WhatsApp plan review.","og_url":"https:\/\/insurancewala.pk\/?page_id=4896","og_site_name":"Insurance Wala","article_publisher":"https:\/\/www.facebook.com\/share\/1ZDzV3aBDp\/?mibextid=wwXIfr","article_modified_time":"2026-10-20T19:45:31+00:00","og_image":[{"url":"https:\/\/insurancewala.pk\/wp-content\/uploads\/2025\/10\/logo-green-500-x-500-px.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_title":"Child Education Plan Calculator Pakistan | Insurance Wala","twitter_description":"Estimate future education fees and the yearly savings you need. Free calculator with a WhatsApp plan review.","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/insurancewala.pk\/?page_id=4896","url":"https:\/\/insurancewala.pk\/?page_id=4896","name":"Child Education Plan Calculator Pakistan | Insurance Wala","isPartOf":{"@id":"https:\/\/insurancewala.pk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/insurancewala.pk\/?page_id=4896#primaryimage"},"image":{"@id":"https:\/\/insurancewala.pk\/?page_id=4896#primaryimage"},"thumbnailUrl":"https:\/\/insurancewala.pk\/wp-content\/uploads\/2025\/10\/logo-green-500-x-500-px.png","datePublished":"2025-11-09T23:44:37+00:00","dateModified":"2026-10-20T19:45:31+00:00","description":"Free child education plan calculator for Pakistan. Estimate future fees and the yearly savings you need, then get a free WhatsApp plan review.","breadcrumb":{"@id":"https:\/\/insurancewala.pk\/?page_id=4896#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/insurancewala.pk\/?page_id=4896"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/insurancewala.pk\/?page_id=4896#primaryimage","url":"https:\/\/insurancewala.pk\/wp-content\/uploads\/2025\/10\/logo-green-500-x-500-px.png","contentUrl":"https:\/\/insurancewala.pk\/wp-content\/uploads\/2025\/10\/logo-green-500-x-500-px.png","width":500,"height":500,"caption":"Smart Insurance for Tomorrow\u2019s Families"},{"@type":"BreadcrumbList","@id":"https:\/\/insurancewala.pk\/?page_id=4896#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/insurancewala.pk\/"},{"@type":"ListItem","position":2,"name":"Child Education Calculator"}]},{"@type":"WebSite","@id":"https:\/\/insurancewala.pk\/#website","url":"https:\/\/insurancewala.pk\/","name":"InsuranceWala.pk","description":"Smart Insurance for Tomorrow\u2019s Families","publisher":{"@id":"https:\/\/insurancewala.pk\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/insurancewala.pk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/insurancewala.pk\/#organization","name":"Insurance Wala","url":"https:\/\/insurancewala.pk\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/insurancewala.pk\/#\/schema\/logo\/image\/","url":"https:\/\/insurancewala.pk\/wp-content\/uploads\/2025\/10\/cropped-logo-Green-800-x-500-px.png","contentUrl":"https:\/\/insurancewala.pk\/wp-content\/uploads\/2025\/10\/cropped-logo-Green-800-x-500-px.png","width":500,"height":368,"caption":"Insurance Wala"},"image":{"@id":"https:\/\/insurancewala.pk\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/share\/1ZDzV3aBDp\/?mibextid=wwXIfr","https:\/\/www.instagram.com\/insurance_walay.pk?igsh=MTRicGd3NjJndmJoMg&utm_source=qr","https:\/\/www.linkedin.com\/company\/insurancewalay\/"],"email":"admin@insurancewala.pk","telephone":"+92 3223579770","foundingDate":"2020-09-04","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"1","maxValue":"10"}}]}},"_links":{"self":[{"href":"https:\/\/insurancewala.pk\/index.php?rest_route=\/wp\/v2\/pages\/4896","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/insurancewala.pk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/insurancewala.pk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/insurancewala.pk\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/insurancewala.pk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4896"}],"version-history":[{"count":10,"href":"https:\/\/insurancewala.pk\/index.php?rest_route=\/wp\/v2\/pages\/4896\/revisions"}],"predecessor-version":[{"id":5863,"href":"https:\/\/insurancewala.pk\/index.php?rest_route=\/wp\/v2\/pages\/4896\/revisions\/5863"}],"wp:attachment":[{"href":"https:\/\/insurancewala.pk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}