cronli5 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +90 -0
  2. package/README.md +4 -4
  3. package/cronli5.min.js +2 -2
  4. package/dist/cronli5.cjs +514 -407
  5. package/dist/cronli5.js +514 -407
  6. package/dist/lang/de.cjs +296 -225
  7. package/dist/lang/de.js +296 -225
  8. package/dist/lang/en.cjs +471 -364
  9. package/dist/lang/en.js +471 -364
  10. package/dist/lang/es.cjs +318 -281
  11. package/dist/lang/es.js +318 -281
  12. package/dist/lang/fi.cjs +326 -276
  13. package/dist/lang/fi.js +326 -276
  14. package/dist/lang/zh.cjs +308 -236
  15. package/dist/lang/zh.js +308 -236
  16. package/package.json +1 -1
  17. package/src/core/analyze.ts +22 -21
  18. package/src/core/cadence.ts +164 -0
  19. package/src/core/index.ts +3 -1
  20. package/src/core/normalize.ts +3 -3
  21. package/src/core/parse.ts +1 -1
  22. package/src/core/{ir.ts → schedule.ts} +23 -24
  23. package/src/core/shapes.ts +8 -1
  24. package/src/core/specs.ts +1 -1
  25. package/src/core/util.ts +4 -83
  26. package/src/core/validate.ts +2 -2
  27. package/src/core/weekday.ts +54 -0
  28. package/src/cronli5.ts +7 -7
  29. package/src/lang/de/index.ts +329 -288
  30. package/src/lang/en/dialects.ts +1 -1
  31. package/src/lang/en/index.ts +640 -516
  32. package/src/lang/es/index.ts +342 -374
  33. package/src/lang/es/notes.md +1 -1
  34. package/src/lang/fi/dialects.ts +1 -1
  35. package/src/lang/fi/index.ts +367 -372
  36. package/src/lang/fi/notes.md +23 -8
  37. package/src/lang/fi/status.json +1 -1
  38. package/src/lang/zh/index.ts +344 -262
  39. package/src/types.ts +6 -6
  40. package/types/core/analyze.d.ts +4 -4
  41. package/types/core/cadence.d.ts +33 -0
  42. package/types/core/index.d.ts +3 -1
  43. package/types/core/normalize.d.ts +1 -1
  44. package/types/core/parse.d.ts +1 -1
  45. package/types/core/{ir.d.ts → schedule.d.ts} +16 -21
  46. package/types/core/shapes.d.ts +2 -1
  47. package/types/core/specs.d.ts +1 -1
  48. package/types/core/util.d.ts +1 -15
  49. package/types/core/weekday.d.ts +10 -0
  50. package/types/lang/de/index.d.ts +1 -1
  51. package/types/lang/en/dialects.d.ts +1 -1
  52. package/types/lang/en/index.d.ts +1 -1
  53. package/types/lang/es/index.d.ts +1 -1
  54. package/types/lang/fi/dialects.d.ts +1 -1
  55. package/types/lang/fi/index.d.ts +1 -1
  56. package/types/lang/zh/index.d.ts +1 -1
  57. package/types/types.d.ts +5 -5
package/CHANGELOG.md CHANGED
@@ -6,6 +6,96 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.3.1]
10
+
11
+ ### Changed
12
+
13
+ - **en — dense crons read coarse-to-fine.** A dense cron (a seconds cadence
14
+ stacked on a minute cadence under an hour cadence, with a calendar anchor)
15
+ previously rendered as a robotic fine-to-coarse run-on. It now leads with the
16
+ day/month anchor, states cadences coarse-to-fine, and nests the second under
17
+ the minute — e.g. `0-10 */7 */5 LW` → "on the last weekday of the month, every
18
+ five hours from midnight through 8 p.m., every seven minutes from 0 through 56
19
+ minutes past the hour, and within each of those minutes, every second from 0
20
+ through 10 past the minute". Blind native-panel naturalness on these shapes
21
+ rose from ~2.0 to ~4.9. Dense shapes only; simple and medium crons, the
22
+ sentence wrapper, and the other languages are unchanged.
23
+
24
+ ## [0.3.0]
25
+
26
+ The OR-day union (both day-of-month and day-of-week restricted — cron fires on
27
+ EITHER, the union of days) now reads clearly and correctly in es, de, fi, and
28
+ zh, validated by native math-inclined panels. None needed en's condition-frame —
29
+ each language already had a union construction — so this was a per-language
30
+ audit + fix, which surfaced real bugs.
31
+
32
+ ### Fixed
33
+
34
+ - **de — month scope (union-breaking):** a trailing month scoped only the last
35
+ OR-branch ("am 1. oder sonntags im Januar"); it now leads and scopes the whole
36
+ union ("im Januar am 1. oder sonntags"). Also, `*/2` day-of-month rendered as a
37
+ 16-date enumeration → "an jedem ungeraden Tag des Monats".
38
+ - **fi — exclusive-or (union-breaking):** month-restricted OR-day used "joko …
39
+ tai …", the *exclusive* disjunction; now the inclusive "tai".
40
+ - **es/de/fi/zh — `*/2` day-of-month:** in the OR-union it read as a continuous
41
+ every-two-days cadence, mis-implying continuity across the month boundary
42
+ (`*/2` dom is the odd days, resetting each month). Now an odd-day predicate
43
+ ("un día impar del mes" / "ungerader Tag des Monats" / "kuukauden parittomina
44
+ päivinä" / "每月单数日"). Standalone `*/2` keeps the cadence.
45
+
46
+ ### Changed
47
+
48
+ - OR-day naturalness polish: es/de weekday-range parallelism; zh separates the
49
+ time window from the day union; tested even-day predicates in es/de/zh.
50
+ - The fuzz date FORMS now include `*/2` so a day-of-month step verbosity
51
+ regression can't slip through unswept.
52
+
53
+ ## [0.2.2]
54
+
55
+ Architecture cleanup from the code review, plus a zh consistency fix. Internal
56
+ refactors are output byte-identical; the zh change is noted below.
57
+
58
+ ### Changed
59
+
60
+ - Renamed the core semantic contract `IR` → `Schedule` and `Content` →
61
+ `ScheduleFacts` (now `src/core/schedule.ts`, `describe(schedule, opts)`) — a
62
+ domain name over compiler jargon, clearer for language contributors. Internal;
63
+ the public API is unchanged.
64
+ - Lifted the stride/cadence decision tree (hand-copied ~9× across the renderers)
65
+ into one core helper parameterized by per-language phrasing, and split
66
+ `util.ts` into generic / weekday-display / cadence modules. Output
67
+ byte-identical across all five languages.
68
+ - **zh:** an uneven 4-fire hour step now compacts to its bounded cadence
69
+ (`*/7` → "从0点起每7小时,至21点") instead of enumerating, matching
70
+ en/es/de/fi; clean-stride hour lists now enumerate to match the others too.
71
+ - Minor naming: `enumerateNonUniformStep` → `enumerateIfNonUniform`; removed the
72
+ dead `HoursPlan` `'single'` variant; inlined `isContiguousHourRange`.
73
+
74
+ ## [0.2.1]
75
+
76
+ ### Fixed
77
+
78
+ - The hour-range until-window ("from 9 a.m. until 6 p.m.") now applies **only
79
+ when the minute is wildcard** — i.e. the schedule fills each hour
80
+ continuously, so it genuinely runs *until* the top of the next hour. For any
81
+ restricted minute (fixed / step / range / list) the fires are discrete, so it
82
+ reverts to "from 9 a.m. through 5 p.m." (the last hour). 0.2.0 over-applied
83
+ "until" to the discrete cases (e.g. `0 9-17` read "until 6 p.m." instead of
84
+ "through 5 p.m.").
85
+
86
+ ### Changed (internal — output byte-identical)
87
+
88
+ - Lifted language-neutral helpers (`singleValues`, `offsetCleanStride`,
89
+ `isOpenStep`, the segment accessors, `hourListStride`) into the core, removing
90
+ ~300 lines of cross-renderer duplication.
91
+ - Unified the rendering-plan terminology on **plan** (`selectStrategy` →
92
+ `selectPlan`, `Language.strategy` → `Language.plan`).
93
+ - Scrubbed workflow-provenance labels from shipped comments and fixed
94
+ stale/typo comments.
95
+ - Adjusted the c8 branch-coverage gate 96 → 95: real branch coverage is ~100%;
96
+ the measured figure is limited by fixed esbuild/tsx function-default phantom
97
+ branches, and consolidating covered duplicate code crossed the rounding cliff.
98
+
9
99
  ## [0.2.0]
10
100
 
11
101
  A major naturalness pass for English, validated by blind native-speaker
package/README.md CHANGED
@@ -247,16 +247,16 @@ cronli5('0 12 * 6,12 *'); // 'every day in June and December at noon'
247
247
 
248
248
  // Ranges (wrap-around ranges describe overnight and weekend windows)
249
249
  cronli5('0-29 * * * *'); // 'every minute from 0 through 29 past the hour'
250
- cronli5('0 9-17 * * *'); // 'every hour from 9 a.m. until 6 p.m.'
250
+ cronli5('0 9-17 * * *'); // 'every hour from 9 a.m. through 5 p.m.'
251
251
  cronli5('0 0 1-15 * *'); // 'on the 1st through 15th at midnight'
252
- cronli5('0 22-2 * * *'); // 'every hour from 10 p.m. until 3 a.m.'
252
+ cronli5('0 22-2 * * *'); // 'every hour from 10 p.m. through 2 a.m.'
253
253
  cronli5('0 0 * * FRI-MON'); // 'every Friday through Monday at midnight'
254
254
 
255
255
  // Compound patterns
256
256
  cronli5('0,30 9 * * *'); // 'every day at 9 a.m. and 9:30 a.m.'
257
- cronli5('*/15 9-17 * * *'); // 'every 15 minutes from 9 a.m. until 6 p.m.'
257
+ cronli5('*/15 9-17 * * *'); // 'every 15 minutes from 9 a.m. through 5 p.m.'
258
258
  cronli5('30 9-17 * * *');
259
- // 'at 30 minutes past the hour from 9 a.m. until 6 p.m.'
259
+ // 'at 30 minutes past the hour from 9 a.m. through 5 p.m.'
260
260
  cronli5('0 12 1 1 *'); // 'on January 1 at noon'
261
261
  cronli5('0 * 13 * *'); // 'every hour on the 13th'
262
262
 
package/cronli5.min.js CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";(()=>{var pe={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6},ye={JAN:1,FEB:2,MAR:3,APR:4,MAY:5,JUN:6,JUL:7,AUG:8,SEP:9,OCT:10,NOV:11,DEC:12},S={second:{cyclic:!0,max:59,min:0,top:59},minute:{cyclic:!0,max:59,min:0,top:59},hour:{cyclic:!0,max:23,min:0,top:23},date:{aliases:{"?":"*"},cyclic:!0,max:31,min:1,top:31},month:{cyclic:!0,max:12,min:1,numbers:ye,top:12},weekday:{aliases:{"?":"*",L:"6"},cyclic:!0,max:7,min:0,numbers:pe,top:6},year:{max:9999,min:1970}},v=["second","minute","hour","date","month","weekday","year"],X={"@annually":"0 0 1 1 *","@yearly":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@midnight":"0 0 * * *","@hourly":"0 * * * *"},W=6;function l(n,e){return(""+n).indexOf(e)!==-1}function Q(n){return Array.from(new Set(n))}function V(n){return/^\d+$/.test(n)}function _(n){if(n.length<5)return null;let e=n[1]-n[0];if(e<2)return null;for(let t=2;t<n.length;t+=1)if(n[t]-n[t-1]!==e)return null;return{start:n[0],interval:e,last:n[n.length-1]}}function Rn(n){return n===0?7:n}function wn(n){let e=n.flatMap(function(i){return i.kind==="step"?i.fires.map(function(o){return{kind:"single",value:""+o}}):[i]});function t(r){return r.kind==="range"?Rn(+r.bounds[0]):Rn(+r.value)}return e.map(function(i,u){return[i,u]}).sort(function(i,u){return t(i[0])-t(u[0])||i[1]-u[1]}).map(function(i){return i[0]})}function f(n,e){return V(n)?+n:e[n.toUpperCase()]}function Pn(n){return v.forEach(function(t){be(n[t],S[t],t)}),n}function be(n,e,t){typeof n!="string"&&typeof n!="number"&&vn(n,t);let r=""+n;r!=="*"&&(t==="date"&&H(r)||t==="weekday"&&L(r,e)||r.split(",").forEach(function(u){Se(u,e)||vn(u,t)}))}function H(n){if(n==="L"||n==="LW"||n==="WL")return!0;let e=/^L-(\d{1,2})$/.exec(n);if(e)return+e[1]>=1&&+e[1]<=30;let t=/^(\d{1,2})W$|^W(\d{1,2})$/.exec(n);if(t){let r=+(t[1]||t[2]);return r>=1&&r<=31}return!1}function L(n,e){if(/L$/.test(n))return T(n.slice(0,-1),e);let t=n.split("#");return t.length===2?T(t[0],e)&&/^[1-5]$/.test(t[1]):!1}function Se(n,e){return l(n,"/")?ke(n,e):l(n,"-")?Cn(n,e):T(n,e)}function ke(n,e){let t=n.split("/");return t.length!==2||!V(t[1])||+t[1]<1?!1:t[0]==="*"||T(t[0],e)||Cn(t[0],e,!0)}function Cn(n,e,t){let r=n.split("-");return r.length!==2||!T(r[0],e)||!T(r[1],e)?!1:e.cyclic&&!t?!0:f(r[0],e.numbers)<=f(r[1],e.numbers)}function T(n,e){return n==="*"?!1:V(n)?+n>=e.min&&+n<=e.max:e.numbers?n.toUpperCase()in e.numbers:!1}function vn(n,e){throw new Error('`cronli5` was passed an invalid field value "'+n+'" for the '+e+" field.")}var Oe={hour:24,minute:60,second:60};function xn(n){v.forEach(function(t){let r=S[t].aliases,i=r&&r[""+n[t]];i&&(n[t]=i)})}function Tn(n){return v.forEach(function(t){let r=""+n[t];if(t==="date"&&H(r)||t==="weekday"&&L(r,S[t])){n[t]=r;return}n[t]=Ne(r,t,S[t])}),n}function Ne(n,e,t){let r=""+n;if(r==="*")return r;let i=Oe[e],u=r.split(",").map(function(s){return ze(Fn(Pe(Ce(Ie(ve(we(s,t),t),t),t),t,i),t),t)}).join(",").split(",");return u.indexOf("*")!==-1?"*":Q(u).sort(function(s,m){return In(s,t)-In(m,t)}).join(",")}function ze(n,e){if(!e.numbers)return n;let t=n.split("/"),r=t[0].split("-").map(function(u){return Re(u,e)}).join("-");return t.length===2?r+"/"+t[1]:r}function Re(n,e){if(n==="*")return n;let t=f(n,e.numbers);return""+(t>e.top?e.min:t)}function we(n,e){let t=n.split("/");if(!e.cyclic||t.length!==2||+t[1]!=1)return n;let r=t[0];return l(r,"-")?r:r==="*"||f(r,e.numbers)===e.min?"*":r+"-"+e.top}function ve(n,e){let t=n.split("/");if(!e.cyclic||typeof e.top!="number"||t.length!==2||l(t[0],"-"))return n;let r=t[0];return(r==="*"?e.min:f(r,e.numbers))+ +t[1]<=e.top?n:r==="*"?""+e.min:r}function Pe(n,e,t){let r=n.split("/");if(typeof t!="number"||r.length!==2||l(r[0],"-"))return n;let i=+r[1],u=r[0]==="*"?e.min:f(r[0]);if(t%i===0&&u<i)return n;let o=[];for(let s=u;s<=e.top;s+=i)o.push(s);return o.join(",")}function Ce(n,e){let t=n.split("/");return t.length!==2||!l(t[0],"-")?n:Fn(t[0],e)==="*"?"*/"+t[1]:n}function Fn(n,e){if(typeof e.top!="number"||l(n,"/")||!l(n,"-"))return n;let t=n.split("-"),r=f(t[0],e.numbers),i=f(t[1],e.numbers);if(r>i)return n;let u=e.top,o={};for(let s=r;s<=i;s+=1)o[s>u?e.min:s]=!0;for(let s=e.min;s<=u;s+=1)if(!o[s])return n;return"*"}function Ie(n,e){let t=n.split("/")[0];if(!l(t,"-"))return n;let r=t.split("-");return f(r[0],e.numbers)!==f(r[1],e.numbers)?n:r[0]}function In(n,e){let t=n.split("/")[0].split("-")[0];return t==="*"?e.min:f(t,e.numbers)}function Mn(n,e){let t=n instanceof Array;if(n===null||typeof n>"u"||n===""||t&&n.length===0)throw new Error("`cronli5` expects a non-empty cron pattern as the first argument.");if(t)return Wn(n,e);if(typeof n=="object")return xe(n);if(typeof n=="string")return Te(n,e);throw new Error("`cronli5` was passed an unexpected type.")}function Wn(n,e){if(n.length>7)throw new Error("`cronli5` was passed a cron pattern with more than seven fields.");return!e.seconds&&n.length<(e.years?7:6)&&n.unshift("0"),{second:n[0]||"0",minute:n[1]||"*",hour:n[2]||"*",date:n[3]||"*",month:n[4]||"*",weekday:n[5]||"*",year:n[6]||"*"}}function xe(n){if(!n.second&&!n.minute&&!n.hour)throw new Error("`cronli5` expects that any object being interpreted as a cron pattern have at least one of the following properties: `second`, `minute`, or `hour`");let e=typeof n.second<"u",t=typeof n.minute<"u",r=e?"*":"0",i=e||t?"*":"0";return{second:P(n.second,"0"),minute:P(n.minute,r),hour:P(n.hour,i),date:P(n.date,"*"),month:P(n.month,"*"),weekday:P(n.weekday,"*"),year:P(n.year,"*")}}function P(n,e){return typeof n>"u"?e:n}function Te(n,e){let t=Fe(n).split(/\s+/);return Wn(t,e)}function Fe(n){let e=n.trim();if(e.charAt(0)!=="@")return n;let t=e.toLowerCase();if(Object.hasOwn(X,t))return X[t];throw new Error("`cronli5` does not recognize the macro `"+e+"`.")}function Hn(n){return n!=="*"&&!l(n,",")&&!l(n,"-")&&!l(n,"/")}function nn(n){return l(n,"-")&&!l(n,",")&&!l(n,"/")}function Me(n){return l(n,"/")&&!l(n,",")}function en(n){return n!=="*"&&!l(n,"-")&&!l(n,"/")}function tn(n){return n!=="*"&&!nn(n)&&!Me(n)}function E(n,e,t){let r=[],i=n;for(;i<=t;)r.push(i),i+=e;return r}function Ln(n,e,t,r){let i=n.split("/"),u=+i[1];if(l(i[0],"-")){let s=i[0].split("-");return E(f(s[0],r),u,f(s[1],r))}let o=i[0]==="*"?e:f(i[0],r);return E(o,u,t)}function un(n,e,t){let r=[];return n.split(",").forEach(function(u){if(l(u,"/"))r.push(...Ln(u,e,t));else if(l(u,"-")){let o=u.split("-");+o[0]<=+o[1]?r.push(...E(+o[0],1,+o[1])):(r.push(...E(+o[0],1,t)),r.push(...E(e,1,+o[1])))}else r.push(+u)}),Q(r)}function We(n){return en(n)?n.split(",").map(Number):[0]}function He(n){if(n==="*")return[0,59];if(nn(n)){let e=n.split("-");if(+e[0]<=+e[1])return[+e[0],+e[1]]}return null}function Le(n){return n==="*"?59:Math.max(...un(n,0,59))}function Ee(n){if(Hn(n)&&n!=="0")return+n}function De(n,e){return n==="*"?"wildcard":e==="date"&&H(n)||e==="weekday"&&L(n,S.weekday)?"quartz":l(n,",")?"list":l(n,"/")?"step":l(n,"-")?"range":"single"}function je(n,e,t){return e==="wildcard"||e==="quartz"?null:n.split(",").map(function(i){if(l(i,"/")){let u=i.split("/");return{fires:Ln(i,t.min,t.top,t.numbers),interval:+u[1],kind:"step",startToken:u[0]}}return l(i,"-")?{bounds:i.split("-"),kind:"range"}:{kind:"single",value:i}})}function En(n){let e={},t={};v.forEach(function(o){e[o]=De(n[o],o),t[o]=je(n[o],e[o],S[o])});let i={analyses:{clockSecond:Ee(n.second),lastMinuteFire:Le(n.minute),minuteSpan:He(n.minute),segments:t},pattern:n,shapes:e};return{...i,plan:Ae(i)}}function Ae(n){let{analyses:e,pattern:t,shapes:r}=n;if(t.second!=="0"){let i=Ue(t,r,e);if(i)return i}return Dn(t,r,e)||jn(t,r,e)}function Ue(n,e,t){let r=qe(n,e);return r||(n.hour==="*"&&e.minute==="single"&&n.second!=="*"?{kind:"secondsWithinMinute",singleSecond:e.second==="single"}:e.second==="single"&&en(n.minute)&&tn(n.hour)?null:{kind:"composeSeconds",rest:Dn(n,e,t,!0)||jn(n,e,t,!0)})}function qe(n,e){return n.minute!=="*"||n.hour!=="*"?null:n.second==="*"?{kind:"everySecond"}:e.second==="single"?{kind:"secondPastMinute"}:{kind:"standaloneSeconds"}}function Dn(n,e,t,r=!1){if(e.minute==="step")return{hours:Ve(n,e,t),kind:"minuteFrequency"};if(e.hour==="single"&&t.minuteSpan)return{hour:+n.hour,kind:"minuteSpanInHour",span:t.minuteSpan};let i=$e(n,e);if(i)return i;let u=Qe(n,e);if(u)return u;if(n.hour==="*")return Je(n,e,r)}function rn(n){let[e,t]=n.split("/"),r=e==="*"?0:+e;return e.indexOf("-")===-1&&24%+t===0&&r<+t}function Qe(n,e){return e.hour!=="step"?null:n.minute==="*"?rn(n.hour)?{form:"wildcard",kind:"minuteSpanAcrossHourStep"}:{form:"wildcard",kind:"minutesAcrossHours",times:D(n.hour)}:e.minute==="range"?{form:"range",kind:"minuteSpanAcrossHourStep"}:e.minute==="list"&&rn(n.hour)?{form:"list",kind:"minuteSpanAcrossHourStep"}:null}function Ve(n,e,t){if(e.hour==="list")return{kind:"during",times:D(n.hour)};if(e.hour==="range"){let r=n.hour.split("-");return{from:+r[0],kind:"window",last:t.lastMinuteFire,to:+r[1]}}return e.hour==="single"?{from:+n.hour,kind:"window",last:t.lastMinuteFire,to:+n.hour}:e.hour==="step"?rn(n.hour)?{kind:"step"}:{kind:"during",times:D(n.hour)}:{kind:"none"}}function $e(n,e){return tn(n.hour)?n.minute==="*"?{form:"wildcard",kind:"minutesAcrossHours",times:D(n.hour)}:e.minute==="range"||e.minute==="list"&&l(n.minute,"-")&&!l(n.minute,"/")?{form:e.minute==="range"?"range":"list",kind:"minutesAcrossHours",times:D(n.hour)}:null:null}function Je(n,e,t){if(e.minute==="range")return{kind:"rangeOfMinutes"};if(e.minute==="list")return{kind:"multipleMinutes"};if(n.minute==="*")return{kind:"everyMinute"};if(n.minute!=="0"||t)return{kind:"singleMinute"}}function jn(n,e,t,r=!1){let i=r&&n.minute==="0";return e.hour==="range"&&!i?Ke(n,e,t):e.hour==="step"&&n.minute==="0"&&!r?{kind:"hourStep"}:n.hour==="*"&&!i?{kind:"everyHour"}:Ye(n,t,i)}function Ke(n,e,t){let r=n.hour.split("-"),i="lead";return n.minute==="*"?i="wildcard":e.minute==="range"&&(i="range"),{boundMinute:e.minute==="range"||e.minute==="list"?null:t.lastMinuteFire,from:+r[0],kind:"hourRange",last:t.lastMinuteFire,minuteForm:i,to:+r[1]}}function Ye(n,e,t=!1){let r=un(n.hour,0,23),i=We(n.minute);if(!t&&r.length*i.length>W)return{fold:i.length===1,kind:"compactClockTimes",minute:i[0]};let u=[];return r.forEach(function(s){i.forEach(function(d){u.push({hour:s,minute:d,second:e.clockSecond})})}),{kind:"clockTimes",times:u}}function D(n){let e=un(n,0,23);return e.length<=W?{fires:e,kind:"fires"}:{kind:"segments"}}function An(n,e){let t=Mn(n,e);return xn(t),Pn(t),Tn(t)}function N(n){return n=""+n,n.length<2?"0"+n:n}function Un(n,e,t){return t.short?n:e[n]||n}function on(n,{sep:e,pad:t,lean:r}){let i=t?N(n.hour):""+n.hour;return r&&!n.minute&&!n.second?i:i+e+N(n.minute)+(n.second?e+N(n.second):"")}var sn={gb:{am:"am",closeUp:!0,dayFirst:!0,midday:"midday",midnight:"midnight",ordinals:!1,pm:"pm",sep:".",serialComma:!1,through:" to "},us:{am:"a.m.",closeUp:!1,dayFirst:!1,midday:"noon",midnight:"midnight",ordinals:!1,pm:"p.m.",sep:":",serialComma:!0,through:" through ",untilWindow:!0},house:{am:"AM",closeUp:!1,dayFirst:!1,midday:"noon",midnight:"midnight",ordinals:!0,pm:"PM",sep:":",serialComma:!0,through:" - "}};function qn(n){return typeof n=="object"&&n!==null?{...sn.us,untilWindow:!1,...n}:sn[n==="uk"?"gb":n]||sn.us}var Ge=["zero","one","two","three","four","five","six","seven","eight","nine","ten"],an=["th","st","nd","rd"],Ze=[null,["January","Jan"],["February","Feb"],["March","Mar"],["April","Apr"],["May","May"],["June","Jun"],["July","Jul"],["August","Aug"],["September","Sep"],["October","Oct"],["November","Nov"],["December","Dec"]],z=[["Sunday","Sun"],["Monday","Mon"],["Tuesday","Tue"],["Wednesday","Wed"],["Thursday","Thu"],["Friday","Fri"],["Saturday","Sat"]],Be={SUN:z[0],MON:z[1],TUE:z[2],WED:z[3],THU:z[4],FRI:z[5],SAT:z[6]},Xe=[null,"first","second","third","fourth","fifth"];function _e(n){return n=n||{},{ampm:typeof n.ampm=="boolean"?n.ampm:!0,lenient:!!n.lenient,seconds:!!n.seconds,short:!!n.short,style:qn(n.dialect),years:!!n.years}}function nt(n,e){let t=Ft(n,e)??Vn(n,n.plan,e),r=Y(n,e)?$t(n,e):"";return nr(r+t,n,e)}function Vn(n,e,t){let r=Mt[e.kind];return r(n,e,t)}function et(n,e,t){return"every second"+a(n,t)}function tt(n,e,t){return F(n,t)+a(n,t)}function rt(n,e,t){let r=n.pattern.second;return g(r,t)+" "+O(r,"second")+" past the minute, every minute"+a(n,t)}function it(n,e,t){let r=n.pattern.minute,i=g(r,t),u=O(r,"minute");if(e.singleSecond){let o=n.pattern.second;return i+" "+u+" and "+g(o,t)+" "+O(o,"second")+" past the hour, every hour"+a(n,t)}return F(n,t)+", "+i+" "+u+" past the hour, every hour"+a(n,t)}function ut(n,e,t){if(!(e.rest.kind==="clockTimes"||e.rest.kind==="compactClockTimes")||n.shapes.minute!=="single")return null;let i=+n.pattern.minute;return yn(n,i,t)??bn(n,i,t)}function ot(n,e,t){return+e.times[0].minute==0&&n.shapes.minute==="single"?F(n,t)+" for one minute at "+at(n,e,t):F(n,t)+" of "+lt(n,e,t)}function st(n,e,t){let r=ut(n,e,t);return r!==null?r:e.rest.kind==="clockTimes"&&(n.shapes.second==="wildcard"||n.shapes.second==="step")?ot(n,e.rest,t):n.shapes.second==="wildcard"&&e.rest.kind==="minuteFrequency"&&e.rest.hours.kind==="none"&&n.pattern.minute==="*/2"?"every second of every other minute"+a(n,t):(e.rest.kind==="compactClockTimes"&&n.analyses.clockSecond?"":F(n,t)+", ")+Vn(n,e.rest,t)}function at(n,e,t){let r=e.times.map(function(o){return c({hour:o.hour,minute:0},t)}),i=K(n,On,t);return y(r,t)+(i&&", "+i)}function lt(n,e,t){let r=e.times.map(function(o){return c({hour:o.hour,minute:o.minute,second:o.second,explicit:!0},t)}),i=K(n,On,t);return y(r,t)+(i&&", "+i)}function F(n,e){return C(n,"minute",e)}function C(n,e,t){let r=n.pattern.second,i=n.shapes.second;if(r==="*")return"every second";if(i==="step")return hn(n.analyses.segments.second[0],"second",e,t);if(i==="range"){let u=r.split("-"),o=Sn();return"every second from "+o(u[0])+p(t)+o(u[1])+" past the "+e}return i==="single"?"at "+g(r,t)+" "+O(r,"second")+" past the "+e:M(n.analyses.segments.second,"second",e,t)??w(x(n.analyses.segments.second,t),"second",e,t)}function ct(n,e,t){return"every minute"+a(n,t)}function mt(n,e,t){let r=n.pattern.minute;return g(r,t)+" "+O(r,"minute")+" past the hour, every hour"+a(n,t)}function ft(n,e,t){return $(n.pattern.minute,t)+a(n,t)}function dt(n,e,t){return(M(n.analyses.segments.minute,"minute","hour",t)??w(x(n.analyses.segments.minute,t),"minute","hour",t))+a(n,t)}function gt(n,e,t){let r=hn(n.analyses.segments.minute[0],"minute","hour",t);if(e.hours.kind==="during"){let i=U(n,t);r+=i?", "+i:" during the "+j(n,e.hours.times,!1,t)+" hours"}else e.hours.kind==="window"?r+=" "+Kn(e.hours,t):e.hours.kind==="step"&&(r+=" "+dn(n.analyses.segments.hour[0],t));return r+a(n,t)}function ht(n,e,t){return n.pattern.minute==="*"?"every minute of the "+c({hour:e.hour,minute:0},t)+" hour"+a(n,t):"every minute from "+c({hour:e.hour,minute:e.span[0]},t)+p(t)+c({hour:e.hour,minute:e.span[1]},t)+a(n,t)}function pt(n,e,t){let r=U(n,t);if(e.form==="wildcard")return r!==null?"every minute, "+r+a(n,t):"every minute during the "+j(n,e.times,!1,t)+" hours"+a(n,t);if(e.form==="range"){let o=$(n.pattern.minute,t);return r!==null?o+", "+r+a(n,t):jt(e.times)?o+", at "+j(n,e.times,!0,t)+a(n,t):o+" during the "+j(n,e.times,!1,t)+" hours"+a(n,t)}let i=M(n.analyses.segments.minute,"minute","hour",t)??w(x(n.analyses.segments.minute,t),"minute","hour",t);if(r!==null)return i+", "+r+a(n,t);let u=j(n,e.times,!0,t);return i+", at "+u+a(n,t)}var $n={2:"other",3:"third",4:"fourth",6:"sixth",8:"eighth",12:"twelfth"};function dn(n,e){let t="during every "+$n[n.interval]+" hour",r=n.startToken==="*"?0:+n.startToken;return r===0?t:t+" starting at "+c({hour:r,minute:0},e)}function yt(n,e,t){let r=n.analyses.segments.hour[0];if(e.form==="wildcard")return"every minute "+dn(r,t)+a(n,t);let i=e.form==="list"?M(n.analyses.segments.minute,"minute","hour",t)??w(x(n.analyses.segments.minute,t),"minute","hour",t):$(n.pattern.minute,t),u=U(n,t);return i+", "+(u??Xn(r,t))+a(n,t)}function $(n,e){let t=n.split("-"),r=Sn();return"every minute from "+r(t[0])+p(e)+r(t[1])+" past the hour"}function bt(n,e,t){return"every hour"+a(n,t)}function St(n,e,t){let r=Kn(Ot(e),t);return e.minuteForm==="wildcard"?"every minute "+r+a(n,t):e.minuteForm==="range"?$(n.pattern.minute,t)+", "+r+a(n,t):Jn(n,t)+" "+r+a(n,t)}function Jn(n,e){return n.pattern.minute==="0"?"every hour":M(n.analyses.segments.minute,"minute","hour",e)??w(x(n.analyses.segments.minute,e),"minute","hour",e)}function kt(n,e,t){let r=U(n,t);return r!==null?r+a(n,t):Xn(n.analyses.segments.hour[0],t)+a(n,t)}function Ot(n){let e=n.minuteForm==="wildcard"?n.boundMinute??0:0;return{from:n.from,last:e,to:n.to}}function J(n,e,t,r){let i="from "+c({hour:n,minute:0},r);return r.style.untilWindow&&!r.short&&n!==e?i+" until "+c({hour:(e+1)%24,minute:0},r):i+p(r)+c({hour:e,minute:t},r)}function Kn(n,e){return J(n.from,n.to,n.last,e)}function Nt(n,e,t){if(n.shapes.minute==="single"){let u=+n.pattern.minute,o=yn(n,u,t)??bn(n,u,t);if(o!==null)return o}let r=kn(e.times),i=e.times.map(function(o){return c({hour:o.hour,minute:o.minute,second:o.second,plain:r},t)});return ie(n,t)+"at "+y(i,t)+Yn(n,t)}function Yn(n,e){return Y(n,e)?oe(n,e):""}function zt(n,e,t){if(e.fold){let o=yn(n,+e.minute,t)??bn(n,+e.minute,t);if(o!==null)return o;if(n.analyses.segments.hour.some(function(h){return h.kind==="range"})&&!n.analyses.clockSecond)return Rt(n,e,t)+a(n,t);let m={minute:e.minute,second:n.analyses.clockSecond};return ie(n,t)+"at "+A(n,m,!0,t)+Yn(n,t)}let r=M(n.analyses.segments.minute,"minute","hour",t)??w(x(n.analyses.segments.minute,t),"minute","hour",t),i=U(n,t),u=i?r+", "+i+a(n,t):r+", at "+A(n,{minute:0,second:null},!0,t)+a(n,t);return n.analyses.clockSecond?F(n,t)+", "+u:u}function Rt(n,e,t){let r=e.minute,i=[],u=Gn(n),o=u.hours.map(function(d){return c({hour:d,minute:r},t)});return n.analyses.segments.hour.forEach(function(d){d.kind==="range"&&i.push(J(+d.bounds[0],+d.bounds[1],r,t))}),Jn(n,t)+" "+y(i,t)+Zn(o,u.pureStrays,t)}function Gn(n){let e=[],t=!0;return n.analyses.segments.hour.forEach(function(i){i.kind==="step"?(e.push(...i.fires),t=!1):i.kind!=="range"&&e.push(+i.value)}),{hours:e,pureStrays:t}}function Zn(n,e,t){return n.length?(e&&t.style.untilWindow&&!t.short?" plus ":" and at ")+y(n,t):""}function I(n){return n==="*"||n.startsWith("*/")&&n.indexOf("-")===-1}function wt(n,e){let{second:t,minute:r}=n.pattern;return I(t)?{secondLead:!0,text:C(n,"minute",e)}:t==="0"&&I(r)?{secondLead:!1,text:r==="*"?"every minute":hn(n.analyses.segments.minute[0],"minute","hour",e)}:null}function vt(n,e){let t=n.pattern.minute;if(t==="*")return"";if(I(t))return" of every other minute";let r=n.analyses.segments.minute;if(n.shapes.minute==="single")return" during minute :"+N(t);if(n.shapes.minute==="range"){let u=t.split("-");return" during minutes :"+N(u[0])+p(e)+":"+N(u[1])}let i=x(r,e).map(function(o){return":"+N(o)});return" during minutes "+y(i,e)}function Pt(n,e){let t=n.pattern.hour;if(t==="*")return n.pattern.minute!=="*"&&!I(n.pattern.minute)?" of every hour":"";if(I(t))return t==="*/2"?" of every other hour":"";if(n.shapes.hour==="single"){let r=+t;return n.shapes.minute==="step"?" from "+c({hour:r,minute:0},e)+" until "+c({hour:(r+1)%24,minute:0},e):n.pattern.minute!=="*"&&!I(n.pattern.minute)?" at "+c({hour:r,minute:0},e):" of the "+c({hour:r,minute:0},e)+" hour"}if(n.shapes.hour==="range"){let r=t.split("-");return" "+J(+r[0],+r[1],0,e)}return" during the "+A(n,{minute:0,second:null},!1,e)+" hours"}function Ct(n){return n.shapes.hour==="range"}function It(n){if(n.shapes.hour!=="step")return!0;let e=n.analyses.segments.hour[0];return n.pattern.hour==="*/2"||e.startToken.indexOf("-")!==-1}function xt(n){if(n.shapes.minute!=="list")return!1;let e=gn(n.analyses.segments.minute);return e!==null&&_(e)!==null}function Tt(n,e){let{minute:t,hour:r}=n.pattern,i=I(t)&&t!=="*";return It(n)?e.secondLead?i?t==="*/2"&&!Ct(n):!(xt(n)||n.shapes.minute==="list"&&n.shapes.hour==="list"):r==="*/2"?!0:n.shapes.hour==="single"&&t==="*/2":!1}function Ft(n,e){if(!e.style.untilWindow||e.short||n.pattern.minute==="*"&&n.pattern.hour==="*")return null;let t=wt(n,e);if(!t||!Tt(n,t))return null;let r=t.secondLead?vt(n,e):"";return t.text+r+Pt(n,e)+a(n,e)}var Mt={clockTimes:Nt,compactClockTimes:zt,composeSeconds:st,everyHour:bt,everyMinute:ct,everySecond:et,hourRange:St,hourStep:kt,minuteFrequency:gt,minuteSpanAcrossHourStep:yt,minuteSpanInHour:ht,minutesAcrossHours:pt,multipleMinutes:dt,rangeOfMinutes:ft,secondPastMinute:rt,secondsWithinMinute:it,singleMinute:mt,standaloneSeconds:tt};function Bn(n,e){let{interval:t,start:r,last:i,cycle:u,unit:o,anchor:s}=n,m="every "+g(t,e)+" "+o+"s",d=u%t===0;if(r===0&&d)return m;if(r<t&&d)return m+" from "+g(r,e)+" "+O(r,o)+" past the "+s;let h=Sn();return m+" from "+h(r)+p(e)+h(i)+" "+O(i,o)+" past the "+s}function gn(n){let e=[];for(let t of n){if(t.kind!=="single")return null;e.push(+t.value)}return e}function M(n,e,t,r){let i=gn(n),u=i&&_(i);return u?Bn({...u,cycle:60,unit:e,anchor:t},r):null}function hn(n,e,t,r){if(n.startToken.indexOf("-")!==-1)return w(Qn(n.fires,r),e,t,r);let i=n.startToken==="*"?0:+n.startToken;return i!==0&&n.fires.length<=3?w(Qn(n.fires,r),e,t,r):Bn({interval:n.interval,start:i,last:n.fires[n.fires.length-1],cycle:60,unit:e,anchor:t},r)}function Xn(n,e){if(n.startToken.indexOf("-")!==-1)return"at "+cn(n.fires,e);let t=n.startToken==="*"?0:+n.startToken,r=n.interval;return t===0?"every "+g(r,e)+" hours":n.fires.length<=3?"at "+cn(n.fires,e):"every "+g(r,e)+" hours from "+c({hour:t,minute:0},e)}function ln(n,e){let{start:t,interval:r,last:i}=n,u="every "+g(r,e)+" hours",o=24%r===0;return t===0&&o?u:t<r&&o?u+" from "+c({hour:t,minute:0},e):u+" from "+c({hour:t,minute:0},e)+p(e)+c({hour:i,minute:0},e)}function _n(n){return n.start<n.interval&&24%n.interval===0}function U(n,e){let t=ne(n);return!t||_n(t)?null:ln(t,e)}function Wt(n){if(n.length<2)return null;let e=n[1]-n[0];if(e<2)return null;for(let t=2;t<n.length;t+=1)if(n[t]-n[t-1]!==e)return null;return n[0]!==0&&n.length<5?null:{interval:e,last:n[n.length-1],start:n[0]}}function ne(n){let e=n.analyses.segments.hour;if(e.length===1&&e[0].kind==="step"){let r=e[0];if(r.fires.length<2)return null;let i=r.startToken==="*"?0:+r.startToken.split("-")[0];return{interval:r.interval,last:r.fires[r.fires.length-1],start:i}}let t=gn(e);return t&&Wt(t)}function pn(n){return n.pattern.second==="*"||n.shapes.second==="step"}function ee(n,e,t){if(e===0)return pn(n)?C(n,"minute",t)+" for one minute":C(n,"hour",t);let r=g(e,t)+" "+O(e,"minute")+" past the hour";return n.pattern.second==="0"?r:C(n,"minute",t)+", "+r}function yn(n,e,t){let r=ne(n);if(!r)return null;let i=(r.last-r.start)/r.interval+1;if(n.pattern.second==="0"&&i<=W&&_n(r))return null;let u=e===0&&pn(n)&&Ht(n);return u?C(n,"minute",t)+" for one minute "+dn(u,t)+a(n,t):e===0&&n.pattern.second==="0"?ln(r,t)+a(n,t):ee(n,e,t)+", "+ln(r,t)+a(n,t)}function Ht(n){let e=n.analyses.segments.hour,t=e.length===1&&e[0];return!t||t.kind!=="step"||t.startToken.indexOf("-")!==-1||!(t.interval in $n)?null:t}function Lt(n){return n.analyses.segments.hour.some(function(t){return t.kind==="range"})}function Et(n,e){let t=[],r=Gn(n);n.analyses.segments.hour.forEach(function(s){s.kind==="range"&&t.push(J(+s.bounds[0],+s.bounds[1],0,e))});let i="every hour "+y(t,e),u=r.hours.map(function(s){return c({hour:s,minute:0},e)});return i+Zn(u,r.pureStrays,e)}function bn(n,e,t){return e!==0||!Lt(n)||n.pattern.second==="0"?null:pn(n)?C(n,"minute",t)+" for one minute during the "+A(n,{minute:0,second:null},!1,t)+" hours"+a(n,t):ee(n,e,t)+", "+Et(n,t)+a(n,t)}function Sn(){return function(e){return""+e}}function te(n,e){return n>1?function(r){return""+r}:function(r){return g(r,e)}}function Qn(n,e){return n.map(te(n.length,e))}function x(n,e){let t=n.reduce(function(u,o){return o.kind==="range"?u+1:u+(o.kind==="step"?o.fires.length:1)},0),r=te(t,e);return n.flatMap(function(u){return u.kind==="range"?[r(u.bounds[0])+p(e)+r(u.bounds[1])]:u.kind==="step"?u.fires.map(r):[r(u.value)]})}function w(n,e,t,r){return"at "+y(n,r)+" "+e+"s past the "+t}function Dt(n,e,t){return(+n==0||+n==12)&&+e==0&&!(typeof t=="number"&&t>0)}function kn(n){let e=n.filter(function(r){return Dt(r.hour,r.minute,r.second)});return e.length>0&&e.length<n.length}function cn(n,e){let t=kn(n.map(function(u){return{hour:u,minute:0}})),r=n.map(function(u){return c({hour:u,minute:0,plain:t},e)});return y(r,e)}function jt(n){return n.kind==="fires"&&n.fires.length===1}function j(n,e,t,r){return e.kind==="fires"?cn(e.fires,r):A(n,{minute:0,second:null},t,r)}function At(n){return n.kind==="range"?n.bounds:n.kind==="step"?n.fires:[n.value]}function A(n,e,t,r){let{minute:i,second:u}=e,o=n.analyses.segments.hour,s=kn(o.flatMap(function(h){return At(h).map(function(B){return{hour:+B,minute:i,second:u}})})),m=[];return o.forEach(function(h){h.kind==="step"?m.push(...h.fires.map(function(B){return c({hour:B,minute:i,second:u,plain:s},r)})):h.kind==="range"?m.push(c({hour:h.bounds[0],minute:i,second:u,plain:s},r)+p(r)+c({hour:h.bounds[1],minute:i,second:u,plain:s},r)):m.push(c({hour:h.value,minute:i,second:u,plain:s},r))}),y(Ut(m,o,t),r)}function Ut(n,e,t){let r=e.some(function(u){return u.kind==="range"});return!t||!r?n:n.map(function(u,o){return o===0?u:"at "+u})}function re(n,e,t){if(n.length<=1)return n.join("");if(n.length===2)return n[0]+e+n[1];let r=t.style.serialComma?","+e:e;return n.slice(0,-1).join(", ")+r+n[n.length-1]}function y(n,e){return re(n," and ",e)}function qt(n,e){return re(n," or ",e)}var Qt={all:"",month:"in ",recurringWeekday:!0,stepDate:"on ",weekday:"on "},On={all:"every day",month:"every day in ",recurringWeekday:!1,stepDate:"",weekday:"every "};function a(n,e){if(Y(n,e))return oe(n,e);let t=K(n,Qt,e);return t&&" "+t}function ie(n,e){return Y(n,e)?"":K(n,On,e)+" "}function K(n,e,t){let r=n.pattern;if(r.date!=="*"&&r.weekday!=="*")return Gt(n,t);if(r.date!=="*")return Vt(n,e,t);if(r.weekday!=="*"){let i=Nn(r.weekday,t);return i?mn(i,n,t):e.weekday+me(n,e.recurringWeekday,t)+ae(n,t)}return r.month!=="*"?e.month+k(n,t):e.all}function Vt(n,e,t){let r=n.pattern,i=G(r.date,t);return i?mn(i,n,t):q(r.date)?mn(e.stepDate+le(r.date),n,t):r.month!=="*"&&!ue(n)?"on the "+fn(n,t)+ae(n,t):r.month!=="*"?"on "+se(n,t):"on the "+fn(n,t)}function ue(n){return!ce(n.pattern.month)&&n.analyses.segments.month.every(function(t){return t.kind!=="range"})}function Y(n,e){return n.pattern.date!=="*"&&n.pattern.weekday!=="*"&&!!e.style.untilWindow&&!e.short}function oe(n,e){let t=[...Jt(n,e),...Kt(n,e)];return" whenever the day is "+qt(t,e)}function $t(n,e){return n.pattern.month==="*"?"":"in "+k(n,e)+" "}function Jt(n,e){let t=n.pattern.date,r=G(t,e);if(r)return[r.replace(/^on /,"")];let i=Yt(t);if(i)return[i];let u=[];return n.analyses.segments.date.forEach(function(s){s.kind==="range"?u.push("from the "+b(s.bounds[0])+p(e)+"the "+b(s.bounds[1])):s.kind==="step"?s.fires.forEach(function(d){u.push("the "+b(d))}):u.push("the "+b(s.value))}),u}function Kt(n,e){let t=n.pattern.weekday,r=Nn(t,e);if(r)return[r.replace(/^on /,"")];let i=[];return n.analyses.segments.weekday.forEach(function(o){o.kind==="range"&&o.bounds[0]==="1"&&o.bounds[1]==="5"?i.push("a weekday"):o.kind==="range"?i.push("a "+R(o.bounds[0],e)+p(e)+"a "+R(o.bounds[1],e)):o.kind==="step"?o.fires.forEach(function(m){i.push("a "+R(m,e))}):i.push("a "+R(o.value,e))}),i}function Yt(n){if(!q(n))return null;let[e,t]=n.split("/");return+t!=2?null:e==="*"||e==="1"?"an odd-numbered day":e==="2"?"an even-numbered day":null}function Gt(n,e){let t=n.pattern,r=Nn(t.weekday,e)||"on "+me(n,!1,e);return t.month!=="*"&&ue(n)&&!G(t.date,e)&&!q(t.date)?"on "+se(n,e)+" or "+r+" in "+k(n,e):Zt(n,e)+" or "+r+Bt(n,e)}function Zt(n,e){let t=n.pattern,r=G(t.date,e);return r||(q(t.date)?le(t.date):"on the "+fn(n,e))}function Bt(n,e){return n.pattern.month==="*"?"":", in "+k(n,e)}function G(n,e){if(n==="L")return"on the last day of the month";if(n==="LW"||n==="WL")return"on the last weekday of the month";let t=/^L-(\d{1,2})$/.exec(n);if(t)return g(+t[1],e)+" "+O(t[1],"day")+" before the last day of the month";let r=/^(\d{1,2})W$|^W(\d{1,2})$/.exec(n);if(r)return"on the weekday nearest the "+b(r[1]||r[2])}function Nn(n,e){let t=n.split("#");if(t.length===2)return"on the "+Xe[+t[1]]+" "+R(t[0],e)+" of the month";if(/L$/.test(n))return"on the last "+R(n.slice(0,-1),e)+" of the month"}function se(n,e){let t=k(n,e),r=Z(n.analyses.segments.date,e.style.ordinals?b:Xt,e);return e.style.dayFirst&&n.shapes.date==="single"&&n.shapes.month!=="single"?"the "+b(n.pattern.date)+" of "+t:e.style.dayFirst?r+" "+t:t+" "+r}function Xt(n){return""+n}function ae(n,e){return n.pattern.month==="*"?"":" in "+k(n,e)}function mn(n,e,t){if(e.pattern.month==="*")return n;let r=n.indexOf(" of the month")!==-1;return r&&e.shapes.month==="range"?n.replace(" of the month"," of each month")+" from "+k(e,t):r&&(e.shapes.month==="single"||e.shapes.month==="step")?n.replace(" of the month","")+" in "+k(e,t):n+" in "+k(e,t)}function le(n){let e=n.split("/"),t=+e[1],r=e[0],u=(t===2?"every other":"every "+b(t))+" day of the month";return r!=="*"&&r!=="1"&&(u+=" from the "+b(r)),u}function fn(n,e){return Z(n.analyses.segments.date,b,e)}function k(n,e){let t=ce(n.pattern.month);return t||Z(n.analyses.segments.month,function(i){return ir(i,e)},e)}function ce(n){if(!q(n))return null;let[e,t]=n.split("/");return+t!=2?null:e==="*"||e==="1"?"every odd-numbered month":e==="2"?"every even-numbered month":null}function me(n,e,t){let r=wn(n.analyses.segments.weekday),i=r.some(function(s){return s.kind==="range"});return Z(r,e&&!i?function(s){return _t(s,t)}:function(s){return R(s,t)},t)}function _t(n,e){let t=R(n,e);return e.short?t:t+"s"}function Z(n,e,t){let r=[];return n.forEach(function(u){u.kind==="step"?r.push(...u.fires.map(e)):u.kind==="range"?r.push(u.bounds.map(e).join(p(t))):r.push(e(u.value))}),y(r,t)}function q(n){return n.indexOf("/")!==-1&&n.indexOf("-")===-1&&n.indexOf(",")===-1}function nr(n,e,t){let r=e.pattern.year;if(r==="*")return n;if(r.indexOf("/")!==-1)return n+", "+tr(r,t);let i=er(r,t);if(r.indexOf("-")===-1&&r.indexOf(",")===-1&&e.pattern.date!=="*"&&n.indexOf(" at ")!==-1){let u=t.style.dayFirst?" ":", ";return n.replace(" at ",u+i+" at ")}return n+" in "+i}function er(n,e){return n.indexOf(",")!==-1?y(n.split(","),e):n.indexOf("-")!==-1?n.split("-").join(p(e)):n}function tr(n,e){let t=n.split("/"),r=+t[1],i=t[0];if(r<=1)return"every year";let u=r===2?"every other year":"every "+g(r,e)+" years";return i!=="*"&&i!=="0"&&(u+=" from "+i),u}function c(n,e){let{hour:t,minute:r,plain:i,explicit:u}=n,o=typeof n.second=="number"&&n.second>0?n.second:0;return e.ampm?rr({hour:t,minute:r,second:o,plain:i,explicit:u},e):on({hour:t,minute:r,second:o},{pad:!0,sep:e.style.sep})}function rr(n,e){let{hour:t,minute:r,second:i,plain:u,explicit:o}=n,s=e.style;if(!u&&!o&&+r==0&&!i){if(+t==0)return s.midnight;if(+t==12)return s.midday}return on({hour:t%12||12,minute:r,second:i},{lean:!o,sep:s.sep})+(s.closeUp?"":" ")+(t<12?s.am:s.pm)}function g(n,e){return Un(n,Ge,e)}function O(n,e){return+n==1?e:e+"s"}function p(n){return n.short?"-":n.style.through}function b(n){let e=Math.abs(n),t=an[e];return t||(e=(e%100-20)%10,t=an[e]||an[0]),n+t}function ir(n,e){let t=Ze[+n];return t&&t[e.short?1:0]}function R(n,e){let t=n===7||n==="7"?0:n,r=z[t]||Be[t];return r&&r[e.short?1:0]}var ur={describe:nt,fallback:"an unrecognizable cron pattern",options:_e,reboot:"at system startup",sentence:n=>"Runs "+n+(n.endsWith(".")?"":".")},fe=ur;/**
1
+ "use strict";(()=>{var Or={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6},Nr={JAN:1,FEB:2,MAR:3,APR:4,MAY:5,JUN:6,JUL:7,AUG:8,SEP:9,OCT:10,NOV:11,DEC:12},k={second:{cyclic:!0,max:59,min:0,top:59},minute:{cyclic:!0,max:59,min:0,top:59},hour:{cyclic:!0,max:23,min:0,top:23},date:{aliases:{"?":"*"},cyclic:!0,max:31,min:1,top:31},month:{cyclic:!0,max:12,min:1,numbers:Nr,top:12},weekday:{aliases:{"?":"*",L:"6"},cyclic:!0,max:7,min:0,numbers:Or,top:6},year:{max:9999,min:1970}},M=["second","minute","hour","date","month","weekday","year"],tn={"@annually":"0 0 1 1 *","@yearly":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@midnight":"0 0 * * *","@hourly":"0 * * * *"},A=6;function l(n,r){return(""+n).indexOf(r)!==-1}function Y(n){return Array.from(new Set(n))}function G(n){return/^\d+$/.test(n)}function d(n,r){return G(n)?+n:r[n.toUpperCase()]}function Tn(n){return M.forEach(function(e){zr(n[e],k[e],e)}),n}function zr(n,r,e){typeof n!="string"&&typeof n!="number"&&Mn(n,e);let t=""+n;t!=="*"&&(e==="date"&&U(t)||e==="weekday"&&q(t,r)||t.split(",").forEach(function(o){vr(o,r)||Mn(o,e)}))}function U(n){if(n==="L"||n==="LW"||n==="WL")return!0;let r=/^L-(\d{1,2})$/.exec(n);if(r)return+r[1]>=1&&+r[1]<=30;let e=/^(\d{1,2})W$|^W(\d{1,2})$/.exec(n);if(e){let t=+(e[1]||e[2]);return t>=1&&t<=31}return!1}function q(n,r){if(/L$/.test(n))return L(n.slice(0,-1),r);let e=n.split("#");return e.length===2?L(e[0],r)&&/^[1-5]$/.test(e[1]):!1}function vr(n,r){return l(n,"/")?wr(n,r):l(n,"-")?Wn(n,r):L(n,r)}function wr(n,r){let e=n.split("/");return e.length!==2||!G(e[1])||+e[1]<1?!1:e[0]==="*"||L(e[0],r)||Wn(e[0],r,!0)}function Wn(n,r,e){let t=n.split("-");return t.length!==2||!L(t[0],r)||!L(t[1],r)?!1:r.cyclic&&!e?!0:d(t[0],r.numbers)<=d(t[1],r.numbers)}function L(n,r){return n==="*"?!1:G(n)?+n>=r.min&&+n<=r.max:r.numbers?n.toUpperCase()in r.numbers:!1}function Mn(n,r){throw new Error('`cronli5` was passed an invalid field value "'+n+'" for the '+r+" field.")}var Pr={hour:24,minute:60,second:60};function Ln(n){M.forEach(function(e){let t=k[e].aliases,i=t&&t[""+n[e]];i&&(n[e]=i)})}function En(n){return M.forEach(function(e){let t=""+n[e];if(e==="date"&&U(t)||e==="weekday"&&q(t,k[e])){n[e]=t;return}n[e]=Cr(t,e,k[e])}),n}function Cr(n,r,e){let t=""+n;if(t==="*")return t;let i=Pr[r],o=t.split(",").map(function(s){return xr(Dn(Wr(Hr(Lr(Tr(Mr(s,e),e),e),e),e,i),e),e)}).join(",").split(",");return o.indexOf("*")!==-1?"*":Y(o).sort(function(s,m){return Hn(s,e)-Hn(m,e)}).join(",")}function xr(n,r){if(!r.numbers)return n;let e=n.split("/"),t=e[0].split("-").map(function(o){return Fr(o,r)}).join("-");return e.length===2?t+"/"+e[1]:t}function Fr(n,r){if(n==="*")return n;let e=d(n,r.numbers);return""+(e>r.top?r.min:e)}function Mr(n,r){let e=n.split("/");if(!r.cyclic||e.length!==2||+e[1]!=1)return n;let t=e[0];return l(t,"-")?t:t==="*"||d(t,r.numbers)===r.min?"*":t+"-"+r.top}function Tr(n,r){let e=n.split("/");if(!r.cyclic||typeof r.top!="number"||e.length!==2||l(e[0],"-"))return n;let t=e[0];return(t==="*"?r.min:d(t,r.numbers))+ +e[1]<=r.top?n:t==="*"?""+r.min:t}function Wr(n,r,e){let t=n.split("/");if(typeof e!="number"||t.length!==2||l(t[0],"-"))return n;let i=+t[1],o=t[0]==="*"?r.min:d(t[0]);if(e%i===0&&o<i)return n;let u=[];for(let s=o;s<=r.top;s+=i)u.push(s);return u.join(",")}function Hr(n,r){let e=n.split("/");return e.length!==2||!l(e[0],"-")?n:Dn(e[0],r)==="*"?"*/"+e[1]:n}function Dn(n,r){if(typeof r.top!="number"||l(n,"/")||!l(n,"-"))return n;let e=n.split("-"),t=d(e[0],r.numbers),i=d(e[1],r.numbers);if(t>i)return n;let o=r.top,u={};for(let s=t;s<=i;s+=1)u[s>o?r.min:s]=!0;for(let s=r.min;s<=o;s+=1)if(!u[s])return n;return"*"}function Lr(n,r){let e=n.split("/")[0];if(!l(e,"-"))return n;let t=e.split("-");return d(t[0],r.numbers)!==d(t[1],r.numbers)?n:t[0]}function Hn(n,r){let e=n.split("/")[0].split("-")[0];return e==="*"?r.min:d(e,r.numbers)}function jn(n,r){let e=n instanceof Array;if(n===null||typeof n>"u"||n===""||e&&n.length===0)throw new Error("`cronli5` expects a non-empty cron pattern as the first argument.");if(e)return Rn(n,r);if(typeof n=="object")return Er(n);if(typeof n=="string")return Dr(n,r);throw new Error("`cronli5` was passed an unexpected type.")}function Rn(n,r){if(n.length>7)throw new Error("`cronli5` was passed a cron pattern with more than seven fields.");return!r.seconds&&n.length<(r.years?7:6)&&n.unshift("0"),{second:n[0]||"0",minute:n[1]||"*",hour:n[2]||"*",date:n[3]||"*",month:n[4]||"*",weekday:n[5]||"*",year:n[6]||"*"}}function Er(n){if(!n.second&&!n.minute&&!n.hour)throw new Error("`cronli5` expects that any object being interpreted as a cron pattern have at least one of the following properties: `second`, `minute`, or `hour`");let r=typeof n.second<"u",e=typeof n.minute<"u",t=r?"*":"0",i=r||e?"*":"0";return{second:T(n.second,"0"),minute:T(n.minute,t),hour:T(n.hour,i),date:T(n.date,"*"),month:T(n.month,"*"),weekday:T(n.weekday,"*"),year:T(n.year,"*")}}function T(n,r){return typeof n>"u"?r:n}function Dr(n,r){let e=jr(n).split(/\s+/);return Rn(e,r)}function jr(n){let r=n.trim();if(r.charAt(0)!=="@")return n;let e=r.toLowerCase();if(Object.hasOwn(tn,e))return tn[e];throw new Error("`cronli5` does not recognize the macro `"+r+"`.")}function An(n){return n===0?7:n}function Un(n){let r=n.flatMap(function(i){return i.kind==="step"?i.fires.map(function(u){return{kind:"single",value:""+u}}):[i]});function e(t){return t.kind==="range"?An(+t.bounds[0]):An(+t.value)}return r.map(function(i,o){return[i,o]}).sort(function(i,o){return e(i[0])-e(o[0])||i[1]-o[1]}).map(function(i){return i[0]})}function on(n){if(n.length<5)return null;let r=n[1]-n[0];if(r<2)return null;for(let e=2;e<n.length;e+=1)if(n[e]-n[e-1]!==r)return null;return{start:n[0],interval:r,last:n[n.length-1]}}function c(n,r){return n.analyses.segments[r]??[]}function O(n,r){return c(n,r)[0]}function Z(n){let r=[];for(let e of n){if(e.kind!=="single")return null;r.push(+e.value)}return r}function un(n){return n.start<n.interval&&24%n.interval===0}function sn(n,r){let{start:e,interval:t,cycle:i}=n,o=i%t===0;return e===0&&o?r.bare():e<t&&o?r.offset():r.bounded()}function qn(n){if(n.length<2)return null;let r=n[1]-n[0];if(r<2)return null;for(let e=2;e<n.length;e+=1)if(n[e]-n[e-1]!==r)return null;return n[0]!==0&&n.length<5?null:{interval:r,last:n[n.length-1],start:n[0]}}function Qn(n){return n!=="*"&&!l(n,",")&&!l(n,"-")&&!l(n,"/")}function an(n){return l(n,"-")&&!l(n,",")&&!l(n,"/")}function Rr(n){return l(n,"/")&&!l(n,",")}function cn(n){return n!=="*"&&!l(n,"-")&&!l(n,"/")}function ln(n){return n!=="*"&&!an(n)&&!Rr(n)}function E(n){return n.indexOf("/")!==-1&&n.indexOf("-")===-1&&n.indexOf(",")===-1}function Q(n,r,e){let t=[],i=n;for(;i<=e;)t.push(i),i+=r;return t}function Vn(n,r,e,t){let i=n.split("/"),o=+i[1];if(l(i[0],"-")){let s=i[0].split("-");return Q(d(s[0],t),o,d(s[1],t))}let u=i[0]==="*"?r:d(i[0],t);return Q(u,o,e)}function mn(n,r,e){let t=[];return n.split(",").forEach(function(o){if(l(o,"/"))t.push(...Vn(o,r,e));else if(l(o,"-")){let u=o.split("-");+u[0]<=+u[1]?t.push(...Q(+u[0],1,+u[1])):(t.push(...Q(+u[0],1,e)),t.push(...Q(r,1,+u[1])))}else t.push(+o)}),Y(t)}function Ar(n){return cn(n)?n.split(",").map(Number):[0]}function Ur(n){if(n==="*")return[0,59];if(an(n)){let r=n.split("-");if(+r[0]<=+r[1])return[+r[0],+r[1]]}return null}function qr(n){return n==="*"?59:Math.max(...mn(n,0,59))}function Qr(n){if(Qn(n)&&n!=="0")return+n}function Vr(n,r){return n==="*"?"wildcard":r==="date"&&U(n)||r==="weekday"&&q(n,k.weekday)?"quartz":l(n,",")?"list":l(n,"/")?"step":l(n,"-")?"range":"single"}function Ir(n,r,e){return r==="wildcard"||r==="quartz"?null:n.split(",").map(function(i){if(l(i,"/")){let o=i.split("/");return{fires:Vn(i,e.min,e.top,e.numbers),interval:+o[1],kind:"step",startToken:o[0]}}return l(i,"-")?{bounds:i.split("-"),kind:"range"}:{kind:"single",value:i}})}function In(n){let r={},e={};M.forEach(function(u){r[u]=Vr(n[u],u),e[u]=Ir(n[u],r[u],k[u])});let i={analyses:{clockSecond:Qr(n.second),lastMinuteFire:qr(n.minute),minuteSpan:Ur(n.minute),segments:e},pattern:n,shapes:r};return{...i,plan:$r(i)}}function $r(n){let{analyses:r,pattern:e,shapes:t}=n;if(e.second!=="0"){let i=Jr(e,t,r);if(i)return i}return $n(e,t,r)||Jn(e,t,r)}function Jr(n,r,e){let t=Kr(n,r);return t||(n.hour==="*"&&r.minute==="single"&&n.second!=="*"?{kind:"secondsWithinMinute",singleSecond:r.second==="single"}:r.second==="single"&&cn(n.minute)&&ln(n.hour)?null:{kind:"composeSeconds",rest:$n(n,r,e,!0)||Jn(n,r,e,!0)})}function Kr(n,r){return n.minute!=="*"||n.hour!=="*"?null:n.second==="*"?{kind:"everySecond"}:r.second==="single"?{kind:"secondPastMinute"}:{kind:"standaloneSeconds"}}function $n(n,r,e,t=!1){if(r.minute==="step")return{hours:Gr(n,r,e),kind:"minuteFrequency"};if(r.hour==="single"&&e.minuteSpan)return{hour:+n.hour,kind:"minuteSpanInHour",span:e.minuteSpan};let i=Zr(n,r);if(i)return i;let o=Yr(n,r);if(o)return o;if(n.hour==="*")return Br(n,r,t)}function fn(n){let[r,e]=n.split("/"),t=r==="*"?0:+r;return r.indexOf("-")===-1&&24%+e===0&&t<+e}function Yr(n,r){return r.hour!=="step"?null:n.minute==="*"?fn(n.hour)?{form:"wildcard",kind:"minuteSpanAcrossHourStep"}:{form:"wildcard",kind:"minutesAcrossHours",times:V(n.hour)}:r.minute==="range"?{form:"range",kind:"minuteSpanAcrossHourStep"}:r.minute==="list"&&fn(n.hour)?{form:"list",kind:"minuteSpanAcrossHourStep"}:null}function Gr(n,r,e){if(r.hour==="list")return{kind:"during",times:V(n.hour)};if(r.hour==="range"){let t=n.hour.split("-");return{from:+t[0],kind:"window",last:e.lastMinuteFire,to:+t[1]}}return r.hour==="single"?{from:+n.hour,kind:"window",last:e.lastMinuteFire,to:+n.hour}:r.hour==="step"?fn(n.hour)?{kind:"step"}:{kind:"during",times:V(n.hour)}:{kind:"none"}}function Zr(n,r){return ln(n.hour)?n.minute==="*"?{form:"wildcard",kind:"minutesAcrossHours",times:V(n.hour)}:r.minute==="range"||r.minute==="list"&&l(n.minute,"-")&&!l(n.minute,"/")?{form:r.minute==="range"?"range":"list",kind:"minutesAcrossHours",times:V(n.hour)}:null:null}function Br(n,r,e){if(r.minute==="range")return{kind:"rangeOfMinutes"};if(r.minute==="list")return{kind:"multipleMinutes"};if(n.minute==="*")return{kind:"everyMinute"};if(n.minute!=="0"||e)return{kind:"singleMinute"}}function Jn(n,r,e,t=!1){let i=t&&n.minute==="0";return r.hour==="range"&&!i?Xr(n,r,e):r.hour==="step"&&n.minute==="0"&&!t?{kind:"hourStep"}:n.hour==="*"&&!i?{kind:"everyHour"}:_r(n,e,i)}function Xr(n,r,e){let t=n.hour.split("-"),i="lead";return n.minute==="*"?i="wildcard":r.minute==="range"&&(i="range"),{boundMinute:r.minute==="range"||r.minute==="list"?null:e.lastMinuteFire,from:+t[0],kind:"hourRange",last:e.lastMinuteFire,minuteForm:i,to:+t[1]}}function _r(n,r,e=!1){let t=mn(n.hour,0,23),i=Ar(n.minute);if(!e&&t.length*i.length>A)return{fold:i.length===1,kind:"compactClockTimes",minute:i[0]};let o=[];return t.forEach(function(s){i.forEach(function(S){o.push({hour:s,minute:S,second:r.clockSecond})})}),{kind:"clockTimes",times:o}}function V(n){let r=mn(n,0,23);return r.length<=A?{fires:r,kind:"fires"}:{kind:"segments"}}function Kn(n,r){let e=jn(n,r);return Ln(e),Tn(e),En(e)}function w(n){return n=""+n,n.length<2?"0"+n:n}function Yn(n,r,e){return e.short?n:r[n]||n}function dn(n,{sep:r,pad:e,lean:t}){let i=e?w(n.hour):""+n.hour;return t&&!n.minute&&!n.second?i:i+r+w(n.minute)+(n.second?r+w(n.second):"")}var gn={gb:{am:"am",closeUp:!0,dayFirst:!0,midday:"midday",midnight:"midnight",ordinals:!1,pm:"pm",sep:".",serialComma:!1,through:" to "},us:{am:"a.m.",closeUp:!1,dayFirst:!1,midday:"noon",midnight:"midnight",ordinals:!1,pm:"p.m.",sep:":",serialComma:!0,through:" through ",untilWindow:!0},house:{am:"AM",closeUp:!1,dayFirst:!1,midday:"noon",midnight:"midnight",ordinals:!0,pm:"PM",sep:":",serialComma:!0,through:" - "}};function Gn(n){return typeof n=="object"&&n!==null?{...gn.us,untilWindow:!1,...n}:gn[n==="uk"?"gb":n]||gn.us}var ne=["zero","one","two","three","four","five","six","seven","eight","nine","ten"],hn=["th","st","nd","rd"],re=[null,["January","Jan"],["February","Feb"],["March","Mar"],["April","Apr"],["May","May"],["June","Jun"],["July","Jul"],["August","Aug"],["September","Sep"],["October","Oct"],["November","Nov"],["December","Dec"]],P=[["Sunday","Sun"],["Monday","Mon"],["Tuesday","Tue"],["Wednesday","Wed"],["Thursday","Thu"],["Friday","Fri"],["Saturday","Sat"]],ee={SUN:P[0],MON:P[1],TUE:P[2],WED:P[3],THU:P[4],FRI:P[5],SAT:P[6]},te=[null,"first","second","third","fourth","fifth"];function ie(n){return n=n||{},{ampm:typeof n.ampm=="boolean"?n.ampm:!0,lenient:!!n.lenient,seconds:!!n.seconds,short:!!n.short,style:Gn(n.dialect),years:!!n.years}}function oe(n,r){let e=ce(n,r);if(e!==null)return Bn(e,n,r);let t=qe(n,r)??Xn(n,n.plan,r),i=K(n,r)?_e(n,r):"";return Bn(i+t,n,r)}function Xn(n,r,e){let t=Qe[r.kind];return t(n,r,e)}function pn(n){return n==="step"||n==="range"||n==="list"}function ue(n,r){if(!r.style.untilWindow||r.short||n.plan.kind!=="composeSeconds"||n.plan.rest.kind==="clockTimes"||K(n,r))return!1;let{shapes:e}=n;return pn(e.second)&&pn(e.minute)&&pn(e.hour)}function se(n,r){let e=On(n);if(e)return B(e,r);if(n.shapes.hour==="range"){let t=c(n,"hour").find(function(o){return o.kind==="range"});return R({continuous:!1,from:+t.bounds[0],throughMinute:0,to:+t.bounds[1]},r)}return"during the "+j(n,{minute:0,second:null},!1,r)+" hours"}function ae(n,r){return n.shapes.minute==="step"?X(O(n,"minute"),"minute","hour",r):n.shapes.minute==="range"?$(n.pattern.minute,r):H(c(n,"minute"),"minute","hour",r)??z(F(c(n,"minute"),r),"minute","hour",r)}function ce(n,r){if(!ue(n,r))return null;let e=se(n,r),t=ae(n,r),i=x(n,"minute",r),o=e+", "+t+", and within each of those minutes, "+i,u=a(n,r).trim();return u?u+", "+o:o}function le(n,r,e){return"every second"+a(n,e)}function fe(n,r,e){return D(n,e)+a(n,e)}function me(n,r,e){let t=n.pattern.second;return g(t,e)+" "+v(t,"second")+" past the minute, every minute"+a(n,e)}function de(n,r,e){let t=n.pattern.minute,i=g(t,e),o=v(t,"minute");if(r.singleSecond){let u=n.pattern.second;return i+" "+o+" and "+g(u,e)+" "+v(u,"second")+" past the hour, every hour"+a(n,e)}return D(n,e)+", "+i+" "+o+" past the hour, every hour"+a(n,e)}function ge(n,r,e){if(!(r.rest.kind==="clockTimes"||r.rest.kind==="compactClockTimes")||n.shapes.minute!=="single")return null;let i=+n.pattern.minute;return zn(n,i,e)??vn(n,i,e)}function he(n,r,e){return+r.times[0].minute==0&&n.shapes.minute==="single"?D(n,e)+" for one minute at "+ye(n,r,e):D(n,e)+" of "+be(n,r,e)}function pe(n,r,e){let t=ge(n,r,e);return t!==null?t:r.rest.kind==="clockTimes"&&(n.shapes.second==="wildcard"||n.shapes.second==="step")?he(n,r.rest,e):n.shapes.second==="wildcard"&&r.rest.kind==="minuteFrequency"&&r.rest.hours.kind==="none"&&n.pattern.minute==="*/2"?"every second of every other minute"+a(n,e):(r.rest.kind==="compactClockTimes"&&n.analyses.clockSecond?"":D(n,e)+", ")+Xn(n,r.rest,e)}function ye(n,r,e){let t=r.times.map(function(u){return f({hour:u.hour,minute:0},e)}),i=_(n,Cn,e);return p(t,e)+(i&&", "+i)}function be(n,r,e){let t=r.times.map(function(u){return f({hour:u.hour,minute:u.minute,second:u.second,explicit:!0},e)}),i=_(n,Cn,e);return p(t,e)+(i&&", "+i)}function D(n,r){return x(n,"minute",r)}function x(n,r,e){let t=n.pattern.second,i=n.shapes.second;if(t==="*")return"every second";if(i==="step")return X(O(n,"second"),"second",r,e);if(i==="range"){let o=t.split("-"),u=wn();return"every second from "+u(o[0])+h(e)+u(o[1])+" past the "+r}return i==="single"?"at "+g(t,e)+" "+v(t,"second")+" past the "+r:H(c(n,"second"),"second",r,e)??z(F(c(n,"second"),e),"second",r,e)}function Se(n,r,e){return"every minute"+a(n,e)}function ke(n,r,e){let t=n.pattern.minute;return g(t,e)+" "+v(t,"minute")+" past the hour, every hour"+a(n,e)}function Oe(n,r,e){return $(n.pattern.minute,e)+a(n,e)}function Ne(n,r,e){return(H(c(n,"minute"),"minute","hour",e)??z(F(c(n,"minute"),e),"minute","hour",e))+a(n,e)}function ze(n,r,e){let t=X(O(n,"minute"),"minute","hour",e);if(r.hours.kind==="during"){let i=J(n,e);t+=i?", "+i:" during the "+I(n,r.hours.times,!1,e)+" hours"}else r.hours.kind==="window"?t+=" "+R({continuous:!1,from:r.hours.from,throughMinute:r.hours.last,to:r.hours.to},e):r.hours.kind==="step"&&(t+=" "+kn(O(n,"hour"),e));return t+a(n,e)}function ve(n,r,e){return n.pattern.minute==="*"?"every minute of the "+f({hour:r.hour,minute:0},e)+" hour"+a(n,e):"every minute from "+f({hour:r.hour,minute:r.span[0]},e)+h(e)+f({hour:r.hour,minute:r.span[1]},e)+a(n,e)}function we(n,r,e){let t=J(n,e);if(r.form==="wildcard")return t!==null?"every minute, "+t+a(n,e):"every minute during the "+I(n,r.times,!1,e)+" hours"+a(n,e);if(r.form==="range"){let u=$(n.pattern.minute,e);return t!==null?u+", "+t+a(n,e):Ke(r.times)?u+", at "+I(n,r.times,!0,e)+a(n,e):u+" during the "+I(n,r.times,!1,e)+" hours"+a(n,e)}let i=H(c(n,"minute"),"minute","hour",e)??z(F(c(n,"minute"),e),"minute","hour",e);if(t!==null)return i+", "+t+a(n,e);let o=I(n,r.times,!0,e);return i+", at "+o+a(n,e)}var _n={2:"other",3:"third",4:"fourth",6:"sixth",8:"eighth",12:"twelfth"};function kn(n,r){let e="during every "+_n[n.interval]+" hour",t=n.startToken==="*"?0:+n.startToken;return t===0?e:e+" starting at "+f({hour:t,minute:0},r)}function Pe(n,r,e){let t=O(n,"hour");if(r.form==="wildcard")return"every minute "+kn(t,e)+a(n,e);let i=r.form==="list"?H(c(n,"minute"),"minute","hour",e)??z(F(c(n,"minute"),e),"minute","hour",e):$(n.pattern.minute,e),o=J(n,e);return i+", "+(o??or(t,e))+a(n,e)}function $(n,r){let e=n.split("-"),t=wn();return"every minute from "+t(e[0])+h(r)+t(e[1])+" past the hour"}function Ce(n,r,e){return"every hour"+a(n,e)}function xe(n,r,e){let t=Te(Me(r),e);return r.minuteForm==="wildcard"?"every minute "+t+a(n,e):r.minuteForm==="range"?$(n.pattern.minute,e)+", "+t+a(n,e):nr(n,e)+" "+t+a(n,e)}function nr(n,r){return n.pattern.minute==="0"?"every hour":H(c(n,"minute"),"minute","hour",r)??z(F(c(n,"minute"),r),"minute","hour",r)}function Fe(n,r,e){let t=J(n,e);return t!==null?t+a(n,e):or(O(n,"hour"),e)+a(n,e)}function Me(n){let r=n.minuteForm==="wildcard",e=r?n.boundMinute??0:0;return{from:n.from,closeMinute:e,to:n.to,continuous:r}}function R(n,r){let{from:e,to:t,throughMinute:i,continuous:o}=n,u="from "+f({hour:e,minute:0},r);return r.style.untilWindow&&!r.short&&e!==t?o?u+" until "+f({hour:(t+1)%24,minute:0},r):u+h(r)+f({hour:t,minute:0},r):u+h(r)+f({hour:t,minute:i},r)}function Te(n,r){return R({continuous:n.continuous,from:n.from,throughMinute:n.closeMinute,to:n.to},r)}function We(n,r,e){if(n.shapes.minute==="single"){let o=+n.pattern.minute,u=zn(n,o,e)??vn(n,o,e);if(u!==null)return u}let t=Pn(r.times),i=r.times.map(function(u){return f({hour:u.hour,minute:u.minute,second:u.second,plain:t},e)});return cr(n,e)+"at "+p(i,e)+rr(n,e)}function rr(n,r){return K(n,r)?fr(n,r):""}function He(n,r,e){if(r.fold){let u=zn(n,+r.minute,e)??vn(n,+r.minute,e);if(u!==null)return u;if(c(n,"hour").some(function(y){return y.kind==="range"})&&!n.analyses.clockSecond)return Le(n,r,e)+a(n,e);let m={minute:r.minute,second:n.analyses.clockSecond};return cr(n,e)+"at "+j(n,m,!0,e)+rr(n,e)}let t=H(c(n,"minute"),"minute","hour",e)??z(F(c(n,"minute"),e),"minute","hour",e),i=J(n,e),o=i?t+", "+i+a(n,e):t+", at "+j(n,{minute:0,second:null},!0,e)+a(n,e);return n.analyses.clockSecond?D(n,e)+", "+o:o}function Le(n,r,e){let t=r.minute,i=[],o=er(n).map(function(m){return f({hour:m,minute:t},e)});return c(n,"hour").forEach(function(m){m.kind==="range"&&i.push(R({continuous:!1,from:+m.bounds[0],throughMinute:t,to:+m.bounds[1]},e))}),nr(n,e)+" "+p(i,e)+tr(o,e)}function er(n){let r=[];return c(n,"hour").forEach(function(t){t.kind==="step"?r.push(...t.fires):t.kind!=="range"&&r.push(+t.value)}),r}function tr(n,r){return n.length?" and at "+p(n,r):""}function W(n){return n==="*"||n.startsWith("*/")&&n.indexOf("-")===-1}function Ee(n,r){let{second:e,minute:t}=n.pattern;return W(e)?{secondLead:!0,text:x(n,"minute",r)}:e==="0"&&W(t)?{secondLead:!1,text:t==="*"?"every minute":X(O(n,"minute"),"minute","hour",r)}:null}function De(n,r){let e=n.pattern.minute;if(e==="*")return"";if(W(e))return" of every other minute";let t=c(n,"minute");if(n.shapes.minute==="single")return" during minute :"+w(e);if(n.shapes.minute==="range"){let o=e.split("-");return" during minutes :"+w(o[0])+h(r)+":"+w(o[1])}let i=F(t,r).map(function(u){return":"+w(u)});return" during minutes "+p(i,r)}function je(n,r){let e=n.pattern.hour;if(e==="*")return n.pattern.minute!=="*"&&!W(n.pattern.minute)?" of every hour":"";if(W(e))return e==="*/2"?" of every other hour":"";if(n.shapes.hour==="single"){let t=+e;return n.shapes.minute==="step"?" from "+f({hour:t,minute:0},r)+" until "+f({hour:(t+1)%24,minute:0},r):n.pattern.minute!=="*"&&!W(n.pattern.minute)?" at "+f({hour:t,minute:0},r):" of the "+f({hour:t,minute:0},r)+" hour"}if(n.shapes.hour==="range"){let t=e.split("-");return" "+R({continuous:n.pattern.minute==="*",from:+t[0],throughMinute:0,to:+t[1]},r)}return" during the "+j(n,{minute:0,second:null},!1,r)+" hours"}function Re(n){if(n.shapes.hour!=="step")return!0;let r=O(n,"hour");return n.pattern.hour==="*/2"||r.startToken.indexOf("-")!==-1}function Ae(n){if(n.shapes.minute!=="list")return!1;let r=Z(c(n,"minute"));return r!==null&&on(r)!==null}function Ue(n,r){let{minute:e,hour:t}=n.pattern,i=W(e)&&e!=="*";return Re(n)?r.secondLead?i?e==="*/2"&&n.shapes.hour!=="range":!(Ae(n)||n.shapes.minute==="list"&&n.shapes.hour==="list"):t==="*/2"?!0:n.shapes.hour==="single"&&e==="*/2":!1}function qe(n,r){if(!r.style.untilWindow||r.short||n.pattern.minute==="*"&&n.pattern.hour==="*")return null;let e=Ee(n,r);if(!e||!Ue(n,e))return null;let t=e.secondLead?De(n,r):"";return e.text+t+je(n,r)+a(n,r)}var Qe={clockTimes:We,compactClockTimes:He,composeSeconds:pe,everyHour:Ce,everyMinute:Se,everySecond:le,hourRange:xe,hourStep:Fe,minuteFrequency:ze,minuteSpanAcrossHourStep:Pe,minuteSpanInHour:ve,minutesAcrossHours:we,multipleMinutes:Ne,rangeOfMinutes:Oe,secondPastMinute:me,secondsWithinMinute:de,singleMinute:ke,standaloneSeconds:fe};function ir(n,r){let{interval:e,start:t,last:i,cycle:o,unit:u,anchor:s}=n,m="every "+g(e,r)+" "+u+"s";return sn({start:t,interval:e,cycle:o},{bare:()=>m,offset:()=>m+" from "+g(t,r)+" "+v(t,u)+" past the "+s,bounded:()=>{let S=wn();return m+" from "+S(t)+h(r)+S(i)+" "+v(i,u)+" past the "+s}})}function H(n,r,e,t){let i=Z(n),o=i&&on(i);return o?ir({...o,cycle:60,unit:r,anchor:e},t):null}function X(n,r,e,t){if(n.startToken.indexOf("-")!==-1)return z(Zn(n.fires,t),r,e,t);let i=n.startToken==="*"?0:+n.startToken;return i!==0&&n.fires.length<=3?z(Zn(n.fires,t),r,e,t):ir({interval:n.interval,start:i,last:n.fires[n.fires.length-1],cycle:60,unit:r,anchor:e},t)}function or(n,r){if(n.startToken.indexOf("-")!==-1)return"at "+yn(n.fires,r);let e=n.startToken==="*"?0:+n.startToken,t=n.interval;return e===0?"every "+g(t,r)+" hours":n.fires.length<=3?"at "+yn(n.fires,r):"every "+g(t,r)+" hours from "+f({hour:e,minute:0},r)}function B(n,r){let{start:e,interval:t,last:i}=n,o="every "+g(t,r)+" hours";return sn({start:e,interval:t,cycle:24},{bare:()=>o,offset:()=>o+" from "+f({hour:e,minute:0},r),bounded:()=>o+" from "+f({hour:e,minute:0},r)+h(r)+f({hour:i,minute:0},r)})}function J(n,r){let e=On(n);return!e||un(e)?null:B(e,r)}function On(n){let r=c(n,"hour");if(r.length===1&&r[0].kind==="step"){let t=r[0];if(t.fires.length<2)return null;let i=t.startToken==="*"?0:+t.startToken.split("-")[0];return{interval:t.interval,last:t.fires[t.fires.length-1],start:i}}let e=Z(r);return e&&qn(e)}function Nn(n){return n.pattern.second==="*"||n.shapes.second==="step"}function ur(n,r,e){if(r===0)return Nn(n)?x(n,"minute",e)+" for one minute":x(n,"hour",e);let t=g(r,e)+" "+v(r,"minute")+" past the hour";return n.pattern.second==="0"?t:x(n,"minute",e)+", "+t}function zn(n,r,e){let t=On(n);if(!t)return null;let i=(t.last-t.start)/t.interval+1;if(n.pattern.second==="0"&&i<=A&&un(t))return null;let o=r===0&&Nn(n)&&Ve(n);return o?x(n,"minute",e)+" for one minute "+kn(o,e)+a(n,e):r===0&&n.pattern.second==="0"?B(t,e)+a(n,e):ur(n,r,e)+", "+B(t,e)+a(n,e)}function Ve(n){let r=c(n,"hour"),e=r.length===1&&r[0];return!e||e.kind!=="step"||e.startToken.indexOf("-")!==-1||!(e.interval in _n)?null:e}function Ie(n){return c(n,"hour").some(function(e){return e.kind==="range"})}function $e(n,r){let e=[],t=er(n);c(n,"hour").forEach(function(s){s.kind==="range"&&e.push(R({continuous:!1,from:+s.bounds[0],throughMinute:0,to:+s.bounds[1]},r))});let i="every hour "+p(e,r),o=t.map(function(s){return f({hour:s,minute:0},r)});return i+tr(o,r)}function vn(n,r,e){return r!==0||!Ie(n)||n.pattern.second==="0"?null:Nn(n)?x(n,"minute",e)+" for one minute during the "+j(n,{minute:0,second:null},!1,e)+" hours"+a(n,e):ur(n,r,e)+", "+$e(n,e)+a(n,e)}function wn(){return function(r){return""+r}}function sr(n,r){return n>1?function(t){return""+t}:function(t){return g(t,r)}}function Zn(n,r){return n.map(sr(n.length,r))}function F(n,r){let e=n.reduce(function(o,u){return u.kind==="range"?o+1:o+(u.kind==="step"?u.fires.length:1)},0),t=sr(e,r);return n.flatMap(function(o){return o.kind==="range"?[t(o.bounds[0])+h(r)+t(o.bounds[1])]:o.kind==="step"?o.fires.map(t):[t(o.value)]})}function z(n,r,e,t){return"at "+p(n,t)+" "+r+"s past the "+e}function Je(n,r,e){return(+n==0||+n==12)&&+r==0&&!(typeof e=="number"&&e>0)}function Pn(n){let r=n.filter(function(t){return Je(t.hour,t.minute,t.second)});return r.length>0&&r.length<n.length}function yn(n,r){let e=Pn(n.map(function(o){return{hour:o,minute:0}})),t=n.map(function(o){return f({hour:o,minute:0,plain:e},r)});return p(t,r)}function Ke(n){return n.kind==="fires"&&n.fires.length===1}function I(n,r,e,t){return r.kind==="fires"?yn(r.fires,t):j(n,{minute:0,second:null},e,t)}function Ye(n){return n.kind==="range"?n.bounds:n.kind==="step"?n.fires:[n.value]}function j(n,r,e,t){let{minute:i,second:o}=r,u=c(n,"hour"),s=Pn(u.flatMap(function(y){return Ye(y).map(function(en){return{hour:+en,minute:i,second:o}})})),m=[];return u.forEach(function(y){y.kind==="step"?m.push(...y.fires.map(function(en){return f({hour:en,minute:i,second:o,plain:s},t)})):y.kind==="range"?m.push(f({hour:y.bounds[0],minute:i,second:o,plain:s},t)+h(t)+f({hour:y.bounds[1],minute:i,second:o,plain:s},t)):m.push(f({hour:y.value,minute:i,second:o,plain:s},t))}),p(Ge(m,u,e),t)}function Ge(n,r,e){let t=r.some(function(o){return o.kind==="range"});return!e||!t?n:n.map(function(o,u){return u===0?o:"at "+o})}function ar(n,r,e){if(n.length<=1)return n.join("");if(n.length===2)return n[0]+r+n[1];let t=e.style.serialComma?","+r:r;return n.slice(0,-1).join(", ")+t+n[n.length-1]}function p(n,r){return ar(n," and ",r)}function Ze(n,r){return ar(n," or ",r)}var Be={all:"",month:"in ",recurringWeekday:!0,stepDate:"on ",weekday:"on "},Cn={all:"every day",month:"every day in ",recurringWeekday:!1,stepDate:"",weekday:"every "};function a(n,r){if(K(n,r))return fr(n,r);let e=_(n,Be,r);return e&&" "+e}function cr(n,r){return K(n,r)?"":_(n,Cn,r)+" "}function _(n,r,e){let t=n.pattern;if(t.date!=="*"&&t.weekday!=="*")return tt(n,e);if(t.date!=="*")return Xe(n,r,e);if(t.weekday!=="*"){let i=xn(t.weekday,e);return i?bn(i,n,e):r.weekday+pr(n,r.recurringWeekday,e)+dr(n,e)}return t.month!=="*"?r.month+N(n,e):r.all}function Xe(n,r,e){let t=n.pattern,i=nn(t.date,e);return i?bn(i,n,e):E(t.date)?bn(r.stepDate+gr(t.date),n,e):t.month!=="*"&&!lr(n)?"on the "+Sn(n,e)+dr(n,e):t.month!=="*"?"on "+mr(n,e):"on the "+Sn(n,e)}function lr(n){return!hr(n.pattern.month)&&c(n,"month").every(function(e){return e.kind!=="range"})}function K(n,r){return n.pattern.date!=="*"&&n.pattern.weekday!=="*"&&!!r.style.untilWindow&&!r.short}function fr(n,r){let e=[...nt(n,r),...rt(n,r)];return" whenever the day is "+Ze(e,r)}function _e(n,r){return n.pattern.month==="*"?"":"in "+N(n,r)+" "}function nt(n,r){let e=n.pattern.date,t=nn(e,r);if(t)return[t.replace(/^on /,"")];let i=et(e);if(i)return[i];let o=[];return c(n,"date").forEach(function(s){s.kind==="range"?o.push("from the "+b(s.bounds[0])+h(r)+"the "+b(s.bounds[1])):s.kind==="step"?s.fires.forEach(function(S){o.push("the "+b(S))}):o.push("the "+b(s.value))}),o}function rt(n,r){let e=n.pattern.weekday,t=xn(e,r);if(t)return[t.replace(/^on /,"")];let i=[];return c(n,"weekday").forEach(function(u){u.kind==="range"&&u.bounds[0]==="1"&&u.bounds[1]==="5"?i.push("a weekday"):u.kind==="range"?i.push("a "+C(u.bounds[0],r)+h(r)+"a "+C(u.bounds[1],r)):u.kind==="step"?u.fires.forEach(function(m){i.push("a "+C(m,r))}):i.push("a "+C(u.value,r))}),i}function et(n){if(!E(n))return null;let[r,e]=n.split("/");return+e!=2?null:r==="*"||r==="1"?"an odd-numbered day":r==="2"?"an even-numbered day":null}function tt(n,r){let e=n.pattern,t=xn(e.weekday,r)||"on "+pr(n,!1,r);return e.month!=="*"&&lr(n)&&!nn(e.date,r)&&!E(e.date)?"on "+mr(n,r)+" or "+t+" in "+N(n,r):it(n,r)+" or "+t+ot(n,r)}function it(n,r){let e=n.pattern,t=nn(e.date,r);return t||(E(e.date)?gr(e.date):"on the "+Sn(n,r))}function ot(n,r){return n.pattern.month==="*"?"":", in "+N(n,r)}function nn(n,r){if(n==="L")return"on the last day of the month";if(n==="LW"||n==="WL")return"on the last weekday of the month";let e=/^L-(\d{1,2})$/.exec(n);if(e)return g(+e[1],r)+" "+v(e[1],"day")+" before the last day of the month";let t=/^(\d{1,2})W$|^W(\d{1,2})$/.exec(n);if(t)return"on the weekday nearest the "+b(t[1]||t[2])}function xn(n,r){let e=n.split("#");if(e.length===2)return"on the "+te[+e[1]]+" "+C(e[0],r)+" of the month";if(/L$/.test(n))return"on the last "+C(n.slice(0,-1),r)+" of the month"}function mr(n,r){let e=N(n,r),t=rn(c(n,"date"),r.style.ordinals?b:ut,r);return r.style.dayFirst&&n.shapes.date==="single"&&n.shapes.month!=="single"?"the "+b(n.pattern.date)+" of "+e:r.style.dayFirst?t+" "+e:e+" "+t}function ut(n){return""+n}function dr(n,r){return n.pattern.month==="*"?"":" in "+N(n,r)}function bn(n,r,e){if(r.pattern.month==="*")return n;let t=n.indexOf(" of the month")!==-1;return t&&r.shapes.month==="range"?n.replace(" of the month"," of each month")+" from "+N(r,e):t&&(r.shapes.month==="single"||r.shapes.month==="step")?n.replace(" of the month","")+" in "+N(r,e):n+" in "+N(r,e)}function gr(n){let r=n.split("/"),e=+r[1],t=r[0],o=(e===2?"every other":"every "+b(e))+" day of the month";return t!=="*"&&t!=="1"&&(o+=" from the "+b(t)),o}function Sn(n,r){return rn(c(n,"date"),b,r)}function N(n,r){let e=hr(n.pattern.month);return e||rn(c(n,"month"),function(i){return ft(i,r)},r)}function hr(n){if(!E(n))return null;let[r,e]=n.split("/");return+e!=2?null:r==="*"||r==="1"?"every odd-numbered month":r==="2"?"every even-numbered month":null}function pr(n,r,e){let t=Un(c(n,"weekday")),i=t.some(function(s){return s.kind==="range"});return rn(t,r&&!i?function(s){return st(s,e)}:function(s){return C(s,e)},e)}function st(n,r){let e=C(n,r);return r.short?e:e+"s"}function rn(n,r,e){let t=[];return n.forEach(function(o){o.kind==="step"?t.push(...o.fires.map(r)):o.kind==="range"?t.push(o.bounds.map(r).join(h(e))):t.push(r(o.value))}),p(t,e)}function Bn(n,r,e){let t=r.pattern.year;if(t==="*")return n;if(t.indexOf("/")!==-1)return n+", "+ct(t,e);let i=at(t,e);if(t.indexOf("-")===-1&&t.indexOf(",")===-1&&r.pattern.date!=="*"&&n.indexOf(" at ")!==-1){let o=e.style.dayFirst?" ":", ";return n.replace(" at ",o+i+" at ")}return n+" in "+i}function at(n,r){return n.indexOf(",")!==-1?p(n.split(","),r):n.indexOf("-")!==-1?n.split("-").join(h(r)):n}function ct(n,r){let e=n.split("/"),t=+e[1],i=e[0];if(t<=1)return"every year";let o=t===2?"every other year":"every "+g(t,r)+" years";return i!=="*"&&i!=="0"&&(o+=" from "+i),o}function f(n,r){let{hour:e,minute:t,plain:i,explicit:o}=n,u=typeof n.second=="number"&&n.second>0?n.second:0;return r.ampm?lt({hour:e,minute:t,second:u,plain:i,explicit:o},r):dn({hour:e,minute:t,second:u},{pad:!0,sep:r.style.sep})}function lt(n,r){let{hour:e,minute:t,second:i,plain:o,explicit:u}=n,s=r.style;if(!o&&!u&&+t==0&&!i){if(+e==0)return s.midnight;if(+e==12)return s.midday}return dn({hour:e%12||12,minute:t,second:i},{lean:!u,sep:s.sep})+(s.closeUp?"":" ")+(e<12?s.am:s.pm)}function g(n,r){return Yn(n,ne,r)}function v(n,r){return+n==1?r:r+"s"}function h(n){return n.short?"-":n.style.through}function b(n){let r=Math.abs(n),e=hn[r];return e||(r=(r%100-20)%10,e=hn[r]||hn[0]),n+e}function ft(n,r){let e=re[+n];return e&&e[r.short?1:0]}function C(n,r){let e=n===7||n==="7"?0:n,t=P[e]||ee[e];return t&&t[r.short?1:0]}var mt={describe:oe,fallback:"an unrecognizable cron pattern",options:ie,reboot:"at system startup",sentence:n=>"Runs "+n+(n.endsWith(".")?"":".")},yr=mt;/**
2
2
  * @license MIT, Copyright (c) 2026 Andrew Brož
3
- */function or(n,e){let t=e&&e.lang||fe,r=t.options(e);if(!r.lenient)return de(ge(n,t,r),t,e);try{return de(ge(n,t,r),t,e)}catch{return t.fallback}}function de(n,e,t){return t&&t.sentence?e.sentence(n):n}function ge(n,e,t){if(typeof n=="string"&&n.trim().toLowerCase()==="@reboot")return e.reboot;let r=En(An(n,t)),i=e.strategy?e.strategy(r,r.plan):r.plan;return e.describe({...r,plan:i},t)}var zn=or;typeof globalThis<"u"&&Object.assign(globalThis,{cronli5:zn});var Vr=zn;})();
3
+ */function dt(n,r){let e=r&&r.lang||yr,t=e.options(r);if(!t.lenient)return br(Sr(n,e,t),e,r);try{return br(Sr(n,e,t),e,r)}catch{return e.fallback}}function br(n,r,e){return e&&e.sentence?r.sentence(n):n}function Sr(n,r,e){if(typeof n=="string"&&n.trim().toLowerCase()==="@reboot")return r.reboot;let t=In(Kn(n,e)),i=r.plan?r.plan(t,t.plan):t.plan;return r.describe({...t,plan:i},e)}var Fn=dt;typeof globalThis<"u"&&Object.assign(globalThis,{cronli5:Fn});var ti=Fn;})();