@hebcal/core 3.32.1 → 3.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v3.32.1 */
1
+ /*! @hebcal/core v3.33.0 */
2
2
  /*
3
3
  Hebcal - A Jewish Calendar Generator
4
4
  Copyright (c) 1994-2020 Danny Sadinoff
@@ -617,7 +617,7 @@ const monthNames0 = ['', 'Nisan', 'Iyyar', 'Sivan', 'Tamuz', 'Av', 'Elul', 'Tish
617
617
 
618
618
  const monthNames = [monthNames0.concat(['Adar', 'Nisan']), monthNames0.concat(['Adar I', 'Adar II', 'Nisan'])]; // eslint-disable-next-line require-jsdoc
619
619
 
620
- function throwTypeError$2(msg) {
620
+ function throwTypeError$3(msg) {
621
621
  throw new TypeError(msg);
622
622
  }
623
623
 
@@ -652,7 +652,7 @@ const UNITS_VALID = {
652
652
 
653
653
  /** Represents a Hebrew date */
654
654
 
655
- class HDate$1 {
655
+ class HDate {
656
656
  /**
657
657
  * Create a Hebrew date. There are 3 basic forms for the `HDate()` constructor.
658
658
  *
@@ -721,13 +721,13 @@ class HDate$1 {
721
721
  } // 1 argument
722
722
 
723
723
 
724
- const abs0 = typeof day === 'number' && !isNaN(day) ? day : greg.isDate(day) ? greg.greg2abs(day) : HDate$1.isHDate(day) ? {
724
+ const abs0 = typeof day === 'number' && !isNaN(day) ? day : greg.isDate(day) ? greg.greg2abs(day) : HDate.isHDate(day) ? {
725
725
  dd: day.day,
726
726
  mm: day.month,
727
727
  yy: day.year
728
- } : throwTypeError$2(`HDate called with bad argument: ${day}`);
728
+ } : throwTypeError$3(`HDate called with bad argument: ${day}`);
729
729
  const isNumber = typeof abs0 === 'number';
730
- const d = isNumber ? HDate$1.abs2hebrew(abs0) : abs0;
730
+ const d = isNumber ? HDate.abs2hebrew(abs0) : abs0;
731
731
  /**
732
732
  * @private
733
733
  * @type {number}
@@ -772,7 +772,7 @@ class HDate$1 {
772
772
 
773
773
 
774
774
  isLeapYear() {
775
- return HDate$1.isLeapYear(this.year);
775
+ return HDate.isLeapYear(this.year);
776
776
  }
777
777
  /**
778
778
  * Gets the Hebrew month (1=NISAN, 7=TISHREI) of this Hebrew date
@@ -790,7 +790,7 @@ class HDate$1 {
790
790
 
791
791
 
792
792
  getTishreiMonth() {
793
- const nummonths = HDate$1.monthsInYear(this.getFullYear());
793
+ const nummonths = HDate.monthsInYear(this.getFullYear());
794
794
  return (this.getMonth() + nummonths - 6) % nummonths || nummonths;
795
795
  }
796
796
  /**
@@ -800,7 +800,7 @@ class HDate$1 {
800
800
 
801
801
 
802
802
  daysInMonth() {
803
- return HDate$1.daysInMonth(this.getMonth(), this.getFullYear());
803
+ return HDate.daysInMonth(this.getMonth(), this.getFullYear());
804
804
  }
805
805
  /**
806
806
  * Gets the day within the month (1-30)
@@ -843,7 +843,7 @@ class HDate$1 {
843
843
 
844
844
 
845
845
  setMonth(month) {
846
- this.month = HDate$1.monthNum(month);
846
+ this.month = HDate.monthNum(month);
847
847
  fix(this);
848
848
  return this;
849
849
  }
@@ -879,7 +879,7 @@ class HDate$1 {
879
879
 
880
880
  abs() {
881
881
  if (typeof this.abs0 !== 'number') {
882
- this.abs0 = HDate$1.hebrew2abs(this.year, this.month, this.day);
882
+ this.abs0 = HDate.hebrew2abs(this.year, this.month, this.day);
883
883
  }
884
884
 
885
885
  return this.abs0;
@@ -899,20 +899,20 @@ class HDate$1 {
899
899
  let tempabs = day;
900
900
 
901
901
  if (month < TISHREI$2) {
902
- for (let m = TISHREI$2; m <= HDate$1.monthsInYear(year); m++) {
903
- tempabs += HDate$1.daysInMonth(m, year);
902
+ for (let m = TISHREI$2; m <= HDate.monthsInYear(year); m++) {
903
+ tempabs += HDate.daysInMonth(m, year);
904
904
  }
905
905
 
906
906
  for (let m = NISAN$2; m < month; m++) {
907
- tempabs += HDate$1.daysInMonth(m, year);
907
+ tempabs += HDate.daysInMonth(m, year);
908
908
  }
909
909
  } else {
910
910
  for (let m = TISHREI$2; m < month; m++) {
911
- tempabs += HDate$1.daysInMonth(m, year);
911
+ tempabs += HDate.daysInMonth(m, year);
912
912
  }
913
913
  }
914
914
 
915
- return EPOCH + HDate$1.elapsedDays(year) + tempabs - 1;
915
+ return EPOCH + HDate.elapsedDays(year) + tempabs - 1;
916
916
  }
917
917
  /**
918
918
  * @private
@@ -922,7 +922,7 @@ class HDate$1 {
922
922
 
923
923
 
924
924
  static newYear(year) {
925
- return EPOCH + HDate$1.elapsedDays(year) + HDate$1.newYearDelay(year);
925
+ return EPOCH + HDate.elapsedDays(year) + HDate.newYearDelay(year);
926
926
  }
927
927
  /**
928
928
  * @private
@@ -932,13 +932,13 @@ class HDate$1 {
932
932
 
933
933
 
934
934
  static newYearDelay(year) {
935
- const ny1 = HDate$1.elapsedDays(year);
936
- const ny2 = HDate$1.elapsedDays(year + 1);
935
+ const ny1 = HDate.elapsedDays(year);
936
+ const ny2 = HDate.elapsedDays(year + 1);
937
937
 
938
938
  if (ny2 - ny1 === 356) {
939
939
  return 2;
940
940
  } else {
941
- const ny0 = HDate$1.elapsedDays(year - 1);
941
+ const ny0 = HDate.elapsedDays(year - 1);
942
942
  return ny1 - ny0 === 382 ? 1 : 0;
943
943
  }
944
944
  }
@@ -959,18 +959,18 @@ class HDate$1 {
959
959
 
960
960
  let year = Math.floor((abs - EPOCH) / AVG_HEBYEAR_DAYS);
961
961
 
962
- while (HDate$1.newYear(year) <= abs) {
962
+ while (HDate.newYear(year) <= abs) {
963
963
  ++year;
964
964
  }
965
965
 
966
966
  --year;
967
- let month = abs < HDate$1.hebrew2abs(year, 1, 1) ? 7 : 1;
967
+ let month = abs < HDate.hebrew2abs(year, 1, 1) ? 7 : 1;
968
968
 
969
- while (abs > HDate$1.hebrew2abs(year, month, HDate$1.daysInMonth(month, year))) {
969
+ while (abs > HDate.hebrew2abs(year, month, HDate.daysInMonth(month, year))) {
970
970
  ++month;
971
971
  }
972
972
 
973
- const day = 1 + abs - HDate$1.hebrew2abs(year, month, 1);
973
+ const day = 1 + abs - HDate.hebrew2abs(year, month, 1);
974
974
  return {
975
975
  yy: year,
976
976
  mm: month,
@@ -984,7 +984,7 @@ class HDate$1 {
984
984
 
985
985
 
986
986
  getMonthName() {
987
- return HDate$1.getMonthName(this.getMonth(), this.getFullYear());
987
+ return HDate.getMonthName(this.getMonth(), this.getFullYear());
988
988
  }
989
989
  /**
990
990
  * Renders this Hebrew date as a translated or transliterated string,
@@ -1006,7 +1006,7 @@ class HDate$1 {
1006
1006
  const day = this.getDate();
1007
1007
  const monthName = Locale.gettext(this.getMonthName(), locale0);
1008
1008
  const nth = Locale.ordinal(day, locale0);
1009
- const dayOf = HDate$1.getDayOfTranslation(locale0);
1009
+ const dayOf = HDate.getDayOfTranslation(locale0);
1010
1010
  const dateStr = `${nth}${dayOf} ${monthName}`;
1011
1011
 
1012
1012
  if (showYear) {
@@ -1139,7 +1139,7 @@ class HDate$1 {
1139
1139
 
1140
1140
 
1141
1141
  next() {
1142
- return new HDate$1(this.abs() + 1);
1142
+ return new HDate(this.abs() + 1);
1143
1143
  }
1144
1144
  /**
1145
1145
  * Returns the previous Hebrew date
@@ -1148,7 +1148,7 @@ class HDate$1 {
1148
1148
 
1149
1149
 
1150
1150
  prev() {
1151
- return new HDate$1(this.abs() - 1);
1151
+ return new HDate(this.abs() - 1);
1152
1152
  }
1153
1153
  /**
1154
1154
  * Returns a cloned `HDate` object with a specified amount of time added
@@ -1172,24 +1172,24 @@ class HDate$1 {
1172
1172
  number = parseInt(number, 10);
1173
1173
 
1174
1174
  if (!number) {
1175
- return new HDate$1(this);
1175
+ return new HDate(this);
1176
1176
  }
1177
1177
 
1178
- units = HDate$1.standardizeUnits(units);
1178
+ units = HDate.standardizeUnits(units);
1179
1179
 
1180
1180
  if (units === UNITS_DAY) {
1181
- return new HDate$1(this.abs() + number);
1181
+ return new HDate(this.abs() + number);
1182
1182
  } else if (units === UNITS_WEEK) {
1183
- return new HDate$1(this.abs() + 7 * number);
1183
+ return new HDate(this.abs() + 7 * number);
1184
1184
  } else if (units === UNITS_YEAR) {
1185
- return new HDate$1(this.getDate(), this.getMonth(), this.getFullYear() + number);
1185
+ return new HDate(this.getDate(), this.getMonth(), this.getFullYear() + number);
1186
1186
  } else if (units === UNITS_MONTH) {
1187
- let hd = new HDate$1(this);
1187
+ let hd = new HDate(this);
1188
1188
  const sign = number > 0 ? 1 : -1;
1189
1189
  number = Math.abs(number);
1190
1190
 
1191
1191
  for (let i = 0; i < number; i++) {
1192
- hd = new HDate$1(hd.abs() + sign * hd.daysInMonth());
1192
+ hd = new HDate(hd.abs() + sign * hd.daysInMonth());
1193
1193
  }
1194
1194
 
1195
1195
  return hd;
@@ -1204,7 +1204,7 @@ class HDate$1 {
1204
1204
 
1205
1205
  static standardizeUnits(units) {
1206
1206
  const full = UNITS_SINGLE[units] || String(units || '').toLowerCase().replace(/s$/, '');
1207
- return UNITS_VALID[full] || throwTypeError$2(`Invalid units '${units}'`);
1207
+ return UNITS_VALID[full] || throwTypeError$3(`Invalid units '${units}'`);
1208
1208
  }
1209
1209
  /**
1210
1210
  * Returns a cloned `HDate` object with a specified amount of time subracted
@@ -1253,7 +1253,7 @@ class HDate$1 {
1253
1253
 
1254
1254
 
1255
1255
  deltaDays(other) {
1256
- if (!HDate$1.isHDate(other)) {
1256
+ if (!HDate.isHDate(other)) {
1257
1257
  throw new TypeError(`Bad argument: ${other}`);
1258
1258
  }
1259
1259
 
@@ -1267,7 +1267,7 @@ class HDate$1 {
1267
1267
 
1268
1268
 
1269
1269
  isSameDate(other) {
1270
- if (HDate$1.isHDate(other)) {
1270
+ if (HDate.isHDate(other)) {
1271
1271
  return this.year == other.year && this.month == other.month && this.day == other.day;
1272
1272
  }
1273
1273
 
@@ -1300,7 +1300,7 @@ class HDate$1 {
1300
1300
 
1301
1301
 
1302
1302
  static monthsInYear(year) {
1303
- return 12 + HDate$1.isLeapYear(year); // boolean is cast to 1 or 0
1303
+ return 12 + HDate.isLeapYear(year); // boolean is cast to 1 or 0
1304
1304
  }
1305
1305
  /**
1306
1306
  * Number of days in Hebrew month in a given year (29 or 30)
@@ -1311,7 +1311,7 @@ class HDate$1 {
1311
1311
 
1312
1312
 
1313
1313
  static daysInMonth(month, year) {
1314
- if (month == IYYAR$1 || month == TAMUZ$1 || month == ELUL$2 || month == TEVET$2 || month == ADAR_II$2 || month == ADAR_I$2 && !HDate$1.isLeapYear(year) || month == CHESHVAN$2 && !HDate$1.longCheshvan(year) || month == KISLEV$2 && HDate$1.shortKislev(year)) {
1314
+ if (month == IYYAR$1 || month == TAMUZ$1 || month == ELUL$2 || month == TEVET$2 || month == ADAR_II$2 || month == ADAR_I$2 && !HDate.isLeapYear(year) || month == CHESHVAN$2 && !HDate.longCheshvan(year) || month == KISLEV$2 && HDate.shortKislev(year)) {
1315
1315
  return 29;
1316
1316
  } else {
1317
1317
  return 30;
@@ -1331,7 +1331,7 @@ class HDate$1 {
1331
1331
  throw new TypeError(`bad month argument ${month}`);
1332
1332
  }
1333
1333
 
1334
- return monthNames[+HDate$1.isLeapYear(year)][month];
1334
+ return monthNames[+HDate.isLeapYear(year)][month];
1335
1335
  }
1336
1336
  /**
1337
1337
  * Returns the Hebrew month number (NISAN=1, TISHREI=7)
@@ -1343,7 +1343,7 @@ class HDate$1 {
1343
1343
  static monthNum(month) {
1344
1344
  return typeof month === 'number' ? month : month.charCodeAt(0) >= 48 && month.charCodeAt(0) <= 57 ?
1345
1345
  /* number */
1346
- parseInt(month, 10) : HDate$1.monthFromName(month);
1346
+ parseInt(month, 10) : HDate.monthFromName(month);
1347
1347
  }
1348
1348
  /**
1349
1349
  * Days from sunday prior to start of Hebrew calendar to mean
@@ -1354,7 +1354,7 @@ class HDate$1 {
1354
1354
 
1355
1355
 
1356
1356
  static elapsedDays(year) {
1357
- const elapsed = edCache[year] = edCache[year] || HDate$1.elapsedDays0(year);
1357
+ const elapsed = edCache[year] = edCache[year] || HDate.elapsedDays0(year);
1358
1358
  return elapsed;
1359
1359
  }
1360
1360
  /**
@@ -1376,7 +1376,7 @@ class HDate$1 {
1376
1376
  const hElapsed = 5 + 12 * mElapsed + 793 * Math.floor(mElapsed / 1080) + Math.floor(pElapsed / 1080);
1377
1377
  const parts = pElapsed % 1080 + 1080 * (hElapsed % 24);
1378
1378
  const day = 1 + 29 * mElapsed + Math.floor(hElapsed / 24);
1379
- const altDay = day + (parts >= 19440 || 2 == day % 7 && parts >= 9924 && !HDate$1.isLeapYear(year) || 1 == day % 7 && parts >= 16789 && HDate$1.isLeapYear(prevYear));
1379
+ const altDay = day + (parts >= 19440 || 2 == day % 7 && parts >= 9924 && !HDate.isLeapYear(year) || 1 == day % 7 && parts >= 16789 && HDate.isLeapYear(prevYear));
1380
1380
  return altDay + (altDay % 7 === 0 || altDay % 7 == 3 || altDay % 7 == 5);
1381
1381
  }
1382
1382
  /**
@@ -1387,7 +1387,7 @@ class HDate$1 {
1387
1387
 
1388
1388
 
1389
1389
  static daysInYear(year) {
1390
- return HDate$1.elapsedDays(year + 1) - HDate$1.elapsedDays(year);
1390
+ return HDate.elapsedDays(year + 1) - HDate.elapsedDays(year);
1391
1391
  }
1392
1392
  /**
1393
1393
  * true if Cheshvan is long in Hebrew year
@@ -1397,7 +1397,7 @@ class HDate$1 {
1397
1397
 
1398
1398
 
1399
1399
  static longCheshvan(year) {
1400
- return HDate$1.daysInYear(year) % 10 == 5;
1400
+ return HDate.daysInYear(year) % 10 == 5;
1401
1401
  }
1402
1402
  /**
1403
1403
  * true if Kislev is short in Hebrew year
@@ -1407,7 +1407,7 @@ class HDate$1 {
1407
1407
 
1408
1408
 
1409
1409
  static shortKislev(year) {
1410
- return HDate$1.daysInYear(year) % 10 == 3;
1410
+ return HDate.daysInYear(year) % 10 == 3;
1411
1411
  }
1412
1412
  /**
1413
1413
  * Converts Hebrew month string name to numeric
@@ -1596,17 +1596,17 @@ function fixDate(date) {
1596
1596
  date.year -= 1;
1597
1597
  }
1598
1598
 
1599
- date.day += HDate$1.daysInMonth(date.month, date.year);
1599
+ date.day += HDate.daysInMonth(date.month, date.year);
1600
1600
  date.month -= 1;
1601
1601
  fix(date);
1602
1602
  }
1603
1603
 
1604
- if (date.day > HDate$1.daysInMonth(date.month, date.year)) {
1604
+ if (date.day > HDate.daysInMonth(date.month, date.year)) {
1605
1605
  if (date.month == ELUL$2) {
1606
1606
  date.year += 1;
1607
1607
  }
1608
1608
 
1609
- date.day -= HDate$1.daysInMonth(date.month, date.year);
1609
+ date.day -= HDate.daysInMonth(date.month, date.year);
1610
1610
  date.month += 1;
1611
1611
  fix(date);
1612
1612
  }
@@ -1625,11 +1625,11 @@ function fixMonth(date) {
1625
1625
 
1626
1626
  fix(date);
1627
1627
  } else if (date.month < 1) {
1628
- date.month += HDate$1.monthsInYear(date.year);
1628
+ date.month += HDate.monthsInYear(date.year);
1629
1629
  date.year -= 1;
1630
1630
  fix(date);
1631
- } else if (date.month > HDate$1.monthsInYear(date.year)) {
1632
- date.month -= HDate$1.monthsInYear(date.year);
1631
+ } else if (date.month > HDate.monthsInYear(date.year)) {
1632
+ date.month -= HDate.monthsInYear(date.year);
1633
1633
  date.year += 1;
1634
1634
  fix(date);
1635
1635
  }
@@ -1646,7 +1646,7 @@ function fixMonth(date) {
1646
1646
 
1647
1647
 
1648
1648
  function onOrBefore(day, t, offset) {
1649
- return new HDate$1(HDate$1.dayOnOrBefore(day, t.abs() + offset));
1649
+ return new HDate(HDate.dayOnOrBefore(day, t.abs() + offset));
1650
1650
  }
1651
1651
 
1652
1652
  const CHAG$1 = 0x000001;
@@ -1673,6 +1673,7 @@ const HEBREW_DATE = 0x040000;
1673
1673
  const MINOR_HOLIDAY$2 = 0x080000;
1674
1674
  const EREV$2 = 0x100000;
1675
1675
  const CHOL_HAMOED$2 = 0x200000;
1676
+ const MISHNA_YOMI = 0x400000;
1676
1677
  /**
1677
1678
  * Holiday flags for Event
1678
1679
  * @readonly
@@ -1744,7 +1745,10 @@ const flags = {
1744
1745
  EREV: EREV$2,
1745
1746
 
1746
1747
  /** Chol haMoed, intermediate days of Pesach or Sukkot */
1747
- CHOL_HAMOED: CHOL_HAMOED$2
1748
+ CHOL_HAMOED: CHOL_HAMOED$2,
1749
+
1750
+ /** Mishna Yomi */
1751
+ MISHNA_YOMI
1748
1752
  };
1749
1753
  /** Represents an Event with a title, date, and flags */
1750
1754
 
@@ -2296,7 +2300,7 @@ function pad4(number) {
2296
2300
  return String(number);
2297
2301
  }
2298
2302
 
2299
- function throwTypeError$1(error) {
2303
+ function throwTypeError$2(error) {
2300
2304
  throw new TypeError(error);
2301
2305
  }
2302
2306
  /**
@@ -2357,7 +2361,7 @@ class Zmanim {
2357
2361
  throw new RangeError(`Longitude ${longitude} out of range [-180,180]`);
2358
2362
  }
2359
2363
 
2360
- const dt = greg.isDate(date) ? date : HDate$1.isHDate(date) ? date.greg() : throwTypeError$1(`invalid date: ${date}`);
2364
+ const dt = greg.isDate(date) ? date : HDate.isHDate(date) ? date.greg() : throwTypeError$2(`invalid date: ${date}`);
2361
2365
  this.date = dt;
2362
2366
  this.sun = new Sun_1(this.date, latitude, longitude);
2363
2367
  this.latitude = latitude;
@@ -3277,7 +3281,7 @@ class Molad {
3277
3281
  let m_adj = month - 7;
3278
3282
 
3279
3283
  if (m_adj < 0) {
3280
- m_adj += HDate$1.monthsInYear(year);
3284
+ m_adj += HDate.monthsInYear(year);
3281
3285
  }
3282
3286
 
3283
3287
  const m_elapsed = 235 * Math.floor((year - 1) / 19) + // Months in complete 19 year lunar (Metonic) cycles so far
@@ -3320,7 +3324,7 @@ class Molad {
3320
3324
 
3321
3325
 
3322
3326
  getMonthName() {
3323
- return HDate$1.getMonthName(this.month, this.year);
3327
+ return HDate.getMonthName(this.month, this.year);
3324
3328
  }
3325
3329
  /**
3326
3330
  * @return {number} Day of Week (0=Sunday, 6=Saturday)
@@ -3501,18 +3505,23 @@ const shas = [['Berachot', 64], ['Shabbat', 157], ['Eruvin', 105], ['Pesachim',
3501
3505
  name: m[0],
3502
3506
  blatt: m[1]
3503
3507
  };
3504
- });
3508
+ }); // eslint-disable-next-line require-jsdoc
3509
+
3510
+ function throwTypeError$1(msg) {
3511
+ throw new TypeError(msg);
3512
+ }
3505
3513
  /**
3506
3514
  * Returns the Daf Yomi for given date
3507
3515
  */
3508
3516
 
3517
+
3509
3518
  class DafYomi {
3510
3519
  /**
3511
3520
  * Initializes a daf yomi instance
3512
- * @param {Date} gregdate Gregorian date
3521
+ * @param {Date|HDate|number} gregdate Gregorian date
3513
3522
  */
3514
3523
  constructor(gregdate) {
3515
- const cday = typeof gregdate === 'number' && !isNaN(gregdate) ? gregdate : greg.isDate(gregdate) ? greg.greg2abs(gregdate) : HDate.isHDate(gregdate) ? gregdate.abs() : throwTypeError(`non-date given to dafyomi: ${gregdate}`);
3524
+ const cday = typeof gregdate === 'number' && !isNaN(gregdate) ? gregdate : greg.isDate(gregdate) ? greg.greg2abs(gregdate) : HDate.isHDate(gregdate) ? gregdate.abs() : throwTypeError$1(`non-date given to dafyomi: ${gregdate}`);
3516
3525
 
3517
3526
  if (cday < osday) {
3518
3527
  throw new RangeError(`Date ${gregdate} too early; Daf Yomi cycle began on ${osdate}`);
@@ -3704,16 +3713,16 @@ class Sedra {
3704
3713
  constructor(hebYr, il) {
3705
3714
  // the Hebrew year
3706
3715
  hebYr = +hebYr;
3707
- const longC = HDate$1.longCheshvan(hebYr);
3708
- const shortK = HDate$1.shortKislev(hebYr);
3716
+ const longC = HDate.longCheshvan(hebYr);
3717
+ const shortK = HDate.shortKislev(hebYr);
3709
3718
  const type = this.type = longC && !shortK ? COMPLETE : !longC && shortK ? INCOMPLETE : REGULAR;
3710
3719
  this.year = hebYr;
3711
- const rh0 = new HDate$1(1, months.TISHREI, hebYr);
3720
+ const rh0 = new HDate(1, months.TISHREI, hebYr);
3712
3721
  const rh = rh0.abs();
3713
3722
  const rhDay = this.roshHashanaDay = rh0.getDay() + 1; // find the first Saturday on or after Rosh Hashana
3714
3723
 
3715
- this.firstSaturday = HDate$1.dayOnOrBefore(6, rh + 6);
3716
- const leap = this.leap = +HDate$1.isLeapYear(hebYr);
3724
+ this.firstSaturday = HDate.dayOnOrBefore(6, rh + 6);
3725
+ const leap = this.leap = +HDate.isLeapYear(hebYr);
3717
3726
  this.il = Boolean(il);
3718
3727
  const key = `${leap}${rhDay}${type}`;
3719
3728
 
@@ -3790,7 +3799,7 @@ class Sedra {
3790
3799
  return null; // doesn't occur this year
3791
3800
  }
3792
3801
 
3793
- return new HDate$1(this.firstSaturday + idx * 7);
3802
+ return new HDate(this.firstSaturday + idx * 7);
3794
3803
  } else if (typeof parsha === 'string') {
3795
3804
  const num = parsha2id[parsha];
3796
3805
 
@@ -3806,7 +3815,7 @@ class Sedra {
3806
3815
  return null; // doesn't occur this year
3807
3816
  }
3808
3817
 
3809
- return new HDate$1(this.firstSaturday + idx * 7);
3818
+ return new HDate(this.firstSaturday + idx * 7);
3810
3819
  }
3811
3820
  } else if (Array.isArray(parsha) && parsha.length === 1 && typeof parsha[0] === 'string') {
3812
3821
  return this.find(parsha[0]);
@@ -3857,9 +3866,9 @@ class Sedra {
3857
3866
 
3858
3867
 
3859
3868
  lookup(hDate) {
3860
- const absDate = typeof hDate === 'number' ? hDate : HDate$1.isHDate(hDate) ? hDate.abs() : throwError(`Bad date argument: ${hDate}`); // find the first saturday on or after today's date
3869
+ const absDate = typeof hDate === 'number' ? hDate : HDate.isHDate(hDate) ? hDate.abs() : throwError(`Bad date argument: ${hDate}`); // find the first saturday on or after today's date
3861
3870
 
3862
- const saturday = HDate$1.dayOnOrBefore(6, absDate + 6);
3871
+ const saturday = HDate.dayOnOrBefore(6, absDate + 6);
3863
3872
  const weekNum = (saturday - this.firstSaturday) / 7;
3864
3873
  const index = this.theSedraArray[weekNum];
3865
3874
 
@@ -4315,7 +4324,7 @@ class MevarchimChodeshEvent extends Event {
4315
4324
  this.monthName = monthName;
4316
4325
  const hyear = date.getFullYear();
4317
4326
  const hmonth = date.getMonth();
4318
- const monNext = hmonth == HDate$1.monthsInYear(hyear) ? months.NISAN : hmonth + 1;
4327
+ const monNext = hmonth == HDate.monthsInYear(hyear) ? months.NISAN : hmonth + 1;
4319
4328
  const molad = new MoladEvent(date, hyear, monNext);
4320
4329
  this.memo = molad.render();
4321
4330
  }
@@ -4479,8 +4488,8 @@ function getHolidaysForYear(year) {
4479
4488
  return cached;
4480
4489
  }
4481
4490
 
4482
- const RH = new HDate$1(1, TISHREI$1, year);
4483
- const pesach = new HDate$1(15, NISAN$1, year);
4491
+ const RH = new HDate(1, TISHREI$1, year);
4492
+ const pesach = new HDate(15, NISAN$1, year);
4484
4493
  const h = new SimpleMap(); // eslint-disable-next-line require-jsdoc
4485
4494
 
4486
4495
  function add(...events) {
@@ -4504,7 +4513,7 @@ function getHolidaysForYear(year) {
4504
4513
 
4505
4514
  function addEvents(year, arr) {
4506
4515
  arr.forEach(a => {
4507
- add(new HolidayEvent(new HDate$1(a[0], a[1], year), a[2], a[3], a[4]));
4516
+ add(new HolidayEvent(new HDate(a[0], a[1], year), a[2], a[3], a[4]));
4508
4517
  });
4509
4518
  } // standard holidays that don't shift based on year
4510
4519
 
@@ -4516,7 +4525,7 @@ function getHolidaysForYear(year) {
4516
4525
  emoji: '📖✍️'
4517
4526
  }]]); // first SAT after RH
4518
4527
 
4519
- add(new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, 7 + RH.abs())), 'Shabbat Shuva', SPECIAL_SHABBAT$1));
4528
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, 7 + RH.abs())), 'Shabbat Shuva', SPECIAL_SHABBAT$1));
4520
4529
  addEvents(year, [[10, TISHREI$1, 'Yom Kippur', CHAG | YOM_TOV_ENDS$1 | MAJOR_FAST$1, {
4521
4530
  emoji: '📖✍️'
4522
4531
  }], [14, TISHREI$1, 'Erev Sukkot', EREV$1 | LIGHT_CANDLES$1], // Attributes for Israel and Diaspora are different
@@ -4542,37 +4551,37 @@ function getHolidaysForYear(year) {
4542
4551
  cholHaMoedDay: -1
4543
4552
  }], [22, TISHREI$1, 'Shmini Atzeret', CHAG | LIGHT_CANDLES_TZEIS$1 | CHUL_ONLY$1], // [22, TISHREI, "Shmini Atzeret / Simchat Torah", YOM_TOV_ENDS | IL_ONLY],
4544
4553
  [22, TISHREI$1, 'Shmini Atzeret', CHAG | YOM_TOV_ENDS$1 | IL_ONLY$1], [23, TISHREI$1, 'Simchat Torah', CHAG | YOM_TOV_ENDS$1 | CHUL_ONLY$1]]);
4545
- add(new HolidayEvent(new HDate$1(24, KISLEV$1, year), 'Chanukah: 1 Candle', EREV$1 | MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
4554
+ add(new HolidayEvent(new HDate(24, KISLEV$1, year), 'Chanukah: 1 Candle', EREV$1 | MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
4546
4555
  emoji: chanukahEmoji + KEYCAP_DIGITS[1]
4547
4556
  })); // yes, we know Kislev 30-32 are wrong
4548
4557
  // HDate() corrects the month automatically
4549
4558
 
4550
4559
  for (let candles = 2; candles <= 8; candles++) {
4551
- const hd = new HDate$1(23 + candles, KISLEV$1, year);
4560
+ const hd = new HDate(23 + candles, KISLEV$1, year);
4552
4561
  add(new HolidayEvent(hd, `Chanukah: ${candles} Candles`, MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
4553
4562
  chanukahDay: candles - 1,
4554
4563
  emoji: chanukahEmoji + KEYCAP_DIGITS[candles]
4555
4564
  }));
4556
4565
  }
4557
4566
 
4558
- add(new HolidayEvent(new HDate$1(32, KISLEV$1, year), 'Chanukah: 8th Day', MINOR_HOLIDAY$1, {
4567
+ add(new HolidayEvent(new HDate(32, KISLEV$1, year), 'Chanukah: 8th Day', MINOR_HOLIDAY$1, {
4559
4568
  chanukahDay: 8,
4560
4569
  emoji: chanukahEmoji
4561
4570
  }));
4562
- add(new AsaraBTevetEvent(new HDate$1(10, TEVET$1, year), 'Asara B\'Tevet', MINOR_FAST$1), new HolidayEvent(new HDate$1(15, SHVAT$1, year), 'Tu BiShvat', MINOR_HOLIDAY$1, {
4571
+ add(new AsaraBTevetEvent(new HDate(10, TEVET$1, year), 'Asara B\'Tevet', MINOR_FAST$1), new HolidayEvent(new HDate(15, SHVAT$1, year), 'Tu BiShvat', MINOR_HOLIDAY$1, {
4563
4572
  emoji: '🌳'
4564
4573
  }));
4565
4574
  const pesachAbs = pesach.abs();
4566
- add(new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, pesachAbs - 43)), 'Shabbat Shekalim', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, pesachAbs - 30)), 'Shabbat Zachor', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate$1(pesachAbs - (pesach.getDay() == TUE ? 33 : 31)), 'Ta\'anit Esther', MINOR_FAST$1));
4575
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 43)), 'Shabbat Shekalim', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 30)), 'Shabbat Zachor', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(pesachAbs - (pesach.getDay() == TUE ? 33 : 31)), 'Ta\'anit Esther', MINOR_FAST$1));
4567
4576
  addEvents(year, [[13, ADAR_II$1, 'Erev Purim', EREV$1 | MINOR_HOLIDAY$1, {
4568
4577
  emoji: '🎭️📜'
4569
4578
  }], [14, ADAR_II$1, 'Purim', MINOR_HOLIDAY$1, {
4570
4579
  emoji: '🎭️📜'
4571
4580
  }]]);
4572
- add(new HolidayEvent(new HDate$1(pesachAbs - (pesach.getDay() == SUN ? 28 : 29)), 'Shushan Purim', MINOR_HOLIDAY$1, {
4581
+ add(new HolidayEvent(new HDate(pesachAbs - (pesach.getDay() == SUN ? 28 : 29)), 'Shushan Purim', MINOR_HOLIDAY$1, {
4573
4582
  emoji: '🎭️📜'
4574
- }), new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, pesachAbs - 14) - 7), 'Shabbat Parah', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, pesachAbs - 14)), 'Shabbat HaChodesh', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, pesachAbs - 1)), 'Shabbat HaGadol', SPECIAL_SHABBAT$1), new HolidayEvent( // if the fast falls on Shabbat, move to Thursday
4575
- pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate$1(14, NISAN$1, year), 'Ta\'anit Bechorot', MINOR_FAST$1));
4583
+ }), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 14) - 7), 'Shabbat Parah', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 14)), 'Shabbat HaChodesh', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 1)), 'Shabbat HaGadol', SPECIAL_SHABBAT$1), new HolidayEvent( // if the fast falls on Shabbat, move to Thursday
4584
+ pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate(14, NISAN$1, year), 'Ta\'anit Bechorot', MINOR_FAST$1));
4576
4585
  addEvents(year, [[14, NISAN$1, 'Erev Pesach', EREV$1 | LIGHT_CANDLES$1], // Attributes for Israel and Diaspora are different
4577
4586
  [15, NISAN$1, 'Pesach I', CHAG | YOM_TOV_ENDS$1 | IL_ONLY$1], [16, NISAN$1, 'Pesach II (CH\'\'M)', IL_ONLY$1 | CHOL_HAMOED$1, {
4578
4587
  cholHaMoedDay: 1
@@ -4607,22 +4616,22 @@ function getHolidaysForYear(year) {
4607
4616
  }], [1, ELUL$1, 'Rosh Hashana LaBehemot', MINOR_HOLIDAY$1, {
4608
4617
  emoji: '🐑'
4609
4618
  }]]);
4610
- add(new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, new HDate$1(1, TISHREI$1, year + 1).abs() - 4)), 'Leil Selichot', MINOR_HOLIDAY$1, {
4619
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, new HDate(1, TISHREI$1, year + 1).abs() - 4)), 'Leil Selichot', MINOR_HOLIDAY$1, {
4611
4620
  emoji: '🕍'
4612
4621
  }));
4613
- add(new HolidayEvent(new HDate$1(29, ELUL$1, year), 'Erev Rosh Hashana', EREV$1 | LIGHT_CANDLES$1, {
4622
+ add(new HolidayEvent(new HDate(29, ELUL$1, year), 'Erev Rosh Hashana', EREV$1 | LIGHT_CANDLES$1, {
4614
4623
  emoji: '🍏🍯'
4615
4624
  }));
4616
4625
 
4617
- if (HDate$1.isLeapYear(year)) {
4618
- add(new HolidayEvent(new HDate$1(14, ADAR_I$1, year), 'Purim Katan', MINOR_HOLIDAY$1, {
4626
+ if (HDate.isLeapYear(year)) {
4627
+ add(new HolidayEvent(new HDate(14, ADAR_I$1, year), 'Purim Katan', MINOR_HOLIDAY$1, {
4619
4628
  emoji: '🎭️'
4620
4629
  }));
4621
4630
  }
4622
4631
 
4623
4632
  if (year >= 5711) {
4624
4633
  // Yom HaShoah first observed in 1951
4625
- let nisan27dt = new HDate$1(27, NISAN$1, year);
4634
+ let nisan27dt = new HDate(27, NISAN$1, year);
4626
4635
  /* When the actual date of Yom Hashoah falls on a Friday, the
4627
4636
  * state of Israel observes Yom Hashoah on the preceding
4628
4637
  * Thursday. When it falls on a Sunday, Yom Hashoah is observed
@@ -4631,9 +4640,9 @@ function getHolidaysForYear(year) {
4631
4640
  */
4632
4641
 
4633
4642
  if (nisan27dt.getDay() == FRI$1) {
4634
- nisan27dt = new HDate$1(26, NISAN$1, year);
4643
+ nisan27dt = new HDate(26, NISAN$1, year);
4635
4644
  } else if (nisan27dt.getDay() == SUN) {
4636
- nisan27dt = new HDate$1(28, NISAN$1, year);
4645
+ nisan27dt = new HDate(28, NISAN$1, year);
4637
4646
  }
4638
4647
 
4639
4648
  add(new HolidayEvent(nisan27dt, 'Yom HaShoah', MODERN_HOLIDAY$1));
@@ -4655,34 +4664,34 @@ function getHolidaysForYear(year) {
4655
4664
  day = 4;
4656
4665
  }
4657
4666
 
4658
- add(new HolidayEvent(new HDate$1(day, IYYAR, year), 'Yom HaZikaron', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(new HDate$1(day + 1, IYYAR, year), 'Yom HaAtzma\'ut', MODERN_HOLIDAY$1, emojiIsraelFlag));
4667
+ add(new HolidayEvent(new HDate(day, IYYAR, year), 'Yom HaZikaron', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(new HDate(day + 1, IYYAR, year), 'Yom HaAtzma\'ut', MODERN_HOLIDAY$1, emojiIsraelFlag));
4659
4668
  }
4660
4669
 
4661
4670
  if (year >= 5727) {
4662
4671
  // Yom Yerushalayim only celebrated after 1967
4663
- add(new HolidayEvent(new HDate$1(28, IYYAR, year), 'Yom Yerushalayim', MODERN_HOLIDAY$1, emojiIsraelFlag));
4672
+ add(new HolidayEvent(new HDate(28, IYYAR, year), 'Yom Yerushalayim', MODERN_HOLIDAY$1, emojiIsraelFlag));
4664
4673
  }
4665
4674
 
4666
4675
  if (year >= 5769) {
4667
- add(new HolidayEvent(new HDate$1(29, CHESHVAN$1, year), 'Sigd', MODERN_HOLIDAY$1));
4676
+ add(new HolidayEvent(new HDate(29, CHESHVAN$1, year), 'Sigd', MODERN_HOLIDAY$1));
4668
4677
  }
4669
4678
 
4670
4679
  if (year >= 5777) {
4671
- add(new HolidayEvent(new HDate$1(7, CHESHVAN$1, year), 'Yom HaAliyah School Observance', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(new HDate$1(10, NISAN$1, year), 'Yom HaAliyah', MODERN_HOLIDAY$1, emojiIsraelFlag));
4680
+ add(new HolidayEvent(new HDate(7, CHESHVAN$1, year), 'Yom HaAliyah School Observance', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(new HDate(10, NISAN$1, year), 'Yom HaAliyah', MODERN_HOLIDAY$1, emojiIsraelFlag));
4672
4681
  }
4673
4682
 
4674
- let tamuz17 = new HDate$1(17, TAMUZ, year);
4683
+ let tamuz17 = new HDate(17, TAMUZ, year);
4675
4684
  let tamuz17attrs;
4676
4685
 
4677
4686
  if (tamuz17.getDay() == SAT$1) {
4678
- tamuz17 = new HDate$1(18, TAMUZ, year);
4687
+ tamuz17 = new HDate(18, TAMUZ, year);
4679
4688
  tamuz17attrs = {
4680
4689
  observed: true
4681
4690
  };
4682
4691
  }
4683
4692
 
4684
4693
  add(new HolidayEvent(tamuz17, 'Tzom Tammuz', MINOR_FAST$1, tamuz17attrs));
4685
- let av9dt = new HDate$1(9, AV, year);
4694
+ let av9dt = new HDate(9, AV, year);
4686
4695
  let av9title = 'Tish\'a B\'Av';
4687
4696
  let av9attrs;
4688
4697
 
@@ -4695,17 +4704,17 @@ function getHolidaysForYear(year) {
4695
4704
  }
4696
4705
 
4697
4706
  const av9abs = av9dt.abs();
4698
- add(new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, av9abs)), 'Shabbat Chazon', SPECIAL_SHABBAT$1), new HolidayEvent(av9dt.prev(), 'Erev Tish\'a B\'Av', EREV$1 | MAJOR_FAST$1, av9attrs), new HolidayEvent(av9dt, av9title, MAJOR_FAST$1, av9attrs), new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, av9abs + 7)), 'Shabbat Nachamu', SPECIAL_SHABBAT$1));
4699
- const monthsInYear = HDate$1.monthsInYear(year);
4707
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, av9abs)), 'Shabbat Chazon', SPECIAL_SHABBAT$1), new HolidayEvent(av9dt.prev(), 'Erev Tish\'a B\'Av', EREV$1 | MAJOR_FAST$1, av9attrs), new HolidayEvent(av9dt, av9title, MAJOR_FAST$1, av9attrs), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, av9abs + 7)), 'Shabbat Nachamu', SPECIAL_SHABBAT$1));
4708
+ const monthsInYear = HDate.monthsInYear(year);
4700
4709
 
4701
4710
  for (let month = 1; month <= monthsInYear; month++) {
4702
- const monthName = HDate$1.getMonthName(month, year);
4711
+ const monthName = HDate.getMonthName(month, year);
4703
4712
 
4704
- if ((month == NISAN$1 ? HDate$1.daysInMonth(HDate$1.monthsInYear(year - 1), year - 1) : HDate$1.daysInMonth(month - 1, year)) == 30) {
4705
- add(new RoshChodeshEvent(new HDate$1(1, month, year), monthName));
4706
- add(new RoshChodeshEvent(new HDate$1(30, month - 1, year), monthName));
4713
+ if ((month == NISAN$1 ? HDate.daysInMonth(HDate.monthsInYear(year - 1), year - 1) : HDate.daysInMonth(month - 1, year)) == 30) {
4714
+ add(new RoshChodeshEvent(new HDate(1, month, year), monthName));
4715
+ add(new RoshChodeshEvent(new HDate(30, month - 1, year), monthName));
4707
4716
  } else if (month !== TISHREI$1) {
4708
- add(new RoshChodeshEvent(new HDate$1(1, month, year), monthName));
4717
+ add(new RoshChodeshEvent(new HDate(1, month, year), monthName));
4709
4718
  }
4710
4719
 
4711
4720
  if (month == ELUL$1) {
@@ -4713,8 +4722,8 @@ function getHolidaysForYear(year) {
4713
4722
  } // Don't worry about month overrun; will get "Nisan" for month=14
4714
4723
 
4715
4724
 
4716
- const nextMonthName = HDate$1.getMonthName(month + 1, year);
4717
- add(new MevarchimChodeshEvent(new HDate$1(29, month, year).onOrBefore(SAT$1), nextMonthName));
4725
+ const nextMonthName = HDate.getMonthName(month + 1, year);
4726
+ add(new MevarchimChodeshEvent(new HDate(29, month, year).onOrBefore(SAT$1), nextMonthName));
4718
4727
  }
4719
4728
 
4720
4729
  const sedra = getSedra(year, false);
@@ -4724,14 +4733,14 @@ function getHolidaysForYear(year) {
4724
4733
  return h;
4725
4734
  }
4726
4735
 
4727
- var version="3.32.1";
4736
+ var version="3.33.0";
4728
4737
 
4729
- var headers$1={"plural-forms":"nplurals=2; plural=(n > 1);",language:"en_CA@ashkenazi"};var contexts$1={"":{Berachot:["Berachos"],Shabbat:["Shabbos"],Taanit:["Taanis"],Yevamot:["Yevamos"],Ketubot:["Kesubos"],"Baba Batra":["Baba Basra"],Makkot:["Makkos"],Shevuot:["Shevuos"],Horayot:["Horayos"],Menachot:["Menachos"],Bechorot:["Bechoros"],Keritot:["Kerisos"],Midot:["Midos"],"Achrei Mot":["Achrei Mos"],Bechukotai:["Bechukosai"],"Beha'alotcha":["Beha'aloscha"],Bereshit:["Bereshis"],Chukat:["Chukas"],"Erev Shavuot":["Erev Shavuos"],"Erev Sukkot":["Erev Sukkos"],"Ki Tavo":["Ki Savo"],"Ki Teitzei":["Ki Seitzei"],"Ki Tisa":["Ki Sisa"],Matot:["Matos"],"Purim Katan":["Purim Koton"],Tazria:["Sazria"],"Shabbat Chazon":["Shabbos Chazon"],"Shabbat HaChodesh":["Shabbos HaChodesh"],"Shabbat HaGadol":["Shabbos HaGadol"],"Shabbat Nachamu":["Shabbos Nachamu"],"Shabbat Parah":["Shabbos Parah"],"Shabbat Shekalim":["Shabbos Shekalim"],"Shabbat Shuva":["Shabbos Shuvah"],"Shabbat Zachor":["Shabbos Zachor"],Shavuot:["Shavuos"],"Shavuot I":["Shavuos I"],"Shavuot II":["Shavuos II"],Shemot:["Shemos"],"Shmini Atzeret":["Shmini Atzeres"],"Simchat Torah":["Simchas Torah"],Sukkot:["Sukkos"],"Sukkot I":["Sukkos I"],"Sukkot II":["Sukkos II"],"Sukkot II (CH''M)":["Sukkos II (CH''M)"],"Sukkot III (CH''M)":["Sukkos III (CH''M)"],"Sukkot IV (CH''M)":["Sukkos IV (CH''M)"],"Sukkot V (CH''M)":["Sukkos V (CH''M)"],"Sukkot VI (CH''M)":["Sukkos VI (CH''M)"],"Sukkot VII (Hoshana Raba)":["Sukkos VII (Hoshana Raba)"],"Ta'anit Bechorot":["Ta'anis Bechoros"],"Ta'anit Esther":["Ta'anis Esther"],Toldot:["Toldos"],Vaetchanan:["Vaeschanan"],Yitro:["Yisro"],"Vezot Haberakhah":["Vezos Haberakhah"],Parashat:["Parshas"],"Leil Selichot":["Leil Selichos"],"Shabbat Mevarchim Chodesh":["Shabbos Mevorchim Chodesh"],"Shabbat Shirah":["Shabbos Shirah"],Tevet:["Teves"],"Asara B'Tevet":["Asara B'Teves"]}};var poAshkenazi = {headers:headers$1,contexts:contexts$1};
4738
+ var headers$1={"plural-forms":"nplurals=2; plural=(n > 1);",language:"en_CA@ashkenazi"};var contexts$1={"":{Berachot:["Berachos"],Shabbat:["Shabbos"],Taanit:["Taanis"],Yevamot:["Yevamos"],Ketubot:["Kesubos"],"Baba Batra":["Baba Basra"],Makkot:["Makkos"],Shevuot:["Shevuos"],Horayot:["Horayos"],Menachot:["Menachos"],Bechorot:["Bechoros"],Keritot:["Kerisos"],Midot:["Midos"],"Achrei Mot":["Achrei Mos"],Bechukotai:["Bechukosai"],"Beha'alotcha":["Beha'aloscha"],Bereshit:["Bereshis"],Chukat:["Chukas"],"Erev Shavuot":["Erev Shavuos"],"Erev Sukkot":["Erev Sukkos"],"Ki Tavo":["Ki Savo"],"Ki Teitzei":["Ki Seitzei"],"Ki Tisa":["Ki Sisa"],Matot:["Matos"],"Purim Katan":["Purim Koton"],Tazria:["Sazria"],"Shabbat Chazon":["Shabbos Chazon"],"Shabbat HaChodesh":["Shabbos HaChodesh"],"Shabbat HaGadol":["Shabbos HaGadol"],"Shabbat Nachamu":["Shabbos Nachamu"],"Shabbat Parah":["Shabbos Parah"],"Shabbat Shekalim":["Shabbos Shekalim"],"Shabbat Shuva":["Shabbos Shuvah"],"Shabbat Zachor":["Shabbos Zachor"],Shavuot:["Shavuos"],"Shavuot I":["Shavuos I"],"Shavuot II":["Shavuos II"],Shemot:["Shemos"],"Shmini Atzeret":["Shmini Atzeres"],"Simchat Torah":["Simchas Torah"],Sukkot:["Sukkos"],"Sukkot I":["Sukkos I"],"Sukkot II":["Sukkos II"],"Sukkot II (CH''M)":["Sukkos II (CH''M)"],"Sukkot III (CH''M)":["Sukkos III (CH''M)"],"Sukkot IV (CH''M)":["Sukkos IV (CH''M)"],"Sukkot V (CH''M)":["Sukkos V (CH''M)"],"Sukkot VI (CH''M)":["Sukkos VI (CH''M)"],"Sukkot VII (Hoshana Raba)":["Sukkos VII (Hoshana Raba)"],"Ta'anit Bechorot":["Ta'anis Bechoros"],"Ta'anit Esther":["Ta'anis Esther"],Toldot:["Toldos"],Vaetchanan:["Vaeschanan"],Yitro:["Yisro"],"Vezot Haberakhah":["Vezos Haberakhah"],Parashat:["Parshas"],"Leil Selichot":["Leil Selichos"],"Shabbat Mevarchim Chodesh":["Shabbos Mevorchim Chodesh"],"Shabbat Shirah":["Shabbos Shirah"],Tevet:["Teves"],"Asara B'Tevet":["Asara B'Teves"],Berakhot:["Berakhos"],Sheviit:["Sheviis"],Terumot:["Terumos"],Maasrot:["Maasros"],Eduyot:["Eduyos"],Avot:["Avos"],Bekhorot:["Bekhoros"],Middot:["Middos"],Oholot:["Oholos"],Tahorot:["Tahoros"],Mikvaot:["Mikvaos"]}};var poAshkenazi = {headers:headers$1,contexts:contexts$1};
4730
4739
 
4731
4740
  Locale.addLocale('ashkenazi', poAshkenazi);
4732
4741
  Locale.addLocale('a', poAshkenazi);
4733
4742
 
4734
- var headers={"plural-forms":"nplurals=2; plural=(n > 1);",language:"he_IL"};var contexts={"":{Berachot:["ברכות"],Shabbat:["שַׁבָּת"],Eruvin:["עירובין"],Pesachim:["פסחים"],Shekalim:["שקלים"],Yoma:["יומא"],Sukkah:["סוכה"],Beitzah:["ביצה"],Taanit:["תענית"],Megillah:["מגילה"],"Moed Katan":["מועד קטן"],Chagigah:["חגיגה"],Yevamot:["יבמות"],Ketubot:["כתובות"],Nedarim:["נדרים"],Nazir:["נזיר"],Sotah:["סוטה"],Gitin:["גיטין"],Kiddushin:["קידושין"],"Baba Kamma":["בבא קמא"],"Baba Metzia":["בבא מציעא"],"Baba Batra":["בבא בתרא"],Sanhedrin:["סנהדרין"],Makkot:["מכות"],Shevuot:["שבועות"],"Avodah Zarah":["עבודה זרה"],Horayot:["הוריות"],Zevachim:["זבחים"],Menachot:["מנחות"],Chullin:["חולין"],Bechorot:["בכורות"],Arachin:["ערכין"],Temurah:["תמורה"],Keritot:["כריתות"],Meilah:["מעילה"],Kinnim:["קינים"],Tamid:["תמיד"],Midot:["מדות"],Niddah:["נדה"],"Daf Yomi: %s %d":["דף יומי: %s %d"],"Daf Yomi":["דף יומי"],Parashat:["פָּרָשַׁת"],"Achrei Mot":["אַחֲרֵי מוֹת"],Balak:["בָּלָק"],Bamidbar:["בְּמִדְבַּר"],Bechukotai:["בְּחֻקֹּתַי"],"Beha'alotcha":["בְּהַעֲלֹתְךָ"],Behar:["בְּהַר"],Bereshit:["בְּרֵאשִׁית"],Beshalach:["בְּשַׁלַּח"],Bo:["בֹּא"],"Chayei Sara":["חַיֵּי שָֹרָה"],Chukat:["חֻקַּת"],Devarim:["דְּבָרִים"],Eikev:["עֵקֶב"],Emor:["אֱמוֹר"],"Ha'Azinu":["הַאֲזִינוּ"],Kedoshim:["קְדשִׁים"],"Ki Tavo":["כִּי־תָבוֹא"],"Ki Teitzei":["כִּי־תֵצֵא"],"Ki Tisa":["כִּי תִשָּׂא"],Korach:["קוֹרַח"],"Lech-Lecha":["לֶךְ־לְךָ"],Masei:["מַסְעֵי"],Matot:["מַּטּוֹת"],Metzora:["מְּצֹרָע"],Miketz:["מִקֵּץ"],Mishpatim:["מִּשְׁפָּטִים"],Nasso:["נָשׂא"],Nitzavim:["נִצָּבִים"],Noach:["נֹחַ"],Pekudei:["פְקוּדֵי"],Pinchas:["פִּינְחָס"],"Re'eh":["רְאֵה"],"Sh'lach":["שְׁלַח־לְךָ"],Shemot:["שְׁמוֹת"],Shmini:["שְּׁמִינִי"],Shoftim:["שׁוֹפְטִים"],Tazria:["תַזְרִיעַ"],Terumah:["תְּרוּמָה"],Tetzaveh:["תְּצַוֶּה"],Toldot:["תּוֹלְדוֹת"],Tzav:["צַו"],Vaera:["וָאֵרָא"],Vaetchanan:["וָאֶתְחַנַּן"],Vayakhel:["וַיַּקְהֵל"],Vayechi:["וַיְחִי"],Vayeilech:["וַיֵּלֶךְ"],Vayera:["וַיֵּרָא"],Vayeshev:["וַיֵּשֶׁב"],Vayetzei:["וַיֵּצֵא"],Vayigash:["וַיִּגַּשׁ"],Vayikra:["וַיִּקְרָא"],Vayishlach:["וַיִּשְׁלַח"],"Vezot Haberakhah":["וְזֹאת הַבְּרָכָה"],Yitro:["יִתְרוֹ"],"Asara B'Tevet":["עֲשָׂרָה בְּטֵבֵת"],"Candle lighting":["הַדלָקָת נֵרוֹת"],Chanukah:["חֲנוּכָּה"],"Chanukah: 1 Candle":["חֲנוּכָּה: א׳ נֵר"],"Chanukah: 2 Candles":["חֲנוּכָּה: ב׳ נֵרוֹת"],"Chanukah: 3 Candles":["חֲנוּכָּה: ג׳ נֵרוֹת"],"Chanukah: 4 Candles":["חֲנוּכָּה: ד׳ נֵרוֹת"],"Chanukah: 5 Candles":["חֲנוּכָּה: ה׳ נֵרוֹת"],"Chanukah: 6 Candles":["חֲנוּכָּה: ו׳ נֵרוֹת"],"Chanukah: 7 Candles":["חֲנוּכָּה: ז׳ נֵרוֹת"],"Chanukah: 8 Candles":["חֲנוּכָּה: ח׳ נֵרוֹת"],"Chanukah: 8th Day":["חֲנוּכָּה: יוֹם ח׳"],"Days of the Omer":["עוֹמֶר"],Omer:["עוֹמֶר"],"day of the Omer":["בָּעוֹמֶר"],"Erev Pesach":["עֶרֶב פֶּסַח"],"Erev Purim":["עֶרֶב פּוּרִים"],"Erev Rosh Hashana":["עֶרֶב רֹאשׁ הַשָּׁנָה"],"Erev Shavuot":["עֶרֶב שָׁבוּעוֹת"],"Erev Simchat Torah":["עֶרֶב שִׂמְחַת תּוֹרָה"],"Erev Sukkot":["עֶרֶב סוּכּוֹת"],"Erev Tish'a B'Av":["עֶרֶב תִּשְׁעָה בְּאָב"],"Erev Yom Kippur":["עֶרֶב יוֹם כִּפּוּר"],Havdalah:["הַבדָלָה"],"Lag BaOmer":["ל״ג בָּעוֹמֶר"],"Leil Selichot":["סליחות"],Pesach:["פֶּסַח"],"Pesach I":["פֶּסַח א׳"],"Pesach II":["פֶּסַח ב׳"],"Pesach II (CH''M)":["פֶּסַח ב׳ (חוה״מ)"],"Pesach III (CH''M)":["פֶּסַח ג׳ (חוה״מ)"],"Pesach IV (CH''M)":["פֶּסַח ד׳ (חוה״מ)"],"Pesach Sheni":["פֶּסַח שני"],"Pesach V (CH''M)":["פֶּסַח ה׳ (חוה״מ)"],"Pesach VI (CH''M)":["פֶּסַח ו׳ (חוה״מ)"],"Pesach VII":["פֶּסַח ז׳"],"Pesach VIII":["פֶּסַח ח׳"],Purim:["פּוּרִים"],"Purim Katan":["פּוּרִים קָטָן"],"Rosh Chodesh %s":["רֹאשׁ חוֹדֶשׁ %s"],"Rosh Chodesh":["רֹאשׁ חוֹדֶשׁ"],Adar:["אַדָר"],"Adar I":["אַדָר א׳"],"Adar II":["אַדָר ב׳"],Av:["אָב"],Cheshvan:["חֶשְׁוָן"],Elul:["אֱלוּל"],Iyyar:["אִיָיר"],Kislev:["כִּסְלֵו"],Nisan:["נִיסָן"],"Sh'vat":["שְׁבָט"],Sivan:["סִיוָן"],Tamuz:["תַּמּוּז"],Tevet:["טֵבֵת"],Tishrei:["תִשְׁרֵי"],"Rosh Hashana":["רֹאשׁ הַשָּׁנָה"],"Rosh Hashana I":["רֹאשׁ הַשָּׁנָה א׳"],"Rosh Hashana II":["רֹאשׁ הַשָּׁנָה ב׳"],"Shabbat Chazon":["שַׁבָּת חֲזוֹן"],"Shabbat HaChodesh":["שַׁבָּת הַחֹדֶשׁ"],"Shabbat HaGadol":["שַׁבָּת הַגָּדוֹל"],"Shabbat Machar Chodesh":["שַׁבָּת מָחָר חוֹדֶשׁ"],"Shabbat Nachamu":["שַׁבָּת נַחֲמוּ"],"Shabbat Parah":["שַׁבָּת פּרה"],"Shabbat Rosh Chodesh":["שַׁבָּת רֹאשׁ חוֹדֶשׁ"],"Shabbat Shekalim":["שַׁבָּת שְׁקָלִים"],"Shabbat Shuva":["שַׁבָּת שׁוּבָה"],"Shabbat Zachor":["שַׁבָּת זָכוֹר"],Shavuot:["שָׁבוּעוֹת"],"Shavuot I":["שָׁבוּעוֹת א׳"],"Shavuot II":["שָׁבוּעוֹת ב׳"],"Shmini Atzeret":["שְׁמִינִי עֲצֶרֶת"],"Shushan Purim":["שׁוּשָׁן פּוּרִים"],Sigd:["סיגד"],"Simchat Torah":["שִׂמְחַת תּוֹרָה"],Sukkot:["סוּכּוֹת"],"Sukkot I":["סוּכּוֹת א׳"],"Sukkot II":["סוּכּוֹת ב׳"],"Sukkot II (CH''M)":["סוּכּוֹת ב׳ (חוה״מ)"],"Sukkot III (CH''M)":["סוּכּוֹת ג׳ (חוה״מ)"],"Sukkot IV (CH''M)":["סוּכּוֹת ד׳ (חוה״מ)"],"Sukkot V (CH''M)":["סוּכּוֹת ה׳ (חוה״מ)"],"Sukkot VI (CH''M)":["סוּכּוֹת ו׳ (חוה״מ)"],"Sukkot VII (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Ta'anit Bechorot":["תַּעֲנִית בְּכוֹרוֹת"],"Ta'anit Esther":["תַּעֲנִית אֶסְתֵּר"],"Tish'a B'Av":["תִּשְׁעָה בְּאָב"],"Tu B'Av":["טוּ בְּאָב"],"Tu BiShvat":["טוּ בִּשְׁבָט"],"Tu B'Shvat":["טוּ בִּשְׁבָט"],"Tzom Gedaliah":["צוֹם גְּדַלְיָה"],"Tzom Tammuz":["צוֹם תָּמוּז"],"Yom HaAtzma'ut":["יוֹם הָעַצְמָאוּת"],"Yom HaShoah":["יוֹם הַשּׁוֹאָה"],"Yom HaZikaron":["יוֹם הַזִּכָּרוֹן"],"Yom Kippur":["יוֹם כִּפּוּר"],"Yom Yerushalayim":["יוֹם יְרוּשָׁלַיִם"],"Yom HaAliyah":["יוֹם הַעֲלִיָּה"],"Yom HaAliyah School Observance":["שְׁמִירָת בֵּית הַסֵפֶר לְיוֹם הַעֲלִיָּה"],"Pesach I (on Shabbat)":["פֶּסַח יוֹם א׳ (בְּשַׁבָּת)"],"Pesach Chol ha-Moed Day 1":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם א׳"],"Pesach Chol ha-Moed Day 2":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳"],"Pesach Chol ha-Moed Day 3":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳"],"Pesach Chol ha-Moed Day 4":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ד׳"],"Pesach Chol ha-Moed Day 5":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ה׳"],"Pesach Shabbat Chol ha-Moed":["פֶּסַח שַׁבָּת חוֹל הַמּוֹעֵד"],"Shavuot II (on Shabbat)":["שָׁבוּעוֹת יוֹם ב׳ (בְּשַׁבָּת)"],"Rosh Hashana I (on Shabbat)":["רֹאשׁ הַשָּׁנָה יוֹם א׳ (בְּשַׁבָּת)"],"Yom Kippur (on Shabbat)":["יוֹם כִּפּוּר (בְּשַׁבָּת)"],"Yom Kippur (Mincha, Traditional)":["יוֹם כִּפּוּר מנחה"],"Yom Kippur (Mincha, Alternate)":["יוֹם כִּפּוּר מנחה"],"Sukkot I (on Shabbat)":["סוּכּוֹת יוֹם א׳ (בְּשַׁבָּת)"],"Sukkot Chol ha-Moed Day 1":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם א׳"],"Sukkot Chol ha-Moed Day 2":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ב׳"],"Sukkot Chol ha-Moed Day 3":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ג׳"],"Sukkot Chol ha-Moed Day 4":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ד׳"],"Sukkot Shabbat Chol ha-Moed":["סוּכּוֹת שַׁבָּת חוֹל הַמּוֹעֵד"],"Sukkot Final Day (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Rosh Chodesh Adar":["רֹאשׁ חוֹדֶשׁ אַדָר"],"Rosh Chodesh Adar I":["רֹאשׁ חוֹדֶשׁ אַדָר א׳"],"Rosh Chodesh Adar II":["רֹאשׁ חוֹדֶשׁ אַדָר ב׳"],"Rosh Chodesh Av":["רֹאשׁ חוֹדֶשׁ אָב"],"Rosh Chodesh Cheshvan":["רֹאשׁ חוֹדֶשׁ חֶשְׁוָן"],"Rosh Chodesh Elul":["רֹאשׁ חוֹדֶשׁ אֱלוּל"],"Rosh Chodesh Iyyar":["רֹאשׁ חוֹדֶשׁ אִיָיר"],"Rosh Chodesh Kislev":["רֹאשׁ חוֹדֶשׁ כִּסְלֵו"],"Rosh Chodesh Nisan":["רֹאשׁ חוֹדֶשׁ נִיסָן"],"Rosh Chodesh Sh'vat":["רֹאשׁ חוֹדֶשׁ שְׁבָט"],"Rosh Chodesh Sivan":["רֹאשׁ חוֹדֶשׁ סִיוָן"],"Rosh Chodesh Tamuz":["רֹאשׁ חוֹדֶשׁ תָּמוּז"],"Rosh Chodesh Tevet":["רֹאשׁ חוֹדֶשׁ טֵבֵת"],min:["דקות"],"Fast begins":["תחילת הַצוֹם"],"Fast ends":["סִיּוּם הַצוֹם"],"Rosh Hashana LaBehemot":["רֹאשׁ הַשָּׁנָה לְמַעְשַׂר בְּהֵמָה"],"Tish'a B'Av (observed)":["תִּשְׁעָה בְּאָב נִדחֶה"],"Shabbat Mevarchim Chodesh":["שַׁבָּת מברכים חוֹדֶשׁ"],"Shabbat Shirah":["שַׁבָּת שִׁירָה"],chatzotNight:["חֲצוֹת הַלַיְלָה"],alotHaShachar:["עֲלוֹת הַשַּׁחַר"],misheyakir:["משיכיר - זמן ציצית ותפילין"],misheyakirMachmir:["משיכיר - זמן ציצית ותפילין"],neitzHaChama:["הַנֵץ הַחַמָּה"],sofZmanShma:["סוֹף זְמַן קְרִיאַת שְׁמַע גר״א"],sofZmanTfilla:["סוֹף זְמַן תְּפִלָּה גר״א"],chatzot:["חֲצוֹת הַיּוֹם"],minchaGedola:["מִנְחָה גְּדוֹלָה"],minchaKetana:["מִנְחָה קְטַנָּה"],plagHaMincha:["פְּלַג הַמִּנְחָה"],shkiah:["שְׁקִיעָה"],tzeit:["צֵאת כוכבים"],Lovingkindness:["חֶֽסֶד"],Might:["גְבוּרָה"],Beauty:["תִּפאֶרֶת"],Eternity:["נֶּֽצַח"],Splendor:["הוֹד"],Foundation:["יְּסוֹד"],Majesty:["מַּלְכוּת"],day:["יוֹם"],"Chanukah Day 1":["חֲנוּכָּה יוֹם א׳"],"Chanukah Day 2":["חֲנוּכָּה יוֹם ב׳"],"Chanukah Day 3":["חֲנוּכָּה יוֹם ג׳"],"Chanukah Day 4":["חֲנוּכָּה יוֹם ד׳"],"Chanukah Day 5":["חֲנוּכָּה יוֹם ה׳"],"Chanukah Day 6":["חֲנוּכָּה יוֹם ו׳"],"Chanukah Day 7":["חֲנוּכָּה יוֹם ז׳"],"Chanukah Day 7 (on Rosh Chodesh)":["חֲנוּכָּה יוֹם ז׳ (רֹאשׁ חוֹדֶשׁ)"],"Chanukah Day 8":["חֲנוּכָּה יוֹם ח׳"]}};var poHe = {headers:headers,contexts:contexts};
4743
+ var headers={"plural-forms":"nplurals=2; plural=(n > 1);",language:"he_IL"};var contexts={"":{Berachot:["ברכות"],Shabbat:["שַׁבָּת"],Eruvin:["עירובין"],Pesachim:["פסחים"],Shekalim:["שקלים"],Yoma:["יומא"],Sukkah:["סוכה"],Beitzah:["ביצה"],Taanit:["תענית"],Megillah:["מגילה"],"Moed Katan":["מועד קטן"],Chagigah:["חגיגה"],Yevamot:["יבמות"],Ketubot:["כתובות"],Nedarim:["נדרים"],Nazir:["נזיר"],Sotah:["סוטה"],Gitin:["גיטין"],Kiddushin:["קידושין"],"Baba Kamma":["בבא קמא"],"Baba Metzia":["בבא מציעא"],"Baba Batra":["בבא בתרא"],Sanhedrin:["סנהדרין"],Makkot:["מכות"],Shevuot:["שבועות"],"Avodah Zarah":["עבודה זרה"],Horayot:["הוריות"],Zevachim:["זבחים"],Menachot:["מנחות"],Chullin:["חולין"],Bechorot:["בכורות"],Arachin:["ערכין"],Temurah:["תמורה"],Keritot:["כריתות"],Meilah:["מעילה"],Kinnim:["קינים"],Tamid:["תמיד"],Midot:["מדות"],Niddah:["נדה"],"Daf Yomi: %s %d":["דף יומי: %s %d"],"Daf Yomi":["דף יומי"],Parashat:["פָּרָשַׁת"],"Achrei Mot":["אַחֲרֵי מוֹת"],Balak:["בָּלָק"],Bamidbar:["בְּמִדְבַּר"],Bechukotai:["בְּחֻקֹּתַי"],"Beha'alotcha":["בְּהַעֲלֹתְךָ"],Behar:["בְּהַר"],Bereshit:["בְּרֵאשִׁית"],Beshalach:["בְּשַׁלַּח"],Bo:["בֹּא"],"Chayei Sara":["חַיֵּי שָֹרָה"],Chukat:["חֻקַּת"],Devarim:["דְּבָרִים"],Eikev:["עֵקֶב"],Emor:["אֱמוֹר"],"Ha'Azinu":["הַאֲזִינוּ"],Kedoshim:["קְדשִׁים"],"Ki Tavo":["כִּי־תָבוֹא"],"Ki Teitzei":["כִּי־תֵצֵא"],"Ki Tisa":["כִּי תִשָּׂא"],Korach:["קוֹרַח"],"Lech-Lecha":["לֶךְ־לְךָ"],Masei:["מַסְעֵי"],Matot:["מַּטּוֹת"],Metzora:["מְּצֹרָע"],Miketz:["מִקֵּץ"],Mishpatim:["מִּשְׁפָּטִים"],Nasso:["נָשׂא"],Nitzavim:["נִצָּבִים"],Noach:["נֹחַ"],Pekudei:["פְקוּדֵי"],Pinchas:["פִּינְחָס"],"Re'eh":["רְאֵה"],"Sh'lach":["שְׁלַח־לְךָ"],Shemot:["שְׁמוֹת"],Shmini:["שְּׁמִינִי"],Shoftim:["שׁוֹפְטִים"],Tazria:["תַזְרִיעַ"],Terumah:["תְּרוּמָה"],Tetzaveh:["תְּצַוֶּה"],Toldot:["תּוֹלְדוֹת"],Tzav:["צַו"],Vaera:["וָאֵרָא"],Vaetchanan:["וָאֶתְחַנַּן"],Vayakhel:["וַיַּקְהֵל"],Vayechi:["וַיְחִי"],Vayeilech:["וַיֵּלֶךְ"],Vayera:["וַיֵּרָא"],Vayeshev:["וַיֵּשֶׁב"],Vayetzei:["וַיֵּצֵא"],Vayigash:["וַיִּגַּשׁ"],Vayikra:["וַיִּקְרָא"],Vayishlach:["וַיִּשְׁלַח"],"Vezot Haberakhah":["וְזֹאת הַבְּרָכָה"],Yitro:["יִתְרוֹ"],"Asara B'Tevet":["עֲשָׂרָה בְּטֵבֵת"],"Candle lighting":["הַדלָקָת נֵרוֹת"],Chanukah:["חֲנוּכָּה"],"Chanukah: 1 Candle":["חֲנוּכָּה: א׳ נֵר"],"Chanukah: 2 Candles":["חֲנוּכָּה: ב׳ נֵרוֹת"],"Chanukah: 3 Candles":["חֲנוּכָּה: ג׳ נֵרוֹת"],"Chanukah: 4 Candles":["חֲנוּכָּה: ד׳ נֵרוֹת"],"Chanukah: 5 Candles":["חֲנוּכָּה: ה׳ נֵרוֹת"],"Chanukah: 6 Candles":["חֲנוּכָּה: ו׳ נֵרוֹת"],"Chanukah: 7 Candles":["חֲנוּכָּה: ז׳ נֵרוֹת"],"Chanukah: 8 Candles":["חֲנוּכָּה: ח׳ נֵרוֹת"],"Chanukah: 8th Day":["חֲנוּכָּה: יוֹם ח׳"],"Days of the Omer":["עוֹמֶר"],Omer:["עוֹמֶר"],"day of the Omer":["בָּעוֹמֶר"],"Erev Pesach":["עֶרֶב פֶּסַח"],"Erev Purim":["עֶרֶב פּוּרִים"],"Erev Rosh Hashana":["עֶרֶב רֹאשׁ הַשָּׁנָה"],"Erev Shavuot":["עֶרֶב שָׁבוּעוֹת"],"Erev Simchat Torah":["עֶרֶב שִׂמְחַת תּוֹרָה"],"Erev Sukkot":["עֶרֶב סוּכּוֹת"],"Erev Tish'a B'Av":["עֶרֶב תִּשְׁעָה בְּאָב"],"Erev Yom Kippur":["עֶרֶב יוֹם כִּפּוּר"],Havdalah:["הַבדָלָה"],"Lag BaOmer":["ל״ג בָּעוֹמֶר"],"Leil Selichot":["סליחות"],Pesach:["פֶּסַח"],"Pesach I":["פֶּסַח א׳"],"Pesach II":["פֶּסַח ב׳"],"Pesach II (CH''M)":["פֶּסַח ב׳ (חוה״מ)"],"Pesach III (CH''M)":["פֶּסַח ג׳ (חוה״מ)"],"Pesach IV (CH''M)":["פֶּסַח ד׳ (חוה״מ)"],"Pesach Sheni":["פֶּסַח שני"],"Pesach V (CH''M)":["פֶּסַח ה׳ (חוה״מ)"],"Pesach VI (CH''M)":["פֶּסַח ו׳ (חוה״מ)"],"Pesach VII":["פֶּסַח ז׳"],"Pesach VIII":["פֶּסַח ח׳"],Purim:["פּוּרִים"],"Purim Katan":["פּוּרִים קָטָן"],"Rosh Chodesh %s":["רֹאשׁ חוֹדֶשׁ %s"],"Rosh Chodesh":["רֹאשׁ חוֹדֶשׁ"],Adar:["אַדָר"],"Adar I":["אַדָר א׳"],"Adar II":["אַדָר ב׳"],Av:["אָב"],Cheshvan:["חֶשְׁוָן"],Elul:["אֱלוּל"],Iyyar:["אִיָיר"],Kislev:["כִּסְלֵו"],Nisan:["נִיסָן"],"Sh'vat":["שְׁבָט"],Sivan:["סִיוָן"],Tamuz:["תַּמּוּז"],Tevet:["טֵבֵת"],Tishrei:["תִשְׁרֵי"],"Rosh Hashana":["רֹאשׁ הַשָּׁנָה"],"Rosh Hashana I":["רֹאשׁ הַשָּׁנָה א׳"],"Rosh Hashana II":["רֹאשׁ הַשָּׁנָה ב׳"],"Shabbat Chazon":["שַׁבָּת חֲזוֹן"],"Shabbat HaChodesh":["שַׁבָּת הַחֹדֶשׁ"],"Shabbat HaGadol":["שַׁבָּת הַגָּדוֹל"],"Shabbat Machar Chodesh":["שַׁבָּת מָחָר חוֹדֶשׁ"],"Shabbat Nachamu":["שַׁבָּת נַחֲמוּ"],"Shabbat Parah":["שַׁבָּת פּרה"],"Shabbat Rosh Chodesh":["שַׁבָּת רֹאשׁ חוֹדֶשׁ"],"Shabbat Shekalim":["שַׁבָּת שְׁקָלִים"],"Shabbat Shuva":["שַׁבָּת שׁוּבָה"],"Shabbat Zachor":["שַׁבָּת זָכוֹר"],Shavuot:["שָׁבוּעוֹת"],"Shavuot I":["שָׁבוּעוֹת א׳"],"Shavuot II":["שָׁבוּעוֹת ב׳"],"Shmini Atzeret":["שְׁמִינִי עֲצֶרֶת"],"Shushan Purim":["שׁוּשָׁן פּוּרִים"],Sigd:["סיגד"],"Simchat Torah":["שִׂמְחַת תּוֹרָה"],Sukkot:["סוּכּוֹת"],"Sukkot I":["סוּכּוֹת א׳"],"Sukkot II":["סוּכּוֹת ב׳"],"Sukkot II (CH''M)":["סוּכּוֹת ב׳ (חוה״מ)"],"Sukkot III (CH''M)":["סוּכּוֹת ג׳ (חוה״מ)"],"Sukkot IV (CH''M)":["סוּכּוֹת ד׳ (חוה״מ)"],"Sukkot V (CH''M)":["סוּכּוֹת ה׳ (חוה״מ)"],"Sukkot VI (CH''M)":["סוּכּוֹת ו׳ (חוה״מ)"],"Sukkot VII (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Ta'anit Bechorot":["תַּעֲנִית בְּכוֹרוֹת"],"Ta'anit Esther":["תַּעֲנִית אֶסְתֵּר"],"Tish'a B'Av":["תִּשְׁעָה בְּאָב"],"Tu B'Av":["טוּ בְּאָב"],"Tu BiShvat":["טוּ בִּשְׁבָט"],"Tu B'Shvat":["טוּ בִּשְׁבָט"],"Tzom Gedaliah":["צוֹם גְּדַלְיָה"],"Tzom Tammuz":["צוֹם תָּמוּז"],"Yom HaAtzma'ut":["יוֹם הָעַצְמָאוּת"],"Yom HaShoah":["יוֹם הַשּׁוֹאָה"],"Yom HaZikaron":["יוֹם הַזִּכָּרוֹן"],"Yom Kippur":["יוֹם כִּפּוּר"],"Yom Yerushalayim":["יוֹם יְרוּשָׁלַיִם"],"Yom HaAliyah":["יוֹם הַעֲלִיָּה"],"Yom HaAliyah School Observance":["שְׁמִירָת בֵּית הַסֵפֶר לְיוֹם הַעֲלִיָּה"],"Pesach I (on Shabbat)":["פֶּסַח יוֹם א׳ (בְּשַׁבָּת)"],"Pesach Chol ha-Moed Day 1":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם א׳"],"Pesach Chol ha-Moed Day 2":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳"],"Pesach Chol ha-Moed Day 3":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳"],"Pesach Chol ha-Moed Day 4":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ד׳"],"Pesach Chol ha-Moed Day 5":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ה׳"],"Pesach Shabbat Chol ha-Moed":["פֶּסַח שַׁבָּת חוֹל הַמּוֹעֵד"],"Shavuot II (on Shabbat)":["שָׁבוּעוֹת יוֹם ב׳ (בְּשַׁבָּת)"],"Rosh Hashana I (on Shabbat)":["רֹאשׁ הַשָּׁנָה יוֹם א׳ (בְּשַׁבָּת)"],"Yom Kippur (on Shabbat)":["יוֹם כִּפּוּר (בְּשַׁבָּת)"],"Yom Kippur (Mincha, Traditional)":["יוֹם כִּפּוּר מנחה"],"Yom Kippur (Mincha, Alternate)":["יוֹם כִּפּוּר מנחה"],"Sukkot I (on Shabbat)":["סוּכּוֹת יוֹם א׳ (בְּשַׁבָּת)"],"Sukkot Chol ha-Moed Day 1":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם א׳"],"Sukkot Chol ha-Moed Day 2":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ב׳"],"Sukkot Chol ha-Moed Day 3":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ג׳"],"Sukkot Chol ha-Moed Day 4":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ד׳"],"Sukkot Shabbat Chol ha-Moed":["סוּכּוֹת שַׁבָּת חוֹל הַמּוֹעֵד"],"Sukkot Final Day (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Rosh Chodesh Adar":["רֹאשׁ חוֹדֶשׁ אַדָר"],"Rosh Chodesh Adar I":["רֹאשׁ חוֹדֶשׁ אַדָר א׳"],"Rosh Chodesh Adar II":["רֹאשׁ חוֹדֶשׁ אַדָר ב׳"],"Rosh Chodesh Av":["רֹאשׁ חוֹדֶשׁ אָב"],"Rosh Chodesh Cheshvan":["רֹאשׁ חוֹדֶשׁ חֶשְׁוָן"],"Rosh Chodesh Elul":["רֹאשׁ חוֹדֶשׁ אֱלוּל"],"Rosh Chodesh Iyyar":["רֹאשׁ חוֹדֶשׁ אִיָיר"],"Rosh Chodesh Kislev":["רֹאשׁ חוֹדֶשׁ כִּסְלֵו"],"Rosh Chodesh Nisan":["רֹאשׁ חוֹדֶשׁ נִיסָן"],"Rosh Chodesh Sh'vat":["רֹאשׁ חוֹדֶשׁ שְׁבָט"],"Rosh Chodesh Sivan":["רֹאשׁ חוֹדֶשׁ סִיוָן"],"Rosh Chodesh Tamuz":["רֹאשׁ חוֹדֶשׁ תָּמוּז"],"Rosh Chodesh Tevet":["רֹאשׁ חוֹדֶשׁ טֵבֵת"],min:["דקות"],"Fast begins":["תחילת הַצוֹם"],"Fast ends":["סִיּוּם הַצוֹם"],"Rosh Hashana LaBehemot":["רֹאשׁ הַשָּׁנָה לְמַעְשַׂר בְּהֵמָה"],"Tish'a B'Av (observed)":["תִּשְׁעָה בְּאָב נִדחֶה"],"Shabbat Mevarchim Chodesh":["שַׁבָּת מברכים חוֹדֶשׁ"],"Shabbat Shirah":["שַׁבָּת שִׁירָה"],chatzotNight:["חֲצוֹת הַלַיְלָה"],alotHaShachar:["עֲלוֹת הַשַּׁחַר"],misheyakir:["משיכיר - זמן ציצית ותפילין"],misheyakirMachmir:["משיכיר - זמן ציצית ותפילין"],neitzHaChama:["הַנֵץ הַחַמָּה"],sofZmanShma:["סוֹף זְמַן קְרִיאַת שְׁמַע גר״א"],sofZmanTfilla:["סוֹף זְמַן תְּפִלָּה גר״א"],chatzot:["חֲצוֹת הַיּוֹם"],minchaGedola:["מִנְחָה גְּדוֹלָה"],minchaKetana:["מִנְחָה קְטַנָּה"],plagHaMincha:["פְּלַג הַמִּנְחָה"],shkiah:["שְׁקִיעָה"],"Nightfall - End of ordained fasts":["לַיְלָה - גמר תעניות דרבנן"],tzeit:["צֵאת כוכבים"],Lovingkindness:["חֶֽסֶד"],Might:["גְבוּרָה"],Beauty:["תִּפאֶרֶת"],Eternity:["נֶּֽצַח"],Splendor:["הוֹד"],Foundation:["יְּסוֹד"],Majesty:["מַּלְכוּת"],day:["יוֹם"],"Chanukah Day 1":["חֲנוּכָּה יוֹם א׳"],"Chanukah Day 2":["חֲנוּכָּה יוֹם ב׳"],"Chanukah Day 3":["חֲנוּכָּה יוֹם ג׳"],"Chanukah Day 4":["חֲנוּכָּה יוֹם ד׳"],"Chanukah Day 5":["חֲנוּכָּה יוֹם ה׳"],"Chanukah Day 6":["חֲנוּכָּה יוֹם ו׳"],"Chanukah Day 7":["חֲנוּכָּה יוֹם ז׳"],"Chanukah Day 7 (on Rosh Chodesh)":["חֲנוּכָּה יוֹם ז׳ (רֹאשׁ חוֹדֶשׁ)"],"Chanukah Day 8":["חֲנוּכָּה יוֹם ח׳"],Berakhot:["ברכות"],Peah:["פאה"],Demai:["דמאי"],Kilayim:["כלאים"],Sheviit:["שביעית"],Terumot:["תרומות"],Maasrot:["מעשרות"],"Maaser Sheni":["מעשר שני"],Challah:["חלה"],Orlah:["ערלה"],Bikkurim:["ביכורים"],"Rosh Hashanah":["ראש השנה"],Gittin:["גיטין"],"Bava Kamma":["בבא קמא"],"Bava Metzia":["בבא מציעא"],"Bava Batra":["בבא בתרא"],Eduyot:["עדיות"],Avot:["אבות"],Bekhorot:["בכורות"],Arakhin:["ערכין"],Middot:["מדות"],Kelim:["כלים"],Oholot:["אהלות"],Negaim:["נגעים"],Parah:["פרה"],Tahorot:["טהרות"],Mikvaot:["מקואות"],Makhshirin:["מכשירין"],Zavim:["זבים"],"Tevul Yom":["טבול יום"],Yadayim:["ידים"],Oktzin:["עוקצים"]}};var poHe = {headers:headers,contexts:contexts};
4735
4744
 
4736
4745
  Locale.addLocale('he', poHe);
4737
4746
  Locale.addLocale('h', poHe);
@@ -4752,6 +4761,164 @@ const poHeNoNikud = {
4752
4761
  };
4753
4762
  Locale.addLocale(localeName, poHeNoNikud);
4754
4763
 
4764
+ /**
4765
+ * @private
4766
+ * @param {MishnaYomi[]} mishnaYomi
4767
+ * @param {string} locale
4768
+ * @return {string}
4769
+ */
4770
+
4771
+ function formatMyomi(mishnaYomi, locale) {
4772
+ const k1 = mishnaYomi[0].k;
4773
+ const cv1 = mishnaYomi[0].v;
4774
+ const mishna1 = Locale.gettext(k1, locale) + ' ' + cv1;
4775
+ const k2 = mishnaYomi[1].k;
4776
+ const cv2 = mishnaYomi[1].v;
4777
+
4778
+ if (k1 !== k2) {
4779
+ return mishna1 + '-' + Locale.gettext(k2, locale) + ' ' + cv2;
4780
+ }
4781
+
4782
+ const p1 = cv1.split(':');
4783
+ const p2 = cv2.split(':');
4784
+
4785
+ if (p1[0] === p2[0]) {
4786
+ return mishna1 + '-' + p2[1];
4787
+ }
4788
+
4789
+ return mishna1 + '-' + cv2;
4790
+ }
4791
+ /**
4792
+ * Event wrapper around a Mishna Yomi instance
4793
+ */
4794
+
4795
+
4796
+ class MishnaYomiEvent extends Event {
4797
+ /**
4798
+ * @param {HDate} date
4799
+ * @param {MishnaYomi[]} mishnaYomi
4800
+ */
4801
+ constructor(date, mishnaYomi) {
4802
+ super(date, formatMyomi(mishnaYomi, null), flags.MISHNA_YOMI, {
4803
+ mishnaYomi
4804
+ });
4805
+ }
4806
+ /**
4807
+ * Returns Mishna Yomi name (e.g. "Bava Metzia 10:5-6" or "Berakhot 9:5-Peah 1:1").
4808
+ * @param {string} [locale] Optional locale name (defaults to active locale).
4809
+ * @return {string}
4810
+ */
4811
+
4812
+
4813
+ render(locale) {
4814
+ return formatMyomi(this.mishnaYomi, locale);
4815
+ }
4816
+ /**
4817
+ * Returns a link to sefaria.org
4818
+ * @return {string}
4819
+ */
4820
+
4821
+
4822
+ url() {
4823
+ const mishnaYomi = this.mishnaYomi;
4824
+ const k1 = mishnaYomi[0].k;
4825
+ const mishna = k1 === 'Avot' ? 'Pirkei' : 'Mishnah';
4826
+ const name = k1.replace(/ /g, '_');
4827
+ const prefix = `https://www.sefaria.org/${mishna}_${name}`;
4828
+ const cv1 = mishnaYomi[0].v;
4829
+
4830
+ if (k1 !== mishnaYomi[1].k) {
4831
+ return `${prefix}.${cv1}?lang=bi`;
4832
+ }
4833
+
4834
+ const cv2 = mishnaYomi[1].v;
4835
+ const p1 = cv1.split(':');
4836
+ const p2 = cv2.split(':');
4837
+ const verse1 = p1.join('.');
4838
+ const verse2 = p1[0] === p2[0] ? p2[1] : p2.join('.');
4839
+ return `${prefix}.${verse1}-${verse2}?lang=bi`;
4840
+ }
4841
+
4842
+ }
4843
+
4844
+ var mishnayot = [{k:"Berakhot",v:[5,8,6,7,5,8,5,8,5]},{k:"Peah",v:[6,8,8,11,8,11,8,9]},{k:"Demai",v:[4,5,6,7,11,12,8]},{k:"Kilayim",v:[9,11,7,9,8,9,8,6,10]},{k:"Sheviit",v:[8,10,10,10,9,6,7,11,9,9]},{k:"Terumot",v:[10,6,9,13,9,6,7,12,7,12,10]},{k:"Maasrot",v:[8,8,10,6,8]},{k:"Maaser Sheni",v:[7,10,13,12,15]},{k:"Challah",v:[9,8,10,11]},{k:"Orlah",v:[9,17,9]},{k:"Bikkurim",v:[11,11,12,5]},{k:"Shabbat",v:[11,7,6,2,4,10,4,7,7,6,6,6,7,4,3,8,8,3,6,5,3,6,5,5]},{k:"Eruvin",v:[10,6,9,11,9,10,11,11,4,15]},{k:"Pesachim",v:[7,8,8,9,10,6,13,8,11,9]},{k:"Shekalim",v:[7,5,4,9,6,6,7,8]},{k:"Yoma",v:[8,7,11,6,7,8,5,9]},{k:"Sukkah",v:[11,9,15,10,8]},{k:"Beitzah",v:[10,10,8,7,7]},{k:"Rosh Hashanah",v:[9,9,8,9]},{k:"Taanit",v:[7,10,9,8]},{k:"Megillah",v:[11,6,6,10]},{k:"Moed Katan",v:[10,5,9]},{k:"Chagigah",v:[8,7,8]},{k:"Yevamot",v:[4,10,10,13,6,6,6,6,6,9,7,6,13,9,10,7]},{k:"Ketubot",v:[10,10,9,12,9,7,10,8,9,6,6,4,11]},{k:"Nedarim",v:[4,5,11,8,6,10,9,7,10,8,12]},{k:"Nazir",v:[7,10,7,7,7,11,4,2,5]},{k:"Sotah",v:[9,6,8,5,5,4,8,7,15]},{k:"Gittin",v:[6,7,8,9,9,7,9,10,10]},{k:"Kiddushin",v:[10,10,13,14]},{k:"Bava Kamma",v:[4,6,11,9,7,6,7,7,12,10]},{k:"Bava Metzia",v:[8,11,12,12,11,8,11,9,13,6]},{k:"Bava Batra",v:[6,14,8,9,11,8,4,8,10,8]},{k:"Sanhedrin",v:[6,5,8,5,5,6,11,7,6,6,6]},{k:"Makkot",v:[10,8,16]},{k:"Shevuot",v:[7,5,11,13,5,7,8,6]},{k:"Eduyot",v:[14,10,12,12,7,3,9,7]},{k:"Avodah Zarah",v:[9,7,10,12,12]},{k:"Avot",v:[18,16,18,22,23,11]},{k:"Horayot",v:[5,7,8]},{k:"Zevachim",v:[4,5,6,6,8,7,6,12,7,8,8,6,8,10]},{k:"Menachot",v:[4,5,7,5,9,7,6,7,9,9,9,5,11]},{k:"Chullin",v:[7,10,7,7,5,7,6,6,8,4,2,5]},{k:"Bekhorot",v:[7,9,4,10,6,12,7,10,8]},{k:"Arakhin",v:[4,6,5,4,6,5,5,7,8]},{k:"Temurah",v:[6,3,5,4,6,5,6]},{k:"Keritot",v:[7,6,10,3,8,9]},{k:"Meilah",v:[4,9,8,6,5,6]},{k:"Tamid",v:[4,5,9,3,6,3,4]},{k:"Middot",v:[9,6,8,7,4]},{k:"Kinnim",v:[4,5,6]},{k:"Kelim",v:[9,8,8,4,11,4,6,11,8,8,9,8,8,8,6,8,17,9,10,7,3,10,5,17,9,9,12,10,8,4]},{k:"Oholot",v:[8,7,7,3,7,7,6,6,16,7,9,8,6,7,10,5,5,10]},{k:"Negaim",v:[6,5,8,11,5,8,5,10,3,10,12,7,12,13]},{k:"Parah",v:[4,5,11,4,9,5,12,11,9,6,9,11]},{k:"Tahorot",v:[9,8,8,13,9,10,9,9,9,8]},{k:"Mikvaot",v:[8,10,4,5,6,11,7,5,7,8]},{k:"Niddah",v:[7,7,7,7,9,14,5,4,11,8]},{k:"Makhshirin",v:[6,11,8,10,11,8]},{k:"Zavim",v:[6,4,3,7,12]},{k:"Tevul Yom",v:[5,8,6,7]},{k:"Yadayim",v:[5,4,5,8]},{k:"Oktzin",v:[6,10,12]}];
4845
+
4846
+ const cycleStartDate = new Date(1947, 4, 20);
4847
+ const mishnaYomiStart = greg.greg2abs(cycleStartDate);
4848
+ const numMishnayot = 4192;
4849
+ const numDays = numMishnayot / 2;
4850
+ /**
4851
+ * Options to configure which events are returned
4852
+ * @typedef {Object} MishnaYomi
4853
+ * @property {string} k tractate name in Sephardic transliteration (e.g. "Berakhot", "Moed Katan")
4854
+ * @property {string} v verse (e.g. "2:1")
4855
+ */
4856
+ // eslint-disable-next-line require-jsdoc
4857
+
4858
+ function throwTypeError(msg) {
4859
+ throw new TypeError(msg);
4860
+ }
4861
+ /**
4862
+ * A program of daily learning in which participants study two Mishnahs
4863
+ * each day in order to finish the entire Mishnah in ~6 years.
4864
+ */
4865
+
4866
+
4867
+ class MinshnaYomiIndex {
4868
+ /**
4869
+ * Initializes a Mishna Yomi instance
4870
+ */
4871
+ constructor() {
4872
+ const tmp = Array(numMishnayot);
4873
+ let i = 0;
4874
+
4875
+ for (const tractate of mishnayot) {
4876
+ const v = tractate.v;
4877
+
4878
+ for (let chap = 1; chap <= v.length; chap++) {
4879
+ const numv = v[chap - 1];
4880
+
4881
+ for (let verse = 1; verse <= numv; verse++) {
4882
+ tmp[i++] = {
4883
+ k: tractate.k,
4884
+ v: `${chap}:${verse}`
4885
+ };
4886
+ }
4887
+ }
4888
+ }
4889
+
4890
+ const days = Array(numDays);
4891
+
4892
+ for (let j = 0; j < numDays; j++) {
4893
+ const k = j * 2;
4894
+ days[j] = [tmp[k], tmp[k + 1]];
4895
+ }
4896
+ /** @type {MishnaYomi[]} */
4897
+
4898
+
4899
+ this.days = days;
4900
+ }
4901
+ /**
4902
+ * Looks up a Mishna Yomi
4903
+ * @param {Date|HDate|number} date Gregorian date
4904
+ * @return {MishnaYomi[]}
4905
+ */
4906
+
4907
+
4908
+ lookup(date) {
4909
+ const abs = typeof date === 'number' && !isNaN(date) ? date : greg.isDate(date) ? greg.greg2abs(date) : HDate.isHDate(date) ? date.abs() : throwTypeError(`Invalid date: ${date}`);
4910
+
4911
+ if (abs < mishnaYomiStart) {
4912
+ const s = date.toISOString().substring(0, 10);
4913
+ throw new RangeError(`Date ${s} too early; Mishna Yomi cycle began on 1947-05-20`);
4914
+ }
4915
+
4916
+ const dayNum = (abs - mishnaYomiStart) % numDays;
4917
+ return this.days[dayNum];
4918
+ }
4919
+
4920
+ }
4921
+
4755
4922
  /*
4756
4923
  Hebcal - A Jewish Calendar Generator
4757
4924
  Copyright (c) 1994-2020 Danny Sadinoff
@@ -4827,6 +4994,7 @@ const RECOGNIZED_OPTIONS = {
4827
4994
  noSpecialShabbat: 1,
4828
4995
  noHolidays: 1,
4829
4996
  dafyomi: 1,
4997
+ mishnaYomi: 1,
4830
4998
  omer: 1,
4831
4999
  molad: 1,
4832
5000
  ashkenazi: 1,
@@ -4927,6 +5095,7 @@ function checkCandleOptions(options) {
4927
5095
  * @property {boolean} noSpecialShabbat - suppress Special Shabbat
4928
5096
  * @property {boolean} noHolidays - suppress regular holidays
4929
5097
  * @property {boolean} dafyomi - include Daf Yomi
5098
+ * @property {boolean} mishnaYomi - include Mishna Yomi
4930
5099
  * @property {boolean} omer - include Days of the Omer
4931
5100
  * @property {boolean} molad - include event announcing the molad
4932
5101
  * @property {boolean} ashkenazi - use Ashkenazi transliterations for event titles (default Sephardi transliterations)
@@ -4950,7 +5119,7 @@ function checkCandleOptions(options) {
4950
5119
  function getAbs(d) {
4951
5120
  if (typeof d == 'number') return d;
4952
5121
  if (greg.isDate(d)) return greg.greg2abs(d);
4953
- if (HDate$1.isHDate(d)) return d.abs();
5122
+ if (HDate.isHDate(d)) return d.abs();
4954
5123
  throw new TypeError(`Invalid date type: ${d}`);
4955
5124
  }
4956
5125
  /**
@@ -4969,7 +5138,7 @@ function getStartAndEnd(options) {
4969
5138
  }
4970
5139
 
4971
5140
  const isHebrewYear = Boolean(options.isHebrewYear);
4972
- const theYear = typeof options.year !== 'undefined' ? parseInt(options.year, 10) : isHebrewYear ? new HDate$1().getFullYear() : new Date().getFullYear();
5141
+ const theYear = typeof options.year !== 'undefined' ? parseInt(options.year, 10) : isHebrewYear ? new HDate().getFullYear() : new Date().getFullYear();
4973
5142
 
4974
5143
  if (isNaN(theYear)) {
4975
5144
  throw new RangeError(`Invalid year ${options.year}`);
@@ -4983,7 +5152,7 @@ function getStartAndEnd(options) {
4983
5152
 
4984
5153
  if (options.month) {
4985
5154
  if (isHebrewYear) {
4986
- theMonth = HDate$1.monthNum(options.month);
5155
+ theMonth = HDate.monthNum(options.month);
4987
5156
  } else {
4988
5157
  theMonth = options.month;
4989
5158
  }
@@ -4992,9 +5161,9 @@ function getStartAndEnd(options) {
4992
5161
  const numYears = parseInt(options.numYears, 10) || 1;
4993
5162
 
4994
5163
  if (isHebrewYear) {
4995
- const startDate = new HDate$1(1, theMonth || TISHREI, theYear);
5164
+ const startDate = new HDate(1, theMonth || TISHREI, theYear);
4996
5165
  let startAbs = startDate.abs();
4997
- const endAbs = options.month ? startAbs + startDate.daysInMonth() : new HDate$1(1, TISHREI, theYear + numYears).abs() - 1; // for full Hebrew year, start on Erev Rosh Hashana which
5166
+ const endAbs = options.month ? startAbs + startDate.daysInMonth() : new HDate(1, TISHREI, theYear + numYears).abs() - 1; // for full Hebrew year, start on Erev Rosh Hashana which
4998
5167
  // is technically in the previous Hebrew year
4999
5168
  // (but conveniently lets us get candle-lighting time for Erev)
5000
5169
 
@@ -5048,6 +5217,7 @@ function getMaskFromOptions(options) {
5048
5217
  if (m & DAF_YOMI) options.dafyomi = true;
5049
5218
  if (m & OMER_COUNT) options.omer = true;
5050
5219
  if (m & SHABBAT_MEVARCHIM) options.shabbatMevarchim = true;
5220
+ if (m & flags.MISHNA_YOMI) options.mishnaYomi = true;
5051
5221
  options.userMask = true;
5052
5222
  return m;
5053
5223
  }
@@ -5096,6 +5266,10 @@ function getMaskFromOptions(options) {
5096
5266
  mask |= DAF_YOMI;
5097
5267
  }
5098
5268
 
5269
+ if (options.mishnaYomi) {
5270
+ mask |= flags.MISHNA_YOMI;
5271
+ }
5272
+
5099
5273
  if (options.omer) {
5100
5274
  mask |= OMER_COUNT;
5101
5275
  }
@@ -5151,6 +5325,7 @@ const HebrewCalendar = {
5151
5325
  * * Parashat HaShavua - weekly Torah Reading on Saturdays (`options.sedrot`)
5152
5326
  * * Counting of the Omer (`options.omer`)
5153
5327
  * * Daf Yomi (`options.dafyomi`)
5328
+ * * Mishna Yomi (`options.mishnaYomi`)
5154
5329
  * * Shabbat Mevarchim HaChodesh on Saturday before Rosh Chodesh (`options.shabbatMevarchim`)
5155
5330
  * * Molad announcement on Saturday before Rosh Chodesh (`options.molad`)
5156
5331
  *
@@ -5257,8 +5432,14 @@ const HebrewCalendar = {
5257
5432
  options.candlelighting = false;
5258
5433
  }
5259
5434
 
5435
+ let mishnaYomiIndex;
5436
+
5437
+ if (options.mishnaYomi) {
5438
+ mishnaYomiIndex = new MinshnaYomiIndex();
5439
+ }
5440
+
5260
5441
  for (let abs = startAbs; abs <= endAbs; abs++) {
5261
- const hd = new HDate$1(abs);
5442
+ const hd = new HDate(abs);
5262
5443
  const hyear = hd.getFullYear();
5263
5444
 
5264
5445
  if (hyear != currentYear) {
@@ -5270,8 +5451,8 @@ const HebrewCalendar = {
5270
5451
  }
5271
5452
 
5272
5453
  if (options.omer) {
5273
- beginOmer = HDate$1.hebrew2abs(currentYear, NISAN, 16);
5274
- endOmer = HDate$1.hebrew2abs(currentYear, SIVAN, 5);
5454
+ beginOmer = HDate.hebrew2abs(currentYear, NISAN, 16);
5455
+ endOmer = HDate.hebrew2abs(currentYear, SIVAN, 5);
5275
5456
  }
5276
5457
  }
5277
5458
 
@@ -5295,6 +5476,11 @@ const HebrewCalendar = {
5295
5476
  evts.push(new DafYomiEvent(hd));
5296
5477
  }
5297
5478
 
5479
+ if (options.mishnaYomi && abs >= mishnaYomiStart) {
5480
+ const mishnaYomi = mishnaYomiIndex.lookup(abs);
5481
+ evts.push(new MishnaYomiEvent(hd, mishnaYomi));
5482
+ }
5483
+
5298
5484
  if (options.omer && abs >= beginOmer && abs <= endOmer) {
5299
5485
  const omer = abs - beginOmer + 1;
5300
5486
  evts.push(new OmerEvent(hd, omer));
@@ -5303,7 +5489,7 @@ const HebrewCalendar = {
5303
5489
  const hmonth = hd.getMonth();
5304
5490
 
5305
5491
  if (options.molad && dow == SAT && hmonth != ELUL && hd.getDate() >= 23 && hd.getDate() <= 29) {
5306
- const monNext = hmonth == HDate$1.monthsInYear(hyear) ? NISAN : hmonth + 1;
5492
+ const monNext = hmonth == HDate.monthsInYear(hyear) ? NISAN : hmonth + 1;
5307
5493
  evts.push(new MoladEvent(hd, hyear, monNext));
5308
5494
  }
5309
5495
 
@@ -5365,7 +5551,7 @@ const HebrewCalendar = {
5365
5551
  * @return {HDate} anniversary occurring in `hyear`
5366
5552
  */
5367
5553
  getBirthdayOrAnniversary: function (hyear, gdate) {
5368
- const orig = HDate$1.isHDate(gdate) ? gdate : new HDate$1(gdate);
5554
+ const orig = HDate.isHDate(gdate) ? gdate : new HDate(gdate);
5369
5555
  const origYear = orig.getFullYear();
5370
5556
 
5371
5557
  if (hyear <= origYear) {
@@ -5373,24 +5559,24 @@ const HebrewCalendar = {
5373
5559
  return undefined;
5374
5560
  }
5375
5561
 
5376
- const isOrigLeap = HDate$1.isLeapYear(origYear);
5562
+ const isOrigLeap = HDate.isLeapYear(origYear);
5377
5563
  let month = orig.getMonth();
5378
5564
  let day = orig.getDate();
5379
5565
 
5380
5566
  if (month == ADAR_I && !isOrigLeap || month == ADAR_II && isOrigLeap) {
5381
- month = HDate$1.monthsInYear(hyear);
5382
- } else if (month == CHESHVAN && day == 30 && !HDate$1.longCheshvan(hyear)) {
5567
+ month = HDate.monthsInYear(hyear);
5568
+ } else if (month == CHESHVAN && day == 30 && !HDate.longCheshvan(hyear)) {
5383
5569
  month = KISLEV;
5384
5570
  day = 1;
5385
- } else if (month == KISLEV && day == 30 && HDate$1.shortKislev(hyear)) {
5571
+ } else if (month == KISLEV && day == 30 && HDate.shortKislev(hyear)) {
5386
5572
  month = TEVET;
5387
5573
  day = 1;
5388
- } else if (month == ADAR_I && day == 30 && isOrigLeap && !HDate$1.isLeapYear(hyear)) {
5574
+ } else if (month == ADAR_I && day == 30 && isOrigLeap && !HDate.isLeapYear(hyear)) {
5389
5575
  month = NISAN;
5390
5576
  day = 1;
5391
5577
  }
5392
5578
 
5393
- return new HDate$1(day, month, hyear);
5579
+ return new HDate(day, month, hyear);
5394
5580
  },
5395
5581
 
5396
5582
  /**
@@ -5428,7 +5614,7 @@ const HebrewCalendar = {
5428
5614
  * @return {HDate} anniversary occurring in hyear
5429
5615
  */
5430
5616
  getYahrzeit: function (hyear, gdate) {
5431
- const orig = HDate$1.isHDate(gdate) ? gdate : new HDate$1(gdate);
5617
+ const orig = HDate.isHDate(gdate) ? gdate : new HDate(gdate);
5432
5618
  let hDeath = {
5433
5619
  yy: orig.getFullYear(),
5434
5620
  mm: orig.getMonth(),
@@ -5440,18 +5626,18 @@ const HebrewCalendar = {
5440
5626
  return undefined;
5441
5627
  }
5442
5628
 
5443
- if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate$1.longCheshvan(hDeath.yy + 1)) {
5629
+ if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate.longCheshvan(hDeath.yy + 1)) {
5444
5630
  // If it's Heshvan 30 it depends on the first anniversary;
5445
5631
  // if that was not Heshvan 30, use the day before Kislev 1.
5446
- hDeath = HDate$1.abs2hebrew(HDate$1.hebrew2abs(hyear, KISLEV, 1) - 1);
5447
- } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate$1.shortKislev(hDeath.yy + 1)) {
5632
+ hDeath = HDate.abs2hebrew(HDate.hebrew2abs(hyear, KISLEV, 1) - 1);
5633
+ } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate.shortKislev(hDeath.yy + 1)) {
5448
5634
  // If it's Kislev 30 it depends on the first anniversary;
5449
5635
  // if that was not Kislev 30, use the day before Teveth 1.
5450
- hDeath = HDate$1.abs2hebrew(HDate$1.hebrew2abs(hyear, TEVET, 1) - 1);
5636
+ hDeath = HDate.abs2hebrew(HDate.hebrew2abs(hyear, TEVET, 1) - 1);
5451
5637
  } else if (hDeath.mm == ADAR_II) {
5452
5638
  // If it's Adar II, use the same day in last month of year (Adar or Adar II).
5453
- hDeath.mm = HDate$1.monthsInYear(hyear);
5454
- } else if (hDeath.mm == ADAR_I && hDeath.dd == 30 && !HDate$1.isLeapYear(hyear)) {
5639
+ hDeath.mm = HDate.monthsInYear(hyear);
5640
+ } else if (hDeath.mm == ADAR_I && hDeath.dd == 30 && !HDate.isLeapYear(hyear)) {
5455
5641
  // If it's the 30th in Adar I and year is not a leap year
5456
5642
  // (so Adar has only 29 days), use the last day in Shevat.
5457
5643
  hDeath.dd = 30;
@@ -5460,15 +5646,15 @@ const HebrewCalendar = {
5460
5646
  // advance day to rosh chodesh if needed
5461
5647
 
5462
5648
 
5463
- if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate$1.longCheshvan(hyear)) {
5649
+ if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate.longCheshvan(hyear)) {
5464
5650
  hDeath.mm = KISLEV;
5465
5651
  hDeath.dd = 1;
5466
- } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate$1.shortKislev(hyear)) {
5652
+ } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate.shortKislev(hyear)) {
5467
5653
  hDeath.mm = TEVET;
5468
5654
  hDeath.dd = 1;
5469
5655
  }
5470
5656
 
5471
- return new HDate$1(hDeath.dd, hDeath.mm, hyear);
5657
+ return new HDate(hDeath.dd, hDeath.mm, hyear);
5472
5658
  },
5473
5659
 
5474
5660
  /**
@@ -5489,12 +5675,12 @@ const HebrewCalendar = {
5489
5675
  */
5490
5676
  getHolidaysForYearArray: function (year, il) {
5491
5677
  const yearMap = HebrewCalendar.getHolidaysForYear(year);
5492
- const startAbs = HDate$1.hebrew2abs(year, TISHREI, 1);
5493
- const endAbs = HDate$1.hebrew2abs(year + 1, TISHREI, 1) - 1;
5678
+ const startAbs = HDate.hebrew2abs(year, TISHREI, 1);
5679
+ const endAbs = HDate.hebrew2abs(year + 1, TISHREI, 1) - 1;
5494
5680
  const events = [];
5495
5681
 
5496
5682
  for (let absDt = startAbs; absDt <= endAbs; absDt++) {
5497
- const hd = new HDate$1(absDt);
5683
+ const hd = new HDate(absDt);
5498
5684
  const holidays = yearMap.get(hd.toString());
5499
5685
 
5500
5686
  if (holidays) {
@@ -5513,7 +5699,7 @@ const HebrewCalendar = {
5513
5699
  * @return {Event[]}
5514
5700
  */
5515
5701
  getHolidaysOnDate: function (date, il) {
5516
- const hd = HDate$1.isHDate(date) ? date : new HDate$1(date);
5702
+ const hd = HDate.isHDate(date) ? date : new HDate(date);
5517
5703
  const yearMap = HebrewCalendar.getHolidaysForYear(hd.getFullYear());
5518
5704
  const events = yearMap.get(hd.toString());
5519
5705
 
@@ -5643,4 +5829,4 @@ function appendHolidayAndRelated(events, ev, options, candlesEv, dow) {
5643
5829
  return candlesEv;
5644
5830
  }
5645
5831
 
5646
- export { AsaraBTevetEvent, CandleLightingEvent, DafYomi, DafYomiEvent, Event, HDate$1 as HDate, HavdalahEvent, HebrewCalendar, HebrewDateEvent, HolidayEvent, Locale, Location, MevarchimChodeshEvent, Molad, MoladEvent, OmerEvent, ParshaEvent, RoshChodeshEvent, RoshHashanaEvent, Sedra, TimedEvent, Zmanim, flags, gematriya, greg, months, parshiot, version };
5832
+ export { AsaraBTevetEvent, CandleLightingEvent, DafYomi, DafYomiEvent, Event, HDate, HavdalahEvent, HebrewCalendar, HebrewDateEvent, HolidayEvent, Locale, Location, MevarchimChodeshEvent, Molad, MoladEvent, OmerEvent, ParshaEvent, RoshChodeshEvent, RoshHashanaEvent, Sedra, TimedEvent, Zmanim, flags, gematriya, greg, months, parshiot, version };