@hebcal/core 3.41.3 → 3.42.1

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.41.3 */
1
+ /*! @hebcal/core v3.42.1 */
2
2
  /*
3
3
  * More minimal greg routines
4
4
  */
@@ -627,8 +627,8 @@ Locale.useLocale('en');
627
627
  /*
628
628
  * More minimal HDate
629
629
  */
630
- const NISAN$3 = 1;
631
- const IYYAR$1 = 2; // const SIVAN = 3;
630
+ const NISAN$4 = 1;
631
+ const IYYAR$2 = 2; // const SIVAN = 3;
632
632
 
633
633
  const TAMUZ$1 = 4; // const AV = 5;
634
634
 
@@ -717,7 +717,7 @@ function hebrew2abs(year, month, day) {
717
717
  tempabs += daysInMonth(m, year);
718
718
  }
719
719
 
720
- for (let m = NISAN$3; m < month; m++) {
720
+ for (let m = NISAN$4; m < month; m++) {
721
721
  tempabs += daysInMonth(m, year);
722
722
  }
723
723
  } else {
@@ -802,7 +802,7 @@ function monthsInYear(year) {
802
802
 
803
803
  function daysInMonth(month, year) {
804
804
  switch (month) {
805
- case IYYAR$1:
805
+ case IYYAR$2:
806
806
  case TAMUZ$1:
807
807
  case ELUL$2:
808
808
  case TEVET$2:
@@ -1930,7 +1930,10 @@ const flags = {
1930
1930
  CHOL_HAMOED: 0x200000,
1931
1931
 
1932
1932
  /** Mishna Yomi */
1933
- MISHNA_YOMI: 0x400000
1933
+ MISHNA_YOMI: 0x400000,
1934
+
1935
+ /** Yom Kippur Katan, minor day of atonement on the day preceeding each Rosh Chodesh */
1936
+ YOM_KIPPUR_KATAN: 0x800000
1934
1937
  };
1935
1938
  /** Represents an Event with a title, date, and flags */
1936
1939
 
@@ -3351,6 +3354,7 @@ class Location {
3351
3354
  }
3352
3355
  /**
3353
3356
  * Builds a city description from geonameid string components
3357
+ * @deprecated
3354
3358
  * @param {string} cityName e.g. 'Tel Aviv' or 'Chicago'
3355
3359
  * @param {string} admin1 e.g. 'England' or 'Massachusetts'
3356
3360
  * @param {string} countryName full country name, e.g. 'Israel' or 'United States'
@@ -4488,7 +4492,7 @@ const SHAVUOT = 'Shavuot'; // 33
4488
4492
  * @return {number[]}
4489
4493
  */
4490
4494
 
4491
- function range(start, stop) {
4495
+ function range$1(start, stop) {
4492
4496
  return Array.from({
4493
4497
  length: stop - start + 1
4494
4498
  }, (v, k) => k + start);
@@ -4506,78 +4510,78 @@ const types = {
4506
4510
  /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and
4507
4511
  * Kislev each have 29 days), and has Passover start on Tuesday. */
4508
4512
  // e.g. 5753
4509
- '020': [51, 52].concat(EOY, range(0, 20), D(21), 23, 24, PESACH, 25, D(26), D(28), 30, D(31), range(33, 40), D(41), range(43, 49), D(50)),
4513
+ '020': [51, 52].concat(EOY, range$1(0, 20), D(21), 23, 24, PESACH, 25, D(26), D(28), 30, D(31), range$1(33, 40), D(41), range$1(43, 49), D(50)),
4510
4514
 
4511
4515
  /* Hebrew year that starts on Monday, is `complete' (Heshvan and
4512
4516
  * Kislev each have 30 days), and has Passover start on Thursday. */
4513
4517
  // e.g. 5756
4514
- '0220': [51, 52].concat(EOY, range(0, 20), D(21), 23, 24, PESACH, 25, D(26), D(28), 30, D(31), 33, SHAVUOT, range(34, 37), D(38), 40, D(41), range(43, 49), D(50)),
4518
+ '0220': [51, 52].concat(EOY, range$1(0, 20), D(21), 23, 24, PESACH, 25, D(26), D(28), 30, D(31), 33, SHAVUOT, range$1(34, 37), D(38), 40, D(41), range$1(43, 49), D(50)),
4515
4519
 
4516
4520
  /* Hebrew year that starts on Thursday, is `regular' (Heshvan has 29
4517
4521
  * days and Kislev has 30 days), and has Passover start on Saturday. */
4518
4522
  // e.g. 5701
4519
- '0510': [52].concat(YK, EOY, range(0, 20), D(21), 23, 24, PESACH1, PESACH8, 25, D(26), D(28), 30, D(31), range(33, 40), D(41), range(43, 50)),
4523
+ '0510': [52].concat(YK, EOY, range$1(0, 20), D(21), 23, 24, PESACH1, PESACH8, 25, D(26), D(28), 30, D(31), range$1(33, 40), D(41), range$1(43, 50)),
4520
4524
 
4521
4525
  /* Hebrew year that starts on Thursday, is `regular' (Heshvan has 29
4522
4526
  * days and Kislev has 30 days), and has Passover start on Saturday. */
4523
4527
  // e.g. 5745
4524
- '0511': [52].concat(YK, EOY, range(0, 20), D(21), 23, 24, PESACH, 25, D(26), D(28), range(30, 40), D(41), range(43, 50)),
4528
+ '0511': [52].concat(YK, EOY, range$1(0, 20), D(21), 23, 24, PESACH, 25, D(26), D(28), range$1(30, 40), D(41), range$1(43, 50)),
4525
4529
 
4526
4530
  /* Hebrew year that starts on Thursday, is `complete' (Heshvan and
4527
4531
  * Kislev each have 30 days), and has Passover start on Sunday. */
4528
4532
  // e.g. 5754
4529
- '052': [52].concat(YK, CHMSUKOT, range(0, 24), PESACH7, 25, D(26), D(28), 30, D(31), range(33, 40), D(41), range(43, 50)),
4533
+ '052': [52].concat(YK, CHMSUKOT, range$1(0, 24), PESACH7, 25, D(26), D(28), 30, D(31), range$1(33, 40), D(41), range$1(43, 50)),
4530
4534
 
4531
4535
  /* Hebrew year that starts on Saturday, is `incomplete' (Heshvan and Kislev
4532
4536
  * each have 29 days), and has Passover start on Sunday. */
4533
4537
  // e.g. 5761
4534
- '070': [].concat(RH, 52, SUKKOT, SHMINI, range(0, 20), D(21), 23, 24, PESACH7, 25, D(26), D(28), 30, D(31), range(33, 40), D(41), range(43, 50)),
4538
+ '070': [].concat(RH, 52, SUKKOT, SHMINI, range$1(0, 20), D(21), 23, 24, PESACH7, 25, D(26), D(28), 30, D(31), range$1(33, 40), D(41), range$1(43, 50)),
4535
4539
 
4536
4540
  /* Hebrew year that starts on Saturday, is `complete' (Heshvan and
4537
4541
  * Kislev each have 30 days), and has Passover start on Tuesday. */
4538
4542
  // e.g. 5716
4539
- '072': [].concat(RH, 52, SUKKOT, SHMINI, range(0, 20), D(21), 23, 24, CHMPESACH, 25, D(26), D(28), 30, D(31), range(33, 40), D(41), range(43, 49), D(50)),
4543
+ '072': [].concat(RH, 52, SUKKOT, SHMINI, range$1(0, 20), D(21), 23, 24, CHMPESACH, 25, D(26), D(28), 30, D(31), range$1(33, 40), D(41), range$1(43, 49), D(50)),
4540
4544
 
4541
4545
  /* -- The leap year types (keviot) -- */
4542
4546
 
4543
4547
  /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and
4544
4548
  * Kislev each have 29 days), and has Passover start on Thursday. */
4545
4549
  // e.g. 5746
4546
- '1200': [51, 52].concat(CHMSUKOT, range(0, 27), CHMPESACH, range(28, 33), SHAVUOT, range(34, 37), D(38), 40, D(41), range(43, 49), D(50)),
4550
+ '1200': [51, 52].concat(CHMSUKOT, range$1(0, 27), CHMPESACH, range$1(28, 33), SHAVUOT, range$1(34, 37), D(38), 40, D(41), range$1(43, 49), D(50)),
4547
4551
 
4548
4552
  /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and
4549
4553
  * Kislev each have 29 days), and has Passover start on Thursday. */
4550
4554
  // e.g. 5746
4551
- '1201': [51, 52].concat(CHMSUKOT, range(0, 27), CHMPESACH, range(28, 40), D(41), range(43, 49), D(50)),
4555
+ '1201': [51, 52].concat(CHMSUKOT, range$1(0, 27), CHMPESACH, range$1(28, 40), D(41), range$1(43, 49), D(50)),
4552
4556
 
4553
4557
  /* Hebrew year that starts on Monday, is `complete' (Heshvan and
4554
4558
  * Kislev each have 30 days), and has Passover start on Saturday. */
4555
4559
  // e.g.5752
4556
- '1220': [51, 52].concat(CHMSUKOT, range(0, 27), PESACH1, PESACH8, range(28, 40), D(41), range(43, 50)),
4560
+ '1220': [51, 52].concat(CHMSUKOT, range$1(0, 27), PESACH1, PESACH8, range$1(28, 40), D(41), range$1(43, 50)),
4557
4561
 
4558
4562
  /* Hebrew year that starts on Monday, is `complete' (Heshvan and
4559
4563
  * Kislev each have 30 days), and has Passover start on Saturday. */
4560
4564
  // e.g.5752
4561
- '1221': [51, 52].concat(CHMSUKOT, range(0, 27), PESACH, range(28, 50)),
4565
+ '1221': [51, 52].concat(CHMSUKOT, range$1(0, 27), PESACH, range$1(28, 50)),
4562
4566
 
4563
4567
  /* Hebrew year that starts on Thursday, is `incomplete' (Heshvan and
4564
4568
  * Kislev both have 29 days), and has Passover start on Sunday. */
4565
4569
  // e.g. 5768
4566
- '150': [52].concat(YK, CHMSUKOT, range(0, 28), PESACH7, range(29, 50)),
4570
+ '150': [52].concat(YK, CHMSUKOT, range$1(0, 28), PESACH7, range$1(29, 50)),
4567
4571
 
4568
4572
  /* Hebrew year that starts on Thursday, is `complete' (Heshvan and
4569
4573
  * Kislev both have 30 days), and has Passover start on Tuesday. */
4570
4574
  // eg. 5771
4571
- '152': [52].concat(YK, CHMSUKOT, range(0, 28), CHMPESACH, range(29, 49), D(50)),
4575
+ '152': [52].concat(YK, CHMSUKOT, range$1(0, 28), CHMPESACH, range$1(29, 49), D(50)),
4572
4576
 
4573
4577
  /* Hebrew year that starts on Saturday, is `incomplete' (Heshvan and
4574
4578
  * Kislev each have 29 days), and has Passover start on Tuesday. */
4575
4579
  // e.g.5757
4576
- '170': [].concat(RH, 52, SUKKOT, SHMINI, range(0, 27), CHMPESACH, range(28, 40), D(41), range(43, 49), D(50)),
4580
+ '170': [].concat(RH, 52, SUKKOT, SHMINI, range$1(0, 27), CHMPESACH, range$1(28, 40), D(41), range$1(43, 49), D(50)),
4577
4581
 
4578
4582
  /* Hebrew year that starts on Saturday, is `complete' (Heshvan and
4579
4583
  * Kislev each have 30 days), and has Passover start on Thursday. */
4580
- '1720': [].concat(RH, 52, SUKKOT, SHMINI, range(0, 27), CHMPESACH, range(28, 33), SHAVUOT, range(34, 37), D(38), 40, D(41), range(43, 49), D(50))
4584
+ '1720': [].concat(RH, 52, SUKKOT, SHMINI, range$1(0, 27), CHMPESACH, range$1(28, 33), SHAVUOT, range$1(34, 37), D(38), 40, D(41), range$1(43, 49), D(50))
4581
4585
  };
4582
4586
  /* Hebrew year that starts on Monday, is `complete' (Heshvan and
4583
4587
  * Kislev each have 30 days), and has Passover start on Thursday. */
@@ -4679,6 +4683,70 @@ class ParshaEvent extends Event {
4679
4683
 
4680
4684
  }
4681
4685
 
4686
+ const SUN$1 = 0;
4687
+ const TUE$1 = 2;
4688
+ const FRI$2 = 5;
4689
+ const SAT$2 = 6;
4690
+ const NISAN$3 = months.NISAN;
4691
+ const IYYAR$1 = months.IYYAR;
4692
+ /**
4693
+ * Yom HaShoah first observed in 1951.
4694
+ * When the actual date of Yom Hashoah falls on a Friday, the
4695
+ * state of Israel observes Yom Hashoah on the preceding
4696
+ * Thursday. When it falls on a Sunday, Yom Hashoah is observed
4697
+ * on the following Monday.
4698
+ * http://www.ushmm.org/remembrance/dor/calendar/
4699
+ * @private
4700
+ * @param {number} year
4701
+ * @return {HDate|null}
4702
+ */
4703
+
4704
+ function dateYomHaShoah(year) {
4705
+ if (year < 5711) {
4706
+ return null;
4707
+ }
4708
+
4709
+ let nisan27dt = new HDate(27, NISAN$3, year);
4710
+
4711
+ if (nisan27dt.getDay() === FRI$2) {
4712
+ nisan27dt = new HDate(26, NISAN$3, year);
4713
+ } else if (nisan27dt.getDay() === SUN$1) {
4714
+ nisan27dt = new HDate(28, NISAN$3, year);
4715
+ }
4716
+
4717
+ return nisan27dt;
4718
+ }
4719
+ /**
4720
+ * Yom HaAtzma'ut only celebrated after 1948
4721
+ * @private
4722
+ * @param {number} year
4723
+ * @return {HDate|null}
4724
+ */
4725
+
4726
+ function dateYomHaZikaron(year) {
4727
+ if (year < 5708) {
4728
+ return null;
4729
+ }
4730
+
4731
+ let day;
4732
+ const pesach = new HDate(15, NISAN$3, year);
4733
+ const pdow = pesach.getDay();
4734
+
4735
+ if (pdow === SUN$1) {
4736
+ day = 2;
4737
+ } else if (pdow === SAT$2) {
4738
+ day = 3;
4739
+ } else if (year < 5764) {
4740
+ day = 4;
4741
+ } else if (pdow === TUE$1) {
4742
+ day = 5;
4743
+ } else {
4744
+ day = 4;
4745
+ }
4746
+
4747
+ return new HDate(day, IYYAR$1, year);
4748
+ }
4749
+
4682
4750
  /*
4683
4751
  Hebcal - A Jewish Calendar Generator
4684
4752
  Copyright (c) 1994-2020 Danny Sadinoff
@@ -4888,7 +4956,7 @@ class YomKippurKatanEvent extends HolidayEvent {
4888
4956
  * @param {string} nextMonthName name of the upcoming month
4889
4957
  */
4890
4958
  constructor(date, nextMonthName) {
4891
- super(date, `${ykk} ${nextMonthName}`, flags.MINOR_FAST);
4959
+ super(date, `${ykk} ${nextMonthName}`, flags.MINOR_FAST | flags.YOM_KIPPUR_KATAN);
4892
4960
  this.nextMonthName = nextMonthName;
4893
4961
  this.memo = `Minor Day of Atonement on the day preceeding Rosh Chodesh ${nextMonthName}`;
4894
4962
  }
@@ -5226,42 +5294,16 @@ function getHolidaysForYear_(year) {
5226
5294
  }));
5227
5295
  }
5228
5296
 
5229
- if (year >= 5711) {
5230
- // Yom HaShoah first observed in 1951
5231
- let nisan27dt = new HDate(27, NISAN$2, year);
5232
- /* When the actual date of Yom Hashoah falls on a Friday, the
5233
- * state of Israel observes Yom Hashoah on the preceding
5234
- * Thursday. When it falls on a Sunday, Yom Hashoah is observed
5235
- * on the following Monday.
5236
- * http://www.ushmm.org/remembrance/dor/calendar/
5237
- */
5238
-
5239
- if (nisan27dt.getDay() == FRI$1) {
5240
- nisan27dt = new HDate(26, NISAN$2, year);
5241
- } else if (nisan27dt.getDay() == SUN) {
5242
- nisan27dt = new HDate(28, NISAN$2, year);
5243
- }
5297
+ const nisan27dt = dateYomHaShoah(year);
5244
5298
 
5299
+ if (nisan27dt) {
5245
5300
  add(new HolidayEvent(nisan27dt, 'Yom HaShoah', MODERN_HOLIDAY$1));
5246
5301
  }
5247
5302
 
5248
- if (year >= 5708) {
5249
- // Yom HaAtzma'ut only celebrated after 1948
5250
- let day;
5303
+ const yomHaZikaronDt = dateYomHaZikaron(year);
5251
5304
 
5252
- if (pesach.getDay() == SUN) {
5253
- day = 2;
5254
- } else if (pesach.getDay() == SAT$1) {
5255
- day = 3;
5256
- } else if (year < 5764) {
5257
- day = 4;
5258
- } else if (pesach.getDay() == TUE) {
5259
- day = 5;
5260
- } else {
5261
- day = 4;
5262
- }
5263
-
5264
- 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));
5305
+ if (yomHaZikaronDt) {
5306
+ add(new HolidayEvent(yomHaZikaronDt, 'Yom HaZikaron', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(yomHaZikaronDt.next(), 'Yom HaAtzma\'ut', MODERN_HOLIDAY$1, emojiIsraelFlag));
5265
5307
  }
5266
5308
 
5267
5309
  if (year >= 5727) {
@@ -5605,14 +5647,14 @@ function getBirthdayOrAnniversary_(hyear, gdate) {
5605
5647
  return new HDate(day, month, hyear);
5606
5648
  }
5607
5649
 
5608
- const version="3.41.3";
5650
+ const version="3.42.1";
5609
5651
 
5610
- const headers$1={"plural-forms":"nplurals=2; plural=(n > 1);",language:"en_CA@ashkenazi"};const 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};
5652
+ const headers$1={"plural-forms":"nplurals=2; plural=(n > 1);"};const 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"],"Alot HaShachar":["Alos HaShachar"],Misheyakir:["Misheyakir"],"Kriat Shema, sof zeman":["Krias Shema, sof zman"],"Tefilah, sof zeman":["Tefilah, sof zman"],"Chatzot hayom":["Chatzos"],"Tzait HaKochavim":["Tzeis HaKochavim"]}};var poAshkenazi = {headers:headers$1,contexts:contexts$1};
5611
5653
 
5612
5654
  Locale.addLocale('ashkenazi', poAshkenazi);
5613
5655
  Locale.addLocale('a', poAshkenazi);
5614
5656
 
5615
- const headers={"plural-forms":"nplurals=2; plural=(n > 1);",language:"he_IL"};const 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:["עוקצים"],"Yom Kippur Katan":["יוֹם כִּפּוּר קָטָן"]}};var poHe = {headers:headers,contexts:contexts};
5657
+ const headers={"plural-forms":"nplurals=2; plural=(n > 1);"};const 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:["עוקצים"],"Yom Kippur Katan":["יוֹם כִּפּוּר קָטָן"]}};var poHe = {headers:headers,contexts:contexts};
5616
5658
 
5617
5659
  Locale.addLocale('he', poHe);
5618
5660
  Locale.addLocale('h', poHe);
@@ -5629,6 +5671,186 @@ const poHeNoNikud = {
5629
5671
  };
5630
5672
  Locale.addLocale('he-x-NoNikud', poHeNoNikud);
5631
5673
 
5674
+ const NONE$1 = 0;
5675
+ const HALF = 1;
5676
+ const WHOLE = 2;
5677
+ /**
5678
+ * @private
5679
+ * @param {Event[]} events
5680
+ * @param {HDate} hdate
5681
+ * @return {number}
5682
+ */
5683
+
5684
+ function hallel_(events, hdate) {
5685
+ const whole = events.filter(ev => {
5686
+ /** @type {string} */
5687
+ const desc = ev.getDesc();
5688
+ /** @type {HDate} */
5689
+
5690
+ const hd = ev.getDate();
5691
+ const month = hd.getMonth();
5692
+ const mday = hd.getDate();
5693
+ return desc.startsWith('Chanukah') || desc.startsWith('Shavuot') || desc.startsWith('Sukkot') || month === months.NISAN && (mday === 15 || mday === 16) && ev.getFlags() & flags.CHAG || // Pesach
5694
+ desc === 'Yom HaAtzma\'ut' || desc === 'Yom Yerushalayim';
5695
+ }).map(ev => {
5696
+ return ev.getDate().abs();
5697
+ });
5698
+ const abs = hdate.abs();
5699
+
5700
+ if (whole.includes(abs)) {
5701
+ return WHOLE;
5702
+ }
5703
+
5704
+ const half = events.filter(ev => {
5705
+ const desc = ev.getDesc();
5706
+ return ev.getFlags() & flags.ROSH_CHODESH || desc.startsWith('Pesach') && desc !== 'Pesach I' && desc !== 'Pesach II';
5707
+ }).map(ev => {
5708
+ return ev.getDate().abs();
5709
+ });
5710
+
5711
+ if (half.includes(abs)) {
5712
+ return HALF;
5713
+ }
5714
+
5715
+ return NONE$1;
5716
+ }
5717
+
5718
+ /**
5719
+ * @private
5720
+ * @param {number} start
5721
+ * @param {number} end
5722
+ * @return {number[]}
5723
+ */
5724
+
5725
+ function range(start, end) {
5726
+ const arr = [];
5727
+
5728
+ for (let i = start; i <= end; i++) {
5729
+ arr.push(i);
5730
+ }
5731
+
5732
+ return arr;
5733
+ }
5734
+
5735
+ const cache = Object.create(null);
5736
+ const NONE = {
5737
+ shacharit: false,
5738
+ mincha: false,
5739
+ allCongs: false
5740
+ };
5741
+ /**
5742
+ * @private
5743
+ * @param {HDate} hdate
5744
+ * @param {boolean} il
5745
+ * @return {TachanunResult}
5746
+ */
5747
+
5748
+ function tachanun_(hdate, il) {
5749
+ return tachanun0(hdate, il, true);
5750
+ }
5751
+ /**
5752
+ * @private
5753
+ * @param {HDate} hdate
5754
+ * @param {boolean} il
5755
+ * @param {boolean} checkNext
5756
+ * @return {TachanunResult}
5757
+ */
5758
+
5759
+ function tachanun0(hdate, il, checkNext) {
5760
+ const year = hdate.getFullYear();
5761
+ const key = `${year}-${il ? 1 : 0}`;
5762
+ const dates = cache[key] = cache[key] || tachanunYear(year, il);
5763
+ const abs = hdate.abs();
5764
+
5765
+ if (dates.none.indexOf(abs) > -1) {
5766
+ return NONE;
5767
+ }
5768
+
5769
+ const dow = hdate.getDay();
5770
+ const ret = {
5771
+ shacharit: false,
5772
+ mincha: false,
5773
+ allCongs: false
5774
+ };
5775
+
5776
+ if (dates.some.indexOf(abs) === -1) {
5777
+ ret.allCongs = true;
5778
+ }
5779
+
5780
+ if (dow !== 6) {
5781
+ ret.shacharit = true;
5782
+ }
5783
+
5784
+ const tomorrow = abs + 1;
5785
+
5786
+ if (checkNext && dates.yesPrev.indexOf(tomorrow) === -1) {
5787
+ const tmp = tachanun0(new HDate(tomorrow), il, false);
5788
+ ret.mincha = tmp.shacharit;
5789
+ } else {
5790
+ ret.mincha = dow !== 5;
5791
+ }
5792
+
5793
+ if (ret.allCongs && !ret.mincha && !ret.shacharit) {
5794
+ return NONE;
5795
+ }
5796
+
5797
+ return ret;
5798
+ }
5799
+ /**
5800
+ * @private
5801
+ * @param {number} year
5802
+ * @param {boolean} il
5803
+ * @return {*}
5804
+ */
5805
+
5806
+
5807
+ function tachanunYear(year, il) {
5808
+ const leap = HDate.isLeapYear(year);
5809
+ const monthsInYear = 12 + leap;
5810
+ let av9dt = new HDate(9, months.AV, year);
5811
+
5812
+ if (av9dt.getDay() === 6) {
5813
+ av9dt = av9dt.next();
5814
+ }
5815
+
5816
+ let shushPurim = new HDate(15, months.ADAR_II, year);
5817
+
5818
+ if (shushPurim.getDay() === 6) {
5819
+ shushPurim = shushPurim.next();
5820
+ }
5821
+
5822
+ const none = [].concat( // Rosh Chodesh - 1st of every month. Also includes RH day 1 (1 Tishrei)
5823
+ range(1, monthsInYear).map(month => new HDate(1, month, year)), // Rosh Chodesh - 30th of months that have one
5824
+ range(1, monthsInYear).filter(month => HDate.daysInMonth(month, year) === 30).map(month => new HDate(30, month, year)), new HDate(2, months.TISHREI, year), // Rosh Hashana II
5825
+ // entire month of Nisan
5826
+ range(1, HDate.daysInMonth(months.NISAN, year)).map(mday => new HDate(mday, months.NISAN, year)), new HDate(18, months.IYYAR, year), // Lag BaOmer
5827
+ // Rosh Chodesh Sivan thru Isru Chag
5828
+ range(1, 8 - (il ? 1 : 0)).map(mday => new HDate(mday, months.SIVAN, year)), av9dt, // Tisha B'Av
5829
+ new HDate(15, months.AV, year), // Tu B'Av
5830
+ new HDate(29, months.ELUL, year), // Erev Rosh Hashanah
5831
+ // Erev Yom Kippur thru Isru Chag
5832
+ range(9, 24 - (il ? 1 : 0)).map(mday => new HDate(mday, months.TISHREI, year)), // Chanukah
5833
+ range(25, 33).map(mday => new HDate(mday, months.KISLEV, year)), new HDate(15, months.SHVAT, year), // Tu BiShvat
5834
+ new HDate(14, months.ADAR_II, year), // Purim
5835
+ shushPurim, leap ? new HDate(14, months.ADAR_I, year) : [] // Purim Katan
5836
+ );
5837
+ const some = [].concat( // Until 14 Sivan
5838
+ range(1, 13).map(mday => new HDate(mday, months.SIVAN, year)), // Until after Rosh Chodesh Cheshvan
5839
+ range(20, 31).map(mday => new HDate(mday, months.TISHREI, year)), new HDate(14, months.IYYAR, year), // Pesach Sheini
5840
+ // Yom HaAtzma'ut, which changes based on day of week
5841
+ year >= 5708 ? dateYomHaZikaron(year).next() : [], // Yom Yerushalayim
5842
+ year >= 5727 ? new HDate(28, months.IYYAR, year) : []);
5843
+ const yesPrev = [].concat(new HDate(29, months.ELUL, year - 1), // Erev Rosh Hashanah
5844
+ new HDate(9, months.TISHREI, year), // Erev Yom Kippur
5845
+ new HDate(14, months.IYYAR, year) // Pesach Sheini
5846
+ );
5847
+ return {
5848
+ none: none.map(hd => hd.abs()).sort(),
5849
+ some: some.map(hd => hd.abs()).sort(),
5850
+ yesPrev: yesPrev.map(hd => hd.abs()).sort()
5851
+ };
5852
+ }
5853
+
5632
5854
  /*
5633
5855
  Hebcal - A Jewish Calendar Generator
5634
5856
  Copyright (c) 1994-2020 Danny Sadinoff
@@ -5823,6 +6045,13 @@ function checkCandleOptions(options) {
5823
6045
  * Possible values are `true` and `false`; the default is locale dependent.
5824
6046
  */
5825
6047
 
6048
+ /**
6049
+ * @typedef {Object} TachanunResult
6050
+ * @property {boolean} shacharit Tachanun is said at Shacharit
6051
+ * @property {boolean} mincha Tachanun is said at Mincha
6052
+ * @property {boolean} allCongs All congregations say Tachanun on the day
6053
+ */
6054
+
5826
6055
  /**
5827
6056
  * Gets the R.D. days for a number, Date, or HDate
5828
6057
  * @private
@@ -5933,6 +6162,7 @@ function getMaskFromOptions(options) {
5933
6162
  if (m & OMER_COUNT) options.omer = true;
5934
6163
  if (m & SHABBAT_MEVARCHIM) options.shabbatMevarchim = true;
5935
6164
  if (m & flags.MISHNA_YOMI) options.mishnaYomi = true;
6165
+ if (m & flags.YOM_KIPPUR_KATAN) options.yomKippurKatan = true;
5936
6166
  options.userMask = true;
5937
6167
  return m;
5938
6168
  }
@@ -5993,6 +6223,10 @@ function getMaskFromOptions(options) {
5993
6223
  mask |= SHABBAT_MEVARCHIM;
5994
6224
  }
5995
6225
 
6226
+ if (options.yomKippurKatan) {
6227
+ mask |= flags.YOM_KIPPUR_KATAN;
6228
+ }
6229
+
5996
6230
  return mask;
5997
6231
  }
5998
6232
 
@@ -6031,6 +6265,8 @@ function observedInIsrael(ev) {
6031
6265
  function observedInDiaspora(ev) {
6032
6266
  return ev.observedInDiaspora();
6033
6267
  }
6268
+
6269
+ const yearArrayCache = Object.create(null);
6034
6270
  /**
6035
6271
  * HebrewCalendar is the main interface to the `@hebcal/core` library.
6036
6272
  * This namespace is used to calculate holidays, rosh chodesh, candle lighting & havdalah times,
@@ -6038,7 +6274,6 @@ function observedInDiaspora(ev) {
6038
6274
  * Event names can be rendered in several languges using the `locale` option.
6039
6275
  */
6040
6276
 
6041
-
6042
6277
  class HebrewCalendar {
6043
6278
  /**
6044
6279
  * Calculates holidays and other Hebrew calendar events based on {@link CalOptions}.
@@ -6075,6 +6310,7 @@ class HebrewCalendar {
6075
6310
  * * Mishna Yomi (`options.mishnaYomi`)
6076
6311
  * * Shabbat Mevarchim HaChodesh on Saturday before Rosh Chodesh (`options.shabbatMevarchim`)
6077
6312
  * * Molad announcement on Saturday before Rosh Chodesh (`options.molad`)
6313
+ * * Yom Kippur Katan (`options.yomKippurKatan`)
6078
6314
  *
6079
6315
  * Candle-lighting and Havdalah times are approximated using latitude and longitude
6080
6316
  * specified by the {@link Location} class. The `Location` class contains a small
@@ -6373,10 +6609,17 @@ class HebrewCalendar {
6373
6609
 
6374
6610
 
6375
6611
  static getHolidaysForYearArray(year, il) {
6612
+ const cacheKey = `${year}-${il ? 1 : 0}`;
6613
+ let events = yearArrayCache[cacheKey];
6614
+
6615
+ if (events) {
6616
+ return events;
6617
+ }
6618
+
6376
6619
  const yearMap = getHolidaysForYear_(year);
6377
6620
  const startAbs = HDate.hebrew2abs(year, TISHREI, 1);
6378
6621
  const endAbs = HDate.hebrew2abs(year + 1, TISHREI, 1) - 1;
6379
- let events = [];
6622
+ events = [];
6380
6623
  const myFilter = il ? observedInIsrael : observedInDiaspora;
6381
6624
 
6382
6625
  for (let absDt = startAbs; absDt <= endAbs; absDt++) {
@@ -6389,6 +6632,7 @@ class HebrewCalendar {
6389
6632
  }
6390
6633
  }
6391
6634
 
6635
+ yearArrayCache[cacheKey] = events;
6392
6636
  return events;
6393
6637
  }
6394
6638
  /**
@@ -6466,6 +6710,54 @@ class HebrewCalendar {
6466
6710
  static getSedra(hyear, il) {
6467
6711
  return getSedra_(hyear, il);
6468
6712
  }
6713
+ /**
6714
+ * Return a number containing information on what Hallel is said on that day.
6715
+ *
6716
+ * Whole Hallel is said on Chanukah, the first Yom Tov of Pesach, Shavuot, Sukkot,
6717
+ * Yom Ha'atzmaut, and Yom Yerushalayim.
6718
+ *
6719
+ * Half Hallel is said on Rosh Chodesh (not Rosh Hashanah), and the last 6 days of Pesach.
6720
+ *
6721
+ * The number is one of the following values:
6722
+ *
6723
+ * 0 - No Hallel
6724
+ * 1 - Half Hallel
6725
+ * 2 - Whole Hallel
6726
+ *
6727
+ * @param {HDate} hdate
6728
+ * @param {boolean} il
6729
+ * @return {number}
6730
+ */
6731
+
6732
+
6733
+ static hallel(hdate, il) {
6734
+ const events = HebrewCalendar.getHolidaysForYearArray(hdate.getFullYear(), il);
6735
+ return hallel_(events, hdate);
6736
+ }
6737
+ /**
6738
+ * Return details on what Tachanun (or Tzidchatcha on Shabbat) is said on `hdate`.
6739
+ *
6740
+ * Tachanun is not said on Rosh Chodesh, the month of Nisan, Lag Baomer,
6741
+ * Rosh Chodesh Sivan until Isru Chag, Tisha B'av, 15 Av, Erev Rosh Hashanah,
6742
+ * Rosh Hashanah, Erev Yom Kippur until after Simchat Torah, Chanukah,
6743
+ * Tu B'shvat, Purim and Shushan Purim, and Purim and Shushan Purim Katan.
6744
+ *
6745
+ * In some congregations Tachanun is not said until from Rosh Chodesh Sivan
6746
+ * until 14th Sivan, Sukkot until after Rosh Chodesh Cheshvan, Pesach Sheini,
6747
+ * Yom Ha'atzmaut, and Yom Yerushalayim.
6748
+ *
6749
+ * Tachanun is not said at Mincha on days before it is not said at Shacharit.
6750
+ *
6751
+ * Tachanun is not said at Shacharit on Shabbat, but is at Mincha, usually.
6752
+ * @param {HDate} hdate
6753
+ * @param {boolean} il
6754
+ * @return {TachanunResult}
6755
+ */
6756
+
6757
+
6758
+ static tachanun(hdate, il) {
6759
+ return tachanun_(hdate, il);
6760
+ }
6469
6761
 
6470
6762
  }
6471
6763
  /**
@@ -6487,11 +6779,12 @@ function appendHolidayAndRelated(events, ev, options, candlesEv, dow) {
6487
6779
  return candlesEv; // holiday isn't observed here; bail out early
6488
6780
  }
6489
6781
 
6490
- if (ev instanceof YomKippurKatanEvent && !options.yomKippurKatan) {
6782
+ const eFlags = ev.getFlags();
6783
+
6784
+ if (!options.yomKippurKatan && eFlags & flags.YOM_KIPPUR_KATAN) {
6491
6785
  return candlesEv; // bail out early
6492
6786
  }
6493
6787
 
6494
- const eFlags = ev.getFlags();
6495
6788
  const location = options.location;
6496
6789
  const isMajorFast = Boolean(eFlags & MAJOR_FAST);
6497
6790
  const isMinorFast = Boolean(eFlags & MINOR_FAST);
@@ -6525,7 +6818,9 @@ function appendHolidayAndRelated(events, ev, options, candlesEv, dow) {
6525
6818
  }
6526
6819
  }
6527
6820
 
6528
- if (!options.noHolidays) {
6821
+ if (options.yomKippurKatan && eFlags & flags.YOM_KIPPUR_KATAN) {
6822
+ events.push(ev);
6823
+ } else if (!options.noHolidays) {
6529
6824
  events.push(ev); // the original event itself
6530
6825
  }
6531
6826
  }