{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "4b3ec532",
   "metadata": {
    "id": "4b3ec532"
   },
   "source": "# BBM92 Kuantum Anahtar Dağıtım Protokolü\n## Uygulamalı Eğitim Dokümanı (Google Colab)\n\n**BBM92**, 1992’de Charles H. Bennett, Gilles Brassard ve N. David Mermin tarafından önerilen **dolaşıklık tabanlı** bir kuantum anahtar dağıtım (QKD) protokolüdür.  \nBB84’ün dolaşıklık versiyonu olarak düşünülebilir. Güvenlik ispatı Bell eşitsizliğine dayanmaz; BB84 ile eşdeğer güvenlik sağlar.\n\n### Bu notebook’ta neler var?\n1. Teorik açıklama\n2. Adım adım Python simülasyonu\n3. İdeal / gürültülü / saldırı senaryoları\n4. Görselleştirme\n5. Deneyler ve performans analizi\n\n> **Not:** Bu bir **klasik simülasyondur**. Gerçek kuantum donanımı (entangled photon source, single-photon detectors) kullanılmaz; dolaşıklık korelasyonları istatistiksel olarak taklit edilir.\n"
  },
  {
   "cell_type": "markdown",
   "id": "80c0c742",
   "metadata": {
    "id": "80c0c742"
   },
   "source": "## 1. BBM92 Protokolünün Adımları\n\n| Adım | Açıklama |\n|------|----------|\n| 1. Dolaşık çift üretimi | Kaynak Bell durumu üretir (ör. $\\|\\Phi^+\\rangle = \\frac{1}{\\sqrt{2}}(\\|00\\rangle + \\|11\\rangle)$) ve bir fotonu Alice’e, diğerini Bob’a gönderir. |\n| 2. Baz seçimi | Alice ve Bob bağımsız olarak rastgele **Z** (dik / H-V) veya **X** (çapraz / ±45°) bazını seçer. |\n| 3. Ölçüm | Her biri kendi fotonunu seçtiği bazda ölçer ve sonucu (0 veya 1) kaydeder. |\n| 4. Sifting | Klasik kanal üzerinden **sadece baz seçimlerini** paylaşırlar. Aynı bazda ölçülen bitler tutulur, diğerleri atılır. |\n| 5. QBER tahmini | Sifted key’in bir kısmı açıkça karşılaştırılarak Quantum Bit Error Rate hesaplanır. |\n| 6. Hata düzeltme + Privacy Amplification | Hatalar düzeltilir, Eve’in bilgisini azaltmak için anahtar kısaltılır → **güvenli anahtar**. |\n\n### Neden güvenli?\nAynı bazda ölçüm yapıldığında dolaşıklık sayesinde sonuçlar mükemmel korelasyon (veya anti-korelasyon) gösterir. Eve kanalı dinlerse bu korelasyonu bozar ve QBER yükselir. QBER belli bir eşiği (yaklaşık %11) aşarsa protokol iptal edilir.\n"
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "f38792c9",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "f38792c9",
    "executionInfo": {
     "status": "ok",
     "timestamp": 1786621441506,
     "user_tz": -180,
     "elapsed": 24,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     }
    },
    "outputId": "e9ae33c9-2849-4ac0-b187-55324bb31191"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Kütüphaneler yüklendi.\n",
      "NumPy sürümü: 2.0.2\n"
     ]
    }
   ],
   "source": "# Gerekli kütüphaneler\nimport numpy as np\nimport matplotlib.pyplot as plt\nfrom collections import Counter\nimport random\n\n# Tekrarlanabilirlik için seed\nnp.random.seed(42)\nrandom.seed(42)\n\nprint(\"Kütüphaneler yüklendi.\")\nprint(f\"NumPy sürümü: {np.__version__}\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "8b2c15d8",
   "metadata": {
    "id": "8b2c15d8"
   },
   "source": "## 2. BBM92 Simülatör Sınıfı\n\nAşağıdaki sınıf protokolün tüm adımlarını simüle eder:\n- Dolaşık çift üretimi (korelasyon / anti-korelasyon)\n- Rastgele baz seçimi\n- Gürültü / Eve etkisi ekleme\n- Sifting\n- QBER tahmini\n- Basit anahtar üretimi\n"
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "d168d6fc",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "d168d6fc",
    "executionInfo": {
     "status": "ok",
     "timestamp": 1786621445967,
     "user_tz": -180,
     "elapsed": 109,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     }
    },
    "outputId": "913b8a70-7c35-4402-bf30-4913fa31ab75"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "BBM92Simulator sınıfı tanımlandı.\n"
     ]
    }
   ],
   "source": "class BBM92Simulator:\n    def __init__(self, n_pairs=1000, noise=0.0, bell_state='phi_plus'):\n        \"\"\"\n        Parametreler\n        ------------\n        n_pairs : int\n            Üretilecek dolaşık foton çifti sayısı\n        noise : float (0.0 - 0.5)\n            Kanal gürültüsü veya Eve etkisi. Her bit bu olasılıkla ters çevrilir.\n        bell_state : str\n            'phi_plus'  → korelasyon  (Alice = Bob)\n            'psi_minus' → anti-korelasyon (Alice = 1 - Bob)\n        \"\"\"\n        self.n_pairs = n_pairs\n        self.noise = noise\n        self.bell_state = bell_state\n        self.bases = ['Z', 'X']  # Z = dik (H/V), X = çapraz (+/-)\n\n    def generate_entangled_outcomes(self):\n        \"\"\"İdeal dolaşıklık + gürültü simülasyonu.\"\"\"\n        # Alice ve Bob bağımsız rastgele baz seçer\n        alice_bases = np.random.choice(self.bases, self.n_pairs)\n        bob_bases   = np.random.choice(self.bases, self.n_pairs)\n\n        # Alice'in ölçüm sonuçları tamamen rastgele (kuantum rastgeleliği)\n        alice_bits = np.random.randint(0, 2, self.n_pairs)\n\n        # Bob'un sonuçları dolaşıklığa göre belirlenir\n        bob_bits = alice_bits.copy()\n\n        if self.bell_state == 'psi_minus':\n            # Anti-korelasyon\n            bob_bits = 1 - bob_bits\n\n        # Farklı bazda ölçüm yapıldıysa korelasyon kaybolur → rastgele sonuç\n        different_basis = (alice_bases != bob_bases)\n        bob_bits[different_basis] = np.random.randint(0, 2, np.sum(different_basis))\n\n        # Gürültü / Eve etkisi: bazı bitleri ters çevir\n        if self.noise > 0:\n            flip_mask = np.random.random(self.n_pairs) < self.noise\n            bob_bits[flip_mask] = 1 - bob_bits[flip_mask]\n\n        return alice_bases, bob_bases, alice_bits, bob_bits\n\n    def sift(self, alice_bases, bob_bases, alice_bits, bob_bits):\n        \"\"\"Sifting: Sadece aynı bazda ölçülen bitleri tut.\"\"\"\n        match = (alice_bases == bob_bases)\n        sifted_alice = alice_bits[match]\n        sifted_bob   = bob_bits[match]\n        return sifted_alice, sifted_bob, match\n\n    def estimate_qber(self, sifted_alice, sifted_bob, sample_ratio=0.2):\n        \"\"\"\n        QBER tahmini: Sifted key'in bir kısmını açıkça karşılaştır.\n        Kalan kısım anahtar adayı olur.\n        \"\"\"\n        n = len(sifted_alice)\n        sample_size = max(1, int(n * sample_ratio)) if n > 0 else 0\n        if sample_size == 0:\n            return 0.0, np.array([]), np.array([])\n\n        idx = np.random.choice(n, sample_size, replace=False)\n        sample_a = sifted_alice[idx]\n        sample_b = sifted_bob[idx]\n\n        errors = np.sum(sample_a != sample_b)\n        qber = errors / sample_size\n\n        # Örneklenen bitler atılır, kalanlar anahtar için kullanılır\n        remaining_mask = np.ones(n, dtype=bool)\n        remaining_mask[idx] = False\n        key_a = sifted_alice[remaining_mask]\n        key_b = sifted_bob[remaining_mask]\n\n        return qber, key_a, key_b\n\n    def run(self, sample_ratio=0.2, qber_threshold=0.11, verbose=True):\n        \"\"\"Tam BBM92 protokolünü çalıştırır.\"\"\"\n        if verbose:\n            print(f\"▶ {self.n_pairs} dolaşık çift üretiliyor (noise={self.noise}, state={self.bell_state})...\")\n\n        a_bases, b_bases, a_bits, b_bits = self.generate_entangled_outcomes()\n\n        if verbose:\n            print(\"▶ Sifting yapılıyor...\")\n        sifted_a, sifted_b, match = self.sift(a_bases, b_bases, a_bits, b_bits)\n        sift_rate = np.mean(match)\n\n        if verbose:\n            print(f\"   Sift oranı: %{sift_rate*100:.1f}  →  {len(sifted_a)} bit kaldı\")\n\n        if verbose:\n            print(\"▶ QBER tahmin ediliyor...\")\n        qber, key_a, key_b = self.estimate_qber(sifted_a, sifted_b, sample_ratio)\n\n        if verbose:\n            print(f\"   Tahmini QBER: %{qber*100:.2f}\")\n\n        if qber > qber_threshold:\n            if verbose:\n                print(f\"❌ QBER eşiği aşıldı (%{qber_threshold*100:.0f}). Protokol iptal edildi!\")\n            return None\n\n        remaining_errors = np.sum(key_a != key_b)\n        if verbose:\n            print(f\"   Kalan anahtar adayı: {len(key_a)} bit\")\n            print(f\"   (Hata düzeltme öncesi uyumsuz bit sayısı: {remaining_errors})\")\n\n        # Çok kaba privacy amplification tahmini\n        # Gerçekte: 1 - h(QBER) - leak  formülü kullanılır\n        final_key_length = max(0, int(len(key_a) * (1 - 2.2 * qber - 0.05)))\n        final_key = key_a[:final_key_length]\n\n        if verbose:\n            print(f\"✅ Yaklaşık güvenli anahtar uzunluğu: {len(final_key)} bit\")\n\n        return {\n            'sifted_length': len(sifted_a),\n            'qber': qber,\n            'final_key': final_key,\n            'final_key_length': len(final_key),\n            'alice_bases': a_bases,\n            'bob_bases': b_bases,\n            'sift_rate': sift_rate\n        }\n\nprint(\"BBM92Simulator sınıfı tanımlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "d45bd34b",
   "metadata": {
    "id": "d45bd34b"
   },
   "source": "## 3. Protokolü Farklı Senaryolarda Çalıştırma\n\nÜç farklı durumu inceleyelim:\n1. **İdeal** (noise = 0) → neredeyse sıfır hata\n2. **Hafif gürültü** (noise = 0.05) → gerçekçi kanal\n3. **Yüksek gürültü / saldırı** (noise = 0.15) → protokol muhtemelen iptal olur\n"
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "8bf328b1",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "8bf328b1",
    "executionInfo": {
     "status": "ok",
     "timestamp": 1786621454259,
     "user_tz": -180,
     "elapsed": 36,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     }
    },
    "outputId": "5b09fc50-ef67-4b36-a3f8-c98086a00dd6"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "=================================================================\n",
      "1. İDEAL DURUM (noise = 0.0)\n",
      "=================================================================\n",
      "▶ 5000 dolaşık çift üretiliyor (noise=0.0, state=phi_plus)...\n",
      "▶ Sifting yapılıyor...\n",
      "   Sift oranı: %47.7  →  2385 bit kaldı\n",
      "▶ QBER tahmin ediliyor...\n",
      "   Tahmini QBER: %0.00\n",
      "   Kalan anahtar adayı: 1908 bit\n",
      "   (Hata düzeltme öncesi uyumsuz bit sayısı: 0)\n",
      "✅ Yaklaşık güvenli anahtar uzunluğu: 1812 bit\n",
      "\n",
      "=================================================================\n",
      "2. GÜRÜLTÜLÜ KANAL (noise = 0.05)\n",
      "=================================================================\n",
      "▶ 5000 dolaşık çift üretiliyor (noise=0.05, state=phi_plus)...\n",
      "▶ Sifting yapılıyor...\n",
      "   Sift oranı: %49.4  →  2471 bit kaldı\n",
      "▶ QBER tahmin ediliyor...\n",
      "   Tahmini QBER: %5.87\n",
      "   Kalan anahtar adayı: 1977 bit\n",
      "   (Hata düzeltme öncesi uyumsuz bit sayısı: 90)\n",
      "✅ Yaklaşık güvenli anahtar uzunluğu: 1622 bit\n",
      "\n",
      "=================================================================\n",
      "3. YÜKSEK GÜRÜLTÜ / EVE SALDIRISI (noise = 0.15)\n",
      "=================================================================\n",
      "▶ 5000 dolaşık çift üretiliyor (noise=0.15, state=phi_plus)...\n",
      "▶ Sifting yapılıyor...\n",
      "   Sift oranı: %50.4  →  2521 bit kaldı\n",
      "▶ QBER tahmin ediliyor...\n",
      "   Tahmini QBER: %15.48\n",
      "❌ QBER eşiği aşıldı (%11). Protokol iptal edildi!\n"
     ]
    }
   ],
   "source": "print(\"=\" * 65)\nprint(\"1. İDEAL DURUM (noise = 0.0)\")\nprint(\"=\" * 65)\nsim_ideal = BBM92Simulator(n_pairs=5000, noise=0.0, bell_state='phi_plus')\nresult_ideal = sim_ideal.run()\n\nprint(\"\\n\" + \"=\" * 65)\nprint(\"2. GÜRÜLTÜLÜ KANAL (noise = 0.05)\")\nprint(\"=\" * 65)\nsim_noisy = BBM92Simulator(n_pairs=5000, noise=0.05, bell_state='phi_plus')\nresult_noisy = sim_noisy.run()\n\nprint(\"\\n\" + \"=\" * 65)\nprint(\"3. YÜKSEK GÜRÜLTÜ / EVE SALDIRISI (noise = 0.15)\")\nprint(\"=\" * 65)\nsim_attack = BBM92Simulator(n_pairs=5000, noise=0.15, bell_state='phi_plus')\nresult_attack = sim_attack.run()\n"
  },
  {
   "cell_type": "markdown",
   "id": "fe00d821",
   "metadata": {
    "id": "fe00d821"
   },
   "source": "## 4. Görselleştirme\n\nAşağıdaki grafiklerde:\n- Alice ve Bob’un baz seçimleri\n- Sifting sonrası kalan / atılan bit oranları\n- Sifted key içindeki korelasyon (QBER göstergesi)\ngörülür.\n"
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "e7043750",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 753
    },
    "id": "e7043750",
    "executionInfo": {
     "status": "ok",
     "timestamp": 1786621463764,
     "user_tz": -180,
     "elapsed": 1120,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     }
    },
    "outputId": "d499474b-923f-4b35-dd9e-8ac21bd200d6"
   },
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 1500x450 with 3 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAG+CAYAAAB8uE2WAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAlkZJREFUeJzs3Xd8jff///HnySaRRIxElJi1Ss0atamtFEVt9aEtqqhZNao2tXerRoXa2pq1itql9qyqWZtEkH39/vDL9XUkJwnCSfRxv93Orbne7/d1Xa/3Sep1zutc531ZDMMwBAAAAAAAAAAAYnGwdwAAAAAAAAAAACRXFNEBAAAAAAAAALCBIjoAAAAAAAAAADZQRAcAAAAAAAAAwAaK6AAAAAAAAAAA2EARHQAAAAAAAAAAGyiiAwAAAAAAAABgg5O9AwAAAMD/WbRokS5evCgvLy+1b9/e3uEAAAAAwH+exTAMw95BAAAA4JGKFStq69atCggI0D///GPvcAAAAADgP4/lXAAAAAAAAAAAsIEr0QEAAAAAAAAAsIEr0QEAAF4BFovFfMyZM8cuMWTLls2MYdCgQXaJAdKxY8fk6Ogoi8Wi2rVr2y2OQYMGmX8P2bJls1scKcHo0aPN52r69On2DgcAAABPoIgOAACQTPz222/Johj+Ms2ZM8dqzjEPJycn+fj4qHjx4urdu7euXLkSa982bdrEua+rq6v8/PxUqVIljR8/Xg8fPoy17+MFf4vFIhcXF129ejXWuMjISGXJkiXWOZ50//59DR8+XMWLF1eaNGnk5uamXLlyqVOnTrp48WKc4xcuXKiPPvpIxYoVU+bMmeXi4iIvLy+VKFFCQ4cOVUhIyDM9p1988YWio6MlSb169XqmY+D5hIaGatSoUSpWrJg8PT3l7u6uN954Q19++aWCgoJijf/oo4/k6ekpSRo8eLAePHjwskMGAABAPJzsHQAAAADwpKioKN25c0f79+/X/v37NXv2bO3bt08BAQEJ7hseHq5r167p2rVr+u2337RkyRJt3bpVTk62X/pGRERo+vTpsa6gX758uS5duhTv+a5cuaJKlSrp9OnTVu1nz57V1KlTFRgYqNWrV+vtt982+44cOaJmzZrFGccff/yhP/74Q3PmzNHWrVvl7++f4Jxj7N+/Xz///LMk6c0331SFChUSvW9Sq1atmjw8PCRJXl5edovjZbt165beeecd/fnnn1btx44d07FjxxQYGKjNmzcre/bsZp+np6fatGmjiRMn6t9//9X06dPVvXv3lx06AAAAbOBKdAAAACQbH3/8sUaPHq2hQ4eqUqVKZvuNGzc0bty4ePcdPXq0Ro8erYEDByp37txm+86dO7Vq1aoEzz1jxgyFh4dbtU2cODHB/f73v/+ZBXRnZ2d16NBBAwYMUJ48eSRJQUFBaty4cZxXIKdOnVoNGjTQV199pc8//1x+fn5m319//fXUV5LPmDHD/Llp06ZPtW9SK1OmjHr06KEePXqoffv2do3lZerQoYNZQE+VKpW6du2qPn36KF26dJKkf/75R02bNjW/LRDj8d/XzJkzX17AAAAASBBFdAAAgBQiMjJSI0aMUO7cueXq6qqcOXNqyJAhioiISHDf7du3q2nTpsqaNatcXV3l6emp0qVLa8qUKXHu//3336tx48bKly+f0qdPL2dnZ3l6eqpw4cLq3bu3bt68+SKmqCZNmqhHjx764osvtGHDBnl7e5t9J0+ejHffmILtoEGDtHDhQqu++PZ1cHj0kvjq1atavHix2X7gwAHt2LFDkuTo6BjnvlevXtW6devM7d69e2vGjBn66quvtHnzZvPYV65c0ffff2+Oc3d31+DBg3X58mUtW7ZMAwYM0JgxY3To0CFlyJDBHLd27dp45/y4hw8f6scffzS3GzZsGGvMk+vW79+/X3Xq1JG3t7dSp06tcuXK6ffff4/z+JcvX1bPnj1VsGBBeXh4yM3NTdmyZVOLFi20d+/eWOPjWxP9/Pnz+uijj5Q7d26lSpVKbm5uypw5s95++211795dJ06ciHW8p/0btofjx49r+fLl5vaECRM0btw4DR8+3Opvcu/evVq/fr3VvqVKlVLmzJklSadOnTL/9gAAAGB/FNEBAABSiJYtW6pv377666+/FB4err///lv9+/fXe++9F+9+/fr1U/ny5bVo0SJdvHhR4eHhunfvnnbv3q3OnTurSpUqun//vtU+U6dO1ZIlS3Ty5EndunVLkZGRunfvng4dOqRRo0apcOHCca5TnlQiIiK0fv16BQcHm22PX6Udn/v375tLmiRm38qVK5vLjkyaNMlsnzBhgvlz3bp149z33LlzMgzD3H7zzTfNn/39/ZU+fXpze/Xq1ebPBQsWVP/+/a0+JJCkjBkzqnz58ub2k1fGx2f37t26d++eJClDhgxWV+PHZe3atSpdurRWr16toKAgPXz4UL///ruqVq0aq4i9bds2FSxYUGPGjNHRo0d1//59hYWF6fz58woMDFTp0qU1duzYRMV5/fp1lShRQjNnztRff/2l0NBQhYWF6cqVK9q5c6fGjRunrVu3Wu3zLH/D8alYsWKc6+nbeiT2RrlP/t09/kFG1apVzXXP4xprsVhUqlQpc3vDhg2Jng8AAABeLNZEBwAASAGWLl1qdZVxrly51LhxY12+fFk//PCDzf1+/PFHDRs2zNyuXr263n77bV27dk1z585VSEiItm/frm7dulktIZExY0bVrVtXOXPmlI+PjxwdHXX58mUtWrRIt27d0uXLlzVkyBBNnTo1Sef5+BIuj0uVKpW6dOkS775x3fBTknLmzKlGjRrZ3M/Ly0utW7fWlClTtHfvXu3evVs5cuTQokWLJEkVKlTQm2++qZUrV8a57+OOHDlinuvff//VrVu3zL6jR4/GG3+MU6dOmT+/9dZbidpHenSldoxixYolOH7v3r167bXX1Lx5c128eFELFiyQJIWFhWnChAmaPn26JOnu3btq0KCB7ty5I+nR76Jt27by9PTUwoULdf78eUVHR6tHjx4qVqxYguuwL1u2TDdu3JAkpU2bVm3btlW6dOl05coVnTx50moe0rP/DdvD4cOHzZ+9vLzk4+NjblssFmXPnl2HDh2KNTZGiRIltGzZMkmK9TwAAADAfiiiAwAApADfffed+bOXl5f27NljFuhef/119evXL879Ro0aZf7cqlUrzZ0719yuUKGCGjduLEmaPXu2RowYYR5zzZo1evDggXbt2qW///5bISEhyp49u8qWLauffvpJkmItR/GiODg4aObMmSpatOhT75suXTqtWLHCvNLclk8//VRTp06VYRiaOHGi8ubNq7CwMElSly5d4ix4SlK+fPmUM2dOnT17VpI0YsQIXbt2TX5+flq8eLGioqLMsTFF6PiMHDnSLLY7ODjoyy+/TNQ8JZkxSFKWLFkSHO/u7q49e/aYNy598OCB+UHBvn37zHFz5syx+jBg2bJlqlmzpiSpW7duypkzp0JCQmQYhsaNG5dgET00NNT8uXHjxvrmm2+s+u/fv6+QkBBz+1n/huPzySefqE6dOgmOi1GmTJlEjbt9+7b58+NXncdIkyaN+fPjz2mM1157zfz58d8nAAAA7IsiOgAAQArwxx9/mD/XqFHDqlDYokWLOIvoDx480MGDB83tefPmad68eXEePzIyUnv37lWNGjUkSWPHjtXAgQOtiplPunTp0tNOI0Eff/yxcubMqfDwcP3xxx9asWKFoqOj1apVK0VFRal169Y29x09erQkKSQkRGvWrNG+fft069YtlS9fXlu3blWhQoVs7psnTx7VqFFDa9eu1dKlS81lVgICAlSvXj2bRXSLxaLvv/9eNWrU0MOHDxUeHm51c8/Hubi42Dy/YRgaOHCgvv76a7Nt4sSJNq/Mj0vM1d2SElVIrlevnllAl2TeCFWyLvjv2rXL/DlDhgxmAV169I2FmjVrasmSJbHG2vL222/LYrHIMAzNmDFD+/btU/78+ZUnTx4VL15clSpVkq+vr6Tn+xuOT5MmTRIc87weX+YnvrbHxdx8VLL+fQIAAMC+KKIDAACkAHfv3jV/zpgxo1VfTMHxSXfu3EmwaPe4mKLdypUr9fnnnyc4/mnW606sJk2aqGLFiuZ2mzZtNHfuXBmGoe7du6tx48ZKlSpVnPv26NHD/Llfv34qUKCAzpw5o7t376pPnz5as2ZNvOfu0qWL1q5dq4iICPO56NSpk82bisYoX7689u/fr2HDhmnTpk26deuWMmfOrEqVKik4OFhLly6VJKuC9ePCwsLUtm1b88aTjo6Omj59uv73v//Fe97n9eTNPl1dXc2fo6OjzZ8fv7o6rr+1x9sSc7X9W2+9pbFjx6p///4KCQnRgQMHdODAAbM/ffr0WrJkiSpWrPjMf8MJiVlbPbHKlCmTqKvRHy+Cx6xP/7jH2x5fLz/G08wVAAAALw9FdAAAgBTA29vbXP7h+vXrVn3Xrl2zuc/j3n33XZUrV87mOWKWS4lZC1ySPDw8tHz5cpUrV05ubm6aOnWqOnXq9CxTeCZvvfWWuXzH7du3derUKRUuXDjB/ZydnVW4cGGdOXNGkrRz584E96levbry5MljrkmeOnXqRBey8+XLF2ttesMwrG40Wrp06Vj73bhxQ/Xr1zfj8/Dw0OLFi62u9k6sx4uyiSlmOzs7W23bWlP+8ava4/pbe7wtbdq0CZ5Xkrp27aoOHTpo9+7dOnbsmM6cOaN169bpzJkzunnzplq3bq3z588/899wQqZNmxbr5qXxGThwYKKK6IUKFTLXlg8KCtKtW7fMwnp0dLTOnTtnji1YsGCs/R//wCJDhgyJjg8AAAAvFkV0AACAFKB48eLmGuTr1q3T7du3zeLm/Pnz49zH3d1dhQsXNpfDuHXrlj777LNYxdOgoCCtXbtWBQoUMMfFyJEjh9555x1Jj4qAMVdVvyyPr80tyWqN8fhERkZaLQOSmP0sFou6dOlifkjQokWLRBWF7927Jzc3t1jP68iRI3XkyBFzu23btlb9J0+eVO3atfX3339LkjJnzqxVq1Yl6kOCuOTIkcP8+Wmusk5ImTJltHjxYkmPiv5r1641i/zXr1/X2rVrrcYm5MqVK3J0dJSvr68qV66sypUrS5L+/PNPswh+4cIFswD9LH/D9lK3bl316dPH3F6+fLnat28v6dE9BB6/Er1evXqx9n/89/b47xMAAAD2RREdAAAgBWjXrp1ZRA8KClLJkiXVpEkTXbp0KdYV0I/r2bOnmjdvLknasWOHChUqpLp16ypt2rS6deuW/vzzT/3+++/KlCmTmjZtKunR2tgbNmyQJB0+fFgffPCB8uXLp7Vr12r37t0vdJ6LFi3SH3/8oYiICO3fv1/Lly83+zw9PfXGG2/Y3HfMmDGSHt2Ycu3ateZV6NKjdbgTo02bNuayKyVLlkzUPlu3blWbNm1Us2ZN5ciRQ6Ghodq+fbvV+uCNGjWyuuHm2bNnVbp0aXOZHovFokaNGmnjxo3auHGj1fE7dOgQ500qn/T4HB9fHuV5tW7dWl9//bX54UrDhg314YcfytPTUwsWLDDXzbdYLOratWuCx9u2bZuaN2+usmXLKl++fPL391dUVJTV79rFxUWpU6eW9Gx/wwn57bffnuIZSLz8+fOrYcOGWrZsmSTps88+04kTJ+Tm5ma1Vv5bb72latWqxdr/8XsfxHfFPQAAAF4uiugAAAApwPvvv6/333/fvIHjX3/9paFDh0qSKlasaLMo2KxZMx09elTDhw+X9Ojq55MnT8Z7rs8++0xz5841r5r98ccfJUlOTk5q3ry5AgMDk2JKcZo+fXqc7RaLRRMmTLBat/tJPXv2jLPd29tbo0aNStT5U6dOrfr16ydq7ONu3bpl8xsBNWvW1OzZs63aLl68aLXOvWEYmjBhQpz7N2rUKFFF9DJlyih16tR68OCBrl27pnPnzil79uyJn4QN3t7eWr58uerVq6e7d+/q4cOHmjJlitUYBwcHjRo1yuqDgvhER0dr27Zt2rZtW5z9nTt3Nte+f5a/YXuaMWOGzp49q4MHD+rhw4caN26cVX9AQIAWLlwoBwcHq3bDMKw+pIr5BggAAADszyHhIQAAAEgOAgMDNXToUOXIkUPOzs7Kli2b+vXrZ7WcRlyGDRumHTt2qEWLFsqePbtcXV3l7OyszJkzq1q1auYNMWPkypVL27ZtU7Vq1ZQ6dWp5eHioQoUK2rRpk6pWrfqip2lKlSqVcubMqZYtW2rnzp1q06ZNovazWCxKkyaN3nzzTXXv3l2HDx9WoUKFXlicb7zxhjp06KACBQoobdq0cnZ2lq+vr+rUqaMlS5Zo9erV8vDweGHnj+Hu7q4mTZqY20m59E758uV19OhRff755ypQoIBSp04tFxcXZc2aVc2bN9fOnTsTdTNaSSpbtqyGDh2q2rVrK2fOnEqTJo2cnJyUIUMGValSRXPmzNE333xjtc/T/g3bU7p06bRz506NGDFCRYoUkbu7u1KlSqX8+fPriy++0MGDB+NcqmX37t26fPmyJOn1119X2bJlX3boAAAAsMFicAt4AAAA4JWwb98+vfXWW5Ie3WRz//79do4IifXZZ59p4sSJkh4tTZTYDyUAAADw4lFEBwAAAF4hdevW1apVqyRJ27dv54rmFCA4OFhZsmRRcHCwMmXKpL/++stcEx4AAAD2x3IuAAAAwCtk+PDh5nrbI0aMsHM0SIwZM2YoODhYkjRgwAAK6AAAAMkMV6IDAAAAAAAAAGADV6IDAAAAAAAAAGADRXQAAAAAAAAAAGygiA4AAAAAAAAAgA0U0QEAAAAAAAAAsIEiOgAAAAAAAAAANlBEBwAAAAAAAADABoroAAAAAAAAAADYQBEdAAAAAAAAAAAbKKIDAAAAAAAAAGADRXQAAAAAAAAAAGygiA4AAAAAAAAAgA0U0QEAAAAAAAAAsIEiOgAAAAAAAAAANlBEBwAAAAAAAADABoroAAAAAAAAAADYQBEdAAAAAAAAAAAbKKIDAAAAAAAAAGADRXQAAAAAAAAAAGygiA4AAAAAAAAAgA0U0QEAAAAAAAAAsIEiOgAAAAAAAAAANlBEBwAAAAAAwEuXLVs2tWnTxqrtzJkzqlatmry8vGSxWLRy5coXGoPFYtGgQYNe6Dn+C+L6XQKvEoroAAAAAAAASDJHjhxRo0aNFBAQIDc3N2XOnFnvvPOOJk2alOC+rVu31pEjRzR06FD98MMPKl68uBYsWKDx48e/+MBt+Oeff2SxWDRmzBirdsMw9NFHH730QnzFihX1xhtvxGrftGmTUqdOraJFi+r27dsvLR7gv8DJ3gEAAAAAAADg1bBz505VqlRJWbNmVfv27eXn56eLFy9q9+7dmjBhgj799FNz7KlTp+Tg8H/Xdz58+FC7du1Sv3791LlzZ7N9wYIFOnr0qLp27foypxIvwzDUsWNHzZw5U/3797f71eybN29W3bp1lSdPHm3cuFE+Pj52jQd41VBEBwAAAAAAQJIYOnSovLy8tG/fPnl7e1v1Xb9+3Wrb1dXVavvGjRuSFGu/5OjTTz/V9OnT1a9fPw0ePNiusWzdulV169bV66+/nmQF9AcPHih16tRJEB3wamA5FwAAAAAAACSJs2fPqkCBAnEWwjNmzGi1/fg62oMGDVJAQIAkqWfPnrJYLMqWLZsqVqyo1atX6/z587JYLGZ7jLCwMA0cOFC5cuWSq6ursmTJol69eiksLMzqXGFhYerWrZsyZMigNGnS6N1339WlS5eeaY6fffaZpkyZor59+2rIkCGxzpNQPBUqVNCbb74Z57Hz5Mmj6tWrJzqW7du3q3bt2sqVK5c2btyodOnSWfVPnTpVBQoUkKurq/z9/dWpUyfdvXvXakzM8jD79+9X+fLllTp1an3xxReJnk9cbt++rR49eqhgwYLy8PCQp6enatasqUOHDsUaO2nSJBUoUECpU6dW2rRpzSV8JGnLli2yWCxasWJFrP0WLFggi8WiXbt2mW2bN29WuXLl5O7uLm9vb9WrV08nTpyw2m/QoEGyWCz666+/1KZNG3l7e8vLy0tt27bVgwcPzHExy/jMmTMn1rlZS/+/hyvRAQAAAAAAkCQCAgK0a9cuHT16NM51u21p0KCBvL291a1bN33wwQeqVauWPDw85O7urqCgIF26dEnjxo2TJHl4eEiSoqOj9e677+r3339Xhw4dlC9fPh05ckTjxo3T6dOnrW5K+r///U/z589Xs2bNVKZMGW3evFm1a9d+6vl169ZNEydOVO/evTVs2DCrvsTG07JlS7Vv3z7Wc7Rv3z6dPn1aX375ZaJi2bFjh2rVqqXs2bNr06ZNSp8+vVX/oEGD9NVXX6lq1ar65JNPdOrUKU2bNk379u3Tjh075OzsbI69deuWatasqaZNm6pFixby9fV9quf3SX///bdWrlyp999/X9mzZ9e1a9c0Y8YMVahQQcePH5e/v78k6dtvv1WXLl3UqFEjffbZZwoNDdXhw4e1Z88eNWvWTBUrVlSWLFkUGBio9957z+ocgYGBypkzp0qXLi1J2rhxo2rWrKkcOXJo0KBBevjwoSZNmqS3335bBw4csPrwRZIaN26s7Nmza/jw4Tpw4IC+++47ZcyYUSNHjkzU84//GAMAAAAAAABIAr/++qvh6OhoODo6GqVLlzZ69eplrF+/3ggPD481NiAgwGjdurW5fe7cOUOSMXr0aKtxtWvXNgICAmLt/8MPPxgODg7G9u3brdqnT59uSDJ27NhhGIZhHDx40JBkdOzY0Wpcs2bNDEnGwIED451TTFwBAQGGJKNnz55xjktsPHfv3jXc3NyM3r17W43r0qWL4e7uboSEhMQbT4UKFQwfHx8jTZo0RoECBYzr16/HGnP9+nXDxcXFqFatmhEVFWW2T5482ZBkfP/991bHk2RMnz79meZjGLF/l6GhoVbnNYxHz6Orq6sxePBgs61evXpGgQIF4p1v3759DVdXV+Pu3btW83NycrL63RUuXNjImDGjcevWLbPt0KFDhoODg9GqVSuzbeDAgYYk48MPP7Q6z3vvvWekS5fOKl5JxuzZs2PFlJi/G7xaWM4FAAAAAAAASeKdd97Rrl279O677+rQoUMaNWqUqlevrsyZM+vnn39O0nMtWbJE+fLlU968eXXz5k3zUblyZUmPlgKRpDVr1kiSunTpYrX/096o9Nq1a5Kk119//bni8fLyUr169bRw4UIZhiFJioqK0qJFi1S/fn25u7snGMv9+/d17949+fr6ytPTM1b/xo0bFR4erq5du1rdvLV9+/by9PTU6tWrrca7urqqbdu2zzSfuLi6uprnjYqK0q1bt+Th4aE8efLowIED5jhvb29dunRJ+/bts3msVq1aKSwsTEuXLjXbFi1apMjISLVo0UKS9O+//+rgwYNq06aN1ZrwhQoV0jvvvGP+DTzu448/ttouV66cbt26peDgYJux4L+LIjoAAAAAAACSTIkSJbR8+XLduXNHe/fuVd++fXXv3j01atRIx48fT7LznDlzRseOHVOGDBms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559/lr+/v61DsXvkbsfBZw7QcIwj+0Xurjtyt+PgMwdoOMaR/apr7m4RRXRvb285OTnpRLWZLydOnKh12r+bm5vc3NwstrVr164pQ0QDeXl58SEENBDjyD61tFls55G7mz8+c4CGYxzZJ3I3ubu54jMHaDjGkX2qS+5uEQ8WdXV1VWhoqNLS0szbqqqqlJaWpvDwcBtGBgAAakPuBgDAsZC7AQDNWYuYiS5JM2fO1IQJE9S3b1/1799fr7zyin755RdNnDjR1qEBAIBakLsBAHAs5G4AQHPVYoro48aN06lTp/Tss88qPz9fISEh2rhxY42HnsCxuLm5KS4ursZlgADqjnEEe0Xubp74zAEajnEEe0Xubp74zAEajnHk+EyGYRi2DgIAAAAAAAAAAHvUIu6JDgAAAAAAAABAfVBEBwAAAAAAAADACoroAAAAAAAAAABYQREdAAAAdsFkMumDDz6wdRiAzURFRWnkyJFW98+bN08hISF17i85OVnt2rVrcFwAUBeXyuO5ubkymUzKysq6YjEBV5It8vjl9on6o4gOh7N582aZTCary6BBg2wdImD3KisrFRERodGjR1tsP3funAICAvT000/bKDIAtpSRkSEnJycNGzbM1qEAdi8qKqrW76Lff/+9rUMD0ELZex4PCAhQXl6eevbsKen/f9sXFBTYNjC0SM0lj8fGxiotLc28fqlCPuqPIjocTkREhPLy8mos//znP2UymTR16lRbhwjYPScnJyUnJ2vjxo1auXKleXtMTIzat2+vuLg4G0YHwFYSEhIUExOjf//73zp+/LitwwHs3pAhQ2p8J+3UqdNl91NZWamqqqomiBBAS2LvedzJyUl+fn5ydna2dSiApOaRx9u0aaMOHTrY5NwtDUV0OBxXV1f5+flZLGfPnlVsbKzmzJmj3/72t7YOEXAIXbp00cKFCxUTE6O8vDxt2LBBKSkpWrFihVxdXW0dHoArrKioSKtXr9aUKVM0bNgwJScnS5IMw1Dnzp21aNEii/ZZWVkWs3VMJpPeeustjRo1Sh4eHgoODtaHH35obl/X2WZ5eXm699575e7urhtuuEHvvfeexf4nn3xSXbp0kYeHh2644QbNnTtX5eXl5v1BQUG1zioCmoKbm1uN76VOTk5asmSJevXqJU9PTwUEBGjq1KkqKioyH3f+8uwPP/xQPXr0kJubm44cOVKj/127dsnHx0cvvPBCreev62yzDz74QMHBwWrdurUiIyN19OhR876DBw9qxIgR8vX1VZs2bdSvXz998cUX5v3WrgKNioqq+xsFoMk5Qh6/8HYuubm55qvIr776aj5XYBPNIY9feDuXefPmafny5dqwYYM5X2/evPmy3hNYRxEdDq+goEAjRozQwIED9dxzz9k6HMChxMTEqHfv3nr44Yc1efJkPfvss+rdu7etwwJgA2vWrFG3bt3UtWtXPfTQQ0pMTJRhGDKZTHrkkUeUlJRk0T4pKUm33367OnfubN42f/58jR07Vnv27NHQoUM1fvx4nTlz5rLimDt3rsaMGaOvv/5a48eP1wMPPKDs7Gzz/quuukrJycn69ttvtXTpUr355pt6+eWXzft37dplnkl07NgxhYWF6bbbbqvnuwLUT6tWrfTqq69q3759Wr58udLT0zVr1iyLNsXFxXrhhRf01ltvad++ferYsaPF/vT0dN199916/vnn9eSTT9Y7luLiYj3//PNasWKFtm7dqoKCAj3wwAPm/UVFRRo6dKjS0tL01VdfaciQIRo+fLi5GFD9KtD09HS1bt1at99+e71jAtD4HCWPnxcQEKB169ZJknJycpSXl6elS5fW45UDjc+R8viFYmNjNXbsWIsZ9hEREfU+N6oxAAdWWVlp3HvvvUb37t2NwsJCW4cDOKTs7GxDktGrVy+jvLzc1uEAsJGIiAjjlVdeMQzDMMrLyw1vb29j06ZNhmEYxo8//mg4OTkZO3bsMAzDMMrKygxvb28jOTnZfLwk45lnnjGvFxUVGZKMTz75xDAMw9i0aZMhyTh79qzVGCQZjz/+uMW2AQMGGFOmTLF6zEsvvWSEhobWuu+JJ54wAgMDjZMnT1p/4UA9TZgwwXBycjI8PT3Ny/33319r27Vr1xodOnQwryclJRmSjKysrBp9jhgxwnj//feNNm3aGCkpKRb74+LijN69e9dob83582zfvt287XzePz+ea3PTTTcZr732Wo3tp0+fNm644QZj6tSpVo8FYBuOkMcPHTpkSDK++uqrOvcJNJXmkscvt0/UHzeigkObM2eOMjIytHPnTl111VW2DgdwSImJifLw8NChQ4d07NgxBQUF2TokAFdYTk6Odu7cqfXr10uSnJ2dNW7cOCUkJGjgwIHy9/fXsGHDlJiY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jnF1da0xni6le/fu2rFjh8W27du3X/K4vXv3ysXFRTfddNNlnQ8AAKCloIgOAADQgkVGRmrfvn3mWbKBgYEymUxKTU3VqVOnVFRUJEm688479fbbb2vLli365ptvNGHChBoPDw0KClJaWpry8/PN/d15553avXu3VqxYoQMHDiguLk579+61Gk/Xrl01ZMgQPfbYY9qxY4cyMzP16KOPWjzg1N3dXWFhYVq4cKGys7P15Zdf6plnnqnRV25urn788UcNHjy4we8T0BDVx1lwcLB2796tTz/9VN99953mzp2rXbt2WRwTFBSkPXv2KCcnR6dPn67TFRxPPPGENm7cqEWLFunAgQP6+9//fsn7oUu/Pvj0tttuq/ODhAEAAFoaiugAAAAtWK9evXTLLbdozZo1kqRrr71W8+fP11NPPSVfX19Nnz5dkjR79mzdcccduu+++zRs2DCNHDlSN954o0Vfixcv1ueff66AgADz7O/IyEjNnTtXs2bNUr9+/fTzzz/r97///UVjSkpKkr+/v+644w6NHj1akydPVseOHS3aJCYmqqKiQqGhoZoxY4b++te/1uhn1apVuueeexQYGFjv9wdoDNXH2WOPPabRo0dr3LhxGjBggH766SdNnTrV4phJkyapa9eu6tu3r3x8fLR169ZLnicsLExvvvmmli5dqt69e+uzzz6r9T+YqktJSdGkSZPq9+IAAABaAJNR/SaVAAAAaFE++ugj/fnPf9bevXvN9xt3dGVlZQoODta7776rW2+91dbhAHY7zj755BP96U9/0p49e+Ts7GzrcAAAAOwS35IAAABauGHDhunAgQP68ccfFRAQYOtwGsWRI0c0Z84cCuiwG/Y6zn755RclJSVRQAcAALgIZqIDAAAAAAAAAGCF/VxHCAAAAAAAAACAnaGIDgAAAAAAAACAFRTRAQAAAAAAAACwgiI6AAAAAAAAAABWUEQHAAAAAAAAAMAKiugAAAAAAAAAAFhBER0AAAAAAAAAACsoogMAAAAAAAAAYAVFdAAAAAAAAAAArKCIDgAAAAAAAACAFf8HpLzBYtCmM2QAAAAASUVORK5CYII=\n"
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 1500x450 with 3 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAG+CAYAAAB8uE2WAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAtOxJREFUeJzs3Xlcjen/P/DXaU/pJFIiyRayjjWDQkplZ0iW0FiGGLIziJmxZIts4zOWQRlrjbFEEVmyZbINMSYyqJBKpf3+/eHX/e10Oi1UJ7yej895fLrv631f9/s6Ze5z3uc61y0RBEEAERERERERERERERHJUVF2AkREREREREREREREFRWL6ERERERERERERERECrCITkRERERERERERESkAIvoREREREREREREREQKsIhORERERERERERERKQAi+hERERERERERERERAqwiE5EREREREREREREpACL6ERERERERERERERECrCITkRERERERERERESkAIvoRERERCUgkUggkUhw9uxZnD17VtwuDZ6enpBIJLCxsQEA2NjYQCKRwNPTs8D4OnXqiOdXFFMco0aNgkQiwahRo2T63blzZ4HxuedUFPP48WOx/fHjx9i5cyckEgnq1KnzwTlS6dmyZYv4+1m5cqXS8sj9+877t0cV24EDB8Tf2Zw5c5SdDhEREVG5YRGdiIiIviivX7+Gl5cX7OzsYGJiAi0tLWhqaqJGjRro0qULZs6cifPnz0MQBGWn+lFKq8CubLkF/vwPTU1NGBsbo2vXrvD29sa7d+/kjs37HOR9aGtro06dOujXrx8OHjwod1zeDwFyH82bNy8wv/v370NFRUUmNvdDkLyePHmCyZMno2HDhtDW1kblypXRqlUrLF26FKmpqXLxz549w+bNm+Hs7IxmzZrB0NAQ6urqMDQ0hK2tLXbt2vVBf6OpqalYsmQJAEAqlWL8+PEl7oM+3osXL/D999+jQYMG0NbWRpUqVdCpUyds3boV2dnZH9Tn9evX4ezsDBMTE2hqasLIyAh9+vRBcHCwwmOOHTuGAQMGoHbt2tDS0oKGhgaMjIzQrVs3bNy4ERkZGTLxAwYMQL169QAA69evx/Pnzz8oVyIiIqJPjZqyEyAiIiIqL1u3boWHhwdSUlLk2mJiYhATE4Pz589j1apVePHiBYyNjeXicmfu5haSSnMm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ERGRAiyiExEREREREREREREpwCI6EREREREREREREZECLKITERERERERERERESnAIjoRERERERERERERkQIsohMRERERERERERERKcAiOhERERERERERERGRAiyiExEREREREREREREpwCI6EREREREREREREZECLKITERERERERERERESnAIjoRERERERERERERkQIsohMRERERERERERERKcAiOhERERERERERERGRAiyiExEREREREREREREpwCI6EREREREREREREZECLKITERERERERERERESnAIjoRERERERERERERkQIsohMRERERERERERERKcAiOhERERERERERERGRAiyiExEREREREREREREpwCI6EREREREREREREZECLKITEREREREREVG5q1OnDkaNGiWz7+HDh7Czs4NUKoVEIkFAQECZ5iCRSODp6Vmm5/gSFPS7JPqcsIhORERERERERESl5vbt2xg0aBDMzMygpaWFmjVrokePHvDx8SnyWFdXV9y+fRs///wzdu/ejTZt2sDPzw/e3t5ln7gCjx8/hkQiwapVq2T2C4KA8ePHl3sh3sbGBk2bNpXbf/r0aVSqVAlfffUV4uPjyy0foi+BmrITICIiIiIiIiKiz8OlS5fQtWtX1K5dG2PHjoWxsTGePn2Ky5cvY926dZg8ebIYGxkZCRWV/5vf+e7dO4SFhWH+/Plwd3cX9/v5+eHOnTuYOnVqeQ6lUIIgYOLEidi6dSsWLFig9NnsZ86cQe/evWFhYYHg4GAYGBgoNR+izw2L6EREREREREREVCp+/vlnSKVSXLt2Dfr6+jJtcXFxMtuampoy2y9fvgQAueMqosmTJ2PLli2YP38+lixZotRczp07h969e6Nhw4alVkBPTU1FpUqVSiE7os8Dl3MhIiIiIiIiIqJS8ejRI1haWhZYCK9evbrMdt51tD09PWFmZgYAmDlzJiQSCerUqQMbGxscO3YMT548gUQiEffnSk9Px6JFi1C/fn1oamrC1NQUs2bNQnp6usy50tPTMW3aNBgaGqJy5cro06cP/vvvvw8a4/fff4+NGzdi7ty5+Omnn+TOU1Q+1tbWaNGiRYF9W1hYwN7evti5nD9/Hk5OTqhfvz6Cg4NRtWpVmfZNmzbB0tISmpqaMDExwaRJk5CQkCATk7s8THh4OLp06YJKlSph3rx5xR5PQeLj4zFjxgw0a9YMurq60NPTg4ODA27evCkX6+PjA0tLS1SqVAlVqlQRl/ABgJCQEEgkEvj7+8sd5+fnB4lEgrCwMHHfmTNn0LlzZ+jo6EBfXx99+/bFvXv3ZI7z9PSERCLBP//8g1GjRkFfXx9SqRSjR49GamqqGJe7jM/OnTvlzs219L88nIlORERERERERESlwszMDGFhYbhz506B63YrMmDAAOjr62PatGkYOnQoHB0doaurCx0dHSQmJuK///7D2rVrAQC6uroAgJycHPTp0wcXLlzAuHHj0LhxY9y+fRtr167FgwcPZG5K+u2332LPnj1wcXFBx44dcebMGTg5OZV4fNOmTcP69esxe/ZsLF26VKatuPmMGDECY8eOlXuOrl27hgcPHuCHH34oVi4XL16Eo6MjzM3Ncfr0aVSrVk2m3dPTE4sXL4atrS2+++47REZGYvPmzbh27RouXrwIdXV1Mfb169dwcHCAs7Mzhg8fDiMjoxI9v/n9+++/CAgIwDfffANzc3PExsbil19+gbW1Nf7++2+YmJgAAP73v/9hypQpGDRoEL7//nukpaXh1q1buHLlClxcXGBjYwNTU1P4+vqif//+Mufw9fVFvXr1YGVlBQAIDg6Gg4MD6tatC09PT7x79w4+Pj74+uuvcePGDZkPXwBg8ODBMDc3x7Jly3Djxg38+uuvqF69OlasWFGs55++MAIREREREREREVEpOHXqlKCqqiqoqqoKVlZWwqxZs4STJ08KGRkZcrFmZmaCq6uruB0VFSUAEFauXCkT5+TkJJiZmckdv3v3bkFFRUU4f/68zP4tW7YIAISLFy8KgiAIERERAgBh4sSJMnEuLi4CAGHRokWFjik3LzMzMwGAMHPmzALjiptPQkKCoKWlJcyePVsmbsqUKYKOjo6QnJxcaD7W1taCgYGBULlyZcHS0lKIi4uTi4mLixM0NDQEOzs7ITs7W9y/YcMGAYCwfft2mf4ACFu2bPmg8QiC/O8yLS1N5ryC8P551NTUFJYsWSLu69u3r2BpaVnoeOfOnStoamoKCQkJMuNTU1OT+d21bNlSqF69uvD69Wtx382bNwUVFRVh5MiR4r5FixYJAIQxY8bInKd///5C1apVZfIFIOzYsUMup+L83dDnhcu5EBERERERERFRqejRowfCwsLQp08f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UkXGdVWJiIiIiMoWi+hERPTFiHz4L67euAX/394vv6KmpoYh/ZywzfdAsYroEXfuYeyIgtePv/13JLKzs9GwQw8A/zerPT09HVWrVi2V/Ek5oqOjYdHIAmnvuJYzVUxa2lqIvM+1nImIiIiIygqL6ERE9MXY5nsAWVlZ4kxxABAEAZqaGtiwwrPI47ULWYIgOSUVqqqqCA8OgGo12bU3dXV1PzhnUr5Xr14h7V0aao2rBU0TruVMFUv683T8t/U/rqtKRERERFSGWEQnIqIvQlZWFnbt98fqJXNh17WzTFu/kROw99CfaNSgbqF9NG9igdOhlzDaZZBcW6tmTZCdnY24V6/RuUOPUs2dKgZNE01o19FWdhpERERERERUzlhEJyKiL8LRUyF4k5AIt+GDIdWrLNM2sFdPbPM9gJWeswvtY9HMyeg+YCTq1akN5wG9kJWVjePBZzF7yng0rG+OYYP6YOSkmVidoYFWrVrh5cuXOH36NJo3bw4nJ6eyHB4RERERERERlREVZSdARERUHrbt2Q/bLl/LFdABYGBve1yPuI1bf0cW2odNpw44sN0HR06eRkub3ujWfziu3rgltu/wWYGRg/th+vTpsLCwQL9+/XDt2jUusUBERERERET0CeNMdCIiKjXbBpgqOwWF/vT7n8K2dl+1gPDqHwDAlHGu4v5RQwdi1NCBMrEDetljQC/7AvtRV1fH4jlTsXilTylkTEREREREREQVAWeiExEREREREREREREpwCI6EREREREREREREZECLKITERERERERERERESnAIjoRERERERERERERkQIsohMRERERERERERERKcAiOhERERERERERERGRAmrKToCI6EO47bym7BQ+K9s0lJ0BfSpCQ0OxcuVKhIeH48WLF/D390e/fv0KjJ0wYQJ++eUXrF27FlOnThX3x8fHY/Lkyfjzzz+hoqKCgQMHYt26ddDV1RVjbt26hUmTJuHatWswNDTE5MmTMWvWrDIeHREREREREZE8zkQnIiKiYktJSUGLFi2wcePGQuP8/f1x+fJlmJiYyLUNGzYMd+/eRVBQEI4ePYrQ0FCMGzdObE9KSoKdnR3MzMwQHh6OlStXwtPTE1u3bi318RAREREREREVhTPR6dPnN0TZGXxeXPYpOwMiqsAcHBzg4OBQaMyzZ88wefJknDx5Ek5OTjJt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FiUiIiIiIiL6TF2/fh1du3YVt3ML266urti5cydmzZqFlJQUjBs3DgkJCejUqRMCAwOhpaUlHuPr6wt3d3d0794dKioqGDhwINavXy+2S6VSnDp1CpMmTULr1q1RrVo1LFy4EOPGjSu/gRIREZUhFtGJiIiIiIiIPlM2NjYQBEFhu0QiwZIlS7BkyRKFMQYGBvDz8yv0PM2bN8f58+c/OE8iIqKKjMu5EBEREREREREREREpwCI6EREREREREREREZECLKITERERERERERERESnAIjoRERERERERERERkQIsohMRERERERERERERKcAiOhERERERERERERGRAiyiExEREREREREREREpwCI6EREREREREREREZECLKITERERERERERERESnAIjoREREVW2hoKHr37g0TExNIJBIEBATItAuCgIULF6JGjRrQ1taGra0tHj58KBMTHx+PYcOGQU9PD/r6+nBzc0NycrJMzK1bt9C5c2doaWnB1NQUXl5eZT00IiIiIiIiogKxiE5ERETFlpKSghYtWmDjxo0Ftnt5eWH9+vXYsmULrly5Ah0dHdjb2yMtLU2MGTZsGO7evYugoCAcPXoUoaGhGDdunNielJQEOzs7mJmZITw8HCtXroSnpye2bt1a5uMjIiIiIiIiyk9N2QkQERHRp8PBwQEODg4FtgmCAG9vb/zwww/o27cvAGDXrl0wMjJCQEAAnJ2dce/ePQQGBuLatWto06YNAMDHxweOjo5YtWoVTExM4Ovri4yMDGzfvh0aGhqwtLREREQE1qxZI1NsJyIiIiIiIioPnIlOREREpSIqKgoxMTGwtbUV90mlUrRv3x5hYWEAgLCwMOjr64sFdACwtbWFiooKrly5IsZ06dIFGhoaYoy9vT0iIyPx5s2bAs+dnp6OpKQkmQcRERERERFRaVBqEZ3rqhIREX0+YmJiAABGRkYy+42MjMS2mJgYVK9eXaZdTU0NBgYGMjEF9ZH3HPktW7YMUqlUfJiamn78gIiIiIiIiIig5CI611UlIiKi0jB37lwkJiaKj6dPnyo7JSIiIiIiIvpMKHVNdK6rSkRE9PkwNjYGAMTGxqJGjRri/tjYWLRs2VKMiYuLkzkuKysL8fHx4vHGxsaIjY2Vicndzo3JT1NTE5qamqUyDiIiIiIiIqK8Kuya6MpcV5WIiIhKztzc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o33v3r3GTKIffvhBPXr00D333FPJ7wpQOQ4ODlq6dKkOHDigtWvXauvWrZoyZYpFn3Pnzun555/XP//5Tx04cEDe3t4W7Vu3btXvfvc7zZ07V08//XSlYzl37pzmzp2rdevW6bPPPlN+fr6GDx9utBcVFWngwIHasmWLvvzySw0YMECDBw82kgFXPwW6detWubq66t577610TABsr7aM45f5+/vrzTfflCRlZmbq5MmTeumllypx5YDt1aZx/EqTJk3SsGHDLGbY9+zZs9LnxlXMQC128eJF8wMPPGBu27atubCw0N7hALXSoUOHzJLM7du3N5eWlto7HAB20rNnT/OSJUvMZrPZXFpaam7evLl527ZtZrPZbP7xxx/Njo6O5t27d5vNZrO5pKTE3Lx5c/OaNWuM/SWZp06damwXFRWZJZk//PBDs9lsNm/bts0syXzmzBmrMUgyP/nkkxZ13bt3N48ZM8bqPn/729/MnTt3rrDtqaeeMgcEBJjz8vKsXzhQSSNGjDA7Ojqa3d3djfKHP/yhwr4bN240e3l5GdtJSUlmSeaMjIxrjvnggw+a33rrLXOjRo3MycnJFu0zZswwd+zY8Zr+1lw+z65du4y6y+P+5fu5InfddZf55Zdfvqb+1KlT5ttvv908duxYq/sCsI/aMI4fPXrULMn85Zdf3vAxgapSV8bxmz0mKo+FqFCrPfvss0pLS9OePXvUuHFje4cD1EqrV69Ww4YNdfToUf3www9q3bq1vUMCUM0yMzO1Z88evf3225IkJycnPfzww1q1apX69OkjPz8/RUZGavXq1erWrZvef/99FRcXX7OEWocOHYyv3d3d5eHhoby8vJuKJSws7JrtjIwMY/v111/X0qVL9d1336moqEhlZWXy8PC45jgrVqzQqlWrlJqaqhYtWtxUDMCNuv/++7Vs2TJj293dXZL0ySefaP78+frmm29UWFiosrIyXbhwQefOnVPDhg0lXVqi8Mp75rLdu3dr06ZN+ve//22TF4M5OTmpa9euxnZwcLA8PT116NAhdevWTUVFRZo5c6b+85//6OTJkyorK9P58+eveSy9tLRUUVFRCggIYLYoUMPUpnEcqEnqwjiO6sNyLqi1kpOTtXDhQiUnJysoKMje4QC1UmpqqhYvXqxNmzapW7duio2NldlstndYAKrZqlWrVFZWJj8/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\n"
     },
     "metadata": {}
    }
   ],
   "source": "def visualize_bbm92(sim, title=\"BBM92 Simülasyonu\"):\n    a_bases, b_bases, a_bits, b_bits = sim.generate_entangled_outcomes()\n    sifted_a, sifted_b, match = sim.sift(a_bases, b_bases, a_bits, b_bits)\n\n    fig, axes = plt.subplots(1, 3, figsize=(15, 4.5))\n\n    # 1. Baz seçimleri\n    axes[0].hist([list(a_bases), list(b_bases)],\n                 label=['Alice', 'Bob'], bins=[-0.5, 0.5, 1.5],\n                 alpha=0.7, color=['#1f77b4', '#ff7f0e'])\n    axes[0].set_title(\"Baz Seçimleri\", fontsize=12)\n    axes[0].set_xticks([0, 1])\n    axes[0].set_xticklabels(['Z', 'X'])\n    axes[0].legend()\n    axes[0].set_ylabel(\"Sayı\")\n\n    # 2. Sift oranı\n    axes[1].bar(['Aynı baz\\n(tutuldu)', 'Farklı baz\\n(atıldı)'],\n                [np.sum(match), np.sum(~match)],\n                color=['#2ca02c', '#d62728'], edgecolor='black')\n    axes[1].set_title(f\"Sifting (Oran: %{np.mean(match)*100:.1f})\", fontsize=12)\n    axes[1].set_ylabel(\"Bit sayısı\")\n\n    # 3. Korelasyon\n    if len(sifted_a) > 0:\n        same = (sifted_a == sifted_b)\n        axes[2].bar(['Aynı bit', 'Farklı bit'],\n                    [np.sum(same), np.sum(~same)],\n                    color=['#17becf', '#e377c2'], edgecolor='black')\n        qber_approx = np.mean(~same) * 100\n        axes[2].set_title(f\"Sifted Key Korelasyonu\\n(yaklaşık QBER ≈ %{qber_approx:.1f})\", fontsize=12)\n    else:\n        axes[2].text(0.5, 0.5, \"Yeterli veri yok\", ha='center', va='center')\n        axes[2].set_title(\"Sifted Key Korelasyonu\")\n\n    plt.suptitle(title, fontsize=14, fontweight='bold')\n    plt.tight_layout()\n    plt.show()\n\n# İdeal durum\nvisualize_bbm92(BBM92Simulator(n_pairs=3000, noise=0.0),\n                \"İdeal BBM92 (noise = 0)\")\n\n# Gürültülü durum\nvisualize_bbm92(BBM92Simulator(n_pairs=3000, noise=0.08),\n                \"Gürültülü BBM92 (noise = 0.08)\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "b1e3d26c",
   "metadata": {
    "id": "b1e3d26c"
   },
   "source": "## 5. Deneyler ve Performans Analizi\n\nAşağıdaki hücrede farklı çift sayıları için performans özeti üretilir.  \n`noise` değerini değiştirerek kendiniz de deneyebilirsiniz.\n"
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "9c7fdb7d",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "9c7fdb7d",
    "executionInfo": {
     "status": "ok",
     "timestamp": 1786621470034,
     "user_tz": -180,
     "elapsed": 30,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     }
    },
    "outputId": "3f40a09c-1655-44b9-cc48-744d73de11a7"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Performans Özeti  |  noise = 0.03  |  sample_ratio = 0.15\n",
      "----------------------------------------------------------------------\n",
      "    Çift |   Sifted |   QBER % |  Final Key |      Durum\n",
      "----------------------------------------------------------------------\n",
      "     500 |      266 |     2.56 |        202 |         OK\n",
      "    1000 |      478 |     1.41 |        374 |         OK\n",
      "    2000 |     1010 |     5.96 |        703 |         OK\n",
      "    5000 |     2541 |     2.36 |       1939 |         OK\n",
      "   10000 |     4920 |     2.57 |       3736 |         OK\n",
      "----------------------------------------------------------------------\n"
     ]
    }
   ],
   "source": "def performance_summary(n_pairs_list=[500, 1000, 2000, 5000, 10000],\n                        noise=0.03, sample_ratio=0.15):\n    print(f\"Performans Özeti  |  noise = {noise}  |  sample_ratio = {sample_ratio}\")\n    print(\"-\" * 70)\n    print(f\"{'Çift':>8} | {'Sifted':>8} | {'QBER %':>8} | {'Final Key':>10} | {'Durum':>10}\")\n    print(\"-\" * 70)\n\n    results = []\n    for n in n_pairs_list:\n        sim = BBM92Simulator(n_pairs=n, noise=noise)\n        res = sim.run(sample_ratio=sample_ratio, verbose=False)\n        if res is None:\n            print(f\"{n:8d} | {'---':>8} | {'---':>8} | {'---':>10} | {'İPTAL':>10}\")\n        else:\n            print(f\"{n:8d} | {res['sifted_length']:8d} | {res['qber']*100:8.2f} | \"\n                  f\"{res['final_key_length']:10d} | {'OK':>10}\")\n            results.append(res)\n    print(\"-\" * 70)\n    return results\n\n_ = performance_summary()\n"
  },
  {
   "cell_type": "markdown",
   "id": "6124b4bf",
   "metadata": {
    "id": "6124b4bf"
   },
   "source": "## 6. Anti-korelasyon Örneği (`psi_minus`)\n\nBazı Bell durumlarında (ör. $|\\Psi^-\\rangle$) Alice ve Bob’un bitleri **ters** ilişkilidir.  \nBu durumda Bob’un bitlerini ters çevirmek gerekir. Aşağıda farkı görebilirsiniz.\n"
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "b789e8a9",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "b789e8a9",
    "executionInfo": {
     "status": "ok",
     "timestamp": 1786621473345,
     "user_tz": -180,
     "elapsed": 39,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     }
    },
    "outputId": "c4c53746-ff7e-43dd-96ad-650cebf51ab8"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "phi_plus (korelasyon) ile çalıştırma:\n",
      "▶ 2000 dolaşık çift üretiliyor (noise=0.0, state=phi_plus)...\n",
      "▶ Sifting yapılıyor...\n",
      "   Sift oranı: %49.4  →  988 bit kaldı\n",
      "▶ QBER tahmin ediliyor...\n",
      "   Tahmini QBER: %0.00\n",
      "   Kalan anahtar adayı: 791 bit\n",
      "   (Hata düzeltme öncesi uyumsuz bit sayısı: 0)\n",
      "✅ Yaklaşık güvenli anahtar uzunluğu: 751 bit\n",
      "\n",
      "--------------------------------------------------\n",
      "psi_minus (anti-korelasyon) ile çalıştırma:\n",
      "▶ 2000 dolaşık çift üretiliyor (noise=0.0, state=psi_minus)...\n",
      "▶ Sifting yapılıyor...\n",
      "   Sift oranı: %50.7  →  1014 bit kaldı\n",
      "▶ QBER tahmin ediliyor...\n",
      "   Tahmini QBER: %100.00\n",
      "❌ QBER eşiği aşıldı (%11). Protokol iptal edildi!\n",
      "\n",
      "psi_minus + aynı baz → Alice == Bob oranı: 0.0%  (beklenen ~0%)\n",
      "psi_minus + aynı baz → Alice == 1-Bob oranı: 100.0%  (beklenen ~100%)\n"
     ]
    }
   ],
   "source": "print(\"phi_plus (korelasyon) ile çalıştırma:\")\nsim_phi = BBM92Simulator(n_pairs=2000, noise=0.0, bell_state='phi_plus')\nres_phi = sim_phi.run(verbose=True)\n\nprint(\"\\n\" + \"-\" * 50)\nprint(\"psi_minus (anti-korelasyon) ile çalıştırma:\")\nsim_psi = BBM92Simulator(n_pairs=2000, noise=0.0, bell_state='psi_minus')\nres_psi = sim_psi.run(verbose=True)\n\n# Anti-korelasyon durumunda manuel kontrol\na_bases, b_bases, a_bits, b_bits = sim_psi.generate_entangled_outcomes()\nmatch = (a_bases == b_bases)\nprint(f\"\\npsi_minus + aynı baz → Alice == Bob oranı: \"\n      f\"{np.mean(a_bits[match] == b_bits[match])*100:.1f}%  (beklenen ~0%)\")\nprint(f\"psi_minus + aynı baz → Alice == 1-Bob oranı: \"\n      f\"{np.mean(a_bits[match] == (1 - b_bits[match]))*100:.1f}%  (beklenen ~100%)\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "8f051f51",
   "metadata": {
    "id": "8f051f51"
   },
   "source": "## 7. Sonuç ve Önemli Notlar\n\n### Öğrendiklerimiz\n- BBM92, dolaşıklık kullanarak BB84 ile eşdeğer güvenlik sağlar.\n- Sifting adımında yaklaşık %50 bit kaybedilir (iki baz kullanıldığı için).\n- QBER, hem kanal gürültüsünü hem de olası dinlemeyi yansıtır.\n- QBER eşiği aşıldığında protokol güvenli anahtar üretemez.\n\n### Gerçek Hayatta Eksik Olanlar\n| Bu simülasyonda | Gerçek sistemde |\n|-----------------|-----------------|\n| Klasik rastgele sayılar | Gerçek kuantum rastgeleliği |\n| İdeal dolaşıklık modeli | SPDC, BBO kristali, fiber kayıpları |\n| Basit bit ters çevirme | Cascade / LDPC hata düzeltme |\n| Kaba uzunluk tahmini | Universal hashing (Toeplitz vb.) |\n| Tek bir gürültü parametresi | Karanlık sayım, jitter, polarizasyon kayması |\n\n### Daha İleri Gitmek İsterseniz\n- Qiskit ile gerçek Bell durumu devreleri kurup ölçüm yapabilirsiniz.\n- Intercept-resend saldırısını daha detaylı modelleyebilirsiniz.\n- Farklı QBER eşikleri ve privacy amplification formülleri deneyebilirsiniz.\n\n---\n**Kaynaklar**\n- Bennett, Brassard, Mermin (1992) – *Quantum cryptography without Bell’s theorem*\n- Aliro Quantum & çeşitli arXiv makaleleri (BBM92 deneysel uygulamaları)\n\nBu notebook eğitim amaçlıdır. Gerçek QKD sistemleri çok daha karmaşık güvenlik ispatları ve donanım karakterizasyonu gerektirir.\n"
  }
 ],
 "metadata": {
  "colab": {
   "provenance": []
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.10.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}