{
  "format": "espanol2-app-bundle",
  "version": 1,
  "generatedAt": "2026-05-06T09:21:39.215Z",
  "courseId": "latam-es-ko-absolute-beginner-90d",
  "title": "Spanish for Korean Adults: 90-Day Latin American Conversation",
  "learnerProfile": "Korean-speaking adult absolute beginner",
  "dialect": "Mexico-leaning neutral Latin American Spanish",
  "explanationLanguage": "ko-primary",
  "dailyMinutes": 60,
  "disclosure": {
    "audioKo": "앱에서 제공되는 스페인어 음성은 인공지능으로 생성된 음성입니다.",
    "audioEn": "Spanish audio in the app is AI-generated."
  },
  "totals": {
    "lessons": 90,
    "vocabulary": 1620,
    "sentences": 1782,
    "cards": 5286,
    "audioManifestEntries": 5022,
    "srsSeedStates": 5286
  },
  "srs": {
    "defaultIntervalsDays": [
      0,
      1,
      3,
      7,
      14,
      30
    ],
    "defaultRetentionTarget": 0.9,
    "cardTypes": [
      "vocab_recognition",
      "vocab_production",
      "sentence_recognition",
      "sentence_production",
      "sentence_cloze"
    ],
    "gradingButtons": [
      "again",
      "hard",
      "good",
      "easy"
    ],
    "newCardPolicy": {
      "maxNewCardsPerDay": 65,
      "mix": "vocabulary first, then sentence production and cloze cards"
    }
  },
  "bundle": {
    "basePath": "data/app",
    "files": [
      {
        "path": "course-map.json",
        "bytes": 23047,
        "sha256": "508f03952cec6d551c34619a09927f6117c8fbb7238352f3672c8edc3766761d",
        "kind": "course_map"
      },
      {
        "path": "srs/config.json",
        "bytes": 461,
        "sha256": "d54b0149442134fefd2cdf0b23e8aa81fcf1a117f325b91220b0c235e1d33ea0",
        "kind": "srs_config"
      },
      {
        "path": "indexes/lessons.json",
        "bytes": 89087,
        "sha256": "782b89def72b0f4e5292f3077cadc68fda5ebbbd743ae35d2c2be8fde3533af8",
        "kind": "index",
        "itemType": "lesson"
      },
      {
        "path": "indexes/vocabulary.json",
        "bytes": 670904,
        "sha256": "1a860803b41d38751a984d309726b5143350c803955ce762ec78498162a70e81",
        "kind": "index",
        "itemType": "vocabulary"
      },
      {
        "path": "indexes/sentences.json",
        "bytes": 866787,
        "sha256": "4e3323332826e7b1f436b2a93d8947d513ae83493913352442608d1cb39d036f",
        "kind": "index",
        "itemType": "sentence"
      },
      {
        "path": "indexes/cards.json",
        "bytes": 1915277,
        "sha256": "a153eda0a83dc037ae883e82df0b8ced90a1929d4fb3bb4a0e53591545df8570",
        "kind": "index",
        "itemType": "card"
      },
      {
        "path": "indexes/audio.json",
        "bytes": 3646819,
        "sha256": "cdbf51337548e7d798900a0ec61dc7260ceb714a4419e6e77d8ae1b56d72b532",
        "kind": "index",
        "itemType": "audio"
      },
      {
        "path": "indexes/search.json",
        "bytes": 3456364,
        "sha256": "e5dd7f0374fcebc7f9182871ee44216207abc9897d6f2c9b81237c531fbdb709",
        "kind": "index",
        "itemType": "search"
      },
      {
        "path": "outline.json",
        "bytes": 166766,
        "sha256": "280d8796a67f4830db38eb5fc198fb20fb4bed59599dec5f3e066105a63f1f9e",
        "kind": "outline",
        "itemType": "content_outline"
      },
      {
        "path": "intensive-outline.json",
        "bytes": 342076,
        "sha256": "ed0d5a2e7d03d21bfaf04f8d3b3245a0107813a634a88b40057b1853402543ca",
        "kind": "intensive_outline",
        "itemType": "intensive_outline"
      },
      {
        "path": "lessons/day-001.json",
        "bytes": 64852,
        "sha256": "9865cb619b7a0089552e5264647eb021d0d36eeb8ca5c75d13c7c2a3ccbac74d",
        "kind": "lesson",
        "lessonDay": 1,
        "lessonId": "lesson-d01",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 62
        }
      },
      {
        "path": "audio/day-001.json",
        "bytes": 39982,
        "sha256": "d559c0af145b01cb2233ac768f288e5927c099a9135b3559f685ffc409404b4b",
        "kind": "audio_day",
        "lessonDay": 1,
        "count": 56
      },
      {
        "path": "review/day-001.json",
        "bytes": 33089,
        "sha256": "097678e1faf202cc5546287b301420704d693dd1a683d1e99628a27517994b80",
        "kind": "review_day",
        "lessonDay": 1,
        "count": 62
      },
      {
        "path": "lessons/day-002.json",
        "bytes": 61285,
        "sha256": "6c9ae338d02afbc19dafb37e498952ad22608ebfb5ff24affceb702e973761cd",
        "kind": "lesson",
        "lessonDay": 2,
        "lessonId": "lesson-d02",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-002.json",
        "bytes": 38974,
        "sha256": "a60f7024f35476ade399fd6df6f4b8af8a508ff5d9d9b09925cdf433f867c418",
        "kind": "audio_day",
        "lessonDay": 2,
        "count": 56
      },
      {
        "path": "review/day-002.json",
        "bytes": 31371,
        "sha256": "a2db12c9bbb48c0d61e3b9ddf186633d9689c1fdce7c9d2529c0bfce14d3800c",
        "kind": "review_day",
        "lessonDay": 2,
        "count": 59
      },
      {
        "path": "lessons/day-003.json",
        "bytes": 61596,
        "sha256": "995543b320568b2f6d444df68920a75d57d731574da718a1f5effef5fb15fbb9",
        "kind": "lesson",
        "lessonDay": 3,
        "lessonId": "lesson-d03",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 57
        }
      },
      {
        "path": "audio/day-003.json",
        "bytes": 39070,
        "sha256": "a8a8d85fcabb9cadf502060cf3aa85c53dffba0e42bc51bb3bc3f160b51549fb",
        "kind": "audio_day",
        "lessonDay": 3,
        "count": 55
      },
      {
        "path": "review/day-003.json",
        "bytes": 30335,
        "sha256": "721a83622493306272c230b6dc919ec2b93b2d315eaa0133ae76461a0290eefd",
        "kind": "review_day",
        "lessonDay": 3,
        "count": 57
      },
      {
        "path": "lessons/day-004.json",
        "bytes": 61665,
        "sha256": "7bf7deb391f01478f91f08aaed66b3c270f7d3d70c14c17eebe7f3b7272dd1f1",
        "kind": "lesson",
        "lessonDay": 4,
        "lessonId": "lesson-d04",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 60
        }
      },
      {
        "path": "audio/day-004.json",
        "bytes": 38873,
        "sha256": "38234ba484f33965a32579fe8d129079d4b485dff3b5c10ab9565c2a07724bcf",
        "kind": "audio_day",
        "lessonDay": 4,
        "count": 56
      },
      {
        "path": "review/day-004.json",
        "bytes": 31967,
        "sha256": "a6c1ab33179b4624dd2869f8cee12ef7e28eb4ddfda7b6df296696ba942a845d",
        "kind": "review_day",
        "lessonDay": 4,
        "count": 60
      },
      {
        "path": "lessons/day-005.json",
        "bytes": 62417,
        "sha256": "9050cd7a8254428130b5981da9108288940ad905722f96105aed2423e6ae6759",
        "kind": "lesson",
        "lessonDay": 5,
        "lessonId": "lesson-d05",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 60
        }
      },
      {
        "path": "audio/day-005.json",
        "bytes": 39374,
        "sha256": "3d4959d0d08b1da123f9d068936d0ad17ccdf548d5e1eed6a368849d8c44bddd",
        "kind": "audio_day",
        "lessonDay": 5,
        "count": 56
      },
      {
        "path": "review/day-005.json",
        "bytes": 31837,
        "sha256": "637879aa82906e9871bb6ce685a51cc09b786d4087ae84de1647977dcd15edf0",
        "kind": "review_day",
        "lessonDay": 5,
        "count": 60
      },
      {
        "path": "lessons/day-006.json",
        "bytes": 64133,
        "sha256": "85458fa25592df66162a09b6ddaaf69ac44e108d839d46a1d3231bfd548c679a",
        "kind": "lesson",
        "lessonDay": 6,
        "lessonId": "lesson-d06",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "audio/day-006.json",
        "bytes": 40115,
        "sha256": "814076e98de1a1027091a27688325035069929ce86c170d6cf49453e53dad9bc",
        "kind": "audio_day",
        "lessonDay": 6,
        "count": 57
      },
      {
        "path": "review/day-006.json",
        "bytes": 33633,
        "sha256": "5cb3f8c1df47f656c1c1c0b8b3b023e3fc371eeeda7bf10e360947f0f0382eca",
        "kind": "review_day",
        "lessonDay": 6,
        "count": 63
      },
      {
        "path": "lessons/day-007.json",
        "bytes": 58463,
        "sha256": "5e8d7a02aeeb6fb73c15dc2ae36e907ff27e0cb425a1eb099537fc8626c6a68a",
        "kind": "lesson",
        "lessonDay": 7,
        "lessonId": "lesson-d07",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-007.json",
        "bytes": 37529,
        "sha256": "acde960d9f369fa4ffe835ad80a7c3698cdededeb0a65d90818e15b7c43daa80",
        "kind": "audio_day",
        "lessonDay": 7,
        "count": 55
      },
      {
        "path": "review/day-007.json",
        "bytes": 29707,
        "sha256": "eaed86d8498710e69bf7d50c57ec5d567b341942aed3366f3b1b1ce3c139d734",
        "kind": "review_day",
        "lessonDay": 7,
        "count": 56
      },
      {
        "path": "lessons/day-008.json",
        "bytes": 61849,
        "sha256": "ded71832c082e15e0629e5e85f697835b3e9bd2a196e2e958e9f174972ed4e48",
        "kind": "lesson",
        "lessonDay": 8,
        "lessonId": "lesson-d08",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-008.json",
        "bytes": 39497,
        "sha256": "495ce4a7ed30797df3198a88d3465e5e7d88d99d68a59f674aa8ec84cee7bacf",
        "kind": "audio_day",
        "lessonDay": 8,
        "count": 56
      },
      {
        "path": "review/day-008.json",
        "bytes": 31429,
        "sha256": "ec75efaf9a5d17606922c424e7515536122fa12127e88920d410a97122c36d46",
        "kind": "review_day",
        "lessonDay": 8,
        "count": 59
      },
      {
        "path": "lessons/day-009.json",
        "bytes": 63373,
        "sha256": "46b56a32de6ef1db2f53fac6e114deab2c5bc9d919484aaa48623c929ffc8982",
        "kind": "lesson",
        "lessonDay": 9,
        "lessonId": "lesson-d09",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 62
        }
      },
      {
        "path": "audio/day-009.json",
        "bytes": 39808,
        "sha256": "1997238d70fd24b5cb565156961fdb889bfe6f0ed0109a9e6b4637faa496d42d",
        "kind": "audio_day",
        "lessonDay": 9,
        "count": 57
      },
      {
        "path": "review/day-009.json",
        "bytes": 33073,
        "sha256": "8ad36a4e5bbc9b221ec2606bfea47848894cf0bb5df0ff3b041e7b505ee7d797",
        "kind": "review_day",
        "lessonDay": 9,
        "count": 62
      },
      {
        "path": "lessons/day-010.json",
        "bytes": 63411,
        "sha256": "9b5b4dd9353dde71344dc07747999d790c8586e2f2ed6deac729ee17aa299b61",
        "kind": "lesson",
        "lessonDay": 10,
        "lessonId": "lesson-d10",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "audio/day-010.json",
        "bytes": 39822,
        "sha256": "82f788d6862aeef42ec0e95ec9fa3770f5980ee3331d610d4ee72c911b5d7dab",
        "kind": "audio_day",
        "lessonDay": 10,
        "count": 57
      },
      {
        "path": "review/day-010.json",
        "bytes": 33689,
        "sha256": "9493eeb728ac186385fbfe71c214eef66cffba63a648232600a045be6f4b0c07",
        "kind": "review_day",
        "lessonDay": 10,
        "count": 63
      },
      {
        "path": "lessons/day-011.json",
        "bytes": 60939,
        "sha256": "d2b757561fa6cc59df5cf1496cba6bc644c77b6905a09d89c7311be657d4da3e",
        "kind": "lesson",
        "lessonDay": 11,
        "lessonId": "lesson-d11",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-011.json",
        "bytes": 39270,
        "sha256": "9b9eef355771abeb8010cf41db31a716708852d14cdebd29676033dddca20040",
        "kind": "audio_day",
        "lessonDay": 11,
        "count": 55
      },
      {
        "path": "review/day-011.json",
        "bytes": 29779,
        "sha256": "b87d7b9de746231f7f063c84fe36f92a26283c05cc1ae62808396e05365b4ed9",
        "kind": "review_day",
        "lessonDay": 11,
        "count": 56
      },
      {
        "path": "lessons/day-012.json",
        "bytes": 59973,
        "sha256": "8cb20528b3fac87fe0c6152f319a4e2039dcd68606818a8d3c4244e3f34be92e",
        "kind": "lesson",
        "lessonDay": 12,
        "lessonId": "lesson-d12",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-012.json",
        "bytes": 38589,
        "sha256": "cc18d703fbf98c51decdbddf2ca94869891a7d129e9a78946b6f9b636d95d5cf",
        "kind": "audio_day",
        "lessonDay": 12,
        "count": 55
      },
      {
        "path": "review/day-012.json",
        "bytes": 29779,
        "sha256": "c620244fb8e0a5d2e7af320a40db92e38496be3f1e4253d4e1ec4803844fef23",
        "kind": "review_day",
        "lessonDay": 12,
        "count": 56
      },
      {
        "path": "lessons/day-013.json",
        "bytes": 61680,
        "sha256": "b945b511c9c7ba8bde07a5fc9b853a4010089339c94766c36da1785f904095f5",
        "kind": "lesson",
        "lessonDay": 13,
        "lessonId": "lesson-d13",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-013.json",
        "bytes": 39843,
        "sha256": "338b52eb755ec6b2e4ea4be82e98db8994a9826622266244bb767b60744c47c2",
        "kind": "audio_day",
        "lessonDay": 13,
        "count": 56
      },
      {
        "path": "review/day-013.json",
        "bytes": 31431,
        "sha256": "b24e8d3b18a8ce992cb1c8825f4eb260fc4af704a02d5991c7c770ebbdff6b52",
        "kind": "review_day",
        "lessonDay": 13,
        "count": 59
      },
      {
        "path": "lessons/day-014.json",
        "bytes": 60467,
        "sha256": "f29bb55ea137ec2923937ec98d334d0762184d5b0df1c72667025abe34bd487a",
        "kind": "lesson",
        "lessonDay": 14,
        "lessonId": "lesson-d14",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-014.json",
        "bytes": 38798,
        "sha256": "3091c8639313e0dfec387e9c3040938a3d5052b049fe8d26d9c4ae91124f4ffd",
        "kind": "audio_day",
        "lessonDay": 14,
        "count": 55
      },
      {
        "path": "review/day-014.json",
        "bytes": 29859,
        "sha256": "8761047b2117984c3112caf50c4db54e643597d024495244fc004166b0a51c30",
        "kind": "review_day",
        "lessonDay": 14,
        "count": 56
      },
      {
        "path": "lessons/day-015.json",
        "bytes": 63567,
        "sha256": "212c70e15ddbef7ff3aa6d87d44e25a4f2b6ba6b9aab0d50f3c1f1381576cab3",
        "kind": "lesson",
        "lessonDay": 15,
        "lessonId": "lesson-d15",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "audio/day-015.json",
        "bytes": 40269,
        "sha256": "639c94278a5f33ace0db3e4a6f18747b86335ecb0b9cbefb908b34a4f64f8981",
        "kind": "audio_day",
        "lessonDay": 15,
        "count": 57
      },
      {
        "path": "review/day-015.json",
        "bytes": 33605,
        "sha256": "9175bd5498b7adc3c860dede99a84b780ab26696fe49c91d540be5198834e4cc",
        "kind": "review_day",
        "lessonDay": 15,
        "count": 63
      },
      {
        "path": "lessons/day-016.json",
        "bytes": 63305,
        "sha256": "c6ebadaa105496bd233d38a23ae4746efec303e37551636bc883bed71bfabe03",
        "kind": "lesson",
        "lessonDay": 16,
        "lessonId": "lesson-d16",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "audio/day-016.json",
        "bytes": 39958,
        "sha256": "99fc2c1ac7a7091b5761f7daf86b18e8c0dc358b02e8e384f39b48f4172f8700",
        "kind": "audio_day",
        "lessonDay": 16,
        "count": 57
      },
      {
        "path": "review/day-016.json",
        "bytes": 33715,
        "sha256": "1fff4987fc47796b18ffa96ec8b868f42e58c6c5d08044da3dec98a310dd1540",
        "kind": "review_day",
        "lessonDay": 16,
        "count": 63
      },
      {
        "path": "lessons/day-017.json",
        "bytes": 63969,
        "sha256": "5c2fc0efa2cfa852304a2d7983d070edd7f0aeeec0a3c64973095feda8a884f3",
        "kind": "lesson",
        "lessonDay": 17,
        "lessonId": "lesson-d17",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "audio/day-017.json",
        "bytes": 40014,
        "sha256": "85690165f0a17aa6191e74360262cd09c11585e0119edb9fbf100675f22d3fda",
        "kind": "audio_day",
        "lessonDay": 17,
        "count": 57
      },
      {
        "path": "review/day-017.json",
        "bytes": 33613,
        "sha256": "e666477f0f85e8e2d6686ed8698ed0ace2dc3bdc2c598469cc9d4444bd31490c",
        "kind": "review_day",
        "lessonDay": 17,
        "count": 63
      },
      {
        "path": "lessons/day-018.json",
        "bytes": 62669,
        "sha256": "9dde1d73a1a4aa2ee5edc3f2ce19f99c26d9eb2cfe1123865f282d391bd3fc38",
        "kind": "lesson",
        "lessonDay": 18,
        "lessonId": "lesson-d18",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 60
        }
      },
      {
        "path": "audio/day-018.json",
        "bytes": 39430,
        "sha256": "1c8a24359e902939051f65e06774f7fb42958e458c5177a758d036192c638a6e",
        "kind": "audio_day",
        "lessonDay": 18,
        "count": 56
      },
      {
        "path": "review/day-018.json",
        "bytes": 32059,
        "sha256": "2369c00eab57d681d1126b424c03d054953acc3ca35e696c86db8f918559d53c",
        "kind": "review_day",
        "lessonDay": 18,
        "count": 60
      },
      {
        "path": "lessons/day-019.json",
        "bytes": 64747,
        "sha256": "1d4db59fe5965ff937617d70645574c6a03c4248adbb76dcce79e09f3b7082ad",
        "kind": "lesson",
        "lessonDay": 19,
        "lessonId": "lesson-d19",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "audio/day-019.json",
        "bytes": 40564,
        "sha256": "85aaa449b9a0cf1b4986e7e6c841fd8fcdbaf489ad611f814dda67dd29874e26",
        "kind": "audio_day",
        "lessonDay": 19,
        "count": 57
      },
      {
        "path": "review/day-019.json",
        "bytes": 33689,
        "sha256": "56ee0903a25687db996e6d1d206b6d13e480d2293b436988e92978e7453f7c9d",
        "kind": "review_day",
        "lessonDay": 19,
        "count": 63
      },
      {
        "path": "lessons/day-020.json",
        "bytes": 63976,
        "sha256": "1d3fd058198e58aabb28039b83a69685d530329d7a2f21d4635fe637b3e47f6d",
        "kind": "lesson",
        "lessonDay": 20,
        "lessonId": "lesson-d20",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-020.json",
        "bytes": 40307,
        "sha256": "f466317970afe33f278448d233d11ed171c0fede3ed3a3e7abd8296dc82cd0d4",
        "kind": "audio_day",
        "lessonDay": 20,
        "count": 56
      },
      {
        "path": "review/day-020.json",
        "bytes": 31465,
        "sha256": "a32ce5cd92f59b5091395a9bfa0cf179415cf667a1b547d5103113b000ce4594",
        "kind": "review_day",
        "lessonDay": 20,
        "count": 59
      },
      {
        "path": "lessons/day-021.json",
        "bytes": 63224,
        "sha256": "b56c1129b6139e7fbeea0f9c021e2dd9b096c8b8979c081ab85204a48d5da773",
        "kind": "lesson",
        "lessonDay": 21,
        "lessonId": "lesson-d21",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-021.json",
        "bytes": 40124,
        "sha256": "42d650a530e5832fd33e92523f116792f67f001dc0d17efeee17f67da0c1ae09",
        "kind": "audio_day",
        "lessonDay": 21,
        "count": 56
      },
      {
        "path": "review/day-021.json",
        "bytes": 31429,
        "sha256": "88664ed8190a2c7dddd22fc67db82b482030e66a831271226d5a3f90a7610518",
        "kind": "review_day",
        "lessonDay": 21,
        "count": 59
      },
      {
        "path": "lessons/day-022.json",
        "bytes": 64405,
        "sha256": "f2560af1b4f63511e4f6fcfc67749ad4d59e688c703b7fac21f6dc83d606a733",
        "kind": "lesson",
        "lessonDay": 22,
        "lessonId": "lesson-d22",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 62
        }
      },
      {
        "path": "audio/day-022.json",
        "bytes": 40672,
        "sha256": "3d8e8c4f7b30fb3f55f71a18b55675f5bbfb6ce16d8afdc34fbe0635edad81c5",
        "kind": "audio_day",
        "lessonDay": 22,
        "count": 57
      },
      {
        "path": "review/day-022.json",
        "bytes": 33061,
        "sha256": "5c975f0e6389824e1343922ea13559aae192ad85e8cacdb3f916b38c8968faa8",
        "kind": "review_day",
        "lessonDay": 22,
        "count": 62
      },
      {
        "path": "lessons/day-023.json",
        "bytes": 64914,
        "sha256": "ff7d5a3ac720d7033a6e74f385a7c9bfa4bc6fd6cf5faa235467f9cc8db48f7f",
        "kind": "lesson",
        "lessonDay": 23,
        "lessonId": "lesson-d23",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "audio/day-023.json",
        "bytes": 40368,
        "sha256": "34ed0161892551bd20664a0305a99c72adfcee3a5622d18d8bcd95cb6a118530",
        "kind": "audio_day",
        "lessonDay": 23,
        "count": 57
      },
      {
        "path": "review/day-023.json",
        "bytes": 33605,
        "sha256": "aecd4c84ad8d56ef993acb79a3d8643cfdfc7dcd57d6c54189a827484a2ecb80",
        "kind": "review_day",
        "lessonDay": 23,
        "count": 63
      },
      {
        "path": "lessons/day-024.json",
        "bytes": 63715,
        "sha256": "2262c4fc96ea8966469b043f4eee8727709a3a160790b97269af0219a054036a",
        "kind": "lesson",
        "lessonDay": 24,
        "lessonId": "lesson-d24",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "audio/day-024.json",
        "bytes": 39859,
        "sha256": "b41e2884646f2da4a1565958597989962bd54be39d56039191f857722d78e195",
        "kind": "audio_day",
        "lessonDay": 24,
        "count": 57
      },
      {
        "path": "review/day-024.json",
        "bytes": 33593,
        "sha256": "fb9041f0ec4fbf8f672f642be652bc689e32257936fc9940640598e03f7b201a",
        "kind": "review_day",
        "lessonDay": 24,
        "count": 63
      },
      {
        "path": "lessons/day-025.json",
        "bytes": 63030,
        "sha256": "4d534f709554304858271faad6655f52d07926c11bf6d1c7246fd7edf5ed4831",
        "kind": "lesson",
        "lessonDay": 25,
        "lessonId": "lesson-d25",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-025.json",
        "bytes": 40071,
        "sha256": "796c08c97bef973711560ca5f877f6a2f191012a7c08d303d607f79be989b9e0",
        "kind": "audio_day",
        "lessonDay": 25,
        "count": 56
      },
      {
        "path": "review/day-025.json",
        "bytes": 31399,
        "sha256": "57fd2253fd30aed5b4b9f8e9a71e44ef4bb9e450b1da6758e474490b0602c5c3",
        "kind": "review_day",
        "lessonDay": 25,
        "count": 59
      },
      {
        "path": "lessons/day-026.json",
        "bytes": 63505,
        "sha256": "ab8b297e55573bacaea8cbecb4118aa8d311736df6ded53a982eac2c0725f743",
        "kind": "lesson",
        "lessonDay": 26,
        "lessonId": "lesson-d26",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-026.json",
        "bytes": 40251,
        "sha256": "3fd24774bdffa014e79b944c886565f2fe0b354457a8bad0e2ab8df88d62f14f",
        "kind": "audio_day",
        "lessonDay": 26,
        "count": 56
      },
      {
        "path": "review/day-026.json",
        "bytes": 31433,
        "sha256": "47181a53827d9302424793dc2c29737c26792f537bbc9b50ee811efc170e6ae9",
        "kind": "review_day",
        "lessonDay": 26,
        "count": 59
      },
      {
        "path": "lessons/day-027.json",
        "bytes": 59372,
        "sha256": "5a52d3cb307abf0fe4535509fef4a0fcf4f447165f7096bb00d711263f42e100",
        "kind": "lesson",
        "lessonDay": 27,
        "lessonId": "lesson-d27",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-027.json",
        "bytes": 38257,
        "sha256": "fcbec0b00b4e6224826361737158a10e695d6f168bb78887cb0e94da7c4d0d64",
        "kind": "audio_day",
        "lessonDay": 27,
        "count": 55
      },
      {
        "path": "review/day-027.json",
        "bytes": 29883,
        "sha256": "fe5eddcd39d91d51b903791f55c5c8f361d3b6439c82001a28eb9bf90a327f82",
        "kind": "review_day",
        "lessonDay": 27,
        "count": 56
      },
      {
        "path": "lessons/day-028.json",
        "bytes": 64844,
        "sha256": "9aa0ce9a53a0eecf8803ae9ddf54ce67eaf62206316af65750a23fd462a95f3d",
        "kind": "lesson",
        "lessonDay": 28,
        "lessonId": "lesson-d28",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 57
        }
      },
      {
        "path": "audio/day-028.json",
        "bytes": 41263,
        "sha256": "15f25240490969ae76ca3d254c24dd0e116eecdad48b5a3baa0488011afacb9f",
        "kind": "audio_day",
        "lessonDay": 28,
        "count": 55
      },
      {
        "path": "review/day-028.json",
        "bytes": 30421,
        "sha256": "c1cd14f9e0e7e841b09490fbad95078cf1370ed023236924560cd0b5806d3fe4",
        "kind": "review_day",
        "lessonDay": 28,
        "count": 57
      },
      {
        "path": "lessons/day-029.json",
        "bytes": 66470,
        "sha256": "d27ec94da9073fd244c84556e700a8dbb658a9da48f0f2f7c99c5ef2842c60c0",
        "kind": "lesson",
        "lessonDay": 29,
        "lessonId": "lesson-d29",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 59
        }
      },
      {
        "path": "audio/day-029.json",
        "bytes": 40210,
        "sha256": "e2be25524bd16d3eb44f0079e904f6252f3da2412c778d1ac2b3720db43f5b1f",
        "kind": "audio_day",
        "lessonDay": 29,
        "count": 55
      },
      {
        "path": "review/day-029.json",
        "bytes": 31483,
        "sha256": "88c8ae08278a28e2f66aba020006ef4f04166dce31e8fd0a6a6daf0134e0f15c",
        "kind": "review_day",
        "lessonDay": 29,
        "count": 59
      },
      {
        "path": "lessons/day-030.json",
        "bytes": 61994,
        "sha256": "4f258c3973d49023c6ba70bf98570647508922502b5f00109409a7208d026a4e",
        "kind": "lesson",
        "lessonDay": 30,
        "lessonId": "lesson-d30",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-030.json",
        "bytes": 39368,
        "sha256": "57f1b0c55132f5d8f4e1d290d0ed74d2ac5b88fb288360f865b6299a2b042223",
        "kind": "audio_day",
        "lessonDay": 30,
        "count": 55
      },
      {
        "path": "review/day-030.json",
        "bytes": 29819,
        "sha256": "1d863d12d8a7dad42e2ddaae23b0c96d7122c9c7b3432010a2e0e3064e206c5d",
        "kind": "review_day",
        "lessonDay": 30,
        "count": 56
      },
      {
        "path": "lessons/day-031.json",
        "bytes": 62774,
        "sha256": "37208457580de47184cc5673aade0e71bbc85a1e6ca6a8caa7ba5664fe6ffea3",
        "kind": "lesson",
        "lessonDay": 31,
        "lessonId": "lesson-d31",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-031.json",
        "bytes": 39632,
        "sha256": "0941b938137557a98e4dc430662204bdea75708a7e43f8283d5c452a5a63cea5",
        "kind": "audio_day",
        "lessonDay": 31,
        "count": 56
      },
      {
        "path": "review/day-031.json",
        "bytes": 31443,
        "sha256": "8a8b3271b3ee152e573dc3db3eae3ade6a44f545d3849e57384cd22345143f50",
        "kind": "review_day",
        "lessonDay": 31,
        "count": 59
      },
      {
        "path": "lessons/day-032.json",
        "bytes": 63716,
        "sha256": "f7be67657a9d2159905f9ec351ec0c1c1222c62018e0e58dd1798e5fc8754fa1",
        "kind": "lesson",
        "lessonDay": 32,
        "lessonId": "lesson-d32",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-032.json",
        "bytes": 40439,
        "sha256": "762dc6069dd53b0aa50b8bc93b7de0475af983a79856e631f2bc168934dc0de2",
        "kind": "audio_day",
        "lessonDay": 32,
        "count": 56
      },
      {
        "path": "review/day-032.json",
        "bytes": 31411,
        "sha256": "a489f3602694e7ec8419bed7d0a583147430f49bfe8e36a35fa19b8fd312067f",
        "kind": "review_day",
        "lessonDay": 32,
        "count": 59
      },
      {
        "path": "lessons/day-033.json",
        "bytes": 62670,
        "sha256": "eb1de01e564af3493d698f6265d5016c19facb8ec6e1a619336960fcf345f67e",
        "kind": "lesson",
        "lessonDay": 33,
        "lessonId": "lesson-d33",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 60
        }
      },
      {
        "path": "audio/day-033.json",
        "bytes": 39750,
        "sha256": "afa4412af77153fbaa97e7b2eec7be8be2387a375c1c1211a85c930940d75dc9",
        "kind": "audio_day",
        "lessonDay": 33,
        "count": 56
      },
      {
        "path": "review/day-033.json",
        "bytes": 31965,
        "sha256": "0a8aebc046f5d6b658ff0cf7abbd54ae86cffef9c895bc73444c11d76cc49ff6",
        "kind": "review_day",
        "lessonDay": 33,
        "count": 60
      },
      {
        "path": "lessons/day-034.json",
        "bytes": 63994,
        "sha256": "9e1478824b3718a4b7636d00b3e165b40a9f0e03da189fd460ee94486dca9fa4",
        "kind": "lesson",
        "lessonDay": 34,
        "lessonId": "lesson-d34",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 62
        }
      },
      {
        "path": "audio/day-034.json",
        "bytes": 40117,
        "sha256": "29190b80f4f69988580f77bf2478878960fc100a34def11329c94e93a6ae6e65",
        "kind": "audio_day",
        "lessonDay": 34,
        "count": 57
      },
      {
        "path": "review/day-034.json",
        "bytes": 33123,
        "sha256": "2d50936e0c509f143970e3ef3ea82ea9747caf513e6bbc2e1a108434a60111b6",
        "kind": "review_day",
        "lessonDay": 34,
        "count": 62
      },
      {
        "path": "lessons/day-035.json",
        "bytes": 66132,
        "sha256": "76a1d11aff234c785c4730666784289399bc4560f5eb4d2bdd8e28297d425eba",
        "kind": "lesson",
        "lessonDay": 35,
        "lessonId": "lesson-d35",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "audio/day-035.json",
        "bytes": 41123,
        "sha256": "f122a02511167f75625488a8637733db6171526ad63e944282c6539aacf61202",
        "kind": "audio_day",
        "lessonDay": 35,
        "count": 57
      },
      {
        "path": "review/day-035.json",
        "bytes": 33589,
        "sha256": "a402800d774e3ada92ef6d618906c3fca09650be3edad2fbbc0039ca7bdee3f8",
        "kind": "review_day",
        "lessonDay": 35,
        "count": 63
      },
      {
        "path": "lessons/day-036.json",
        "bytes": 64868,
        "sha256": "ef6b10d26757fe4903ea31e2f9cb6146857960bc981a4e269b686ae79f3e0b5d",
        "kind": "lesson",
        "lessonDay": 36,
        "lessonId": "lesson-d36",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 60
        }
      },
      {
        "path": "audio/day-036.json",
        "bytes": 40674,
        "sha256": "540464be46eb402c6b459d9d0ac6162c680b4fe0c15b6f079ac2058e771dd872",
        "kind": "audio_day",
        "lessonDay": 36,
        "count": 56
      },
      {
        "path": "review/day-036.json",
        "bytes": 31935,
        "sha256": "1be55d6de4cb7fd25e003b255e91f15edf3aa770cb3de824ba04d5f387393b9e",
        "kind": "review_day",
        "lessonDay": 36,
        "count": 60
      },
      {
        "path": "lessons/day-037.json",
        "bytes": 62440,
        "sha256": "fb644a0bc3dd5cc8b32eafda5129e331bfa37adc801d07aaa8857ed930dd4c4a",
        "kind": "lesson",
        "lessonDay": 37,
        "lessonId": "lesson-d37",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-037.json",
        "bytes": 39769,
        "sha256": "b5c2755db8118ec8649b2cb12faa20d469abd3d2ae48d2bdc03b040683864f20",
        "kind": "audio_day",
        "lessonDay": 37,
        "count": 56
      },
      {
        "path": "review/day-037.json",
        "bytes": 31423,
        "sha256": "7acb58e91704dd59437d81091bec335cc7dae90070d91233806a91b03a424918",
        "kind": "review_day",
        "lessonDay": 37,
        "count": 59
      },
      {
        "path": "lessons/day-038.json",
        "bytes": 65787,
        "sha256": "ad1f26e1deb450d29f3235c9fc8ad08ccdc74787c4e89e5364e481ac1efb703b",
        "kind": "lesson",
        "lessonDay": 38,
        "lessonId": "lesson-d38",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "audio/day-038.json",
        "bytes": 40982,
        "sha256": "489645d1f33bdbf1fc0796c83ae6a056ad00ba8acd064170082fae3148b3f0d6",
        "kind": "audio_day",
        "lessonDay": 38,
        "count": 57
      },
      {
        "path": "review/day-038.json",
        "bytes": 33641,
        "sha256": "ffa5dbb298e267dc74c4ba83fb68e2d64bf3c9b0d680de3b612a73f95f8817dc",
        "kind": "review_day",
        "lessonDay": 38,
        "count": 63
      },
      {
        "path": "lessons/day-039.json",
        "bytes": 66150,
        "sha256": "8f725593fe66a0da7b5d03690218cf4a9233d64089668e93cf4177d38ffb57d6",
        "kind": "lesson",
        "lessonDay": 39,
        "lessonId": "lesson-d39",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "audio/day-039.json",
        "bytes": 41159,
        "sha256": "16de7e0660e63c787fabdf17e4896679cb740b9b7b32a66b1133a2f32e3d6f3b",
        "kind": "audio_day",
        "lessonDay": 39,
        "count": 57
      },
      {
        "path": "review/day-039.json",
        "bytes": 33607,
        "sha256": "379d1a1a7357309012e6581b43550e5398a035c395797261132ff38319f1fa81",
        "kind": "review_day",
        "lessonDay": 39,
        "count": 63
      },
      {
        "path": "lessons/day-040.json",
        "bytes": 65574,
        "sha256": "3b85549690dae7539db3ee4db7cf4c63a1816e42f7a2a5334e40d1e097179642",
        "kind": "lesson",
        "lessonDay": 40,
        "lessonId": "lesson-d40",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "audio/day-040.json",
        "bytes": 40930,
        "sha256": "ff2c5157821da42b0330257eaae057fce503840d738589a5b2c5405bc92a9ca7",
        "kind": "audio_day",
        "lessonDay": 40,
        "count": 57
      },
      {
        "path": "review/day-040.json",
        "bytes": 33749,
        "sha256": "230d7368d26c8b969f6b57081a75ea6087ac3828acb0e75329196e291ea52376",
        "kind": "review_day",
        "lessonDay": 40,
        "count": 63
      },
      {
        "path": "lessons/day-041.json",
        "bytes": 65462,
        "sha256": "45058d0c946d13cc16d95d5eb354b23636aac448d4b872f5b912b62a89552148",
        "kind": "lesson",
        "lessonDay": 41,
        "lessonId": "lesson-d41",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "audio/day-041.json",
        "bytes": 40628,
        "sha256": "d519e942887583527a929e2ee546b0636e4505052840f63a25c5c1d776cfafb0",
        "kind": "audio_day",
        "lessonDay": 41,
        "count": 57
      },
      {
        "path": "review/day-041.json",
        "bytes": 33641,
        "sha256": "2cda831776a652e9410a3b8d262d94f96c336ad24290470b7ab9333b493426fd",
        "kind": "review_day",
        "lessonDay": 41,
        "count": 63
      },
      {
        "path": "lessons/day-042.json",
        "bytes": 65816,
        "sha256": "25e8f87e80e5159189bf31a5490cb7c5450c91006af7d7aba71ce9e73694a8d1",
        "kind": "lesson",
        "lessonDay": 42,
        "lessonId": "lesson-d42",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 62
        }
      },
      {
        "path": "audio/day-042.json",
        "bytes": 41161,
        "sha256": "fb14fa6cf4d8e0f71040c8fa124761d6321d5972ab09fdb9948db90772c153e0",
        "kind": "audio_day",
        "lessonDay": 42,
        "count": 57
      },
      {
        "path": "review/day-042.json",
        "bytes": 33119,
        "sha256": "60898dffd0b49925fd24fa07851b7560a068876c45ef0fa9d6a698959bb53c4e",
        "kind": "review_day",
        "lessonDay": 42,
        "count": 62
      },
      {
        "path": "lessons/day-043.json",
        "bytes": 61022,
        "sha256": "68146616848c8d805443632b8ec7ce7664cab3af7e40a0b2b280afe8f3cc5463",
        "kind": "lesson",
        "lessonDay": 43,
        "lessonId": "lesson-d43",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-043.json",
        "bytes": 39297,
        "sha256": "ec47c6323289742d99e77cc90c6ab5b1ce2056fa5504a86816a4cb716a712b25",
        "kind": "audio_day",
        "lessonDay": 43,
        "count": 55
      },
      {
        "path": "review/day-043.json",
        "bytes": 29749,
        "sha256": "b72a27509e3d1cc52a5f913f8a8f62dbacfd47584c316dca308a0f7623803046",
        "kind": "review_day",
        "lessonDay": 43,
        "count": 56
      },
      {
        "path": "lessons/day-044.json",
        "bytes": 63544,
        "sha256": "afb79b40a96ca033f613c43eb9a680bc953989d1d12fdb89d57febf4a33b3e37",
        "kind": "lesson",
        "lessonDay": 44,
        "lessonId": "lesson-d44",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-044.json",
        "bytes": 39991,
        "sha256": "f4e98fd0205ac98d86926bc7ba289fa710dabf444f85e073e4d149f365a3eb19",
        "kind": "audio_day",
        "lessonDay": 44,
        "count": 56
      },
      {
        "path": "review/day-044.json",
        "bytes": 31453,
        "sha256": "fa44d0941d72a051d1dfc49d746af73cf28d4218d279e875210fb5418b59ae94",
        "kind": "review_day",
        "lessonDay": 44,
        "count": 59
      },
      {
        "path": "lessons/day-045.json",
        "bytes": 64146,
        "sha256": "77b0f244a928abca5767b0f7ee0f727b5da7fb5508413e58ceb9afc69cb4c022",
        "kind": "lesson",
        "lessonDay": 45,
        "lessonId": "lesson-d45",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 60
        }
      },
      {
        "path": "audio/day-045.json",
        "bytes": 39822,
        "sha256": "7ae0f77e993e94c1f46acd2de5a5949db0afd09c70ba54a9550685af5af02513",
        "kind": "audio_day",
        "lessonDay": 45,
        "count": 56
      },
      {
        "path": "review/day-045.json",
        "bytes": 31943,
        "sha256": "c3679cc86921e2959fa9e7c22d10fa96ad2b4080f2ec844b66b932482c37af04",
        "kind": "review_day",
        "lessonDay": 45,
        "count": 60
      },
      {
        "path": "lessons/day-046.json",
        "bytes": 64111,
        "sha256": "df38f0b18a022aa121f7e57236ff57e10bfd936a74de63a96817f6905594fe90",
        "kind": "lesson",
        "lessonDay": 46,
        "lessonId": "lesson-d46",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 60
        }
      },
      {
        "path": "audio/day-046.json",
        "bytes": 40253,
        "sha256": "343a291bb3c0eaea1bd720f2aa0c37e55134efad3de56427fcaa453be000c580",
        "kind": "audio_day",
        "lessonDay": 46,
        "count": 56
      },
      {
        "path": "review/day-046.json",
        "bytes": 32053,
        "sha256": "f6ccd1473c62f4f4f10f5ac41eeaad96c8dd9ce3aea73440d38a589b965e3cc4",
        "kind": "review_day",
        "lessonDay": 46,
        "count": 60
      },
      {
        "path": "lessons/day-047.json",
        "bytes": 63083,
        "sha256": "5bde5891f1bd82031904f78f9f878f0595361456a19c073d99d6afc0eca9ee97",
        "kind": "lesson",
        "lessonDay": 47,
        "lessonId": "lesson-d47",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-047.json",
        "bytes": 39690,
        "sha256": "43f03078e1decc96203c36ce4853536f08e1f9cf99ea358edeb4283386a6ab6a",
        "kind": "audio_day",
        "lessonDay": 47,
        "count": 56
      },
      {
        "path": "review/day-047.json",
        "bytes": 31501,
        "sha256": "401cba4f10ce78d12dec4e53e9818b728ff0a9e3d835b1008c1f0f8a42003a63",
        "kind": "review_day",
        "lessonDay": 47,
        "count": 59
      },
      {
        "path": "lessons/day-048.json",
        "bytes": 62058,
        "sha256": "3058a28be6a0064cabda900ae938c4eb21617eb278d6caef9794790e3ff0be4c",
        "kind": "lesson",
        "lessonDay": 48,
        "lessonId": "lesson-d48",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-048.json",
        "bytes": 39555,
        "sha256": "267123366bb175afeb6a6ba4a58772748a66dde8697b42ad9e0c30003488a2c1",
        "kind": "audio_day",
        "lessonDay": 48,
        "count": 55
      },
      {
        "path": "review/day-048.json",
        "bytes": 29749,
        "sha256": "4dc562d2ec4b19945eae8d88197e9bc46173dacd7ecfcf6556781e89a70b30ee",
        "kind": "review_day",
        "lessonDay": 48,
        "count": 56
      },
      {
        "path": "lessons/day-049.json",
        "bytes": 62771,
        "sha256": "836497afd6fd04108293faf7c235cf171e3b789b954cf41ef939b83685b3c20f",
        "kind": "lesson",
        "lessonDay": 49,
        "lessonId": "lesson-d49",
        "counts": {
          "vocabulary": 18,
          "sentences": 18,
          "cards": 53
        }
      },
      {
        "path": "audio/day-049.json",
        "bytes": 39954,
        "sha256": "85fd15fba9348940c1267e9f2c58439ddc6f0969133045700a0ce16aadf635ec",
        "kind": "audio_day",
        "lessonDay": 49,
        "count": 54
      },
      {
        "path": "review/day-049.json",
        "bytes": 28169,
        "sha256": "fab7332575b1584926ef7d4ea07f09a6f3e839a0c435398bfc3f900d7f63a47e",
        "kind": "review_day",
        "lessonDay": 49,
        "count": 53
      },
      {
        "path": "lessons/day-050.json",
        "bytes": 64793,
        "sha256": "fd145688c176adf7709e409ed46d0fc5b6265f8f8cc864d303d4a5bf8578b452",
        "kind": "lesson",
        "lessonDay": 50,
        "lessonId": "lesson-d50",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-050.json",
        "bytes": 40786,
        "sha256": "dc259d75dd2afb22c4634cb22dbfe2073b109f1aee54d76e72c702e3b938b96f",
        "kind": "audio_day",
        "lessonDay": 50,
        "count": 56
      },
      {
        "path": "review/day-050.json",
        "bytes": 31473,
        "sha256": "7b6b7b8663acbd28028117e32cfa4539ef9ccbadae87650b9d5702ce751edcd8",
        "kind": "review_day",
        "lessonDay": 50,
        "count": 59
      },
      {
        "path": "lessons/day-051.json",
        "bytes": 64229,
        "sha256": "864b6f450ef7d1012c35bf53f9b09c7040806023e58853082cff2489f0bce622",
        "kind": "lesson",
        "lessonDay": 51,
        "lessonId": "lesson-d51",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-051.json",
        "bytes": 40556,
        "sha256": "3e3ad8145112b251e62b5f74bd45d4af5377f3ad50fd903f75b33c80ac845207",
        "kind": "audio_day",
        "lessonDay": 51,
        "count": 56
      },
      {
        "path": "review/day-051.json",
        "bytes": 31459,
        "sha256": "307f917c70a0f30ea851c9ab2c017d6257099c00dbb0337a75574991617ebc49",
        "kind": "review_day",
        "lessonDay": 51,
        "count": 59
      },
      {
        "path": "lessons/day-052.json",
        "bytes": 66940,
        "sha256": "183aa56f1d9e42695a830eedd6c42e945f553153d2b2d2ab8c3ac50af232f356",
        "kind": "lesson",
        "lessonDay": 52,
        "lessonId": "lesson-d52",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "audio/day-052.json",
        "bytes": 41550,
        "sha256": "8b41f4041b69e89272bb7a02961dc406607cfd1072013164ff8136218a2aa0b3",
        "kind": "audio_day",
        "lessonDay": 52,
        "count": 57
      },
      {
        "path": "review/day-052.json",
        "bytes": 33749,
        "sha256": "24ca701d6295ea3efb97b8bb8e403fa3125a287a7b88207bf1aef635a69264f1",
        "kind": "review_day",
        "lessonDay": 52,
        "count": 63
      },
      {
        "path": "lessons/day-053.json",
        "bytes": 65840,
        "sha256": "edbd4c5ba1e2ca3bb4de2d35c120a9ccc6e91b3609e54a98887646e5e6c11b31",
        "kind": "lesson",
        "lessonDay": 53,
        "lessonId": "lesson-d53",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "audio/day-053.json",
        "bytes": 41071,
        "sha256": "42ec3f127ba360e5dab3ff716a0226e46996274c17e66bdaf89ee545f96f8809",
        "kind": "audio_day",
        "lessonDay": 53,
        "count": 57
      },
      {
        "path": "review/day-053.json",
        "bytes": 33707,
        "sha256": "1aa4156e82bfd3722c37519ff616198cecab9fdd0df93a30953e252956713199",
        "kind": "review_day",
        "lessonDay": 53,
        "count": 63
      },
      {
        "path": "lessons/day-054.json",
        "bytes": 65255,
        "sha256": "96b7d968530b21fa41be2ec374d3da619c269b73ea3e57f119b06b720d33d93b",
        "kind": "lesson",
        "lessonDay": 54,
        "lessonId": "lesson-d54",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-054.json",
        "bytes": 41003,
        "sha256": "1f6f3a3c0719c90535a76431b27601cfd794b326ccc5f6ba741dff2ad74fc668",
        "kind": "audio_day",
        "lessonDay": 54,
        "count": 56
      },
      {
        "path": "review/day-054.json",
        "bytes": 31487,
        "sha256": "50fc568d694edbff4377fed50af036f2a3295c7fe512d463536f09a9d95c2ac5",
        "kind": "review_day",
        "lessonDay": 54,
        "count": 59
      },
      {
        "path": "lessons/day-055.json",
        "bytes": 66395,
        "sha256": "9104ebb674da8754474a508b630ceef02ab17ca68720509d0e97ed0739bbf8d1",
        "kind": "lesson",
        "lessonDay": 55,
        "lessonId": "lesson-d55",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-055.json",
        "bytes": 41607,
        "sha256": "e1e504bb1746d401cacdfd32b884060a743db74b7b8a722dcfe4267505c3150f",
        "kind": "audio_day",
        "lessonDay": 55,
        "count": 56
      },
      {
        "path": "review/day-055.json",
        "bytes": 31445,
        "sha256": "b97d66dc921f460010d069a27dd97e9e38606cbfa35d0cbbcc675dddc51216bd",
        "kind": "review_day",
        "lessonDay": 55,
        "count": 59
      },
      {
        "path": "lessons/day-056.json",
        "bytes": 65025,
        "sha256": "4bfd6efd587457e9aa8d5bd5ef82be0d4e2421b75878566e4dcda7bc6229e000",
        "kind": "lesson",
        "lessonDay": 56,
        "lessonId": "lesson-d56",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 62
        }
      },
      {
        "path": "audio/day-056.json",
        "bytes": 41079,
        "sha256": "8508a808dd6e1ebaca0e060ceedd81d6bece498dbf032e4d7e7953815c7af22b",
        "kind": "audio_day",
        "lessonDay": 56,
        "count": 57
      },
      {
        "path": "review/day-056.json",
        "bytes": 33115,
        "sha256": "6635c0247518614fa71ee9584a6c12841db62fc3d0c549fa0a006d6c9a4044b1",
        "kind": "review_day",
        "lessonDay": 56,
        "count": 62
      },
      {
        "path": "lessons/day-057.json",
        "bytes": 63290,
        "sha256": "6a76717e66c5e3a1cac69324e5a11c56bcbc2c8259f0208e253569af175f4dbe",
        "kind": "lesson",
        "lessonDay": 57,
        "lessonId": "lesson-d57",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-057.json",
        "bytes": 40022,
        "sha256": "91863e6db58ef5379eb073a4daaec91e5f3b690ecc6307dbf9205e9b45e0d2c8",
        "kind": "audio_day",
        "lessonDay": 57,
        "count": 55
      },
      {
        "path": "review/day-057.json",
        "bytes": 29843,
        "sha256": "fade697d86d6e6c8bb1f4d8bbabedac49f27bcb591eb88aa5e9f96ec194a7d7a",
        "kind": "review_day",
        "lessonDay": 57,
        "count": 56
      },
      {
        "path": "lessons/day-058.json",
        "bytes": 66809,
        "sha256": "9377c03b4d7a6ea697af9ddf36bb318cc1e2d5ae2acaf14b0a17ff3a6af71693",
        "kind": "lesson",
        "lessonDay": 58,
        "lessonId": "lesson-d58",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-058.json",
        "bytes": 41688,
        "sha256": "add3120a2be55c9a19519d7293af721ad3d2b1007eab07cc106ee4bf5d63f47b",
        "kind": "audio_day",
        "lessonDay": 58,
        "count": 56
      },
      {
        "path": "review/day-058.json",
        "bytes": 31531,
        "sha256": "24126876e98e81a7bfafec13a40020d290b55f474cfa939491950a16d9915926",
        "kind": "review_day",
        "lessonDay": 58,
        "count": 59
      },
      {
        "path": "lessons/day-059.json",
        "bytes": 62532,
        "sha256": "df0c1e635993cc42d613f1d5818a55d7d81b3e82476d36a1f1c5a61882a38f17",
        "kind": "lesson",
        "lessonDay": 59,
        "lessonId": "lesson-d59",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-059.json",
        "bytes": 39520,
        "sha256": "a4f687154f84a58e673a72c9760c88fd919e07a2a6b9110939153008bf087a3a",
        "kind": "audio_day",
        "lessonDay": 59,
        "count": 55
      },
      {
        "path": "review/day-059.json",
        "bytes": 29815,
        "sha256": "a33d3591bb489cf11668d3b0c57f1d78919d6282566962ebda56e1a4994410ba",
        "kind": "review_day",
        "lessonDay": 59,
        "count": 56
      },
      {
        "path": "lessons/day-060.json",
        "bytes": 63524,
        "sha256": "a58db7a39c87ef9395af2bc32d8421b4fb18cc498e12898d8987613a783061be",
        "kind": "lesson",
        "lessonDay": 60,
        "lessonId": "lesson-d60",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-060.json",
        "bytes": 39928,
        "sha256": "7f6e9f7a1e8d389580707fb1be6afbcbed18cfd34566bd3dcb35467347b0a60b",
        "kind": "audio_day",
        "lessonDay": 60,
        "count": 55
      },
      {
        "path": "review/day-060.json",
        "bytes": 29851,
        "sha256": "ae599b1dcfd75548153fe41d12dbe9a11731a5e741f29f934f04df2afe08609e",
        "kind": "review_day",
        "lessonDay": 60,
        "count": 56
      },
      {
        "path": "lessons/day-061.json",
        "bytes": 66437,
        "sha256": "fa6021c698215b8652e2805463933eeb4c1e5d18d9b22e9ff0b58a08a615f36c",
        "kind": "lesson",
        "lessonDay": 61,
        "lessonId": "lesson-d61",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-061.json",
        "bytes": 41672,
        "sha256": "abf99af136930c41187ea8d1f92abd2cdbebd43b776a204f17385c70e08081dd",
        "kind": "audio_day",
        "lessonDay": 61,
        "count": 56
      },
      {
        "path": "review/day-061.json",
        "bytes": 31489,
        "sha256": "b24d8a4def95a60e998b051ac1c2ee8606e3567d6d44796eb3c555c56d02e882",
        "kind": "review_day",
        "lessonDay": 61,
        "count": 59
      },
      {
        "path": "lessons/day-062.json",
        "bytes": 66584,
        "sha256": "3657122f85e6eee90b4a48623c8876f329a1fd14ce107c21064396ff3047e36f",
        "kind": "lesson",
        "lessonDay": 62,
        "lessonId": "lesson-d62",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-062.json",
        "bytes": 41832,
        "sha256": "9b48527cf8d288955db13d128aa998d2b6c8aa458a6c627c82e0bd7c589e85f7",
        "kind": "audio_day",
        "lessonDay": 62,
        "count": 56
      },
      {
        "path": "review/day-062.json",
        "bytes": 31459,
        "sha256": "048386dcdc9806c3393a9bb7f848f9aaf2260867435be000f07193945ea10674",
        "kind": "review_day",
        "lessonDay": 62,
        "count": 59
      },
      {
        "path": "lessons/day-063.json",
        "bytes": 62930,
        "sha256": "c99a7fb5b302269b8be9c67f9ca8a403ca1768aa6cded3620fa53cd16e0db035",
        "kind": "lesson",
        "lessonDay": 63,
        "lessonId": "lesson-d63",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-063.json",
        "bytes": 40161,
        "sha256": "1784effd783d67496e450ad26bb66a9301d14349c7103216009f2ff8f92ce208",
        "kind": "audio_day",
        "lessonDay": 63,
        "count": 55
      },
      {
        "path": "review/day-063.json",
        "bytes": 29747,
        "sha256": "c0ffbfcdeeb2141ef389066e1fa64ea0b220cde2fd7d3822eee5961f42e1b875",
        "kind": "review_day",
        "lessonDay": 63,
        "count": 56
      },
      {
        "path": "lessons/day-064.json",
        "bytes": 66190,
        "sha256": "82f7476f8ef84110b52f37f354d645baabcb0dc1606a740eb838ce63b93869a9",
        "kind": "lesson",
        "lessonDay": 64,
        "lessonId": "lesson-d64",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-064.json",
        "bytes": 41083,
        "sha256": "c5abe5f7171205adda7ca754f1c8c898687edb2a1384cb430ab442522fc76745",
        "kind": "audio_day",
        "lessonDay": 64,
        "count": 56
      },
      {
        "path": "review/day-064.json",
        "bytes": 31537,
        "sha256": "6e735c627957339656318459d42a174e022e28ce2424573df0bb5ecb6f8dd9b6",
        "kind": "review_day",
        "lessonDay": 64,
        "count": 59
      },
      {
        "path": "lessons/day-065.json",
        "bytes": 65956,
        "sha256": "3ea8e33447397f85709c8eacd2dbee1bcb27a848aefb3303f99bad38326e8b43",
        "kind": "lesson",
        "lessonDay": 65,
        "lessonId": "lesson-d65",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-065.json",
        "bytes": 41415,
        "sha256": "aac7906143238ef30bb2fb55fb9fc49778a76b72f09a027e2e017725bc786b34",
        "kind": "audio_day",
        "lessonDay": 65,
        "count": 56
      },
      {
        "path": "review/day-065.json",
        "bytes": 31427,
        "sha256": "71016c5841b65bb048e7da5c205d18d65d1d9b206e8b9f582dd0067744823fc4",
        "kind": "review_day",
        "lessonDay": 65,
        "count": 59
      },
      {
        "path": "lessons/day-066.json",
        "bytes": 64855,
        "sha256": "1a3b1943eff5e1c6572c12a9cd0bcaee0270c3a8d4f19da75d3728e42a91e22e",
        "kind": "lesson",
        "lessonDay": 66,
        "lessonId": "lesson-d66",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-066.json",
        "bytes": 40874,
        "sha256": "a56460c30f1f865d0f266c1093e321856593a9359f7b9ffaeb9c3a0a068594d9",
        "kind": "audio_day",
        "lessonDay": 66,
        "count": 55
      },
      {
        "path": "review/day-066.json",
        "bytes": 29987,
        "sha256": "f731bd116126162a820a6e747c9a7d4de5ad275347df3a4ca83a2741ede23b50",
        "kind": "review_day",
        "lessonDay": 66,
        "count": 56
      },
      {
        "path": "lessons/day-067.json",
        "bytes": 65279,
        "sha256": "115d2232fe8f017d62c33dbb11321dc19a10364d72a5c52d08e453691e37d941",
        "kind": "lesson",
        "lessonDay": 67,
        "lessonId": "lesson-d67",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-067.json",
        "bytes": 41389,
        "sha256": "3b5318fe55c9d5bd3c71556c734a304bf00535788c63a561201f3cd0b05be144",
        "kind": "audio_day",
        "lessonDay": 67,
        "count": 55
      },
      {
        "path": "review/day-067.json",
        "bytes": 29945,
        "sha256": "fb773be5dec1d896dd88fc8ac83c6cab4de7f2ead66ee8878ca74d0658361faf",
        "kind": "review_day",
        "lessonDay": 67,
        "count": 56
      },
      {
        "path": "lessons/day-068.json",
        "bytes": 65812,
        "sha256": "0423f76ca0ecbc84f49e3843c40bfad83f6f8761ad63eaf76354d354777c63c7",
        "kind": "lesson",
        "lessonDay": 68,
        "lessonId": "lesson-d68",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-068.json",
        "bytes": 41709,
        "sha256": "ae1619e4476c494a64a449b1736fe7daf585def738e29cb35cb1f1e92edfb323",
        "kind": "audio_day",
        "lessonDay": 68,
        "count": 55
      },
      {
        "path": "review/day-068.json",
        "bytes": 29787,
        "sha256": "0be3924e29982e8377a55522d78d0b13b5b69c21cbcf65d05995bf8414cd08cc",
        "kind": "review_day",
        "lessonDay": 68,
        "count": 56
      },
      {
        "path": "lessons/day-069.json",
        "bytes": 63992,
        "sha256": "64ce6e3c6f6e5377e9b56ef88c0702ec7d1498115705d3cb7526cd5e8b1221fb",
        "kind": "lesson",
        "lessonDay": 69,
        "lessonId": "lesson-d69",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-069.json",
        "bytes": 40033,
        "sha256": "d909e0d08c4e79e1d5a488567058aa7f1080b265a25cafc0a15a0c17b5a12962",
        "kind": "audio_day",
        "lessonDay": 69,
        "count": 55
      },
      {
        "path": "review/day-069.json",
        "bytes": 29911,
        "sha256": "6fee19544c179ec56222104b55677bd46ebe315e7f51a5f086dd37ce2fdb2680",
        "kind": "review_day",
        "lessonDay": 69,
        "count": 56
      },
      {
        "path": "lessons/day-070.json",
        "bytes": 61639,
        "sha256": "3ce98fcd1011f6ba64767c06f1969244d3a25028e059e751e4416d46ee8d45c0",
        "kind": "lesson",
        "lessonDay": 70,
        "lessonId": "lesson-d70",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-070.json",
        "bytes": 39055,
        "sha256": "0af3e612a8a1fd0bc0db59791048fdae35111d06c7a0324bb912386f51456a39",
        "kind": "audio_day",
        "lessonDay": 70,
        "count": 55
      },
      {
        "path": "review/day-070.json",
        "bytes": 29933,
        "sha256": "378729bb7e0fc00668846bf859073079210234058ee419c13c402891ff619b85",
        "kind": "review_day",
        "lessonDay": 70,
        "count": 56
      },
      {
        "path": "lessons/day-071.json",
        "bytes": 63375,
        "sha256": "471395662d5f04a830847e39e4ec19d56f290c79d5b1af5f255e3fd6b5eab2bc",
        "kind": "lesson",
        "lessonDay": 71,
        "lessonId": "lesson-d71",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-071.json",
        "bytes": 40542,
        "sha256": "8f6c6afac10e80636b92ed3fc8f4df806de69ff9e4c64ac4010d5a0701d60060",
        "kind": "audio_day",
        "lessonDay": 71,
        "count": 55
      },
      {
        "path": "review/day-071.json",
        "bytes": 29751,
        "sha256": "ad0cd7c35e865d98ca6df723fce7ea2b2b102a2c70b64bf91acf5b0913ff5729",
        "kind": "review_day",
        "lessonDay": 71,
        "count": 56
      },
      {
        "path": "lessons/day-072.json",
        "bytes": 65800,
        "sha256": "c5a1b2ce7e6f7935f4b13c93fd03ecf205aa8ea59fe7aeda4f8c36c3a9374572",
        "kind": "lesson",
        "lessonDay": 72,
        "lessonId": "lesson-d72",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-072.json",
        "bytes": 41420,
        "sha256": "86cda4c261b2b746b5dc1902546499bb2fc6abe31826f62d0e75e71fff781b8a",
        "kind": "audio_day",
        "lessonDay": 72,
        "count": 55
      },
      {
        "path": "review/day-072.json",
        "bytes": 29849,
        "sha256": "10bc0d33a33e3aa6e9c5942bd802ae71b449c677c1d3979b42012f0f5cfcd648",
        "kind": "review_day",
        "lessonDay": 72,
        "count": 56
      },
      {
        "path": "lessons/day-073.json",
        "bytes": 65903,
        "sha256": "51320c835c1c2262256daea361676c7c0668c6ca7018815f0b8fd65a80f219e0",
        "kind": "lesson",
        "lessonDay": 73,
        "lessonId": "lesson-d73",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-073.json",
        "bytes": 41518,
        "sha256": "c3fe066a0915f59c01ea42b0c6fdadd37ea8bc60d904523bee3fb8c286ace56e",
        "kind": "audio_day",
        "lessonDay": 73,
        "count": 56
      },
      {
        "path": "review/day-073.json",
        "bytes": 31359,
        "sha256": "16e923817853c9fa991a8aee172fc4e70214540e1491371485b2dcbc0f14eae6",
        "kind": "review_day",
        "lessonDay": 73,
        "count": 59
      },
      {
        "path": "lessons/day-074.json",
        "bytes": 65896,
        "sha256": "5b5a93fb2845d158dc77afa08895cb2c2852f7713a3007dde1044263aa39083f",
        "kind": "lesson",
        "lessonDay": 74,
        "lessonId": "lesson-d74",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-074.json",
        "bytes": 41132,
        "sha256": "68f1861db803b1c408b2aa1c6a6ca8f5f4000bee96766c167de23913cb29924e",
        "kind": "audio_day",
        "lessonDay": 74,
        "count": 55
      },
      {
        "path": "review/day-074.json",
        "bytes": 29753,
        "sha256": "9e8c3efdd918ddb6df59a886342d9ef25ca2aa6bb2167f882fa8ab2af2998a6a",
        "kind": "review_day",
        "lessonDay": 74,
        "count": 56
      },
      {
        "path": "lessons/day-075.json",
        "bytes": 65926,
        "sha256": "b06589beea07177f164ee837316d5c2e5f17f597675c72f75f8f64b70c455da8",
        "kind": "lesson",
        "lessonDay": 75,
        "lessonId": "lesson-d75",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-075.json",
        "bytes": 41318,
        "sha256": "b43dbdb3acd1e89ded238a284db65c80bf9be18875ce74f02f9787a15afe48d9",
        "kind": "audio_day",
        "lessonDay": 75,
        "count": 56
      },
      {
        "path": "review/day-075.json",
        "bytes": 31495,
        "sha256": "1e426c7042f869482b7e52b6bae8cb2b509957ae5ebe49718b44e7acfbd0fa05",
        "kind": "review_day",
        "lessonDay": 75,
        "count": 59
      },
      {
        "path": "lessons/day-076.json",
        "bytes": 67413,
        "sha256": "31c46c7ad93562eb42e59d3da2c0f52f877314dc9d821523a4005857eef9e147",
        "kind": "lesson",
        "lessonDay": 76,
        "lessonId": "lesson-d76",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-076.json",
        "bytes": 42482,
        "sha256": "bf699a6cfdc336d33dfe4fc588ddf81ba99bd92a64429bec7a12ab4ddf7e02f9",
        "kind": "audio_day",
        "lessonDay": 76,
        "count": 55
      },
      {
        "path": "review/day-076.json",
        "bytes": 29855,
        "sha256": "99e638572df0061364ee9659012318d50f496adf90b73b5ecd97da74725df04c",
        "kind": "review_day",
        "lessonDay": 76,
        "count": 56
      },
      {
        "path": "lessons/day-077.json",
        "bytes": 67003,
        "sha256": "4b3129a7aed0fb51a69e5ca321a85cb52c3f9d88205477e900774465c4cae3a7",
        "kind": "lesson",
        "lessonDay": 77,
        "lessonId": "lesson-d77",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-077.json",
        "bytes": 42374,
        "sha256": "2d908a30bcf0b402e25fb28c6e03422dc0ac8d8b048470be3ad6e8f33a553afb",
        "kind": "audio_day",
        "lessonDay": 77,
        "count": 56
      },
      {
        "path": "review/day-077.json",
        "bytes": 31475,
        "sha256": "a7c940eb25d8400ae101e510230dbf8bd359035d8629f85c5f0b897230645dd7",
        "kind": "review_day",
        "lessonDay": 77,
        "count": 59
      },
      {
        "path": "lessons/day-078.json",
        "bytes": 66271,
        "sha256": "54ac6de6d2e880852de35f68103b5c51b11e71ee84709814fb7e48f1c5f5654a",
        "kind": "lesson",
        "lessonDay": 78,
        "lessonId": "lesson-d78",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-078.json",
        "bytes": 41818,
        "sha256": "dfdedfe6fba17c7099e6eef3911aa2523c3d5744938826f59dedb053529f1c65",
        "kind": "audio_day",
        "lessonDay": 78,
        "count": 55
      },
      {
        "path": "review/day-078.json",
        "bytes": 29845,
        "sha256": "d39162f8cf4b92733832b2020ab1b9392deb65ae8c6c0411bf6efc798ccc289f",
        "kind": "review_day",
        "lessonDay": 78,
        "count": 56
      },
      {
        "path": "lessons/day-079.json",
        "bytes": 65382,
        "sha256": "3eafc8598f2f6ea7ec261511f496518ea9a19ecaedcfc3b32175d5ef109c074c",
        "kind": "lesson",
        "lessonDay": 79,
        "lessonId": "lesson-d79",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-079.json",
        "bytes": 41314,
        "sha256": "8bc333a2709a7618aaa2b6776e9386a6c082790e91b84b2f4a2889d156a6120c",
        "kind": "audio_day",
        "lessonDay": 79,
        "count": 55
      },
      {
        "path": "review/day-079.json",
        "bytes": 29829,
        "sha256": "e84df8a21f6c13a55870dc4092bc337d76037706c88f0fc284c0236f7a048644",
        "kind": "review_day",
        "lessonDay": 79,
        "count": 56
      },
      {
        "path": "lessons/day-080.json",
        "bytes": 64290,
        "sha256": "dbba38c590d27ca8f56a19bda5405c9dabfd662ae9685d150276b6b26ea8b118",
        "kind": "lesson",
        "lessonDay": 80,
        "lessonId": "lesson-d80",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-080.json",
        "bytes": 40939,
        "sha256": "8db9ef96d3436d2eea7d8f7c09a881f138029f76e5c7637283d0d35b98ef54a3",
        "kind": "audio_day",
        "lessonDay": 80,
        "count": 55
      },
      {
        "path": "review/day-080.json",
        "bytes": 29817,
        "sha256": "58c38703b5537e1f88a09c31a58a225818331a47d7313275a9a17f54ed490d55",
        "kind": "review_day",
        "lessonDay": 80,
        "count": 56
      },
      {
        "path": "lessons/day-081.json",
        "bytes": 66142,
        "sha256": "1eacd542ea0328ff7e3cc6b91395b57153375d5ceceeacdc8d769d7a67a73606",
        "kind": "lesson",
        "lessonDay": 81,
        "lessonId": "lesson-d81",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-081.json",
        "bytes": 41412,
        "sha256": "39d3e61b495ddaa69d40b786ef5becc6af11c97fdb24b403e39df52729a694dd",
        "kind": "audio_day",
        "lessonDay": 81,
        "count": 55
      },
      {
        "path": "review/day-081.json",
        "bytes": 29861,
        "sha256": "37f5959a70045b1feadc405b4b88a1968ed32a43bc26d7540fe2fbcb7e4e3de8",
        "kind": "review_day",
        "lessonDay": 81,
        "count": 56
      },
      {
        "path": "lessons/day-082.json",
        "bytes": 65472,
        "sha256": "7a53097da99e815924f9643bee7cf9912b7620911d8e8dced241523dc6ccdde8",
        "kind": "lesson",
        "lessonDay": 82,
        "lessonId": "lesson-d82",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-082.json",
        "bytes": 41602,
        "sha256": "c7a60e6acfb1cfcb7ee564b10c058328c4fd06c683486d113aef7d39ca08331a",
        "kind": "audio_day",
        "lessonDay": 82,
        "count": 55
      },
      {
        "path": "review/day-082.json",
        "bytes": 29815,
        "sha256": "0bc154938f6ac0fe68b7625b7d8dacc789f2788208ec7b3133f55957e485178d",
        "kind": "review_day",
        "lessonDay": 82,
        "count": 56
      },
      {
        "path": "lessons/day-083.json",
        "bytes": 63622,
        "sha256": "1fe58cd7bcefdf9433e8a3c501abdc1e70725378cc8208e3f9e5f1c63aee6c4d",
        "kind": "lesson",
        "lessonDay": 83,
        "lessonId": "lesson-d83",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-083.json",
        "bytes": 40492,
        "sha256": "20ae566627142982c102bb5119e45db151990f000b1748ed69e9bb35e89ae12c",
        "kind": "audio_day",
        "lessonDay": 83,
        "count": 55
      },
      {
        "path": "review/day-083.json",
        "bytes": 29875,
        "sha256": "7edf394c92f36e0e1e4498f5185af38d83faef15d326a8655a8c4aa76d22245a",
        "kind": "review_day",
        "lessonDay": 83,
        "count": 56
      },
      {
        "path": "lessons/day-084.json",
        "bytes": 65594,
        "sha256": "d50389f5363a4188e6f92cd0c0046597b8189967cf6d3e708446b820dfa6f57b",
        "kind": "lesson",
        "lessonDay": 84,
        "lessonId": "lesson-d84",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-084.json",
        "bytes": 41014,
        "sha256": "e09b70f773672d0a6158ed29b01b17503cb5b60902845e1f3d1ae9392b1592da",
        "kind": "audio_day",
        "lessonDay": 84,
        "count": 55
      },
      {
        "path": "review/day-084.json",
        "bytes": 29803,
        "sha256": "42ab818459be362271cd79785344ba2e41a6f430cf9fa2863d92ba273d9482da",
        "kind": "review_day",
        "lessonDay": 84,
        "count": 56
      },
      {
        "path": "lessons/day-085.json",
        "bytes": 68734,
        "sha256": "c780ce026b4512f7cbcccc081d8027f9ca2371f4c2cf2001e53c9079c2953f5b",
        "kind": "lesson",
        "lessonDay": 85,
        "lessonId": "lesson-d85",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "audio/day-085.json",
        "bytes": 42613,
        "sha256": "e23d9679eb977f0db54f769126ce14b584c34fda7b2051a5019ac1da89eec54b",
        "kind": "audio_day",
        "lessonDay": 85,
        "count": 56
      },
      {
        "path": "review/day-085.json",
        "bytes": 31457,
        "sha256": "774a37258661c8c7e58bbaa0b22ef87c0f6952c7b0a3f4577397db4dfa44cd8c",
        "kind": "review_day",
        "lessonDay": 85,
        "count": 59
      },
      {
        "path": "lessons/day-086.json",
        "bytes": 68580,
        "sha256": "18c237d437c22c2216cf742e779194f1bfe9a94381116e79ac9d7b268a9005e2",
        "kind": "lesson",
        "lessonDay": 86,
        "lessonId": "lesson-d86",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-086.json",
        "bytes": 42624,
        "sha256": "28e71d3a2104b056af00ac473897dbd507a920fcbf7179e9f31e4003d051ac1c",
        "kind": "audio_day",
        "lessonDay": 86,
        "count": 55
      },
      {
        "path": "review/day-086.json",
        "bytes": 29819,
        "sha256": "d0a6bb06c11c38f018634d49c921707984d2e0b1796b8e5962c90400655c3b56",
        "kind": "review_day",
        "lessonDay": 86,
        "count": 56
      },
      {
        "path": "lessons/day-087.json",
        "bytes": 66686,
        "sha256": "bf1ec03fa3ad141c75a79c1a509f56754755a104485d35ad8b4af5c6a61469c8",
        "kind": "lesson",
        "lessonDay": 87,
        "lessonId": "lesson-d87",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-087.json",
        "bytes": 42124,
        "sha256": "df759a492e5e3810a0942562ffcaad08ce4735ba20e003714c823f92f3a398aa",
        "kind": "audio_day",
        "lessonDay": 87,
        "count": 55
      },
      {
        "path": "review/day-087.json",
        "bytes": 29861,
        "sha256": "7d84ffad98887712a7a8696134c964e3037b5097195868453def6eb94829da28",
        "kind": "review_day",
        "lessonDay": 87,
        "count": 56
      },
      {
        "path": "lessons/day-088.json",
        "bytes": 67376,
        "sha256": "1c23620a6b065a51d5ef1e0d5b2ed2f14151cf2a655edf47de056a23440f9162",
        "kind": "lesson",
        "lessonDay": 88,
        "lessonId": "lesson-d88",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-088.json",
        "bytes": 42206,
        "sha256": "b4293361313c2111cbfb5e399501b6fa4bc8f7b919d2a372864fbc575b432879",
        "kind": "audio_day",
        "lessonDay": 88,
        "count": 55
      },
      {
        "path": "review/day-088.json",
        "bytes": 29781,
        "sha256": "fc43cf4746067c8e1ac75bb704ed26998658bf4ffaa0b1252be128a81e3d4c3e",
        "kind": "review_day",
        "lessonDay": 88,
        "count": 56
      },
      {
        "path": "lessons/day-089.json",
        "bytes": 68226,
        "sha256": "58168ec17e50c8312123531fd49312923a6618914d6c2214cb2187c1747965fd",
        "kind": "lesson",
        "lessonDay": 89,
        "lessonId": "lesson-d89",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-089.json",
        "bytes": 42724,
        "sha256": "482af72e4d72974dd0173211b389dc7cde8779bda447100c3b1258401c7c0c3d",
        "kind": "audio_day",
        "lessonDay": 89,
        "count": 55
      },
      {
        "path": "review/day-089.json",
        "bytes": 29851,
        "sha256": "9b52178ea0a92ef6c2a98075b24fe4e6021dd1ad350c7d284e20b9b313178a19",
        "kind": "review_day",
        "lessonDay": 89,
        "count": 56
      },
      {
        "path": "lessons/day-090.json",
        "bytes": 67129,
        "sha256": "f409fbedaa4675ed8f696421522cbabc286a82afce87c33c0de0440e5771b9b5",
        "kind": "lesson",
        "lessonDay": 90,
        "lessonId": "lesson-d90",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "audio/day-090.json",
        "bytes": 41930,
        "sha256": "9339704c58f00728185ad97124adaacd98c7c151c03ec0cc0b2bda9e4d492249",
        "kind": "audio_day",
        "lessonDay": 90,
        "count": 55
      },
      {
        "path": "review/day-090.json",
        "bytes": 29857,
        "sha256": "0cbc8e040b21a42bc88a9629ff44feb4ec51c8d101860bd7cc23084c31964537",
        "kind": "review_day",
        "lessonDay": 90,
        "count": 56
      },
      {
        "path": "files.json",
        "bytes": 72401,
        "sha256": "03e922534818745e59ec11c9c957446858c8a49e20bc92575f0a69a946730145",
        "kind": "file_index"
      }
    ],
    "lessonChunks": [
      {
        "path": "lessons/day-001.json",
        "bytes": 64852,
        "sha256": "9865cb619b7a0089552e5264647eb021d0d36eeb8ca5c75d13c7c2a3ccbac74d",
        "kind": "lesson",
        "lessonDay": 1,
        "lessonId": "lesson-d01",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 62
        }
      },
      {
        "path": "lessons/day-002.json",
        "bytes": 61285,
        "sha256": "6c9ae338d02afbc19dafb37e498952ad22608ebfb5ff24affceb702e973761cd",
        "kind": "lesson",
        "lessonDay": 2,
        "lessonId": "lesson-d02",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-003.json",
        "bytes": 61596,
        "sha256": "995543b320568b2f6d444df68920a75d57d731574da718a1f5effef5fb15fbb9",
        "kind": "lesson",
        "lessonDay": 3,
        "lessonId": "lesson-d03",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 57
        }
      },
      {
        "path": "lessons/day-004.json",
        "bytes": 61665,
        "sha256": "7bf7deb391f01478f91f08aaed66b3c270f7d3d70c14c17eebe7f3b7272dd1f1",
        "kind": "lesson",
        "lessonDay": 4,
        "lessonId": "lesson-d04",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 60
        }
      },
      {
        "path": "lessons/day-005.json",
        "bytes": 62417,
        "sha256": "9050cd7a8254428130b5981da9108288940ad905722f96105aed2423e6ae6759",
        "kind": "lesson",
        "lessonDay": 5,
        "lessonId": "lesson-d05",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 60
        }
      },
      {
        "path": "lessons/day-006.json",
        "bytes": 64133,
        "sha256": "85458fa25592df66162a09b6ddaaf69ac44e108d839d46a1d3231bfd548c679a",
        "kind": "lesson",
        "lessonDay": 6,
        "lessonId": "lesson-d06",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "lessons/day-007.json",
        "bytes": 58463,
        "sha256": "5e8d7a02aeeb6fb73c15dc2ae36e907ff27e0cb425a1eb099537fc8626c6a68a",
        "kind": "lesson",
        "lessonDay": 7,
        "lessonId": "lesson-d07",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-008.json",
        "bytes": 61849,
        "sha256": "ded71832c082e15e0629e5e85f697835b3e9bd2a196e2e958e9f174972ed4e48",
        "kind": "lesson",
        "lessonDay": 8,
        "lessonId": "lesson-d08",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-009.json",
        "bytes": 63373,
        "sha256": "46b56a32de6ef1db2f53fac6e114deab2c5bc9d919484aaa48623c929ffc8982",
        "kind": "lesson",
        "lessonDay": 9,
        "lessonId": "lesson-d09",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 62
        }
      },
      {
        "path": "lessons/day-010.json",
        "bytes": 63411,
        "sha256": "9b5b4dd9353dde71344dc07747999d790c8586e2f2ed6deac729ee17aa299b61",
        "kind": "lesson",
        "lessonDay": 10,
        "lessonId": "lesson-d10",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "lessons/day-011.json",
        "bytes": 60939,
        "sha256": "d2b757561fa6cc59df5cf1496cba6bc644c77b6905a09d89c7311be657d4da3e",
        "kind": "lesson",
        "lessonDay": 11,
        "lessonId": "lesson-d11",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-012.json",
        "bytes": 59973,
        "sha256": "8cb20528b3fac87fe0c6152f319a4e2039dcd68606818a8d3c4244e3f34be92e",
        "kind": "lesson",
        "lessonDay": 12,
        "lessonId": "lesson-d12",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-013.json",
        "bytes": 61680,
        "sha256": "b945b511c9c7ba8bde07a5fc9b853a4010089339c94766c36da1785f904095f5",
        "kind": "lesson",
        "lessonDay": 13,
        "lessonId": "lesson-d13",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-014.json",
        "bytes": 60467,
        "sha256": "f29bb55ea137ec2923937ec98d334d0762184d5b0df1c72667025abe34bd487a",
        "kind": "lesson",
        "lessonDay": 14,
        "lessonId": "lesson-d14",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-015.json",
        "bytes": 63567,
        "sha256": "212c70e15ddbef7ff3aa6d87d44e25a4f2b6ba6b9aab0d50f3c1f1381576cab3",
        "kind": "lesson",
        "lessonDay": 15,
        "lessonId": "lesson-d15",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "lessons/day-016.json",
        "bytes": 63305,
        "sha256": "c6ebadaa105496bd233d38a23ae4746efec303e37551636bc883bed71bfabe03",
        "kind": "lesson",
        "lessonDay": 16,
        "lessonId": "lesson-d16",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "lessons/day-017.json",
        "bytes": 63969,
        "sha256": "5c2fc0efa2cfa852304a2d7983d070edd7f0aeeec0a3c64973095feda8a884f3",
        "kind": "lesson",
        "lessonDay": 17,
        "lessonId": "lesson-d17",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "lessons/day-018.json",
        "bytes": 62669,
        "sha256": "9dde1d73a1a4aa2ee5edc3f2ce19f99c26d9eb2cfe1123865f282d391bd3fc38",
        "kind": "lesson",
        "lessonDay": 18,
        "lessonId": "lesson-d18",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 60
        }
      },
      {
        "path": "lessons/day-019.json",
        "bytes": 64747,
        "sha256": "1d4db59fe5965ff937617d70645574c6a03c4248adbb76dcce79e09f3b7082ad",
        "kind": "lesson",
        "lessonDay": 19,
        "lessonId": "lesson-d19",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "lessons/day-020.json",
        "bytes": 63976,
        "sha256": "1d3fd058198e58aabb28039b83a69685d530329d7a2f21d4635fe637b3e47f6d",
        "kind": "lesson",
        "lessonDay": 20,
        "lessonId": "lesson-d20",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-021.json",
        "bytes": 63224,
        "sha256": "b56c1129b6139e7fbeea0f9c021e2dd9b096c8b8979c081ab85204a48d5da773",
        "kind": "lesson",
        "lessonDay": 21,
        "lessonId": "lesson-d21",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-022.json",
        "bytes": 64405,
        "sha256": "f2560af1b4f63511e4f6fcfc67749ad4d59e688c703b7fac21f6dc83d606a733",
        "kind": "lesson",
        "lessonDay": 22,
        "lessonId": "lesson-d22",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 62
        }
      },
      {
        "path": "lessons/day-023.json",
        "bytes": 64914,
        "sha256": "ff7d5a3ac720d7033a6e74f385a7c9bfa4bc6fd6cf5faa235467f9cc8db48f7f",
        "kind": "lesson",
        "lessonDay": 23,
        "lessonId": "lesson-d23",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "lessons/day-024.json",
        "bytes": 63715,
        "sha256": "2262c4fc96ea8966469b043f4eee8727709a3a160790b97269af0219a054036a",
        "kind": "lesson",
        "lessonDay": 24,
        "lessonId": "lesson-d24",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "lessons/day-025.json",
        "bytes": 63030,
        "sha256": "4d534f709554304858271faad6655f52d07926c11bf6d1c7246fd7edf5ed4831",
        "kind": "lesson",
        "lessonDay": 25,
        "lessonId": "lesson-d25",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-026.json",
        "bytes": 63505,
        "sha256": "ab8b297e55573bacaea8cbecb4118aa8d311736df6ded53a982eac2c0725f743",
        "kind": "lesson",
        "lessonDay": 26,
        "lessonId": "lesson-d26",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-027.json",
        "bytes": 59372,
        "sha256": "5a52d3cb307abf0fe4535509fef4a0fcf4f447165f7096bb00d711263f42e100",
        "kind": "lesson",
        "lessonDay": 27,
        "lessonId": "lesson-d27",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-028.json",
        "bytes": 64844,
        "sha256": "9aa0ce9a53a0eecf8803ae9ddf54ce67eaf62206316af65750a23fd462a95f3d",
        "kind": "lesson",
        "lessonDay": 28,
        "lessonId": "lesson-d28",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 57
        }
      },
      {
        "path": "lessons/day-029.json",
        "bytes": 66470,
        "sha256": "d27ec94da9073fd244c84556e700a8dbb658a9da48f0f2f7c99c5ef2842c60c0",
        "kind": "lesson",
        "lessonDay": 29,
        "lessonId": "lesson-d29",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-030.json",
        "bytes": 61994,
        "sha256": "4f258c3973d49023c6ba70bf98570647508922502b5f00109409a7208d026a4e",
        "kind": "lesson",
        "lessonDay": 30,
        "lessonId": "lesson-d30",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-031.json",
        "bytes": 62774,
        "sha256": "37208457580de47184cc5673aade0e71bbc85a1e6ca6a8caa7ba5664fe6ffea3",
        "kind": "lesson",
        "lessonDay": 31,
        "lessonId": "lesson-d31",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-032.json",
        "bytes": 63716,
        "sha256": "f7be67657a9d2159905f9ec351ec0c1c1222c62018e0e58dd1798e5fc8754fa1",
        "kind": "lesson",
        "lessonDay": 32,
        "lessonId": "lesson-d32",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-033.json",
        "bytes": 62670,
        "sha256": "eb1de01e564af3493d698f6265d5016c19facb8ec6e1a619336960fcf345f67e",
        "kind": "lesson",
        "lessonDay": 33,
        "lessonId": "lesson-d33",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 60
        }
      },
      {
        "path": "lessons/day-034.json",
        "bytes": 63994,
        "sha256": "9e1478824b3718a4b7636d00b3e165b40a9f0e03da189fd460ee94486dca9fa4",
        "kind": "lesson",
        "lessonDay": 34,
        "lessonId": "lesson-d34",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 62
        }
      },
      {
        "path": "lessons/day-035.json",
        "bytes": 66132,
        "sha256": "76a1d11aff234c785c4730666784289399bc4560f5eb4d2bdd8e28297d425eba",
        "kind": "lesson",
        "lessonDay": 35,
        "lessonId": "lesson-d35",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "lessons/day-036.json",
        "bytes": 64868,
        "sha256": "ef6b10d26757fe4903ea31e2f9cb6146857960bc981a4e269b686ae79f3e0b5d",
        "kind": "lesson",
        "lessonDay": 36,
        "lessonId": "lesson-d36",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 60
        }
      },
      {
        "path": "lessons/day-037.json",
        "bytes": 62440,
        "sha256": "fb644a0bc3dd5cc8b32eafda5129e331bfa37adc801d07aaa8857ed930dd4c4a",
        "kind": "lesson",
        "lessonDay": 37,
        "lessonId": "lesson-d37",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-038.json",
        "bytes": 65787,
        "sha256": "ad1f26e1deb450d29f3235c9fc8ad08ccdc74787c4e89e5364e481ac1efb703b",
        "kind": "lesson",
        "lessonDay": 38,
        "lessonId": "lesson-d38",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "lessons/day-039.json",
        "bytes": 66150,
        "sha256": "8f725593fe66a0da7b5d03690218cf4a9233d64089668e93cf4177d38ffb57d6",
        "kind": "lesson",
        "lessonDay": 39,
        "lessonId": "lesson-d39",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "lessons/day-040.json",
        "bytes": 65574,
        "sha256": "3b85549690dae7539db3ee4db7cf4c63a1816e42f7a2a5334e40d1e097179642",
        "kind": "lesson",
        "lessonDay": 40,
        "lessonId": "lesson-d40",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "lessons/day-041.json",
        "bytes": 65462,
        "sha256": "45058d0c946d13cc16d95d5eb354b23636aac448d4b872f5b912b62a89552148",
        "kind": "lesson",
        "lessonDay": 41,
        "lessonId": "lesson-d41",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "lessons/day-042.json",
        "bytes": 65816,
        "sha256": "25e8f87e80e5159189bf31a5490cb7c5450c91006af7d7aba71ce9e73694a8d1",
        "kind": "lesson",
        "lessonDay": 42,
        "lessonId": "lesson-d42",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 62
        }
      },
      {
        "path": "lessons/day-043.json",
        "bytes": 61022,
        "sha256": "68146616848c8d805443632b8ec7ce7664cab3af7e40a0b2b280afe8f3cc5463",
        "kind": "lesson",
        "lessonDay": 43,
        "lessonId": "lesson-d43",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-044.json",
        "bytes": 63544,
        "sha256": "afb79b40a96ca033f613c43eb9a680bc953989d1d12fdb89d57febf4a33b3e37",
        "kind": "lesson",
        "lessonDay": 44,
        "lessonId": "lesson-d44",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-045.json",
        "bytes": 64146,
        "sha256": "77b0f244a928abca5767b0f7ee0f727b5da7fb5508413e58ceb9afc69cb4c022",
        "kind": "lesson",
        "lessonDay": 45,
        "lessonId": "lesson-d45",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 60
        }
      },
      {
        "path": "lessons/day-046.json",
        "bytes": 64111,
        "sha256": "df38f0b18a022aa121f7e57236ff57e10bfd936a74de63a96817f6905594fe90",
        "kind": "lesson",
        "lessonDay": 46,
        "lessonId": "lesson-d46",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 60
        }
      },
      {
        "path": "lessons/day-047.json",
        "bytes": 63083,
        "sha256": "5bde5891f1bd82031904f78f9f878f0595361456a19c073d99d6afc0eca9ee97",
        "kind": "lesson",
        "lessonDay": 47,
        "lessonId": "lesson-d47",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-048.json",
        "bytes": 62058,
        "sha256": "3058a28be6a0064cabda900ae938c4eb21617eb278d6caef9794790e3ff0be4c",
        "kind": "lesson",
        "lessonDay": 48,
        "lessonId": "lesson-d48",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-049.json",
        "bytes": 62771,
        "sha256": "836497afd6fd04108293faf7c235cf171e3b789b954cf41ef939b83685b3c20f",
        "kind": "lesson",
        "lessonDay": 49,
        "lessonId": "lesson-d49",
        "counts": {
          "vocabulary": 18,
          "sentences": 18,
          "cards": 53
        }
      },
      {
        "path": "lessons/day-050.json",
        "bytes": 64793,
        "sha256": "fd145688c176adf7709e409ed46d0fc5b6265f8f8cc864d303d4a5bf8578b452",
        "kind": "lesson",
        "lessonDay": 50,
        "lessonId": "lesson-d50",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-051.json",
        "bytes": 64229,
        "sha256": "864b6f450ef7d1012c35bf53f9b09c7040806023e58853082cff2489f0bce622",
        "kind": "lesson",
        "lessonDay": 51,
        "lessonId": "lesson-d51",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-052.json",
        "bytes": 66940,
        "sha256": "183aa56f1d9e42695a830eedd6c42e945f553153d2b2d2ab8c3ac50af232f356",
        "kind": "lesson",
        "lessonDay": 52,
        "lessonId": "lesson-d52",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "lessons/day-053.json",
        "bytes": 65840,
        "sha256": "edbd4c5ba1e2ca3bb4de2d35c120a9ccc6e91b3609e54a98887646e5e6c11b31",
        "kind": "lesson",
        "lessonDay": 53,
        "lessonId": "lesson-d53",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 63
        }
      },
      {
        "path": "lessons/day-054.json",
        "bytes": 65255,
        "sha256": "96b7d968530b21fa41be2ec374d3da619c269b73ea3e57f119b06b720d33d93b",
        "kind": "lesson",
        "lessonDay": 54,
        "lessonId": "lesson-d54",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-055.json",
        "bytes": 66395,
        "sha256": "9104ebb674da8754474a508b630ceef02ab17ca68720509d0e97ed0739bbf8d1",
        "kind": "lesson",
        "lessonDay": 55,
        "lessonId": "lesson-d55",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-056.json",
        "bytes": 65025,
        "sha256": "4bfd6efd587457e9aa8d5bd5ef82be0d4e2421b75878566e4dcda7bc6229e000",
        "kind": "lesson",
        "lessonDay": 56,
        "lessonId": "lesson-d56",
        "counts": {
          "vocabulary": 18,
          "sentences": 21,
          "cards": 62
        }
      },
      {
        "path": "lessons/day-057.json",
        "bytes": 63290,
        "sha256": "6a76717e66c5e3a1cac69324e5a11c56bcbc2c8259f0208e253569af175f4dbe",
        "kind": "lesson",
        "lessonDay": 57,
        "lessonId": "lesson-d57",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-058.json",
        "bytes": 66809,
        "sha256": "9377c03b4d7a6ea697af9ddf36bb318cc1e2d5ae2acaf14b0a17ff3a6af71693",
        "kind": "lesson",
        "lessonDay": 58,
        "lessonId": "lesson-d58",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-059.json",
        "bytes": 62532,
        "sha256": "df0c1e635993cc42d613f1d5818a55d7d81b3e82476d36a1f1c5a61882a38f17",
        "kind": "lesson",
        "lessonDay": 59,
        "lessonId": "lesson-d59",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-060.json",
        "bytes": 63524,
        "sha256": "a58db7a39c87ef9395af2bc32d8421b4fb18cc498e12898d8987613a783061be",
        "kind": "lesson",
        "lessonDay": 60,
        "lessonId": "lesson-d60",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-061.json",
        "bytes": 66437,
        "sha256": "fa6021c698215b8652e2805463933eeb4c1e5d18d9b22e9ff0b58a08a615f36c",
        "kind": "lesson",
        "lessonDay": 61,
        "lessonId": "lesson-d61",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-062.json",
        "bytes": 66584,
        "sha256": "3657122f85e6eee90b4a48623c8876f329a1fd14ce107c21064396ff3047e36f",
        "kind": "lesson",
        "lessonDay": 62,
        "lessonId": "lesson-d62",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-063.json",
        "bytes": 62930,
        "sha256": "c99a7fb5b302269b8be9c67f9ca8a403ca1768aa6cded3620fa53cd16e0db035",
        "kind": "lesson",
        "lessonDay": 63,
        "lessonId": "lesson-d63",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-064.json",
        "bytes": 66190,
        "sha256": "82f7476f8ef84110b52f37f354d645baabcb0dc1606a740eb838ce63b93869a9",
        "kind": "lesson",
        "lessonDay": 64,
        "lessonId": "lesson-d64",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-065.json",
        "bytes": 65956,
        "sha256": "3ea8e33447397f85709c8eacd2dbee1bcb27a848aefb3303f99bad38326e8b43",
        "kind": "lesson",
        "lessonDay": 65,
        "lessonId": "lesson-d65",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-066.json",
        "bytes": 64855,
        "sha256": "1a3b1943eff5e1c6572c12a9cd0bcaee0270c3a8d4f19da75d3728e42a91e22e",
        "kind": "lesson",
        "lessonDay": 66,
        "lessonId": "lesson-d66",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-067.json",
        "bytes": 65279,
        "sha256": "115d2232fe8f017d62c33dbb11321dc19a10364d72a5c52d08e453691e37d941",
        "kind": "lesson",
        "lessonDay": 67,
        "lessonId": "lesson-d67",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-068.json",
        "bytes": 65812,
        "sha256": "0423f76ca0ecbc84f49e3843c40bfad83f6f8761ad63eaf76354d354777c63c7",
        "kind": "lesson",
        "lessonDay": 68,
        "lessonId": "lesson-d68",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-069.json",
        "bytes": 63992,
        "sha256": "64ce6e3c6f6e5377e9b56ef88c0702ec7d1498115705d3cb7526cd5e8b1221fb",
        "kind": "lesson",
        "lessonDay": 69,
        "lessonId": "lesson-d69",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-070.json",
        "bytes": 61639,
        "sha256": "3ce98fcd1011f6ba64767c06f1969244d3a25028e059e751e4416d46ee8d45c0",
        "kind": "lesson",
        "lessonDay": 70,
        "lessonId": "lesson-d70",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-071.json",
        "bytes": 63375,
        "sha256": "471395662d5f04a830847e39e4ec19d56f290c79d5b1af5f255e3fd6b5eab2bc",
        "kind": "lesson",
        "lessonDay": 71,
        "lessonId": "lesson-d71",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-072.json",
        "bytes": 65800,
        "sha256": "c5a1b2ce7e6f7935f4b13c93fd03ecf205aa8ea59fe7aeda4f8c36c3a9374572",
        "kind": "lesson",
        "lessonDay": 72,
        "lessonId": "lesson-d72",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-073.json",
        "bytes": 65903,
        "sha256": "51320c835c1c2262256daea361676c7c0668c6ca7018815f0b8fd65a80f219e0",
        "kind": "lesson",
        "lessonDay": 73,
        "lessonId": "lesson-d73",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-074.json",
        "bytes": 65896,
        "sha256": "5b5a93fb2845d158dc77afa08895cb2c2852f7713a3007dde1044263aa39083f",
        "kind": "lesson",
        "lessonDay": 74,
        "lessonId": "lesson-d74",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-075.json",
        "bytes": 65926,
        "sha256": "b06589beea07177f164ee837316d5c2e5f17f597675c72f75f8f64b70c455da8",
        "kind": "lesson",
        "lessonDay": 75,
        "lessonId": "lesson-d75",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-076.json",
        "bytes": 67413,
        "sha256": "31c46c7ad93562eb42e59d3da2c0f52f877314dc9d821523a4005857eef9e147",
        "kind": "lesson",
        "lessonDay": 76,
        "lessonId": "lesson-d76",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-077.json",
        "bytes": 67003,
        "sha256": "4b3129a7aed0fb51a69e5ca321a85cb52c3f9d88205477e900774465c4cae3a7",
        "kind": "lesson",
        "lessonDay": 77,
        "lessonId": "lesson-d77",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-078.json",
        "bytes": 66271,
        "sha256": "54ac6de6d2e880852de35f68103b5c51b11e71ee84709814fb7e48f1c5f5654a",
        "kind": "lesson",
        "lessonDay": 78,
        "lessonId": "lesson-d78",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-079.json",
        "bytes": 65382,
        "sha256": "3eafc8598f2f6ea7ec261511f496518ea9a19ecaedcfc3b32175d5ef109c074c",
        "kind": "lesson",
        "lessonDay": 79,
        "lessonId": "lesson-d79",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-080.json",
        "bytes": 64290,
        "sha256": "dbba38c590d27ca8f56a19bda5405c9dabfd662ae9685d150276b6b26ea8b118",
        "kind": "lesson",
        "lessonDay": 80,
        "lessonId": "lesson-d80",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-081.json",
        "bytes": 66142,
        "sha256": "1eacd542ea0328ff7e3cc6b91395b57153375d5ceceeacdc8d769d7a67a73606",
        "kind": "lesson",
        "lessonDay": 81,
        "lessonId": "lesson-d81",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-082.json",
        "bytes": 65472,
        "sha256": "7a53097da99e815924f9643bee7cf9912b7620911d8e8dced241523dc6ccdde8",
        "kind": "lesson",
        "lessonDay": 82,
        "lessonId": "lesson-d82",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-083.json",
        "bytes": 63622,
        "sha256": "1fe58cd7bcefdf9433e8a3c501abdc1e70725378cc8208e3f9e5f1c63aee6c4d",
        "kind": "lesson",
        "lessonDay": 83,
        "lessonId": "lesson-d83",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-084.json",
        "bytes": 65594,
        "sha256": "d50389f5363a4188e6f92cd0c0046597b8189967cf6d3e708446b820dfa6f57b",
        "kind": "lesson",
        "lessonDay": 84,
        "lessonId": "lesson-d84",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-085.json",
        "bytes": 68734,
        "sha256": "c780ce026b4512f7cbcccc081d8027f9ca2371f4c2cf2001e53c9079c2953f5b",
        "kind": "lesson",
        "lessonDay": 85,
        "lessonId": "lesson-d85",
        "counts": {
          "vocabulary": 18,
          "sentences": 20,
          "cards": 59
        }
      },
      {
        "path": "lessons/day-086.json",
        "bytes": 68580,
        "sha256": "18c237d437c22c2216cf742e779194f1bfe9a94381116e79ac9d7b268a9005e2",
        "kind": "lesson",
        "lessonDay": 86,
        "lessonId": "lesson-d86",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-087.json",
        "bytes": 66686,
        "sha256": "bf1ec03fa3ad141c75a79c1a509f56754755a104485d35ad8b4af5c6a61469c8",
        "kind": "lesson",
        "lessonDay": 87,
        "lessonId": "lesson-d87",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-088.json",
        "bytes": 67376,
        "sha256": "1c23620a6b065a51d5ef1e0d5b2ed2f14151cf2a655edf47de056a23440f9162",
        "kind": "lesson",
        "lessonDay": 88,
        "lessonId": "lesson-d88",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-089.json",
        "bytes": 68226,
        "sha256": "58168ec17e50c8312123531fd49312923a6618914d6c2214cb2187c1747965fd",
        "kind": "lesson",
        "lessonDay": 89,
        "lessonId": "lesson-d89",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      },
      {
        "path": "lessons/day-090.json",
        "bytes": 67129,
        "sha256": "f409fbedaa4675ed8f696421522cbabc286a82afce87c33c0de0440e5771b9b5",
        "kind": "lesson",
        "lessonDay": 90,
        "lessonId": "lesson-d90",
        "counts": {
          "vocabulary": 18,
          "sentences": 19,
          "cards": 56
        }
      }
    ],
    "audioChunks": [
      {
        "path": "audio/day-001.json",
        "bytes": 39982,
        "sha256": "d559c0af145b01cb2233ac768f288e5927c099a9135b3559f685ffc409404b4b",
        "kind": "audio_day",
        "lessonDay": 1,
        "count": 56
      },
      {
        "path": "audio/day-002.json",
        "bytes": 38974,
        "sha256": "a60f7024f35476ade399fd6df6f4b8af8a508ff5d9d9b09925cdf433f867c418",
        "kind": "audio_day",
        "lessonDay": 2,
        "count": 56
      },
      {
        "path": "audio/day-003.json",
        "bytes": 39070,
        "sha256": "a8a8d85fcabb9cadf502060cf3aa85c53dffba0e42bc51bb3bc3f160b51549fb",
        "kind": "audio_day",
        "lessonDay": 3,
        "count": 55
      },
      {
        "path": "audio/day-004.json",
        "bytes": 38873,
        "sha256": "38234ba484f33965a32579fe8d129079d4b485dff3b5c10ab9565c2a07724bcf",
        "kind": "audio_day",
        "lessonDay": 4,
        "count": 56
      },
      {
        "path": "audio/day-005.json",
        "bytes": 39374,
        "sha256": "3d4959d0d08b1da123f9d068936d0ad17ccdf548d5e1eed6a368849d8c44bddd",
        "kind": "audio_day",
        "lessonDay": 5,
        "count": 56
      },
      {
        "path": "audio/day-006.json",
        "bytes": 40115,
        "sha256": "814076e98de1a1027091a27688325035069929ce86c170d6cf49453e53dad9bc",
        "kind": "audio_day",
        "lessonDay": 6,
        "count": 57
      },
      {
        "path": "audio/day-007.json",
        "bytes": 37529,
        "sha256": "acde960d9f369fa4ffe835ad80a7c3698cdededeb0a65d90818e15b7c43daa80",
        "kind": "audio_day",
        "lessonDay": 7,
        "count": 55
      },
      {
        "path": "audio/day-008.json",
        "bytes": 39497,
        "sha256": "495ce4a7ed30797df3198a88d3465e5e7d88d99d68a59f674aa8ec84cee7bacf",
        "kind": "audio_day",
        "lessonDay": 8,
        "count": 56
      },
      {
        "path": "audio/day-009.json",
        "bytes": 39808,
        "sha256": "1997238d70fd24b5cb565156961fdb889bfe6f0ed0109a9e6b4637faa496d42d",
        "kind": "audio_day",
        "lessonDay": 9,
        "count": 57
      },
      {
        "path": "audio/day-010.json",
        "bytes": 39822,
        "sha256": "82f788d6862aeef42ec0e95ec9fa3770f5980ee3331d610d4ee72c911b5d7dab",
        "kind": "audio_day",
        "lessonDay": 10,
        "count": 57
      },
      {
        "path": "audio/day-011.json",
        "bytes": 39270,
        "sha256": "9b9eef355771abeb8010cf41db31a716708852d14cdebd29676033dddca20040",
        "kind": "audio_day",
        "lessonDay": 11,
        "count": 55
      },
      {
        "path": "audio/day-012.json",
        "bytes": 38589,
        "sha256": "cc18d703fbf98c51decdbddf2ca94869891a7d129e9a78946b6f9b636d95d5cf",
        "kind": "audio_day",
        "lessonDay": 12,
        "count": 55
      },
      {
        "path": "audio/day-013.json",
        "bytes": 39843,
        "sha256": "338b52eb755ec6b2e4ea4be82e98db8994a9826622266244bb767b60744c47c2",
        "kind": "audio_day",
        "lessonDay": 13,
        "count": 56
      },
      {
        "path": "audio/day-014.json",
        "bytes": 38798,
        "sha256": "3091c8639313e0dfec387e9c3040938a3d5052b049fe8d26d9c4ae91124f4ffd",
        "kind": "audio_day",
        "lessonDay": 14,
        "count": 55
      },
      {
        "path": "audio/day-015.json",
        "bytes": 40269,
        "sha256": "639c94278a5f33ace0db3e4a6f18747b86335ecb0b9cbefb908b34a4f64f8981",
        "kind": "audio_day",
        "lessonDay": 15,
        "count": 57
      },
      {
        "path": "audio/day-016.json",
        "bytes": 39958,
        "sha256": "99fc2c1ac7a7091b5761f7daf86b18e8c0dc358b02e8e384f39b48f4172f8700",
        "kind": "audio_day",
        "lessonDay": 16,
        "count": 57
      },
      {
        "path": "audio/day-017.json",
        "bytes": 40014,
        "sha256": "85690165f0a17aa6191e74360262cd09c11585e0119edb9fbf100675f22d3fda",
        "kind": "audio_day",
        "lessonDay": 17,
        "count": 57
      },
      {
        "path": "audio/day-018.json",
        "bytes": 39430,
        "sha256": "1c8a24359e902939051f65e06774f7fb42958e458c5177a758d036192c638a6e",
        "kind": "audio_day",
        "lessonDay": 18,
        "count": 56
      },
      {
        "path": "audio/day-019.json",
        "bytes": 40564,
        "sha256": "85aaa449b9a0cf1b4986e7e6c841fd8fcdbaf489ad611f814dda67dd29874e26",
        "kind": "audio_day",
        "lessonDay": 19,
        "count": 57
      },
      {
        "path": "audio/day-020.json",
        "bytes": 40307,
        "sha256": "f466317970afe33f278448d233d11ed171c0fede3ed3a3e7abd8296dc82cd0d4",
        "kind": "audio_day",
        "lessonDay": 20,
        "count": 56
      },
      {
        "path": "audio/day-021.json",
        "bytes": 40124,
        "sha256": "42d650a530e5832fd33e92523f116792f67f001dc0d17efeee17f67da0c1ae09",
        "kind": "audio_day",
        "lessonDay": 21,
        "count": 56
      },
      {
        "path": "audio/day-022.json",
        "bytes": 40672,
        "sha256": "3d8e8c4f7b30fb3f55f71a18b55675f5bbfb6ce16d8afdc34fbe0635edad81c5",
        "kind": "audio_day",
        "lessonDay": 22,
        "count": 57
      },
      {
        "path": "audio/day-023.json",
        "bytes": 40368,
        "sha256": "34ed0161892551bd20664a0305a99c72adfcee3a5622d18d8bcd95cb6a118530",
        "kind": "audio_day",
        "lessonDay": 23,
        "count": 57
      },
      {
        "path": "audio/day-024.json",
        "bytes": 39859,
        "sha256": "b41e2884646f2da4a1565958597989962bd54be39d56039191f857722d78e195",
        "kind": "audio_day",
        "lessonDay": 24,
        "count": 57
      },
      {
        "path": "audio/day-025.json",
        "bytes": 40071,
        "sha256": "796c08c97bef973711560ca5f877f6a2f191012a7c08d303d607f79be989b9e0",
        "kind": "audio_day",
        "lessonDay": 25,
        "count": 56
      },
      {
        "path": "audio/day-026.json",
        "bytes": 40251,
        "sha256": "3fd24774bdffa014e79b944c886565f2fe0b354457a8bad0e2ab8df88d62f14f",
        "kind": "audio_day",
        "lessonDay": 26,
        "count": 56
      },
      {
        "path": "audio/day-027.json",
        "bytes": 38257,
        "sha256": "fcbec0b00b4e6224826361737158a10e695d6f168bb78887cb0e94da7c4d0d64",
        "kind": "audio_day",
        "lessonDay": 27,
        "count": 55
      },
      {
        "path": "audio/day-028.json",
        "bytes": 41263,
        "sha256": "15f25240490969ae76ca3d254c24dd0e116eecdad48b5a3baa0488011afacb9f",
        "kind": "audio_day",
        "lessonDay": 28,
        "count": 55
      },
      {
        "path": "audio/day-029.json",
        "bytes": 40210,
        "sha256": "e2be25524bd16d3eb44f0079e904f6252f3da2412c778d1ac2b3720db43f5b1f",
        "kind": "audio_day",
        "lessonDay": 29,
        "count": 55
      },
      {
        "path": "audio/day-030.json",
        "bytes": 39368,
        "sha256": "57f1b0c55132f5d8f4e1d290d0ed74d2ac5b88fb288360f865b6299a2b042223",
        "kind": "audio_day",
        "lessonDay": 30,
        "count": 55
      },
      {
        "path": "audio/day-031.json",
        "bytes": 39632,
        "sha256": "0941b938137557a98e4dc430662204bdea75708a7e43f8283d5c452a5a63cea5",
        "kind": "audio_day",
        "lessonDay": 31,
        "count": 56
      },
      {
        "path": "audio/day-032.json",
        "bytes": 40439,
        "sha256": "762dc6069dd53b0aa50b8bc93b7de0475af983a79856e631f2bc168934dc0de2",
        "kind": "audio_day",
        "lessonDay": 32,
        "count": 56
      },
      {
        "path": "audio/day-033.json",
        "bytes": 39750,
        "sha256": "afa4412af77153fbaa97e7b2eec7be8be2387a375c1c1211a85c930940d75dc9",
        "kind": "audio_day",
        "lessonDay": 33,
        "count": 56
      },
      {
        "path": "audio/day-034.json",
        "bytes": 40117,
        "sha256": "29190b80f4f69988580f77bf2478878960fc100a34def11329c94e93a6ae6e65",
        "kind": "audio_day",
        "lessonDay": 34,
        "count": 57
      },
      {
        "path": "audio/day-035.json",
        "bytes": 41123,
        "sha256": "f122a02511167f75625488a8637733db6171526ad63e944282c6539aacf61202",
        "kind": "audio_day",
        "lessonDay": 35,
        "count": 57
      },
      {
        "path": "audio/day-036.json",
        "bytes": 40674,
        "sha256": "540464be46eb402c6b459d9d0ac6162c680b4fe0c15b6f079ac2058e771dd872",
        "kind": "audio_day",
        "lessonDay": 36,
        "count": 56
      },
      {
        "path": "audio/day-037.json",
        "bytes": 39769,
        "sha256": "b5c2755db8118ec8649b2cb12faa20d469abd3d2ae48d2bdc03b040683864f20",
        "kind": "audio_day",
        "lessonDay": 37,
        "count": 56
      },
      {
        "path": "audio/day-038.json",
        "bytes": 40982,
        "sha256": "489645d1f33bdbf1fc0796c83ae6a056ad00ba8acd064170082fae3148b3f0d6",
        "kind": "audio_day",
        "lessonDay": 38,
        "count": 57
      },
      {
        "path": "audio/day-039.json",
        "bytes": 41159,
        "sha256": "16de7e0660e63c787fabdf17e4896679cb740b9b7b32a66b1133a2f32e3d6f3b",
        "kind": "audio_day",
        "lessonDay": 39,
        "count": 57
      },
      {
        "path": "audio/day-040.json",
        "bytes": 40930,
        "sha256": "ff2c5157821da42b0330257eaae057fce503840d738589a5b2c5405bc92a9ca7",
        "kind": "audio_day",
        "lessonDay": 40,
        "count": 57
      },
      {
        "path": "audio/day-041.json",
        "bytes": 40628,
        "sha256": "d519e942887583527a929e2ee546b0636e4505052840f63a25c5c1d776cfafb0",
        "kind": "audio_day",
        "lessonDay": 41,
        "count": 57
      },
      {
        "path": "audio/day-042.json",
        "bytes": 41161,
        "sha256": "fb14fa6cf4d8e0f71040c8fa124761d6321d5972ab09fdb9948db90772c153e0",
        "kind": "audio_day",
        "lessonDay": 42,
        "count": 57
      },
      {
        "path": "audio/day-043.json",
        "bytes": 39297,
        "sha256": "ec47c6323289742d99e77cc90c6ab5b1ce2056fa5504a86816a4cb716a712b25",
        "kind": "audio_day",
        "lessonDay": 43,
        "count": 55
      },
      {
        "path": "audio/day-044.json",
        "bytes": 39991,
        "sha256": "f4e98fd0205ac98d86926bc7ba289fa710dabf444f85e073e4d149f365a3eb19",
        "kind": "audio_day",
        "lessonDay": 44,
        "count": 56
      },
      {
        "path": "audio/day-045.json",
        "bytes": 39822,
        "sha256": "7ae0f77e993e94c1f46acd2de5a5949db0afd09c70ba54a9550685af5af02513",
        "kind": "audio_day",
        "lessonDay": 45,
        "count": 56
      },
      {
        "path": "audio/day-046.json",
        "bytes": 40253,
        "sha256": "343a291bb3c0eaea1bd720f2aa0c37e55134efad3de56427fcaa453be000c580",
        "kind": "audio_day",
        "lessonDay": 46,
        "count": 56
      },
      {
        "path": "audio/day-047.json",
        "bytes": 39690,
        "sha256": "43f03078e1decc96203c36ce4853536f08e1f9cf99ea358edeb4283386a6ab6a",
        "kind": "audio_day",
        "lessonDay": 47,
        "count": 56
      },
      {
        "path": "audio/day-048.json",
        "bytes": 39555,
        "sha256": "267123366bb175afeb6a6ba4a58772748a66dde8697b42ad9e0c30003488a2c1",
        "kind": "audio_day",
        "lessonDay": 48,
        "count": 55
      },
      {
        "path": "audio/day-049.json",
        "bytes": 39954,
        "sha256": "85fd15fba9348940c1267e9f2c58439ddc6f0969133045700a0ce16aadf635ec",
        "kind": "audio_day",
        "lessonDay": 49,
        "count": 54
      },
      {
        "path": "audio/day-050.json",
        "bytes": 40786,
        "sha256": "dc259d75dd2afb22c4634cb22dbfe2073b109f1aee54d76e72c702e3b938b96f",
        "kind": "audio_day",
        "lessonDay": 50,
        "count": 56
      },
      {
        "path": "audio/day-051.json",
        "bytes": 40556,
        "sha256": "3e3ad8145112b251e62b5f74bd45d4af5377f3ad50fd903f75b33c80ac845207",
        "kind": "audio_day",
        "lessonDay": 51,
        "count": 56
      },
      {
        "path": "audio/day-052.json",
        "bytes": 41550,
        "sha256": "8b41f4041b69e89272bb7a02961dc406607cfd1072013164ff8136218a2aa0b3",
        "kind": "audio_day",
        "lessonDay": 52,
        "count": 57
      },
      {
        "path": "audio/day-053.json",
        "bytes": 41071,
        "sha256": "42ec3f127ba360e5dab3ff716a0226e46996274c17e66bdaf89ee545f96f8809",
        "kind": "audio_day",
        "lessonDay": 53,
        "count": 57
      },
      {
        "path": "audio/day-054.json",
        "bytes": 41003,
        "sha256": "1f6f3a3c0719c90535a76431b27601cfd794b326ccc5f6ba741dff2ad74fc668",
        "kind": "audio_day",
        "lessonDay": 54,
        "count": 56
      },
      {
        "path": "audio/day-055.json",
        "bytes": 41607,
        "sha256": "e1e504bb1746d401cacdfd32b884060a743db74b7b8a722dcfe4267505c3150f",
        "kind": "audio_day",
        "lessonDay": 55,
        "count": 56
      },
      {
        "path": "audio/day-056.json",
        "bytes": 41079,
        "sha256": "8508a808dd6e1ebaca0e060ceedd81d6bece498dbf032e4d7e7953815c7af22b",
        "kind": "audio_day",
        "lessonDay": 56,
        "count": 57
      },
      {
        "path": "audio/day-057.json",
        "bytes": 40022,
        "sha256": "91863e6db58ef5379eb073a4daaec91e5f3b690ecc6307dbf9205e9b45e0d2c8",
        "kind": "audio_day",
        "lessonDay": 57,
        "count": 55
      },
      {
        "path": "audio/day-058.json",
        "bytes": 41688,
        "sha256": "add3120a2be55c9a19519d7293af721ad3d2b1007eab07cc106ee4bf5d63f47b",
        "kind": "audio_day",
        "lessonDay": 58,
        "count": 56
      },
      {
        "path": "audio/day-059.json",
        "bytes": 39520,
        "sha256": "a4f687154f84a58e673a72c9760c88fd919e07a2a6b9110939153008bf087a3a",
        "kind": "audio_day",
        "lessonDay": 59,
        "count": 55
      },
      {
        "path": "audio/day-060.json",
        "bytes": 39928,
        "sha256": "7f6e9f7a1e8d389580707fb1be6afbcbed18cfd34566bd3dcb35467347b0a60b",
        "kind": "audio_day",
        "lessonDay": 60,
        "count": 55
      },
      {
        "path": "audio/day-061.json",
        "bytes": 41672,
        "sha256": "abf99af136930c41187ea8d1f92abd2cdbebd43b776a204f17385c70e08081dd",
        "kind": "audio_day",
        "lessonDay": 61,
        "count": 56
      },
      {
        "path": "audio/day-062.json",
        "bytes": 41832,
        "sha256": "9b48527cf8d288955db13d128aa998d2b6c8aa458a6c627c82e0bd7c589e85f7",
        "kind": "audio_day",
        "lessonDay": 62,
        "count": 56
      },
      {
        "path": "audio/day-063.json",
        "bytes": 40161,
        "sha256": "1784effd783d67496e450ad26bb66a9301d14349c7103216009f2ff8f92ce208",
        "kind": "audio_day",
        "lessonDay": 63,
        "count": 55
      },
      {
        "path": "audio/day-064.json",
        "bytes": 41083,
        "sha256": "c5abe5f7171205adda7ca754f1c8c898687edb2a1384cb430ab442522fc76745",
        "kind": "audio_day",
        "lessonDay": 64,
        "count": 56
      },
      {
        "path": "audio/day-065.json",
        "bytes": 41415,
        "sha256": "aac7906143238ef30bb2fb55fb9fc49778a76b72f09a027e2e017725bc786b34",
        "kind": "audio_day",
        "lessonDay": 65,
        "count": 56
      },
      {
        "path": "audio/day-066.json",
        "bytes": 40874,
        "sha256": "a56460c30f1f865d0f266c1093e321856593a9359f7b9ffaeb9c3a0a068594d9",
        "kind": "audio_day",
        "lessonDay": 66,
        "count": 55
      },
      {
        "path": "audio/day-067.json",
        "bytes": 41389,
        "sha256": "3b5318fe55c9d5bd3c71556c734a304bf00535788c63a561201f3cd0b05be144",
        "kind": "audio_day",
        "lessonDay": 67,
        "count": 55
      },
      {
        "path": "audio/day-068.json",
        "bytes": 41709,
        "sha256": "ae1619e4476c494a64a449b1736fe7daf585def738e29cb35cb1f1e92edfb323",
        "kind": "audio_day",
        "lessonDay": 68,
        "count": 55
      },
      {
        "path": "audio/day-069.json",
        "bytes": 40033,
        "sha256": "d909e0d08c4e79e1d5a488567058aa7f1080b265a25cafc0a15a0c17b5a12962",
        "kind": "audio_day",
        "lessonDay": 69,
        "count": 55
      },
      {
        "path": "audio/day-070.json",
        "bytes": 39055,
        "sha256": "0af3e612a8a1fd0bc0db59791048fdae35111d06c7a0324bb912386f51456a39",
        "kind": "audio_day",
        "lessonDay": 70,
        "count": 55
      },
      {
        "path": "audio/day-071.json",
        "bytes": 40542,
        "sha256": "8f6c6afac10e80636b92ed3fc8f4df806de69ff9e4c64ac4010d5a0701d60060",
        "kind": "audio_day",
        "lessonDay": 71,
        "count": 55
      },
      {
        "path": "audio/day-072.json",
        "bytes": 41420,
        "sha256": "86cda4c261b2b746b5dc1902546499bb2fc6abe31826f62d0e75e71fff781b8a",
        "kind": "audio_day",
        "lessonDay": 72,
        "count": 55
      },
      {
        "path": "audio/day-073.json",
        "bytes": 41518,
        "sha256": "c3fe066a0915f59c01ea42b0c6fdadd37ea8bc60d904523bee3fb8c286ace56e",
        "kind": "audio_day",
        "lessonDay": 73,
        "count": 56
      },
      {
        "path": "audio/day-074.json",
        "bytes": 41132,
        "sha256": "68f1861db803b1c408b2aa1c6a6ca8f5f4000bee96766c167de23913cb29924e",
        "kind": "audio_day",
        "lessonDay": 74,
        "count": 55
      },
      {
        "path": "audio/day-075.json",
        "bytes": 41318,
        "sha256": "b43dbdb3acd1e89ded238a284db65c80bf9be18875ce74f02f9787a15afe48d9",
        "kind": "audio_day",
        "lessonDay": 75,
        "count": 56
      },
      {
        "path": "audio/day-076.json",
        "bytes": 42482,
        "sha256": "bf699a6cfdc336d33dfe4fc588ddf81ba99bd92a64429bec7a12ab4ddf7e02f9",
        "kind": "audio_day",
        "lessonDay": 76,
        "count": 55
      },
      {
        "path": "audio/day-077.json",
        "bytes": 42374,
        "sha256": "2d908a30bcf0b402e25fb28c6e03422dc0ac8d8b048470be3ad6e8f33a553afb",
        "kind": "audio_day",
        "lessonDay": 77,
        "count": 56
      },
      {
        "path": "audio/day-078.json",
        "bytes": 41818,
        "sha256": "dfdedfe6fba17c7099e6eef3911aa2523c3d5744938826f59dedb053529f1c65",
        "kind": "audio_day",
        "lessonDay": 78,
        "count": 55
      },
      {
        "path": "audio/day-079.json",
        "bytes": 41314,
        "sha256": "8bc333a2709a7618aaa2b6776e9386a6c082790e91b84b2f4a2889d156a6120c",
        "kind": "audio_day",
        "lessonDay": 79,
        "count": 55
      },
      {
        "path": "audio/day-080.json",
        "bytes": 40939,
        "sha256": "8db9ef96d3436d2eea7d8f7c09a881f138029f76e5c7637283d0d35b98ef54a3",
        "kind": "audio_day",
        "lessonDay": 80,
        "count": 55
      },
      {
        "path": "audio/day-081.json",
        "bytes": 41412,
        "sha256": "39d3e61b495ddaa69d40b786ef5becc6af11c97fdb24b403e39df52729a694dd",
        "kind": "audio_day",
        "lessonDay": 81,
        "count": 55
      },
      {
        "path": "audio/day-082.json",
        "bytes": 41602,
        "sha256": "c7a60e6acfb1cfcb7ee564b10c058328c4fd06c683486d113aef7d39ca08331a",
        "kind": "audio_day",
        "lessonDay": 82,
        "count": 55
      },
      {
        "path": "audio/day-083.json",
        "bytes": 40492,
        "sha256": "20ae566627142982c102bb5119e45db151990f000b1748ed69e9bb35e89ae12c",
        "kind": "audio_day",
        "lessonDay": 83,
        "count": 55
      },
      {
        "path": "audio/day-084.json",
        "bytes": 41014,
        "sha256": "e09b70f773672d0a6158ed29b01b17503cb5b60902845e1f3d1ae9392b1592da",
        "kind": "audio_day",
        "lessonDay": 84,
        "count": 55
      },
      {
        "path": "audio/day-085.json",
        "bytes": 42613,
        "sha256": "e23d9679eb977f0db54f769126ce14b584c34fda7b2051a5019ac1da89eec54b",
        "kind": "audio_day",
        "lessonDay": 85,
        "count": 56
      },
      {
        "path": "audio/day-086.json",
        "bytes": 42624,
        "sha256": "28e71d3a2104b056af00ac473897dbd507a920fcbf7179e9f31e4003d051ac1c",
        "kind": "audio_day",
        "lessonDay": 86,
        "count": 55
      },
      {
        "path": "audio/day-087.json",
        "bytes": 42124,
        "sha256": "df759a492e5e3810a0942562ffcaad08ce4735ba20e003714c823f92f3a398aa",
        "kind": "audio_day",
        "lessonDay": 87,
        "count": 55
      },
      {
        "path": "audio/day-088.json",
        "bytes": 42206,
        "sha256": "b4293361313c2111cbfb5e399501b6fa4bc8f7b919d2a372864fbc575b432879",
        "kind": "audio_day",
        "lessonDay": 88,
        "count": 55
      },
      {
        "path": "audio/day-089.json",
        "bytes": 42724,
        "sha256": "482af72e4d72974dd0173211b389dc7cde8779bda447100c3b1258401c7c0c3d",
        "kind": "audio_day",
        "lessonDay": 89,
        "count": 55
      },
      {
        "path": "audio/day-090.json",
        "bytes": 41930,
        "sha256": "9339704c58f00728185ad97124adaacd98c7c151c03ec0cc0b2bda9e4d492249",
        "kind": "audio_day",
        "lessonDay": 90,
        "count": 55
      }
    ],
    "reviewChunks": [
      {
        "path": "review/day-001.json",
        "bytes": 33089,
        "sha256": "097678e1faf202cc5546287b301420704d693dd1a683d1e99628a27517994b80",
        "kind": "review_day",
        "lessonDay": 1,
        "count": 62
      },
      {
        "path": "review/day-002.json",
        "bytes": 31371,
        "sha256": "a2db12c9bbb48c0d61e3b9ddf186633d9689c1fdce7c9d2529c0bfce14d3800c",
        "kind": "review_day",
        "lessonDay": 2,
        "count": 59
      },
      {
        "path": "review/day-003.json",
        "bytes": 30335,
        "sha256": "721a83622493306272c230b6dc919ec2b93b2d315eaa0133ae76461a0290eefd",
        "kind": "review_day",
        "lessonDay": 3,
        "count": 57
      },
      {
        "path": "review/day-004.json",
        "bytes": 31967,
        "sha256": "a6c1ab33179b4624dd2869f8cee12ef7e28eb4ddfda7b6df296696ba942a845d",
        "kind": "review_day",
        "lessonDay": 4,
        "count": 60
      },
      {
        "path": "review/day-005.json",
        "bytes": 31837,
        "sha256": "637879aa82906e9871bb6ce685a51cc09b786d4087ae84de1647977dcd15edf0",
        "kind": "review_day",
        "lessonDay": 5,
        "count": 60
      },
      {
        "path": "review/day-006.json",
        "bytes": 33633,
        "sha256": "5cb3f8c1df47f656c1c1c0b8b3b023e3fc371eeeda7bf10e360947f0f0382eca",
        "kind": "review_day",
        "lessonDay": 6,
        "count": 63
      },
      {
        "path": "review/day-007.json",
        "bytes": 29707,
        "sha256": "eaed86d8498710e69bf7d50c57ec5d567b341942aed3366f3b1b1ce3c139d734",
        "kind": "review_day",
        "lessonDay": 7,
        "count": 56
      },
      {
        "path": "review/day-008.json",
        "bytes": 31429,
        "sha256": "ec75efaf9a5d17606922c424e7515536122fa12127e88920d410a97122c36d46",
        "kind": "review_day",
        "lessonDay": 8,
        "count": 59
      },
      {
        "path": "review/day-009.json",
        "bytes": 33073,
        "sha256": "8ad36a4e5bbc9b221ec2606bfea47848894cf0bb5df0ff3b041e7b505ee7d797",
        "kind": "review_day",
        "lessonDay": 9,
        "count": 62
      },
      {
        "path": "review/day-010.json",
        "bytes": 33689,
        "sha256": "9493eeb728ac186385fbfe71c214eef66cffba63a648232600a045be6f4b0c07",
        "kind": "review_day",
        "lessonDay": 10,
        "count": 63
      },
      {
        "path": "review/day-011.json",
        "bytes": 29779,
        "sha256": "b87d7b9de746231f7f063c84fe36f92a26283c05cc1ae62808396e05365b4ed9",
        "kind": "review_day",
        "lessonDay": 11,
        "count": 56
      },
      {
        "path": "review/day-012.json",
        "bytes": 29779,
        "sha256": "c620244fb8e0a5d2e7af320a40db92e38496be3f1e4253d4e1ec4803844fef23",
        "kind": "review_day",
        "lessonDay": 12,
        "count": 56
      },
      {
        "path": "review/day-013.json",
        "bytes": 31431,
        "sha256": "b24e8d3b18a8ce992cb1c8825f4eb260fc4af704a02d5991c7c770ebbdff6b52",
        "kind": "review_day",
        "lessonDay": 13,
        "count": 59
      },
      {
        "path": "review/day-014.json",
        "bytes": 29859,
        "sha256": "8761047b2117984c3112caf50c4db54e643597d024495244fc004166b0a51c30",
        "kind": "review_day",
        "lessonDay": 14,
        "count": 56
      },
      {
        "path": "review/day-015.json",
        "bytes": 33605,
        "sha256": "9175bd5498b7adc3c860dede99a84b780ab26696fe49c91d540be5198834e4cc",
        "kind": "review_day",
        "lessonDay": 15,
        "count": 63
      },
      {
        "path": "review/day-016.json",
        "bytes": 33715,
        "sha256": "1fff4987fc47796b18ffa96ec8b868f42e58c6c5d08044da3dec98a310dd1540",
        "kind": "review_day",
        "lessonDay": 16,
        "count": 63
      },
      {
        "path": "review/day-017.json",
        "bytes": 33613,
        "sha256": "e666477f0f85e8e2d6686ed8698ed0ace2dc3bdc2c598469cc9d4444bd31490c",
        "kind": "review_day",
        "lessonDay": 17,
        "count": 63
      },
      {
        "path": "review/day-018.json",
        "bytes": 32059,
        "sha256": "2369c00eab57d681d1126b424c03d054953acc3ca35e696c86db8f918559d53c",
        "kind": "review_day",
        "lessonDay": 18,
        "count": 60
      },
      {
        "path": "review/day-019.json",
        "bytes": 33689,
        "sha256": "56ee0903a25687db996e6d1d206b6d13e480d2293b436988e92978e7453f7c9d",
        "kind": "review_day",
        "lessonDay": 19,
        "count": 63
      },
      {
        "path": "review/day-020.json",
        "bytes": 31465,
        "sha256": "a32ce5cd92f59b5091395a9bfa0cf179415cf667a1b547d5103113b000ce4594",
        "kind": "review_day",
        "lessonDay": 20,
        "count": 59
      },
      {
        "path": "review/day-021.json",
        "bytes": 31429,
        "sha256": "88664ed8190a2c7dddd22fc67db82b482030e66a831271226d5a3f90a7610518",
        "kind": "review_day",
        "lessonDay": 21,
        "count": 59
      },
      {
        "path": "review/day-022.json",
        "bytes": 33061,
        "sha256": "5c975f0e6389824e1343922ea13559aae192ad85e8cacdb3f916b38c8968faa8",
        "kind": "review_day",
        "lessonDay": 22,
        "count": 62
      },
      {
        "path": "review/day-023.json",
        "bytes": 33605,
        "sha256": "aecd4c84ad8d56ef993acb79a3d8643cfdfc7dcd57d6c54189a827484a2ecb80",
        "kind": "review_day",
        "lessonDay": 23,
        "count": 63
      },
      {
        "path": "review/day-024.json",
        "bytes": 33593,
        "sha256": "fb9041f0ec4fbf8f672f642be652bc689e32257936fc9940640598e03f7b201a",
        "kind": "review_day",
        "lessonDay": 24,
        "count": 63
      },
      {
        "path": "review/day-025.json",
        "bytes": 31399,
        "sha256": "57fd2253fd30aed5b4b9f8e9a71e44ef4bb9e450b1da6758e474490b0602c5c3",
        "kind": "review_day",
        "lessonDay": 25,
        "count": 59
      },
      {
        "path": "review/day-026.json",
        "bytes": 31433,
        "sha256": "47181a53827d9302424793dc2c29737c26792f537bbc9b50ee811efc170e6ae9",
        "kind": "review_day",
        "lessonDay": 26,
        "count": 59
      },
      {
        "path": "review/day-027.json",
        "bytes": 29883,
        "sha256": "fe5eddcd39d91d51b903791f55c5c8f361d3b6439c82001a28eb9bf90a327f82",
        "kind": "review_day",
        "lessonDay": 27,
        "count": 56
      },
      {
        "path": "review/day-028.json",
        "bytes": 30421,
        "sha256": "c1cd14f9e0e7e841b09490fbad95078cf1370ed023236924560cd0b5806d3fe4",
        "kind": "review_day",
        "lessonDay": 28,
        "count": 57
      },
      {
        "path": "review/day-029.json",
        "bytes": 31483,
        "sha256": "88c8ae08278a28e2f66aba020006ef4f04166dce31e8fd0a6a6daf0134e0f15c",
        "kind": "review_day",
        "lessonDay": 29,
        "count": 59
      },
      {
        "path": "review/day-030.json",
        "bytes": 29819,
        "sha256": "1d863d12d8a7dad42e2ddaae23b0c96d7122c9c7b3432010a2e0e3064e206c5d",
        "kind": "review_day",
        "lessonDay": 30,
        "count": 56
      },
      {
        "path": "review/day-031.json",
        "bytes": 31443,
        "sha256": "8a8b3271b3ee152e573dc3db3eae3ade6a44f545d3849e57384cd22345143f50",
        "kind": "review_day",
        "lessonDay": 31,
        "count": 59
      },
      {
        "path": "review/day-032.json",
        "bytes": 31411,
        "sha256": "a489f3602694e7ec8419bed7d0a583147430f49bfe8e36a35fa19b8fd312067f",
        "kind": "review_day",
        "lessonDay": 32,
        "count": 59
      },
      {
        "path": "review/day-033.json",
        "bytes": 31965,
        "sha256": "0a8aebc046f5d6b658ff0cf7abbd54ae86cffef9c895bc73444c11d76cc49ff6",
        "kind": "review_day",
        "lessonDay": 33,
        "count": 60
      },
      {
        "path": "review/day-034.json",
        "bytes": 33123,
        "sha256": "2d50936e0c509f143970e3ef3ea82ea9747caf513e6bbc2e1a108434a60111b6",
        "kind": "review_day",
        "lessonDay": 34,
        "count": 62
      },
      {
        "path": "review/day-035.json",
        "bytes": 33589,
        "sha256": "a402800d774e3ada92ef6d618906c3fca09650be3edad2fbbc0039ca7bdee3f8",
        "kind": "review_day",
        "lessonDay": 35,
        "count": 63
      },
      {
        "path": "review/day-036.json",
        "bytes": 31935,
        "sha256": "1be55d6de4cb7fd25e003b255e91f15edf3aa770cb3de824ba04d5f387393b9e",
        "kind": "review_day",
        "lessonDay": 36,
        "count": 60
      },
      {
        "path": "review/day-037.json",
        "bytes": 31423,
        "sha256": "7acb58e91704dd59437d81091bec335cc7dae90070d91233806a91b03a424918",
        "kind": "review_day",
        "lessonDay": 37,
        "count": 59
      },
      {
        "path": "review/day-038.json",
        "bytes": 33641,
        "sha256": "ffa5dbb298e267dc74c4ba83fb68e2d64bf3c9b0d680de3b612a73f95f8817dc",
        "kind": "review_day",
        "lessonDay": 38,
        "count": 63
      },
      {
        "path": "review/day-039.json",
        "bytes": 33607,
        "sha256": "379d1a1a7357309012e6581b43550e5398a035c395797261132ff38319f1fa81",
        "kind": "review_day",
        "lessonDay": 39,
        "count": 63
      },
      {
        "path": "review/day-040.json",
        "bytes": 33749,
        "sha256": "230d7368d26c8b969f6b57081a75ea6087ac3828acb0e75329196e291ea52376",
        "kind": "review_day",
        "lessonDay": 40,
        "count": 63
      },
      {
        "path": "review/day-041.json",
        "bytes": 33641,
        "sha256": "2cda831776a652e9410a3b8d262d94f96c336ad24290470b7ab9333b493426fd",
        "kind": "review_day",
        "lessonDay": 41,
        "count": 63
      },
      {
        "path": "review/day-042.json",
        "bytes": 33119,
        "sha256": "60898dffd0b49925fd24fa07851b7560a068876c45ef0fa9d6a698959bb53c4e",
        "kind": "review_day",
        "lessonDay": 42,
        "count": 62
      },
      {
        "path": "review/day-043.json",
        "bytes": 29749,
        "sha256": "b72a27509e3d1cc52a5f913f8a8f62dbacfd47584c316dca308a0f7623803046",
        "kind": "review_day",
        "lessonDay": 43,
        "count": 56
      },
      {
        "path": "review/day-044.json",
        "bytes": 31453,
        "sha256": "fa44d0941d72a051d1dfc49d746af73cf28d4218d279e875210fb5418b59ae94",
        "kind": "review_day",
        "lessonDay": 44,
        "count": 59
      },
      {
        "path": "review/day-045.json",
        "bytes": 31943,
        "sha256": "c3679cc86921e2959fa9e7c22d10fa96ad2b4080f2ec844b66b932482c37af04",
        "kind": "review_day",
        "lessonDay": 45,
        "count": 60
      },
      {
        "path": "review/day-046.json",
        "bytes": 32053,
        "sha256": "f6ccd1473c62f4f4f10f5ac41eeaad96c8dd9ce3aea73440d38a589b965e3cc4",
        "kind": "review_day",
        "lessonDay": 46,
        "count": 60
      },
      {
        "path": "review/day-047.json",
        "bytes": 31501,
        "sha256": "401cba4f10ce78d12dec4e53e9818b728ff0a9e3d835b1008c1f0f8a42003a63",
        "kind": "review_day",
        "lessonDay": 47,
        "count": 59
      },
      {
        "path": "review/day-048.json",
        "bytes": 29749,
        "sha256": "4dc562d2ec4b19945eae8d88197e9bc46173dacd7ecfcf6556781e89a70b30ee",
        "kind": "review_day",
        "lessonDay": 48,
        "count": 56
      },
      {
        "path": "review/day-049.json",
        "bytes": 28169,
        "sha256": "fab7332575b1584926ef7d4ea07f09a6f3e839a0c435398bfc3f900d7f63a47e",
        "kind": "review_day",
        "lessonDay": 49,
        "count": 53
      },
      {
        "path": "review/day-050.json",
        "bytes": 31473,
        "sha256": "7b6b7b8663acbd28028117e32cfa4539ef9ccbadae87650b9d5702ce751edcd8",
        "kind": "review_day",
        "lessonDay": 50,
        "count": 59
      },
      {
        "path": "review/day-051.json",
        "bytes": 31459,
        "sha256": "307f917c70a0f30ea851c9ab2c017d6257099c00dbb0337a75574991617ebc49",
        "kind": "review_day",
        "lessonDay": 51,
        "count": 59
      },
      {
        "path": "review/day-052.json",
        "bytes": 33749,
        "sha256": "24ca701d6295ea3efb97b8bb8e403fa3125a287a7b88207bf1aef635a69264f1",
        "kind": "review_day",
        "lessonDay": 52,
        "count": 63
      },
      {
        "path": "review/day-053.json",
        "bytes": 33707,
        "sha256": "1aa4156e82bfd3722c37519ff616198cecab9fdd0df93a30953e252956713199",
        "kind": "review_day",
        "lessonDay": 53,
        "count": 63
      },
      {
        "path": "review/day-054.json",
        "bytes": 31487,
        "sha256": "50fc568d694edbff4377fed50af036f2a3295c7fe512d463536f09a9d95c2ac5",
        "kind": "review_day",
        "lessonDay": 54,
        "count": 59
      },
      {
        "path": "review/day-055.json",
        "bytes": 31445,
        "sha256": "b97d66dc921f460010d069a27dd97e9e38606cbfa35d0cbbcc675dddc51216bd",
        "kind": "review_day",
        "lessonDay": 55,
        "count": 59
      },
      {
        "path": "review/day-056.json",
        "bytes": 33115,
        "sha256": "6635c0247518614fa71ee9584a6c12841db62fc3d0c549fa0a006d6c9a4044b1",
        "kind": "review_day",
        "lessonDay": 56,
        "count": 62
      },
      {
        "path": "review/day-057.json",
        "bytes": 29843,
        "sha256": "fade697d86d6e6c8bb1f4d8bbabedac49f27bcb591eb88aa5e9f96ec194a7d7a",
        "kind": "review_day",
        "lessonDay": 57,
        "count": 56
      },
      {
        "path": "review/day-058.json",
        "bytes": 31531,
        "sha256": "24126876e98e81a7bfafec13a40020d290b55f474cfa939491950a16d9915926",
        "kind": "review_day",
        "lessonDay": 58,
        "count": 59
      },
      {
        "path": "review/day-059.json",
        "bytes": 29815,
        "sha256": "a33d3591bb489cf11668d3b0c57f1d78919d6282566962ebda56e1a4994410ba",
        "kind": "review_day",
        "lessonDay": 59,
        "count": 56
      },
      {
        "path": "review/day-060.json",
        "bytes": 29851,
        "sha256": "ae599b1dcfd75548153fe41d12dbe9a11731a5e741f29f934f04df2afe08609e",
        "kind": "review_day",
        "lessonDay": 60,
        "count": 56
      },
      {
        "path": "review/day-061.json",
        "bytes": 31489,
        "sha256": "b24d8a4def95a60e998b051ac1c2ee8606e3567d6d44796eb3c555c56d02e882",
        "kind": "review_day",
        "lessonDay": 61,
        "count": 59
      },
      {
        "path": "review/day-062.json",
        "bytes": 31459,
        "sha256": "048386dcdc9806c3393a9bb7f848f9aaf2260867435be000f07193945ea10674",
        "kind": "review_day",
        "lessonDay": 62,
        "count": 59
      },
      {
        "path": "review/day-063.json",
        "bytes": 29747,
        "sha256": "c0ffbfcdeeb2141ef389066e1fa64ea0b220cde2fd7d3822eee5961f42e1b875",
        "kind": "review_day",
        "lessonDay": 63,
        "count": 56
      },
      {
        "path": "review/day-064.json",
        "bytes": 31537,
        "sha256": "6e735c627957339656318459d42a174e022e28ce2424573df0bb5ecb6f8dd9b6",
        "kind": "review_day",
        "lessonDay": 64,
        "count": 59
      },
      {
        "path": "review/day-065.json",
        "bytes": 31427,
        "sha256": "71016c5841b65bb048e7da5c205d18d65d1d9b206e8b9f582dd0067744823fc4",
        "kind": "review_day",
        "lessonDay": 65,
        "count": 59
      },
      {
        "path": "review/day-066.json",
        "bytes": 29987,
        "sha256": "f731bd116126162a820a6e747c9a7d4de5ad275347df3a4ca83a2741ede23b50",
        "kind": "review_day",
        "lessonDay": 66,
        "count": 56
      },
      {
        "path": "review/day-067.json",
        "bytes": 29945,
        "sha256": "fb773be5dec1d896dd88fc8ac83c6cab4de7f2ead66ee8878ca74d0658361faf",
        "kind": "review_day",
        "lessonDay": 67,
        "count": 56
      },
      {
        "path": "review/day-068.json",
        "bytes": 29787,
        "sha256": "0be3924e29982e8377a55522d78d0b13b5b69c21cbcf65d05995bf8414cd08cc",
        "kind": "review_day",
        "lessonDay": 68,
        "count": 56
      },
      {
        "path": "review/day-069.json",
        "bytes": 29911,
        "sha256": "6fee19544c179ec56222104b55677bd46ebe315e7f51a5f086dd37ce2fdb2680",
        "kind": "review_day",
        "lessonDay": 69,
        "count": 56
      },
      {
        "path": "review/day-070.json",
        "bytes": 29933,
        "sha256": "378729bb7e0fc00668846bf859073079210234058ee419c13c402891ff619b85",
        "kind": "review_day",
        "lessonDay": 70,
        "count": 56
      },
      {
        "path": "review/day-071.json",
        "bytes": 29751,
        "sha256": "ad0cd7c35e865d98ca6df723fce7ea2b2b102a2c70b64bf91acf5b0913ff5729",
        "kind": "review_day",
        "lessonDay": 71,
        "count": 56
      },
      {
        "path": "review/day-072.json",
        "bytes": 29849,
        "sha256": "10bc0d33a33e3aa6e9c5942bd802ae71b449c677c1d3979b42012f0f5cfcd648",
        "kind": "review_day",
        "lessonDay": 72,
        "count": 56
      },
      {
        "path": "review/day-073.json",
        "bytes": 31359,
        "sha256": "16e923817853c9fa991a8aee172fc4e70214540e1491371485b2dcbc0f14eae6",
        "kind": "review_day",
        "lessonDay": 73,
        "count": 59
      },
      {
        "path": "review/day-074.json",
        "bytes": 29753,
        "sha256": "9e8c3efdd918ddb6df59a886342d9ef25ca2aa6bb2167f882fa8ab2af2998a6a",
        "kind": "review_day",
        "lessonDay": 74,
        "count": 56
      },
      {
        "path": "review/day-075.json",
        "bytes": 31495,
        "sha256": "1e426c7042f869482b7e52b6bae8cb2b509957ae5ebe49718b44e7acfbd0fa05",
        "kind": "review_day",
        "lessonDay": 75,
        "count": 59
      },
      {
        "path": "review/day-076.json",
        "bytes": 29855,
        "sha256": "99e638572df0061364ee9659012318d50f496adf90b73b5ecd97da74725df04c",
        "kind": "review_day",
        "lessonDay": 76,
        "count": 56
      },
      {
        "path": "review/day-077.json",
        "bytes": 31475,
        "sha256": "a7c940eb25d8400ae101e510230dbf8bd359035d8629f85c5f0b897230645dd7",
        "kind": "review_day",
        "lessonDay": 77,
        "count": 59
      },
      {
        "path": "review/day-078.json",
        "bytes": 29845,
        "sha256": "d39162f8cf4b92733832b2020ab1b9392deb65ae8c6c0411bf6efc798ccc289f",
        "kind": "review_day",
        "lessonDay": 78,
        "count": 56
      },
      {
        "path": "review/day-079.json",
        "bytes": 29829,
        "sha256": "e84df8a21f6c13a55870dc4092bc337d76037706c88f0fc284c0236f7a048644",
        "kind": "review_day",
        "lessonDay": 79,
        "count": 56
      },
      {
        "path": "review/day-080.json",
        "bytes": 29817,
        "sha256": "58c38703b5537e1f88a09c31a58a225818331a47d7313275a9a17f54ed490d55",
        "kind": "review_day",
        "lessonDay": 80,
        "count": 56
      },
      {
        "path": "review/day-081.json",
        "bytes": 29861,
        "sha256": "37f5959a70045b1feadc405b4b88a1968ed32a43bc26d7540fe2fbcb7e4e3de8",
        "kind": "review_day",
        "lessonDay": 81,
        "count": 56
      },
      {
        "path": "review/day-082.json",
        "bytes": 29815,
        "sha256": "0bc154938f6ac0fe68b7625b7d8dacc789f2788208ec7b3133f55957e485178d",
        "kind": "review_day",
        "lessonDay": 82,
        "count": 56
      },
      {
        "path": "review/day-083.json",
        "bytes": 29875,
        "sha256": "7edf394c92f36e0e1e4498f5185af38d83faef15d326a8655a8c4aa76d22245a",
        "kind": "review_day",
        "lessonDay": 83,
        "count": 56
      },
      {
        "path": "review/day-084.json",
        "bytes": 29803,
        "sha256": "42ab818459be362271cd79785344ba2e41a6f430cf9fa2863d92ba273d9482da",
        "kind": "review_day",
        "lessonDay": 84,
        "count": 56
      },
      {
        "path": "review/day-085.json",
        "bytes": 31457,
        "sha256": "774a37258661c8c7e58bbaa0b22ef87c0f6952c7b0a3f4577397db4dfa44cd8c",
        "kind": "review_day",
        "lessonDay": 85,
        "count": 59
      },
      {
        "path": "review/day-086.json",
        "bytes": 29819,
        "sha256": "d0a6bb06c11c38f018634d49c921707984d2e0b1796b8e5962c90400655c3b56",
        "kind": "review_day",
        "lessonDay": 86,
        "count": 56
      },
      {
        "path": "review/day-087.json",
        "bytes": 29861,
        "sha256": "7d84ffad98887712a7a8696134c964e3037b5097195868453def6eb94829da28",
        "kind": "review_day",
        "lessonDay": 87,
        "count": 56
      },
      {
        "path": "review/day-088.json",
        "bytes": 29781,
        "sha256": "fc43cf4746067c8e1ac75bb704ed26998658bf4ffaa0b1252be128a81e3d4c3e",
        "kind": "review_day",
        "lessonDay": 88,
        "count": 56
      },
      {
        "path": "review/day-089.json",
        "bytes": 29851,
        "sha256": "9b52178ea0a92ef6c2a98075b24fe4e6021dd1ad350c7d284e20b9b313178a19",
        "kind": "review_day",
        "lessonDay": 89,
        "count": 56
      },
      {
        "path": "review/day-090.json",
        "bytes": 29857,
        "sha256": "0cbc8e040b21a42bc88a9629ff44feb4ec51c8d101860bd7cc23084c31964537",
        "kind": "review_day",
        "lessonDay": 90,
        "count": 56
      }
    ],
    "outline": {
      "path": "outline.json",
      "bytes": 166766,
      "sha256": "280d8796a67f4830db38eb5fc198fb20fb4bed59599dec5f3e066105a63f1f9e",
      "kind": "outline",
      "itemType": "content_outline"
    },
    "intensiveOutline": {
      "path": "intensive-outline.json",
      "bytes": 342076,
      "sha256": "ed0d5a2e7d03d21bfaf04f8d3b3245a0107813a634a88b40057b1853402543ca",
      "kind": "intensive_outline",
      "itemType": "intensive_outline"
    }
  },
  "lessons": [
    {
      "day": 1,
      "id": "lesson-d01",
      "moduleId": "m01-survival-foundations",
      "theme": "First contact and polite survival",
      "communicationGoal": {
        "english": "Greet someone, say your name, and survive the first exchange.",
        "korean": "Greet someone, say your name, and survive the first exchange. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-001-me-llamo-soy-de",
        "name": "Me llamo __ / Soy de __",
        "koreanName": "이름과 출신 말하기",
        "anchorSpanish": "Hola, me llamo Mina y soy de Corea.",
        "anchorKorean": "안녕하세요, 제 이름은 미나이고 한국에서 왔어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 62
      }
    },
    {
      "day": 2,
      "id": "lesson-d02",
      "moduleId": "m01-survival-foundations",
      "theme": "Names, people, and simple identity",
      "communicationGoal": {
        "english": "Introduce yourself and ask basic identity questions.",
        "korean": "Introduce yourself and ask basic identity questions. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-002-soy-vivo-en",
        "name": "Soy __ / Vivo en __",
        "koreanName": "정체성과 사는 곳 말하기",
        "anchorSpanish": "Soy estudiante y vivo aquí ahora.",
        "anchorKorean": "저는 학생이고 지금 여기 살아요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 3,
      "id": "lesson-d03",
      "moduleId": "m01-survival-foundations",
      "theme": "Classroom Spanish and repair phrases",
      "communicationGoal": {
        "english": "Ask how to say something and recover when you do not understand.",
        "korean": "Ask how to say something and recover when you do not understand. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-003-como-se-dice",
        "name": "¿Cómo se dice __? / No entiendo",
        "koreanName": "모를 때 질문하고 회복하기",
        "anchorSpanish": "No entiendo. ¿Puede repetir más despacio?",
        "anchorKorean": "이해하지 못했어요. 더 천천히 반복해 주실 수 있나요?"
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 57
      }
    },
    {
      "day": 4,
      "id": "lesson-d04",
      "moduleId": "m01-survival-foundations",
      "theme": "Cafe ordering",
      "communicationGoal": {
        "english": "Order a simple drink or snack politely.",
        "korean": "Order a simple drink or snack politely. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-004-quiero-quisiera",
        "name": "Quiero __ / Quisiera __",
        "koreanName": "원하는 것 정중하게 말하기",
        "anchorSpanish": "Quisiera un café para llevar, por favor.",
        "anchorKorean": "커피 한 잔 포장으로 부탁드립니다."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 60
      }
    },
    {
      "day": 5,
      "id": "lesson-d05",
      "moduleId": "m01-survival-foundations",
      "theme": "Food basics and hunger",
      "communicationGoal": {
        "english": "Talk about basic food, taste, hunger, and thirst.",
        "korean": "Talk about basic food, taste, hunger, and thirst. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-005-tengo-hambre-esta-rico",
        "name": "Tengo hambre / Está rico",
        "koreanName": "배고픔과 맛 말하기",
        "anchorSpanish": "Tengo hambre. El taco está muy rico.",
        "anchorKorean": "배고파요. 타코가 정말 맛있어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 60
      }
    },
    {
      "day": 6,
      "id": "lesson-d06",
      "moduleId": "m01-survival-foundations",
      "theme": "Restaurant requests",
      "communicationGoal": {
        "english": "Ask for a table, customize food, and pay.",
        "korean": "Ask for a table, customize food, and pay. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-006-con-sin-cuenta",
        "name": "con __ / sin __ / La cuenta, por favor",
        "koreanName": "넣고 빼기와 계산 요청",
        "anchorSpanish": "Quisiera un taco sin salsa y la cuenta, por favor.",
        "anchorKorean": "살사 없이 타코 하나와 계산서 부탁드립니다."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 63
      }
    },
    {
      "day": 7,
      "id": "lesson-d07",
      "moduleId": "m01-survival-foundations",
      "theme": "Numbers and prices",
      "communicationGoal": {
        "english": "Understand small prices and ask how much something costs.",
        "korean": "Understand small prices and ask how much something costs. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-007-cuesta-son-pesos",
        "name": "¿Cuánto cuesta? / Son __ pesos",
        "koreanName": "가격 묻고 숫자 듣기",
        "anchorSpanish": "¿Cuánto cuesta? Son cincuenta pesos.",
        "anchorKorean": "얼마예요? 50페소입니다."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 8,
      "id": "lesson-d08",
      "moduleId": "m01-survival-foundations",
      "theme": "Directions on the street",
      "communicationGoal": {
        "english": "Ask where something is and understand simple directions.",
        "korean": "Ask where something is and understand simple directions. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-008-donde-esta",
        "name": "¿Dónde está __? / Está cerca",
        "koreanName": "위치 묻기",
        "anchorSpanish": "¿Dónde está el baño? Está a la derecha.",
        "anchorKorean": "화장실이 어디에 있나요? 오른쪽에 있어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 9,
      "id": "lesson-d09",
      "moduleId": "m01-survival-foundations",
      "theme": "Transportation basics",
      "communicationGoal": {
        "english": "Use taxi, bus, metro, and airport phrases.",
        "korean": "Use taxi, bus, metro, and airport phrases. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-009-ir-llegar-tardar",
        "name": "Quiero ir a __ / ¿Cuánto tarda?",
        "koreanName": "이동 목적지와 걸리는 시간",
        "anchorSpanish": "Quiero ir al centro. ¿Cuánto tarda?",
        "anchorKorean": "중심가에 가고 싶어요. 얼마나 걸리나요?"
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 62
      }
    },
    {
      "day": 10,
      "id": "lesson-d10",
      "moduleId": "m01-survival-foundations",
      "theme": "Shopping essentials",
      "communicationGoal": {
        "english": "Ask for items, sizes, colors, and receipts.",
        "korean": "Ask for items, sizes, colors, and receipts. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-010-busco-tiene",
        "name": "Busco __ / ¿Tiene __?",
        "koreanName": "물건 찾기",
        "anchorSpanish": "Busco zapatos negros. ¿Tiene mi talla?",
        "anchorKorean": "검은 신발을 찾고 있어요. 제 사이즈가 있나요?"
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 63
      }
    },
    {
      "day": 11,
      "id": "lesson-d11",
      "moduleId": "m02-city-body-social",
      "theme": "Time and weekly routine",
      "communicationGoal": {
        "english": "Say days, times, and simple frequency.",
        "korean": "Say days, times, and simple frequency. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-011-los-dias-y-frecuencia",
        "name": "Los lunes / siempre / a veces",
        "koreanName": "요일과 빈도 말하기",
        "anchorSpanish": "Los lunes estudio español temprano.",
        "anchorKorean": "월요일마다 저는 일찍 스페인어를 공부해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 12,
      "id": "lesson-d12",
      "moduleId": "m02-city-body-social",
      "theme": "Calendar and plans",
      "communicationGoal": {
        "english": "Talk about months, dates, appointments, and weekends.",
        "korean": "Talk about months, dates, appointments, and weekends. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-012-tengo-una-cita",
        "name": "Tengo una cita el __",
        "koreanName": "날짜와 약속 말하기",
        "anchorSpanish": "Tengo una cita el viernes en mayo.",
        "anchorKorean": "5월 금요일에 약속이 있어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 13,
      "id": "lesson-d13",
      "moduleId": "m02-city-body-social",
      "theme": "Family and people",
      "communicationGoal": {
        "english": "Describe family members and people around you.",
        "korean": "Describe family members and people around you. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-013-mi-tu-su",
        "name": "mi __ / tu __ / su __",
        "koreanName": "소유 표현",
        "anchorSpanish": "Mi familia vive en Corea.",
        "anchorKorean": "제 가족은 한국에 살아요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 14,
      "id": "lesson-d14",
      "moduleId": "m02-city-body-social",
      "theme": "Feelings and opinions",
      "communicationGoal": {
        "english": "Say how you feel and give simple opinions.",
        "korean": "Say how you feel and give simple opinions. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-014-me-gusta-creo-que",
        "name": "Me gusta __ / Creo que __",
        "koreanName": "좋아함과 의견 말하기",
        "anchorSpanish": "Me gusta la comida mexicana porque es rica.",
        "anchorKorean": "멕시코 음식은 맛있어서 좋아해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 15,
      "id": "lesson-d15",
      "moduleId": "m02-city-body-social",
      "theme": "Home and personal objects",
      "communicationGoal": {
        "english": "Name common spaces and things you need at home.",
        "korean": "Name common spaces and things you need at home. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-015-hay-necesito",
        "name": "Hay __ / Necesito __",
        "koreanName": "있는 것과 필요한 것",
        "anchorSpanish": "Hay internet, pero necesito un cargador.",
        "anchorKorean": "인터넷은 있지만 충전기가 필요해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 63
      }
    },
    {
      "day": 16,
      "id": "lesson-d16",
      "moduleId": "m02-city-body-social",
      "theme": "Weather and clothing",
      "communicationGoal": {
        "english": "Talk about weather and choose clothing.",
        "korean": "Talk about weather and choose clothing. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-016-hace-esta",
        "name": "Hace calor / Está nublado",
        "koreanName": "날씨 말하기",
        "anchorSpanish": "Hace frío y está nublado. Necesito una chamarra.",
        "anchorKorean": "춥고 흐려요. 재킷이 필요해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 63
      }
    },
    {
      "day": 17,
      "id": "lesson-d17",
      "moduleId": "m02-city-body-social",
      "theme": "Body and health",
      "communicationGoal": {
        "english": "Explain simple symptoms and ask for help.",
        "korean": "Explain simple symptoms and ask for help. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-017-me-duele-estoy-enfermo",
        "name": "Me duele __ / Estoy enfermo",
        "koreanName": "아픈 곳 설명하기",
        "anchorSpanish": "Me duele la cabeza y tengo fiebre.",
        "anchorKorean": "머리가 아프고 열이 있어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 63
      }
    },
    {
      "day": 18,
      "id": "lesson-d18",
      "moduleId": "m02-city-body-social",
      "theme": "Emergency language",
      "communicationGoal": {
        "english": "Report a problem and ask for urgent assistance.",
        "korean": "Report a problem and ask for urgent assistance. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-018-necesito-ayuda-llame",
        "name": "Necesito ayuda / Llame a __",
        "koreanName": "긴급 도움 요청",
        "anchorSpanish": "Necesito ayuda. Llame a la policía, por favor.",
        "anchorKorean": "도움이 필요해요. 경찰에 전화해 주세요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 60
      }
    },
    {
      "day": 19,
      "id": "lesson-d19",
      "moduleId": "m02-city-body-social",
      "theme": "Hotel and lodging",
      "communicationGoal": {
        "english": "Check in, ask about room issues, and request amenities.",
        "korean": "Check in, ask about room issues, and request amenities. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-019-tengo-reservacion-hay",
        "name": "Tengo reservación / Hay un problema",
        "koreanName": "숙소 체크인과 문제 말하기",
        "anchorSpanish": "Tengo una reservación, pero hay mucho ruido.",
        "anchorKorean": "예약이 있는데 소음이 많아요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 63
      }
    },
    {
      "day": 20,
      "id": "lesson-d20",
      "moduleId": "m02-city-body-social",
      "theme": "Small talk and social questions",
      "communicationGoal": {
        "english": "Keep a short friendly conversation going.",
        "korean": "Keep a short friendly conversation going. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-020-que-tal-de-donde",
        "name": "¿Qué tal? / ¿De dónde eres?",
        "koreanName": "스몰토크 시작하기",
        "anchorSpanish": "Estoy bien, ¿y tú? ¿De dónde eres?",
        "anchorKorean": "저는 잘 지내요, 당신은요? 어디 출신이에요?"
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 21,
      "id": "lesson-d21",
      "moduleId": "m03-output-and-repair",
      "theme": "Hobbies and preferences",
      "communicationGoal": {
        "english": "Talk about what you like doing in free time.",
        "korean": "Talk about what you like doing in free time. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-021-me-encanta-los-fines",
        "name": "Me encanta __ / los fines de semana",
        "koreanName": "취미와 선호 말하기",
        "anchorSpanish": "Los fines de semana me encanta cocinar y tomar café.",
        "anchorKorean": "주말에는 요리하고 커피 마시는 것을 정말 좋아해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 22,
      "id": "lesson-d22",
      "moduleId": "m03-output-and-repair",
      "theme": "Work and study",
      "communicationGoal": {
        "english": "Describe basic work, school, and schedule situations.",
        "korean": "Describe basic work, school, and schedule situations. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-022-empiezo-termino-a-las",
        "name": "Empiezo a las __ / Termino a las __",
        "koreanName": "일과 공부 시간 말하기",
        "anchorSpanish": "Empiezo la clase a las nueve y termino a las diez.",
        "anchorKorean": "수업은 9시에 시작해서 10시에 끝나요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 62
      }
    },
    {
      "day": 23,
      "id": "lesson-d23",
      "moduleId": "m03-output-and-repair",
      "theme": "Messaging and phone",
      "communicationGoal": {
        "english": "Send, receive, confirm, and share phone information.",
        "korean": "Send, receive, confirm, and share phone information. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-023-mandar-recibir-confirmar",
        "name": "Mando __ / Recibo __ / Confirmo __",
        "koreanName": "메시지 주고받기",
        "anchorSpanish": "Te mando mi ubicación por WhatsApp.",
        "anchorKorean": "왓츠앱으로 제 위치를 보낼게요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 63
      }
    },
    {
      "day": 24,
      "id": "lesson-d24",
      "moduleId": "m03-output-and-repair",
      "theme": "Asking for help and details",
      "communicationGoal": {
        "english": "Ask someone to explain, show, repeat, or check something.",
        "korean": "Ask someone to explain, show, repeat, or check something. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-024-puede-ayudarme",
        "name": "¿Puede ayudarme? / ¿Puede mostrarme?",
        "koreanName": "도움과 설명 요청",
        "anchorSpanish": "¿Puede ayudarme y mostrarme la opción?",
        "anchorKorean": "도와주시고 옵션을 보여주실 수 있나요?"
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 63
      }
    },
    {
      "day": 25,
      "id": "lesson-d25",
      "moduleId": "m03-output-and-repair",
      "theme": "Yesterday and recent actions",
      "communicationGoal": {
        "english": "Use common past chunks to talk about yesterday.",
        "korean": "Use common past chunks to talk about yesterday. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-025-ayer-fui-hice",
        "name": "Ayer fui / hice / comí",
        "koreanName": "어제 한 일 말하기",
        "anchorSpanish": "Ayer fui al mercado y compré fruta.",
        "anchorKorean": "어제 시장에 가서 과일을 샀어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 26,
      "id": "lesson-d26",
      "moduleId": "m03-output-and-repair",
      "theme": "Future intentions",
      "communicationGoal": {
        "english": "Say what you are going to do and what you have to do.",
        "korean": "Say what you are going to do and what you have to do. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-026-voy-a-tengo-que",
        "name": "Voy a __ / Tengo que __",
        "koreanName": "할 예정과 해야 할 일",
        "anchorSpanish": "Mañana voy a estudiar y tengo que llamar a mi amiga.",
        "anchorKorean": "내일 공부할 예정이고 친구에게 전화해야 해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 27,
      "id": "lesson-d27",
      "moduleId": "m03-output-and-repair",
      "theme": "Comparisons and degree",
      "communicationGoal": {
        "english": "Compare options and describe intensity simply.",
        "korean": "Compare options and describe intensity simply. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-027-mas-menos-que",
        "name": "más __ / menos __ / mejor",
        "koreanName": "비교와 정도",
        "anchorSpanish": "Este hotel es más barato, pero aquel está más cerca.",
        "anchorKorean": "이 호텔은 더 싸지만 저 호텔은 더 가까워요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 28,
      "id": "lesson-d28",
      "moduleId": "m03-output-and-repair",
      "theme": "Politeness and Mexican social phrases",
      "communicationGoal": {
        "english": "Use warm everyday expressions without sounding too stiff.",
        "korean": "Use warm everyday expressions without sounding too stiff. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-028-frases-sociales",
        "name": "Con permiso / Provecho / Nos vemos",
        "koreanName": "따뜻한 사회적 표현",
        "anchorSpanish": "Con permiso. Muchas gracias, nos vemos.",
        "anchorKorean": "실례합니다. 정말 감사합니다, 또 봐요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 57
      }
    },
    {
      "day": 29,
      "id": "lesson-d29",
      "moduleId": "m03-output-and-repair",
      "theme": "Conversation repair",
      "communicationGoal": {
        "english": "Stay in the conversation when you are unsure.",
        "korean": "Stay in the conversation when you are unsure. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-029-no-se-puede-repetir",
        "name": "No sé / ¿Puede repetir? / Estoy aprendiendo",
        "koreanName": "대화를 놓치지 않는 수리 문장",
        "anchorSpanish": "Soy principiante. ¿Puede repetir más despacio?",
        "anchorKorean": "저는 초보자예요. 더 천천히 반복해 주실 수 있나요?"
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 30,
      "id": "lesson-d30",
      "moduleId": "m03-output-and-repair",
      "theme": "Integrated survival mission",
      "communicationGoal": {
        "english": "Handle a mixed real-life situation using the first-month toolkit.",
        "korean": "Handle a mixed real-life situation using the first-month toolkit. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-030-integrated",
        "name": "Necesito __ / Busco __ / ¿Me ayuda?",
        "koreanName": "첫 달 통합 패턴",
        "anchorSpanish": "Llegué al centro, busco una farmacia y necesito ayuda.",
        "anchorKorean": "중심가에 도착했고 약국을 찾고 있으며 도움이 필요해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 31,
      "id": "lesson-d31",
      "moduleId": "m04-routines-and-travel",
      "theme": "Morning routine",
      "communicationGoal": {
        "english": "Describe waking up, getting ready, and leaving home.",
        "korean": "Describe waking up, getting ready, and leaving home. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-031-me-levanto-a-las",
        "name": "Me levanto a las __ / Después __",
        "koreanName": "아침 루틴 순서 말하기",
        "anchorSpanish": "Me levanto a las siete y salgo de casa a las ocho.",
        "anchorKorean": "저는 7시에 일어나고 8시에 집에서 나가요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 32,
      "id": "lesson-d32",
      "moduleId": "m04-routines-and-travel",
      "theme": "Evening routine",
      "communicationGoal": {
        "english": "Talk about relaxing, cooking, cleaning, and sleeping.",
        "korean": "Talk about relaxing, cooking, cleaning, and sleeping. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-032-despues-de-antes-de",
        "name": "Después de __ / Antes de __",
        "koreanName": "전후 관계 말하기",
        "anchorSpanish": "Después de cenar, estudio un poco antes de dormir.",
        "anchorKorean": "저녁을 먹은 후 자기 전에 조금 공부해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 33,
      "id": "lesson-d33",
      "moduleId": "m04-routines-and-travel",
      "theme": "Groceries in detail",
      "communicationGoal": {
        "english": "Ask for quantities, produce, and common grocery items.",
        "korean": "Ask for quantities, produce, and common grocery items. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-033-quiero-medio-kilo",
        "name": "Quiero medio kilo de __ / ¿Cuánto es?",
        "koreanName": "장보기 수량 말하기",
        "anchorSpanish": "Quiero medio kilo de tomates y una bolsa de arroz.",
        "anchorKorean": "토마토 반 킬로와 쌀 한 봉지를 원해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 60
      }
    },
    {
      "day": 34,
      "id": "lesson-d34",
      "moduleId": "m04-routines-and-travel",
      "theme": "Cooking simple meals",
      "communicationGoal": {
        "english": "Follow and give simple cooking instructions.",
        "korean": "Follow and give simple cooking instructions. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-034-hay-que-primero",
        "name": "Hay que __ / Primero __",
        "koreanName": "간단한 조리 설명",
        "anchorSpanish": "Primero hay que lavar la verdura y cortar la cebolla.",
        "anchorKorean": "먼저 채소를 씻고 양파를 잘라야 해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 62
      }
    },
    {
      "day": 35,
      "id": "lesson-d35",
      "moduleId": "m04-routines-and-travel",
      "theme": "Cafe conversation",
      "communicationGoal": {
        "english": "Chat naturally while ordering and waiting.",
        "korean": "Chat naturally while ordering and waiting. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-035-que-vas-a-pedir",
        "name": "¿Qué vas a pedir? / Yo voy a pedir __",
        "koreanName": "카페에서 선택 말하기",
        "anchorSpanish": "Yo voy a pedir un café frío y un pan dulce.",
        "anchorKorean": "저는 차가운 커피와 단 빵을 주문할 거예요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 63
      }
    },
    {
      "day": 36,
      "id": "lesson-d36",
      "moduleId": "m04-routines-and-travel",
      "theme": "Street food",
      "communicationGoal": {
        "english": "Order tacos or snacks with toppings and preferences.",
        "korean": "Order tacos or snacks with toppings and preferences. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-036-me-da-de",
        "name": "¿Me da __ de __? / Con todo",
        "koreanName": "길거리 음식 주문",
        "anchorSpanish": "¿Me da dos tacos de pastor con todo, por favor?",
        "anchorKorean": "알 파스토르 타코 두 개 전부 넣어서 주세요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 60
      }
    },
    {
      "day": 37,
      "id": "lesson-d37",
      "moduleId": "m04-routines-and-travel",
      "theme": "Doctor visit",
      "communicationGoal": {
        "english": "Describe symptoms, duration, and basic treatment.",
        "korean": "Describe symptoms, duration, and basic treatment. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-037-desde-hace",
        "name": "Me duele __ desde hace __",
        "koreanName": "증상 기간 말하기",
        "anchorSpanish": "Me duele el estómago desde hace dos días.",
        "anchorKorean": "이틀 전부터 배가 아파요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 38,
      "id": "lesson-d38",
      "moduleId": "m04-routines-and-travel",
      "theme": "Pharmacy conversation",
      "communicationGoal": {
        "english": "Ask for medicine and understand dosage language.",
        "korean": "Ask for medicine and understand dosage language. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-038-busco-algo-para",
        "name": "Busco algo para __ / ¿Cada cuánto?",
        "koreanName": "약국에서 약 요청",
        "anchorSpanish": "Busco algo para la tos. ¿Cada cuánto lo tomo?",
        "anchorKorean": "기침에 쓰는 것을 찾고 있어요. 얼마나 자주 먹나요?"
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 63
      }
    },
    {
      "day": 39,
      "id": "lesson-d39",
      "moduleId": "m04-routines-and-travel",
      "theme": "Bank and money",
      "communicationGoal": {
        "english": "Use ATM, cash, card, transfer, and change phrases.",
        "korean": "Use ATM, cash, card, transfer, and change phrases. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-039-necesito-sacar",
        "name": "Necesito sacar __ / ¿Acepta tarjeta?",
        "koreanName": "돈과 결제",
        "anchorSpanish": "Necesito sacar efectivo, pero el cajero no funciona.",
        "anchorKorean": "현금을 인출해야 하는데 ATM이 작동하지 않아요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 63
      }
    },
    {
      "day": 40,
      "id": "lesson-d40",
      "moduleId": "m04-routines-and-travel",
      "theme": "Documents and forms",
      "communicationGoal": {
        "english": "Fill out simple personal information and ask form questions.",
        "korean": "Fill out simple personal information and ask form questions. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-040-tengo-que-llenar",
        "name": "Tengo que llenar __ / ¿Dónde firmo?",
        "koreanName": "서류 작성",
        "anchorSpanish": "Tengo que llenar este formulario y firmar aquí.",
        "anchorKorean": "이 양식을 작성하고 여기 서명해야 해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 63
      }
    },
    {
      "day": 41,
      "id": "lesson-d41",
      "moduleId": "m04-routines-and-travel",
      "theme": "Travel planning",
      "communicationGoal": {
        "english": "Book transport and ask about schedules.",
        "korean": "Book transport and ask about schedules. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-041-quiero-un-boleto-para",
        "name": "Quiero un boleto para __ / ¿A qué hora sale?",
        "koreanName": "여행 일정 예약",
        "anchorSpanish": "Quiero un boleto para Puebla. ¿A qué hora sale el autobús?",
        "anchorKorean": "푸에블라행 표를 원해요. 버스는 몇 시에 출발하나요?"
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 63
      }
    },
    {
      "day": 42,
      "id": "lesson-d42",
      "moduleId": "m04-routines-and-travel",
      "theme": "Airport flow",
      "communicationGoal": {
        "english": "Check in, security, gate, luggage, and delay phrases.",
        "korean": "Check in, security, gate, luggage, and delay phrases. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-042-vuelo-puerta-equipaje",
        "name": "Mi vuelo sale de la puerta __",
        "koreanName": "공항 흐름",
        "anchorSpanish": "Mi vuelo sale de la puerta diez, pero mi equipaje no llega.",
        "anchorKorean": "제 비행기는 10번 게이트에서 출발하지만 짐이 나오지 않아요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 62
      }
    },
    {
      "day": 43,
      "id": "lesson-d43",
      "moduleId": "m04-routines-and-travel",
      "theme": "Neighborhood life",
      "communicationGoal": {
        "english": "Talk about stores, safety, noise, and neighbors.",
        "korean": "Talk about stores, safety, noise, and neighbors. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-043-en-mi-barrio-hay",
        "name": "En mi barrio hay __ / Queda cerca",
        "koreanName": "동네 설명",
        "anchorSpanish": "En mi barrio hay una panadería y queda cerca del metro.",
        "anchorKorean": "제 동네에는 빵집이 있고 지하철 근처에 있어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 44,
      "id": "lesson-d44",
      "moduleId": "m04-routines-and-travel",
      "theme": "Invitations",
      "communicationGoal": {
        "english": "Invite, accept, decline, and suggest another time.",
        "korean": "Invite, accept, decline, and suggest another time. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-044-quieres-venir",
        "name": "¿Quieres venir? / Me encantaría",
        "koreanName": "초대하고 답하기",
        "anchorSpanish": "¿Quieres venir a cenar el sábado? Me encantaría.",
        "anchorKorean": "토요일 저녁 먹으러 올래요? 정말 좋죠."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 45,
      "id": "lesson-d45",
      "moduleId": "m04-routines-and-travel",
      "theme": "Making plans with friends",
      "communicationGoal": {
        "english": "Coordinate place, time, and preferences.",
        "korean": "Coordinate place, time, and preferences. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-045-nos-vemos-en",
        "name": "Nos vemos en __ / ¿Te parece?",
        "koreanName": "장소와 시간 조율",
        "anchorSpanish": "Nos vemos en el parque a las cinco, ¿te parece?",
        "anchorKorean": "5시에 공원에서 봐요, 괜찮아요?"
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 60
      }
    },
    {
      "day": 46,
      "id": "lesson-d46",
      "moduleId": "m05-expanded-daily-life",
      "theme": "Restaurant conversation",
      "communicationGoal": {
        "english": "Discuss menu options, allergies, and payment.",
        "korean": "Discuss menu options, allergies, and payment. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-046-que-lleva",
        "name": "¿Qué lleva? / Soy alérgico a __",
        "koreanName": "메뉴와 알레르기",
        "anchorSpanish": "¿Qué lleva este plato? Soy alérgica al camarón.",
        "anchorKorean": "이 요리에는 뭐가 들어가나요? 저는 새우 알레르기가 있어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 60
      }
    },
    {
      "day": 47,
      "id": "lesson-d47",
      "moduleId": "m05-expanded-daily-life",
      "theme": "Opinions about places",
      "communicationGoal": {
        "english": "Give simple reviews of restaurants and neighborhoods.",
        "korean": "Give simple reviews of restaurants and neighborhoods. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-047-me-parece-porque",
        "name": "Me parece __ porque __",
        "koreanName": "이유가 있는 평가",
        "anchorSpanish": "El mercado me parece interesante porque tiene mucha comida.",
        "anchorKorean": "그 시장은 음식이 많아서 흥미로운 것 같아요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 48,
      "id": "lesson-d48",
      "moduleId": "m05-expanded-daily-life",
      "theme": "Storytelling with sequence",
      "communicationGoal": {
        "english": "Tell a short story using first, then, and finally.",
        "korean": "Tell a short story using first, then, and finally. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-048-primero-luego-al-final",
        "name": "Primero __, luego __, al final __",
        "koreanName": "짧은 이야기 구성",
        "anchorSpanish": "Primero fui al mercado, luego compré fruta y al final tomé café.",
        "anchorKorean": "먼저 시장에 갔고, 그 다음 과일을 샀고, 마지막에 커피를 마셨어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 49,
      "id": "lesson-d49",
      "moduleId": "m05-expanded-daily-life",
      "theme": "Habit and frequency",
      "communicationGoal": {
        "english": "Talk about what you usually, sometimes, and never do.",
        "korean": "Talk about what you usually, sometimes, and never do. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-049-suelo-casi-nunca",
        "name": "Suelo __ / casi nunca __",
        "koreanName": "습관과 빈도",
        "anchorSpanish": "Suelo estudiar español por la mañana, pero casi nunca estudio de noche.",
        "anchorKorean": "저는 보통 아침에 스페인어를 공부하지만 밤에는 거의 공부하지 않아요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 18,
        "speakingPrompts": 5,
        "cards": 53
      }
    },
    {
      "day": 50,
      "id": "lesson-d50",
      "moduleId": "m05-expanded-daily-life",
      "theme": "Problem solving",
      "communicationGoal": {
        "english": "Explain a problem and negotiate a solution.",
        "korean": "Explain a problem and negotiate a solution. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-050-hay-un-problema-podemos",
        "name": "Hay un problema / ¿Podemos __?",
        "koreanName": "문제 설명과 해결 제안",
        "anchorSpanish": "Hay un problema con mi habitación. ¿Podemos cambiarla?",
        "anchorKorean": "제 방에 문제가 있어요. 바꿀 수 있을까요?"
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 51,
      "id": "lesson-d51",
      "moduleId": "m05-expanded-daily-life",
      "theme": "Apartment search",
      "communicationGoal": {
        "english": "Ask about rent, location, rooms, and rules.",
        "korean": "Ask about rent, location, rooms, and rules. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-051-busco-un-departamento",
        "name": "Busco un departamento con __",
        "koreanName": "집 조건 말하기",
        "anchorSpanish": "Busco un departamento con dos cuartos cerca del metro.",
        "anchorKorean": "지하철 근처에 방 두 개 있는 아파트를 찾고 있어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 52,
      "id": "lesson-d52",
      "moduleId": "m05-expanded-daily-life",
      "theme": "Utilities and internet",
      "communicationGoal": {
        "english": "Report service problems and schedule help.",
        "korean": "Report service problems and schedule help. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-052-no-funciona-el",
        "name": "No funciona el __ / Necesito reportarlo",
        "koreanName": "전기, 물, 인터넷 문제",
        "anchorSpanish": "No funciona el internet y necesito reportarlo hoy.",
        "anchorKorean": "인터넷이 작동하지 않아서 오늘 신고해야 해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 63
      }
    },
    {
      "day": 53,
      "id": "lesson-d53",
      "moduleId": "m05-expanded-daily-life",
      "theme": "Clothing shopping",
      "communicationGoal": {
        "english": "Compare sizes, fits, prices, and colors.",
        "korean": "Compare sizes, fits, prices, and colors. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-053-me-queda",
        "name": "Me queda __ / ¿Tiene otra talla?",
        "koreanName": "옷 사이즈와 착용감",
        "anchorSpanish": "Esta camisa me queda chica. ¿Tiene otra talla?",
        "anchorKorean": "이 셔츠는 저에게 작아요. 다른 사이즈 있나요?"
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 63
      }
    },
    {
      "day": 54,
      "id": "lesson-d54",
      "moduleId": "m05-expanded-daily-life",
      "theme": "Returns and exchanges",
      "communicationGoal": {
        "english": "Ask to return, exchange, or fix a purchase issue.",
        "korean": "Ask to return, exchange, or fix a purchase issue. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-054-quiero-cambiar",
        "name": "Quiero cambiar __ / Tengo el recibo",
        "koreanName": "반품과 교환 요청",
        "anchorSpanish": "Quiero cambiar estos zapatos porque me quedan grandes.",
        "anchorKorean": "이 신발이 커서 교환하고 싶어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 55,
      "id": "lesson-d55",
      "moduleId": "m05-expanded-daily-life",
      "theme": "Public services",
      "communicationGoal": {
        "english": "Ask for help at offices, stations, and information desks.",
        "korean": "Ask for help at offices, stations, and information desks. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-055-donde-puedo",
        "name": "¿Dónde puedo __? / Necesito información sobre __",
        "koreanName": "공공기관에서 묻기",
        "anchorSpanish": "¿Dónde puedo pedir información sobre transporte público?",
        "anchorKorean": "대중교통 정보를 어디에서 물어볼 수 있나요?"
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 56,
      "id": "lesson-d56",
      "moduleId": "m05-expanded-daily-life",
      "theme": "Cultural events",
      "communicationGoal": {
        "english": "Talk about concerts, festivals, museums, and plans.",
        "korean": "Talk about concerts, festivals, museums, and plans. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-056-hay-un-evento",
        "name": "Hay un evento / ¿Cuánto dura?",
        "koreanName": "문화 행사 이야기",
        "anchorSpanish": "Hay un concierto gratis en el parque. ¿Cuánto dura?",
        "anchorKorean": "공원에서 무료 콘서트가 있어요. 얼마나 오래 하나요?"
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 21,
        "speakingPrompts": 5,
        "cards": 62
      }
    },
    {
      "day": 57,
      "id": "lesson-d57",
      "moduleId": "m05-expanded-daily-life",
      "theme": "Personal background",
      "communicationGoal": {
        "english": "Talk about where you are from and your life path simply.",
        "korean": "Talk about where you are from and your life path simply. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-057-naci-creci-vivo",
        "name": "Nací en __ / Crecí en __ / Ahora vivo en __",
        "koreanName": "개인 배경",
        "anchorSpanish": "Nací en Corea, crecí en Seúl y ahora vivo en México.",
        "anchorKorean": "저는 한국에서 태어났고 서울에서 자랐고 지금은 멕시코에 살아요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 58,
      "id": "lesson-d58",
      "moduleId": "m05-expanded-daily-life",
      "theme": "Goals and motivation",
      "communicationGoal": {
        "english": "Explain why you are learning Spanish.",
        "korean": "Explain why you are learning Spanish. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-058-quiero-aprender-para",
        "name": "Quiero aprender __ para __",
        "koreanName": "목표와 동기",
        "anchorSpanish": "Quiero aprender español para hablar con más personas.",
        "anchorKorean": "더 많은 사람들과 말하기 위해 스페인어를 배우고 싶어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 59,
      "id": "lesson-d59",
      "moduleId": "m05-expanded-daily-life",
      "theme": "Opinions with reasons",
      "communicationGoal": {
        "english": "Say what you think and give simple reasons.",
        "korean": "Say what you think and give simple reasons. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-059-pienso-que-porque",
        "name": "Pienso que __ porque __",
        "koreanName": "의견과 이유",
        "anchorSpanish": "Pienso que practicar todos los días es importante porque ayuda a recordar.",
        "anchorKorean": "매일 연습하는 것이 기억에 도움이 되기 때문에 중요하다고 생각해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 60,
      "id": "lesson-d60",
      "moduleId": "m05-expanded-daily-life",
      "theme": "Listening to stories",
      "communicationGoal": {
        "english": "Understand short personal stories and answer questions.",
        "korean": "Understand short personal stories and answer questions. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-060-escuche-y-responda",
        "name": "Escuché que __ / La historia dice que __",
        "koreanName": "듣고 요약하기",
        "anchorSpanish": "Escuché que Ana fue al mercado y compró fruta para su familia.",
        "anchorKorean": "아나가 시장에 가서 가족을 위해 과일을 샀다고 들었어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 61,
      "id": "lesson-d61",
      "moduleId": "m06-a1-to-a2-bridge",
      "theme": "Speaking test 1",
      "communicationGoal": {
        "english": "Pass a guided A1 survival conversation test.",
        "korean": "Pass a guided A1 survival conversation test. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-061-speaking-test-1",
        "name": "Preséntate / Pide ayuda / Resuelve",
        "koreanName": "A1 생존 말하기 시험",
        "anchorSpanish": "Me llamo Mina, soy de Corea y necesito llegar al hotel.",
        "anchorKorean": "제 이름은 미나이고 한국에서 왔으며 호텔에 도착해야 해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 62,
      "id": "lesson-d62",
      "moduleId": "m06-a1-to-a2-bridge",
      "theme": "Repair and review week",
      "communicationGoal": {
        "english": "Recycle weak words through new scenarios.",
        "korean": "Recycle weak words through new scenarios. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-062-error-correccion",
        "name": "Me equivoqué / Quise decir __",
        "koreanName": "실수 수정과 재시도",
        "anchorSpanish": "Me equivoqué. Quise decir farmacia, no supermercado.",
        "anchorKorean": "제가 실수했어요. 슈퍼마켓이 아니라 약국이라고 말하려고 했어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 63,
      "id": "lesson-d63",
      "moduleId": "m06-a1-to-a2-bridge",
      "theme": "Food and health review",
      "communicationGoal": {
        "english": "Combine ordering, symptoms, and preferences.",
        "korean": "Combine ordering, symptoms, and preferences. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-063-comida-salud-review",
        "name": "Comí __ y me duele __",
        "koreanName": "음식과 건강 연결",
        "anchorSpanish": "Comí mariscos y ahora me duele el estómago.",
        "anchorKorean": "해산물을 먹었고 지금 배가 아파요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 64,
      "id": "lesson-d64",
      "moduleId": "m06-a1-to-a2-bridge",
      "theme": "City navigation review",
      "communicationGoal": {
        "english": "Combine directions, transport, and time.",
        "korean": "Combine directions, transport, and time. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-064-ciudad-review",
        "name": "Tomo __ hasta __ / Me bajo en __",
        "koreanName": "도시 이동 통합",
        "anchorSpanish": "Tomo el metro hasta el centro y me bajo en la próxima estación.",
        "anchorKorean": "지하철을 타고 중심가까지 가서 다음 역에서 내려요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 65,
      "id": "lesson-d65",
      "moduleId": "m06-a1-to-a2-bridge",
      "theme": "Social review",
      "communicationGoal": {
        "english": "Combine introductions, hobbies, and invitations.",
        "korean": "Combine introductions, hobbies, and invitations. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-065-social-review",
        "name": "¿Qué haces? / ¿Quieres __?",
        "koreanName": "사회적 연결",
        "anchorSpanish": "Trabajo por la mañana, estudio español y quiero tomar café contigo.",
        "anchorKorean": "아침에는 일하고 스페인어를 공부하고 당신과 커피를 마시고 싶어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 66,
      "id": "lesson-d66",
      "moduleId": "m06-a1-to-a2-bridge",
      "theme": "Present-progressive actions",
      "communicationGoal": {
        "english": "Say what is happening right now.",
        "korean": "Say what is happening right now. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-066-estoy-gerundio",
        "name": "Estoy hablando / Estoy esperando",
        "koreanName": "현재 진행 말하기",
        "anchorSpanish": "Estoy esperando el autobús y estoy escuchando español.",
        "anchorKorean": "버스를 기다리면서 스페인어를 듣고 있어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 67,
      "id": "lesson-d67",
      "moduleId": "m06-a1-to-a2-bridge",
      "theme": "Comparing past and present",
      "communicationGoal": {
        "english": "Contrast before and now with simple chunks.",
        "korean": "Contrast before and now with simple chunks. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-067-antes-ahora",
        "name": "Antes __, ahora __",
        "koreanName": "과거와 현재 비교",
        "anchorSpanish": "Antes me daba miedo hablar, pero ahora puedo pedir ayuda.",
        "anchorKorean": "예전에는 말하기가 두려웠지만 지금은 도움을 요청할 수 있어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 68,
      "id": "lesson-d68",
      "moduleId": "m06-a1-to-a2-bridge",
      "theme": "Giving advice",
      "communicationGoal": {
        "english": "Use should/need/can language in everyday situations.",
        "korean": "Use should/need/can language in everyday situations. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-068-deberias-necesitas",
        "name": "Deberías __ / Necesitas __",
        "koreanName": "조언하기",
        "anchorSpanish": "Deberías escuchar más español y practicar con frases cortas.",
        "anchorKorean": "스페인어를 더 듣고 짧은 문장으로 연습하는 게 좋아요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 69,
      "id": "lesson-d69",
      "moduleId": "m06-a1-to-a2-bridge",
      "theme": "Requests and permissions",
      "communicationGoal": {
        "english": "Ask if you may, can, or should do something.",
        "korean": "Ask if you may, can, or should do something. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-069-puedo-se-puede",
        "name": "¿Puedo __? / ¿Se puede __?",
        "koreanName": "허락과 가능 여부",
        "anchorSpanish": "¿Puedo sentarme aquí? ¿Se puede pagar con tarjeta?",
        "anchorKorean": "여기 앉아도 될까요? 카드로 결제할 수 있나요?"
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 70,
      "id": "lesson-d70",
      "moduleId": "m06-a1-to-a2-bridge",
      "theme": "Descriptions of people",
      "communicationGoal": {
        "english": "Describe appearance, personality, and relationships.",
        "korean": "Describe appearance, personality, and relationships. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-070-es-tiene-parece",
        "name": "Es __ / Tiene __ / Parece __",
        "koreanName": "사람 설명",
        "anchorSpanish": "Mi amiga es tranquila, tiene el pelo largo y parece muy amable.",
        "anchorKorean": "제 친구는 차분하고 머리가 길고 매우 친절해 보여요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 71,
      "id": "lesson-d71",
      "moduleId": "m06-a1-to-a2-bridge",
      "theme": "Descriptions of places",
      "communicationGoal": {
        "english": "Describe size, atmosphere, safety, and convenience.",
        "korean": "Describe size, atmosphere, safety, and convenience. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-071-es-queda-tiene",
        "name": "Es __ / Queda __ / Tiene __",
        "koreanName": "장소 설명",
        "anchorSpanish": "El café es tranquilo, queda cerca de mi casa y tiene buen internet.",
        "anchorKorean": "그 카페는 조용하고 제 집 근처에 있으며 인터넷이 좋아요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 72,
      "id": "lesson-d72",
      "moduleId": "m06-a1-to-a2-bridge",
      "theme": "Emotions in context",
      "communicationGoal": {
        "english": "Explain why you feel nervous, happy, tired, or confused.",
        "korean": "Explain why you feel nervous, happy, tired, or confused. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-072-me-siento-porque",
        "name": "Me siento __ porque __",
        "koreanName": "감정과 이유",
        "anchorSpanish": "Me siento nerviosa porque tengo una conversación en español.",
        "anchorKorean": "스페인어 대화가 있어서 긴장돼요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 73,
      "id": "lesson-d73",
      "moduleId": "m06-a1-to-a2-bridge",
      "theme": "Workplace small talk",
      "communicationGoal": {
        "english": "Handle greetings, tasks, and simple updates at work.",
        "korean": "Handle greetings, tasks, and simple updates at work. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-073-trabajo-update",
        "name": "Estoy trabajando en __ / ¿Cómo va __?",
        "koreanName": "직장 근황",
        "anchorSpanish": "Estoy trabajando en un proyecto nuevo. ¿Cómo va tu semana?",
        "anchorKorean": "새 프로젝트를 하고 있어요. 이번 주 어때요?"
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 74,
      "id": "lesson-d74",
      "moduleId": "m06-a1-to-a2-bridge",
      "theme": "Study plan conversation",
      "communicationGoal": {
        "english": "Discuss classes, practice, homework, and progress.",
        "korean": "Discuss classes, practice, homework, and progress. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-074-plan-de-estudio",
        "name": "Voy a practicar __ durante __",
        "koreanName": "학습 계획 말하기",
        "anchorSpanish": "Voy a practicar pronunciación durante quince minutos cada día.",
        "anchorKorean": "매일 15분 동안 발음을 연습할 거예요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 75,
      "id": "lesson-d75",
      "moduleId": "m06-a1-to-a2-bridge",
      "theme": "Online conversation",
      "communicationGoal": {
        "english": "Write short messages and voice notes naturally.",
        "korean": "Write short messages and voice notes naturally. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-075-mensajes-cortos",
        "name": "Te mando __ / ¿Puedes confirmar?",
        "koreanName": "메시지와 음성노트",
        "anchorSpanish": "Te mando un mensaje de voz y me confirmas si se entiende.",
        "anchorKorean": "음성 메시지를 보낼 테니 이해되는지 확인해 주세요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 76,
      "id": "lesson-d76",
      "moduleId": "m07-integration-and-tests",
      "theme": "Polite disagreement",
      "communicationGoal": {
        "english": "Disagree gently and suggest alternatives.",
        "korean": "Disagree gently and suggest alternatives. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-076-no-estoy-seguro-pero",
        "name": "Entiendo, pero __ / No estoy seguro",
        "koreanName": "부드럽게 반대하기",
        "anchorSpanish": "Entiendo tu punto, pero creo que otra opción es mejor.",
        "anchorKorean": "당신의 의견은 이해하지만 다른 선택지가 더 좋다고 생각해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 77,
      "id": "lesson-d77",
      "moduleId": "m07-integration-and-tests",
      "theme": "Clarifying misunderstandings",
      "communicationGoal": {
        "english": "Repair meaning, pronunciation, and intention.",
        "korean": "Repair meaning, pronunciation, and intention. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-077-queria-decir",
        "name": "Quería decir __ / No fue mi intención",
        "koreanName": "오해 정리",
        "anchorSpanish": "No fue mi intención sonar grosera. Quería decir que necesito más tiempo.",
        "anchorKorean": "무례하게 들리려던 의도는 아니었어요. 시간이 더 필요하다는 뜻이었어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 78,
      "id": "lesson-d78",
      "moduleId": "m07-integration-and-tests",
      "theme": "Mini debate",
      "communicationGoal": {
        "english": "Defend a simple preference with two reasons.",
        "korean": "Defend a simple preference with two reasons. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-078-opinion-dos-razones",
        "name": "Mi opinión es __ por dos razones",
        "koreanName": "두 가지 이유로 의견 말하기",
        "anchorSpanish": "Mi opinión es que practicar con frases es mejor por dos razones.",
        "anchorKorean": "제 의견은 두 가지 이유로 문장으로 연습하는 것이 더 좋다는 것입니다."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 79,
      "id": "lesson-d79",
      "moduleId": "m07-integration-and-tests",
      "theme": "Speaking test 2",
      "communicationGoal": {
        "english": "Complete mixed A1/A2 role-play with feedback mode.",
        "korean": "Complete mixed A1/A2 role-play with feedback mode. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-079-speaking-test-2",
        "name": "Escucha / Responde / Pregunta / Repara",
        "koreanName": "A1/A2 혼합 말하기 시험",
        "anchorSpanish": "Puedo responder, hacer una pregunta y corregirme si me equivoco.",
        "anchorKorean": "대답하고 질문하고 실수하면 스스로 고칠 수 있어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 80,
      "id": "lesson-d80",
      "moduleId": "m07-integration-and-tests",
      "theme": "Reading week",
      "communicationGoal": {
        "english": "Read short practical texts: signs, menus, messages, notices.",
        "korean": "Read short practical texts: signs, menus, messages, notices. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-080-reading-signs",
        "name": "El aviso dice que __",
        "koreanName": "표지판과 안내문 읽기",
        "anchorSpanish": "El aviso dice que la oficina está cerrada hasta el lunes.",
        "anchorKorean": "안내문에는 사무실이 월요일까지 닫혀 있다고 쓰여 있어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 81,
      "id": "lesson-d81",
      "moduleId": "m07-integration-and-tests",
      "theme": "Listening week",
      "communicationGoal": {
        "english": "Understand short announcements and voice messages.",
        "korean": "Understand short announcements and voice messages. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-081-listening-voice",
        "name": "El mensaje dice que __",
        "koreanName": "음성 메시지 이해",
        "anchorSpanish": "El mensaje dice que la reunión cambió a las tres.",
        "anchorKorean": "음성 메시지는 회의가 3시로 바뀌었다고 말해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 82,
      "id": "lesson-d82",
      "moduleId": "m07-integration-and-tests",
      "theme": "Writing week",
      "communicationGoal": {
        "english": "Write practical messages, requests, and short self-introductions.",
        "korean": "Write practical messages, requests, and short self-introductions. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-082-writing-short",
        "name": "Hola __, necesito __. Gracias.",
        "koreanName": "짧은 메시지 쓰기",
        "anchorSpanish": "Hola, necesito cambiar mi cita para mañana. Gracias por su ayuda.",
        "anchorKorean": "안녕하세요, 제 약속을 내일로 바꿔야 합니다. 도와주셔서 감사합니다."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 83,
      "id": "lesson-d83",
      "moduleId": "m07-integration-and-tests",
      "theme": "Conversation week",
      "communicationGoal": {
        "english": "Sustain longer everyday conversations with follow-up questions.",
        "korean": "Sustain longer everyday conversations with follow-up questions. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-083-follow-up",
        "name": "¿Y tú? / Cuéntame más",
        "koreanName": "대화 이어가기",
        "anchorSpanish": "Me gusta cocinar los fines de semana. ¿Y tú? Cuéntame más.",
        "anchorKorean": "저는 주말에 요리하는 것을 좋아해요. 당신은요? 더 이야기해 주세요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 84,
      "id": "lesson-d84",
      "moduleId": "m07-integration-and-tests",
      "theme": "Travel mission",
      "communicationGoal": {
        "english": "Handle a full day of travel situations.",
        "korean": "Handle a full day of travel situations. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-084-travel-mission",
        "name": "Reservo / Viajo / Resuelvo",
        "koreanName": "하루 여행 수행",
        "anchorSpanish": "Reservé un hotel, perdí mi vuelo y necesito cambiar mi boleto.",
        "anchorKorean": "호텔을 예약했고 비행기를 놓쳤고 표를 바꿔야 해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 85,
      "id": "lesson-d85",
      "moduleId": "m07-integration-and-tests",
      "theme": "Social mission",
      "communicationGoal": {
        "english": "Meet people, make plans, and talk about yourself.",
        "korean": "Meet people, make plans, and talk about yourself. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-085-social-mission",
        "name": "Conozco / Invito / Confirmo",
        "koreanName": "사람 만나고 약속 잡기",
        "anchorSpanish": "Conocí a una persona nueva, la invité a un café y confirmé la hora.",
        "anchorKorean": "새로운 사람을 만났고 커피에 초대했고 시간을 확인했어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 20,
        "speakingPrompts": 5,
        "cards": 59
      }
    },
    {
      "day": 86,
      "id": "lesson-d86",
      "moduleId": "m07-integration-and-tests",
      "theme": "Problem mission",
      "communicationGoal": {
        "english": "Solve a lost item, delay, health, or service problem.",
        "korean": "Solve a lost item, delay, health, or service problem. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-086-problem-mission",
        "name": "Perdí __ / No funciona __ / Necesito __",
        "koreanName": "문제 해결 통합",
        "anchorSpanish": "Perdí mi celular, no funciona mi tarjeta y necesito llamar a mi banco.",
        "anchorKorean": "휴대폰을 잃어버렸고 카드가 작동하지 않아서 은행에 전화해야 해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 87,
      "id": "lesson-d87",
      "moduleId": "m07-integration-and-tests",
      "theme": "Personal story mission",
      "communicationGoal": {
        "english": "Tell a short story about your week and goals.",
        "korean": "Tell a short story about your week and goals. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-087-mi-semana",
        "name": "Esta semana __ / Aprendí que __",
        "koreanName": "내 주 이야기",
        "anchorSpanish": "Esta semana practiqué español, hablé con una persona nueva y aprendí que puedo mejorar.",
        "anchorKorean": "이번 주에 스페인어를 연습했고 새로운 사람과 이야기했고 나아질 수 있다는 것을 배웠어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 88,
      "id": "lesson-d88",
      "moduleId": "m07-integration-and-tests",
      "theme": "Final review",
      "communicationGoal": {
        "english": "Recycle high-value words and patterns across all domains.",
        "korean": "Recycle high-value words and patterns across all domains. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-088-final-review",
        "name": "Puedo __ en __ situaciones",
        "koreanName": "최종 기능 복습",
        "anchorSpanish": "Puedo pedir comida, explicar un problema y mantener una conversación sencilla.",
        "anchorKorean": "음식을 주문하고 문제를 설명하고 간단한 대화를 유지할 수 있어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 89,
      "id": "lesson-d89",
      "moduleId": "m07-integration-and-tests",
      "theme": "Final mixed rehearsal",
      "communicationGoal": {
        "english": "Practice one complete day of travel, social, and problem-solving Spanish.",
        "korean": "Practice one complete day of travel, social, and problem-solving Spanish. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-089-final-rehearsal",
        "name": "Viajo / Socializo / Resuelvo",
        "koreanName": "최종 혼합 리허설",
        "anchorSpanish": "Viajo al centro, conozco a una persona y resuelvo un problema con mi boleto.",
        "anchorKorean": "중심가로 이동하고 사람을 만나고 제 표 문제를 해결해요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    },
    {
      "day": 90,
      "id": "lesson-d90",
      "moduleId": "m07-integration-and-tests",
      "theme": "Final speaking test",
      "communicationGoal": {
        "english": "Complete a mixed scenario conversation without coaching.",
        "korean": "Complete a mixed scenario conversation without coaching. 이 목표를 한국어 설명과 말하기 연습으로 연결합니다."
      },
      "grammarPattern": {
        "id": "pat-090-final-speaking-test",
        "name": "Hablo / Escucho / Reparo / Continúo",
        "koreanName": "최종 말하기 시험",
        "anchorSpanish": "Puedo hablar, escuchar, pedir ayuda y continuar la conversación en español.",
        "anchorKorean": "스페인어로 말하고 듣고 도움을 요청하고 대화를 이어갈 수 있어요."
      },
      "pacing": {
        "newContentMinutes": 25,
        "reviewMinutes": 15,
        "readingMinutes": 8,
        "speakingMinutes": 10,
        "reflectionMinutes": 2
      },
      "counts": {
        "vocabulary": 18,
        "sentences": 19,
        "speakingPrompts": 5,
        "cards": 56
      }
    }
  ]
}
