Create a presentation on DEMONETISATION from the given information below illustrating some necessary graphs, pictures and keep the slides in pastel color and the text with dark colors like indigo, dark green and cherry colour, don't forget to highlight important pointsDEMONETISATION Definition:** **Demonetisation** is the act of stripping a currency unit of its status as legal tender. It occurs when a government decides to replace old currency notes with a new currency or completely transition to a cashless system. * **The Big Announcement:** At 8:14 PM IST on November 8, 2016, Prime Minister Narendra Modi announced that all ₹500 and ₹1,000 banknotes of the Mahatma Gandhi Series were being demonetised. ## 2. Core Objectives: Why Was It Done? The government introduced this massive economic shock therapy with four primary pillars of intent: * **Combating Black Money:** To flush out undeclared income hidden in cash hoards. The idea was simple: force people holding illicit cash to either deposit it in banks (and face taxes/penalties) or let it turn into worthless paper. * **Targeting Fake Indian Currency Notes (FICN):** High-denomination fake notes were being used to destabilise the economy. Demonetisation instantly destroyed the network of counterfeit currency. * **Choking Terror Funding:** Counterfeit and black money were actively used to fund cross-border terrorism and domestic insurgencies. Invalidating these notes temporarily paralyzed these operations. * **Formalizing the Economy:** Transitioning India from a heavy cash-dependent economy into a digital, transparent, and trackable banking ecosystem. ## 3. The Immediate Impact & Challenges No policy of this scale comes without immediate friction. The weeks following the announcement saw unprecedented logistical and social challenges. * **The Liquidity Crunch:** Since ₹500 and ₹1,000 notes made up **86% of the total currency in circulation**, their sudden removal caused a severe cash shortage. * **Logistical Nightmare:** Banks and ATMs were overwhelmed. ATMs had to be physically "re-calibrated" to fit the new, differently-sized ₹500 and ₹2,000 notes. * **Impact on the Informal Sector:** Sectors heavily reliant on daily cash transactions—like agriculture, small-scale retail, and daily-wage labor—faced a temporary standstill. ## 4. The Long-Term Benefits and Successes While the short-term pain was undeniable, demonetisation acted as a catalyst for structural changes in the Indian economy. * **The Digital Revolution (The UPI Boom):** This is arguably the most visible success. Demonetisation forced millions to try digital wallets and mobile banking. It laid the foundation for the massive explosion of the **Unified Payments Interface (UPI)**, making India a global leader in digital transactions. * **Widening the Tax Base:** Because people were forced to deposit cash into bank accounts, millions of previously hidden accounts were brought into the formal banking system. This resulted in a sharp increase in individual income tax returns filed. * **Formalisation of Business:** It nudged small businesses to register for GST, open bank accounts, and move away from under-the-table cash dealings. * **Reduced Interest Rates:** Banks were suddenly flooded with massive deposits. This increased liquidity allowed banks to slash lending rates, making home and corporate loans cheaper. ## 5. Critical Analysis: The Controversies To present a balanced seminar, it is crucial to address the critiques raised by economists. * **The 99.3% Paradox:** According to the Reserve Bank of India (RBI) annual report, **99.3% of the demonetised notes were deposited back into the banking system**. Critics argued that this meant the "black money holders" managed to launder their cash into legitimate bank accounts rather than destroying it. * **GDP Slowdown:** The sudden shock to the informal sector resulted in a temporary dip in India's GDP growth rate by roughly 1% to 1.5% in the subsequent quarters. * **The Shift in Black Money:** Economists pointed out that wealthy tax evaders rarely keep their wealth in cash; instead, it is usually invested in real estate, gold, or foreign shell companies—sectors demonetisation couldn't instantly fix. ## 6. Conclusion Demonetisation was an economic experiment of an unprecedented scale. While its success in completely eradicating black money remains highly debated, its role as an **economic modernizer** is indisputable. * **Final Thought:** It acted as a harsh but effective bitter pill that permanently shifted India’s economic trajectory—transforming it from a deeply cash-addicted society into a digital-first, increasingly formalized economy. THANK YOU > NOTE: Keep a slide dedicated to a graph showing the growth of UPI transactions from 2016 to the present day—it perfectly illustrates the long-term structural shift caused by the policy! >

Reading File
Searching the Web

UPI transactions growth data 2016 to 2025 2026 volume value statistics

Reading File
Running Command

ls /home/daytona/workspace/ 2>/dev/null || echo "workspace is empty"

Writing File

~/demonetisation-ppt/demonetisation.js

const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Demonetisation";
pres.author = "Orris";

// ─── PALETTE ───────────────────────────────────────────────────────────────
const C = {
  // Pastel backgrounds
  lavender:   "EDE7F6",
  mint:       "E8F5E9",
  peach:      "FFF3E0",
  blush:      "FCE4EC",
  sky:        "E3F2FD",
  cream:      "FFFDE7",
  lilac:      "F3E5F5",
  sage:       "F1F8E9",

  // Dark text accents
  indigo:     "283593",
  darkGreen:  "1B5E20",
  cherry:     "880E4F",
  deepIndigo: "1A237E",
  midIndigo:  "3949AB",
  highlight:  "FFD54F",   // golden amber — highlight boxes
  highlightBg:"FFF8E1",
  white:      "FFFFFF",
  nearBlack:  "212121",
  darkSlate:  "37474F",
};

// ─── HELPER: accent bar at top ─────────────────────────────────────────────
function topBar(slide, color) {
  slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.07, fill: { color } });
}
function bottomBar(slide, color) {
  slide.addShape(pres.ShapeType.rect, { x: 0, y: 5.555, w: "100%", h: 0.07, fill: { color } });
}
function sectionTag(slide, label, x, y, bgColor, textColor) {
  slide.addShape(pres.ShapeType.roundRect, { x, y, w: 2.2, h: 0.32, fill: { color: bgColor }, line: { color: bgColor }, rectRadius: 0.08 });
  slide.addText(label, { x, y: y + 0.02, w: 2.2, h: 0.28, fontSize: 9, bold: true, color: textColor, align: "center", fontFace: "Calibri" });
}

// ══════════════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE
// ══════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  // Dual-tone background: left dark, right pastel
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 4.5, h: 5.625, fill: { color: C.deepIndigo } });
  s.addShape(pres.ShapeType.rect, { x: 4.5, y: 0, w: 5.5, h: 5.625, fill: { color: C.lavender } });

  // Left side — main title
  s.addText("DEMO-\nNETISATION", {
    x: 0.3, y: 1.1, w: 3.9, h: 2.8,
    fontSize: 46, bold: true, color: C.white,
    fontFace: "Calibri", align: "left", valign: "middle",
    lineSpacingMultiple: 1.1,
  });
  s.addShape(pres.ShapeType.rect, { x: 0.3, y: 3.85, w: 2.0, h: 0.05, fill: { color: C.highlight } });
  s.addText("India's Landmark Economic Policy", {
    x: 0.3, y: 3.95, w: 3.9, h: 0.45,
    fontSize: 12, color: "C5CAE9", fontFace: "Calibri", italic: true,
  });
  s.addText("November 8, 2016", {
    x: 0.3, y: 4.55, w: 3.9, h: 0.4,
    fontSize: 13, bold: true, color: C.highlight, fontFace: "Calibri",
  });

  // Right side — key facts boxes
  const facts = [
    { val: "₹500 & ₹1,000", lbl: "Notes Demonetised" },
    { val: "86%",            lbl: "Currency in Circulation" },
    { val: "8:14 PM IST",   lbl: "Historic Announcement" },
  ];
  facts.forEach((f, i) => {
    const by = 1.0 + i * 1.4;
    s.addShape(pres.ShapeType.roundRect, { x: 4.85, y: by, w: 4.6, h: 1.1,
      fill: { color: C.white }, line: { color: "B39DDB", pt: 1.5 }, rectRadius: 0.12 });
    s.addText(f.val, { x: 4.85, y: by + 0.1, w: 4.6, h: 0.5,
      fontSize: 22, bold: true, color: C.cherry, align: "center", fontFace: "Calibri" });
    s.addText(f.lbl, { x: 4.85, y: by + 0.58, w: 4.6, h: 0.35,
      fontSize: 11, color: C.indigo, align: "center", fontFace: "Calibri" });
  });

  // Bottom strip
  s.addShape(pres.ShapeType.rect, { x: 0, y: 5.45, w: "100%", h: 0.175, fill: { color: C.cherry } });
  s.addText("A Seminar Presentation", { x: 0, y: 5.455, w: "100%", h: 0.165,
    fontSize: 9, color: C.white, align: "center", bold: true, fontFace: "Calibri" });
}

// ══════════════════════════════════════════════════════════════════════
// SLIDE 2 — DEFINITION & ANNOUNCEMENT
// ══════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 5.625, fill: { color: C.lavender } });
  topBar(s, C.indigo);
  bottomBar(s, C.cherry);

  sectionTag(s, "DEFINITION", 0.3, 0.12, C.indigo, C.white);

  s.addText("What Is Demonetisation?", {
    x: 0.3, y: 0.5, w: 9.4, h: 0.6,
    fontSize: 28, bold: true, color: C.deepIndigo, fontFace: "Calibri",
  });

  // Definition box
  s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.15, w: 5.8, h: 1.5,
    fill: { color: C.white }, line: { color: "9FA8DA", pt: 1.5 }, rectRadius: 0.14 });
  s.addText([
    { text: "Demonetisation", options: { bold: true, color: C.cherry } },
    { text: " is the act of ", options: { color: C.darkSlate } },
    { text: "stripping a currency unit of its status as legal tender.", options: { bold: true, color: C.indigo } },
    { text: " It occurs when a government replaces old currency notes with a new currency or transitions to a cashless system.", options: { color: C.darkSlate } },
  ], { x: 0.45, y: 1.22, w: 5.55, h: 1.35, fontSize: 12.5, fontFace: "Calibri", valign: "middle" });

  // Announcement highlight
  s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 2.8, w: 5.8, h: 1.6,
    fill: { color: "FCE4EC" }, line: { color: C.cherry, pt: 2 }, rectRadius: 0.14 });
  s.addText("🔔  The Big Announcement", {
    x: 0.45, y: 2.88, w: 5.5, h: 0.38,
    fontSize: 13, bold: true, color: C.cherry, fontFace: "Calibri",
  });
  s.addText([
    { text: "At ", options: { color: C.darkSlate } },
    { text: "8:14 PM IST, November 8, 2016,", options: { bold: true, color: C.cherry } },
    { text: " PM Narendra Modi announced that all ", options: { color: C.darkSlate } },
    { text: "₹500 and ₹1,000 banknotes", options: { bold: true, color: C.indigo } },
    { text: " of the Mahatma Gandhi Series were immediately demonetised.", options: { color: C.darkSlate } },
  ], { x: 0.45, y: 3.28, w: 5.55, h: 1.0, fontSize: 12, fontFace: "Calibri" });

  // Right — timeline graphic
  const tl = [
    { yr: "Pre-2016", txt: "Heavy cash economy", col: C.indigo },
    { yr: "Nov 8, 2016", txt: "Historic announcement", col: C.cherry },
    { yr: "Dec 2016", txt: "New notes introduced", col: C.darkGreen },
    { yr: "2017+", txt: "Digital transition begins", col: C.midIndigo },
  ];
  s.addText("Timeline", { x: 6.4, y: 0.5, w: 3.2, h: 0.4, fontSize: 16, bold: true, color: C.deepIndigo, fontFace: "Calibri" });
  tl.forEach((t, i) => {
    const ty = 1.0 + i * 1.0;
    s.addShape(pres.ShapeType.ellipse, { x: 6.4, y: ty + 0.05, w: 0.3, h: 0.3, fill: { color: t.col }, line: { color: t.col } });
    if (i < tl.length - 1) {
      s.addShape(pres.ShapeType.rect, { x: 6.53, y: ty + 0.35, w: 0.04, h: 0.68, fill: { color: "BDBDBD" } });
    }
    s.addText(t.yr, { x: 6.8, y: ty + 0.02, w: 2.8, h: 0.25, fontSize: 11, bold: true, color: t.col, fontFace: "Calibri" });
    s.addText(t.txt, { x: 6.8, y: ty + 0.27, w: 2.8, h: 0.25, fontSize: 10, color: C.darkSlate, fontFace: "Calibri" });
  });
}

// ══════════════════════════════════════════════════════════════════════
// SLIDE 3 — CORE OBJECTIVES
// ══════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 5.625, fill: { color: C.mint } });
  topBar(s, C.darkGreen);
  bottomBar(s, C.indigo);

  sectionTag(s, "CORE OBJECTIVES", 0.3, 0.12, C.darkGreen, C.white);
  s.addText("Why Was It Done?", {
    x: 0.3, y: 0.5, w: 9.4, h: 0.55,
    fontSize: 28, bold: true, color: C.darkGreen, fontFace: "Calibri",
  });

  const obj = [
    {
      icon: "💰", title: "Combat Black Money",
      body: "Force holders of illicit cash to deposit it in banks — facing taxes & penalties — or watch it become worthless paper.",
      col: C.cherry, bg: "FCE4EC",
    },
    {
      icon: "🚫", title: "Eliminate Fake Currency (FICN)",
      body: "High-denomination counterfeit notes were destabilising the economy. Demonetisation instantly destroyed the forgery network.",
      col: C.darkGreen, bg: "E8F5E9",
    },
    {
      icon: "🔒", title: "Choke Terror Funding",
      body: "Counterfeit & black money funded cross-border terrorism. Invalidating notes temporarily paralysed these operations.",
      col: C.indigo, bg: "EDE7F6",
    },
    {
      icon: "📲", title: "Formalise the Economy",
      body: "Transition India from a cash-dependent economy to a digital, transparent, trackable banking ecosystem.",
      col: C.darkGreen, bg: "E8F5E9",
    },
  ];

  const cols = [0.3, 5.1];
  const rows = [1.2, 3.1];
  obj.forEach((o, i) => {
    const bx = cols[i % 2];
    const by = rows[Math.floor(i / 2)];
    s.addShape(pres.ShapeType.roundRect, { x: bx, y: by, w: 4.6, h: 1.75,
      fill: { color: o.bg }, line: { color: o.col, pt: 1.5 }, rectRadius: 0.14 });
    s.addText(o.icon + "  " + o.title, {
      x: bx + 0.2, y: by + 0.12, w: 4.2, h: 0.4,
      fontSize: 13, bold: true, color: o.col, fontFace: "Calibri",
    });
    s.addShape(pres.ShapeType.rect, { x: bx + 0.2, y: by + 0.52, w: 3.5, h: 0.04, fill: { color: o.col } });
    s.addText(o.body, {
      x: bx + 0.2, y: by + 0.62, w: 4.2, h: 1.0,
      fontSize: 11, color: C.darkSlate, fontFace: "Calibri",
    });
  });
}

// ══════════════════════════════════════════════════════════════════════
// SLIDE 4 — IMMEDIATE IMPACT & CHALLENGES
// ══════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 5.625, fill: { color: C.blush } });
  topBar(s, C.cherry);
  bottomBar(s, C.darkGreen);

  sectionTag(s, "IMMEDIATE IMPACT", 0.3, 0.12, C.cherry, C.white);
  s.addText("The Shock & Challenges", {
    x: 0.3, y: 0.5, w: 9.4, h: 0.55,
    fontSize: 28, bold: true, color: C.cherry, fontFace: "Calibri",
  });

  // Big stat
  s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.15, w: 2.5, h: 2.5,
    fill: { color: C.cherry }, line: { color: C.cherry }, rectRadius: 0.18 });
  s.addText("86%", { x: 0.3, y: 1.55, w: 2.5, h: 1.0,
    fontSize: 52, bold: true, color: C.white, align: "center", fontFace: "Calibri" });
  s.addText("of total currency\nin circulation\nwas demonetised", { x: 0.3, y: 2.5, w: 2.5, h: 0.9,
    fontSize: 11, color: "FCE4EC", align: "center", fontFace: "Calibri", italic: true });

  // Challenges list
  const challenges = [
    { icon: "💸", head: "Severe Liquidity Crunch", body: "₹500 & ₹1,000 notes made up 86% of all cash. Their sudden removal triggered a nationwide cash shortage." },
    { icon: "🏧", head: "ATM Recalibration Nightmare", body: "Banks and ATMs were overwhelmed. Every ATM had to be physically re-calibrated to fit the new differently-sized notes." },
    { icon: "🌾", head: "Informal Sector Standstill", body: "Agriculture, small-scale retail, and daily-wage labour — all heavily cash-reliant — came to a near standstill." },
  ];
  challenges.forEach((c, i) => {
    const cy = 1.15 + i * 1.35;
    s.addShape(pres.ShapeType.roundRect, { x: 3.1, y: cy, w: 6.6, h: 1.2,
      fill: { color: C.white }, line: { color: "EF9A9A", pt: 1.5 }, rectRadius: 0.12 });
    s.addText(c.icon + "  " + c.head, {
      x: 3.3, y: cy + 0.1, w: 6.2, h: 0.35,
      fontSize: 12.5, bold: true, color: C.cherry, fontFace: "Calibri",
    });
    s.addText(c.body, {
      x: 3.3, y: cy + 0.48, w: 6.2, h: 0.62,
      fontSize: 11, color: C.darkSlate, fontFace: "Calibri",
    });
  });

  // Highlight strip
  s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 5.0, w: 9.4, h: 0.42,
    fill: { color: "FFCDD2" }, line: { color: C.cherry, pt: 1 }, rectRadius: 0.08 });
  s.addText("⚡  The weeks following Nov 8 saw unprecedented queues at banks, ATM cash-outs, and disruption to daily life across India.", {
    x: 0.4, y: 5.02, w: 9.2, h: 0.38,
    fontSize: 10.5, color: C.cherry, fontFace: "Calibri", italic: true, align: "center",
  });
}

// ══════════════════════════════════════════════════════════════════════
// SLIDE 5 — CURRENCY IN CIRCULATION PIE-LIKE BAR INFOGRAPHIC
// ══════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 5.625, fill: { color: C.cream } });
  topBar(s, C.indigo);
  bottomBar(s, C.cherry);

  sectionTag(s, "CURRENCY DATA", 0.3, 0.12, C.indigo, C.white);
  s.addText("Currency Composition Before Demonetisation", {
    x: 0.3, y: 0.5, w: 9.4, h: 0.55,
    fontSize: 24, bold: true, color: C.deepIndigo, fontFace: "Calibri",
  });

  // Horizontal stacked bar — visual
  const barY = 1.5, barH = 1.0, barW = 9.0, startX = 0.5;
  // 86% demonetised, 14% others
  s.addShape(pres.ShapeType.rect, { x: startX, y: barY, w: barW * 0.86, h: barH, fill: { color: C.cherry } });
  s.addShape(pres.ShapeType.rect, { x: startX + barW * 0.86, y: barY, w: barW * 0.14, h: barH, fill: { color: C.darkGreen } });

  s.addText("86% — ₹500 & ₹1,000 notes (DEMONETISED)", {
    x: startX + 0.2, y: barY + 0.32, w: barW * 0.82, h: 0.36,
    fontSize: 14, bold: true, color: C.white, fontFace: "Calibri",
  });
  s.addText("14%\nOthers", {
    x: startX + barW * 0.865, y: barY + 0.1, w: barW * 0.13, h: 0.8,
    fontSize: 10, bold: true, color: C.white, align: "center", fontFace: "Calibri",
  });

  // Notes breakdown
  s.addText("Denomination Breakdown", {
    x: 0.3, y: 2.8, w: 9.4, h: 0.4,
    fontSize: 16, bold: true, color: C.deepIndigo, fontFace: "Calibri",
  });
  const notes = [
    { denom: "₹1,000", pct: "38%", col: C.cherry },
    { denom: "₹500",   pct: "48%", col: "E57373" },
    { denom: "₹100",   pct: "7%",  col: C.darkGreen },
    { denom: "Others", pct: "7%",  col: C.indigo },
  ];
  notes.forEach((n, i) => {
    const nx = 0.5 + i * 2.35;
    s.addShape(pres.ShapeType.roundRect, { x: nx, y: 3.25, w: 2.1, h: 1.7,
      fill: { color: n.col }, line: { color: n.col }, rectRadius: 0.14 });
    s.addText(n.denom, { x: nx, y: 3.35, w: 2.1, h: 0.55,
      fontSize: 18, bold: true, color: C.white, align: "center", fontFace: "Calibri" });
    s.addText(n.pct, { x: nx, y: 3.9, w: 2.1, h: 0.7,
      fontSize: 30, bold: true, color: C.white, align: "center", fontFace: "Calibri" });
    s.addText("of circulation", { x: nx, y: 4.6, w: 2.1, h: 0.3,
      fontSize: 9, color: "FAFAFA", align: "center", fontFace: "Calibri", italic: true });
  });
}

// ══════════════════════════════════════════════════════════════════════
// SLIDE 6 — LONG-TERM BENEFITS
// ══════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 5.625, fill: { color: C.sage } });
  topBar(s, C.darkGreen);
  bottomBar(s, C.indigo);

  sectionTag(s, "LONG-TERM BENEFITS", 0.3, 0.12, C.darkGreen, C.white);
  s.addText("Structural Successes", {
    x: 0.3, y: 0.5, w: 9.4, h: 0.55,
    fontSize: 28, bold: true, color: C.darkGreen, fontFace: "Calibri",
  });

  const benefits = [
    {
      num: "01", head: "Digital Revolution — The UPI Boom",
      body: "Demonetisation forced millions to adopt digital wallets & mobile banking. India is now the global leader in real-time digital payments.",
      col: C.indigo, bg: "EDE7F6",
    },
    {
      num: "02", head: "Widening the Tax Base",
      body: "Millions of previously hidden accounts were formalised. A sharp surge in individual income tax returns was recorded post-2016.",
      col: C.darkGreen, bg: "E8F5E9",
    },
    {
      num: "03", head: "Formalisation of Business",
      body: "Small businesses were nudged to register for GST, open bank accounts, and move away from under-the-table cash dealings.",
      col: C.cherry, bg: "FCE4EC",
    },
    {
      num: "04", head: "Reduced Interest Rates",
      body: "Banks flooded with massive deposits lowered lending rates — making home and corporate loans cheaper for millions of Indians.",
      col: C.indigo, bg: "E3F2FD",
    },
  ];

  benefits.forEach((b, i) => {
    const bx = (i % 2) === 0 ? 0.3 : 5.15;
    const by = Math.floor(i / 2) === 0 ? 1.2 : 3.15;
    s.addShape(pres.ShapeType.roundRect, { x: bx, y: by, w: 4.65, h: 1.75,
      fill: { color: b.bg }, line: { color: b.col, pt: 1.5 }, rectRadius: 0.14 });
    // Number badge
    s.addShape(pres.ShapeType.ellipse, { x: bx + 0.15, y: by + 0.15, w: 0.45, h: 0.45,
      fill: { color: b.col }, line: { color: b.col } });
    s.addText(b.num, { x: bx + 0.15, y: by + 0.18, w: 0.45, h: 0.38,
      fontSize: 9, bold: true, color: C.white, align: "center", fontFace: "Calibri" });
    s.addText(b.head, {
      x: bx + 0.7, y: by + 0.1, w: 3.8, h: 0.45,
      fontSize: 12, bold: true, color: b.col, fontFace: "Calibri",
    });
    s.addShape(pres.ShapeType.rect, { x: bx + 0.7, y: by + 0.55, w: 3.3, h: 0.04, fill: { color: b.col } });
    s.addText(b.body, {
      x: bx + 0.7, y: by + 0.65, w: 3.8, h: 1.0,
      fontSize: 10.5, color: C.darkSlate, fontFace: "Calibri",
    });
  });
}

// ══════════════════════════════════════════════════════════════════════
// SLIDE 7 — UPI GROWTH CHART (bar chart)
// ══════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 5.625, fill: { color: C.sky } });
  topBar(s, C.indigo);
  bottomBar(s, C.darkGreen);

  sectionTag(s, "UPI GROWTH", 0.3, 0.12, C.midIndigo, C.white);
  s.addText("UPI Transactions — Volume Growth (FY 2016–17 to FY 2025–26)", {
    x: 0.3, y: 0.5, w: 9.4, h: 0.55,
    fontSize: 20, bold: true, color: C.deepIndigo, fontFace: "Calibri",
  });

  // Data: annual UPI volume in Crore transactions
  const upiData = [
    { yr: "FY17", val: 2 },
    { yr: "FY18", val: 92 },
    { yr: "FY19", val: 535 },
    { yr: "FY20", val: 1252 },
    { yr: "FY21", val: 2234 },
    { yr: "FY22", val: 4597 },
    { yr: "FY23", val: 8376 },
    { yr: "FY24", val: 13116 },
    { yr: "FY25", val: 18579 },
    { yr: "FY26", val: 24162 },
  ];
  const maxVal = 24162;
  const chartTop = 1.25, chartH = 3.2, chartLeft = 0.7, chartRight = 9.7;
  const barAreaW = chartRight - chartLeft;
  const barW = barAreaW / upiData.length * 0.6;
  const gap  = barAreaW / upiData.length;

  // Y-axis line
  s.addShape(pres.ShapeType.rect, { x: chartLeft, y: chartTop, w: 0.025, h: chartH, fill: { color: "90A4AE" } });
  // X-axis line
  s.addShape(pres.ShapeType.rect, { x: chartLeft, y: chartTop + chartH, w: chartRight - chartLeft, h: 0.025, fill: { color: "90A4AE" } });

  // Gridlines + y-labels
  const yTicks = [0, 5000, 10000, 15000, 20000, 25000];
  yTicks.forEach(t => {
    const gy = chartTop + chartH - (t / maxVal) * chartH;
    s.addShape(pres.ShapeType.rect, { x: chartLeft, y: gy, w: chartRight - chartLeft, h: 0.01, fill: { color: "CFD8DC" } });
    s.addText(t === 0 ? "0" : (t / 100).toFixed(0) + "B*", {
      x: chartLeft - 0.65, y: gy - 0.12, w: 0.6, h: 0.24,
      fontSize: 8, color: "78909C", align: "right", fontFace: "Calibri",
    });
  });

  // Bars
  upiData.forEach((d, i) => {
    const bh = (d.val / maxVal) * chartH;
    const bx = chartLeft + i * gap + (gap - barW) / 2;
    const by = chartTop + chartH - bh;
    // gradient-like: use darker indigo for recent years
    const intensity = Math.round(40 + (i / (upiData.length - 1)) * 200);
    const blueHex = intensity.toString(16).padStart(2, "0");
    const barColor = i < 3 ? "90CAF9" : (i < 6 ? "5C6BC0" : C.deepIndigo);
    s.addShape(pres.ShapeType.rect, { x: bx, y: by, w: barW, h: bh, fill: { color: barColor } });

    // Value label on top (only for significant values)
    if (d.val >= 500) {
      s.addText(d.val >= 1000 ? Math.round(d.val / 100) / 10 + "B" : d.val + "Cr", {
        x: bx - 0.1, y: by - 0.28, w: barW + 0.2, h: 0.25,
        fontSize: 7.5, bold: true, color: C.deepIndigo, align: "center", fontFace: "Calibri",
      });
    }
    // X label
    s.addText(d.yr, {
      x: bx - 0.05, y: chartTop + chartH + 0.05, w: barW + 0.1, h: 0.25,
      fontSize: 8.5, color: C.darkSlate, align: "center", fontFace: "Calibri", bold: true,
    });
  });

  // Demonetisation marker
  const demX = chartLeft + 0 * gap + gap / 2 + 0.15;
  s.addShape(pres.ShapeType.rect, { x: demX, y: chartTop, w: 0.025, h: chartH, fill: { color: C.cherry } });
  s.addShape(pres.ShapeType.roundRect, { x: demX - 0.6, y: chartTop - 0.02, w: 1.3, h: 0.38,
    fill: { color: "FCE4EC" }, line: { color: C.cherry, pt: 1 }, rectRadius: 0.06 });
  s.addText("◀ Demonetisation\n   Nov 2016", {
    x: demX - 0.6, y: chartTop - 0.02, w: 1.3, h: 0.38,
    fontSize: 7, bold: true, color: C.cherry, fontFace: "Calibri", align: "center",
  });

  // Footnote
  s.addText("* Y-axis in Billions of transactions  |  Source: NPCI / Ministry of Finance, India  |  FY26: 24,162 Crore transactions — a 12,000× surge from FY17", {
    x: 0.3, y: 4.98, w: 9.4, h: 0.28,
    fontSize: 8, color: "607D8B", italic: true, fontFace: "Calibri",
  });

  // Key stat callouts
  const stats = [
    { v: "12,000×", l: "Volume surge\nFY17 → FY26" },
    { v: "4,000×",  l: "Value surge\nFY17 → FY26" },
    { v: "49%",     l: "Global real-time\npayments share" },
    { v: "703",     l: "Banks live\non UPI (2026)" },
  ];
  // Removed since chart area fills full width — using note strip instead
}

// ══════════════════════════════════════════════════════════════════════
// SLIDE 8 — CRITICAL ANALYSIS / CONTROVERSIES
// ══════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 5.625, fill: { color: C.peach } });
  topBar(s, C.cherry);
  bottomBar(s, C.darkGreen);

  sectionTag(s, "CRITICAL ANALYSIS", 0.3, 0.12, C.cherry, C.white);
  s.addText("The Controversies", {
    x: 0.3, y: 0.5, w: 9.4, h: 0.55,
    fontSize: 28, bold: true, color: C.cherry, fontFace: "Calibri",
  });

  // 99.3% paradox — big highlight
  s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.15, w: 9.4, h: 1.25,
    fill: { color: "FCE4EC" }, line: { color: C.cherry, pt: 2.5 }, rectRadius: 0.16 });
  s.addText("🔴  The 99.3% Paradox", {
    x: 0.5, y: 1.23, w: 9.0, h: 0.38,
    fontSize: 15, bold: true, color: C.cherry, fontFace: "Calibri",
  });
  s.addText([
    { text: "According to the RBI Annual Report, ", options: { color: C.darkSlate } },
    { text: "99.3% of all demonetised notes", options: { bold: true, color: C.cherry } },
    { text: " were deposited back into the banking system — suggesting that black money holders found ways to ", options: { color: C.darkSlate } },
    { text: "launder cash into legitimate accounts", options: { bold: true, color: C.indigo } },
    { text: " rather than being caught.", options: { color: C.darkSlate } },
  ], { x: 0.5, y: 1.62, w: 9.0, h: 0.65, fontSize: 11.5, fontFace: "Calibri" });

  // Two more criticisms
  const crits = [
    {
      head: "📉  GDP Slowdown",
      body: "The sudden shock to the informal sector caused a temporary dip in India's GDP growth by roughly 1%–1.5% in subsequent quarters.",
      col: C.indigo, bg: "EDE7F6",
    },
    {
      head: "🏠  Black Money Stayed Hidden",
      body: "Wealthy tax evaders rarely hold cash. Their wealth lives in real estate, gold, and foreign shell companies — assets demonetisation couldn't instantly fix.",
      col: C.darkGreen, bg: "E8F5E9",
    },
  ];
  crits.forEach((c, i) => {
    const cx = 0.3 + i * 4.85;
    s.addShape(pres.ShapeType.roundRect, { x: cx, y: 2.55, w: 4.6, h: 2.4,
      fill: { color: c.bg }, line: { color: c.col, pt: 1.5 }, rectRadius: 0.14 });
    s.addText(c.head, {
      x: cx + 0.2, y: 2.65, w: 4.2, h: 0.4,
      fontSize: 13, bold: true, color: c.col, fontFace: "Calibri",
    });
    s.addShape(pres.ShapeType.rect, { x: cx + 0.2, y: 3.05, w: 3.5, h: 0.04, fill: { color: c.col } });
    s.addText(c.body, {
      x: cx + 0.2, y: 3.15, w: 4.2, h: 1.65,
      fontSize: 11.5, color: C.darkSlate, fontFace: "Calibri",
    });
  });
}

// ══════════════════════════════════════════════════════════════════════
// SLIDE 9 — CONCLUSION
// ══════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  // Dark background for impact
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 5.625, fill: { color: C.deepIndigo } });
  // Decorative pastel accent
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.08, fill: { color: C.highlight } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 5.545, w: "100%", h: 0.08, fill: { color: C.cherry } });

  // Pastel card
  s.addShape(pres.ShapeType.roundRect, { x: 0.5, y: 0.2, w: 9.0, h: 5.2,
    fill: { color: "1E2D7D" }, line: { color: "3F51B5", pt: 1 }, rectRadius: 0.22 });

  sectionTag(s, "CONCLUSION", 0.8, 0.38, C.highlight, C.deepIndigo);

  s.addText("Demonetisation:\nA Balance Sheet", {
    x: 0.8, y: 0.78, w: 8.4, h: 1.1,
    fontSize: 34, bold: true, color: C.white, fontFace: "Calibri", align: "center",
    lineSpacingMultiple: 1.1,
  });

  s.addShape(pres.ShapeType.rect, { x: 2.5, y: 1.9, w: 5.0, h: 0.06, fill: { color: C.highlight } });

  // Two column verdict
  const verdicts = [
    { head: "✅  What Worked", items: ["Launched the UPI/digital payments revolution", "Widened the formal tax base significantly", "Disrupted terror & fake-currency networks", "Formalised millions of small businesses"], col: "A5D6A7", hcol: "81C784" },
    { head: "⚠️  What Fell Short", items: ["99.3% of notes were deposited back", "Temporary 1–1.5% GDP dip", "Wealthy evaders hid wealth in real estate/gold", "Cash-in-circulation bounced back quickly"], col: "EF9A9A", hcol: "E57373" },
  ];
  verdicts.forEach((v, i) => {
    const vx = 0.8 + i * 4.6;
    s.addText(v.head, { x: vx, y: 2.08, w: 4.2, h: 0.38,
      fontSize: 13, bold: true, color: v.hcol, fontFace: "Calibri" });
    v.items.forEach((item, j) => {
      s.addText("• " + item, { x: vx, y: 2.52 + j * 0.42, w: 4.2, h: 0.38,
        fontSize: 10.5, color: v.col, fontFace: "Calibri" });
    });
  });

  // Final thought
  s.addShape(pres.ShapeType.roundRect, { x: 0.75, y: 4.3, w: 8.5, h: 0.9,
    fill: { color: "0D1B6E" }, line: { color: C.highlight, pt: 1.5 }, rectRadius: 0.1 });
  s.addText([
    { text: "Final Thought: ", options: { bold: true, color: C.highlight } },
    { text: "Demonetisation was a harsh but effective bitter pill that permanently shifted India's economic trajectory — transforming it from a cash-addicted society into a ", options: { color: "E8EAF6" } },
    { text: "digital-first, increasingly formalised economy.", options: { bold: true, color: C.highlight } },
  ], { x: 0.95, y: 4.35, w: 8.1, h: 0.8, fontSize: 10.5, fontFace: "Calibri", valign: "middle" });
}

// ══════════════════════════════════════════════════════════════════════
// SLIDE 10 — THANK YOU
// ══════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 5.625, fill: { color: C.lavender } });
  // Top strip
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 1.5, fill: { color: C.deepIndigo } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 1.5, w: "100%", h: 0.12, fill: { color: C.cherry } });

  s.addText("THANK YOU", {
    x: 0, y: 0.4, w: "100%", h: 0.9,
    fontSize: 54, bold: true, color: C.white,
    align: "center", fontFace: "Calibri", charSpacing: 6,
  });

  s.addText("Questions & Discussion", {
    x: 1, y: 1.75, w: 8, h: 0.5,
    fontSize: 20, bold: true, color: C.deepIndigo, align: "center", fontFace: "Calibri",
  });

  // Key takeaway cards
  const tks = [
    { val: "12,000×", lbl: "UPI volume\nsurge (FY17–26)" },
    { val: "₹314 LC", lbl: "UPI value\nFY 2025–26" },
    { val: "99.3%", lbl: "Notes returned\nto banking system" },
    { val: "85%", lbl: "India's digital\npayments via UPI" },
  ];
  tks.forEach((t, i) => {
    const tx = 0.4 + i * 2.35;
    s.addShape(pres.ShapeType.roundRect, { x: tx, y: 2.45, w: 2.1, h: 1.7,
      fill: { color: C.white }, line: { color: "B39DDB", pt: 1.5 }, rectRadius: 0.14 });
    s.addText(t.val, { x: tx, y: 2.55, w: 2.1, h: 0.65,
      fontSize: 20, bold: true, color: C.cherry, align: "center", fontFace: "Calibri" });
    s.addText(t.lbl, { x: tx, y: 3.2, w: 2.1, h: 0.75,
      fontSize: 10, color: C.indigo, align: "center", fontFace: "Calibri" });
  });

  s.addText("Data Sources: RBI Annual Report  |  NPCI / Ministry of Finance  |  PIB India (April 2026)", {
    x: 0.5, y: 4.3, w: 9.0, h: 0.3,
    fontSize: 9, color: "7986CB", italic: true, align: "center", fontFace: "Calibri",
  });

  s.addShape(pres.ShapeType.rect, { x: 0, y: 4.75, w: "100%", h: 0.875, fill: { color: C.deepIndigo } });
  s.addText("Demonetisation — India's Economic Modernisation Journey  |  November 8, 2016 – Present", {
    x: 0, y: 4.82, w: "100%", h: 0.4,
    fontSize: 10, color: "9FA8DA", italic: true, align: "center", fontFace: "Calibri",
  });
  s.addText("© Seminar Presentation  |  2026", {
    x: 0, y: 5.22, w: "100%", h: 0.28,
    fontSize: 9, color: "7986CB", align: "center", fontFace: "Calibri",
  });
}

// ─── Save ───────────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/demonetisation-ppt/Demonetisation_Presentation.pptx" })
  .then(() => console.log("✅  Saved: Demonetisation_Presentation.pptx"))
  .catch(err => { console.error("❌  Error:", err); process.exit(1); });
Running Command

cd /home/daytona/workspace/demonetisation-ppt && node demonetisation.js

Running Command

ls -lh /home/daytona/workspace/demonetisation-ppt/Demonetisation_Presentation.pp…

Your presentation is ready! Download it here:

Demonetisation Presentation

Presentation · PPTX


Here is what's inside across 10 slides:
#SlideDesign
1TitleSplit dark indigo / lavender pastel with 3 key fact cards and cherry bottom strip
2Definition & AnnouncementLavender background, definition box, visual timeline, cherry highlight for the 8:14 PM moment
3Core ObjectivesMint/sage background, 4 colour-coded objective cards (black money, FICN, terror, formalisation)
4Immediate Impact & ChallengesBlush pastel, giant 86% badge in cherry, 3 challenge cards with icons
5Currency CompositionCream background, full-width horizontal stacked bar (86% cherry / 14% green), denomination tiles
6Long-Term BenefitsSage green, 4 numbered cards (UPI boom, tax base, formalisation, interest rates)
7UPI Growth ChartSky blue, bar chart FY17–FY26 showing the 12,000× surge with a cherry demonetisation marker line and NPCI source citation
8Critical AnalysisPeach background, large 99.3% paradox highlight box, GDP slowdown and black money critiques
9ConclusionDark indigo for impact, two-column verdict (What Worked vs What Fell Short), golden highlight final thought
10Thank YouLavender/indigo, 4 key stat tiles, data sources footer
Color palette used: Pastel backgrounds (lavender, mint, sage, peach, sky, cream, blush) + text in deep indigo (#1A237E), dark green (#1B5E20), and cherry (#880E4F) - with golden amber (#FFD54F) for highlighted callouts.

Not satisfied

Asking for Preferences
Searching the Web

India demonetisation 2016 500 1000 rupee notes PM Modi announcement free stock image

Searching the Web

UPI logo India digital payments NPCI official image free use

Running Command

node /home/daytona/skills/shared/scripts/fetch_images.js \ "https://upload.wik…

Running Command

node /home/daytona/skills/shared/scripts/fetch_images.js "https://upload.wikimed…

Running Command

node /home/daytona/skills/shared/scripts/fetch_images.js \ "https://upload.wik…

Running Command

node -e " const { execSync } = require('child_process'); const imgs = [ { key:…

Writing File

~/demonetisation-ppt/demonetisation_v2.js

const pptxgen = require("pptxgenjs");
const fs = require("fs");

const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Demonetisation — India's Economic Shift";
pres.author = "Seminar Presentation";

// Load embedded images
const images = JSON.parse(fs.readFileSync("/home/daytona/workspace/demonetisation-ppt/images.json"));
const upiLogo = images.upi; // base64

// ─── MASTER PALETTE ──────────────────────────────────────────────────────────
const P = {
  // Pastel backgrounds
  pLavender: "EDE7F6",
  pMint:     "E8F5E9",
  pSky:      "E3F2FD",
  pPeach:    "FFF3E0",
  pBlush:    "FCE4EC",
  pCream:    "FFFDE7",
  pSage:     "F1F8E9",
  pLilac:    "F3E5F5",

  // Dark text colors (as requested)
  indigo:    "283593",
  dIndigo:   "1A237E",
  mIndigo:   "3949AB",
  lIndigo:   "5C6BC0",
  cherry:    "880E4F",
  mCherry:   "AD1457",
  lCherry:   "E91E63",
  dGreen:    "1B5E20",
  mGreen:    "2E7D32",
  lGreen:    "43A047",

  // Highlight
  gold:      "F9A825",
  amber:     "FFD54F",
  white:     "FFFFFF",
  lightGrey: "ECEFF1",
  slate:     "455A64",
  darkSlate: "37474F",
};

// ─── UTILITIES ────────────────────────────────────────────────────────────────
const W = 10, H = 5.625;

function bg(s, color) {
  s.addShape(pres.ShapeType.rect, { x:0, y:0, w:W, h:H, fill:{color}, line:{color} });
}
function hBar(s, color, yPos=0, hh=0.07) {
  s.addShape(pres.ShapeType.rect, { x:0, y:yPos, w:W, h:hh, fill:{color}, line:{color} });
}
function pill(s, label, x, y, bgC, txtC) {
  s.addShape(pres.ShapeType.roundRect, { x, y, w:2.4, h:0.34, fill:{color:bgC}, line:{color:bgC}, rectRadius:0.12 });
  s.addText(label, { x, y:y+0.04, w:2.4, h:0.26, fontSize:9.5, bold:true, color:txtC, align:"center", fontFace:"Calibri" });
}
function slideTitle(s, text, color) {
  s.addText(text, { x:0.38, y:0.52, w:9.2, h:0.6, fontSize:27, bold:true, color, fontFace:"Calibri" });
}
function divider(s, x, y, w, color) {
  s.addShape(pres.ShapeType.rect, { x, y, w, h:0.05, fill:{color}, line:{color} });
}
function card(s, x, y, w, h, bg, borderColor, radius=0.15) {
  s.addShape(pres.ShapeType.roundRect, { x, y, w, h, fill:{color:bg}, line:{color:borderColor, pt:1.5}, rectRadius:radius });
}
function badge(s, x, y, color, text) {
  s.addShape(pres.ShapeType.ellipse, { x, y, w:0.42, h:0.42, fill:{color}, line:{color} });
  s.addText(text, { x, y:y+0.04, w:0.42, h:0.34, fontSize:10, bold:true, color:P.white, align:"center", fontFace:"Calibri" });
}
function iconBox(s, x, y, w, h, bgC, borderC, icon, title, body, titleC, bodyC) {
  card(s, x, y, w, h, bgC, borderC);
  s.addText(icon, { x:x+0.18, y:y+0.13, w:0.5, h:0.4, fontSize:18, align:"center" });
  s.addText(title, { x:x+0.75, y:y+0.12, w:w-0.9, h:0.38, fontSize:12, bold:true, color:titleC, fontFace:"Calibri" });
  divider(s, x+0.75, y+0.5, w-1.1, borderC);
  s.addText(body, { x:x+0.75, y:y+0.6, w:w-0.9, h:h-0.75, fontSize:10.5, color:bodyC, fontFace:"Calibri" });
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s, P.dIndigo);

  // Diagonal pastel swatch (right side)
  // Use a large rounded shape overlay for visual interest
  s.addShape(pres.ShapeType.rect, { x:5.6, y:0, w:4.4, h:H, fill:{color:"1E2F9A"}, line:{color:"1E2F9A"} });
  s.addShape(pres.ShapeType.rect, { x:7.0, y:0, w:3.0, h:H, fill:{color:"2338A8"}, line:{color:"2338A8"} });

  // Top accent stripe
  hBar(s, P.gold, 0, 0.08);
  // Bottom accent stripes
  hBar(s, P.cherry, H-0.12, 0.06);
  hBar(s, P.gold,   H-0.06, 0.06);

  // LEFT: Main title area
  s.addText("DEMONET-", { x:0.4, y:0.7, w:5.5, h:0.85, fontSize:52, bold:true, color:P.white, fontFace:"Calibri" });
  s.addText("ISATION", { x:0.4, y:1.5, w:5.5, h:0.85, fontSize:52, bold:true, color:P.amber, fontFace:"Calibri" });
  s.addShape(pres.ShapeType.rect, { x:0.4, y:2.42, w:3.5, h:0.07, fill:{color:P.cherry}, line:{color:P.cherry} });
  s.addText("India's Landmark Economic Policy", { x:0.4, y:2.55, w:5.5, h:0.38, fontSize:14, color:"B3C1F7", fontFace:"Calibri", italic:true });
  s.addText("November 8, 2016", { x:0.4, y:3.0, w:5.5, h:0.38, fontSize:14, bold:true, color:P.amber, fontFace:"Calibri" });

  // LEFT: stat row
  const stats = [
    { v:"₹500 & ₹1000", l:"Demonetised Notes" },
    { v:"86%",            l:"Currency Removed" },
    { v:"8:14 PM",        l:"Announcement Time" },
  ];
  stats.forEach((st, i) => {
    const sx = 0.4 + i * 1.78;
    s.addShape(pres.ShapeType.roundRect, { x:sx, y:3.55, w:1.65, h:1.35,
      fill:{color:"0D1A7A"}, line:{color:P.lIndigo, pt:1}, rectRadius:0.12 });
    s.addText(st.v, { x:sx, y:3.65, w:1.65, h:0.52,
      fontSize:st.v.length > 6 ? 11 : 22, bold:true, color:P.amber, align:"center", fontFace:"Calibri" });
    s.addText(st.l, { x:sx, y:4.22, w:1.65, h:0.55,
      fontSize:9, color:"9FA8DA", align:"center", fontFace:"Calibri" });
  });

  // RIGHT panel: visual rupee-note style card
  s.addShape(pres.ShapeType.roundRect, { x:5.8, y:0.5, w:3.85, h:4.5,
    fill:{color:"141E80"}, line:{color:P.amber, pt:2}, rectRadius:0.2 });

  // Indian tricolor bar (symbolic)
  s.addShape(pres.ShapeType.rect, { x:5.9, y:0.6, w:3.65, h:0.25, fill:{color:"FF9933"}, line:{color:"FF9933"} });
  s.addShape(pres.ShapeType.rect, { x:5.9, y:0.85, w:3.65, h:0.25, fill:{color:P.white}, line:{color:P.white} });
  s.addShape(pres.ShapeType.rect, { x:5.9, y:1.1, w:3.65, h:0.25, fill:{color:"138808"}, line:{color:"138808"} });

  s.addText("₹", { x:5.9, y:1.45, w:3.65, h:1.5, fontSize:80, bold:true, color:P.amber, align:"center", fontFace:"Calibri" });
  s.addText("500 + 1000", { x:5.9, y:2.9, w:3.65, h:0.5, fontSize:22, bold:true, color:P.white, align:"center", fontFace:"Calibri" });
  s.addShape(pres.ShapeType.rect, { x:6.2, y:3.45, w:3.05, h:0.05, fill:{color:P.amber}, line:{color:P.amber} });
  s.addText("CEASED TO BE LEGAL TENDER", { x:5.9, y:3.55, w:3.65, h:0.35,
    fontSize:9, bold:true, color:"EF9A9A", align:"center", fontFace:"Calibri", charSpacing:1 });
  s.addText("Government of India  •  Nov 2016", { x:5.9, y:4.0, w:3.65, h:0.3,
    fontSize:9, color:"9FA8DA", align:"center", fontFace:"Calibri" });

  // Footer
  s.addText("A Comprehensive Seminar Presentation  •  2026", { x:0, y:H-0.3, w:W, h:0.25,
    fontSize:8.5, color:"7986CB", align:"center", fontFace:"Calibri", italic:true });
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 2 — TABLE OF CONTENTS
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s, P.pLavender);
  hBar(s, P.dIndigo, 0, 0.08);
  hBar(s, P.cherry, H-0.07, 0.07);

  pill(s, "AGENDA", 0.38, 0.12, P.dIndigo, P.white);
  slideTitle(s, "What We'll Cover", P.dIndigo);
  divider(s, 0.38, 1.2, 4.5, P.cherry);

  const agenda = [
    { n:"01", head:"Definition & The Announcement", sub:"What demonetisation is and how it unfolded", col:P.cherry },
    { n:"02", head:"Core Objectives",               sub:"Four pillars: black money, FICN, terror, formalisation", col:P.dGreen },
    { n:"03", head:"Immediate Impact & Challenges", sub:"The 86% shock, ATM crisis, informal sector pain", col:P.indigo },
    { n:"04", head:"Long-Term Benefits",            sub:"UPI boom, tax base expansion, formalisation", col:P.cherry },
    { n:"05", head:"UPI Growth — The Numbers",      sub:"12,000× surge from FY17 to FY26", col:P.dGreen },
    { n:"06", head:"Critical Analysis",             sub:"The 99.3% paradox, GDP dip, debates", col:P.mCherry },
    { n:"07", head:"Conclusion",                    sub:"Balance sheet verdict & final thought", col:P.indigo },
  ];
  const colW = 4.6, colGap = 0.38;
  agenda.forEach((ag, i) => {
    const col = i < 4 ? 0 : 1;
    const row = i < 4 ? i : i - 4;
    const ax = colGap + col * (colW + 0.4);
    const ay = 1.35 + row * 1.03;
    s.addShape(pres.ShapeType.roundRect, { x:ax, y:ay, w:colW, h:0.88,
      fill:{color:P.white}, line:{color:ag.col, pt:1.5}, rectRadius:0.1 });
    // Number pill
    s.addShape(pres.ShapeType.roundRect, { x:ax+0.1, y:ay+0.18, w:0.42, h:0.42,
      fill:{color:ag.col}, line:{color:ag.col}, rectRadius:0.08 });
    s.addText(ag.n, { x:ax+0.1, y:ay+0.2, w:0.42, h:0.38,
      fontSize:10, bold:true, color:P.white, align:"center", fontFace:"Calibri" });
    s.addText(ag.head, { x:ax+0.62, y:ay+0.1, w:3.85, h:0.34,
      fontSize:11.5, bold:true, color:ag.col, fontFace:"Calibri" });
    s.addText(ag.sub, { x:ax+0.62, y:ay+0.48, w:3.85, h:0.28,
      fontSize:9.5, color:P.slate, fontFace:"Calibri", italic:true });
  });
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 3 — DEFINITION & ANNOUNCEMENT
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s, P.pSky);
  hBar(s, P.dIndigo, 0, 0.08);
  hBar(s, P.cherry, H-0.07, 0.07);

  pill(s, "01  DEFINITION", 0.38, 0.12, P.dIndigo, P.white);
  slideTitle(s, "What Is Demonetisation?", P.dIndigo);
  divider(s, 0.38, 1.18, 5.0, P.cherry);

  // LEFT — definition + quote
  s.addShape(pres.ShapeType.roundRect, { x:0.38, y:1.3, w:5.6, h:1.55,
    fill:{color:P.white}, line:{color:P.lIndigo, pt:1.5}, rectRadius:0.15 });
  // Quote mark decoration
  s.addText('"', { x:0.45, y:1.2, w:0.6, h:0.8, fontSize:60, color:"D1C4E9", fontFace:"Georgia", bold:true });
  s.addText([
    { text:"Demonetisation", options:{bold:true, color:P.cherry} },
    { text:" is the act of ", options:{color:P.darkSlate} },
    { text:"stripping a currency unit of its status as legal tender,", options:{bold:true, color:P.dIndigo} },
    { text:" replacing old notes with new ones or transitioning to a cashless economy.", options:{color:P.darkSlate} },
  ], { x:0.52, y:1.38, w:5.32, h:1.3, fontSize:12.5, fontFace:"Calibri", valign:"middle" });

  // LEFT — announcement box
  s.addShape(pres.ShapeType.roundRect, { x:0.38, y:3.0, w:5.6, h:1.95,
    fill:{color:"FCE4EC"}, line:{color:P.cherry, pt:2}, rectRadius:0.15 });
  s.addShape(pres.ShapeType.rect, { x:0.38, y:3.0, w:0.12, h:1.95,
    fill:{color:P.cherry}, line:{color:P.cherry} });
  s.addText("🔔  The Historic Announcement", { x:0.62, y:3.08, w:5.25, h:0.38,
    fontSize:13, bold:true, color:P.cherry, fontFace:"Calibri" });
  s.addText([
    { text:"At ", options:{color:P.darkSlate} },
    { text:"8:14 PM IST on November 8, 2016,", options:{bold:true, color:P.cherry} },
    { text:" Prime Minister ", options:{color:P.darkSlate} },
    { text:"Narendra Modi", options:{bold:true, color:P.dIndigo} },
    { text:" announced on national television that all ", options:{color:P.darkSlate} },
    { text:"₹500 and ₹1,000 banknotes", options:{bold:true, color:P.cherry} },
    { text:" of the Mahatma Gandhi Series were immediately demonetised.", options:{color:P.darkSlate} },
  ], { x:0.62, y:3.5, w:5.25, h:1.35, fontSize:12, fontFace:"Calibri" });

  // RIGHT — visual timeline
  s.addShape(pres.ShapeType.roundRect, { x:6.2, y:1.3, w:3.45, h:3.65,
    fill:{color:P.white}, line:{color:"B39DDB", pt:1.5}, rectRadius:0.15 });
  s.addText("Timeline", { x:6.3, y:1.38, w:3.25, h:0.38,
    fontSize:14, bold:true, color:P.dIndigo, fontFace:"Calibri", align:"center" });
  divider(s, 6.5, 1.78, 2.85, P.lIndigo);

  const tl = [
    { yr:"1978", txt:"First demonetisation\n₹1K, ₹5K, ₹10K notes", col:P.slate },
    { yr:"2016\nNov 8", txt:"₹500 & ₹1,000 demonetised\n8:14 PM announcement", col:P.cherry, bold:true },
    { yr:"2016\nNov–Dec", txt:"New ₹500 & ₹2,000 notes\nintroduced", col:P.dGreen },
    { yr:"2017+", txt:"Digital payments surge\nUPI ecosystem born", col:P.dIndigo },
  ];
  const tlX = 6.6, dotX = 6.42;
  tl.forEach((t, i) => {
    const ty = 2.0 + i * 0.82;
    s.addShape(pres.ShapeType.ellipse, { x:dotX, y:ty+0.04, w:0.28, h:0.28,
      fill:{color:t.col}, line:{color:t.col} });
    if(i < tl.length-1)
      s.addShape(pres.ShapeType.rect, { x:dotX+0.12, y:ty+0.32, w:0.04, h:0.54, fill:{color:"BDBDBD"}, line:{color:"BDBDBD"} });
    s.addText(t.yr, { x:tlX, y:ty+0.0, w:0.72, h:0.42, fontSize:9.5,
      bold:!!t.bold, color:t.col, fontFace:"Calibri", align:"left" });
    s.addText(t.txt, { x:tlX+0.78, y:ty+0.0, w:2.65, h:0.42, fontSize:9.5,
      color:P.darkSlate, fontFace:"Calibri" });
  });
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 4 — CORE OBJECTIVES
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s, P.pMint);
  hBar(s, P.dGreen, 0, 0.08);
  hBar(s, P.indigo, H-0.07, 0.07);

  pill(s, "02  CORE OBJECTIVES", 0.38, 0.12, P.dGreen, P.white);
  slideTitle(s, "Four Pillars of Intent", P.dGreen);
  divider(s, 0.38, 1.18, 5.0, P.cherry);

  // Central "Government" badge
  s.addShape(pres.ShapeType.ellipse, { x:4.1, y:2.15, w:1.8, h:1.8,
    fill:{color:P.dGreen}, line:{color:P.dGreen} });
  s.addText("GOVT.\nOF\nINDIA", { x:4.1, y:2.38, w:1.8, h:1.3,
    fontSize:11, bold:true, color:P.white, align:"center", fontFace:"Calibri" });

  // 4 objective cards radiating outward
  const objs = [
    { icon:"💰", title:"Combat Black Money",
      body:"Force illicit cash holders to bank it — facing taxes & penalties — or watch it become worthless paper.",
      x:0.25, y:1.35, col:P.cherry, bg:"FCE4EC", arr:"right" },
    { icon:"🚫", title:"Eliminate Fake Currency",
      body:"High-denomination counterfeit notes (FICN) were destabilising the economy. Demonetisation instantly destroyed the network.",
      x:5.55, y:1.35, col:P.dIndigo, bg:"EDE7F6", arr:"left" },
    { icon:"🔒", title:"Choke Terror Funding",
      body:"Fake and black money funded cross-border terrorism & insurgencies. Invalidating notes paralysed these operations.",
      x:0.25, y:3.15, col:P.dGreen, bg:"E8F5E9", arr:"right" },
    { icon:"📲", title:"Formalise the Economy",
      body:"Transition India from a heavy cash-reliant economy into a digital, transparent, and trackable banking ecosystem.",
      x:5.55, y:3.15, col:P.mCherry, bg:"FCE4EC", arr:"left" },
  ];
  objs.forEach((o) => {
    s.addShape(pres.ShapeType.roundRect, { x:o.x, y:o.y, w:3.8, h:1.65,
      fill:{color:o.bg}, line:{color:o.col, pt:1.8}, rectRadius:0.15 });
    // Left accent bar
    s.addShape(pres.ShapeType.rect, { x:o.x, y:o.y, w:0.12, h:1.65,
      fill:{color:o.col}, line:{color:o.col} });
    s.addText(o.icon+"  "+o.title, { x:o.x+0.22, y:o.y+0.12, w:3.45, h:0.4,
      fontSize:12.5, bold:true, color:o.col, fontFace:"Calibri" });
    divider(s, o.x+0.22, o.y+0.56, 3.0, o.col);
    s.addText(o.body, { x:o.x+0.22, y:o.y+0.65, w:3.45, h:0.9,
      fontSize:10.5, color:P.darkSlate, fontFace:"Calibri" });
  });

  // Connecting lines (visual connectors from center)
  [[4.1, 2.2, 4.05, 2.2], [5.9, 2.2, 5.55, 2.2]].forEach(([x1,y1,x2,y2]) => {});
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 5 — IMMEDIATE IMPACT (with visual 86% donut-style graphic)
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s, P.pBlush);
  hBar(s, P.cherry, 0, 0.08);
  hBar(s, P.dGreen, H-0.07, 0.07);

  pill(s, "03  IMMEDIATE IMPACT", 0.38, 0.12, P.cherry, P.white);
  slideTitle(s, "The Shock — Challenges & Consequences", P.cherry);
  divider(s, 0.38, 1.18, 5.0, P.dIndigo);

  // LEFT: Big 86% visual (simulated donut using concentric shapes)
  s.addShape(pres.ShapeType.ellipse, { x:0.35, y:1.35, w:3.6, h:3.6,
    fill:{color:P.cherry}, line:{color:P.cherry} });
  s.addShape(pres.ShapeType.ellipse, { x:0.85, y:1.85, w:2.6, h:2.6,
    fill:{color:P.pBlush}, line:{color:P.pBlush} });
  s.addText("86%", { x:0.85, y:2.4, w:2.6, h:1.1,
    fontSize:48, bold:true, color:P.cherry, align:"center", fontFace:"Calibri" });
  s.addText("of total currency\nin circulation", { x:0.85, y:3.45, w:2.6, h:0.7,
    fontSize:10, color:P.darkSlate, align:"center", fontFace:"Calibri", italic:true });
  // Legend
  s.addShape(pres.ShapeType.rect, { x:0.5, y:5.0, w:0.28, h:0.18, fill:{color:P.cherry}, line:{color:P.cherry} });
  s.addText("₹500+₹1000 (Demonetised)", { x:0.85, y:4.98, w:2.5, h:0.2, fontSize:8.5, color:P.cherry, fontFace:"Calibri", bold:true });
  s.addShape(pres.ShapeType.rect, { x:0.5, y:5.25, w:0.28, h:0.18, fill:{color:"BDBDBD"}, line:{color:"BDBDBD"} });
  s.addText("All other notes (14%)", { x:0.85, y:5.23, w:2.5, h:0.2, fontSize:8.5, color:P.slate, fontFace:"Calibri" });

  // RIGHT: 3 challenge cards
  const chs = [
    { icon:"💸", head:"Severe Liquidity Crunch",
      body:"₹500 & ₹1,000 notes comprised 86% of all cash. Their sudden withdrawal triggered a nationwide cash drought and hours-long bank queues.",
      col:P.cherry, bg:P.white },
    { icon:"🏧", head:"ATM Recalibration Nightmare",
      body:"Tens of thousands of ATMs had to be physically re-calibrated to fit the new, differently-sized ₹500 and ₹2,000 notes — a massive logistical challenge.",
      col:P.dIndigo, bg:"EDE7F6" },
    { icon:"🌾", head:"Informal Sector Standstill",
      body:"Agriculture, small-scale retail, and daily-wage labour — all heavily cash-reliant — faced a near-complete standstill for weeks.",
      col:P.dGreen, bg:"E8F5E9" },
  ];
  chs.forEach((c, i) => {
    const cy = 1.3 + i * 1.42;
    s.addShape(pres.ShapeType.roundRect, { x:4.15, y:cy, w:5.5, h:1.28,
      fill:{color:c.bg}, line:{color:c.col, pt:1.8}, rectRadius:0.13 });
    s.addShape(pres.ShapeType.rect, { x:4.15, y:cy, w:0.1, h:1.28, fill:{color:c.col}, line:{color:c.col} });
    s.addText(c.icon+"  "+c.head, { x:4.35, y:cy+0.1, w:5.15, h:0.36,
      fontSize:12.5, bold:true, color:c.col, fontFace:"Calibri" });
    s.addText(c.body, { x:4.35, y:cy+0.5, w:5.15, h:0.72,
      fontSize:10.5, color:P.darkSlate, fontFace:"Calibri" });
  });
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 6 — LONG-TERM BENEFITS
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s, P.pSage);
  hBar(s, P.dGreen, 0, 0.08);
  hBar(s, P.indigo, H-0.07, 0.07);

  pill(s, "04  LONG-TERM BENEFITS", 0.38, 0.12, P.dGreen, P.white);
  slideTitle(s, "Structural Successes", P.dGreen);
  divider(s, 0.38, 1.18, 5.0, P.cherry);

  const bens = [
    {
      n:"01", icon:"📲", head:"Digital Revolution — The UPI Boom",
      body:"Forced millions to try digital wallets & mobile banking. India became the global leader in real-time payments — 24,162 Cr transactions in FY26.",
      col:P.dIndigo, bg:"EDE7F6",
    },
    {
      n:"02", icon:"📊", head:"Widening the Tax Base",
      body:"People forced to deposit cash exposed previously hidden accounts. Income tax return filings surged sharply post-2016.",
      col:P.dGreen, bg:P.white,
    },
    {
      n:"03", icon:"🏪", head:"Formalisation of Business",
      body:"Small businesses were nudged to register for GST, open bank accounts, and move away from under-the-table cash dealings.",
      col:P.cherry, bg:"FCE4EC",
    },
    {
      n:"04", icon:"🏦", head:"Reduced Interest Rates",
      body:"Banks flooded with massive deposits slashed lending rates — making home loans and corporate credit cheaper for millions of Indians.",
      col:P.mIndigo, bg:"E3F2FD",
    },
  ];
  bens.forEach((b, i) => {
    const bx = i % 2 === 0 ? 0.35 : 5.2;
    const by = Math.floor(i/2) === 0 ? 1.35 : 3.25;
    s.addShape(pres.ShapeType.roundRect, { x:bx, y:by, w:4.6, h:1.75,
      fill:{color:b.bg}, line:{color:b.col, pt:1.8}, rectRadius:0.15 });
    // Number circle
    s.addShape(pres.ShapeType.ellipse, { x:bx+0.15, y:by+0.15, w:0.48, h:0.48,
      fill:{color:b.col}, line:{color:b.col} });
    s.addText(b.n, { x:bx+0.15, y:by+0.18, w:0.48, h:0.42,
      fontSize:10, bold:true, color:P.white, align:"center", fontFace:"Calibri" });
    s.addText(b.icon+"  "+b.head, { x:bx+0.75, y:by+0.1, w:3.72, h:0.42,
      fontSize:12, bold:true, color:b.col, fontFace:"Calibri" });
    divider(s, bx+0.75, by+0.55, 3.4, b.col);
    s.addText(b.body, { x:bx+0.75, y:by+0.65, w:3.72, h:1.0,
      fontSize:10.5, color:P.darkSlate, fontFace:"Calibri" });
  });
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 7 — UPI GROWTH CHART
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s, P.pLavender);
  hBar(s, P.dIndigo, 0, 0.08);
  hBar(s, P.dGreen, H-0.07, 0.07);

  pill(s, "05  UPI GROWTH", 0.38, 0.12, P.mIndigo, P.white);
  s.addText("UPI Transaction Volume — The Digital Revolution", {
    x:0.38, y:0.52, w:7.5, h:0.55, fontSize:22, bold:true, color:P.dIndigo, fontFace:"Calibri"
  });

  // UPI logo top right
  if(upiLogo) {
    s.addImage({ data:upiLogo, x:8.1, y:0.4, w:1.55, h:0.7 });
  }

  // Bar chart data
  const upiData = [
    { yr:"FY17", val:2,     label:"2 Cr" },
    { yr:"FY18", val:92,    label:"92 Cr" },
    { yr:"FY19", val:535,   label:"535 Cr" },
    { yr:"FY20", val:1252,  label:"1.2 B" },
    { yr:"FY21", val:2234,  label:"2.2 B" },
    { yr:"FY22", val:4597,  label:"4.6 B" },
    { yr:"FY23", val:8376,  label:"8.4 B" },
    { yr:"FY24", val:13116, label:"13.1 B" },
    { yr:"FY25", val:18579, label:"18.6 B" },
    { yr:"FY26", val:24162, label:"24.2 B" },
  ];
  const maxVal = 25000;
  const cTop = 1.2, cH = 3.2, cLeft = 0.55, cRight = 9.65;
  const totalW = cRight - cLeft;
  const barGap = totalW / upiData.length;
  const barW = barGap * 0.65;

  // Chart background
  s.addShape(pres.ShapeType.roundRect, { x:cLeft-0.05, y:cTop-0.1, w:totalW+0.1, h:cH+0.15,
    fill:{color:P.white}, line:{color:"D1C4E9", pt:1}, rectRadius:0.1 });

  // Y-axis & gridlines
  const yTicks = [0, 5000, 10000, 15000, 20000, 25000];
  yTicks.forEach(t => {
    const gy = cTop + cH - (t/maxVal)*cH;
    s.addShape(pres.ShapeType.rect, { x:cLeft, y:gy, w:totalW, h:0.01, fill:{color:"E8EAF6"}, line:{color:"E8EAF6"} });
    const label = t === 0 ? "0" : t >= 1000 ? (t/100/10).toFixed(0)+" B" : t+" Cr";
    s.addText(label, { x:cLeft-0.52, y:gy-0.14, w:0.48, h:0.28,
      fontSize:8, color:"78909C", align:"right", fontFace:"Calibri" });
  });

  // Axis lines
  s.addShape(pres.ShapeType.rect, { x:cLeft, y:cTop, w:0.025, h:cH, fill:{color:"9E9E9E"} });
  s.addShape(pres.ShapeType.rect, { x:cLeft, y:cTop+cH, w:totalW, h:0.025, fill:{color:"9E9E9E"} });

  // Color gradient by era
  const barColors = ["A5C8F0","7EA8E0","5C85C8","4A6BBE","3B5BB0","3050A8","2840A0","1E3598","162A8A","1A237E"];

  upiData.forEach((d, i) => {
    const bh = (d.val/maxVal)*cH;
    const bx = cLeft + i*barGap + (barGap-barW)/2;
    const by = cTop + cH - bh;

    // Bar
    s.addShape(pres.ShapeType.roundRect, { x:bx, y:by, w:barW, h:bh,
      fill:{color:barColors[i]}, line:{color:barColors[i]}, rectRadius:0.04 });

    // Value label
    if(d.val >= 200) {
      s.addText(d.label, { x:bx-0.08, y:by-0.3, w:barW+0.16, h:0.28,
        fontSize:7.5, bold:true, color:P.dIndigo, align:"center", fontFace:"Calibri" });
    }

    // X label
    s.addText(d.yr, { x:bx-0.05, y:cTop+cH+0.06, w:barW+0.1, h:0.26,
      fontSize:8.5, color:P.darkSlate, align:"center", fontFace:"Calibri", bold:i===9 });
  });

  // Demonetisation marker
  const demLineX = cLeft + 0*barGap + barGap;
  s.addShape(pres.ShapeType.rect, { x:demLineX+0.1, y:cTop, w:0.03, h:cH,
    fill:{color:P.cherry}, line:{color:P.cherry} });
  s.addShape(pres.ShapeType.roundRect, { x:demLineX-0.35, y:cTop+0.2, w:1.5, h:0.52,
    fill:{color:"FCE4EC"}, line:{color:P.cherry, pt:1.2}, rectRadius:0.07 });
  s.addText("◀ Demonetisation\n     Nov 8, 2016", { x:demLineX-0.35, y:cTop+0.22, w:1.5, h:0.48,
    fontSize:7.5, bold:true, color:P.cherry, fontFace:"Calibri", align:"center" });

  // Stat callouts — bottom row
  const callouts = [
    { v:"12,000×", l:"Volume\nsurge FY17→26" },
    { v:"4,000×",  l:"Value\nsurge FY17→26" },
    { v:"49%",     l:"Global\nreal-time share" },
    { v:"85%",     l:"India's digital\npayments via UPI" },
  ];
  callouts.forEach((c, i) => {
    const cx = 0.38 + i * 2.38;
    s.addShape(pres.ShapeType.roundRect, { x:cx, y:4.55, w:2.15, h:0.92,
      fill:{color:"EDE7F6"}, line:{color:P.mIndigo, pt:1.2}, rectRadius:0.1 });
    s.addText(c.v, { x:cx, y:4.6, w:2.15, h:0.42,
      fontSize:19, bold:true, color:P.cherry, align:"center", fontFace:"Calibri" });
    s.addText(c.l, { x:cx, y:5.0, w:2.15, h:0.42,
      fontSize:8, color:P.indigo, align:"center", fontFace:"Calibri" });
  });

  s.addText("Source: NPCI / Ministry of Finance, India (April 2026)  •  B = Billions of transactions", {
    x:0, y:H-0.22, w:W, h:0.18, fontSize:7.5, color:"90A4AE", align:"center", fontFace:"Calibri", italic:true });
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 8 — CRITICAL ANALYSIS
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s, P.pPeach);
  hBar(s, P.cherry, 0, 0.08);
  hBar(s, P.dGreen, H-0.07, 0.07);

  pill(s, "06  CRITICAL ANALYSIS", 0.38, 0.12, P.cherry, P.white);
  slideTitle(s, "The Controversies & Critiques", P.cherry);
  divider(s, 0.38, 1.18, 5.0, P.dIndigo);

  // 99.3% paradox highlight banner
  s.addShape(pres.ShapeType.roundRect, { x:0.38, y:1.3, w:9.25, h:1.42,
    fill:{color:"FCE4EC"}, line:{color:P.cherry, pt:2.5}, rectRadius:0.15 });
  s.addShape(pres.ShapeType.rect, { x:0.38, y:1.3, w:0.14, h:1.42, fill:{color:P.cherry}, line:{color:P.cherry} });

  // Big number
  s.addText("99.3%", { x:0.6, y:1.35, w:2.4, h:1.3,
    fontSize:46, bold:true, color:P.cherry, align:"center", fontFace:"Calibri" });
  s.addShape(pres.ShapeType.rect, { x:3.1, y:1.4, w:0.04, h:1.2, fill:{color:"EF9A9A"}, line:{color:"EF9A9A"} });
  s.addText("🔴  The 99.3% Paradox", { x:3.25, y:1.35, w:6.25, h:0.38,
    fontSize:14, bold:true, color:P.cherry, fontFace:"Calibri" });
  s.addText([
    { text:"According to the RBI Annual Report, ", options:{color:P.darkSlate} },
    { text:"99.3% of all demonetised notes were deposited back into the banking system.", options:{bold:true, color:P.cherry} },
    { text:" Critics argued this meant black money holders successfully laundered cash into legitimate accounts rather than being caught.", options:{color:P.darkSlate} },
  ], { x:3.25, y:1.77, w:6.25, h:0.88, fontSize:11.5, fontFace:"Calibri" });

  // Three additional criticisms
  const crits = [
    { icon:"📉", head:"Temporary GDP Slowdown",
      body:"The sudden shock to the informal economy caused India's GDP growth to dip by roughly 1–1.5% in the subsequent quarters.",
      col:P.dIndigo, bg:"EDE7F6" },
    { icon:"🏠", head:"Black Money Stays Hidden",
      body:"Wealthy tax evaders don't hold cash — their wealth is in real estate, gold, and foreign shell companies that demonetisation couldn't reach.",
      col:P.dGreen, bg:"E8F5E9" },
    { icon:"💵", head:"Cash Bounced Back Quickly",
      body:"Currency in circulation rebounded to pre-demonetisation levels within 18–24 months, raising questions about the long-term cash reduction effect.",
      col:P.mCherry, bg:"FCE4EC" },
  ];
  crits.forEach((c, i) => {
    const cx = 0.38 + i * 3.22;
    s.addShape(pres.ShapeType.roundRect, { x:cx, y:2.88, w:3.02, h:2.5,
      fill:{color:c.bg}, line:{color:c.col, pt:1.5}, rectRadius:0.14 });
    s.addShape(pres.ShapeType.rect, { x:cx, y:2.88, w:3.02, h:0.1, fill:{color:c.col}, line:{color:c.col} });
    s.addText(c.icon, { x:cx, y:2.98, w:3.02, h:0.55, fontSize:24, align:"center" });
    s.addText(c.head, { x:cx+0.15, y:3.55, w:2.72, h:0.45,
      fontSize:11.5, bold:true, color:c.col, fontFace:"Calibri", align:"center" });
    divider(s, cx+0.35, 4.0, 2.32, c.col);
    s.addText(c.body, { x:cx+0.15, y:4.1, w:2.72, h:1.2,
      fontSize:10.5, color:P.darkSlate, fontFace:"Calibri", align:"center" });
  });
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 9 — CONCLUSION (Balance Sheet)
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s, P.dIndigo);
  hBar(s, P.gold, 0, 0.08);
  hBar(s, P.cherry, H-0.07, 0.07);

  pill(s, "07  CONCLUSION", 0.38, 0.12, P.gold, P.dIndigo);
  s.addText("Demonetisation — The Verdict", {
    x:0.38, y:0.52, w:9.2, h:0.55, fontSize:27, bold:true, color:P.white, fontFace:"Calibri"
  });
  divider(s, 0.38, 1.12, 9.2, P.cherry);

  // LEFT column — What Worked
  s.addShape(pres.ShapeType.roundRect, { x:0.35, y:1.22, w:4.55, h:3.45,
    fill:{color:"1E2F7A"}, line:{color:"4DB6AC", pt:1.8}, rectRadius:0.15 });
  s.addShape(pres.ShapeType.rect, { x:0.35, y:1.22, w:4.55, h:0.48,
    fill:{color:"4DB6AC"}, line:{color:"4DB6AC"} });
  s.addText("✅  What Worked", { x:0.45, y:1.25, w:4.35, h:0.38,
    fontSize:13.5, bold:true, color:P.white, fontFace:"Calibri" });
  const pros = [
    "Sparked India's digital payments revolution",
    "Made India world leader in real-time payments (49% global share)",
    "Widened the formal tax base — surge in ITR filings",
    "Disrupted terror funding & fake currency networks",
    "Formalised millions of small businesses via GST & banking",
  ];
  pros.forEach((p, i) => {
    s.addText("✦  "+p, { x:0.52, y:1.78+i*0.54, w:4.25, h:0.44,
      fontSize:10.5, color:"B2DFDB", fontFace:"Calibri" });
  });

  // RIGHT column — What Fell Short
  s.addShape(pres.ShapeType.roundRect, { x:5.15, y:1.22, w:4.55, h:3.45,
    fill:{color:"4A0A2A"}, line:{color:"EF9A9A", pt:1.8}, rectRadius:0.15 });
  s.addShape(pres.ShapeType.rect, { x:5.15, y:1.22, w:4.55, h:0.48,
    fill:{color:P.mCherry}, line:{color:P.mCherry} });
  s.addText("⚠️  What Fell Short", { x:5.25, y:1.25, w:4.35, h:0.38,
    fontSize:13.5, bold:true, color:P.white, fontFace:"Calibri" });
  const cons = [
    "99.3% of notes returned — black money largely laundered",
    "Temporary 1–1.5% GDP dip hurt the informal sector",
    "Cash in circulation bounced back within 18–24 months",
    "Wealthy evaders hid wealth in real estate, gold, shell firms",
  ];
  cons.forEach((c, i) => {
    s.addText("✦  "+c, { x:5.25, y:1.78+i*0.54, w:4.35, h:0.44,
      fontSize:10.5, color:"FFCDD2", fontFace:"Calibri" });
  });

  // Final thought strip
  s.addShape(pres.ShapeType.roundRect, { x:0.35, y:4.78, w:9.35, h:0.7,
    fill:{color:"0D1760"}, line:{color:P.gold, pt:1.8}, rectRadius:0.1 });
  s.addText([
    { text:"Final Thought:  ", options:{bold:true, color:P.gold} },
    { text:"A harsh but effective bitter pill that permanently shifted India's trajectory — from a cash-addicted society to a ", options:{color:"E8EAF6"} },
    { text:"digital-first, increasingly formalised economy.", options:{bold:true, color:P.gold} },
  ], { x:0.52, y:4.82, w:9.1, h:0.6, fontSize:11, fontFace:"Calibri", valign:"middle" });
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 10 — THANK YOU
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  bg(s, P.dIndigo);

  // Background geometry
  s.addShape(pres.ShapeType.rect, { x:0, y:0, w:W, h:2.2, fill:{color:"1E2D8A"}, line:{color:"1E2D8A"} });
  hBar(s, P.gold, 0, 0.1);
  hBar(s, P.cherry, 2.2, 0.07);

  s.addText("THANK YOU", { x:0, y:0.55, w:W, h:1.1,
    fontSize:58, bold:true, color:P.white, align:"center", fontFace:"Calibri", charSpacing:8 });

  s.addText("Questions & Discussion Welcome", { x:0.5, y:2.38, w:9.0, h:0.45,
    fontSize:17, bold:true, color:P.amber, align:"center", fontFace:"Calibri" });
  divider(s, 2.0, 2.88, 6.0, P.gold);

  // 4 key stats
  const kstats = [
    { v:"12,000×", l:"UPI volume surge\n(FY17 to FY26)" },
    { v:"₹314 LC",  l:"UPI annual value\n(FY 2025–26)" },
    { v:"99.3%",   l:"Notes returned\nto banking system" },
    { v:"24,162 Cr", l:"Annual UPI\ntransactions FY26" },
  ];
  kstats.forEach((k, i) => {
    const kx = 0.42 + i * 2.3;
    s.addShape(pres.ShapeType.roundRect, { x:kx, y:3.05, w:2.1, h:1.72,
      fill:{color:"1A246E"}, line:{color:P.lIndigo, pt:1.2}, rectRadius:0.14 });
    s.addText(k.v, { x:kx, y:3.12, w:2.1, h:0.72,
      fontSize:k.v.length > 5 ? 18 : 24, bold:true, color:P.amber, align:"center", fontFace:"Calibri" });
    s.addText(k.l, { x:kx, y:3.85, w:2.1, h:0.75,
      fontSize:9.5, color:"9FA8DA", align:"center", fontFace:"Calibri" });
  });

  // UPI logo in corner
  if(upiLogo) {
    s.addImage({ data:upiLogo, x:8.3, y:3.1, w:1.4, h:0.65 });
  }

  s.addText("Sources: RBI Annual Report  •  NPCI / Ministry of Finance  •  PIB India (April 2026)", {
    x:0, y:5.3, w:W, h:0.22, fontSize:8, color:"7986CB", align:"center", fontFace:"Calibri", italic:true });
  hBar(s, P.cherry, H-0.07, 0.07);
}

// ─── SAVE ─────────────────────────────────────────────────────────────────────
pres.writeFile({ fileName:"/home/daytona/workspace/demonetisation-ppt/Demonetisation_v2.pptx" })
  .then(() => console.log("✅  Saved: Demonetisation_v2.pptx"))
  .catch(err => { console.error("❌  Error:", err); process.exit(1); });
Running Command

cd /home/daytona/workspace/demonetisation-ppt && node demonetisation_v2.js 2>&1

Running Command

ls -lh /home/daytona/workspace/demonetisation-ppt/Demonetisation_v2.pptx

Here is your fully redesigned presentation:

Demonetisation v2

Presentation · PPTX


Here's what's new and upgraded in this version:
Visual improvements:
  • Slide 1 (Title) - Split layout with a large decorative ₹ symbol card styled like a rupee note, Indian tricolor stripes as a visual element, and 3 quick-stat tiles
  • Slide 2 (Agenda) - New dedicated table of contents with color-coded numbered cards for each section
  • Slide 3 (Definition) - Large opening quote mark decoration, left-bordered announcement callout box, visual timeline on the right
  • Slide 4 (Objectives) - 4 radiating objective cards surrounding a central "Govt. of India" badge
  • Slide 5 (Impact) - Simulated donut/ring infographic showing the 86% figure visually (ring chart), with 3 challenge cards on the right
  • Slide 6 (Benefits) - Numbered badge cards with icon + colored top-accent design
  • Slide 7 (UPI Chart) - Full bar chart with gradient blue bars (light → deep indigo), UPI official logo embedded, cherry demonetisation marker, and 4 stat callout tiles below
  • Slide 8 (Controversies) - 99.3% as a giant number in a banner callout, plus 3 icon-topped critique cards
  • Slide 9 (Conclusion) - Dark indigo backdrop, two-column verdict (✅ What Worked vs ⚠️ What Fell Short), gold-bordered final thought
  • Slide 10 (Thank You) - 4 key stat tiles, UPI logo embedded, clean corporate footer
This is a shared conversation. Sign in to Orris to start your own chat.