@hebcal/leyning 4.20.1 → 5.2.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,24 +1,17 @@
1
- /*! @hebcal/leyning v4.20.1 */
2
- import { parshiot, flags, months, HDate, HebrewCalendar, Event, Locale, ParshaEvent } from '@hebcal/core';
1
+ /*! @hebcal/leyning v5.1.0 */
2
+ import { flags, months, HDate, HebrewCalendar, Event, Locale, ParshaEvent, parshiot } from '@hebcal/core';
3
3
 
4
4
  const Genesis=[0,31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,54,33,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,33,26];const Exodus=[0,22,25,22,31,23,30,29,28,35,29,10,51,22,31,27,36,16,27,25,26,37,30,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,38];const Leviticus=[0,17,16,17,35,26,23,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,46,34];const Numbers=[0,54,34,51,49,31,27,89,26,23,36,35,16,33,45,41,35,28,32,22,29,35,41,30,25,19,65,23,31,39,17,54,42,56,29,34,13];const Deuteronomy=[0,46,37,29,49,30,25,26,20,29,22,32,31,19,29,23,22,20,22,21,20,23,29,26,22,19,19,26,69,28,20,30,52,29,12];const Joshua=[0,18,24,17,24,15,27,26,35,27,43,23,24,33,15,63,10,18,28,51,9,45,34,16,33];const Judges=[0,36,23,31,24,31,40,25,35,57,18,40,15,25,20,20,31,13,31,30,48,25];const Ruth=[0,22,23,18,22];const Isaiah=[0,31,22,26,6,30,13,25,23,20,34,16,6,22,32,9,14,14,7,25,6,17,25,18,23,12,21,13,29,24,33,9,20,24,17,10,22,38,22,8,31,29,25,28,28,25,13,15,22,26,11,23,15,12,17,13,12,21,14,21,22,11,12,19,11,25,24];const Jeremiah=[0,19,37,25,31,31,30,34,23,25,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,21,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34];const Lamentations=[0,22,22,66,22,22];const Baruch=[0,22,35,38,37,9,72];const Ezekiel=[0,28,10,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,44,37,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35];const Daniel=[0,21,49,100,34,30,29,28,27,27,21,45,13,64,42];const Hosea=[0,9,25,5,19,15,11,16,14,17,15,11,15,15,10];const Joel=[0,20,27,5,21];const Amos=[0,15,16,15,13,27,14,17,14,15];const Obadiah=[0,21];const Jonah=[0,16,11,10,11];const Micah=[0,16,13,12,14,14,16,20];const Nachum=[0,14,14,19];const Habakkuk=[0,17,20,19];const Zephaniah=[0,18,15,20];const Haggai=[0,15,23];const Zechariah=[0,17,17,10,14,11,15,14,23,17,12,17,14,9,21];const Malachi=[0,14,17,24];var numverses = {Genesis:Genesis,Exodus:Exodus,Leviticus:Leviticus,Numbers:Numbers,Deuteronomy:Deuteronomy,Joshua:Joshua,Judges:Judges,Ruth:Ruth,"I Samuel":[0,28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,42,16,23,28,23,43,25,12,25,11,31,13],"II Samuel":[0,27,32,39,12,25,23,29,18,13,19,27,31,39,33,37,23,29,32,44,26,22,51,39,25],"I Kings":[0,53,46,28,20,32,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,54],"II Kings":[0,18,25,27,44,27,33,20,29,37,36,20,22,25,29,38,20,41,37,37,21,26,20,37,20,30],Isaiah:Isaiah,Jeremiah:Jeremiah,Lamentations:Lamentations,Baruch:Baruch,Ezekiel:Ezekiel,Daniel:Daniel,Hosea:Hosea,Joel:Joel,Amos:Amos,Obadiah:Obadiah,Jonah:Jonah,Micah:Micah,Nachum:Nachum,Habakkuk:Habakkuk,Zephaniah:Zephaniah,Haggai:Haggai,Zechariah:Zechariah,Malachi:Malachi};
5
5
 
6
6
  /**
7
7
  * Names of the books of the Torah. BOOK[1] === 'Genesis'
8
+ * @readonly
9
+ * @const {string[]}
8
10
  */
9
11
 
10
12
  const BOOK = ['', 'Genesis', 'Exodus', 'Leviticus', 'Numbers', 'Deuteronomy'];
11
- const doubled = [21, // Vayakhel-Pekudei
12
- 26, // Tazria-Metzora
13
- 28, // Achrei Mot-Kedoshim
14
- 31, // Behar-Bechukotai
15
- 38, // Chukat-Balak
16
- 41, // Matot-Masei
17
- 50 // Nitzavim-Vayeilech
18
- ];
19
13
  /**
20
14
  * Formats parsha as a string
21
- * @private
22
15
  * @param {string[]} parsha
23
16
  * @return {string}
24
17
  */
@@ -32,19 +25,6 @@ function parshaToString(parsha) {
32
25
 
33
26
  return s;
34
27
  }
35
- /**
36
- * takes a 0-based (Bereshit=0) parsha ID
37
- * @private
38
- * @param {number} id
39
- * @return {string}
40
- */
41
-
42
- function getDoubledName(id) {
43
- const p1 = parshiot[id];
44
- const p2 = parshiot[id + 1];
45
- const name = p1 + '-' + p2;
46
- return name;
47
- }
48
28
  /**
49
29
  * Represents an aliyah
50
30
  * @typedef {Object} Aliyah
@@ -55,21 +35,8 @@ function getDoubledName(id) {
55
35
  * @property {number} [p] - parsha number (1=Bereshit, 54=Vezot HaBracha)
56
36
  */
57
37
 
58
- /**
59
- * A bit like Object.assign(), but just a shallow copy
60
- * @private
61
- * @param {any} target
62
- * @param {any} source
63
- * @return {any}
64
- */
65
-
66
- function shallowCopy(target, source) {
67
- Object.keys(source).forEach(k => target[k] = source[k]);
68
- return target;
69
- }
70
38
  /**
71
39
  * Makes a deep copy of the src object using JSON stringify and parse
72
- * @private
73
40
  * @param {any} src
74
41
  * @return {any}
75
42
  */
@@ -78,34 +45,10 @@ function clone(src) {
78
45
  return JSON.parse(JSON.stringify(src));
79
46
  }
80
47
  /**
81
- * Makes Sefaria links by adding `href`, `verses` and `num` attributes to each aliyah.
82
- * CAUTION: Modifies the `aliyot` parameter instead of making a copy.
83
- * @deprecated
84
- * @param {Object<string,Aliyah>} aliyot aliyah map to decorate
85
- * @param {boolean} showBook display the book name in the `verses` field (e.g. for special Maftir)
86
- */
87
-
88
- function addSefariaLinksToLeyning(aliyot, showBook) {
89
- var _aliyot$;
90
-
91
- const book1 = (_aliyot$ = aliyot['1']) === null || _aliyot$ === void 0 ? void 0 : _aliyot$.k;
92
- Object.keys(aliyot).forEach(num => {
93
- const aliyah = aliyot[num];
94
- aliyah.num = num == 'M' ? 'maf' : num;
95
- const begin = aliyah.b.split(':');
96
- const end = aliyah.e.split(':');
97
- const endChapVerse = begin[0] === end[0] ? end[1] : aliyah.e;
98
- const verses = `${aliyah.b}-${endChapVerse}`;
99
- aliyah.verses = showBook || book1 != aliyah.k ? `${aliyah.k} ${verses}` : verses;
100
- const sefariaVerses = verses.replace(/:/g, '.');
101
- const sefAliyot = showBook ? '0' : '1';
102
- const url = `https://www.sefaria.org/${aliyah.k}.${sefariaVerses}?lang=bi&aliyot=${sefAliyot}`;
103
- aliyah.href = url;
104
- });
105
- }
106
- /**
107
- * @private
108
- * @param {any} aliyah
48
+ * Calculates the number of verses in an aliyah or haftara based on
49
+ * the `b` (begin verse), `e` (end verse) and `k` (book).
50
+ * Modifies `aliyah` by setting the `v` field.
51
+ * @param {Aliyah} aliyah
109
52
  * @return {number}
110
53
  */
111
54
 
@@ -142,45 +85,6 @@ function calculateNumVerses(aliyah) {
142
85
 
143
86
  return aliyah.v;
144
87
  }
145
- /**
146
- * @private
147
- * @param {string} haftara
148
- * @return {number}
149
- */
150
-
151
- function calculateHaftarahNumVerses(haftara) {
152
- const sections = haftara.split(/[;,]/);
153
- let total = 0;
154
- let prevBook;
155
- sections.forEach(haft => {
156
- const matches = haft.trim().match(/^(([^\d]+)\s+)?(\d.+)$/);
157
-
158
- if (matches !== null) {
159
- const hbook = matches[2] ? matches[2].trim() : prevBook;
160
- const hverses = matches[3].trim();
161
- const cv = hverses.match(/^(\d+:\d+)\s*-\s*(\d+(:\d+)?)$/);
162
-
163
- if (cv) {
164
- if (cv[2].indexOf(':') === -1) {
165
- const chap = cv[1].substring(0, cv[1].indexOf(':'));
166
- cv[2] = `${chap}:${cv[2]}`;
167
- }
168
-
169
- const haft = {
170
- k: hbook,
171
- b: cv[1],
172
- e: cv[2]
173
- };
174
- total += calculateNumVerses(haft);
175
- } else {
176
- total++; // Something like "Jeremiah 3:4" is 1 verse
177
- }
178
-
179
- prevBook = hbook;
180
- }
181
- });
182
- return total || undefined;
183
- }
184
88
  /**
185
89
  * Formats an aliyah object like "Numbers 28:9-28:15"
186
90
  * @param {Aliyah} a aliyah
@@ -211,13 +115,110 @@ function formatAliyahShort(aliyah, showBook) {
211
115
  const end = cv1[0] === cv2[0] ? cv2[1] : end0;
212
116
  return `${prefix}${begin}-${end}`;
213
117
  }
118
+ /**
119
+ * Returns the total number of verses in an array of Aliyah (or haftarah) objects
120
+ * @param {Aliyah|Aliyah[]} aliyot
121
+ * @return {number}
122
+ */
123
+
124
+ function sumVerses(aliyot) {
125
+ return Array.isArray(aliyot) ? aliyot.reduce((prev, cur) => prev + cur.v, 0) : aliyot.v;
126
+ }
214
127
  /**
215
128
  * @private
129
+ * @param {Object.<string,string>} haft
130
+ * @return {Object.<string,string>}
131
+ */
132
+
133
+ function cloneHaftara(haft) {
134
+ if (!haft) {
135
+ return haft;
136
+ }
137
+
138
+ const dest = clone(haft);
139
+
140
+ if (Array.isArray(dest)) {
141
+ dest.map(calculateNumVerses);
142
+ } else {
143
+ calculateNumVerses(dest);
144
+ }
145
+
146
+ return dest;
147
+ }
148
+
149
+ /**
150
+ * @private
151
+ * @param {string} a
152
+ * @param {string} b
153
+ * @return {boolean}
154
+ */
155
+
156
+ function isChapVerseBefore(a, b) {
157
+ const cv1 = a.split(':').map(x => +x);
158
+ const cv2 = b.split(':').map(x => +x);
159
+ return cv1[0] * 100 + cv1[1] < cv2[0] * 100 + cv2[1];
160
+ }
161
+ /**
162
+ * Summarizes an `AliyotMap` by collapsing all adjacent aliyot.
163
+ * Finds any non-overlapping parts (e.g. special 7th aliyah or maftir)
164
+ * @param {Object<string,Aliyah>} aliyot
165
+ * @return {Aliyah[]}
166
+ */
167
+
168
+
169
+ function makeLeyningParts(aliyot) {
170
+ const nums = Object.keys(aliyot).filter(x => x.length === 1);
171
+ let start = aliyot[nums[0]];
172
+ let end = start;
173
+ const parts = [];
174
+
175
+ for (let i = 0; i < nums.length; i++) {
176
+ const num = nums[i];
177
+ const aliyah = aliyot[num];
178
+
179
+ if (i === nums.length - 1 && aliyah.k === end.k && aliyah.e === end.e) {
180
+ // short-circuit when final aliyah is within the previous (e.g. M inside of 7)
181
+ continue;
182
+ }
183
+
184
+ const prevEndChap = +end.e.split(':')[0];
185
+ const curStartChap = +aliyah.b.split(':')[0];
186
+ const sameOrNextChap = curStartChap === prevEndChap || curStartChap === prevEndChap + 1;
187
+
188
+ if (i !== 0 && (aliyah.k !== start.k || isChapVerseBefore(aliyah.b, start.e) || !sameOrNextChap)) {
189
+ parts.push({
190
+ k: start.k,
191
+ b: start.b,
192
+ e: end.e
193
+ });
194
+ start = aliyah;
195
+ }
196
+
197
+ end = aliyah;
198
+ }
199
+
200
+ parts.push({
201
+ k: start.k,
202
+ b: start.b,
203
+ e: end.e
204
+ });
205
+ return parts;
206
+ }
207
+ /**
208
+ * Returns a string representation of the leyning parts.
209
+ * Separate verse ranges read from the same book are separated
210
+ * by commas, e.g. `Isaiah 6:1-7:6, 9:5-6`.
211
+ * Verse ranges from different books are separated by semicolons,
212
+ * e.g. `Genesis 21:1-34; Numbers 29:1-6`.
216
213
  * @param {Aliyah[]} parts
217
214
  * @return {string}
218
215
  */
219
216
 
220
217
  function makeSummaryFromParts(parts) {
218
+ if (!Array.isArray(parts)) {
219
+ parts = [parts];
220
+ }
221
+
221
222
  let prev = parts[0];
222
223
  let summary = formatAliyahShort(prev, true);
223
224
 
@@ -237,71 +238,35 @@ function makeSummaryFromParts(parts) {
237
238
  return summary;
238
239
  }
239
240
  /**
240
- * @private
241
- * @param {Aliyah|Aliyah[]} haft
241
+ * Makes a summary of the leyning, like "Genesis 6:9-11:32"
242
+ * @param {Object<string,Aliyah>} aliyot
242
243
  * @return {string}
243
244
  */
244
245
 
245
- function makeHaftaraSummary(haft) {
246
- if (!haft) {
247
- return haft;
248
- }
249
-
250
- const parts = Array.isArray(haft) ? haft : [haft];
251
- const str = makeSummaryFromParts(parts); // return str.replace(/-/g, ' - ');
252
-
253
- return str;
254
- }
255
- /**
256
- * @private
257
- * @param {Aliyah|Aliyah[]} haft
258
- * @return {number}
259
- */
260
-
261
- function calculateHaftaraNumV(haft) {
262
- return Array.isArray(haft) ? haft.reduce((prev, cur) => prev + cur.v, 0) : haft.v;
263
- }
264
- /**
265
- * @private
266
- * @param {Object.<string,string>} haft
267
- * @return {Object.<string,string>}
268
- */
269
-
270
- function cloneHaftara(haft) {
271
- if (!haft) {
272
- return haft;
273
- }
274
-
275
- const dest = clone(haft);
276
-
277
- if (Array.isArray(dest)) {
278
- dest.map(calculateNumVerses);
279
- } else {
280
- calculateNumVerses(dest);
281
- }
282
-
283
- return dest;
246
+ function makeLeyningSummary(aliyot) {
247
+ const parts = makeLeyningParts(aliyot);
248
+ return makeSummaryFromParts(parts);
284
249
  }
285
250
 
286
251
  const Purim={fullkriyah:{"1":{p:16,k:2,b:"17:8",e:"17:10"},"2":{p:16,k:2,b:"17:11",e:"17:13"},"3":{p:16,k:2,b:"17:14",e:"17:16"}}};var festivals = {"Pesach I":{haft:{k:"Joshua",b:"5:2",e:"6:1"},fullkriyah:{"1":{p:15,k:2,b:"12:21",e:"12:24"},"2":{p:15,k:2,b:"12:25",e:"12:28"},"3":{p:15,k:2,b:"12:29",e:"12:36"},"4":{p:15,k:2,b:"12:37",e:"12:42"},"5":{p:15,k:2,b:"12:43",e:"12:51"},M:{p:41,k:4,b:"28:16",e:"28:25"}}},"Pesach I (on Shabbat)":{haft:{k:"Joshua",b:"5:2",e:"6:1"},fullkriyah:{"1":{p:15,k:2,b:"12:21",e:"12:24"},"2":{p:15,k:2,b:"12:25",e:"12:28"},"3":{p:15,k:2,b:"12:29",e:"12:32"},"4":{p:15,k:2,b:"12:33",e:"12:36"},"5":{p:15,k:2,b:"12:37",e:"12:42"},"6":{p:15,k:2,b:"12:43",e:"12:47"},"7":{p:15,k:2,b:"12:48",e:"12:51"},M:{p:41,k:4,b:"28:16",e:"28:25"}}},"Pesach II":{haft:[{k:"II Kings",b:"23:1",e:"23:9"},{k:"II Kings",b:"23:21",e:"23:25"}],fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:3"},"2":{p:31,k:3,b:"23:4",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:22"},"4":{p:31,k:3,b:"23:23",e:"23:32"},"5":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"28:16",e:"28:25"}}},"Pesach II (CH''M)":{note:"Israel only - according to Vaani T'fillati Siddur Yisraeli",fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:8"},"2":{p:31,k:3,b:"23:9",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:44"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 1":{fullkriyah:{"1":{p:15,k:2,b:"13:1",e:"13:4"},"2":{p:15,k:2,b:"13:5",e:"13:10"},"3":{p:15,k:2,b:"13:11",e:"13:16"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 2":{fullkriyah:{"1":{p:18,k:2,b:"22:24",e:"22:26"},"2":{p:18,k:2,b:"22:27",e:"23:5"},"3":{p:18,k:2,b:"23:6",e:"23:19"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 3":{fullkriyah:{"1":{p:21,k:2,b:"34:1",e:"34:10"},"2":{p:21,k:2,b:"34:11",e:"34:17"},"3":{p:21,k:2,b:"34:18",e:"34:26"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 4":{fullkriyah:{"1":{p:36,k:4,b:"9:1",e:"9:5"},"2":{p:36,k:4,b:"9:6",e:"9:8"},"3":{p:36,k:4,b:"9:9",e:"9:14"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Shabbat Chol ha-Moed":{haft:{k:"Ezekiel",b:"37:1",e:"37:14"},fullkriyah:{"1":{p:21,k:2,b:"33:12",e:"33:16"},"2":{p:21,k:2,b:"33:17",e:"33:19"},"3":{p:21,k:2,b:"33:20",e:"33:23"},"4":{p:21,k:2,b:"34:1",e:"34:3"},"5":{p:21,k:2,b:"34:4",e:"34:10"},"6":{p:21,k:2,b:"34:11",e:"34:17"},"7":{p:21,k:2,b:"34:18",e:"34:26"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VII":{haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":{p:16,k:2,b:"13:17",e:"13:22"},"2":{p:16,k:2,b:"14:1",e:"14:8"},"3":{p:16,k:2,b:"14:9",e:"14:14"},"4":{p:16,k:2,b:"14:15",e:"14:25"},"5":{p:16,k:2,b:"14:26",e:"15:26"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VII (on Shabbat)":{haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":{p:16,k:2,b:"13:17",e:"13:19"},"2":{p:16,k:2,b:"13:20",e:"13:22"},"3":{p:16,k:2,b:"14:1",e:"14:4"},"4":{p:16,k:2,b:"14:5",e:"14:8"},"5":{p:16,k:2,b:"14:9",e:"14:14"},"6":{p:16,k:2,b:"14:15",e:"14:25"},"7":{p:16,k:2,b:"14:26",e:"15:26"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VIII":{haft:{k:"Isaiah",b:"10:32",e:"12:6"},fullkriyah:{"1":{p:47,k:5,b:"15:19",e:"15:23"},"2":{p:47,k:5,b:"16:1",e:"16:3"},"3":{p:47,k:5,b:"16:4",e:"16:8"},"4":{p:47,k:5,b:"16:9",e:"16:12"},"5":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VIII (on Shabbat)":{haft:{k:"Isaiah",b:"10:32",e:"12:6"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"15:23"},"4":{p:47,k:5,b:"16:1",e:"16:3"},"5":{p:47,k:5,b:"16:4",e:"16:8"},"6":{p:47,k:5,b:"16:9",e:"16:12"},"7":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach III (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 1"},"Pesach IV (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 2"},"Pesach V (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 3"},"Pesach VI (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 4"},"Shavuot I":{haft:[{k:"Ezekiel",b:"1:1",e:"1:28"},{k:"Ezekiel",b:"3:12",e:"3:12"}],fullkriyah:{"1":{p:17,k:2,b:"19:1",e:"19:6"},"2":{p:17,k:2,b:"19:7",e:"19:13"},"3":{p:17,k:2,b:"19:14",e:"19:19"},"4":{p:17,k:2,b:"19:20",e:"20:14"},"5":{p:17,k:2,b:"20:15",e:"20:23"},M:{p:41,k:4,b:"28:26",e:"28:31"}}},"Shavuot II":{haft:{k:"Habakkuk",b:"3:1",e:"3:19"},fullkriyah:{"1":{p:47,k:5,b:"15:19",e:"15:23"},"2":{p:47,k:5,b:"16:1",e:"16:3"},"3":{p:47,k:5,b:"16:4",e:"16:8"},"4":{p:47,k:5,b:"16:9",e:"16:12"},"5":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:26",e:"28:31"}}},"Shavuot II (on Shabbat)":{haft:{k:"Habakkuk",b:"3:1",e:"3:19"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"15:23"},"4":{p:47,k:5,b:"16:1",e:"16:3"},"5":{p:47,k:5,b:"16:4",e:"16:8"},"6":{p:47,k:5,b:"16:9",e:"16:12"},"7":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:26",e:"28:31"}}},"Fast Day (Morning)":{fullkriyah:{"1":{p:21,k:2,b:"32:11",e:"32:14"},"2":{p:21,k:2,b:"34:1",e:"34:3"},"3":{p:21,k:2,b:"34:4",e:"34:10"}}},"Fast Day (Afternoon)":{haft:{k:"Isaiah",b:"55:6",e:"56:8"},fullkriyah:{"1":{p:21,k:2,b:"32:11",e:"32:14"},"2":{p:21,k:2,b:"34:1",e:"34:3"},"3":{p:21,k:2,b:"34:4",e:"34:10"}}},"Asara B'Tevet":{alias:true,key:"Fast Day (Morning)"},"Ta'anit Bechorot":{alias:true,key:"Fast Day (Morning)"},"Ta'anit Esther":{alias:true,key:"Fast Day (Morning)"},"Tzom Gedaliah":{alias:true,key:"Fast Day (Morning)"},"Tzom Tammuz":{alias:true,key:"Fast Day (Morning)"},"Asara B'Tevet (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Ta'anit Bechorot (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Ta'anit Esther (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Tzom Gedaliah (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Tzom Tammuz (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Tish'a B'Av":{haft:{k:"Jeremiah",b:"8:13",e:"9:23"},fullkriyah:{"1":{p:45,k:5,b:"4:25",e:"4:29"},"2":{p:45,k:5,b:"4:30",e:"4:35"},"3":{p:45,k:5,b:"4:36",e:"4:40"}}},"Tish'a B'Av (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Rosh Hashana I":{haft:{k:"I Samuel",b:"1:1",e:"2:10"},fullkriyah:{"1":{p:4,k:1,b:"21:1",e:"21:4"},"2":{p:4,k:1,b:"21:5",e:"21:12"},"3":{p:4,k:1,b:"21:13",e:"21:21"},"4":{p:4,k:1,b:"21:22",e:"21:27"},"5":{p:4,k:1,b:"21:28",e:"21:34"},M:{p:41,k:4,b:"29:1",e:"29:6"}}},"Rosh Hashana I (on Shabbat)":{haft:{k:"I Samuel",b:"1:1",e:"2:10"},fullkriyah:{"1":{p:4,k:1,b:"21:1",e:"21:4"},"2":{p:4,k:1,b:"21:5",e:"21:8"},"3":{p:4,k:1,b:"21:9",e:"21:12"},"4":{p:4,k:1,b:"21:13",e:"21:17"},"5":{p:4,k:1,b:"21:18",e:"21:21"},"6":{p:4,k:1,b:"21:22",e:"21:27"},"7":{p:4,k:1,b:"21:28",e:"21:34"},M:{p:41,k:4,b:"29:1",e:"29:6"}}},"Rosh Hashana II":{haft:{k:"Jeremiah",b:"31:1",e:"31:19"},fullkriyah:{"1":{p:4,k:1,b:"22:1",e:"22:3"},"2":{p:4,k:1,b:"22:4",e:"22:8"},"3":{p:4,k:1,b:"22:9",e:"22:14"},"4":{p:4,k:1,b:"22:15",e:"22:19"},"5":{p:4,k:1,b:"22:20",e:"22:24"},M:{p:41,k:4,b:"29:1",e:"29:6"}}},"Yom Kippur":{haft:{k:"Isaiah",b:"57:14",e:"58:14"},fullkriyah:{"1":{p:29,k:3,b:"16:1",e:"16:6"},"2":{p:29,k:3,b:"16:7",e:"16:11"},"3":{p:29,k:3,b:"16:12",e:"16:17"},"4":{p:29,k:3,b:"16:18",e:"16:24"},"5":{p:29,k:3,b:"16:25",e:"16:30"},"6":{p:29,k:3,b:"16:31",e:"16:34"},M:{p:41,k:4,b:"29:7",e:"29:11"}}},"Yom Kippur (on Shabbat)":{haft:{k:"Isaiah",b:"57:14",e:"58:14"},fullkriyah:{"1":{p:29,k:3,b:"16:1",e:"16:3"},"2":{p:29,k:3,b:"16:4",e:"16:6"},"3":{p:29,k:3,b:"16:7",e:"16:11"},"4":{p:29,k:3,b:"16:12",e:"16:17"},"5":{p:29,k:3,b:"16:18",e:"16:24"},"6":{p:29,k:3,b:"16:25",e:"16:30"},"7":{p:29,k:3,b:"16:31",e:"16:34"},M:{p:41,k:4,b:"29:7",e:"29:11"}}},"Yom Kippur (Mincha, Traditional)":{haft:[{k:"Jonah",b:"1:1",e:"4:11"},{k:"Micah",b:"7:18",e:"7:20"}],fullkriyah:{"1":{p:29,k:3,b:"18:1",e:"18:5"},"2":{p:29,k:3,b:"18:6",e:"18:21"},"3":{p:29,k:3,b:"18:22",e:"18:30"}}},"Yom Kippur (Mincha, Alternate)":{haft:[{k:"Jonah",b:"1:1",e:"4:11"},{k:"Micah",b:"7:18",e:"7:20"}],fullkriyah:{"1":{p:30,k:3,b:"19:1",e:"19:4"},"2":{p:30,k:3,b:"19:5",e:"19:10"},"3":{p:30,k:3,b:"19:11",e:"19:18"}}},"Sukkot I":{haft:{k:"Zechariah",b:"14:1",e:"14:21"},fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:3"},"2":{p:31,k:3,b:"23:4",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:22"},"4":{p:31,k:3,b:"23:23",e:"23:32"},"5":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"29:12",e:"29:16"}}},"Sukkot I (on Shabbat)":{haft:{k:"Zechariah",b:"14:1",e:"14:21"},fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"22:33"},"2":{p:31,k:3,b:"23:1",e:"23:3"},"3":{p:31,k:3,b:"23:4",e:"23:8"},"4":{p:31,k:3,b:"23:9",e:"23:14"},"5":{p:31,k:3,b:"23:15",e:"23:22"},"6":{p:31,k:3,b:"23:23",e:"23:32"},"7":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"29:12",e:"29:16"}}},"Sukkot II":{haft:{k:"I Kings",b:"8:2",e:"8:21"},fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:3"},"2":{p:31,k:3,b:"23:4",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:22"},"4":{p:31,k:3,b:"23:23",e:"23:32"},"5":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"29:12",e:"29:16"}}},"Sukkot Chol ha-Moed Day 1":{fullkriyah:{"1":{p:41,k:4,b:"29:17",e:"29:19"},"2":{p:41,k:4,b:"29:20",e:"29:22"},"3":{p:41,k:4,b:"29:23",e:"29:25"},"4":{p:41,k:4,b:"29:17",e:"29:22"}}},"Sukkot Chol ha-Moed Day 2":{fullkriyah:{"1":{p:41,k:4,b:"29:20",e:"29:22"},"2":{p:41,k:4,b:"29:23",e:"29:25"},"3":{p:41,k:4,b:"29:26",e:"29:28"},"4":{p:41,k:4,b:"29:20",e:"29:25"}}},"Sukkot Chol ha-Moed Day 3":{fullkriyah:{"1":{p:41,k:4,b:"29:23",e:"29:25"},"2":{p:41,k:4,b:"29:26",e:"29:28"},"3":{p:41,k:4,b:"29:29",e:"29:31"},"4":{p:41,k:4,b:"29:23",e:"29:28"}}},"Sukkot Chol ha-Moed Day 4":{fullkriyah:{"1":{p:41,k:4,b:"29:26",e:"29:28"},"2":{p:41,k:4,b:"29:29",e:"29:31"},"3":{p:41,k:4,b:"29:32",e:"29:34"},"4":{p:41,k:4,b:"29:26",e:"29:31"}}},"Sukkot Chol ha-Moed Day 5":{fullkriyah:{"1":{p:41,k:4,b:"29:29",e:"29:31"},"2":{p:41,k:4,b:"29:32",e:"29:34"},"3":{p:41,k:4,b:"29:35",e:"29:37"},"4":{p:41,k:4,b:"29:29",e:"29:34"}}},"Sukkot Shabbat Chol ha-Moed":{haft:{k:"Ezekiel",b:"38:18",e:"39:16"},fullkriyah:{"1":{p:21,k:2,b:"33:12",e:"33:16"},"2":{p:21,k:2,b:"33:17",e:"33:19"},"3":{p:21,k:2,b:"33:20",e:"33:23"},"4":{p:21,k:2,b:"34:1",e:"34:3"},"5":{p:21,k:2,b:"34:4",e:"34:10"},"6":{p:21,k:2,b:"34:11",e:"34:17"},"7":{p:21,k:2,b:"34:18",e:"34:26"},"M-day1":{p:41,k:4,b:"29:17",e:"29:22"},"M-day2":{p:41,k:4,b:"29:20",e:"29:25"},"M-day3":{p:41,k:4,b:"29:23",e:"29:28"},"M-day4":{p:41,k:4,b:"29:26",e:"29:31"},"M-day5":{p:41,k:4,b:"29:29",e:"29:34"}}},"Sukkot Final Day (Hoshana Raba)":{fullkriyah:{"1":{p:41,k:4,b:"29:26",e:"29:28"},"2":{p:41,k:4,b:"29:29",e:"29:31"},"3":{p:41,k:4,b:"29:32",e:"29:34"},"4":{p:41,k:4,b:"29:29",e:"29:34"}}},"Shmini Atzeret":{haft:{k:"I Kings",b:"8:54",e:"8:66"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"16:3"},"4":{p:47,k:5,b:"16:4",e:"16:8"},"5":{p:47,k:5,b:"16:9",e:"16:17"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Shmini Atzeret (on Shabbat)":{haft:{k:"I Kings",b:"8:54",e:"8:66"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"15:23"},"4":{p:47,k:5,b:"16:1",e:"16:3"},"5":{p:47,k:5,b:"16:4",e:"16:8"},"6":{p:47,k:5,b:"16:9",e:"16:12"},"7":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Erev Simchat Torah":{fullkriyah:{"1":{p:54,k:5,b:"33:1",e:"33:7"},"2":{p:54,k:5,b:"33:8",e:"33:12"},"3":{p:54,k:5,b:"33:13",e:"33:17"},"4":{p:54,k:5,b:"33:18",e:"33:21"},"5":{p:54,k:5,b:"33:22",e:"33:26"}}},"Simchat Torah":{haft:{k:"Joshua",b:"1:1",e:"1:18"},fullkriyah:{"1":{p:54,k:5,b:"33:1",e:"33:7"},"2":{p:54,k:5,b:"33:8",e:"33:12"},"3":{p:54,k:5,b:"33:13",e:"33:17"},"4":{p:54,k:5,b:"33:18",e:"33:21"},"5":{p:54,k:5,b:"33:22",e:"33:26"},"6":{p:54,k:5,b:"33:27",e:"34:12"},"7":{p:1,k:1,b:"1:1",e:"2:3"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Shabbat Chanukah":{haft:{k:"Zechariah",b:"2:14",e:"4:7"}},"Shabbat Chanukah II":{haft:{k:"I Kings",b:"7:40",e:"7:50"}},"Shabbat Rosh Chodesh Chanukah":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{"7":{p:41,k:4,b:"28:9",e:"28:15"},M:{p:35,k:4,b:"7:42",e:"7:47"}}},"Chanukah Day 1":{fullkriyah:{"1":{p:35,k:4,b:"7:1",e:"7:11"},"2":{p:35,k:4,b:"7:12",e:"7:14"},"3":{p:35,k:4,b:"7:15",e:"7:17"}},alt:{"1":{p:35,k:4,b:"7:1",e:"7:3"},"2":{p:35,k:4,b:"7:4",e:"7:11"},"3":{p:35,k:4,b:"7:12",e:"7:17"}}},"Chanukah Day 2":{fullkriyah:{"1":{p:35,k:4,b:"7:18",e:"7:20"},"2":{p:35,k:4,b:"7:21",e:"7:23"},"3":{p:35,k:4,b:"7:24",e:"7:29"}},alt:{"1":{p:35,k:4,b:"7:18",e:"7:20"},"2":{p:35,k:4,b:"7:21",e:"7:23"},"3":{p:35,k:4,b:"7:18",e:"7:23"}}},"Chanukah Day 3":{fullkriyah:{"1":{p:35,k:4,b:"7:24",e:"7:26"},"2":{p:35,k:4,b:"7:27",e:"7:29"},"3":{p:35,k:4,b:"7:30",e:"7:35"}},alt:{"1":{p:35,k:4,b:"7:24",e:"7:26"},"2":{p:35,k:4,b:"7:27",e:"7:29"},"3":{p:35,k:4,b:"7:24",e:"7:29"}}},"Chanukah Day 4":{fullkriyah:{"1":{p:35,k:4,b:"7:30",e:"7:32"},"2":{p:35,k:4,b:"7:33",e:"7:35"},"3":{p:35,k:4,b:"7:36",e:"7:41"}},alt:{"1":{p:35,k:4,b:"7:30",e:"7:32"},"2":{p:35,k:4,b:"7:33",e:"7:35"},"3":{p:35,k:4,b:"7:30",e:"7:35"}}},"Chanukah Day 5":{fullkriyah:{"1":{p:35,k:4,b:"7:36",e:"7:38"},"2":{p:35,k:4,b:"7:39",e:"7:41"},"3":{p:35,k:4,b:"7:42",e:"7:47"}},alt:{"1":{p:35,k:4,b:"7:36",e:"7:38"},"2":{p:35,k:4,b:"7:39",e:"7:41"},"3":{p:35,k:4,b:"7:36",e:"7:41"}}},"Chanukah Day 6":{fullkriyah:{"1":{p:41,k:4,b:"28:1",e:"28:5"},"2":{p:41,k:4,b:"28:6",e:"28:10"},"3":{p:41,k:4,b:"28:11",e:"28:15"},"4":{p:35,k:4,b:"7:42",e:"7:47"}}},"Chanukah Day 7":{fullkriyah:{"1":{p:35,k:4,b:"7:48",e:"7:50"},"2":{p:35,k:4,b:"7:51",e:"7:53"},"3":{p:35,k:4,b:"7:54",e:"7:59"}},alt:{"1":{p:35,k:4,b:"7:48",e:"7:50"},"2":{p:35,k:4,b:"7:51",e:"7:53"},"3":{p:35,k:4,b:"7:48",e:"7:53"}}},"Chanukah Day 7 (on Rosh Chodesh)":{fullkriyah:{"1":{p:41,k:4,b:"28:1",e:"28:5"},"2":{p:41,k:4,b:"28:6",e:"28:10"},"3":{p:41,k:4,b:"28:11",e:"28:15"},"4":{p:35,k:4,b:"7:48",e:"7:53"}}},"Chanukah Day 8":{fullkriyah:{"1":{p:35,k:4,b:"7:54",e:"7:56"},"2":{p:35,k:4,b:"7:57",e:"7:59"},"3":{p:35,k:4,b:"7:60",e:"8:4"}}},Purim:Purim,"Shushan Purim":{fullkriyah:{"1":{p:16,k:2,b:"17:8",e:"17:10"},"2":{p:16,k:2,b:"17:11",e:"17:13"},"3":{p:16,k:2,b:"17:14",e:"17:16"}}},"Shabbat HaChodesh":{haft:{k:"Ezekiel",b:"45:16",e:"46:18"},fullkriyah:{M:{p:15,k:2,b:"12:1",e:"12:20"}}},"Shabbat HaChodesh (on Rosh Chodesh)":{haft:{k:"Ezekiel",b:"45:16",e:"46:18"},fullkriyah:{"7":{p:41,k:4,b:"28:9",e:"28:15"},M:{p:15,k:2,b:"12:1",e:"12:20"}}},"Shabbat HaGadol":{haft:{k:"Malachi",b:"3:4",e:"3:24"}},"Shabbat Parah":{haft:{k:"Ezekiel",b:"36:16",e:"36:38"},fullkriyah:{M:{p:39,k:4,b:"19:1",e:"19:22"}}},"Shabbat Shekalim":{haft:{k:"II Kings",b:"12:1",e:"12:17"},fullkriyah:{M:{p:21,k:2,b:"30:11",e:"30:16"}}},"Shabbat Shekalim (on Rosh Chodesh)":{haft:{k:"II Kings",b:"12:1",e:"12:17"},fullkriyah:{"7":{p:41,k:4,b:"28:9",e:"28:15"},M:{p:21,k:2,b:"30:11",e:"30:16"}}},"Shabbat Shuva":{haft:[{k:"Hosea",b:"14:2",e:"14:10"},{k:"Micah",b:"7:18",e:"7:20"},{k:"Joel",b:"2:15",e:"2:27"}]},"Shabbat Zachor":{haft:{k:"I Samuel",b:"15:2",e:"15:34"},fullkriyah:{M:{p:49,k:5,b:"25:17",e:"25:19"}}},"Rosh Chodesh":{fullkriyah:{"1":{p:41,k:4,b:"28:1",e:"28:3"},"2":{p:41,k:4,b:"28:3",e:"28:5"},"3":{p:41,k:4,b:"28:6",e:"28:10"},"4":{p:41,k:4,b:"28:11",e:"28:15"}}},"Shabbat Rosh Chodesh":{haft:{k:"Isaiah",b:"66:1",e:"66:24"},fullkriyah:{M:{p:41,k:4,b:"28:9",e:"28:15"}}},"Shabbat Machar Chodesh":{haft:{k:"I Samuel",b:"20:18",e:"20:42"}}};
287
252
 
288
253
  /**
289
- * @private
290
- * @param {string} key
254
+ * Is there a special festival Torah Reading for `holiday`?
255
+ * @param {string} holiday
291
256
  * @return {boolean}
292
257
  */
293
258
 
294
- function hasFestival(key) {
295
- return typeof festivals[key] === 'object';
259
+ function hasFestival(holiday) {
260
+ return typeof festivals[holiday] === 'object';
296
261
  }
297
262
  /**
298
- * @private
299
- * @param {string} key
263
+ * Returns the raw metadata for festival reading for `holiday`
264
+ * @param {string} holiday
300
265
  * @return {any}
301
266
  */
302
267
 
303
- function lookupFestival(key) {
304
- let src = festivals[key];
268
+ function lookupFestival(holiday) {
269
+ let src = festivals[holiday];
305
270
 
306
271
  if (typeof src === 'undefined') {
307
272
  return undefined;
@@ -311,7 +276,7 @@ function lookupFestival(key) {
311
276
  const tmp = festivals[src.key];
312
277
 
313
278
  if (typeof tmp === 'undefined') {
314
- throw new Error(`Leying key ${key} => ${src.key} not found`);
279
+ throw new Error(`Leyning alias ${holiday} => ${src.key} not found`);
315
280
  }
316
281
 
317
282
  src = tmp;
@@ -330,37 +295,35 @@ function lookupFestival(key) {
330
295
  return result;
331
296
  }
332
297
 
333
- const Bereshit$2={num:1,hebrew:"בְּרֵאשִׁית",book:1,verses:"1:1-6:8",haft:{k:"Isaiah",b:"42:5",e:"43:10"},seph:{k:"Isaiah",b:"42:5",e:"42:21"},fullkriyah:{"1":{b:"1:1",e:"2:3"},"2":{b:"2:4",e:"2:19"},"3":{b:"2:20",e:"3:21"},"4":{b:"3:22",e:"4:18"},"5":{b:"4:19",e:"4:22"},"6":{b:"4:23",e:"5:24"},"7":{b:"5:25",e:"6:8"},M:{b:"6:5",e:"6:8"}},weekday:{"1":{b:"1:1",e:"1:5"},"2":{b:"1:6",e:"1:8"},"3":{b:"1:9",e:"1:13"}}};const Noach$2={num:2,hebrew:"נֹחַ",book:1,verses:"6:9-11:32",haft:{k:"Isaiah",b:"54:1",e:"55:5"},seph:{k:"Isaiah",b:"54:1",e:"54:10"},fullkriyah:{"1":{b:"6:9",e:"6:22"},"2":{b:"7:1",e:"7:16"},"3":{b:"7:17",e:"8:14"},"4":{b:"8:15",e:"9:7"},"5":{b:"9:8",e:"9:17"},"6":{b:"9:18",e:"10:32"},"7":{b:"11:1",e:"11:32"},M:{b:"11:29",e:"11:32"}},weekday:{"1":{b:"6:9",e:"6:16"},"2":{b:"6:17",e:"6:19"},"3":{b:"6:20",e:"6:22"}}};const Vayera$2={num:4,hebrew:"וַיֵּרָא",book:1,verses:"18:1-22:24",haft:{k:"II Kings",b:"4:1",e:"4:37"},seph:{k:"II Kings",b:"4:1",e:"4:23"},fullkriyah:{"1":{b:"18:1",e:"18:14"},"2":{b:"18:15",e:"18:33"},"3":{b:"19:1",e:"19:20"},"4":{b:"19:21",e:"21:4"},"5":{b:"21:5",e:"21:21"},"6":{b:"21:22",e:"21:34"},"7":{b:"22:1",e:"22:24"},M:{b:"22:20",e:"22:24"}},weekday:{"1":{b:"18:1",e:"18:5"},"2":{b:"18:6",e:"18:8"},"3":{b:"18:9",e:"18:14"}}};const Toldot$2={num:6,hebrew:"תּוֹלְדוֹת",book:1,verses:"25:19-28:9",haft:{k:"Malachi",b:"1:1",e:"2:7"},fullkriyah:{"1":{b:"25:19",e:"26:5"},"2":{b:"26:6",e:"26:12"},"3":{b:"26:13",e:"26:22"},"4":{b:"26:23",e:"26:29"},"5":{b:"26:30",e:"27:27"},"6":{b:"27:28",e:"28:4"},"7":{b:"28:5",e:"28:9"},M:{b:"28:7",e:"28:9"}},weekday:{"1":{b:"25:19",e:"25:22"},"2":{b:"25:23",e:"25:26"},"3":{b:"25:27",e:"26:5"}}};const Vayetzei$2={num:7,hebrew:"וַיֵּצֵא",book:1,verses:"28:10-32:3",haft:{k:"Hosea",b:"12:13",e:"14:10"},seph:{k:"Hosea",b:"11:7",e:"12:12"},fullkriyah:{"1":{b:"28:10",e:"28:22"},"2":{b:"29:1",e:"29:17"},"3":{b:"29:18",e:"30:13"},"4":{b:"30:14",e:"30:27"},"5":{b:"30:28",e:"31:16"},"6":{b:"31:17",e:"31:42"},"7":{b:"31:43",e:"32:3"},M:{b:"32:1",e:"32:3"}},weekday:{"1":{b:"28:10",e:"28:12"},"2":{b:"28:13",e:"28:17"},"3":{b:"28:18",e:"28:22"}}};const Vayishlach$2={num:8,hebrew:"וַיִּשְׁלַח",book:1,verses:"32:4-36:43",haft:{k:"Obadiah",b:"1:1",e:"1:21"},fullkriyah:{"1":{b:"32:4",e:"32:13"},"2":{b:"32:14",e:"32:30"},"3":{b:"32:31",e:"33:5"},"4":{b:"33:6",e:"33:20"},"5":{b:"34:1",e:"35:11"},"6":{b:"35:12",e:"36:19"},"7":{b:"36:20",e:"36:43"},M:{b:"36:40",e:"36:43"}},weekday:{"1":{b:"32:4",e:"32:6"},"2":{b:"32:7",e:"32:9"},"3":{b:"32:10",e:"32:13"}}};const Vayeshev$2={num:9,hebrew:"וַיֵּשֶׁב",book:1,verses:"37:1-40:23",haft:{k:"Amos",b:"2:6",e:"3:8"},fullkriyah:{"1":{b:"37:1",e:"37:11"},"2":{b:"37:12",e:"37:22"},"3":{b:"37:23",e:"37:36"},"4":{b:"38:1",e:"38:30"},"5":{b:"39:1",e:"39:6"},"6":{b:"39:7",e:"39:23"},"7":{b:"40:1",e:"40:23"},M:{b:"40:20",e:"40:23"}},weekday:{"1":{b:"37:1",e:"37:3"},"2":{b:"37:4",e:"37:7"},"3":{b:"37:8",e:"37:11"}}};const Miketz$2={num:10,hebrew:"מִקֵּץ",book:1,verses:"41:1-44:17",haft:{k:"I Kings",b:"3:15",e:"4:1"},fullkriyah:{"1":{b:"41:1",e:"41:14"},"2":{b:"41:15",e:"41:38"},"3":{b:"41:39",e:"41:52"},"4":{b:"41:53",e:"42:18"},"5":{b:"42:19",e:"43:15"},"6":{b:"43:16",e:"43:29"},"7":{b:"43:30",e:"44:17"},M:{b:"44:14",e:"44:17"}},weekday:{"1":{b:"41:1",e:"41:4"},"2":{b:"41:5",e:"41:7"},"3":{b:"41:8",e:"41:14"}}};const Vayigash$2={num:11,hebrew:"וַיִּגַּשׁ",book:1,verses:"44:18-47:27",haft:{k:"Ezekiel",b:"37:15",e:"37:28"},fullkriyah:{"1":{b:"44:18",e:"44:30"},"2":{b:"44:31",e:"45:7"},"3":{b:"45:8",e:"45:18"},"4":{b:"45:19",e:"45:27"},"5":{b:"45:28",e:"46:27"},"6":{b:"46:28",e:"47:10"},"7":{b:"47:11",e:"47:27"},M:{b:"47:25",e:"47:27"}},weekday:{"1":{b:"44:18",e:"44:20"},"2":{b:"44:21",e:"44:24"},"3":{b:"44:25",e:"44:30"}}};const Vayechi$2={num:12,hebrew:"וַיְחִי",book:1,verses:"47:28-50:26",haft:{k:"I Kings",b:"2:1",e:"2:12"},fullkriyah:{"1":{b:"47:28",e:"48:9"},"2":{b:"48:10",e:"48:16"},"3":{b:"48:17",e:"48:22"},"4":{b:"49:1",e:"49:18"},"5":{b:"49:19",e:"49:26"},"6":{b:"49:27",e:"50:20"},"7":{b:"50:21",e:"50:26"},M:{b:"50:23",e:"50:26"}},weekday:{"1":{b:"47:28",e:"47:31"},"2":{b:"48:1",e:"48:3"},"3":{b:"48:4",e:"48:9"}}};const Shemot$2={num:13,hebrew:"שְׁמוֹת",book:2,verses:"1:1-6:1",haft:[{k:"Isaiah",b:"27:6",e:"28:13"},{k:"Isaiah",b:"29:22",e:"29:23"}],seph:{k:"Jeremiah",b:"1:1",e:"2:3"},fullkriyah:{"1":{b:"1:1",e:"1:17"},"2":{b:"1:18",e:"2:10"},"3":{b:"2:11",e:"2:25"},"4":{b:"3:1",e:"3:15"},"5":{b:"3:16",e:"4:17"},"6":{b:"4:18",e:"4:31"},"7":{b:"5:1",e:"6:1"},M:{b:"5:22",e:"6:1"}},weekday:{"1":{b:"1:1",e:"1:7"},"2":{b:"1:8",e:"1:12"},"3":{b:"1:13",e:"1:17"}}};const Vaera$2={num:14,hebrew:"וָאֵרָא",book:2,verses:"6:2-9:35",haft:{k:"Ezekiel",b:"28:25",e:"29:21"},fullkriyah:{"1":{b:"6:2",e:"6:13"},"2":{b:"6:14",e:"6:28"},"3":{b:"6:29",e:"7:7"},"4":{b:"7:8",e:"8:6"},"5":{b:"8:7",e:"8:18"},"6":{b:"8:19",e:"9:16"},"7":{b:"9:17",e:"9:35"},M:{b:"9:33",e:"9:35"}},weekday:{"1":{b:"6:2",e:"6:5"},"2":{b:"6:6",e:"6:9"},"3":{b:"6:10",e:"6:13"}}};const Bo$2={num:15,hebrew:"בֹּא",book:2,verses:"10:1-13:16",haft:{k:"Jeremiah",b:"46:13",e:"46:28"},fullkriyah:{"1":{b:"10:1",e:"10:11"},"2":{b:"10:12",e:"10:23"},"3":{b:"10:24",e:"11:3"},"4":{b:"11:4",e:"12:20"},"5":{b:"12:21",e:"12:28"},"6":{b:"12:29",e:"12:51"},"7":{b:"13:1",e:"13:16"},M:{b:"13:14",e:"13:16"}},weekday:{"1":{b:"10:1",e:"10:3"},"2":{b:"10:4",e:"10:6"},"3":{b:"10:7",e:"10:11"}}};const Beshalach$2={num:16,hebrew:"בְּשַׁלַּח",book:2,verses:"13:17-17:16",haft:{k:"Judges",b:"4:4",e:"5:31"},seph:{k:"Judges",b:"5:1",e:"5:31"},fullkriyah:{"1":{b:"13:17",e:"14:8"},"2":{b:"14:9",e:"14:14"},"3":{b:"14:15",e:"14:25"},"4":{b:"14:26",e:"15:26"},"5":{b:"15:27",e:"16:10"},"6":{b:"16:11",e:"16:36"},"7":{b:"17:1",e:"17:16"},M:{b:"17:14",e:"17:16"}},weekday:{"1":{b:"13:17",e:"13:22"},"2":{b:"14:1",e:"14:4"},"3":{b:"14:5",e:"14:8"}}};const Yitro$2={num:17,hebrew:"יִתְרוֹ",book:2,verses:"18:1-20:23",haft:[{k:"Isaiah",b:"6:1",e:"7:6"},{k:"Isaiah",b:"9:5",e:"9:6"}],seph:{k:"Isaiah",b:"6:1",e:"6:13"},fullkriyah:{"1":{b:"18:1",e:"18:12"},"2":{b:"18:13",e:"18:23"},"3":{b:"18:24",e:"18:27"},"4":{b:"19:1",e:"19:6"},"5":{b:"19:7",e:"19:19"},"6":{b:"19:20",e:"20:14"},"7":{b:"20:15",e:"20:23"},M:{b:"20:19",e:"20:23"}},weekday:{"1":{b:"18:1",e:"18:4"},"2":{b:"18:5",e:"18:8"},"3":{b:"18:9",e:"18:12"}}};const Mishpatim$2={num:18,hebrew:"מִּשְׁפָּטִים",book:2,verses:"21:1-24:18",haft:[{k:"Jeremiah",b:"34:8",e:"34:22"},{k:"Jeremiah",b:"33:25",e:"33:26"}],fullkriyah:{"1":{b:"21:1",e:"21:19"},"2":{b:"21:20",e:"22:3"},"3":{b:"22:4",e:"22:26"},"4":{b:"22:27",e:"23:5"},"5":{b:"23:6",e:"23:19"},"6":{b:"23:20",e:"23:25"},"7":{b:"23:26",e:"24:18"},M:{b:"24:15",e:"24:18"}},weekday:{"1":{b:"21:1",e:"21:6"},"2":{b:"21:7",e:"21:11"},"3":{b:"21:12",e:"21:19"}}};const Terumah$2={num:19,hebrew:"תְּרוּמָה",book:2,verses:"25:1-27:19",haft:{k:"I Kings",b:"5:26",e:"6:13"},fullkriyah:{"1":{b:"25:1",e:"25:16"},"2":{b:"25:17",e:"25:30"},"3":{b:"25:31",e:"26:14"},"4":{b:"26:15",e:"26:30"},"5":{b:"26:31",e:"26:37"},"6":{b:"27:1",e:"27:8"},"7":{b:"27:9",e:"27:19"},M:{b:"27:17",e:"27:19"}},weekday:{"1":{b:"25:1",e:"25:5"},"2":{b:"25:6",e:"25:9"},"3":{b:"25:10",e:"25:16"}}};const Tetzaveh$2={num:20,hebrew:"תְּצַוֶּה",book:2,verses:"27:20-30:10",haft:{k:"Ezekiel",b:"43:10",e:"43:27"},fullkriyah:{"1":{b:"27:20",e:"28:12"},"2":{b:"28:13",e:"28:30"},"3":{b:"28:31",e:"28:43"},"4":{b:"29:1",e:"29:18"},"5":{b:"29:19",e:"29:37"},"6":{b:"29:38",e:"29:46"},"7":{b:"30:1",e:"30:10"},M:{b:"30:8",e:"30:10"}},weekday:{"1":{b:"27:20",e:"28:5"},"2":{b:"28:6",e:"28:9"},"3":{b:"28:10",e:"28:12"}}};const Vayakhel$2={num:22,hebrew:"וַיַּקְהֵל",book:2,verses:"35:1-38:20",haft:{k:"I Kings",b:"7:40",e:"7:50"},seph:{k:"I Kings",b:"7:13",e:"7:26"},fullkriyah:{"1":{b:"35:1",e:"35:20"},"2":{b:"35:21",e:"35:29"},"3":{b:"35:30",e:"36:7"},"4":{b:"36:8",e:"36:19"},"5":{b:"36:20",e:"37:16"},"6":{b:"37:17",e:"37:29"},"7":{b:"38:1",e:"38:20"},M:{b:"38:18",e:"38:20"}},weekday:{"1":{b:"35:1",e:"35:3"},"2":{b:"35:4",e:"35:10"},"3":{b:"35:11",e:"35:20"}}};const Pekudei$2={num:23,hebrew:"פְקוּדֵי",book:2,verses:"38:21-40:38",haft:{k:"I Kings",b:"7:51",e:"8:21"},seph:{k:"I Kings",b:"7:40",e:"7:50"},fullkriyah:{"1":{b:"38:21",e:"39:1"},"2":{b:"39:2",e:"39:21"},"3":{b:"39:22",e:"39:32"},"4":{b:"39:33",e:"39:43"},"5":{b:"40:1",e:"40:16"},"6":{b:"40:17",e:"40:27"},"7":{b:"40:28",e:"40:38"},M:{b:"40:34",e:"40:38"}},weekday:{"1":{b:"38:21",e:"38:23"},"2":{b:"38:24",e:"38:27"},"3":{b:"38:28",e:"39:1"}}};const Vayikra$2={num:24,hebrew:"וַיִּקְרָא",book:3,verses:"1:1-5:26",haft:{k:"Isaiah",b:"43:21",e:"44:23"},fullkriyah:{"1":{b:"1:1",e:"1:13"},"2":{b:"1:14",e:"2:6"},"3":{b:"2:7",e:"2:16"},"4":{b:"3:1",e:"3:17"},"5":{b:"4:1",e:"4:26"},"6":{b:"4:27",e:"5:10"},"7":{b:"5:11",e:"5:26"},M:{b:"5:24",e:"5:26"}},weekday:{"1":{b:"1:1",e:"1:4"},"2":{b:"1:5",e:"1:9"},"3":{b:"1:10",e:"1:13"}}};const Tzav$2={num:25,hebrew:"צַו",book:3,verses:"6:1-8:36",haft:[{k:"Jeremiah",b:"7:21",e:"8:3"},{k:"Jeremiah",b:"9:22",e:"9:23"}],fullkriyah:{"1":{b:"6:1",e:"6:11"},"2":{b:"6:12",e:"7:10"},"3":{b:"7:11",e:"7:38"},"4":{b:"8:1",e:"8:13"},"5":{b:"8:14",e:"8:21"},"6":{b:"8:22",e:"8:29"},"7":{b:"8:30",e:"8:36"},M:{b:"8:33",e:"8:36"}},weekday:{"1":{b:"6:1",e:"6:3"},"2":{b:"6:4",e:"6:6"},"3":{b:"6:7",e:"6:11"}}};const Shmini$2={num:26,hebrew:"שְּׁמִינִי",book:3,verses:"9:1-11:47",haft:{k:"II Samuel",b:"6:1",e:"7:17"},seph:{k:"II Samuel",b:"6:1",e:"6:19"},fullkriyah:{"1":{b:"9:1",e:"9:16"},"2":{b:"9:17",e:"9:23"},"3":{b:"9:24",e:"10:11"},"4":{b:"10:12",e:"10:15"},"5":{b:"10:16",e:"10:20"},"6":{b:"11:1",e:"11:32"},"7":{b:"11:33",e:"11:47"},M:{b:"11:45",e:"11:47"}},weekday:{"1":{b:"9:1",e:"9:6"},"2":{b:"9:7",e:"9:10"},"3":{b:"9:11",e:"9:16"}}};const Tazria$2={num:27,hebrew:"תַזְרִיעַ",book:3,verses:"12:1-13:59",haft:{k:"II Kings",b:"4:42",e:"5:19"},fullkriyah:{"1":{b:"12:1",e:"13:5"},"2":{b:"13:6",e:"13:17"},"3":{b:"13:18",e:"13:23"},"4":{b:"13:24",e:"13:28"},"5":{b:"13:29",e:"13:39"},"6":{b:"13:40",e:"13:54"},"7":{b:"13:55",e:"13:59"},M:{b:"13:57",e:"13:59"}},weekday:{"1":{b:"12:1",e:"12:4"},"2":{b:"12:5",e:"12:8"},"3":{b:"13:1",e:"13:5"}}};const Metzora$2={num:28,hebrew:"מְּצֹרָע",book:3,verses:"14:1-15:33",haft:{k:"II Kings",b:"7:3",e:"7:20"},fullkriyah:{"1":{b:"14:1",e:"14:12"},"2":{b:"14:13",e:"14:20"},"3":{b:"14:21",e:"14:32"},"4":{b:"14:33",e:"14:53"},"5":{b:"14:54",e:"15:15"},"6":{b:"15:16",e:"15:28"},"7":{b:"15:29",e:"15:33"},M:{b:"15:31",e:"15:33"}},weekday:{"1":{b:"14:1",e:"14:5"},"2":{b:"14:6",e:"14:9"},"3":{b:"14:10",e:"14:12"}}};const Kedoshim$2={num:30,hebrew:"קְדשִׁים",book:3,verses:"19:1-20:27",haft:{k:"Amos",b:"9:7",e:"9:15"},seph:{k:"Ezekiel",b:"20:2",e:"20:20"},fullkriyah:{"1":{b:"19:1",e:"19:14"},"2":{b:"19:15",e:"19:22"},"3":{b:"19:23",e:"19:32"},"4":{b:"19:33",e:"19:37"},"5":{b:"20:1",e:"20:7"},"6":{b:"20:8",e:"20:22"},"7":{b:"20:23",e:"20:27"},M:{b:"20:25",e:"20:27"}},weekday:{"1":{b:"19:1",e:"19:4"},"2":{b:"19:5",e:"19:10"},"3":{b:"19:11",e:"19:14"}}};const Emor$2={num:31,hebrew:"אֱמוֹר",book:3,verses:"21:1-24:23",haft:{k:"Ezekiel",b:"44:15",e:"44:31"},fullkriyah:{"1":{b:"21:1",e:"21:15"},"2":{b:"21:16",e:"22:16"},"3":{b:"22:17",e:"22:33"},"4":{b:"23:1",e:"23:22"},"5":{b:"23:23",e:"23:32"},"6":{b:"23:33",e:"23:44"},"7":{b:"24:1",e:"24:23"},M:{b:"24:21",e:"24:23"}},weekday:{"1":{b:"21:1",e:"21:6"},"2":{b:"21:7",e:"21:12"},"3":{b:"21:13",e:"21:15"}}};const Behar$2={num:32,hebrew:"בְּהַר",book:3,verses:"25:1-26:2",haft:{k:"Jeremiah",b:"32:6",e:"32:27"},fullkriyah:{"1":{b:"25:1",e:"25:13"},"2":{b:"25:14",e:"25:18"},"3":{b:"25:19",e:"25:24"},"4":{b:"25:25",e:"25:28"},"5":{b:"25:29",e:"25:38"},"6":{b:"25:39",e:"25:46"},"7":{b:"25:47",e:"26:2"},M:{b:"25:55",e:"26:2"}},weekday:{"1":{b:"25:1",e:"25:3"},"2":{b:"25:4",e:"25:7"},"3":{b:"25:8",e:"25:13"}}};const Bechukotai$2={num:33,hebrew:"בְּחֻקֹּתַי",book:3,verses:"26:3-27:34",haft:{k:"Jeremiah",b:"16:19",e:"17:14"},fullkriyah:{"1":{b:"26:3",e:"26:5"},"2":{b:"26:6",e:"26:9"},"3":{b:"26:10",e:"26:46"},"4":{b:"27:1",e:"27:15"},"5":{b:"27:16",e:"27:21"},"6":{b:"27:22",e:"27:28"},"7":{b:"27:29",e:"27:34"},M:{b:"27:32",e:"27:34"}},weekday:{"1":{b:"26:3",e:"26:5"},"2":{b:"26:6",e:"26:9"},"3":{b:"26:10",e:"26:13"}}};const Bamidbar$2={num:34,hebrew:"בְּמִדְבַּר",book:4,verses:"1:1-4:20",haft:{k:"Hosea",b:"2:1",e:"2:22"},fullkriyah:{"1":{b:"1:1",e:"1:19"},"2":{b:"1:20",e:"1:54"},"3":{b:"2:1",e:"2:34"},"4":{b:"3:1",e:"3:13"},"5":{b:"3:14",e:"3:39"},"6":{b:"3:40",e:"3:51"},"7":{b:"4:1",e:"4:20"},M:{b:"4:17",e:"4:20"}},weekday:{"1":{b:"1:1",e:"1:4"},"2":{b:"1:5",e:"1:16"},"3":{b:"1:17",e:"1:19"}}};const Nasso$2={num:35,hebrew:"נָשׂא",book:4,verses:"4:21-7:89",haft:{k:"Judges",b:"13:2",e:"13:25"},fullkriyah:{"1":{b:"4:21",e:"4:37"},"2":{b:"4:38",e:"4:49"},"3":{b:"5:1",e:"5:10"},"4":{b:"5:11",e:"6:27"},"5":{b:"7:1",e:"7:41"},"6":{b:"7:42",e:"7:71"},"7":{b:"7:72",e:"7:89"},M:{b:"7:87",e:"7:89"}},weekday:{"1":{b:"4:21",e:"4:24"},"2":{b:"4:25",e:"4:28"},"3":{b:"4:29",e:"4:33"}}};const Korach$2={num:38,hebrew:"קוֹרַח",book:4,verses:"16:1-18:32",haft:{k:"I Samuel",b:"11:14",e:"12:22"},fullkriyah:{"1":{b:"16:1",e:"16:13"},"2":{b:"16:14",e:"16:19"},"3":{b:"16:20",e:"17:8"},"4":{b:"17:9",e:"17:15"},"5":{b:"17:16",e:"17:24"},"6":{b:"17:25",e:"18:20"},"7":{b:"18:21",e:"18:32"},M:{b:"18:30",e:"18:32"}},weekday:{"1":{b:"16:1",e:"16:3"},"2":{b:"16:4",e:"16:7"},"3":{b:"16:8",e:"16:13"}}};const Chukat$2={num:39,hebrew:"חֻקַּת",book:4,verses:"19:1-22:1",haft:{k:"Judges",b:"11:1",e:"11:33"},fullkriyah:{"1":{b:"19:1",e:"19:17"},"2":{b:"19:18",e:"20:6"},"3":{b:"20:7",e:"20:13"},"4":{b:"20:14",e:"20:21"},"5":{b:"20:22",e:"21:9"},"6":{b:"21:10",e:"21:20"},"7":{b:"21:21",e:"22:1"},M:{b:"21:34",e:"22:1"}},weekday:{"1":{b:"19:1",e:"19:6"},"2":{b:"19:7",e:"19:9"},"3":{b:"19:10",e:"19:17"}}};const Balak$2={num:40,hebrew:"בָּלָק",book:4,verses:"22:2-25:9",haft:{k:"Micah",b:"5:6",e:"6:8"},fullkriyah:{"1":{b:"22:2",e:"22:12"},"2":{b:"22:13",e:"22:20"},"3":{b:"22:21",e:"22:38"},"4":{b:"22:39",e:"23:12"},"5":{b:"23:13",e:"23:26"},"6":{b:"23:27",e:"24:13"},"7":{b:"24:14",e:"25:9"},M:{b:"25:7",e:"25:9"}},weekday:{"1":{b:"22:2",e:"22:4"},"2":{b:"22:5",e:"22:7"},"3":{b:"22:8",e:"22:12"}}};const Pinchas$2={num:41,hebrew:"פִּינְחָס",book:4,verses:"25:10-30:1",haft:{k:"I Kings",b:"18:46",e:"19:21"},fullkriyah:{"1":{b:"25:10",e:"26:4"},"2":{b:"26:5",e:"26:51"},"3":{b:"26:52",e:"27:5"},"4":{b:"27:6",e:"27:23"},"5":{b:"28:1",e:"28:15"},"6":{b:"28:16",e:"29:11"},"7":{b:"29:12",e:"30:1"},M:{b:"29:35",e:"30:1"}},weekday:{"1":{b:"25:10",e:"25:12"},"2":{b:"25:13",e:"25:15"},"3":{b:"25:16",e:"26:4"}}};const Matot$2={num:42,hebrew:"מַּטּוֹת",book:4,verses:"30:2-32:42",haft:{k:"Jeremiah",b:"1:1",e:"2:3"},fullkriyah:{"1":{b:"30:2",e:"30:17"},"2":{b:"31:1",e:"31:12"},"3":{b:"31:13",e:"31:24"},"4":{b:"31:25",e:"31:41"},"5":{b:"31:42",e:"31:54"},"6":{b:"32:1",e:"32:19"},"7":{b:"32:20",e:"32:42"},M:{b:"32:39",e:"32:42"}},weekday:{"1":{b:"30:2",e:"30:9"},"2":{b:"30:10",e:"30:13"},"3":{b:"30:14",e:"30:17"}}};const Masei$2={num:43,hebrew:"מַסְעֵי",book:4,verses:"33:1-36:13",haft:[{k:"Jeremiah",b:"2:4",e:"2:28"},{k:"Jeremiah",b:"3:4",e:"3:4"}],seph:[{k:"Jeremiah",b:"2:4",e:"2:28"},{k:"Jeremiah",b:"4:1",e:"4:2"}],fullkriyah:{"1":{b:"33:1",e:"33:10"},"2":{b:"33:11",e:"33:49"},"3":{b:"33:50",e:"34:15"},"4":{b:"34:16",e:"34:29"},"5":{b:"35:1",e:"35:8"},"6":{b:"35:9",e:"35:34"},"7":{b:"36:1",e:"36:13"},M:{b:"36:11",e:"36:13"}},weekday:{"1":{b:"33:1",e:"33:3"},"2":{b:"33:4",e:"33:6"},"3":{b:"33:7",e:"33:10"}}};const Devarim$1={num:44,hebrew:"דְּבָרִים",book:5,verses:"1:1-3:22",haft:{k:"Isaiah",b:"1:1",e:"1:27"},fullkriyah:{"1":{b:"1:1",e:"1:10"},"2":{b:"1:11",e:"1:21"},"3":{b:"1:22",e:"1:38"},"4":{b:"1:39",e:"2:1"},"5":{b:"2:2",e:"2:30"},"6":{b:"2:31",e:"3:14"},"7":{b:"3:15",e:"3:22"},M:{b:"3:20",e:"3:22"}},weekday:{"1":{b:"1:1",e:"1:3"},"2":{b:"1:4",e:"1:7"},"3":{b:"1:8",e:"1:11"}}};const Vaetchanan$1={num:45,hebrew:"וָאֶתְחַנַּן",book:5,verses:"3:23-7:11",haft:{k:"Isaiah",b:"40:1",e:"40:26"},fullkriyah:{"1":{b:"3:23",e:"4:4"},"2":{b:"4:5",e:"4:40"},"3":{b:"4:41",e:"4:49"},"4":{b:"5:1",e:"5:18"},"5":{b:"5:19",e:"6:3"},"6":{b:"6:4",e:"6:25"},"7":{b:"7:1",e:"7:11"},M:{b:"7:9",e:"7:11"}},weekday:{"1":{b:"3:23",e:"3:25"},"2":{b:"3:26",e:"4:4"},"3":{b:"4:5",e:"4:8"}}};const Eikev$2={num:46,hebrew:"עֵקֶב",book:5,verses:"7:12-11:25",haft:{k:"Isaiah",b:"49:14",e:"51:3"},fullkriyah:{"1":{b:"7:12",e:"8:10"},"2":{b:"8:11",e:"9:3"},"3":{b:"9:4",e:"9:29"},"4":{b:"10:1",e:"10:11"},"5":{b:"10:12",e:"11:9"},"6":{b:"11:10",e:"11:21"},"7":{b:"11:22",e:"11:25"},M:{b:"11:22",e:"11:25"}},weekday:{"1":{b:"7:12",e:"7:21"},"2":{b:"7:22",e:"8:3"},"3":{b:"8:4",e:"8:10"}}};const Shoftim$2={num:48,hebrew:"שׁוֹפְטִים",book:5,verses:"16:18-21:9",haft:{k:"Isaiah",b:"51:12",e:"52:12"},fullkriyah:{"1":{b:"16:18",e:"17:13"},"2":{b:"17:14",e:"17:20"},"3":{b:"18:1",e:"18:5"},"4":{b:"18:6",e:"18:13"},"5":{b:"18:14",e:"19:13"},"6":{b:"19:14",e:"20:9"},"7":{b:"20:10",e:"21:9"},M:{b:"21:7",e:"21:9"}},weekday:{"1":{b:"16:18",e:"16:20"},"2":{b:"16:21",e:"17:10"},"3":{b:"17:11",e:"17:13"}}};const Nitzavim$2={num:51,hebrew:"נִצָּבִים",book:5,verses:"29:9-30:20",haft:{k:"Isaiah",b:"61:10",e:"63:9"},fullkriyah:{"1":{b:"29:9",e:"29:11"},"2":{b:"29:12",e:"29:14"},"3":{b:"29:15",e:"29:28"},"4":{b:"30:1",e:"30:6"},"5":{b:"30:7",e:"30:10"},"6":{b:"30:11",e:"30:14"},"7":{b:"30:15",e:"30:20"},M:{b:"30:15",e:"30:20"}},weekday:{"1":{b:"29:9",e:"29:11"},"2":{b:"29:12",e:"29:14"},"3":{b:"29:15",e:"29:28"}}};const Vayeilech$2={num:52,hebrew:"וַיֵּלֶךְ",book:5,verses:"31:1-31:30",haft:{k:"Isaiah",b:"55:6",e:"56:8"},fullkriyah:{"1":{b:"31:1",e:"31:3"},"2":{b:"31:4",e:"31:6"},"3":{b:"31:7",e:"31:9"},"4":{b:"31:10",e:"31:13"},"5":{b:"31:14",e:"31:19"},"6":{b:"31:20",e:"31:24"},"7":{b:"31:25",e:"31:30"},M:{b:"31:28",e:"31:30"}},weekday:{"1":{b:"31:1",e:"31:3"},"2":{b:"31:4",e:"31:6"},"3":{b:"31:7",e:"31:13"}}};var parshiyotObj = {Bereshit:Bereshit$2,Noach:Noach$2,"Lech-Lecha":{num:3,hebrew:"לֶךְ־לְךָ",book:1,verses:"12:1-17:27",haft:{k:"Isaiah",b:"40:27",e:"41:16"},fullkriyah:{"1":{b:"12:1",e:"12:13"},"2":{b:"12:14",e:"13:4"},"3":{b:"13:5",e:"13:18"},"4":{b:"14:1",e:"14:20"},"5":{b:"14:21",e:"15:6"},"6":{b:"15:7",e:"17:6"},"7":{b:"17:7",e:"17:27"},M:{b:"17:24",e:"17:27"}},weekday:{"1":{b:"12:1",e:"12:3"},"2":{b:"12:4",e:"12:9"},"3":{b:"12:10",e:"12:13"}}},Vayera:Vayera$2,"Chayei Sara":{num:5,hebrew:"חַיֵּי שָֹרָה",book:1,verses:"23:1-25:18",haft:{k:"I Kings",b:"1:1",e:"1:31"},fullkriyah:{"1":{b:"23:1",e:"23:16"},"2":{b:"23:17",e:"24:9"},"3":{b:"24:10",e:"24:26"},"4":{b:"24:27",e:"24:52"},"5":{b:"24:53",e:"24:67"},"6":{b:"25:1",e:"25:11"},"7":{b:"25:12",e:"25:18"},M:{b:"25:16",e:"25:18"}},weekday:{"1":{b:"23:1",e:"23:7"},"2":{b:"23:8",e:"23:12"},"3":{b:"23:13",e:"23:16"}}},Toldot:Toldot$2,Vayetzei:Vayetzei$2,Vayishlach:Vayishlach$2,Vayeshev:Vayeshev$2,Miketz:Miketz$2,Vayigash:Vayigash$2,Vayechi:Vayechi$2,Shemot:Shemot$2,Vaera:Vaera$2,Bo:Bo$2,Beshalach:Beshalach$2,Yitro:Yitro$2,Mishpatim:Mishpatim$2,Terumah:Terumah$2,Tetzaveh:Tetzaveh$2,"Ki Tisa":{num:21,hebrew:"כִּי תִשָּׂא",book:2,verses:"30:11-34:35",haft:{k:"I Kings",b:"18:1",e:"18:39"},seph:{k:"I Kings",b:"18:20",e:"18:39"},fullkriyah:{"1":{b:"30:11",e:"31:17"},"2":{b:"31:18",e:"33:11"},"3":{b:"33:12",e:"33:16"},"4":{b:"33:17",e:"33:23"},"5":{b:"34:1",e:"34:9"},"6":{b:"34:10",e:"34:26"},"7":{b:"34:27",e:"34:35"},M:{b:"34:33",e:"34:35"}},weekday:{"1":{b:"30:11",e:"30:13"},"2":{b:"30:14",e:"30:16"},"3":{b:"30:17",e:"30:21"}}},Vayakhel:Vayakhel$2,Pekudei:Pekudei$2,Vayikra:Vayikra$2,Tzav:Tzav$2,Shmini:Shmini$2,Tazria:Tazria$2,Metzora:Metzora$2,"Achrei Mot":{num:29,hebrew:"אַחֲרֵי מוֹת",book:3,verses:"16:1-18:30",haft:{k:"Ezekiel",b:"22:1",e:"22:19"},seph:{k:"Ezekiel",b:"22:1",e:"22:16"},fullkriyah:{"1":{b:"16:1",e:"16:17"},"2":{b:"16:18",e:"16:24"},"3":{b:"16:25",e:"16:34"},"4":{b:"17:1",e:"17:7"},"5":{b:"17:8",e:"18:5"},"6":{b:"18:6",e:"18:21"},"7":{b:"18:22",e:"18:30"},M:{b:"18:28",e:"18:30"}},weekday:{"1":{b:"16:1",e:"16:6"},"2":{b:"16:7",e:"16:11"},"3":{b:"16:12",e:"16:17"}}},Kedoshim:Kedoshim$2,Emor:Emor$2,Behar:Behar$2,Bechukotai:Bechukotai$2,Bamidbar:Bamidbar$2,Nasso:Nasso$2,"Beha'alotcha":{num:36,hebrew:"בְּהַעֲלֹתְךָ",book:4,verses:"8:1-12:16",haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{"1":{b:"8:1",e:"8:14"},"2":{b:"8:15",e:"8:26"},"3":{b:"9:1",e:"9:14"},"4":{b:"9:15",e:"10:10"},"5":{b:"10:11",e:"10:34"},"6":{b:"10:35",e:"11:29"},"7":{b:"11:30",e:"12:16"},M:{b:"12:14",e:"12:16"}},weekday:{"1":{b:"8:1",e:"8:4"},"2":{b:"8:5",e:"8:9"},"3":{b:"8:10",e:"8:14"}}},"Sh'lach":{num:37,hebrew:"שְׁלַח־לְךָ",book:4,verses:"13:1-15:41",haft:{k:"Joshua",b:"2:1",e:"2:24"},fullkriyah:{"1":{b:"13:1",e:"13:20"},"2":{b:"13:21",e:"14:7"},"3":{b:"14:8",e:"14:25"},"4":{b:"14:26",e:"15:7"},"5":{b:"15:8",e:"15:16"},"6":{b:"15:17",e:"15:26"},"7":{b:"15:27",e:"15:41"},M:{b:"15:37",e:"15:41"}},weekday:{"1":{b:"13:1",e:"13:3"},"2":{b:"13:4",e:"13:16"},"3":{b:"13:17",e:"13:20"}}},Korach:Korach$2,Chukat:Chukat$2,Balak:Balak$2,Pinchas:Pinchas$2,Matot:Matot$2,Masei:Masei$2,Devarim:Devarim$1,Vaetchanan:Vaetchanan$1,Eikev:Eikev$2,"Re'eh":{num:47,hebrew:"רְאֵה",book:5,verses:"11:26-16:17",haft:{k:"Isaiah",b:"54:11",e:"55:5"},fullkriyah:{"1":{b:"11:26",e:"12:10"},"2":{b:"12:11",e:"12:28"},"3":{b:"12:29",e:"13:19"},"4":{b:"14:1",e:"14:21"},"5":{b:"14:22",e:"14:29"},"6":{b:"15:1",e:"15:18"},"7":{b:"15:19",e:"16:17"},M:{b:"16:13",e:"16:17"}},weekday:{"1":{b:"11:26",e:"11:31"},"2":{b:"11:32",e:"12:5"},"3":{b:"12:6",e:"12:10"}}},Shoftim:Shoftim$2,"Ki Teitzei":{num:49,hebrew:"כִּי־תֵצֵא",book:5,verses:"21:10-25:19",haft:{k:"Isaiah",b:"54:1",e:"54:10"},fullkriyah:{"1":{b:"21:10",e:"21:21"},"2":{b:"21:22",e:"22:7"},"3":{b:"22:8",e:"23:7"},"4":{b:"23:8",e:"23:24"},"5":{b:"23:25",e:"24:4"},"6":{b:"24:5",e:"24:13"},"7":{b:"24:14",e:"25:19"},M:{b:"25:17",e:"25:19"}},weekday:{"1":{b:"21:10",e:"21:14"},"2":{b:"21:15",e:"21:17"},"3":{b:"21:18",e:"21:21"}}},"Ki Tavo":{num:50,hebrew:"כִּי־תָבוֹא",book:5,verses:"26:1-29:8",haft:{k:"Isaiah",b:"60:1",e:"60:22"},fullkriyah:{"1":{b:"26:1",e:"26:11"},"2":{b:"26:12",e:"26:15"},"3":{b:"26:16",e:"26:19"},"4":{b:"27:1",e:"27:10"},"5":{b:"27:11",e:"28:6"},"6":{b:"28:7",e:"28:69"},"7":{b:"29:1",e:"29:8"},M:{b:"29:6",e:"29:8"}},weekday:{"1":{b:"26:1",e:"26:3"},"2":{b:"26:4",e:"26:11"},"3":{b:"26:12",e:"26:15"}}},Nitzavim:Nitzavim$2,Vayeilech:Vayeilech$2,"Ha'Azinu":{num:53,hebrew:"הַאֲזִינוּ",book:5,verses:"32:1-32:52",haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":{b:"32:1",e:"32:6"},"2":{b:"32:7",e:"32:12"},"3":{b:"32:13",e:"32:18"},"4":{b:"32:19",e:"32:28"},"5":{b:"32:29",e:"32:39"},"6":{b:"32:40",e:"32:43"},"7":{b:"32:44",e:"32:52"},M:{b:"32:48",e:"32:52"}},weekday:{"1":{b:"32:1",e:"32:3"},"2":{b:"32:4",e:"32:6"},"3":{b:"32:7",e:"32:12"}}},"Vezot Haberakhah":{num:54,hebrew:"וְזֹאת הַבְּרָכָה",book:5,verses:"33:1-34:12",haft:{k:"Joshua",b:"1:1",e:"1:18"},seph:{k:"Joshua",b:"1:1",e:"1:9"},fullkriyah:{"1":{b:"33:1",e:"33:7"},"2":{b:"33:8",e:"33:12"},"3":{b:"33:13",e:"33:17"},"4":{b:"33:18",e:"33:21"},"5":{b:"33:22",e:"33:26"},"6":{b:"33:27",e:"33:29"},"7":{b:"34:1",e:"34:12"}},weekday:{"1":{b:"33:1",e:"33:7"},"2":{b:"33:8",e:"33:12"},"3":{b:"33:13",e:"33:17"}}},"Vayakhel-Pekudei":{num:101,combined:true,p1:"Vayakhel",p2:"Pekudei",num1:22,num2:23,book:2,verses:"35:1-40:38",fullkriyah:{"1":{b:"35:1",e:"35:29"},"2":{b:"35:30",e:"37:16"},"3":{b:"37:17",e:"37:29"},"4":{b:"38:1",e:"39:1"},"5":{b:"39:2",e:"39:21"},"6":{b:"39:22",e:"39:43"},"7":{b:"40:1",e:"40:38"},M:{b:"40:34",e:"40:38"}}},"Tazria-Metzora":{num:102,combined:true,p1:"Tazria",p2:"Metzora",num1:27,num2:28,book:3,verses:"12:1-15:33",fullkriyah:{"1":{b:"12:1",e:"13:23"},"2":{b:"13:24",e:"13:39"},"3":{b:"13:40",e:"13:54"},"4":{b:"13:55",e:"14:20"},"5":{b:"14:21",e:"14:32"},"6":{b:"14:33",e:"15:15"},"7":{b:"15:16",e:"15:33"},M:{b:"15:31",e:"15:33"}}},"Achrei Mot-Kedoshim":{num:103,combined:true,p1:"Achrei Mot",p2:"Kedoshim",num1:29,num2:30,book:3,verses:"16:1-20:27",fullkriyah:{"1":{b:"16:1",e:"16:24"},"2":{b:"16:25",e:"17:7"},"3":{b:"17:8",e:"18:21"},"4":{b:"18:22",e:"19:14"},"5":{b:"19:15",e:"19:32"},"6":{b:"19:33",e:"20:7"},"7":{b:"20:8",e:"20:27"},M:{b:"20:25",e:"20:27"}}},"Behar-Bechukotai":{num:104,combined:true,p1:"Behar",p2:"Bechukotai",num1:32,num2:33,book:3,verses:"25:1-27:34",fullkriyah:{"1":{b:"25:1",e:"25:18"},"2":{b:"25:19",e:"25:28"},"3":{b:"25:29",e:"25:38"},"4":{b:"25:39",e:"26:9"},"5":{b:"26:10",e:"26:46"},"6":{b:"27:1",e:"27:15"},"7":{b:"27:16",e:"27:34"},M:{b:"27:32",e:"27:34"}}},"Chukat-Balak":{num:105,combined:true,p1:"Chukat",p2:"Balak",num1:39,num2:40,book:4,verses:"19:1-25:9",fullkriyah:{"1":{b:"19:1",e:"20:6"},"2":{b:"20:7",e:"20:21"},"3":{b:"20:22",e:"21:20"},"4":{b:"21:21",e:"22:12"},"5":{b:"22:13",e:"22:38"},"6":{b:"22:39",e:"23:26"},"7":{b:"23:27",e:"25:9"},M:{b:"25:7",e:"25:9"}}},"Matot-Masei":{num:106,combined:true,p1:"Matot",p2:"Masei",num1:42,num2:43,book:4,verses:"30:2-36:13",fullkriyah:{"1":{b:"30:2",e:"31:12"},"2":{b:"31:13",e:"31:54"},"3":{b:"32:1",e:"32:19"},"4":{b:"32:20",e:"33:49"},"5":{b:"33:50",e:"34:15"},"6":{b:"34:16",e:"35:8"},"7":{b:"35:9",e:"36:13"},M:{b:"36:11",e:"36:13"}}},"Nitzavim-Vayeilech":{num:107,combined:true,p1:"Nitzavim",p2:"Vayeilech",num1:51,num2:52,book:5,verses:"29:9-31:30",fullkriyah:{"1":{b:"29:9",e:"29:28"},"2":{b:"30:1",e:"30:6"},"3":{b:"30:7",e:"30:14"},"4":{b:"30:15",e:"31:6"},"5":{b:"31:7",e:"31:13"},"6":{b:"31:14",e:"31:19"},"7":{b:"31:20",e:"31:30"},M:{b:"31:28",e:"31:30"}}}};
334
-
335
298
  const HOLIDAY_IGNORE_MASK = flags.DAF_YOMI | flags.OMER_COUNT | flags.SHABBAT_MEVARCHIM | flags.MOLAD | flags.USER_EVENT | flags.HEBREW_DATE;
336
299
  /**
337
300
  * Based on the event date, type and title, finds the relevant leyning key
338
- * @param {Event} e event
301
+ * @param {Event} ev event
339
302
  * @param {boolean} [il] true if Israel holiday scheme
340
303
  * @return {string} key to look up in holiday-reading.json
341
304
  */
342
305
 
343
- function getLeyningKeyForEvent(e, il = false) {
344
- const mask = e.getFlags();
306
+ function getLeyningKeyForEvent(ev, il = false) {
307
+ const mask = ev.getFlags();
345
308
 
346
309
  if (mask & HOLIDAY_IGNORE_MASK) {
347
310
  return undefined;
348
311
  } // Skip all Erevs except for Simchat Torah
349
312
 
350
313
 
351
- const desc = e.getDesc();
314
+ const desc = ev.getDesc();
352
315
 
353
316
  if (mask & flags.EREV && desc !== 'Erev Simchat Torah') {
354
317
  return undefined;
355
318
  }
356
319
 
357
- const hd = e.getDate();
320
+ const hd = ev.getDate();
358
321
  const day = hd.getDate();
359
322
  const dow = hd.abs() % 7;
360
323
  const month = hd.getMonth();
361
324
  const isShabbat = dow == 6;
362
325
  const isRoshChodesh = day == 1 || day == 30;
363
- const holiday = e.basename();
326
+ const holiday = ev.basename();
364
327
  const isPesach = holiday === 'Pesach';
365
328
 
366
329
  if (il && isPesach) {
@@ -373,7 +336,7 @@ function getLeyningKeyForEvent(e, il = false) {
373
336
 
374
337
  if (day == 1 && month === months.TISHREI) {
375
338
  return isShabbat ? 'Rosh Hashana I (on Shabbat)' : 'Rosh Hashana I';
376
- } else if (e.cholHaMoedDay) {
339
+ } else if (ev.cholHaMoedDay) {
377
340
  // Sukkot or Pesach
378
341
  if (isShabbat) {
379
342
  return holiday + ' Shabbat Chol ha-Moed';
@@ -383,7 +346,7 @@ function getLeyningKeyForEvent(e, il = false) {
383
346
  // the readings for the third, fourth, and fifth days are moved ahead
384
347
 
385
348
 
386
- let cholHaMoedDay = e.cholHaMoedDay;
349
+ let cholHaMoedDay = ev.cholHaMoedDay;
387
350
 
388
351
  if (isPesach && cholHaMoedDay >= 3) {
389
352
  if (dow == 0 && cholHaMoedDay == 4) {
@@ -394,13 +357,13 @@ function getLeyningKeyForEvent(e, il = false) {
394
357
  }
395
358
 
396
359
  return `${holiday} Chol ha-Moed Day ${cholHaMoedDay}`;
397
- } else if (e.chanukahDay) {
360
+ } else if (ev.chanukahDay) {
398
361
  if (isShabbat && isRoshChodesh) {
399
362
  return 'Shabbat Rosh Chodesh Chanukah';
400
- } else if (isRoshChodesh && e.chanukahDay == 7) {
363
+ } else if (isRoshChodesh && ev.chanukahDay == 7) {
401
364
  return `Chanukah Day 7 (on Rosh Chodesh)`;
402
365
  } else {
403
- return `Chanukah Day ${e.chanukahDay}`;
366
+ return `Chanukah Day ${ev.chanukahDay}`;
404
367
  }
405
368
  }
406
369
 
@@ -514,19 +477,19 @@ function mergeAliyotWithSpecial(aliyot, special) {
514
477
  }
515
478
  /**
516
479
  * @private
517
- * @param {Event} e
480
+ * @param {Event} ev
518
481
  * @param {string} key
519
482
  * @return {string}
520
483
  */
521
484
 
522
485
 
523
- function getChanukahShabbatKey(e, key) {
486
+ function getChanukahShabbatKey(ev, key) {
524
487
  if (key == 'Shabbat Rosh Chodesh Chanukah') {
525
488
  return undefined;
526
489
  }
527
490
 
528
- if (e.chanukahDay) {
529
- return e.chanukahDay == 8 ? 'Shabbat Chanukah II' : 'Shabbat Chanukah';
491
+ if (ev.chanukahDay) {
492
+ return ev.chanukahDay == 8 ? 'Shabbat Chanukah II' : 'Shabbat Chanukah';
530
493
  }
531
494
 
532
495
  return undefined;
@@ -607,6 +570,8 @@ function specialReadings(hd, il, aliyot, reason) {
607
570
  return haft;
608
571
  }
609
572
 
573
+ const Bereshit$2={num:1,hebrew:"בְּרֵאשִׁית",book:1,haft:{k:"Isaiah",b:"42:5",e:"43:10"},seph:{k:"Isaiah",b:"42:5",e:"42:21"},fullkriyah:{"1":["1:1","2:3"],"2":["2:4","2:19"],"3":["2:20","3:21"],"4":["3:22","4:18"],"5":["4:19","4:22"],"6":["4:23","5:24"],"7":["5:25","6:8"],M:["6:5","6:8"]},weekday:{"1":["1:1","1:5"],"2":["1:6","1:8"],"3":["1:9","1:13"]}};const Noach$2={num:2,hebrew:"נֹחַ",book:1,haft:{k:"Isaiah",b:"54:1",e:"55:5"},seph:{k:"Isaiah",b:"54:1",e:"54:10"},fullkriyah:{"1":["6:9","6:22"],"2":["7:1","7:16"],"3":["7:17","8:14"],"4":["8:15","9:7"],"5":["9:8","9:17"],"6":["9:18","10:32"],"7":["11:1","11:32"],M:["11:29","11:32"]},weekday:{"1":["6:9","6:16"],"2":["6:17","6:19"],"3":["6:20","6:22"]}};const Vayera$2={num:4,hebrew:"וַיֵּרָא",book:1,haft:{k:"II Kings",b:"4:1",e:"4:37"},seph:{k:"II Kings",b:"4:1",e:"4:23"},fullkriyah:{"1":["18:1","18:14"],"2":["18:15","18:33"],"3":["19:1","19:20"],"4":["19:21","21:4"],"5":["21:5","21:21"],"6":["21:22","21:34"],"7":["22:1","22:24"],M:["22:20","22:24"]},weekday:{"1":["18:1","18:5"],"2":["18:6","18:8"],"3":["18:9","18:14"]}};const Toldot$2={num:6,hebrew:"תּוֹלְדוֹת",book:1,haft:{k:"Malachi",b:"1:1",e:"2:7"},fullkriyah:{"1":["25:19","26:5"],"2":["26:6","26:12"],"3":["26:13","26:22"],"4":["26:23","26:29"],"5":["26:30","27:27"],"6":["27:28","28:4"],"7":["28:5","28:9"],M:["28:7","28:9"]},weekday:{"1":["25:19","25:22"],"2":["25:23","25:26"],"3":["25:27","26:5"]}};const Vayetzei$2={num:7,hebrew:"וַיֵּצֵא",book:1,haft:{k:"Hosea",b:"12:13",e:"14:10"},seph:{k:"Hosea",b:"11:7",e:"12:12"},fullkriyah:{"1":["28:10","28:22"],"2":["29:1","29:17"],"3":["29:18","30:13"],"4":["30:14","30:27"],"5":["30:28","31:16"],"6":["31:17","31:42"],"7":["31:43","32:3"],M:["32:1","32:3"]},weekday:{"1":["28:10","28:12"],"2":["28:13","28:17"],"3":["28:18","28:22"]}};const Vayishlach$2={num:8,hebrew:"וַיִּשְׁלַח",book:1,haft:{k:"Obadiah",b:"1:1",e:"1:21"},fullkriyah:{"1":["32:4","32:13"],"2":["32:14","32:30"],"3":["32:31","33:5"],"4":["33:6","33:20"],"5":["34:1","35:11"],"6":["35:12","36:19"],"7":["36:20","36:43"],M:["36:40","36:43"]},weekday:{"1":["32:4","32:6"],"2":["32:7","32:9"],"3":["32:10","32:13"]}};const Vayeshev$2={num:9,hebrew:"וַיֵּשֶׁב",book:1,haft:{k:"Amos",b:"2:6",e:"3:8"},fullkriyah:{"1":["37:1","37:11"],"2":["37:12","37:22"],"3":["37:23","37:36"],"4":["38:1","38:30"],"5":["39:1","39:6"],"6":["39:7","39:23"],"7":["40:1","40:23"],M:["40:20","40:23"]},weekday:{"1":["37:1","37:3"],"2":["37:4","37:7"],"3":["37:8","37:11"]}};const Miketz$2={num:10,hebrew:"מִקֵּץ",book:1,haft:{k:"I Kings",b:"3:15",e:"4:1"},fullkriyah:{"1":["41:1","41:14"],"2":["41:15","41:38"],"3":["41:39","41:52"],"4":["41:53","42:18"],"5":["42:19","43:15"],"6":["43:16","43:29"],"7":["43:30","44:17"],M:["44:14","44:17"]},weekday:{"1":["41:1","41:4"],"2":["41:5","41:7"],"3":["41:8","41:14"]}};const Vayigash$2={num:11,hebrew:"וַיִּגַּשׁ",book:1,haft:{k:"Ezekiel",b:"37:15",e:"37:28"},fullkriyah:{"1":["44:18","44:30"],"2":["44:31","45:7"],"3":["45:8","45:18"],"4":["45:19","45:27"],"5":["45:28","46:27"],"6":["46:28","47:10"],"7":["47:11","47:27"],M:["47:25","47:27"]},weekday:{"1":["44:18","44:20"],"2":["44:21","44:24"],"3":["44:25","44:30"]}};const Vayechi$2={num:12,hebrew:"וַיְחִי",book:1,haft:{k:"I Kings",b:"2:1",e:"2:12"},fullkriyah:{"1":["47:28","48:9"],"2":["48:10","48:16"],"3":["48:17","48:22"],"4":["49:1","49:18"],"5":["49:19","49:26"],"6":["49:27","50:20"],"7":["50:21","50:26"],M:["50:23","50:26"]},weekday:{"1":["47:28","47:31"],"2":["48:1","48:3"],"3":["48:4","48:9"]}};const Shemot$2={num:13,hebrew:"שְׁמוֹת",book:2,haft:[{k:"Isaiah",b:"27:6",e:"28:13"},{k:"Isaiah",b:"29:22",e:"29:23"}],seph:{k:"Jeremiah",b:"1:1",e:"2:3"},fullkriyah:{"1":["1:1","1:17"],"2":["1:18","2:10"],"3":["2:11","2:25"],"4":["3:1","3:15"],"5":["3:16","4:17"],"6":["4:18","4:31"],"7":["5:1","6:1"],M:["5:22","6:1"]},weekday:{"1":["1:1","1:7"],"2":["1:8","1:12"],"3":["1:13","1:17"]}};const Vaera$2={num:14,hebrew:"וָאֵרָא",book:2,haft:{k:"Ezekiel",b:"28:25",e:"29:21"},fullkriyah:{"1":["6:2","6:13"],"2":["6:14","6:28"],"3":["6:29","7:7"],"4":["7:8","8:6"],"5":["8:7","8:18"],"6":["8:19","9:16"],"7":["9:17","9:35"],M:["9:33","9:35"]},weekday:{"1":["6:2","6:5"],"2":["6:6","6:9"],"3":["6:10","6:13"]}};const Bo$2={num:15,hebrew:"בֹּא",book:2,haft:{k:"Jeremiah",b:"46:13",e:"46:28"},fullkriyah:{"1":["10:1","10:11"],"2":["10:12","10:23"],"3":["10:24","11:3"],"4":["11:4","12:20"],"5":["12:21","12:28"],"6":["12:29","12:51"],"7":["13:1","13:16"],M:["13:14","13:16"]},weekday:{"1":["10:1","10:3"],"2":["10:4","10:6"],"3":["10:7","10:11"]}};const Beshalach$2={num:16,hebrew:"בְּשַׁלַּח",book:2,haft:{k:"Judges",b:"4:4",e:"5:31"},seph:{k:"Judges",b:"5:1",e:"5:31"},fullkriyah:{"1":["13:17","14:8"],"2":["14:9","14:14"],"3":["14:15","14:25"],"4":["14:26","15:26"],"5":["15:27","16:10"],"6":["16:11","16:36"],"7":["17:1","17:16"],M:["17:14","17:16"]},weekday:{"1":["13:17","13:22"],"2":["14:1","14:4"],"3":["14:5","14:8"]}};const Yitro$2={num:17,hebrew:"יִתְרוֹ",book:2,haft:[{k:"Isaiah",b:"6:1",e:"7:6"},{k:"Isaiah",b:"9:5",e:"9:6"}],seph:{k:"Isaiah",b:"6:1",e:"6:13"},fullkriyah:{"1":["18:1","18:12"],"2":["18:13","18:23"],"3":["18:24","18:27"],"4":["19:1","19:6"],"5":["19:7","19:19"],"6":["19:20","20:14"],"7":["20:15","20:23"],M:["20:19","20:23"]},weekday:{"1":["18:1","18:4"],"2":["18:5","18:8"],"3":["18:9","18:12"]}};const Mishpatim$2={num:18,hebrew:"מִּשְׁפָּטִים",book:2,haft:[{k:"Jeremiah",b:"34:8",e:"34:22"},{k:"Jeremiah",b:"33:25",e:"33:26"}],fullkriyah:{"1":["21:1","21:19"],"2":["21:20","22:3"],"3":["22:4","22:26"],"4":["22:27","23:5"],"5":["23:6","23:19"],"6":["23:20","23:25"],"7":["23:26","24:18"],M:["24:15","24:18"]},weekday:{"1":["21:1","21:6"],"2":["21:7","21:11"],"3":["21:12","21:19"]}};const Terumah$2={num:19,hebrew:"תְּרוּמָה",book:2,haft:{k:"I Kings",b:"5:26",e:"6:13"},fullkriyah:{"1":["25:1","25:16"],"2":["25:17","25:30"],"3":["25:31","26:14"],"4":["26:15","26:30"],"5":["26:31","26:37"],"6":["27:1","27:8"],"7":["27:9","27:19"],M:["27:17","27:19"]},weekday:{"1":["25:1","25:5"],"2":["25:6","25:9"],"3":["25:10","25:16"]}};const Tetzaveh$2={num:20,hebrew:"תְּצַוֶּה",book:2,haft:{k:"Ezekiel",b:"43:10",e:"43:27"},fullkriyah:{"1":["27:20","28:12"],"2":["28:13","28:30"],"3":["28:31","28:43"],"4":["29:1","29:18"],"5":["29:19","29:37"],"6":["29:38","29:46"],"7":["30:1","30:10"],M:["30:8","30:10"]},weekday:{"1":["27:20","28:5"],"2":["28:6","28:9"],"3":["28:10","28:12"]}};const Vayakhel$2={num:22,hebrew:"וַיַּקְהֵל",book:2,haft:{k:"I Kings",b:"7:40",e:"7:50"},seph:{k:"I Kings",b:"7:13",e:"7:26"},fullkriyah:{"1":["35:1","35:20"],"2":["35:21","35:29"],"3":["35:30","36:7"],"4":["36:8","36:19"],"5":["36:20","37:16"],"6":["37:17","37:29"],"7":["38:1","38:20"],M:["38:18","38:20"]},weekday:{"1":["35:1","35:3"],"2":["35:4","35:10"],"3":["35:11","35:20"]}};const Pekudei$2={num:23,hebrew:"פְקוּדֵי",book:2,haft:{k:"I Kings",b:"7:51",e:"8:21"},seph:{k:"I Kings",b:"7:40",e:"7:50"},fullkriyah:{"1":["38:21","39:1"],"2":["39:2","39:21"],"3":["39:22","39:32"],"4":["39:33","39:43"],"5":["40:1","40:16"],"6":["40:17","40:27"],"7":["40:28","40:38"],M:["40:34","40:38"]},weekday:{"1":["38:21","38:23"],"2":["38:24","38:27"],"3":["38:28","39:1"]}};const Vayikra$2={num:24,hebrew:"וַיִּקְרָא",book:3,haft:{k:"Isaiah",b:"43:21",e:"44:23"},fullkriyah:{"1":["1:1","1:13"],"2":["1:14","2:6"],"3":["2:7","2:16"],"4":["3:1","3:17"],"5":["4:1","4:26"],"6":["4:27","5:10"],"7":["5:11","5:26"],M:["5:24","5:26"]},weekday:{"1":["1:1","1:4"],"2":["1:5","1:9"],"3":["1:10","1:13"]}};const Tzav$2={num:25,hebrew:"צַו",book:3,haft:[{k:"Jeremiah",b:"7:21",e:"8:3"},{k:"Jeremiah",b:"9:22",e:"9:23"}],fullkriyah:{"1":["6:1","6:11"],"2":["6:12","7:10"],"3":["7:11","7:38"],"4":["8:1","8:13"],"5":["8:14","8:21"],"6":["8:22","8:29"],"7":["8:30","8:36"],M:["8:33","8:36"]},weekday:{"1":["6:1","6:3"],"2":["6:4","6:6"],"3":["6:7","6:11"]}};const Shmini$2={num:26,hebrew:"שְּׁמִינִי",book:3,haft:{k:"II Samuel",b:"6:1",e:"7:17"},seph:{k:"II Samuel",b:"6:1",e:"6:19"},fullkriyah:{"1":["9:1","9:16"],"2":["9:17","9:23"],"3":["9:24","10:11"],"4":["10:12","10:15"],"5":["10:16","10:20"],"6":["11:1","11:32"],"7":["11:33","11:47"],M:["11:45","11:47"]},weekday:{"1":["9:1","9:6"],"2":["9:7","9:10"],"3":["9:11","9:16"]}};const Tazria$2={num:27,hebrew:"תַזְרִיעַ",book:3,haft:{k:"II Kings",b:"4:42",e:"5:19"},fullkriyah:{"1":["12:1","13:5"],"2":["13:6","13:17"],"3":["13:18","13:23"],"4":["13:24","13:28"],"5":["13:29","13:39"],"6":["13:40","13:54"],"7":["13:55","13:59"],M:["13:57","13:59"]},weekday:{"1":["12:1","12:4"],"2":["12:5","12:8"],"3":["13:1","13:5"]}};const Metzora$2={num:28,hebrew:"מְּצֹרָע",book:3,haft:{k:"II Kings",b:"7:3",e:"7:20"},fullkriyah:{"1":["14:1","14:12"],"2":["14:13","14:20"],"3":["14:21","14:32"],"4":["14:33","14:53"],"5":["14:54","15:15"],"6":["15:16","15:28"],"7":["15:29","15:33"],M:["15:31","15:33"]},weekday:{"1":["14:1","14:5"],"2":["14:6","14:9"],"3":["14:10","14:12"]}};const Kedoshim$2={num:30,hebrew:"קְדשִׁים",book:3,haft:{k:"Amos",b:"9:7",e:"9:15"},seph:{k:"Ezekiel",b:"20:2",e:"20:20"},fullkriyah:{"1":["19:1","19:14"],"2":["19:15","19:22"],"3":["19:23","19:32"],"4":["19:33","19:37"],"5":["20:1","20:7"],"6":["20:8","20:22"],"7":["20:23","20:27"],M:["20:25","20:27"]},weekday:{"1":["19:1","19:4"],"2":["19:5","19:10"],"3":["19:11","19:14"]}};const Emor$2={num:31,hebrew:"אֱמוֹר",book:3,haft:{k:"Ezekiel",b:"44:15",e:"44:31"},fullkriyah:{"1":["21:1","21:15"],"2":["21:16","22:16"],"3":["22:17","22:33"],"4":["23:1","23:22"],"5":["23:23","23:32"],"6":["23:33","23:44"],"7":["24:1","24:23"],M:["24:21","24:23"]},weekday:{"1":["21:1","21:6"],"2":["21:7","21:12"],"3":["21:13","21:15"]}};const Behar$2={num:32,hebrew:"בְּהַר",book:3,haft:{k:"Jeremiah",b:"32:6",e:"32:27"},fullkriyah:{"1":["25:1","25:13"],"2":["25:14","25:18"],"3":["25:19","25:24"],"4":["25:25","25:28"],"5":["25:29","25:38"],"6":["25:39","25:46"],"7":["25:47","26:2"],M:["25:55","26:2"]},weekday:{"1":["25:1","25:3"],"2":["25:4","25:7"],"3":["25:8","25:13"]}};const Bechukotai$2={num:33,hebrew:"בְּחֻקֹּתַי",book:3,haft:{k:"Jeremiah",b:"16:19",e:"17:14"},fullkriyah:{"1":["26:3","26:5"],"2":["26:6","26:9"],"3":["26:10","26:46"],"4":["27:1","27:15"],"5":["27:16","27:21"],"6":["27:22","27:28"],"7":["27:29","27:34"],M:["27:32","27:34"]},weekday:{"1":["26:3","26:5"],"2":["26:6","26:9"],"3":["26:10","26:13"]}};const Bamidbar$2={num:34,hebrew:"בְּמִדְבַּר",book:4,haft:{k:"Hosea",b:"2:1",e:"2:22"},fullkriyah:{"1":["1:1","1:19"],"2":["1:20","1:54"],"3":["2:1","2:34"],"4":["3:1","3:13"],"5":["3:14","3:39"],"6":["3:40","3:51"],"7":["4:1","4:20"],M:["4:17","4:20"]},weekday:{"1":["1:1","1:4"],"2":["1:5","1:16"],"3":["1:17","1:19"]}};const Nasso$2={num:35,hebrew:"נָשׂא",book:4,haft:{k:"Judges",b:"13:2",e:"13:25"},fullkriyah:{"1":["4:21","4:37"],"2":["4:38","4:49"],"3":["5:1","5:10"],"4":["5:11","6:27"],"5":["7:1","7:41"],"6":["7:42","7:71"],"7":["7:72","7:89"],M:["7:87","7:89"]},weekday:{"1":["4:21","4:24"],"2":["4:25","4:28"],"3":["4:29","4:33"]}};const Korach$2={num:38,hebrew:"קוֹרַח",book:4,haft:{k:"I Samuel",b:"11:14",e:"12:22"},fullkriyah:{"1":["16:1","16:13"],"2":["16:14","16:19"],"3":["16:20","17:8"],"4":["17:9","17:15"],"5":["17:16","17:24"],"6":["17:25","18:20"],"7":["18:21","18:32"],M:["18:30","18:32"]},weekday:{"1":["16:1","16:3"],"2":["16:4","16:7"],"3":["16:8","16:13"]}};const Chukat$2={num:39,hebrew:"חֻקַּת",book:4,haft:{k:"Judges",b:"11:1",e:"11:33"},fullkriyah:{"1":["19:1","19:17"],"2":["19:18","20:6"],"3":["20:7","20:13"],"4":["20:14","20:21"],"5":["20:22","21:9"],"6":["21:10","21:20"],"7":["21:21","22:1"],M:["21:34","22:1"]},weekday:{"1":["19:1","19:6"],"2":["19:7","19:9"],"3":["19:10","19:17"]}};const Balak$2={num:40,hebrew:"בָּלָק",book:4,haft:{k:"Micah",b:"5:6",e:"6:8"},fullkriyah:{"1":["22:2","22:12"],"2":["22:13","22:20"],"3":["22:21","22:38"],"4":["22:39","23:12"],"5":["23:13","23:26"],"6":["23:27","24:13"],"7":["24:14","25:9"],M:["25:7","25:9"]},weekday:{"1":["22:2","22:4"],"2":["22:5","22:7"],"3":["22:8","22:12"]}};const Pinchas$2={num:41,hebrew:"פִּינְחָס",book:4,haft:{k:"I Kings",b:"18:46",e:"19:21"},fullkriyah:{"1":["25:10","26:4"],"2":["26:5","26:51"],"3":["26:52","27:5"],"4":["27:6","27:23"],"5":["28:1","28:15"],"6":["28:16","29:11"],"7":["29:12","30:1"],M:["29:35","30:1"]},weekday:{"1":["25:10","25:12"],"2":["25:13","25:15"],"3":["25:16","26:4"]}};const Matot$2={num:42,hebrew:"מַּטּוֹת",book:4,haft:{k:"Jeremiah",b:"1:1",e:"2:3"},fullkriyah:{"1":["30:2","30:17"],"2":["31:1","31:12"],"3":["31:13","31:24"],"4":["31:25","31:41"],"5":["31:42","31:54"],"6":["32:1","32:19"],"7":["32:20","32:42"],M:["32:39","32:42"]},weekday:{"1":["30:2","30:9"],"2":["30:10","30:13"],"3":["30:14","30:17"]}};const Masei$2={num:43,hebrew:"מַסְעֵי",book:4,haft:[{k:"Jeremiah",b:"2:4",e:"2:28"},{k:"Jeremiah",b:"3:4",e:"3:4"}],seph:[{k:"Jeremiah",b:"2:4",e:"2:28"},{k:"Jeremiah",b:"4:1",e:"4:2"}],fullkriyah:{"1":["33:1","33:10"],"2":["33:11","33:49"],"3":["33:50","34:15"],"4":["34:16","34:29"],"5":["35:1","35:8"],"6":["35:9","35:34"],"7":["36:1","36:13"],M:["36:11","36:13"]},weekday:{"1":["33:1","33:3"],"2":["33:4","33:6"],"3":["33:7","33:10"]}};const Devarim$1={num:44,hebrew:"דְּבָרִים",book:5,haft:{k:"Isaiah",b:"1:1",e:"1:27"},fullkriyah:{"1":["1:1","1:10"],"2":["1:11","1:21"],"3":["1:22","1:38"],"4":["1:39","2:1"],"5":["2:2","2:30"],"6":["2:31","3:14"],"7":["3:15","3:22"],M:["3:20","3:22"]},weekday:{"1":["1:1","1:3"],"2":["1:4","1:7"],"3":["1:8","1:11"]}};const Vaetchanan$1={num:45,hebrew:"וָאֶתְחַנַּן",book:5,haft:{k:"Isaiah",b:"40:1",e:"40:26"},fullkriyah:{"1":["3:23","4:4"],"2":["4:5","4:40"],"3":["4:41","4:49"],"4":["5:1","5:18"],"5":["5:19","6:3"],"6":["6:4","6:25"],"7":["7:1","7:11"],M:["7:9","7:11"]},weekday:{"1":["3:23","3:25"],"2":["3:26","4:4"],"3":["4:5","4:8"]}};const Eikev$2={num:46,hebrew:"עֵקֶב",book:5,haft:{k:"Isaiah",b:"49:14",e:"51:3"},fullkriyah:{"1":["7:12","8:10"],"2":["8:11","9:3"],"3":["9:4","9:29"],"4":["10:1","10:11"],"5":["10:12","11:9"],"6":["11:10","11:21"],"7":["11:22","11:25"],M:["11:22","11:25"]},weekday:{"1":["7:12","7:21"],"2":["7:22","8:3"],"3":["8:4","8:10"]}};const Shoftim$2={num:48,hebrew:"שׁוֹפְטִים",book:5,haft:{k:"Isaiah",b:"51:12",e:"52:12"},fullkriyah:{"1":["16:18","17:13"],"2":["17:14","17:20"],"3":["18:1","18:5"],"4":["18:6","18:13"],"5":["18:14","19:13"],"6":["19:14","20:9"],"7":["20:10","21:9"],M:["21:7","21:9"]},weekday:{"1":["16:18","16:20"],"2":["16:21","17:10"],"3":["17:11","17:13"]}};const Nitzavim$2={num:51,hebrew:"נִצָּבִים",book:5,haft:{k:"Isaiah",b:"61:10",e:"63:9"},fullkriyah:{"1":["29:9","29:11"],"2":["29:12","29:14"],"3":["29:15","29:28"],"4":["30:1","30:6"],"5":["30:7","30:10"],"6":["30:11","30:14"],"7":["30:15","30:20"],M:["30:15","30:20"]},weekday:{"1":["29:9","29:11"],"2":["29:12","29:14"],"3":["29:15","29:28"]}};const Vayeilech$2={num:52,hebrew:"וַיֵּלֶךְ",book:5,haft:{k:"Isaiah",b:"55:6",e:"56:8"},fullkriyah:{"1":["31:1","31:3"],"2":["31:4","31:6"],"3":["31:7","31:9"],"4":["31:10","31:13"],"5":["31:14","31:19"],"6":["31:20","31:24"],"7":["31:25","31:30"],M:["31:28","31:30"]},weekday:{"1":["31:1","31:3"],"2":["31:4","31:6"],"3":["31:7","31:13"]}};var parshiyotObj = {Bereshit:Bereshit$2,Noach:Noach$2,"Lech-Lecha":{num:3,hebrew:"לֶךְ־לְךָ",book:1,haft:{k:"Isaiah",b:"40:27",e:"41:16"},fullkriyah:{"1":["12:1","12:13"],"2":["12:14","13:4"],"3":["13:5","13:18"],"4":["14:1","14:20"],"5":["14:21","15:6"],"6":["15:7","17:6"],"7":["17:7","17:27"],M:["17:24","17:27"]},weekday:{"1":["12:1","12:3"],"2":["12:4","12:9"],"3":["12:10","12:13"]}},Vayera:Vayera$2,"Chayei Sara":{num:5,hebrew:"חַיֵּי שָֹרָה",book:1,haft:{k:"I Kings",b:"1:1",e:"1:31"},fullkriyah:{"1":["23:1","23:16"],"2":["23:17","24:9"],"3":["24:10","24:26"],"4":["24:27","24:52"],"5":["24:53","24:67"],"6":["25:1","25:11"],"7":["25:12","25:18"],M:["25:16","25:18"]},weekday:{"1":["23:1","23:7"],"2":["23:8","23:12"],"3":["23:13","23:16"]}},Toldot:Toldot$2,Vayetzei:Vayetzei$2,Vayishlach:Vayishlach$2,Vayeshev:Vayeshev$2,Miketz:Miketz$2,Vayigash:Vayigash$2,Vayechi:Vayechi$2,Shemot:Shemot$2,Vaera:Vaera$2,Bo:Bo$2,Beshalach:Beshalach$2,Yitro:Yitro$2,Mishpatim:Mishpatim$2,Terumah:Terumah$2,Tetzaveh:Tetzaveh$2,"Ki Tisa":{num:21,hebrew:"כִּי תִשָּׂא",book:2,haft:{k:"I Kings",b:"18:1",e:"18:39"},seph:{k:"I Kings",b:"18:20",e:"18:39"},fullkriyah:{"1":["30:11","31:17"],"2":["31:18","33:11"],"3":["33:12","33:16"],"4":["33:17","33:23"],"5":["34:1","34:9"],"6":["34:10","34:26"],"7":["34:27","34:35"],M:["34:33","34:35"]},weekday:{"1":["30:11","30:13"],"2":["30:14","30:16"],"3":["30:17","30:21"]}},Vayakhel:Vayakhel$2,Pekudei:Pekudei$2,Vayikra:Vayikra$2,Tzav:Tzav$2,Shmini:Shmini$2,Tazria:Tazria$2,Metzora:Metzora$2,"Achrei Mot":{num:29,hebrew:"אַחֲרֵי מוֹת",book:3,haft:{k:"Ezekiel",b:"22:1",e:"22:19"},seph:{k:"Ezekiel",b:"22:1",e:"22:16"},fullkriyah:{"1":["16:1","16:17"],"2":["16:18","16:24"],"3":["16:25","16:34"],"4":["17:1","17:7"],"5":["17:8","18:5"],"6":["18:6","18:21"],"7":["18:22","18:30"],M:["18:28","18:30"]},weekday:{"1":["16:1","16:6"],"2":["16:7","16:11"],"3":["16:12","16:17"]}},Kedoshim:Kedoshim$2,Emor:Emor$2,Behar:Behar$2,Bechukotai:Bechukotai$2,Bamidbar:Bamidbar$2,Nasso:Nasso$2,"Beha'alotcha":{num:36,hebrew:"בְּהַעֲלֹתְךָ",book:4,haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{"1":["8:1","8:14"],"2":["8:15","8:26"],"3":["9:1","9:14"],"4":["9:15","10:10"],"5":["10:11","10:34"],"6":["10:35","11:29"],"7":["11:30","12:16"],M:["12:14","12:16"]},weekday:{"1":["8:1","8:4"],"2":["8:5","8:9"],"3":["8:10","8:14"]}},"Sh'lach":{num:37,hebrew:"שְׁלַח־לְךָ",book:4,haft:{k:"Joshua",b:"2:1",e:"2:24"},fullkriyah:{"1":["13:1","13:20"],"2":["13:21","14:7"],"3":["14:8","14:25"],"4":["14:26","15:7"],"5":["15:8","15:16"],"6":["15:17","15:26"],"7":["15:27","15:41"],M:["15:37","15:41"]},weekday:{"1":["13:1","13:3"],"2":["13:4","13:16"],"3":["13:17","13:20"]}},Korach:Korach$2,Chukat:Chukat$2,Balak:Balak$2,Pinchas:Pinchas$2,Matot:Matot$2,Masei:Masei$2,Devarim:Devarim$1,Vaetchanan:Vaetchanan$1,Eikev:Eikev$2,"Re'eh":{num:47,hebrew:"רְאֵה",book:5,haft:{k:"Isaiah",b:"54:11",e:"55:5"},fullkriyah:{"1":["11:26","12:10"],"2":["12:11","12:28"],"3":["12:29","13:19"],"4":["14:1","14:21"],"5":["14:22","14:29"],"6":["15:1","15:18"],"7":["15:19","16:17"],M:["16:13","16:17"]},weekday:{"1":["11:26","11:31"],"2":["11:32","12:5"],"3":["12:6","12:10"]}},Shoftim:Shoftim$2,"Ki Teitzei":{num:49,hebrew:"כִּי־תֵצֵא",book:5,haft:{k:"Isaiah",b:"54:1",e:"54:10"},fullkriyah:{"1":["21:10","21:21"],"2":["21:22","22:7"],"3":["22:8","23:7"],"4":["23:8","23:24"],"5":["23:25","24:4"],"6":["24:5","24:13"],"7":["24:14","25:19"],M:["25:17","25:19"]},weekday:{"1":["21:10","21:14"],"2":["21:15","21:17"],"3":["21:18","21:21"]}},"Ki Tavo":{num:50,hebrew:"כִּי־תָבוֹא",book:5,haft:{k:"Isaiah",b:"60:1",e:"60:22"},fullkriyah:{"1":["26:1","26:11"],"2":["26:12","26:15"],"3":["26:16","26:19"],"4":["27:1","27:10"],"5":["27:11","28:6"],"6":["28:7","28:69"],"7":["29:1","29:8"],M:["29:6","29:8"]},weekday:{"1":["26:1","26:3"],"2":["26:4","26:11"],"3":["26:12","26:15"]}},Nitzavim:Nitzavim$2,Vayeilech:Vayeilech$2,"Ha'Azinu":{num:53,hebrew:"הַאֲזִינוּ",book:5,haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":["32:1","32:6"],"2":["32:7","32:12"],"3":["32:13","32:18"],"4":["32:19","32:28"],"5":["32:29","32:39"],"6":["32:40","32:43"],"7":["32:44","32:52"],M:["32:48","32:52"]},weekday:{"1":["32:1","32:3"],"2":["32:4","32:6"],"3":["32:7","32:12"]}},"Vezot Haberakhah":{num:54,hebrew:"וְזֹאת הַבְּרָכָה",book:5,haft:{k:"Joshua",b:"1:1",e:"1:18"},seph:{k:"Joshua",b:"1:1",e:"1:9"},fullkriyah:{"1":["33:1","33:7"],"2":["33:8","33:12"],"3":["33:13","33:17"],"4":["33:18","33:21"],"5":["33:22","33:26"],"6":["33:27","33:29"],"7":["34:1","34:12"]},weekday:{"1":["33:1","33:7"],"2":["33:8","33:12"],"3":["33:13","33:17"]}},"Vayakhel-Pekudei":{num:101,combined:true,p1:"Vayakhel",p2:"Pekudei",num1:22,num2:23,book:2,fullkriyah:{"1":["35:1","35:29"],"2":["35:30","37:16"],"3":["37:17","37:29"],"4":["38:1","39:1"],"5":["39:2","39:21"],"6":["39:22","39:43"],"7":["40:1","40:38"],M:["40:34","40:38"]}},"Tazria-Metzora":{num:102,combined:true,p1:"Tazria",p2:"Metzora",num1:27,num2:28,book:3,fullkriyah:{"1":["12:1","13:23"],"2":["13:24","13:39"],"3":["13:40","13:54"],"4":["13:55","14:20"],"5":["14:21","14:32"],"6":["14:33","15:15"],"7":["15:16","15:33"],M:["15:31","15:33"]}},"Achrei Mot-Kedoshim":{num:103,combined:true,p1:"Achrei Mot",p2:"Kedoshim",num1:29,num2:30,book:3,fullkriyah:{"1":["16:1","16:24"],"2":["16:25","17:7"],"3":["17:8","18:21"],"4":["18:22","19:14"],"5":["19:15","19:32"],"6":["19:33","20:7"],"7":["20:8","20:27"],M:["20:25","20:27"]}},"Behar-Bechukotai":{num:104,combined:true,p1:"Behar",p2:"Bechukotai",num1:32,num2:33,book:3,fullkriyah:{"1":["25:1","25:18"],"2":["25:19","25:28"],"3":["25:29","25:38"],"4":["25:39","26:9"],"5":["26:10","26:46"],"6":["27:1","27:15"],"7":["27:16","27:34"],M:["27:32","27:34"]}},"Chukat-Balak":{num:105,combined:true,p1:"Chukat",p2:"Balak",num1:39,num2:40,book:4,fullkriyah:{"1":["19:1","20:6"],"2":["20:7","20:21"],"3":["20:22","21:20"],"4":["21:21","22:12"],"5":["22:13","22:38"],"6":["22:39","23:26"],"7":["23:27","25:9"],M:["25:7","25:9"]}},"Matot-Masei":{num:106,combined:true,p1:"Matot",p2:"Masei",num1:42,num2:43,book:4,fullkriyah:{"1":["30:2","31:12"],"2":["31:13","31:54"],"3":["32:1","32:19"],"4":["32:20","33:49"],"5":["33:50","34:15"],"6":["34:16","35:8"],"7":["35:9","36:13"],M:["36:11","36:13"]}},"Nitzavim-Vayeilech":{num:107,combined:true,p1:"Nitzavim",p2:"Vayeilech",num1:51,num2:52,book:5,fullkriyah:{"1":["29:9","29:28"],"2":["30:1","30:6"],"3":["30:7","30:14"],"4":["30:15","31:6"],"5":["31:7","31:13"],"6":["31:14","31:19"],"7":["31:20","31:30"],M:["31:28","31:30"]}}};
574
+
610
575
  /**
611
576
  * Represents an aliyah
612
577
  * @private
@@ -631,7 +596,7 @@ function specialReadings(hd, il, aliyot, reason) {
631
596
  * @property {LeyningNames} name
632
597
  * @property {string[]} [parsha] - An array of either 1 (regular) or 2 (doubled parsha).
633
598
  * `undefined` for holiday readings
634
- * @property {num} [parshaNum] - 1 for Bereshit, 2 for Noach, etc. `undefined` for holiday readings
599
+ * @property {number} [parshaNum] - 1 for Bereshit, 2 for Noach, etc. `undefined` for holiday readings
635
600
  * @property {string} summary - Such as `Genesis 1:1 - 6:8`
636
601
  * @property {Aliyah|Aliyah[]} haft - Haftarah object(s)
637
602
  * @property {string} haftara - Haftarah, such as `Isaiah 42:5 – 43:11`
@@ -649,91 +614,24 @@ function specialReadings(hd, il, aliyot, reason) {
649
614
  /**
650
615
  * Looks up leyning for a given holiday. Returns some
651
616
  * of full kriyah aliyot, special Maftir, special Haftarah
652
- * @param {Event} e the Hebcal event associated with this leyning
617
+ * @param {Event} ev the Hebcal event associated with this leyning
653
618
  * @param {boolean} [il] true if Israel holiday scheme
654
619
  * @return {Leyning} map of aliyot
655
620
  */
656
621
 
657
- function getLeyningForHoliday(e, il = false) {
658
- if (typeof e !== 'object' || !(e instanceof Event)) {
659
- throw new TypeError(`Bad event argument: ${e}`);
660
- } else if (e.getFlags() & flags.PARSHA_HASHAVUA) {
661
- throw new TypeError(`Event should be a holiday: ${e.getDesc()}`);
662
- } else if (e.getFlags() & HOLIDAY_IGNORE_MASK) {
622
+ function getLeyningForHoliday(ev, il = false) {
623
+ if (typeof ev !== 'object' || !(ev instanceof Event)) {
624
+ throw new TypeError(`Bad event argument: ${ev}`);
625
+ } else if (ev.getFlags() & flags.PARSHA_HASHAVUA) {
626
+ throw new TypeError(`Event should be a holiday: ${ev.getDesc()}`);
627
+ } else if (ev.getFlags() & HOLIDAY_IGNORE_MASK) {
663
628
  return undefined;
664
629
  }
665
630
 
666
- const key = getLeyningKeyForEvent(e, il);
667
- const leyning = getLeyningForHolidayKey(key, e.cholHaMoedDay);
631
+ const key = getLeyningKeyForEvent(ev, il);
632
+ const leyning = getLeyningForHolidayKey(key, ev.cholHaMoedDay);
668
633
  return leyning;
669
634
  }
670
- /**
671
- * @private
672
- * @param {string} a
673
- * @param {string} b
674
- * @return {boolean}
675
- */
676
-
677
- function isChapVerseBefore(a, b) {
678
- const cv1 = a.split(':').map(x => +x);
679
- const cv2 = b.split(':').map(x => +x);
680
- return cv1[0] * 100 + cv1[1] < cv2[0] * 100 + cv2[1];
681
- }
682
- /**
683
- * Makes a summary of the leyning, like "Genesis 6:9-11:32"
684
- * @param {Object<string,Aliyah>} aliyot
685
- * @return {string}
686
- */
687
-
688
-
689
- function makeLeyningSummary(aliyot) {
690
- const parts = makeLeyningParts(aliyot);
691
- return makeSummaryFromParts(parts);
692
- }
693
- /**
694
- * @private
695
- * @param {Object<string,Aliyah>} aliyot
696
- * @return {Aliyah[]}
697
- */
698
-
699
- function makeLeyningParts(aliyot) {
700
- const nums = Object.keys(aliyot).filter(x => x.length === 1);
701
- let start = aliyot[nums[0]];
702
- let end = start;
703
- const parts = [];
704
-
705
- for (let i = 0; i < nums.length; i++) {
706
- const num = nums[i];
707
- const aliyah = aliyot[num];
708
-
709
- if (i === nums.length - 1 && aliyah.k === end.k && aliyah.e === end.e) {
710
- // short-circuit when final aliyah is within the previous (e.g. M inside of 7)
711
- continue;
712
- }
713
-
714
- const prevEndChap = +end.e.split(':')[0];
715
- const curStartChap = +aliyah.b.split(':')[0];
716
- const sameOrNextChap = curStartChap === prevEndChap || curStartChap === prevEndChap + 1;
717
-
718
- if (i !== 0 && (aliyah.k !== start.k || isChapVerseBefore(aliyah.b, start.e) || !sameOrNextChap)) {
719
- parts.push({
720
- k: start.k,
721
- b: start.b,
722
- e: end.e
723
- });
724
- start = aliyah;
725
- }
726
-
727
- end = aliyah;
728
- }
729
-
730
- parts.push({
731
- k: start.k,
732
- b: start.b,
733
- e: end.e
734
- });
735
- return parts;
736
- }
737
635
  /**
738
636
  * Looks up leyning for a given holiday key. Key should be an
739
637
  * (untranslated) string used in holiday-readings.json. Returns some
@@ -787,8 +685,8 @@ function getLeyningForHolidayKey(key, cholHaMoedDay) {
787
685
 
788
686
  if (src.haft) {
789
687
  const haft = leyning.haft = cloneHaftara(src.haft);
790
- leyning.haftara = makeHaftaraSummary(haft);
791
- leyning.haftaraNumV = calculateHaftaraNumV(haft);
688
+ leyning.haftara = makeSummaryFromParts(haft);
689
+ leyning.haftaraNumV = sumVerses(haft);
792
690
  }
793
691
 
794
692
  return leyning;
@@ -882,14 +780,14 @@ function getLeyningForParsha(parsha) {
882
780
 
883
781
  const name = isParshaString ? parsha : parshaToString(parsha);
884
782
  const raw = parshiyotObj[name];
885
- const fullkriyah = Object.create(null);
783
+ const fullkriyah = {};
886
784
  const book = BOOK[raw.book];
887
785
  Object.keys(raw.fullkriyah).forEach(num => {
888
786
  const src = raw.fullkriyah[num];
889
787
  const reading = {
890
788
  k: book,
891
- b: src.b,
892
- e: src.e
789
+ b: src[0],
790
+ e: src[1]
893
791
  };
894
792
  fullkriyah[num] = reading;
895
793
  });
@@ -919,26 +817,26 @@ function getLeyningForParsha(parsha) {
919
817
 
920
818
  if (haft0) {
921
819
  const haft = result.haft = cloneHaftara(haft0);
922
- result.haftara = makeHaftaraSummary(haft);
923
- result.haftaraNumV = calculateHaftaraNumV(haft);
820
+ result.haftara = makeSummaryFromParts(haft);
821
+ result.haftaraNumV = sumVerses(haft);
924
822
  }
925
823
 
926
824
  if (raw.seph) {
927
825
  const seph = result.seph = cloneHaftara(raw.seph);
928
- result.sephardic = makeHaftaraSummary(seph);
929
- result.sephardicNumV = calculateHaftaraNumV(seph);
826
+ result.sephardic = makeSummaryFromParts(seph);
827
+ result.sephardicNumV = sumVerses(seph);
930
828
  }
931
829
 
932
830
  const weekdaySrc = raw.weekday || parshiyotObj[parshaNameArray[0]].weekday;
933
831
 
934
832
  if (weekdaySrc) {
935
- const weekday = result.weekday = Object.create(null);
833
+ const weekday = result.weekday = {};
936
834
  ['1', '2', '3'].forEach(num => {
937
835
  const src = weekdaySrc[num];
938
836
  const aliyah = {
939
837
  k: book,
940
- b: src.b,
941
- e: src.e
838
+ b: src[0],
839
+ e: src[1]
942
840
  };
943
841
  calculateNumVerses(aliyah);
944
842
  weekday[num] = aliyah;
@@ -965,7 +863,7 @@ function getLeyningForParshaHaShavua(ev, il = false) {
965
863
 
966
864
  const parsha = ev.parsha;
967
865
  const result = getLeyningForParsha(parsha);
968
- const reason = Object.create(null);
866
+ const reason = {};
969
867
  const hd = ev.getDate(); // Now, check for special maftir or haftara on same date
970
868
 
971
869
  const specialHaftara = specialReadings(hd, il, result.fullkriyah, reason);
@@ -1009,8 +907,8 @@ function getLeyningForParshaHaShavua(ev, il = false) {
1009
907
 
1010
908
  if (updateHaftaraSummary) {
1011
909
  const haft = result.haft;
1012
- result.haftara = makeHaftaraSummary(haft);
1013
- result.haftaraNumV = calculateHaftaraNumV(haft);
910
+ result.haftara = makeSummaryFromParts(haft);
911
+ result.haftaraNumV = sumVerses(haft);
1014
912
  }
1015
913
 
1016
914
  return result;
@@ -1106,6 +1004,42 @@ function findParshaHaShavua(saturday, il) {
1106
1004
 
1107
1005
  return null;
1108
1006
  }
1007
+ /**
1008
+ * Parsha metadata
1009
+ * @typedef {Object} ParshaMeta
1010
+ * @property {number} num - 1 for Bereshit, 2 for Noach, etc. `undefined` for holiday readings
1011
+ * @property {string} hebrew - parsha name in Hebrew with niqud
1012
+ * @property {number} book - 1 for Genesis, 2 for Exodus, 5 for Deuteronomy
1013
+ * @property {Aliyah|Aliyah[]} haft - Haftarah object(s)
1014
+ * @property {Aliyah|Aliyah[]} [seph] - Haftarah object(s) for Sephardim
1015
+ * @property {Object<string,string[]>} fullkriyah - Map of aliyot `1` through `7` plus `M` for maftir
1016
+ * @property {Object<string,string[]>} weekday - Map of weekday Torah Readings
1017
+ * aliyot `1` through `3` for Monday and Thursday
1018
+ */
1019
+
1020
+ /**
1021
+ * Returns the parsha metadata
1022
+ * @param {string|string[]} parsha
1023
+ * @return {ParshaMeta}
1024
+ */
1025
+
1026
+
1027
+ function lookupParsha(parsha) {
1028
+ const isParshaString = typeof parsha === 'string';
1029
+
1030
+ if (!isParshaString && (!Array.isArray(parsha) || parsha.length !== 1 && parsha.length !== 2)) {
1031
+ throw new TypeError(`Bad parsha argument: ${parsha}`);
1032
+ }
1033
+
1034
+ const name = isParshaString ? parsha : parshaToString(parsha);
1035
+ const raw = parshiyotObj[name];
1036
+
1037
+ if (typeof raw !== 'object') {
1038
+ throw new TypeError(`Bad parsha argument: ${parsha}`);
1039
+ }
1040
+
1041
+ return raw;
1042
+ }
1109
1043
 
1110
1044
  const Bereshit$1={book:1,years:{"Y.1":{"1":["1:1","1:5"],"2":["1:6","1:8"],"3":["1:9","1:13"],"4":["1:14","1:19"],"5":["1:20","1:23"],"6":["1:24","1:31"],"7":["2:1","2:3"],M:["2:1","2:3"]},"Y.2":{"1":["2:4","2:9"],"2":["2:10","2:19"],"3":["2:20","2:25"],"4":["3:1","3:21"],"5":["3:22","3:24"],"6":["4:1","4:18"],"7":["4:19","4:26"],M:["4:23","4:26"]},"Y.3":{"1":["5:1","5:5"],"2":["5:6","5:8"],"3":["5:9","5:14"],"4":["5:15","5:20"],"5":["5:21","5:24"],"6":["5:25","5:31"],"7":["5:32","6:8"],M:["6:5","6:8"]}}};const Noach$1={book:1,years:{"Y.1":{"1":["6:9","6:16"],"2":["6:17","6:19"],"3":["6:20","6:22"],"4":["7:1","7:9"],"5":["7:10","7:16"],"6":["7:17","7:24"],"7":["8:1","8:14"],M:["8:12","8:14"]},"Y.2":{"1":["8:15","8:22"],"2":["9:1","9:7"],"3":["9:8","9:17"],"4":["9:18","9:29"],"5":["10:1","10:14"],"6":["10:15","10:20"],"7":["10:21","10:32"],M:["10:26","10:32"]},"Y.3":{"1":["11:1","11:4"],"2":["11:5","11:9"],"3":["11:10","11:13"],"4":["11:14","11:17"],"5":["11:18","11:21"],"6":["11:22","11:25"],"7":["11:26","11:32"],M:["11:29","11:32"]}}};const Vayera$1={book:1,years:{"Y.1":{"1":["18:1","18:5"],"2":["18:6","18:8"],"3":["18:9","18:14"],"4":["18:15","18:21"],"5":["18:22","18:26"],"6":["18:27","18:30"],"7":["18:31","18:33"],M:["18:31","18:33"]},"Y.2":{"1":["19:1","19:11"],"2":["19:12","19:20"],"3":["19:21","19:29"],"4":["19:30","19:38"],"5":["20:1","20:8"],"6":["20:9","20:14"],"7":["20:15","20:18"],M:["20:15","20:18"]},"Y.3":{"1":["21:1","21:4"],"2":["21:5","21:13"],"3":["21:14","21:21"],"4":["21:22","21:34"],"5":["22:1","22:8"],"6":["22:9","22:19"],"7":["22:20","22:24"],M:["22:20","22:24"]}}};const Toldot$1={book:1,years:{"Y.1":{"1":["25:19","25:22"],"2":["25:23","25:26"],"3":["25:27","25:34"],"4":["26:1","26:5"],"5":["26:6","26:12"],"6":["26:13","26:16"],"7":["26:17","26:22"],M:["26:19","26:22"]},"Y.2":{"1":["26:23","26:29"],"2":["26:30","26:33"],"3":["26:34","27:4"],"4":["27:5","27:13"],"5":["27:14","27:17"],"6":["27:18","27:23"],"7":["27:24","27:27"],M:["27:24","27:27"]},"Y.3":{"1":["27:28","27:30"],"2":["27:31","27:33"],"3":["27:34","27:37"],"4":["27:38","27:40"],"5":["27:41","27:46"],"6":["28:1","28:4"],"7":["28:5","28:9"],M:["28:7","28:9"]}}};const Vayetzei$1={book:1,years:{"Y.1":{"1":["28:10","28:12"],"2":["28:13","28:17"],"3":["28:18","28:22"],"4":["29:1","29:8"],"5":["29:9","29:17"],"6":["29:18","29:33"],"7":["29:34","30:13"],M:["30:9","30:13"]},"Y.2":{"1":["30:14","30:16"],"2":["30:17","30:21"],"3":["30:22","30:27"],"4":["30:28","30:36"],"5":["30:37","30:43"],"6":["31:1","31:9"],"7":["31:10","31:16"],M:["31:14","31:16"]},"Y.3":{"1":["31:17","31:21"],"2":["31:22","31:24"],"3":["31:25","31:35"],"4":["31:36","31:42"],"5":["31:43","31:45"],"6":["31:46","31:50"],"7":["31:51","32:3"],M:["32:1","32:3"]}}};const Vayishlach$1={book:1,years:{"Y.1":{"1":["32:4","32:6"],"2":["32:7","32:9"],"3":["32:10","32:13"],"4":["32:14","32:22"],"5":["32:23","32:30"],"6":["32:31","33:5"],"7":["33:6","33:20"],M:["33:18","33:20"]},"Y.2":{"1":["34:1","34:4"],"2":["34:5","34:12"],"3":["34:13","34:17"],"4":["34:18","34:23"],"5":["34:24","34:31"],"6":["35:1","35:11"],"7":["35:12","35:15"],M:["35:12","35:15"]},"Y.3":{"1":["35:16","35:26"],"2":["35:27","35:29"],"3":["36:1","36:8"],"4":["36:9","36:19"],"5":["36:20","36:30"],"6":["36:31","36:39"],"7":["36:40","36:43"],M:["36:40","36:43"]}}};const Vayeshev$1={book:1,years:{"Y.1":{"1":["37:1","37:3"],"2":["37:4","37:7"],"3":["37:8","37:11"],"4":["37:12","37:17"],"5":["37:18","37:22"],"6":["37:23","37:28"],"7":["37:29","37:36"],M:["37:34","37:36"]},"Y.2":{"1":["38:1","38:5"],"2":["38:6","38:11"],"3":["38:12","38:14"],"4":["38:15","38:19"],"5":["38:20","38:23"],"6":["38:24","38:26"],"7":["38:27","38:30"],M:["38:27","38:30"]},"Y.3":{"1":["39:1","39:6"],"2":["39:7","39:10"],"3":["39:11","39:18"],"4":["39:19","39:23"],"5":["40:1","40:8"],"6":["40:9","40:15"],"7":["40:16","40:23"],M:["40:20","40:23"]}}};const Miketz$1={book:1,years:{"Y.1":{"1":["41:1","41:4"],"2":["41:5","41:7"],"3":["41:8","41:14"],"4":["41:15","41:24"],"5":["41:25","41:38"],"6":["41:39","41:43"],"7":["41:44","41:52"],M:["41:50","41:52"]},"Y.2":{"1":["41:53","41:57"],"2":["42:1","42:5"],"3":["42:6","42:18"],"4":["42:19","42:28"],"5":["42:29","42:38"],"6":["43:1","43:7"],"7":["43:8","43:15"],M:["43:11","43:15"]},"Y.3":{"1":["43:16","43:18"],"2":["43:19","43:25"],"3":["43:26","43:29"],"4":["43:30","43:34"],"5":["44:1","44:6"],"6":["44:7","44:10"],"7":["44:11","44:17"],M:["44:14","44:17"]}}};const Vayigash$1={book:1,years:{"Y.1":{"1":["44:18","44:20"],"2":["44:21","44:24"],"3":["44:25","44:30"],"4":["44:31","44:34"],"5":["45:1","45:7"],"6":["45:8","45:18"],"7":["45:19","45:27"],M:["45:25","45:27"]},"Y.2":{"1":["45:28","46:4"],"2":["46:5","46:7"],"3":["46:8","46:11"],"4":["46:12","46:15"],"5":["46:16","46:18"],"6":["46:19","46:22"],"7":["46:23","46:27"],M:["46:23","46:27"]},"Y.3":{"1":["46:28","46:30"],"2":["46:31","46:34"],"3":["47:1","47:6"],"4":["47:7","47:10"],"5":["47:11","47:19"],"6":["47:20","47:22"],"7":["47:23","47:27"],M:["47:25","47:27"]}}};const Vayechi$1={book:1,years:{"Y.1":{"1":["47:28","47:31"],"2":["48:1","48:3"],"3":["48:4","48:9"],"4":["48:10","48:13"],"5":["48:14","48:16"],"6":["48:17","48:19"],"7":["48:20","48:22"],M:["48:20","48:22"]},"Y.2":{"1":["49:1","49:4"],"2":["49:5","49:7"],"3":["49:8","49:12"],"4":["49:13","49:15"],"5":["49:16","49:18"],"6":["49:19","49:21"],"7":["49:22","49:26"],M:["49:22","49:26"]},"Y.3":{"1":["49:27","49:30"],"2":["49:31","49:33"],"3":["50:1","50:6"],"4":["50:7","50:9"],"5":["50:10","50:14"],"6":["50:15","50:20"],"7":["50:21","50:26"],M:["50:23","50:26"]}}};const Shemot$1={book:2,years:{"Y.1":{"1":["1:1","1:7"],"2":["1:8","1:12"],"3":["1:13","1:17"],"4":["1:18","1:22"],"5":["2:1","2:10"],"6":["2:11","2:15"],"7":["2:16","2:25"],M:["2:23","2:25"]},"Y.2":{"1":["3:1","3:6"],"2":["3:7","3:10"],"3":["3:11","3:15"],"4":["3:16","3:22"],"5":["4:1","4:5"],"6":["4:6","4:9"],"7":["4:10","4:17"],M:["4:14","4:17"]},"Y.3":{"1":["4:18","4:20"],"2":["4:21","4:26"],"3":["4:27","4:31"],"4":["5:1","5:5"],"5":["5:6","5:9"],"6":["5:10","5:14"],"7":["5:15","6:1"],M:["5:22","6:1"]}}};const Vaera$1={book:2,years:{"Y.1":{"1":["6:2","6:5"],"2":["6:6","6:9"],"3":["6:10","6:13"],"4":["6:14","6:19"],"5":["6:20","6:25"],"6":["6:26","6:28"],"7":["6:29","7:7"],M:["7:5","7:7"]},"Y.2":{"1":["7:8","7:13"],"2":["7:14","7:18"],"3":["7:19","7:25"],"4":["7:26","7:29"],"5":["8:1","8:6"],"6":["8:7","8:11"],"7":["8:12","8:15"],M:["8:12","8:15"]},"Y.3":{"1":["8:16","8:23"],"2":["8:24","8:28"],"3":["9:1","9:7"],"4":["9:8","9:16"],"5":["9:17","9:21"],"6":["9:22","9:26"],"7":["9:27","9:35"],M:["9:33","9:35"]}}};const Bo$1={book:2,years:{"Y.1":{"1":["10:1","10:3"],"2":["10:4","10:6"],"3":["10:7","10:11"],"4":["10:12","10:15"],"5":["10:16","10:23"],"6":["10:24","10:29"],"7":["11:1","11:3"],M:["11:1","11:3"]},"Y.2":{"1":["11:4","11:10"],"2":["12:1","12:10"],"3":["12:11","12:13"],"4":["12:14","12:16"],"5":["12:17","12:20"],"6":["12:21","12:24"],"7":["12:25","12:28"],M:["12:25","12:28"]},"Y.3":{"1":["12:29","12:32"],"2":["12:33","12:36"],"3":["12:37","12:42"],"4":["12:43","12:51"],"5":["13:1","13:4"],"6":["13:5","13:10"],"7":["13:11","13:16"],M:["13:14","13:16"]}}};const Beshalach$1={book:2,years:{"Y.1":{"1":["13:17","13:22"],"2":["14:1","14:4"],"3":["14:5","14:8"],"4":["14:9","14:14"],"5":["14:15","14:20"],"6":["14:21","14:25"],"7":["14:26","15:26"],M:["15:22","15:26"]},"Y.2":{"1":["14:15","14:20"],"2":["14:21","14:25"],"3":["14:26","15:21"],"4":["15:22","15:26"],"5":["15:27","16:3"],"6":["16:4","16:7"],"7":["16:8","16:10"],M:["16:8","16:10"]},"Y.3":{"1":["14:26","15:21"],"2":["15:22","15:26"],"3":["15:27","16:10"],"4":["16:11","16:27"],"5":["16:28","16:36"],"6":["17:1","17:7"],"7":["17:8","17:16"],M:["17:14","17:16"]}}};const Yitro$1={book:2,descr:"full parashah with Ten Commandments every year",variations:{"Y.1":{"1":["18:1","18:12"],"2":["18:13","18:23"],"3":["18:24","18:27"],"4":["19:1","19:6"],"5":["19:7","19:19"],"6":["19:20","20:14"],"7":["20:15","20:23"],M:["20:19","20:23"]},"Y.2":"Y.1","Y.3":"Y.1"},alt:{descr:"triennial divisions with Ten Commandments in years two and three",variations:{"Y.1":{"1":["18:1","18:4"],"2":["18:5","18:8"],"3":["18:9","18:12"],"4":["18:13","18:16"],"5":["18:17","18:19"],"6":["18:20","18:23"],"7":["18:24","18:27"],M:["18:24","18:27"]},"Y.2":{"1":["19:1","19:6"],"2":["19:7","19:9"],"3":["19:10","19:13"],"4":["19:14","19:19"],"5":["19:20","20:14"],"6":["20:15","20:18"],"7":["20:19","20:23"],M:["20:21","20:23"]},"Y.3":"Y.2"}}};const Mishpatim$1={book:2,years:{"Y.1":{"1":["21:1","21:6"],"2":["21:7","21:11"],"3":["21:12","21:19"],"4":["21:20","21:27"],"5":["21:28","21:32"],"6":["21:33","21:36"],"7":["21:37","22:3"],M:["21:37","22:3"]},"Y.2":{"1":["22:4","22:8"],"2":["22:9","22:12"],"3":["22:13","22:18"],"4":["22:19","22:26"],"5":["22:27","23:5"],"6":["23:6","23:13"],"7":["23:14","23:19"],M:["23:14","23:19"]},"Y.3":{"1":["23:20","23:25"],"2":["23:26","23:30"],"3":["23:31","23:33"],"4":["24:1","24:6"],"5":["24:7","24:11"],"6":["24:12","24:14"],"7":["24:15","24:18"],M:["24:15","24:18"]}}};const Terumah$1={book:2,years:{"Y.1":{"1":["25:1","25:5"],"2":["25:6","25:9"],"3":["25:10","25:16"],"4":["25:17","25:22"],"5":["25:23","25:30"],"6":["25:31","25:33"],"7":["25:34","25:40"],M:["25:37","25:40"]},"Y.2":{"1":["26:1","26:3"],"2":["26:4","26:6"],"3":["26:7","26:11"],"4":["26:12","26:14"],"5":["26:15","26:21"],"6":["26:22","26:25"],"7":["26:26","26:30"],M:["26:26","26:30"]},"Y.3":{"1":["26:31","26:33"],"2":["26:34","26:37"],"3":["27:1","27:3"],"4":["27:4","27:8"],"5":["27:9","27:12"],"6":["27:13","27:16"],"7":["27:17","27:19"],M:["27:17","27:19"]}}};const Tetzaveh$1={book:2,years:{"Y.1":{"1":["27:20","28:5"],"2":["28:6","28:9"],"3":["28:10","28:12"],"4":["28:13","28:17"],"5":["28:18","28:21"],"6":["28:22","28:25"],"7":["28:26","28:30"],M:["28:28","28:30"]},"Y.2":{"1":["28:31","28:35"],"2":["28:36","28:38"],"3":["28:39","28:43"],"4":["29:1","29:4"],"5":["29:5","29:9"],"6":["29:10","29:14"],"7":["29:15","29:18"],M:["29:15","29:18"]},"Y.3":{"1":["29:19","29:21"],"2":["29:22","29:25"],"3":["29:26","29:30"],"4":["29:31","29:34"],"5":["29:35","29:37"],"6":["29:38","29:46"],"7":["30:1","30:10"],M:["30:8","30:10"]}}};const Vayakhel$1={book:2,variations:{"C.2":{"1":["35:1","35:3"],"2":["35:4","35:10"],"3":["35:11","35:20"],"4":["35:21","35:29"],"5":["35:30","35:35"],"6":["36:1","36:7"],"7":["36:8","36:19"],M:["36:17","36:19"]},"B.2":{"1":["37:17","37:19"],"2":["37:20","37:24"],"3":["37:25","37:29"],"4":["38:1","38:3"],"5":["38:4","38:8"],"6":["38:9","38:15"],"7":["38:16","38:20"],M:["38:18","38:20"]},"C.3":{"1":["36:20","36:30"],"2":["36:31","36:38"],"3":["37:1","37:16"],"4":["37:17","37:24"],"5":["37:25","37:29"],"6":["38:1","38:8"],"7":["38:9","38:20"],M:["38:18","38:20"]},"A.3":"C.3","D.1":"C.2","D.2":"C.3","E.1":"C.2","E.3":"C.3","F.1":{"1":["35:1","35:10"],"2":["35:11","35:20"],"3":["35:21","35:29"],"4":["35:30","36:7"],"5":["36:8","36:19"],"6":["36:20","36:38"],"7":["37:1","37:16"],M:["37:10","37:16"]},"G.1":{"1":["35:1","35:3"],"2":["35:4","35:10"],"3":["35:11","35:20"],"4":["35:21","35:23"],"5":["35:24","35:26"],"6":["35:27","35:29"],"7":["35:30","35:35"],M:["35:30","35:35"]},"G.2":{"1":["36:1","36:7"],"2":["36:8","36:13"],"3":["36:14","36:19"],"4":["36:20","36:30"],"5":["36:31","36:38"],"6":["37:1","37:9"],"7":["37:10","37:16"],M:["37:13","37:16"]},"G.3":{"1":["37:17","37:19"],"2":["37:20","37:24"],"3":["37:25","37:29"],"4":["38:1","38:3"],"5":["38:4","38:8"],"6":["38:9","38:15"],"7":["38:16","38:20"],M:["38:18","38:20"]}}};const Pekudei$1={book:2,variations:{"A.3":{"1":["39:22","39:26"],"2":["39:27","39:32"],"3":["39:33","39:43"],"4":["40:1","40:8"],"5":["40:9","40:16"],"6":["40:17","40:27"],"7":["40:28","40:38"],M:["40:34","40:38"]},"B.2":{"1":["38:21","38:23"],"2":["38:24","38:27"],"3":["38:28","39:1"],"4":["39:2","39:7"],"5":["39:8","39:14"],"6":["39:15","39:18"],"7":["39:19","39:21"],M:["39:19","39:21"]},"C.2":"B.2","C.3":"A.3","D.1":"B.2","D.2":"A.3","E.1":"B.2","E.3":"A.3","F.1":"B.2","G.1":{"1":["38:21","38:23"],"2":["38:24","38:27"],"3":["38:28","39:1"],"4":["39:2","39:7"],"5":["39:8","39:14"],"6":["39:15","39:18"],"7":["39:19","39:21"],M:["39:19","39:21"]},"G.2":{"1":["39:22","39:26"],"2":["39:27","39:29"],"3":["39:30","39:32"],"4":["39:33","39:43"],"5":["40:1","40:3"],"6":["40:4","40:6"],"7":["40:7","40:9"],M:["40:7","40:9"]},"G.3":{"1":["40:10","40:12"],"2":["40:13","40:16"],"3":["40:17","40:19"],"4":["40:20","40:25"],"5":["40:26","40:29"],"6":["40:30","40:33"],"7":["40:34","40:38"],M:["40:36","40:38"]}}};const Vayikra$1={book:3,years:{"Y.1":{"1":["1:1","1:4"],"2":["1:5","1:9"],"3":["1:10","1:13"],"4":["1:14","1:17"],"5":["2:1","2:6"],"6":["2:7","2:13"],"7":["2:14","2:16"],M:["2:14","2:16"]},"Y.2":{"1":["3:1","3:5"],"2":["3:6","3:11"],"3":["3:12","3:17"],"4":["4:1","4:7"],"5":["4:8","4:12"],"6":["4:13","4:21"],"7":["4:22","4:26"],M:["4:24","4:26"]},"Y.3":{"1":["4:27","4:31"],"2":["4:32","4:35"],"3":["5:1","5:10"],"4":["5:11","5:13"],"5":["5:14","5:16"],"6":["5:17","5:19"],"7":["5:20","5:26"],M:["5:24","5:26"]}}};const Tzav$1={book:3,years:{"Y.1":{"1":["6:1","6:3"],"2":["6:4","6:6"],"3":["6:7","6:11"],"4":["6:12","6:16"],"5":["6:17","6:23"],"6":["7:1","7:6"],"7":["7:7","7:10"],M:["7:7","7:10"]},"Y.2":{"1":["7:11","7:15"],"2":["7:16","7:18"],"3":["7:19","7:21"],"4":["7:22","7:27"],"5":["7:28","7:31"],"6":["7:32","7:34"],"7":["7:35","7:38"],M:["7:35","7:38"]},"Y.3":{"1":["8:1","8:5"],"2":["8:6","8:9"],"3":["8:10","8:13"],"4":["8:14","8:17"],"5":["8:18","8:21"],"6":["8:22","8:29"],"7":["8:30","8:36"],M:["8:33","8:36"]}}};const Shmini$1={book:3,years:{"Y.1":{"1":["9:1","9:6"],"2":["9:7","9:10"],"3":["9:11","9:16"],"4":["9:17","9:23"],"5":["9:24","10:3"],"6":["10:4","10:7"],"7":["10:8","10:11"],M:["10:8","10:11"]},"Y.2":{"1":["10:12","10:15"],"2":["10:16","10:20"],"3":["11:1","11:8"],"4":["11:9","11:12"],"5":["11:13","11:19"],"6":["11:20","11:28"],"7":["11:29","11:32"],M:["11:29","11:32"]},"Y.3":{"1":["11:1","11:8"],"2":["11:9","11:12"],"3":["11:13","11:19"],"4":["11:20","11:28"],"5":["11:29","11:32"],"6":["11:33","11:38"],"7":["11:39","11:47"],M:["11:45","11:47"]}}};const Tazria$1={book:3,variations:{"D.1":{"1":["12:1","12:4"],"2":["12:5","12:8"],"3":["13:1","13:5"],"4":["13:6","13:8"],"5":["13:9","13:17"],"6":["13:18","13:23"],"7":["13:24","13:28"],M:["13:26","13:28"]},"B.2":{"1":["13:29","13:34"],"2":["13:35","13:39"],"3":["13:40","13:42"],"4":["13:43","13:46"],"5":["13:47","13:50"],"6":["13:51","13:54"],"7":["13:55","13:59"],M:["13:57","13:59"]},"A.3":"B.2","C.1":{"1":["12:1","12:4"],"2":["12:5","12:8"],"3":["13:1","13:5"],"4":["13:6","13:17"],"5":["13:18","13:23"],"6":["13:24","13:28"],"7":["13:29","13:39"],M:["13:37","13:39"]},"D.3":"B.2"}};const Metzora$1={book:3,variations:{"A.3":{"1":["14:33","14:38"],"2":["14:39","14:47"],"3":["14:48","14:53"],"4":["14:54","15:7"],"5":["15:8","15:15"],"6":["15:16","15:28"],"7":["15:29","15:33"],M:["15:31","15:33"]},"B.2":{"1":["14:1","14:5"],"2":["14:6","14:9"],"3":["14:10","14:12"],"4":["14:13","14:15"],"5":["14:16","14:20"],"6":["14:21","14:25"],"7":["14:26","14:32"],M:["14:30","14:32"]},"C.1":"B.2","D.1":"B.2","D.3":"A.3"}};const Kedoshim$1={book:3,variations:{"A.3":{"1":["19:15","19:18"],"2":["19:19","19:22"],"3":["19:23","19:32"],"4":["19:33","19:37"],"5":["20:1","20:7"],"6":["20:8","20:22"],"7":["20:23","20:27"],M:["20:25","20:27"]},"B.2":{"1":["19:1","19:4"],"2":["19:5","19:10"],"3":["19:11","19:14"],"4":["19:15","19:18"],"5":["19:19","19:22"],"6":["19:23","19:32"],"7":["19:33","19:37"],M:["19:35","19:37"]},"C.1":"B.2","D.1":"B.2","D.3":{"1":["19:23","19:25"],"2":["19:26","19:28"],"3":["19:29","19:32"],"4":["19:33","19:37"],"5":["20:1","20:7"],"6":["20:8","20:22"],"7":["20:23","20:27"],M:["20:25","20:27"]}}};const Emor$1={book:3,years:{"Y.1":{"1":["21:1","21:6"],"2":["21:7","21:12"],"3":["21:13","21:15"],"4":["21:16","21:24"],"5":["22:1","22:9"],"6":["22:10","22:12"],"7":["22:13","22:16"],M:["22:13","22:16"]},"Y.2":{"1":["22:17","22:20"],"2":["22:21","22:25"],"3":["22:26","22:33"],"4":["23:1","23:3"],"5":["23:4","23:8"],"6":["23:9","23:14"],"7":["23:15","23:22"],M:["23:19","23:22"]},"Y.3":{"1":["23:23","23:25"],"2":["23:26","23:32"],"3":["23:33","23:44"],"4":["24:1","24:4"],"5":["24:5","24:9"],"6":["24:10","24:12"],"7":["24:13","24:23"],M:["24:21","24:23"]}}};const Behar$1={book:3,variations:{"D.1":{"1":["25:1","25:3"],"2":["25:4","25:7"],"3":["25:8","25:10"],"4":["25:11","25:13"],"5":["25:14","25:18"],"6":["25:19","25:24"],"7":["25:25","25:28"],M:["25:25","25:28"]},"B.2":{"1":["25:29","25:34"],"2":["25:35","25:38"],"3":["25:39","25:43"],"4":["25:44","25:46"],"5":["25:47","25:50"],"6":["25:51","25:54"],"7":["25:55","26:2"],M:["25:55","26:2"]},"A.3":"B.2","C.1":{"1":["25:1","25:3"],"2":["25:4","25:7"],"3":["25:8","25:13"],"4":["25:14","25:18"],"5":["25:19","25:24"],"6":["25:25","25:28"],"7":["25:29","25:38"],M:["25:35","25:38"]},"D.3":"B.2"}};const Bechukotai$1={book:3,variations:{"A.3":{"1":["27:1","27:4"],"2":["27:5","27:8"],"3":["27:9","27:15"],"4":["27:16","27:21"],"5":["27:22","27:25"],"6":["27:26","27:28"],"7":["27:29","27:34"],M:["27:32","27:34"]},"B.2":{"1":["26:3","26:5"],"2":["26:6","26:9"],"3":["26:10","26:46"],"4":["27:1","27:4"],"5":["27:5","27:8"],"6":["27:9","27:11"],"7":["27:12","27:15"],M:["27:12","27:15"]},"C.1":"B.2","D.1":"B.2","D.3":"A.3"}};const Bamidbar$1={book:4,years:{"Y.1":{"1":["1:1","1:4"],"2":["1:5","1:16"],"3":["1:17","1:19"],"4":["1:20","1:27"],"5":["1:28","1:35"],"6":["1:36","1:43"],"7":["1:44","1:54"],M:["1:52","1:54"]},"Y.2":{"1":["2:1","2:9"],"2":["2:10","2:16"],"3":["2:17","2:24"],"4":["2:25","2:31"],"5":["2:32","2:34"],"6":["3:1","3:4"],"7":["3:5","3:13"],M:["3:11","3:13"]},"Y.3":{"1":["3:14","3:20"],"2":["3:21","3:26"],"3":["3:27","3:39"],"4":["3:40","3:43"],"5":["3:44","3:51"],"6":["4:1","4:10"],"7":["4:11","4:20"],M:["4:17","4:20"]}}};const Nasso$1={book:4,years:{"Y.1":{"1":["4:21","4:24"],"2":["4:25","4:28"],"3":["4:29","4:33"],"4":["4:34","4:37"],"5":["4:38","4:49"],"6":["5:1","5:4"],"7":["5:5","5:10"],M:["5:8","5:10"]},"Y.2":{"1":["5:11","5:15"],"2":["5:16","5:26"],"3":["5:27","6:4"],"4":["6:5","6:8"],"5":["6:9","6:15"],"6":["6:16","6:21"],"7":["6:22","6:27"],M:["6:22","6:27"]},"Y.3":{"1":["7:1","7:11"],"2":["7:12","7:23"],"3":["7:24","7:35"],"4":["7:36","7:47"],"5":["7:48","7:59"],"6":["7:60","7:71"],"7":["7:72","7:89"],M:["7:87","7:89"]}}};const Korach$1={book:4,years:{"Y.1":{"1":["16:1","16:3"],"2":["16:4","16:7"],"3":["16:8","16:13"],"4":["16:14","16:19"],"5":["16:20","16:35"],"6":["17:1","17:8"],"7":["17:9","17:15"],M:["17:9","17:15"]},"Y.2":{"1":["16:20","16:27"],"2":["16:28","16:35"],"3":["17:1","17:5"],"4":["17:6","17:8"],"5":["17:9","17:15"],"6":["17:16","17:20"],"7":["17:21","17:24"],M:["17:21","17:24"]},"Y.3":{"1":["17:25","18:7"],"2":["18:8","18:10"],"3":["18:11","18:13"],"4":["18:14","18:20"],"5":["18:21","18:24"],"6":["18:25","18:29"],"7":["18:30","18:32"],M:["18:30","18:32"]}}};const Chukat$1={book:4,variations:{"C.2":{"1":["19:1","19:6"],"2":["19:7","19:9"],"3":["19:10","19:17"],"4":["19:18","19:22"],"5":["20:1","20:6"],"6":["20:7","20:13"],"7":["20:14","20:21"],M:["20:18","20:21"]},"B.2":{"1":["21:11","21:13"],"2":["21:14","21:16"],"3":["21:17","21:20"],"4":["21:21","21:25"],"5":["21:26","21:28"],"6":["21:29","21:33"],"7":["21:34","22:1"],M:["21:34","22:1"]},"C.3":{"1":["20:22","21:3"],"2":["21:4","21:10"],"3":["21:11","21:16"],"4":["21:17","21:20"],"5":["21:21","21:25"],"6":["21:26","21:33"],"7":["21:34","22:1"],M:["21:34","22:1"]},"A.3":"C.3","D.1":"C.2","D.2":"C.3","E.1":"C.2","E.3":"C.3","F.1":{"1":["19:1","19:9"],"2":["19:10","19:17"],"3":["19:18","20:6"],"4":["20:7","20:13"],"5":["20:14","20:21"],"6":["20:22","21:9"],"7":["21:10","21:20"],M:["21:16","21:20"]},"G.1":{"1":["19:1","19:6"],"2":["19:7","19:9"],"3":["19:10","19:13"],"4":["19:14","19:17"],"5":["19:18","19:22"],"6":["20:1","20:6"],"7":["20:7","20:13"],M:["20:7","20:13"]},"G.2":{"1":["20:1","20:6"],"2":["20:7","20:13"],"3":["20:14","20:17"],"4":["20:18","20:21"],"5":["20:22","21:3"],"6":["21:4","21:7"],"7":["21:8","21:10"],M:["21:8","21:10"]},"G.3":"B.2"}};const Balak$1={book:4,variations:{"A.3":{"1":["22:39","23:5"],"2":["23:6","23:12"],"3":["23:13","23:26"],"4":["23:27","23:30"],"5":["24:1","24:13"],"6":["24:14","24:25"],"7":["25:1","25:9"],M:["25:7","25:9"]},"B.2":{"1":["22:2","22:4"],"2":["22:5","22:7"],"3":["22:8","22:12"],"4":["22:13","22:20"],"5":["22:21","22:27"],"6":["22:28","22:30"],"7":["22:31","22:38"],M:["22:36","22:38"]},"C.2":"B.2","C.3":"A.3","D.1":"B.2","D.2":"A.3","E.1":"B.2","E.3":"A.3","F.1":"B.2","G.1":"B.2","G.2":{"1":["22:39","22:41"],"2":["23:1","23:3"],"3":["23:4","23:6"],"4":["23:7","23:12"],"5":["23:13","23:15"],"6":["23:16","23:18"],"7":["23:19","23:26"],M:["23:19","23:26"]},"G.3":{"1":["23:27","23:30"],"2":["24:1","24:9"],"3":["24:10","24:13"],"4":["24:14","24:19"],"5":["24:20","24:25"],"6":["25:1","25:6"],"7":["25:7","25:9"],M:["25:7","25:9"]}}};const Pinchas$1={book:4,years:{"Y.1":{"1":["25:10","25:12"],"2":["25:13","25:15"],"3":["25:16","26:4"],"4":["26:5","26:11"],"5":["26:12","26:22"],"6":["26:23","26:34"],"7":["26:35","26:51"],M:["26:48","26:51"]},"Y.2":{"1":["26:52","26:56"],"2":["26:57","26:62"],"3":["26:63","27:5"],"4":["27:6","27:14"],"5":["27:15","27:23"],"6":["28:1","28:10"],"7":["28:11","28:15"],M:["28:11","28:15"]},"Y.3":{"1":["28:16","28:25"],"2":["28:26","28:31"],"3":["29:1","29:6"],"4":["29:7","29:11"],"5":["29:12","29:16"],"6":["29:17","29:28"],"7":["29:29","30:1"],M:["29:35","30:1"]}}};const Matot$1={book:4,variations:{"B.2":{"1":["31:1","32:4"],"2":["32:5","32:19"],"3":["32:20","32:24"],"4":["32:25","32:27"],"5":["32:28","32:30"],"6":["32:31","32:38"],"7":["32:39","32:42"],M:["32:39","32:42"]},"A.3":"B.2","C.1":{"1":["30:2","30:9"],"2":["30:10","30:13"],"3":["30:14","30:17"],"4":["31:1","31:12"],"5":["31:13","31:24"],"6":["31:25","31:41"],"7":["31:42","31:54"],M:["31:51","31:54"]}}};const Masei$1={book:4,variations:{"A.3":{"1":["33:50","34:15"],"2":["34:16","34:29"],"3":["35:1","35:8"],"4":["35:9","35:15"],"5":["35:16","35:29"],"6":["35:30","35:34"],"7":["36:1","36:13"],M:["36:10","36:13"]},"B.2":{"1":["33:1","33:3"],"2":["33:4","33:6"],"3":["33:7","33:10"],"4":["33:11","33:23"],"5":["33:24","33:36"],"6":["33:37","33:43"],"7":["33:44","33:49"],M:["33:47","33:49"]},"C.1":"B.2"}};const Devarim={book:5,years:{"Y.1":{"1":["1:1","1:3"],"2":["1:4","1:7"],"3":["1:8","1:10"],"4":["1:11","1:21"],"5":["1:22","1:28"],"6":["1:29","1:38"],"7":["1:39","2:1"],M:["1:39","2:1"]},"Y.2":{"1":["2:2","2:5"],"2":["2:6","2:12"],"3":["2:13","2:16"],"4":["2:17","2:19"],"5":["2:20","2:22"],"6":["2:23","2:25"],"7":["2:26","2:30"],M:["2:28","2:30"]},"Y.3":{"1":["2:31","2:34"],"2":["2:35","2:37"],"3":["3:1","3:3"],"4":["3:4","3:7"],"5":["3:8","3:11"],"6":["3:12","3:14"],"7":["3:15","3:22"],M:["3:20","3:22"]}}};const Vaetchanan={book:5,descr:"with the Ten Commandments every year and the Sh'ma in years two and three",years:{"Y.1":{"1":["3:23","3:25"],"2":["3:26","4:4"],"3":["4:5","4:14"],"4":["4:15","4:20"],"5":["4:21","4:40"],"6":["4:41","4:49"],"7":["5:1","5:18"],M:["5:16","5:18"]},"Y.2":{"1":["5:1","5:18"],"2":["5:19","5:24"],"3":["5:25","5:30"],"4":["6:1","6:3"],"5":["6:4","6:9"],"6":["6:10","6:19"],"7":["6:20","6:25"],M:["6:23","6:25"]},"Y.3":{"1":["5:1","5:18"],"2":["5:19","5:24"],"3":["5:25","6:3"],"4":["6:4","6:9"],"5":["6:10","6:19"],"6":["6:20","6:25"],"7":["7:1","7:11"],M:["7:9","7:11"]},alt:{descr:"with the Ten Commandments in year two and the Sh'ma in year three",years:{"Y.1":{"1":["3:23","3:25"],"2":["3:26","3:29"],"3":["4:1","4:4"],"4":["4:5","4:14"],"5":["4:15","4:20"],"6":["4:21","4:29"],"7":["4:30","4:40"],M:["4:36","4:40"]},"Y.2":{"1":["4:41","4:43"],"2":["4:44","4:49"],"3":["5:1","5:18"],"4":["5:19","5:21"],"5":["5:22","5:24"],"6":["5:25","5:30"],"7":["6:1","6:3"],M:["6:1","6:3"]},"Y.3":{"1":["6:4","6:9"],"2":["6:10","6:19"],"3":["6:20","6:22"],"4":["6:23","6:25"],"5":["7:1","7:5"],"6":["7:6","7:8"],"7":["7:9","7:11"],M:["7:9","7:11"]}}}}};const Eikev$1={book:5,years:{"Y.1":{"1":["7:12","7:16"],"2":["7:17","7:21"],"3":["7:22","7:26"],"4":["8:1","8:3"],"5":["8:4","8:10"],"6":["8:11","8:18"],"7":["8:19","9:3"],M:["9:1","9:3"]},"Y.2":{"1":["9:4","9:10"],"2":["9:11","9:14"],"3":["9:15","9:21"],"4":["9:22","9:29"],"5":["10:1","10:5"],"6":["10:6","10:8"],"7":["10:9","10:11"],M:["10:9","10:11"]},"Y.3":{"1":["10:12","10:15"],"2":["10:16","10:22"],"3":["11:1","11:9"],"4":["11:10","11:12"],"5":["11:13","11:15"],"6":["11:16","11:21"],"7":["11:22","11:25"],M:["11:22","11:25"]}}};const Shoftim$1={book:5,years:{"Y.1":{"1":["16:18","16:20"],"2":["16:21","17:7"],"3":["17:8","17:10"],"4":["17:11","17:13"],"5":["17:14","17:17"],"6":["17:18","17:20"],"7":["18:1","18:5"],M:["18:3","18:5"]},"Y.2":{"1":["18:6","18:8"],"2":["18:9","18:13"],"3":["18:14","18:17"],"4":["18:18","18:22"],"5":["19:1","19:7"],"6":["19:8","19:10"],"7":["19:11","19:13"],M:["19:11","19:13"]},"Y.3":{"1":["19:14","19:21"],"2":["20:1","20:4"],"3":["20:5","20:9"],"4":["20:10","20:14"],"5":["20:15","20:20"],"6":["21:1","21:6"],"7":["21:7","21:9"],M:["21:7","21:9"]}}};const Nitzavim$1={book:5,descr:"When these Sidrot are not combined, they should each be read in their entirety.",variations:{"Y.1":{"1":["29:9","29:11"],"2":["29:12","29:14"],"3":["29:15","29:28"],"4":["30:1","30:6"],"5":["30:7","30:10"],"6":["30:11","30:14"],"7":["30:15","30:20"],M:["30:15","30:20"]},"Y.2":"Y.1","Y.3":"Y.1"}};const Vayeilech$1={book:5,descr:"When these Sidrot are not combined, they should each be read in their entirety.",variations:{"Y.1":{"1":["31:1","31:3"],"2":["31:4","31:6"],"3":["31:7","31:9"],"4":["31:10","31:13"],"5":["31:14","31:19"],"6":["31:20","31:24"],"7":["31:25","31:30"],M:["31:28","31:30"]},"Y.2":"Y.1","Y.3":"Y.1"}};var triennialConfig = {Bereshit:Bereshit$1,Noach:Noach$1,"Lech-Lecha":{book:1,years:{"Y.1":{"1":["12:1","12:3"],"2":["12:4","12:9"],"3":["12:10","12:13"],"4":["12:14","12:20"],"5":["13:1","13:4"],"6":["13:5","13:11"],"7":["13:12","13:18"],M:["13:16","13:18"]},"Y.2":{"1":["14:1","14:9"],"2":["14:10","14:16"],"3":["14:17","14:20"],"4":["14:21","14:24"],"5":["15:1","15:6"],"6":["15:7","15:16"],"7":["15:17","15:21"],M:["15:17","15:21"]},"Y.3":{"1":["16:1","16:6"],"2":["16:7","16:9"],"3":["16:10","16:16"],"4":["17:1","17:6"],"5":["17:7","17:17"],"6":["17:18","17:23"],"7":["17:24","17:27"],M:["17:24","17:27"]}}},Vayera:Vayera$1,"Chayei Sara":{book:1,years:{"Y.1":{"1":["23:1","23:4"],"2":["23:5","23:7"],"3":["23:8","23:12"],"4":["23:13","23:16"],"5":["23:17","23:20"],"6":["24:1","24:4"],"7":["24:5","24:9"],M:["24:5","24:9"]},"Y.2":{"1":["24:10","24:14"],"2":["24:15","24:20"],"3":["24:21","24:26"],"4":["24:27","24:33"],"5":["24:34","24:41"],"6":["24:42","24:49"],"7":["24:50","24:52"],M:["24:50","24:52"]},"Y.3":{"1":["24:53","24:58"],"2":["24:59","24:61"],"3":["24:62","24:67"],"4":["25:1","25:6"],"5":["25:7","25:11"],"6":["25:12","25:15"],"7":["25:16","25:18"],M:["25:16","25:18"]}}},Toldot:Toldot$1,Vayetzei:Vayetzei$1,Vayishlach:Vayishlach$1,Vayeshev:Vayeshev$1,Miketz:Miketz$1,Vayigash:Vayigash$1,Vayechi:Vayechi$1,Shemot:Shemot$1,Vaera:Vaera$1,Bo:Bo$1,Beshalach:Beshalach$1,Yitro:Yitro$1,Mishpatim:Mishpatim$1,Terumah:Terumah$1,Tetzaveh:Tetzaveh$1,"Ki Tisa":{book:2,years:{"Y.1":{"1":["30:11","30:13"],"2":["30:14","30:16"],"3":["30:17","30:21"],"4":["30:22","30:33"],"5":["30:34","30:38"],"6":["31:1","31:11"],"7":["31:12","31:17"],M:["31:15","31:17"]},"Y.2":{"1":["31:18","32:6"],"2":["32:7","32:11"],"3":["32:12","32:14"],"4":["32:15","32:24"],"5":["32:25","32:29"],"6":["32:30","33:6"],"7":["33:7","33:11"],M:["33:9","33:11"]},"Y.3":{"1":["33:12","33:16"],"2":["33:17","33:23"],"3":["34:1","34:9"],"4":["34:10","34:17"],"5":["34:18","34:21"],"6":["34:22","34:26"],"7":["34:27","34:35"],M:["34:33","34:35"]}}},Vayakhel:Vayakhel$1,Pekudei:Pekudei$1,Vayikra:Vayikra$1,Tzav:Tzav$1,Shmini:Shmini$1,Tazria:Tazria$1,Metzora:Metzora$1,"Achrei Mot":{book:3,variations:{"D.1":{"1":["16:1","16:3"],"2":["16:4","16:6"],"3":["16:7","16:11"],"4":["16:12","16:17"],"5":["16:18","16:24"],"6":["16:25","16:30"],"7":["16:31","16:34"],M:["16:31","16:34"]},"B.2":{"1":["17:1","17:7"],"2":["17:8","17:12"],"3":["17:13","17:16"],"4":["18:1","18:5"],"5":["18:6","18:21"],"6":["18:22","18:25"],"7":["18:26","18:30"],M:["18:26","18:30"]},"A.3":"B.2","C.1":{"1":["16:1","16:6"],"2":["16:7","16:11"],"3":["16:12","16:17"],"4":["16:18","16:24"],"5":["16:25","16:30"],"6":["16:31","16:34"],"7":["17:1","17:7"],M:["17:5","17:7"]},"D.3":"B.2"}},Kedoshim:Kedoshim$1,Emor:Emor$1,Behar:Behar$1,Bechukotai:Bechukotai$1,Bamidbar:Bamidbar$1,Nasso:Nasso$1,"Beha'alotcha":{book:4,years:{"Y.1":{"1":["8:1","8:4"],"2":["8:5","8:9"],"3":["8:10","8:14"],"4":["8:15","8:22"],"5":["8:23","8:26"],"6":["9:1","9:8"],"7":["9:9","9:14"],M:["9:12","9:14"]},"Y.2":{"1":["9:15","9:18"],"2":["9:19","9:23"],"3":["10:1","10:7"],"4":["10:8","10:10"],"5":["10:11","10:20"],"6":["10:21","10:28"],"7":["10:29","10:34"],M:["10:32","10:34"]},"Y.3":{"1":["10:35","11:9"],"2":["11:10","11:18"],"3":["11:19","11:22"],"4":["11:23","11:29"],"5":["11:30","11:35"],"6":["12:1","12:13"],"7":["12:14","12:16"],M:["12:14","12:16"]}}},"Sh'lach":{book:4,years:{"Y.1":{"1":["13:1","13:3"],"2":["13:4","13:16"],"3":["13:17","13:20"],"4":["13:21","13:24"],"5":["13:25","13:30"],"6":["13:31","13:33"],"7":["14:1","14:7"],M:["14:5","14:7"]},"Y.2":{"1":["14:8","14:10"],"2":["14:11","14:20"],"3":["14:21","14:25"],"4":["14:26","14:38"],"5":["14:39","14:42"],"6":["14:43","15:3"],"7":["15:4","15:7"],M:["15:4","15:7"]},"Y.3":{"1":["15:8","15:10"],"2":["15:11","15:16"],"3":["15:17","15:21"],"4":["15:22","15:26"],"5":["15:27","15:31"],"6":["15:32","15:36"],"7":["15:37","15:41"],M:["15:37","15:41"]}}},Korach:Korach$1,Chukat:Chukat$1,Balak:Balak$1,Pinchas:Pinchas$1,Matot:Matot$1,Masei:Masei$1,Devarim:Devarim,Vaetchanan:Vaetchanan,Eikev:Eikev$1,"Re'eh":{book:5,years:{"Y.1":{"1":["11:26","11:31"],"2":["11:32","12:5"],"3":["12:6","12:10"],"4":["12:11","12:16"],"5":["12:17","12:19"],"6":["12:20","12:25"],"7":["12:26","12:28"],M:["12:26","12:28"]},"Y.2":{"1":["12:29","13:1"],"2":["13:2","13:6"],"3":["13:7","13:12"],"4":["13:13","13:19"],"5":["14:1","14:8"],"6":["14:9","14:21"],"7":["14:22","14:29"],M:["14:22","14:29"]},"Y.3":{"1":["15:1","15:6"],"2":["15:7","15:11"],"3":["15:12","15:18"],"4":["15:19","15:23"],"5":["16:1","16:8"],"6":["16:9","16:12"],"7":["16:13","16:17"],M:["16:13","16:17"]}}},Shoftim:Shoftim$1,"Ki Teitzei":{book:5,years:{"Y.1":{"1":["21:10","21:14"],"2":["21:15","21:17"],"3":["21:18","21:21"],"4":["21:22","22:7"],"5":["22:8","22:12"],"6":["22:13","22:29"],"7":["23:1","23:7"],M:["23:4","23:7"]},"Y.2":{"1":["23:8","23:12"],"2":["23:13","23:15"],"3":["23:16","23:19"],"4":["23:20","23:24"],"5":["23:25","24:4"],"6":["24:5","24:9"],"7":["24:10","24:13"],M:["24:10","24:13"]},"Y.3":{"1":["24:14","24:16"],"2":["24:17","24:19"],"3":["24:20","24:22"],"4":["25:1","25:4"],"5":["25:5","25:10"],"6":["25:11","25:16"],"7":["25:17","25:19"],M:["25:17","25:19"]}}},"Ki Tavo":{book:5,years:{"Y.1":{"1":["26:1","26:3"],"2":["26:4","26:8"],"3":["26:9","26:11"],"4":["26:12","26:15"],"5":["26:16","26:19"],"6":["27:1","27:4"],"7":["27:5","27:10"],M:["27:7","27:10"]},"Y.2":{"1":["26:12","26:15"],"2":["26:16","26:19"],"3":["27:1","27:3"],"4":["27:4","27:8"],"5":["27:6","27:10"],"6":["27:11","28:3"],"7":["28:4","28:6"],M:["28:4","28:6"]},"Y.3":{"1":["27:11","28:3"],"2":["28:4","28:6"],"3":["28:7","28:11"],"4":["28:12","28:14"],"5":["28:15","28:69"],"6":["29:1","29:5"],"7":["29:6","29:8"],M:["29:6","29:8"]}}},Nitzavim:Nitzavim$1,Vayeilech:Vayeilech$1,"Ha'Azinu":{book:5,descr:"every year",variations:{"Y.1":{"1":["32:1","32:6"],"2":["32:7","32:12"],"3":["32:13","32:18"],"4":["32:19","32:28"],"5":["32:29","32:39"],"6":["32:40","32:43"],"7":["32:44","32:52"],M:["32:48","32:52"]},"Y.2":"Y.1","Y.3":"Y.1"}},"Vezot Haberakhah":{book:5,descr:"האזינו-וזאת הברכה should both be read in their entirety due to their brief length",variations:{"Y.1":{"1":["33:1","33:7"],"2":["33:8","33:12"],"3":["33:13","33:17"],"4":["33:18","33:21"],"5":["33:22","33:26"],"6":["33:27","33:29"],"7":["34:1","34:12"]},"Y.2":"Y.1","Y.3":"Y.1"}},"Vayakhel-Pekudei":{book:2,descr:"Aliyot Divisions for Combined Sidrot",years:{"Y.1":{"1":["35:1","35:10"],"2":["35:11","35:20"],"3":["35:21","35:29"],"4":["35:30","36:7"],"5":["36:8","36:19"],"6":["36:20","36:38"],"7":["37:1","37:16"],M:["37:10","37:16"]},"Y.2":{"1":["37:17","37:24"],"2":["37:25","37:29"],"3":["38:1","38:8"],"4":["38:9","38:20"],"5":["38:21","39:1"],"6":["39:2","39:7"],"7":["39:8","39:21"],M:["39:19","39:21"]},"Y.3":{"1":["39:22","39:26"],"2":["39:27","39:32"],"3":["39:33","39:43"],"4":["40:1","40:8"],"5":["40:9","40:16"],"6":["40:17","40:27"],"7":["40:28","40:38"],M:["40:34","40:38"]}},patterns:{TTS:"A",TST:"B",TSS:"C",SST:"D",STS:"E",STT:"F",SSS:"G"}},"Tazria-Metzora":{book:3,descr:"Aliyot Divisions for Combined Sidrot",years:{"Y.1":{"1":["12:1","12:4"],"2":["12:5","12:8"],"3":["13:1","13:5"],"4":["13:6","13:17"],"5":["13:18","13:23"],"6":["13:24","13:28"],"7":["13:29","13:39"],M:["13:37","13:39"]},"Y.2":{"1":["13:40","13:46"],"2":["13:47","13:54"],"3":["13:55","13:59"],"4":["14:1","14:5"],"5":["14:6","14:12"],"6":["14:13","14:20"],"7":["14:21","14:32"],M:["14:30","14:32"]},"Y.3":{"1":["14:33","14:38"],"2":["14:39","14:47"],"3":["14:48","14:53"],"4":["14:54","15:7"],"5":["15:8","15:15"],"6":["15:16","15:28"],"7":["15:29","15:33"],M:["15:31","15:33"]}},patterns:{TTS:"A",TST:"B",STT:"C",STS:"D"}},"Achrei Mot-Kedoshim":{book:3,descr:"Aliyot Divisions for Combined Sidrot",years:{"Y.1":{"1":["16:1","16:6"],"2":["16:7","16:11"],"3":["16:12","16:17"],"4":["16:18","16:24"],"5":["16:25","16:30"],"6":["16:31","16:34"],"7":["17:1","17:7"],M:["17:5","17:7"]},"Y.2":{"1":["17:8","17:12"],"2":["17:13","17:16"],"3":["18:1","18:5"],"4":["18:6","18:21"],"5":["18:22","18:30"],"6":["19:1","19:4"],"7":["19:5","19:14"],M:["19:11","19:14"]},"Y.3":{"1":["19:15","19:18"],"2":["19:19","19:22"],"3":["19:23","19:32"],"4":["19:33","19:37"],"5":["20:1","20:7"],"6":["20:8","20:22"],"7":["20:23","20:27"],M:["20:25","20:27"]}},patterns:{TTS:"A",TST:"B",STT:"C",STS:"D"}},"Behar-Bechukotai":{book:3,descr:"Aliyot Divisions for Combined Sidrot",years:{"Y.1":{"1":["25:1","25:3"],"2":["25:4","25:7"],"3":["25:8","25:13"],"4":["25:14","25:18"],"5":["25:19","25:24"],"6":["25:25","25:28"],"7":["25:29","25:38"],M:["25:35","25:38"]},"Y.2":{"1":["25:39","25:43"],"2":["25:44","25:46"],"3":["25:47","25:54"],"4":["25:55","26:2"],"5":["26:3","26:5"],"6":["26:6","26:9"],"7":["26:10","26:46"],M:["26:44","26:46"]},"Y.3":{"1":["27:1","27:4"],"2":["27:5","27:8"],"3":["27:9","27:15"],"4":["27:16","27:21"],"5":["27:22","27:25"],"6":["27:26","27:28"],"7":["27:29","27:34"],M:["27:32","27:34"]}},patterns:{TTS:"A",TST:"B",STT:"C",STS:"D"}},"Chukat-Balak":{book:4,descr:"Aliyot Divisions for Combined Sidrot",years:{"Y.1":{"1":["19:1","19:9"],"2":["19:10","19:17"],"3":["19:18","20:6"],"4":["20:7","20:13"],"5":["20:14","20:21"],"6":["20:22","21:9"],"7":["21:10","21:20"],M:["21:16","21:20"]},"Y.2":{"1":["21:21","21:25"],"2":["21:26","22:1"],"3":["22:2","22:7"],"4":["22:8","22:12"],"5":["22:13","22:20"],"6":["22:21","22:30"],"7":["22:31","22:38"],M:["22:36","22:38"]},"Y.3":{"1":["22:39","23:5"],"2":["23:6","23:12"],"3":["23:13","23:26"],"4":["23:27","23:30"],"5":["24:1","24:13"],"6":["24:14","24:25"],"7":["25:1","25:9"],M:["25:7","25:9"]}},patterns:{TTS:"A",TST:"B",TSS:"C",SST:"D",STS:"E",STT:"F",SSS:"G"}},"Matot-Masei":{book:4,descr:"Aliyot Divisions for Combined Sidrot",years:{"Y.1":{"1":["30:2","30:9"],"2":["30:10","30:13"],"3":["30:14","30:17"],"4":["31:1","31:12"],"5":["31:13","31:24"],"6":["31:25","31:41"],"7":["31:42","31:54"],M:["31:51","31:54"]},"Y.2":{"1":["32:1","32:4"],"2":["32:5","32:19"],"3":["32:20","32:27"],"4":["32:28","32:42"],"5":["33:1","33:6"],"6":["33:7","33:36"],"7":["33:37","33:49"],M:["33:47","33:49"]},"Y.3":{"1":["33:50","34:15"],"2":["34:16","34:29"],"3":["35:1","35:8"],"4":["35:9","35:15"],"5":["35:16","35:29"],"6":["35:30","35:34"],"7":["36:1","36:13"],M:["36:10","36:13"]}},patterns:{TTS:"A",TST:"B",STT:"C"}},"Nitzavim-Vayeilech":{book:5,descr:"Aliyot Divisions for Combined Sidrot",years:{"Y.1":{"1":["29:9","29:11"],"2":["29:12","29:14"],"3":["29:15","29:28"],"4":["30:1","30:3"],"5":["30:4","30:6"],"6":["30:7","30:10"],"7":["30:11","30:14"],M:["30:11","30:14"]},"Y.2":{"1":["30:1","30:3"],"2":["30:4","30:6"],"3":["30:7","30:10"],"4":["30:11","30:14"],"5":["30:15","30:20"],"6":["31:1","31:3"],"7":["31:4","31:6"],M:["31:4","31:6"]},"Y.3":{"1":["31:7","31:9"],"2":["31:10","31:13"],"3":["31:14","31:19"],"4":["31:20","31:22"],"5":["31:22","31:24"],"6":["31:25","31:27"],"7":["31:28","31:30"],M:["31:28","31:30"]}},patterns:{TTS:"Y",TST:"Y",TSS:"Y",SST:"Y",STS:"Y",STT:"Y",SSS:"Y"}}};
1111
1045
 
@@ -1123,11 +1057,47 @@ const Bereshit={"1":{k:"Isaiah",b:"42:5",e:"42:21",note:"God identified as the c
1123
1057
  */
1124
1058
 
1125
1059
  const VEZOT_HABERAKHAH = 'Vezot Haberakhah';
1126
- const isSometimesDoubled = Object.create(null);
1060
+ const isSometimesDoubled = Object.create(null); // N.B. these are 0-based indices
1061
+
1062
+ const doubled = [21, // Vayakhel-Pekudei
1063
+ 26, // Tazria-Metzora
1064
+ 28, // Achrei Mot-Kedoshim
1065
+ 31, // Behar-Bechukotai
1066
+ 38, // Chukat-Balak
1067
+ 41, // Matot-Masei
1068
+ 50 // Nitzavim-Vayeilech
1069
+ ];
1127
1070
  doubled.forEach(id => {
1128
1071
  isSometimesDoubled[id] = true;
1129
1072
  isSometimesDoubled[id + 1] = true;
1130
1073
  });
1074
+ /**
1075
+ * takes a 0-based (Bereshit=0) parsha ID
1076
+ * @private
1077
+ * @param {number} id
1078
+ * @return {string}
1079
+ */
1080
+
1081
+ function getDoubledName(id) {
1082
+ const p1 = parshiot[id];
1083
+ const p2 = parshiot[id + 1];
1084
+ const name = p1 + '-' + p2;
1085
+ return name;
1086
+ }
1087
+ /**
1088
+ * A bit like Object.assign(), but just a shallow copy
1089
+ * @private
1090
+ * @param {any} target
1091
+ * @param {any} source
1092
+ * @return {any}
1093
+ */
1094
+
1095
+
1096
+ function shallowCopy(target, source) {
1097
+ Object.keys(source).forEach(k => target[k] = source[k]);
1098
+ return target;
1099
+ }
1100
+
1131
1101
  let triennialAliyot;
1132
1102
  /** Triennial Torah readings */
1133
1103
 
@@ -1415,7 +1385,7 @@ class Triennial {
1415
1385
  const aliyot = variations[variation];
1416
1386
 
1417
1387
  if (typeof aliyot === 'object') {
1418
- const dest = Object.create(null);
1388
+ const dest = {};
1419
1389
  Object.keys(aliyot).forEach(num => {
1420
1390
  const src = aliyot[num];
1421
1391
  const reading = {
@@ -1473,11 +1443,10 @@ function getTriennial(year) {
1473
1443
  /**
1474
1444
  * Looks up the triennial leyning for this Parashat HaShavua
1475
1445
  * @param {Event} ev
1476
- * @param {boolean} [context=false] returns a reading wrapper object which includes `date`, `yearNum` and `aliyot`
1477
- * @return {TriennialAliyot|Object<string,Aliyah>} a map of aliyot 1-7 plus "M"
1446
+ * @return {TriennialAliyot} a map of aliyot 1-7 plus "M"
1478
1447
  */
1479
1448
 
1480
- function getTriennialForParshaHaShavua(ev, context = false) {
1449
+ function getTriennialForParshaHaShavua(ev) {
1481
1450
  if (!ev instanceof Event) {
1482
1451
  throw new TypeError(`Bad event argument: ${ev}`);
1483
1452
  } else if (ev.getFlags() != flags.PARSHA_HASHAVUA) {
@@ -1505,7 +1474,7 @@ function getTriennialForParshaHaShavua(ev, context = false) {
1505
1474
 
1506
1475
  const aliyotMap = shallowCopy({}, reading.aliyot); // possibly replace 7th aliyah and/or maftir
1507
1476
 
1508
- const reason = Object.create(null);
1477
+ const reason = {};
1509
1478
  specialReadings(hd, false, aliyotMap, reason);
1510
1479
  Object.keys(reason).forEach(num => {
1511
1480
  const aliyah = aliyotMap[num];
@@ -1514,16 +1483,11 @@ function getTriennialForParshaHaShavua(ev, context = false) {
1514
1483
  aliyah.reason = reason[num];
1515
1484
  }
1516
1485
  });
1517
-
1518
- if (context) {
1519
- reading.yearNum = yearNum;
1520
- reading.aliyot = aliyotMap;
1521
- const triHaft = getTriennialHaftara(parsha, yearNum);
1522
- shallowCopy(reading, triHaft);
1523
- return reading;
1524
- }
1525
-
1526
- return aliyotMap;
1486
+ reading.yearNum = yearNum;
1487
+ reading.aliyot = aliyotMap;
1488
+ const triHaft = getTriennialHaftara(parsha, yearNum);
1489
+ shallowCopy(reading, triHaft);
1490
+ return reading;
1527
1491
  }
1528
1492
  /**
1529
1493
  * Looks up the alternative triennial Haftara for a given parsha
@@ -1552,8 +1516,8 @@ function getTriennialHaftara(parsha, yearNum) {
1552
1516
  const haft = cloneHaftara(triHaft2);
1553
1517
  return {
1554
1518
  haft: haft,
1555
- haftara: makeHaftaraSummary(haft),
1556
- haftaraNumV: calculateHaftaraNumV(haft)
1519
+ haftara: makeSummaryFromParts(haft),
1520
+ haftaraNumV: sumVerses(haft)
1557
1521
  };
1558
1522
  }
1559
1523
 
@@ -1577,8 +1541,8 @@ function getTriennialHaftaraForHoliday(key, yearNum) {
1577
1541
  const haft = cloneHaftara(triHaft2);
1578
1542
  return {
1579
1543
  haft: haft,
1580
- haftara: makeHaftaraSummary(haft),
1581
- haftaraNumV: calculateHaftaraNumV(haft)
1544
+ haftara: makeSummaryFromParts(haft),
1545
+ haftaraNumV: sumVerses(haft)
1582
1546
  };
1583
1547
  }
1584
1548
 
@@ -1711,7 +1675,7 @@ function writeTriennialEventHoliday(stream, ev) {
1711
1675
 
1712
1676
 
1713
1677
  function writeTriennialEventParsha(stream, ev) {
1714
- const triReading = getTriennialForParshaHaShavua(ev, true);
1678
+ const triReading = getTriennialForParshaHaShavua(ev);
1715
1679
 
1716
1680
  if (triReading) {
1717
1681
  const il = false;
@@ -1854,4 +1818,4 @@ function getFullKriyahLines(reading) {
1854
1818
  return lines;
1855
1819
  }
1856
1820
 
1857
- export { BOOK, Triennial, addSefariaLinksToLeyning, calculateHaftaraNumV, calculateHaftarahNumVerses, calculateNumVerses, clone, cloneHaftara, doubled, formatAliyahShort, formatAliyahWithBook, getDoubledName, getLeyningForHoliday, getLeyningForHolidayKey, getLeyningForParsha, getLeyningForParshaHaShavua, getLeyningKeyForEvent, getLeyningOnDate, getTriennial, getTriennialForParshaHaShavua, getTriennialHaftaraForHoliday, hasFestival, festivals as holidayReadings, lookupFestival, makeHaftaraSummary, makeLeyningParts, makeLeyningSummary, makeSummaryFromParts, parshaToString, parshiyotObj as parshiyot, shallowCopy, writeFullKriyahCsv, writeTriennialCsv };
1821
+ export { BOOK, Triennial, calculateNumVerses, clone, cloneHaftara, formatAliyahShort, formatAliyahWithBook, getLeyningForHoliday, getLeyningForHolidayKey, getLeyningForParsha, getLeyningForParshaHaShavua, getLeyningKeyForEvent, getLeyningOnDate, getTriennial, getTriennialForParshaHaShavua, getTriennialHaftaraForHoliday, hasFestival, lookupFestival, lookupParsha, makeLeyningParts, makeLeyningSummary, makeSummaryFromParts, parshaToString, specialReadings, sumVerses, writeFullKriyahCsv, writeTriennialCsv };