timelang 0.3.2 → 0.4.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.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ne=Object.create;var F=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var le=Object.getPrototypeOf,pe=Object.prototype.hasOwnProperty;var ye=(e,t)=>{for(var o in t)F(e,o,{get:t[o],enumerable:!0})},B=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of me(t))!pe.call(e,a)&&a!==o&&F(e,a,{get:()=>t[a],enumerable:!(s=ie(t,a))||s.enumerable});return e};var J=(e,t,o)=>(o=e!=null?ne(le(e)):{},B(t||!e||!e.__esModule?F(o,"default",{value:e,enumerable:!0}):o,e)),ue=e=>B(F({},"__esModule",{value:!0}),e);var Ee={};ye(Ee,{extract:()=>Ke,parse:()=>P,parseDate:()=>Fe,parseDuration:()=>Pe,parseSpan:()=>Ye});module.exports=ue(Ee);var j=J(require("nearley"),1);var Y=J(require("moo"),1),r=Y.default.compile({ws:/[ \t]+/,newline:{match:/\r?\n/,lineBreaks:!0},time:/(?:0?[0-9]|1[0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?/,monthDayCompact:{match:/(?:[Jj]anuary|[Ff]ebruary|[Mm]arch|[Aa]pril|[Mm]ay|[Jj]une|[Jj]uly|[Aa]ugust|[Ss]eptember|[Oo]ctober|[Nn]ovember|[Dd]ecember|[Jj]an|[Ff]eb|[Mm]ar|[Aa]pr|[Jj]un|[Jj]ul|[Aa]ug|[Ss]ep|[Ss]ept|[Oo]ct|[Nn]ov|[Dd]ec)(?:3[01]|[12]?[0-9])/,value:e=>e.toLowerCase()},quarter:{match:/[Qq][1-4]/,value:e=>e.toUpperCase()},half:{match:/[Hh][1-2]/,value:e=>e.toUpperCase()},ordinal:{match:/(?:3[01]|[12]?[0-9])(?:[Ss][Tt]|[Nn][Dd]|[Rr][Dd]|[Tt][Hh])/,value:e=>e.toLowerCase()},decimal:/\d+\.\d+/,abbreviatedDuration:{match:/\d+(?:mo|w|d|h|m|s|y)\b/,value:e=>e.toLowerCase()},integer:/\d+/,ampm:{match:/[Aa][Mm]|[Pp][Mm]/,value:e=>e.toLowerCase()},word:{match:/[a-zA-Z][a-zA-Z0-9#]*/,type:Y.default.keywords({kw_today:["today"],kw_tomorrow:["tomorrow"],kw_yesterday:["yesterday"],kw_now:["now"],kw_noon:["noon"],kw_midnight:["midnight"],kw_next:["next"],kw_last:["last"],kw_this:["this"],kw_previous:["previous"],kw_coming:["coming"],kw_upcoming:["upcoming"],kw_past:["past"],kw_early:["early"],kw_mid:["mid"],kw_late:["late"],kw_beginning:["beginning"],kw_middle:["middle"],kw_end:["end"],kw_start:["start"],unit:["day","days","week","weeks","month","months","year","years","quarter","quarters","hour","hours","minute","minutes","second","seconds","hr","hrs","min","mins","sec","secs","wk","wks","mo","mos","yr","yrs"],halfWord:["half"],kw_to:["to"],kw_from:["from"],kw_until:["until","til","till"],kw_through:["through"],kw_between:["between"],kw_and:["and"],kw_for:["for"],kw_in:["in"],kw_on:["on"],kw_at:["at"],kw_of:["of"],kw_the:["the"],kw_within:["within"],kw_over:["over"],kw_during:["during"],kw_starting:["starting"],kw_by:["by"],kw_before:["before"],kw_after:["after"],kw_around:["around"],kw_about:["about"],kw_roughly:["roughly"],kw_approximately:["approximately"],kw_sometime:["sometime"],ordinalWord:["first","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth","sixteenth","seventeenth","eighteenth","nineteenth","twentieth","twenty-first","twenty-second","twenty-third","twenty-fourth","twenty-fifth","twenty-sixth","twenty-seventh","twenty-eighth","twenty-ninth","thirtieth","thirty-first"],season:["spring","summer","fall","autumn","winter"],wordNumber:["one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty","a","an","couple"],month:["january","february","march","april","may","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],weekday:["monday","tuesday","wednesday","thursday","friday","saturday","sunday","mondays","tuesdays","wednesdays","thursdays","fridays","saturdays","sundays","mon","tue","tues","wed","thu","thur","thurs","fri","sat","sun"],kw_ago:["ago"],kw_weekend:["weekend"],kw_tonight:["tonight"],kw_night:["night"],kw_fortnight:["fortnight","fortnights"],otherKeyword:["fiscal","fy","daily","weekly","monthly","yearly","annually","hence","later","earlier"],kw_business:["business"],kw_eod:["eod"],kw_cob:["cob"],kw_close:["close"],kw_ytd:["ytd"]})},lparen:"(",rparen:")",lbracket:"[",rbracket:"]",colon:":",semicolon:";",comma:",",dash:/[-–—]/,slash:"/",other:/./});var p=e=>e[0],ce=()=>null;var u=e=>({nodeType:"date",value:"",...e}),c=(e,t)=>({nodeType:"duration",value:e,unit:de(t)}),T=(e,t,o)=>({nodeType:"span",start:e,duration:t,end:o}),g=(e,t)=>({nodeType:"range",start:e,end:t}),m=e=>({nodeType:"fuzzy",period:"",...e}),_=(e,t)=>({nodeType:"relative",direction:e,duration:t}),d=(e,t,o,s)=>({nodeType:"relativeDate",direction:e,duration:t,baseDate:o,time:s}),k=(e,t,o,s)=>({nodeType:"titled",title:e.trim(),titleStart:o,titleEnd:s,expression:t});function de(e){let t=e.toLowerCase();return["day","days","d"].includes(t)?"day":["week","weeks","wk","wks","w"].includes(t)?"week":["month","months","mo","mos"].includes(t)?"month":["year","years","yr","yrs","y"].includes(t)?"year":["hour","hours","hr","hrs","h"].includes(t)?"hour":["minute","minutes","min","mins"].includes(t)?"minute":["second","seconds","sec","secs","s"].includes(t)?"second":["quarter","quarters"].includes(t)?"quarter":t}function b(e){return{a:1,an:1,one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12,thirteen:13,fourteen:14,fifteen:15,sixteen:16,seventeen:17,eighteen:18,nineteen:19,twenty:20,couple:2}[e.toLowerCase()]??1}function Q(e){let t=e.match(/^(\d+)/);return t?parseInt(t[1],10):v(e)}function v(e){return{first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9,tenth:10,eleventh:11,twelfth:12,thirteenth:13,fourteenth:14,fifteenth:15,sixteenth:16,seventeenth:17,eighteenth:18,nineteenth:19,twentieth:20,"twenty-first":21,"twenty-second":22,"twenty-third":23,"twenty-fourth":24,"twenty-fifth":25,"twenty-sixth":26,"twenty-seventh":27,"twenty-eighth":28,"twenty-ninth":29,thirtieth:30,"thirty-first":31}[e.toLowerCase()]??1}function V(e){return{january:1,jan:1,february:2,feb:2,march:3,mar:3,april:4,apr:4,may:5,june:6,jun:6,july:7,jul:7,august:8,aug:8,september:9,sep:9,sept:9,october:10,oct:10,november:11,nov:11,december:12,dec:12}[e.toLowerCase()]??1}function W(e){let t=e.toLowerCase(),o=["january","february","march","april","may","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"];for(let s of o)if(t.startsWith(s)){let a=t.slice(s.length);return{month:V(s),day:parseInt(a,10)}}return{month:1,day:1}}function x(e){let t=e.match(/[qQ]([1-4])/);return t?parseInt(t[1],10):1}function G(e){let t=e.match(/[hH]([1-2])/);return t?parseInt(t[1],10):1}var he={Lexer:r,ParserRules:[{name:"main",symbols:["titledExpression"],postprocess:p},{name:"main",symbols:["expression"],postprocess:p},{name:"titledExpression",symbols:["titleTextSimple","_",r.has("dash")?{type:"dash"}:dash,"_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText",r.has("colon")?{type:"colon"}:colon,"_","expression"],postprocess:e=>k(e[0].text,e[3],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_",r.has("lparen")?{type:"lparen"}:lparen,"expression",r.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>k(e[0].text,e[3],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_",r.has("lbracket")?{type:"lbracket"}:lbracket,"expression",r.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>k(e[0].text,e[3],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","onConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","atConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","inConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","forConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","fromConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","duringConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","startingConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","byConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_",r.has("dash")?{type:"dash"}:dash,"_","byConnector","_","expression"],postprocess:e=>k(e[0].text,e[6],e[0].start,e[0].end)},{name:"titledExpression",symbols:["expression","_","postTitle"],postprocess:e=>k(e[2].text,e[0],e[2].start,e[2].end)},{name:"postTitle",symbols:[r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"postTitle",symbols:["postTitle","_",r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].text+" "+e[2].value,start:e[0].start,end:e[2].offset+e[2].text.length})},{name:"titleText",symbols:["titleWord"],postprocess:e=>({text:e[0].text,start:e[0].start,end:e[0].end})},{name:"titleText",symbols:["versionNumber"],postprocess:e=>e[0]},{name:"titleText",symbols:["hyphenatedWord"],postprocess:e=>e[0]},{name:"titleText",symbols:["titleText","_","titleWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleText",symbols:["titleText","_","versionNumber"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleText",symbols:["titleText","_","hyphenatedWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleText",symbols:["titleText","_",r.has("dash")?{type:"dash"}:dash,"_","titleWord"],postprocess:e=>({text:e[0].text+" - "+e[4].text,start:e[0].start,end:e[4].end})},{name:"titleText",symbols:["titleText","_",r.has("dash")?{type:"dash"}:dash,"_","versionNumber"],postprocess:e=>({text:e[0].text+" - "+e[4].text,start:e[0].start,end:e[4].end})},{name:"titleWord",symbols:[r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("wordNumber")?{type:"wordNumber"}:wordNumber],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("decimal")?{type:"decimal"}:decimal],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("quarter")?{type:"quarter"}:quarter],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("half")?{type:"half"}:half],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("lparen")?{type:"lparen"}:lparen,"titleText",r.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>({text:"("+e[1].text+")",start:e[0].offset,end:e[2].offset+1})},{name:"titleWord",symbols:[r.has("lbracket")?{type:"lbracket"}:lbracket,"titleText",r.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>({text:"["+e[1].text+"]",start:e[0].offset,end:e[2].offset+1})},{name:"titleWord",symbols:[r.has("slash")?{type:"slash"}:slash],postprocess:e=>({text:"/",start:e[0].offset,end:e[0].offset+1})},{name:"titleWord",symbols:[r.has("colon")?{type:"colon"}:colon],postprocess:e=>({text:":",start:e[0].offset,end:e[0].offset+1})},{name:"titleWord",symbols:["hashNumber"],postprocess:e=>e[0]},{name:"hyphenatedWord",symbols:[r.has("word")?{type:"word"}:word,r.has("dash")?{type:"dash"}:dash,r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].value+"-"+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length})},{name:"hyphenatedWord",symbols:[r.has("word")?{type:"word"}:word,r.has("dash")?{type:"dash"}:dash,r.has("integer")?{type:"integer"}:integer],postprocess:e=>({text:e[0].value+"-"+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length})},{name:"hashNumber",symbols:[r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[0].value!=="#"?o:{text:"#"+e[1].value,start:e[0].offset,end:e[1].offset+e[1].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[1].value!=="."?o:{text:e[0].value+"."+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[1].value!=="."||e[3].value!=="."?o:{text:e[0].value+"."+e[2].value+"."+e[4].value,start:e[0].offset,end:e[4].offset+e[4].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[1].value!=="."||e[3].value!=="."||e[5].value!=="."?o:{text:e[0].value+"."+e[2].value+"."+e[4].value+"."+e[6].value,start:e[0].offset,end:e[6].offset+e[6].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("decimal")?{type:"decimal"}:decimal],postprocess:(e,t,o)=>e[1].value!=="."?o:{text:e[0].value+"."+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length}},{name:"versionNumber",symbols:[r.has("decimal")?{type:"decimal"}:decimal],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleTextSimple",symbols:["titleWord"],postprocess:e=>e[0]},{name:"titleTextSimple",symbols:["hyphenatedWord"],postprocess:e=>e[0]},{name:"titleTextSimple",symbols:["versionNumber"],postprocess:e=>e[0]},{name:"titleTextSimple",symbols:["titleTextSimple","_","titleWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple","_","hyphenatedWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple","_","versionNumber"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple",r.has("slash")?{type:"slash"}:slash,"titleWord"],postprocess:e=>({text:e[0].text+"/"+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple",r.has("colon")?{type:"colon"}:colon,"_","titleWord"],postprocess:e=>({text:e[0].text+": "+e[3].text,start:e[0].start,end:e[3].end})},{name:"expression",symbols:["range"],postprocess:p},{name:"expression",symbols:["span"],postprocess:p},{name:"expression",symbols:["relative"],postprocess:p},{name:"expression",symbols:["relativeDate"],postprocess:p},{name:"expression",symbols:["lastDayOfMonthExpr"],postprocess:p},{name:"expression",symbols:["date"],postprocess:p},{name:"expression",symbols:["fuzzy"],postprocess:p},{name:"expression",symbols:["forDuration"],postprocess:p},{name:"expression",symbols:["duration"],postprocess:p},{name:"lastDayOfMonthExpr",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],lastDayOfMonth:!0})},{name:"lastDayOfMonthExpr",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({lastDayOfMonth:!0,monthFromRef:!0})},{name:"forDuration",symbols:["forConnector","_","duration"],postprocess:e=>e[2]},{name:"range",symbols:["date","_","toConnector","_","date"],postprocess:e=>g(e[0],e[4])},{name:"range",symbols:["fromConnector","_","date","_","toConnector","_","date"],postprocess:e=>g(e[2],e[6])},{name:"range",symbols:["date","_",r.has("dash")?{type:"dash"}:dash,"_","date"],postprocess:e=>g(e[0],e[4])},{name:"range",symbols:[r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact,r.has("dash")?{type:"dash"}:dash,r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact],postprocess:e=>{let t=W(e[0].value),o=W(e[2].value);return g(u({month:t.month,day:t.day}),u({month:o.month,day:o.day}))}},{name:"range",symbols:[r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact,"_",r.has("dash")?{type:"dash"}:dash,"_","date"],postprocess:e=>{let t=W(e[0].value);return g(u({month:t.month,day:t.day}),e[4])}},{name:"range",symbols:["date","_",r.has("dash")?{type:"dash"}:dash,"_",r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact],postprocess:e=>{let t=W(e[4].value);return g(e[0],u({month:t.month,day:t.day}))}},{name:"range",symbols:["specialDay","_","time","_","toConnector","_","time"],postprocess:e=>g(u({special:e[0],time:e[2]}),u({special:e[0],time:e[6]}))},{name:"range",symbols:["monthDay","_","time","_","toConnector","_","time"],postprocess:e=>g({...e[0],time:e[2]},{...e[0],time:e[6]})},{name:"range",symbols:["weekday","_","time","_","toConnector","_","time"],postprocess:e=>g(u({weekday:e[0],time:e[2]}),u({weekday:e[0],time:e[6]}))},{name:"range",symbols:["month","_","dayNumber",r.has("dash")?{type:"dash"}:dash,"dayNumber"],postprocess:e=>g(u({month:e[0],day:e[2]}),u({month:e[0],day:e[4]}))},{name:"range",symbols:["dayNumber",r.has("dash")?{type:"dash"}:dash,"dayNumber","_","month"],postprocess:e=>g(u({month:e[4],day:e[0]}),u({month:e[4],day:e[2]}))},{name:"range",symbols:["betweenConnector","_","date","_","andConnector","_","date"],postprocess:e=>g(e[2],e[6])},{name:"range",symbols:["date","_","throughConnector","_","date"],postprocess:e=>g(e[0],e[4])},{name:"range",symbols:["date","_","untilConnector","_","date"],postprocess:e=>g(e[0],e[4])},{name:"range",symbols:["untilConnector","_","date"],postprocess:e=>g(u({special:"today"}),e[2])},{name:"range",symbols:["untilConnector","_","fuzzy"],postprocess:e=>g(u({special:"today"}),e[2])},{name:"range",symbols:["fuzzy","_","toConnector","_","fuzzy"],postprocess:e=>g(e[0],e[4])},{name:"range",symbols:["fromConnector","_","fuzzy","_","toConnector","_","fuzzy"],postprocess:e=>g(e[2],e[6])},{name:"range",symbols:["betweenConnector","_","fuzzy","_","andConnector","_","fuzzy"],postprocess:e=>g(e[2],e[6])},{name:"range",symbols:["fromConnector","_","date","_","untilConnector","_","date"],postprocess:e=>g(e[2],e[6])},{name:"range",symbols:["fromConnector","_","specialDay","_","untilConnector","_","date"],postprocess:e=>g(u({special:e[2]}),e[6])},{name:"span",symbols:["date","_","forConnector","_","duration"],postprocess:e=>T(e[0],e[4])},{name:"span",symbols:["fuzzy","_","forConnector","_","duration"],postprocess:e=>T(e[0],e[4])},{name:"span",symbols:["inConnector","_","fuzzy","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["inConnector","_","date","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["inConnector","_","monthForSpan","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["startingConnector","_","date","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["beginningConnector","_","date","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["startingConnector","_","date"],postprocess:e=>T(e[2])},{name:"span",symbols:["date","_","startingConnector","_","date"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","startingConnector","_","date"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","fromConnector","_","date"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","inConnector","_","fuzzy"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","inConnector","_","theConnector","_","fuzzy"],postprocess:e=>T(e[6],e[0])},{name:"monthForSpan",symbols:["month"],postprocess:e=>m({period:"month",month:e[0]})},{name:"relative",symbols:["lastRelative","_","number","_","unit"],postprocess:e=>_("past",c(e[2],e[4]))},{name:"relative",symbols:["pastRelative","_","number","_","unit"],postprocess:e=>_("past",c(e[2],e[4]))},{name:"relative",symbols:["previousRelative","_","number","_","unit"],postprocess:e=>_("past",c(e[2],e[4]))},{name:"relative",symbols:["nextRelative","_","number","_","unit"],postprocess:e=>_("future",c(e[2],e[4]))},{name:"relative",symbols:["comingRelative","_","number","_","unit"],postprocess:e=>_("future",c(e[2],e[4]))},{name:"relative",symbols:["upcomingRelative","_","number","_","unit"],postprocess:e=>_("future",c(e[2],e[4]))},{name:"relative",symbols:["withinConnector","_","duration"],postprocess:e=>_("future",e[2])},{name:"relative",symbols:["withinConnector","_","theConnector","_","nextRelative","_","duration"],postprocess:e=>_("future",e[6])},{name:"relative",symbols:["withinConnector","_","theConnector","_","lastRelative","_","duration"],postprocess:e=>_("past",e[6])},{name:"relative",symbols:["withinConnector","_","theConnector","_","pastRelative","_","duration"],postprocess:e=>_("past",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","nextRelative","_","duration"],postprocess:e=>_("future",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","lastRelative","_","duration"],postprocess:e=>_("past",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","pastRelative","_","duration"],postprocess:e=>_("past",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","comingRelative","_","duration"],postprocess:e=>_("future",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","lastRelative","_","duration"],postprocess:e=>_("past",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","nextRelative","_","duration"],postprocess:e=>_("future",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","pastRelative","_","duration"],postprocess:e=>_("past",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","comingRelative","_","duration"],postprocess:e=>_("future",e[6])},{name:"relative",symbols:["lastRelative","_","wordNumber","_","unit"],postprocess:e=>_("past",c(b(e[2]),e[4]))},{name:"relative",symbols:["nextRelative","_","wordNumber","_","unit"],postprocess:e=>_("future",c(b(e[2]),e[4]))},{name:"relative",symbols:["pastRelative","_","wordNumber","_","unit"],postprocess:e=>_("past",c(b(e[2]),e[4]))},{name:"relative",symbols:["previousRelative","_","wordNumber","_","unit"],postprocess:e=>_("past",c(b(e[2]),e[4]))},{name:"relative",symbols:["comingRelative","_","wordNumber","_","unit"],postprocess:e=>_("future",c(b(e[2]),e[4]))},{name:"relative",symbols:["upcomingRelative","_","wordNumber","_","unit"],postprocess:e=>_("future",c(b(e[2]),e[4]))},{name:"relative",symbols:["pastRelative","_","unit"],postprocess:e=>_("past",c(1,e[2]))},{name:"relative",symbols:["previousRelative","_","unit"],postprocess:e=>_("past",c(1,e[2]))},{name:"relative",symbols:["upcomingRelative","_","unit"],postprocess:e=>_("future",c(1,e[2]))},{name:"relative",symbols:["withinConnector","_","theConnector","_","nextRelative","_","unit"],postprocess:e=>_("future",c(1,e[6]))},{name:"relative",symbols:["withinConnector","_","theConnector","_","pastRelative","_","unit"],postprocess:e=>_("past",c(1,e[6]))},{name:"relative",symbols:["overConnector","_","theConnector","_","lastRelative","_","unit"],postprocess:e=>_("past",c(1,e[6]))},{name:"relative",symbols:["overConnector","_","theConnector","_","comingRelative","_","unit"],postprocess:e=>_("future",c(1,e[6]))},{name:"relative",symbols:["overConnector","_","theConnector","_","upcomingRelative","_","unit"],postprocess:e=>_("future",c(1,e[6]))},{name:"relative",symbols:["inConnector","_","theConnector","_","pastRelative","_","unit"],postprocess:e=>_("past",c(1,e[6]))},{name:"relative",symbols:["inConnector","_","theConnector","_","comingRelative","_","unit"],postprocess:e=>_("future",c(1,e[6]))},{name:"relative",symbols:["inConnector","_","theConnector","_","upcomingRelative","_","unit"],postprocess:e=>_("future",c(1,e[6]))},{name:"relativeDate",symbols:["duration","_","agoConnector"],postprocess:e=>d("past",e[0])},{name:"relativeDate",symbols:["duration","_","agoConnector","_","atConnector","_","time"],postprocess:e=>d("past",e[0],void 0,e[6])},{name:"relativeDate",symbols:["duration","_","agoConnector","_","atConnector","_","timeWord"],postprocess:e=>d("past",e[0],void 0,{special:e[6]})},{name:"relativeDate",symbols:["inConnector","_","duration"],postprocess:e=>d("future",e[2])},{name:"relativeDate",symbols:["inConnector","_","duration","_","atConnector","_","time"],postprocess:e=>d("future",e[2],void 0,e[6])},{name:"relativeDate",symbols:["inConnector","_","duration","_","atConnector","_","timeWord"],postprocess:e=>d("future",e[2],void 0,{special:e[6]})},{name:"relativeDate",symbols:["duration","_","fromConnector","_","now"],postprocess:e=>d("future",e[0])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","now","_","atConnector","_","time"],postprocess:e=>d("future",e[0],void 0,e[8])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","now","_","atConnector","_","timeWord"],postprocess:e=>d("future",e[0],void 0,{special:e[8]})},{name:"relativeDate",symbols:["duration","_","fromConnector","_","today"],postprocess:e=>d("future",e[0],u({special:"today"}))},{name:"relativeDate",symbols:["duration","_","fromConnector","_","today","_","atConnector","_","time"],postprocess:e=>d("future",e[0],u({special:"today"}),e[8])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","tomorrow"],postprocess:e=>d("future",e[0],u({special:"tomorrow"}))},{name:"relativeDate",symbols:["duration","_","fromConnector","_","tomorrow","_","atConnector","_","time"],postprocess:e=>d("future",e[0],u({special:"tomorrow"}),e[8])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","yesterday"],postprocess:e=>d("future",e[0],u({special:"yesterday"}))},{name:"relativeDate",symbols:["duration","_","henceConnector"],postprocess:e=>d("future",e[0])},{name:"relativeDate",symbols:["duration","_","laterConnector"],postprocess:e=>d("future",e[0])},{name:"relativeDate",symbols:["duration","_","beforeConnector","_","date"],postprocess:e=>d("past",e[0],e[4])},{name:"relativeDate",symbols:["duration","_","afterConnector","_","date"],postprocess:e=>d("future",e[0],e[4])},{name:"relativeDate",symbols:["theConnector","_","dayUnit","_","beforeConnector","_","date"],postprocess:e=>d("past",c(1,"day"),e[6])},{name:"relativeDate",symbols:["theConnector","_","dayUnit","_","afterConnector","_","date"],postprocess:e=>d("future",c(1,"day"),e[6])},{name:"relativeDate",symbols:["dayUnit","_","beforeConnector","_","date"],postprocess:e=>d("past",c(1,"day"),e[4])},{name:"relativeDate",symbols:["dayUnit","_","afterConnector","_","date"],postprocess:e=>d("future",c(1,"day"),e[4])},{name:"relativeDate",symbols:["wordNumber","_","unit","_","beforeConnector","_","date"],postprocess:e=>d("past",c(b(e[0]),e[2]),e[6])},{name:"relativeDate",symbols:["wordNumber","_","unit","_","afterConnector","_","date"],postprocess:e=>d("future",c(b(e[0]),e[2]),e[6])},{name:"relativeDate",symbols:["nextRelative","_","businessKeyword","_","dayOrDaysUnit"],postprocess:e=>d("future",c(1,"businessDay"))},{name:"relativeDate",symbols:["inConnector","_","number","_","businessKeyword","_","dayOrDaysUnit"],postprocess:e=>d("future",c(e[2],"businessDay"))},{name:"relativeDate",symbols:["inConnector","_","wordNumber","_","businessKeyword","_","dayOrDaysUnit"],postprocess:e=>d("future",c(b(e[2]),"businessDay"))},{name:"relativeDate",symbols:["number","_","businessKeyword","_","dayOrDaysUnit","_","agoConnector"],postprocess:e=>d("past",c(e[0],"businessDay"))},{name:"relativeDate",symbols:["wordNumber","_","businessKeyword","_","dayOrDaysUnit","_","agoConnector"],postprocess:e=>d("past",c(b(e[0]),"businessDay"))},{name:"relativeDate",symbols:["wordNumber","_","fortnightKeyword","_","fromConnector","_","now"],postprocess:e=>d("future",c(b(e[0])*2,"week"))},{name:"relativeDate",symbols:["number","_","fortnightKeyword","_","fromConnector","_","now"],postprocess:e=>d("future",c(e[0]*2,"week"))},{name:"relativeDate",symbols:["fortnightKeyword","_","fromConnector","_","now"],postprocess:e=>d("future",c(2,"week"))},{name:"relativeDate",symbols:["inConnector","_","wordNumber","_","fortnightKeyword"],postprocess:e=>d("future",c(b(e[2])*2,"week"))},{name:"relativeDate",symbols:["inConnector","_","number","_","fortnightKeyword"],postprocess:e=>d("future",c(e[2]*2,"week"))},{name:"relativeDate",symbols:["inConnector","_","fortnightKeyword"],postprocess:e=>d("future",c(2,"week"))},{name:"relativeDate",symbols:["wordNumber","_","fortnightKeyword","_","agoConnector"],postprocess:e=>d("past",c(b(e[0])*2,"week"))},{name:"relativeDate",symbols:["number","_","fortnightKeyword","_","agoConnector"],postprocess:e=>d("past",c(e[0]*2,"week"))},{name:"relativeDate",symbols:["fortnightKeyword","_","agoConnector"],postprocess:e=>d("past",c(2,"week"))},{name:"relativeDate",symbols:["number","_","weekday","_","fromConnector","_","now"],postprocess:e=>({...d("future",c(e[0],"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["wordNumber","_","weekday","_","fromConnector","_","now"],postprocess:e=>({...d("future",c(b(e[0]),"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["number","_","weekday","_","agoConnector"],postprocess:e=>({...d("past",c(e[0],"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["wordNumber","_","weekday","_","agoConnector"],postprocess:e=>({...d("past",c(b(e[0]),"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["weekday","_","inConnector","_","duration"],postprocess:e=>d("future",e[4],u({weekday:e[0]}))},{name:"relativeDate",symbols:["weekday","_","inConnector","_","wordNumber","_","unit"],postprocess:e=>d("future",c(b(e[4]),e[6]),u({weekday:e[0]}))},{name:"relativeDate",symbols:["weekday","_","duration","_","agoConnector"],postprocess:e=>d("past",e[2],u({weekday:e[0],relative:"last"}))},{name:"relativeDate",symbols:["weekday","_","wordNumber","_","unit","_","agoConnector"],postprocess:e=>d("past",c(b(e[2]),e[4]),u({weekday:e[0],relative:"last"}))},{name:"relativeDate",symbols:["timeWord","_","inConnector","_","duration"],postprocess:e=>d("future",e[4],void 0,{special:e[0]})},{name:"relativeDate",symbols:["timeWord","_","inConnector","_","wordNumber","_","unit"],postprocess:e=>d("future",c(b(e[4]),e[6]),void 0,{special:e[0]})},{name:"relativeDate",symbols:["timeWord","_","duration","_","agoConnector"],postprocess:e=>d("past",e[2],void 0,{special:e[0]})},{name:"relativeDate",symbols:["timeWord","_","wordNumber","_","unit","_","agoConnector"],postprocess:e=>d("past",c(b(e[2]),e[4]),void 0,{special:e[0]})},{name:"fuzzy",symbols:["quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[0].value)})},{name:"fuzzy",symbols:["quarter","_","year"],postprocess:e=>m({period:"quarter",quarter:x(e[0].value),year:e[2]})},{name:"fuzzy",symbols:["half"],postprocess:e=>m({period:"half",half:G(e[0].value)})},{name:"fuzzy",symbols:["half","_","year"],postprocess:e=>m({period:"half",half:G(e[0].value),year:e[2]})},{name:"fuzzy",symbols:["earlyModifier","_","month"],postprocess:e=>m({period:"month",month:e[2],modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","month"],postprocess:e=>m({period:"month",month:e[2],modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","month"],postprocess:e=>m({period:"month",month:e[2],modifier:"late"})},{name:"fuzzy",symbols:["earlyModifier","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[2].value),modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[2].value),modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[2].value),modifier:"late"})},{name:"fuzzy",symbols:["earlyModifier","_","year"],postprocess:e=>m({period:"year",year:e[2],modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","year"],postprocess:e=>m({period:"year",year:e[2],modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","year"],postprocess:e=>m({period:"year",year:e[2],modifier:"late"})},{name:"fuzzy",symbols:["earlyModifier","_","yearUnit"],postprocess:e=>m({period:"year",modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","yearUnit"],postprocess:e=>m({period:"year",modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","yearUnit"],postprocess:e=>m({period:"year",modifier:"late"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"end"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"start"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"beginning"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"middle"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","theConnector","_","month"],postprocess:e=>m({period:"month",month:e[6],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","theConnector","_","unit"],postprocess:e=>m({period:e[6],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"end"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"beginning"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"start"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"middle"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"end",relative:"next"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"end",relative:"last"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"start",relative:"next"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"start",relative:"last"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"beginning",relative:"next"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"beginning",relative:"last"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"beginning"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"beginning"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"start"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"start"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"middle"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"middle"})},{name:"fuzzy",symbols:["season"],postprocess:e=>m({period:"season",season:e[0]})},{name:"fuzzy",symbols:["season","_","year"],postprocess:e=>m({period:"season",season:e[0],year:e[2]})},{name:"fuzzy",symbols:["earlyModifier","_","season"],postprocess:e=>m({period:"season",season:e[2],modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","season"],postprocess:e=>m({period:"season",season:e[2],modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","season"],postprocess:e=>m({period:"season",season:e[2],modifier:"late"})},{name:"fuzzy",symbols:["nextRelative","_","season"],postprocess:e=>m({period:"season",season:e[2],relative:"next"})},{name:"fuzzy",symbols:["lastRelative","_","season"],postprocess:e=>m({period:"season",season:e[2],relative:"last"})},{name:"fuzzy",symbols:["thisRelative","_","season"],postprocess:e=>m({period:"season",season:e[2],relative:"this"})},{name:"fuzzy",symbols:["ordinalWord","_","quarter","_","year"],postprocess:e=>m({period:"quarter",quarter:v(e[0]),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","quarter"],postprocess:e=>m({period:"quarter",quarter:v(e[0])})},{name:"fuzzy",symbols:["ordinalWord","_","half","_","year"],postprocess:e=>m({period:"half",half:v(e[0]),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","half"],postprocess:e=>m({period:"half",half:v(e[0])})},{name:"fuzzy",symbols:["aroundConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["aboutConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["roughlyConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["approximatelyConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["aroundConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["aboutConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["roughlyConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["approximatelyConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["sometimeConnector","_","inConnector","_","fuzzy"],postprocess:e=>e[4]},{name:"fuzzy",symbols:["sometimeConnector","_","inConnector","_","month"],postprocess:e=>m({period:"month",month:e[4]})},{name:"fuzzy",symbols:["sometimeConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],relative:"next"})},{name:"fuzzy",symbols:["sometimeConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],relative:"last"})},{name:"fuzzy",symbols:["sometimeConnector","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],relative:"this"})},{name:"fuzzy",symbols:["theConnector","_","lastRelative","_","unit","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[8],modifier:"late"})},{name:"fuzzy",symbols:["theConnector","_","ordinalWord","_","unit","_","ofConnector","_","month"],postprocess:(e,t,o)=>e[2].toLowerCase()==="first"?m({period:"month",month:e[8],modifier:"early"}):o},{name:"fuzzy",symbols:["ordinalWord","_","quarterUnit"],postprocess:e=>m({period:"quarter",quarter:v(e[0])})},{name:"fuzzy",symbols:["ordinal","_","quarterUnit"],postprocess:e=>m({period:"quarter",quarter:Q(e[0])})},{name:"fuzzy",symbols:["ordinalWord","_","quarterUnit","_","year"],postprocess:e=>m({period:"quarter",quarter:v(e[0]),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","quarterUnit","_","ofConnector","_","year"],postprocess:e=>m({period:"quarter",quarter:v(e[0]),year:e[6]})},{name:"fuzzy",symbols:["quarter","_","ofConnector","_","year"],postprocess:e=>m({period:"quarter",quarter:x(e[0].value),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","halfWord","_","ofConnector","_","year"],postprocess:e=>m({period:"half",half:v(e[0]),year:e[6]})},{name:"fuzzy",symbols:["earlyModifier","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"early",relative:"next"})},{name:"fuzzy",symbols:["midModifier","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"mid",relative:"next"})},{name:"fuzzy",symbols:["lateModifier","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"late",relative:"next"})},{name:"fuzzy",symbols:["earlyModifier","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"early",relative:"last"})},{name:"fuzzy",symbols:["midModifier","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"mid",relative:"last"})},{name:"fuzzy",symbols:["lateModifier","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"late",relative:"last"})},{name:"fuzzy",symbols:["earlyModifier","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"early",relative:"this"})},{name:"fuzzy",symbols:["midModifier","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"mid",relative:"this"})},{name:"fuzzy",symbols:["lateModifier","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"late",relative:"this"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","theConnector","_","unit"],postprocess:e=>m({period:e[6],modifier:"beginning"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","theConnector","_","unit"],postprocess:e=>m({period:e[6],modifier:"middle"})},{name:"fuzzy",symbols:["lastRelative","_","unit","_","ofConnector","_","month"],postprocess:(e,t,o)=>e[2].toLowerCase()==="day"||e[2].toLowerCase()==="days"?o:m({period:"month",month:e[6],modifier:"late"})},{name:"fuzzy",symbols:["ordinalWord","_","unit","_","ofConnector","_","month"],postprocess:(e,t,o)=>e[2].toLowerCase()==="day"||e[2].toLowerCase()==="days"?o:m({period:"month",month:e[6],modifier:v(e[0])<=2?"early":v(e[0])>=4?"late":"mid"})},{name:"fuzzy",symbols:["weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"this"})},{name:"fuzzy",symbols:["theConnector","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"this"})},{name:"fuzzy",symbols:["thisRelative","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"this"})},{name:"fuzzy",symbols:["nextRelative","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"next"})},{name:"fuzzy",symbols:["lastRelative","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"last"})},{name:"fuzzy",symbols:["tonightKeyword"],postprocess:e=>m({period:"tonight"})},{name:"fuzzy",symbols:["nightKeyword"],postprocess:e=>m({period:"night"})},{name:"fuzzy",symbols:["lastRelative","_","nightKeyword"],postprocess:e=>m({period:"night",relative:"last"})},{name:"fuzzy",symbols:["tomorrow","_","nightKeyword"],postprocess:e=>m({period:"night",relative:"tomorrow"})},{name:"fuzzy",symbols:["weekday","_","nightKeyword"],postprocess:e=>m({period:"night",weekday:e[0]})},{name:"fuzzy",symbols:["laterKeyword","_","today"],postprocess:e=>m({period:"day",modifier:"later"})},{name:"fuzzy",symbols:["earlierKeyword","_","today"],postprocess:e=>m({period:"day",modifier:"earlier"})},{name:"fuzzy",symbols:["laterKeyword","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"later",relative:"this"})},{name:"fuzzy",symbols:["earlierKeyword","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"earlier",relative:"this"})},{name:"fuzzy",symbols:["weekKeyword","_","number"],postprocess:e=>m({period:"weekNumber",weekNumber:e[2]})},{name:"fuzzy",symbols:["weekKeyword","_","number","_","year"],postprocess:e=>m({period:"weekNumber",weekNumber:e[2],year:e[4]})},{name:"fuzzy",symbols:["theConnector","_","weekKeyword","_","ofConnector","_","date"],postprocess:e=>m({period:"weekOf",baseDate:e[6]})},{name:"fuzzy",symbols:["ordinalWord","_","weekKeyword","_","ofConnector","_","month"],postprocess:e=>m({period:"weekOfMonth",week:v(e[0]),month:e[6]})},{name:"fuzzy",symbols:[r.has("kw_ytd")?{type:"kw_ytd"}:kw_ytd],postprocess:e=>m({period:"ytd"})},{name:"duration",symbols:["number","_","unit"],postprocess:e=>c(e[0],e[2])},{name:"duration",symbols:["wordNumber","_","unit"],postprocess:e=>c(b(e[0]),e[2])},{name:"duration",symbols:["abbreviatedDuration"],postprocess:e=>e[0]},{name:"duration",symbols:["halfWord","_","wordNumber","_","unit"],postprocess:e=>{let t=e[2].toLowerCase();return c(t==="a"||t==="an"?.5:b(e[2])+.5,e[4])}},{name:"duration",symbols:["number","_","andConnector","_","halfWord","_","unit"],postprocess:e=>c(e[0]+.5,e[6])},{name:"duration",symbols:["wordNumber","_","andConnector","_","halfWord","_","unit"],postprocess:e=>c(b(e[0])+.5,e[6])},{name:"duration",symbols:["wordNumber","_","andConnector","_","wordNumber","_","halfWord","_","unit"],postprocess:e=>c(b(e[0])+.5,e[8])},{name:"duration",symbols:["wordNumber","_","unit","_","andConnector","_","wordNumber","_","halfWord"],postprocess:e=>c(b(e[0])+.5,e[2])},{name:"duration",symbols:["halfWord","_","unit"],postprocess:e=>c(.5,e[2])},{name:"duration",symbols:["duration","_","andConnector","_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[4]]})},{name:"duration",symbols:["duration","_",r.has("comma")?{type:"comma"}:comma,"_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[4]]})},{name:"duration",symbols:["duration","_",r.has("comma")?{type:"comma"}:comma,"_","andConnector","_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[6]]})},{name:"duration",symbols:["duration","_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[2]]})},{name:"duration",symbols:["aroundConnector","_","duration"],postprocess:e=>({...e[2],approximate:!0})},{name:"duration",symbols:["aboutConnector","_","duration"],postprocess:e=>({...e[2],approximate:!0})},{name:"abbreviatedDuration",symbols:[r.has("abbreviatedDuration")?{type:"abbreviatedDuration"}:abbreviatedDuration],postprocess:e=>{let t=e[0].value.match(/^(\d+)(mo|w|d|h|m|s|y)$/);if(!t)return null;let o=parseInt(t[1],10);return c(o,{w:"week",d:"day",h:"hour",m:"minute",mo:"month",s:"second",y:"year"}[t[2]])}},{name:"date",symbols:["specialDay"],postprocess:e=>u({special:e[0]})},{name:"date",symbols:["ordinalWeekdayOfMonth"],postprocess:p},{name:"date",symbols:["relativeWeekday"],postprocess:p},{name:"date",symbols:["weekday"],postprocess:e=>u({weekday:e[0]})},{name:"date",symbols:["monthDayYear"],postprocess:p},{name:"date",symbols:["monthDay"],postprocess:p},{name:"date",symbols:["monthDayCompact"],postprocess:p},{name:"date",symbols:["monthYear"],postprocess:p},{name:"date",symbols:["dateFormat"],postprocess:p},{name:"date",symbols:["relativePeriod"],postprocess:p},{name:"date",symbols:["complexDate"],postprocess:p},{name:"date",symbols:["dateWithTime"],postprocess:p},{name:"date",symbols:["relativeMonth"],postprocess:p},{name:"date",symbols:["monthOnly"],postprocess:p},{name:"date",symbols:["yearOnly"],postprocess:p},{name:"date",symbols:["timeOnly"],postprocess:p},{name:"date",symbols:["dayOnly"],postprocess:p},{name:"date",symbols:["eodCobDate"],postprocess:p},{name:"monthDayCompact",symbols:[r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact],postprocess:e=>{let t=W(e[0].value);return u({month:t.month,day:t.day})}},{name:"monthOnly",symbols:["month"],postprocess:e=>u({month:e[0],day:1,monthOnly:!0})},{name:"relativeMonth",symbols:["nextRelative","_","month"],postprocess:e=>u({month:e[2],day:1,monthOnly:!0,relativeMonth:"next"})},{name:"relativeMonth",symbols:["lastRelative","_","month"],postprocess:e=>u({month:e[2],day:1,monthOnly:!0,relativeMonth:"last"})},{name:"relativeMonth",symbols:["thisRelative","_","month"],postprocess:e=>u({month:e[2],day:1,monthOnly:!0,relativeMonth:"this"})},{name:"monthYear",symbols:["month","_","year"],postprocess:e=>u({month:e[0],year:e[2],day:1,monthOnly:!0})},{name:"yearOnly",symbols:["year"],postprocess:(e,t,o)=>{let s=e[0];return s<1900||s>2100?o:u({year:s,month:1,day:1,yearOnly:!0})}},{name:"timeOnly",symbols:["time"],postprocess:e=>u({time:e[0],timeOnly:!0})},{name:"timeOnly",symbols:["timeWord"],postprocess:e=>u({time:{special:e[0]},timeOnly:!0})},{name:"dayOnly",symbols:["theConnector","_","dayNumber"],postprocess:e=>u({day:e[2],dayOnly:!0})},{name:"dayOnly",symbols:["onConnector","_","theConnector","_","dayNumber"],postprocess:e=>u({day:e[4],dayOnly:!0})},{name:"eodCobDate",symbols:["eodKeyword"],postprocess:e=>u({special:"today",time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["cobKeyword"],postprocess:e=>u({special:"today",time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["eodKeyword","_","weekday"],postprocess:e=>u({weekday:e[2],time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["cobKeyword","_","weekday"],postprocess:e=>u({weekday:e[2],time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["eodKeyword","_","specialDay"],postprocess:e=>u({special:e[2],time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["cobKeyword","_","specialDay"],postprocess:e=>u({special:e[2],time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["endConnector","_","ofConnector","_","dayUnit","_","specialDay"],postprocess:e=>u({special:e[6],time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["closeKeyword","_","ofConnector","_","businessKeyword","_","weekday"],postprocess:e=>u({weekday:e[6],time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["closeKeyword","_","ofConnector","_","businessKeyword","_","specialDay"],postprocess:e=>u({special:e[6],time:{hour:17,minute:0}})},{name:"specialDay",symbols:["today"],postprocess:e=>"today"},{name:"specialDay",symbols:["tomorrow"],postprocess:e=>"tomorrow"},{name:"specialDay",symbols:["yesterday"],postprocess:e=>"yesterday"},{name:"specialDay",symbols:["now"],postprocess:e=>"now"},{name:"specialDay",symbols:["theConnector","_","dayUnit","_","afterConnector","_","tomorrow"],postprocess:e=>"dayAfterTomorrow"},{name:"specialDay",symbols:["dayUnit","_","afterConnector","_","tomorrow"],postprocess:e=>"dayAfterTomorrow"},{name:"specialDay",symbols:["theConnector","_","dayUnit","_","beforeConnector","_","yesterday"],postprocess:e=>"dayBeforeYesterday"},{name:"specialDay",symbols:["dayUnit","_","beforeConnector","_","yesterday"],postprocess:e=>"dayBeforeYesterday"},{name:"dayUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="day"?e[0]:o},{name:"dayOrDaysUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="day"||e[0].value==="days"?e[0]:o},{name:"relativeWeekday",symbols:["nextRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"next"})},{name:"relativeWeekday",symbols:["lastRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"last"})},{name:"relativeWeekday",symbols:["thisRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"this"})},{name:"relativeWeekday",symbols:["comingRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"next"})},{name:"relativeWeekday",symbols:["previousRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"last"})},{name:"relativePeriod",symbols:["nextRelative","_","unit"],postprocess:e=>u({relative:"next",period:e[2]})},{name:"relativePeriod",symbols:["lastRelative","_","unit"],postprocess:e=>u({relative:"last",period:e[2]})},{name:"relativePeriod",symbols:["thisRelative","_","unit"],postprocess:e=>u({relative:"this",period:e[2]})},{name:"monthDay",symbols:["month","_","dayNumber"],postprocess:e=>u({month:e[0],day:e[2]})},{name:"monthDay",symbols:["dayNumber","_","month"],postprocess:e=>u({month:e[2],day:e[0]})},{name:"monthDay",symbols:["dayNumber","_","ofConnector","_","month"],postprocess:e=>u({month:e[4],day:e[0]})},{name:"monthDay",symbols:["theConnector","_","dayNumber","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],day:e[2]})},{name:"monthDay",symbols:["month","_","ordinalWord"],postprocess:e=>u({month:e[0],day:v(e[2])})},{name:"monthDay",symbols:["month","_","theConnector","_","dayNumber"],postprocess:e=>u({month:e[0],day:e[4]})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","weekday","_","ofConnector","_","month"],postprocess:e=>u({ordinalWeekday:v(e[0]),weekday:e[2],month:e[6]})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","weekday","_","ofConnector","_","month"],postprocess:e=>u({ordinalWeekday:-1,weekday:e[2],month:e[6]})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","weekday","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({ordinalWeekday:v(e[0]),weekday:e[2],monthFromRef:!0})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","weekday","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({ordinalWeekday:-1,weekday:e[2],monthFromRef:!0})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","dayUnit","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],day:v(e[0])})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],day:-1,lastDayOfMonth:!0})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({lastDayOfMonth:!0,monthFromRef:!0})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","dayUnit","_","ofConnector","_","nextRelative","_","monthUnit"],postprocess:e=>u({ordinalWeekday:v(e[0]),dayOfMonth:!0,nextMonth:!0})},{name:"monthDayYear",symbols:["monthDay","_","year"],postprocess:e=>({...e[0],year:e[2]})},{name:"monthDayYear",symbols:["monthDay",r.has("comma")?{type:"comma"}:comma,"_","year"],postprocess:e=>({...e[0],year:e[3]})},{name:"dateFormat",symbols:[r.has("integer")?{type:"integer"}:integer,r.has("dash")?{type:"dash"}:dash,r.has("integer")?{type:"integer"}:integer,r.has("dash")?{type:"dash"}:dash,r.has("integer")?{type:"integer"}:integer],postprocess:e=>{let t=[parseInt(e[0].value,10),parseInt(e[2].value,10),parseInt(e[4].value,10)];return t[0]>1e3?u({year:t[0],month:t[1],day:t[2]}):u({formatParts:t,separator:"-"})}},{name:"dateFormat",symbols:[r.has("integer")?{type:"integer"}:integer,r.has("slash")?{type:"slash"}:slash,r.has("integer")?{type:"integer"}:integer,r.has("slash")?{type:"slash"}:slash,r.has("integer")?{type:"integer"}:integer],postprocess:e=>{let t=[parseInt(e[0].value,10),parseInt(e[2].value,10),parseInt(e[4].value,10)];return t[0]>1e3?u({year:t[0],month:t[1],day:t[2]}):u({formatParts:t,separator:"/"})}},{name:"dateWithTime",symbols:["date","_","atConnector","_","time"],postprocess:e=>({...e[0],time:e[4]})},{name:"dateWithTime",symbols:["date","_","atConnector","_","timeWord"],postprocess:e=>({...e[0],time:{special:e[4]}})},{name:"dateWithTime",symbols:["time","_","date"],postprocess:e=>({...e[2],time:e[0]})},{name:"dateWithTime",symbols:["timeWord","_","date"],postprocess:e=>({...e[2],time:{special:e[0]}})},{name:"dateWithTime",symbols:["date","_","time"],postprocess:e=>({...e[0],time:e[2]})},{name:"dateWithTime",symbols:["date","_","timeWord"],postprocess:e=>({...e[0],time:{special:e[2]}})},{name:"dateWithTime",symbols:["timeWord","_","onConnector","_","date"],postprocess:e=>({...e[4],time:{special:e[0]}})},{name:"dateWithTime",symbols:["timeWord","_","onConnector","_","weekday"],postprocess:e=>u({weekday:e[4],time:{special:e[0]}})},{name:"dateWithTime",symbols:["midnight","_","tonightKeyword"],postprocess:e=>u({special:"tonight",time:{special:"midnight"}})},{name:"complexDate",symbols:["nextRelative","_","unit","_","weekday","_","time"],postprocess:e=>u({relative:"next",period:e[2],weekday:e[4],time:e[6]})},{name:"complexDate",symbols:["nextRelative","_","unit","_","weekday"],postprocess:e=>u({relative:"next",period:e[2],weekday:e[4]})},{name:"complexDate",symbols:["lastRelative","_","unit","_","weekday","_","time"],postprocess:e=>u({relative:"last",period:e[2],weekday:e[4],time:e[6]})},{name:"complexDate",symbols:["lastRelative","_","unit","_","weekday"],postprocess:e=>u({relative:"last",period:e[2],weekday:e[4]})},{name:"complexDate",symbols:["thisRelative","_","unit","_","weekday","_","time"],postprocess:e=>u({relative:"this",period:e[2],weekday:e[4],time:e[6]})},{name:"complexDate",symbols:["thisRelative","_","unit","_","weekday"],postprocess:e=>u({relative:"this",period:e[2],weekday:e[4]})},{name:"time",symbols:[r.has("time")?{type:"time"}:time],postprocess:e=>{let t=e[0].value.split(":");return{hour:parseInt(t[0],10),minute:parseInt(t[1],10)}}},{name:"time",symbols:[r.has("time")?{type:"time"}:time,"_",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[0].value.split(":"),o=parseInt(t[0],10);return e[2].value==="pm"&&o!==12&&(o+=12),e[2].value==="am"&&o===12&&(o=0),{hour:o,minute:parseInt(t[1],10)}}},{name:"time",symbols:[r.has("time")?{type:"time"}:time,r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[0].value.split(":"),o=parseInt(t[0],10);return e[1].value==="pm"&&o!==12&&(o+=12),e[1].value==="am"&&o===12&&(o=0),{hour:o,minute:parseInt(t[1],10)}}},{name:"time",symbols:[r.has("integer")?{type:"integer"}:integer,"_",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=parseInt(e[0].value,10);return e[2].value==="pm"&&t!==12&&(t+=12),e[2].value==="am"&&t===12&&(t=0),{hour:t,minute:0}}},{name:"time",symbols:[r.has("integer")?{type:"integer"}:integer,r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=parseInt(e[0].value,10);return e[1].value==="pm"&&t!==12&&(t+=12),e[1].value==="am"&&t===12&&(t=0),{hour:t,minute:0}}},{name:"time",symbols:["quarterKeyword","_","pastConnector","_","hourNumber"],postprocess:e=>({hour:e[4],minute:15})},{name:"time",symbols:["quarterKeyword","_","pastConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t,minute:15}}},{name:"time",symbols:["halfWord","_","pastConnector","_","hourNumber"],postprocess:e=>({hour:e[4],minute:30})},{name:"time",symbols:["halfWord","_","pastConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t,minute:30}}},{name:"time",symbols:["quarterKeyword","_","toConnector","_","hourNumber"],postprocess:e=>({hour:e[4]-1,minute:45})},{name:"time",symbols:["quarterKeyword","_","toConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t-1,minute:45}}},{name:"time",symbols:["number","_","pastConnector","_","hourNumber"],postprocess:e=>({hour:e[4],minute:e[0]})},{name:"time",symbols:["number","_","pastConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t,minute:e[0]}}},{name:"time",symbols:["number","_","toConnector","_","hourNumber"],postprocess:e=>({hour:e[4]-1,minute:60-e[0]})},{name:"time",symbols:["number","_","toConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t-1,minute:60-e[0]}}},{name:"time",symbols:["number","_","toConnector","_","noon"],postprocess:e=>({hour:11,minute:60-e[0]})},{name:"time",symbols:["number","_","toConnector","_","midnight"],postprocess:e=>({hour:23,minute:60-e[0]})},{name:"time",symbols:["quarterKeyword","_","toConnector","_","noon"],postprocess:e=>({hour:11,minute:45})},{name:"time",symbols:["quarterKeyword","_","toConnector","_","midnight"],postprocess:e=>({hour:23,minute:45})},{name:"timeWord",symbols:["noon"],postprocess:e=>"noon"},{name:"timeWord",symbols:["midnight"],postprocess:e=>"midnight"},{name:"number",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:e=>parseInt(e[0].value,10)},{name:"number",symbols:[r.has("decimal")?{type:"decimal"}:decimal],postprocess:e=>parseFloat(e[0].value)},{name:"year",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>{let s=parseInt(e[0].value,10);return s>=1900&&s<=2100?s:o}},{name:"dayNumber",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>{let s=parseInt(e[0].value,10);return s<1||s>31?o:s}},{name:"dayNumber",symbols:[r.has("ordinal")?{type:"ordinal"}:ordinal],postprocess:e=>Q(e[0].value)},{name:"month",symbols:[r.has("month")?{type:"month"}:month],postprocess:e=>V(e[0].value)},{name:"weekday",symbols:[r.has("weekday")?{type:"weekday"}:weekday],postprocess:e=>e[0].value},{name:"quarter",symbols:[r.has("quarter")?{type:"quarter"}:quarter],postprocess:p},{name:"half",symbols:[r.has("half")?{type:"half"}:half],postprocess:p},{name:"season",symbols:[r.has("season")?{type:"season"}:season],postprocess:e=>e[0].value},{name:"unit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:e=>e[0].value},{name:"quarterUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="quarter"||s==="quarters"?s:o}},{name:"halfUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="half"?s:o}},{name:"yearUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="year"||s==="years"||s==="yr"||s==="yrs"?s:o}},{name:"monthUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="month"||s==="months"||s==="mo"||s==="mos"?s:o}},{name:"wordNumber",symbols:[r.has("wordNumber")?{type:"wordNumber"}:wordNumber],postprocess:e=>e[0].value},{name:"ordinalWord",symbols:[r.has("ordinalWord")?{type:"ordinalWord"}:ordinalWord],postprocess:e=>e[0].value},{name:"ordinalWord",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="second"?"second":o},{name:"ordinal",symbols:[r.has("ordinal")?{type:"ordinal"}:ordinal],postprocess:e=>e[0].value},{name:"halfWord",symbols:[r.has("halfWord")?{type:"halfWord"}:halfWord],postprocess:e=>e[0].value},{name:"toConnector",symbols:[r.has("kw_to")?{type:"kw_to"}:kw_to],postprocess:p},{name:"fromConnector",symbols:[r.has("kw_from")?{type:"kw_from"}:kw_from],postprocess:p},{name:"forConnector",symbols:[r.has("kw_for")?{type:"kw_for"}:kw_for],postprocess:p},{name:"inConnector",symbols:[r.has("kw_in")?{type:"kw_in"}:kw_in],postprocess:p},{name:"onConnector",symbols:[r.has("kw_on")?{type:"kw_on"}:kw_on],postprocess:p},{name:"atConnector",symbols:[r.has("kw_at")?{type:"kw_at"}:kw_at],postprocess:p},{name:"ofConnector",symbols:[r.has("kw_of")?{type:"kw_of"}:kw_of],postprocess:p},{name:"theConnector",symbols:[r.has("kw_the")?{type:"kw_the"}:kw_the],postprocess:p},{name:"andConnector",symbols:[r.has("kw_and")?{type:"kw_and"}:kw_and],postprocess:p},{name:"betweenConnector",symbols:[r.has("kw_between")?{type:"kw_between"}:kw_between],postprocess:p},{name:"throughConnector",symbols:[r.has("kw_through")?{type:"kw_through"}:kw_through],postprocess:p},{name:"untilConnector",symbols:[r.has("kw_until")?{type:"kw_until"}:kw_until],postprocess:p},{name:"withinConnector",symbols:[r.has("kw_within")?{type:"kw_within"}:kw_within],postprocess:p},{name:"overConnector",symbols:[r.has("kw_over")?{type:"kw_over"}:kw_over],postprocess:p},{name:"duringConnector",symbols:[r.has("kw_during")?{type:"kw_during"}:kw_during],postprocess:p},{name:"startingConnector",symbols:[r.has("kw_starting")?{type:"kw_starting"}:kw_starting],postprocess:p},{name:"byConnector",symbols:[r.has("kw_by")?{type:"kw_by"}:kw_by],postprocess:p},{name:"aroundConnector",symbols:[r.has("kw_around")?{type:"kw_around"}:kw_around],postprocess:p},{name:"aboutConnector",symbols:[r.has("kw_about")?{type:"kw_about"}:kw_about],postprocess:p},{name:"roughlyConnector",symbols:[r.has("kw_roughly")?{type:"kw_roughly"}:kw_roughly],postprocess:p},{name:"approximatelyConnector",symbols:[r.has("kw_approximately")?{type:"kw_approximately"}:kw_approximately],postprocess:p},{name:"sometimeConnector",symbols:[r.has("kw_sometime")?{type:"kw_sometime"}:kw_sometime],postprocess:p},{name:"afterConnector",symbols:[r.has("kw_after")?{type:"kw_after"}:kw_after],postprocess:p},{name:"beforeConnector",symbols:[r.has("kw_before")?{type:"kw_before"}:kw_before],postprocess:p},{name:"endConnector",symbols:[r.has("kw_end")?{type:"kw_end"}:kw_end],postprocess:p},{name:"beginningConnector",symbols:[r.has("kw_beginning")?{type:"kw_beginning"}:kw_beginning],postprocess:p},{name:"startConnector",symbols:[r.has("kw_start")?{type:"kw_start"}:kw_start],postprocess:p},{name:"middleConnector",symbols:[r.has("kw_middle")?{type:"kw_middle"}:kw_middle],postprocess:p},{name:"agoConnector",symbols:[r.has("kw_ago")?{type:"kw_ago"}:kw_ago],postprocess:p},{name:"henceConnector",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="hence"?e[0]:o},{name:"laterConnector",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="later"?e[0]:o},{name:"earlyModifier",symbols:[r.has("kw_early")?{type:"kw_early"}:kw_early],postprocess:p},{name:"midModifier",symbols:[r.has("kw_mid")?{type:"kw_mid"}:kw_mid],postprocess:p},{name:"lateModifier",symbols:[r.has("kw_late")?{type:"kw_late"}:kw_late],postprocess:p},{name:"nextRelative",symbols:[r.has("kw_next")?{type:"kw_next"}:kw_next],postprocess:p},{name:"lastRelative",symbols:[r.has("kw_last")?{type:"kw_last"}:kw_last],postprocess:p},{name:"thisRelative",symbols:[r.has("kw_this")?{type:"kw_this"}:kw_this],postprocess:p},{name:"previousRelative",symbols:[r.has("kw_previous")?{type:"kw_previous"}:kw_previous],postprocess:p},{name:"comingRelative",symbols:[r.has("kw_coming")?{type:"kw_coming"}:kw_coming],postprocess:p},{name:"upcomingRelative",symbols:[r.has("kw_upcoming")?{type:"kw_upcoming"}:kw_upcoming],postprocess:p},{name:"pastRelative",symbols:[r.has("kw_past")?{type:"kw_past"}:kw_past],postprocess:p},{name:"today",symbols:[r.has("kw_today")?{type:"kw_today"}:kw_today],postprocess:p},{name:"tomorrow",symbols:[r.has("kw_tomorrow")?{type:"kw_tomorrow"}:kw_tomorrow],postprocess:p},{name:"yesterday",symbols:[r.has("kw_yesterday")?{type:"kw_yesterday"}:kw_yesterday],postprocess:p},{name:"now",symbols:[r.has("kw_now")?{type:"kw_now"}:kw_now],postprocess:p},{name:"noon",symbols:[r.has("kw_noon")?{type:"kw_noon"}:kw_noon],postprocess:p},{name:"midnight",symbols:[r.has("kw_midnight")?{type:"kw_midnight"}:kw_midnight],postprocess:p},{name:"quarterKeyword",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="quarter"?e[0]:o},{name:"hourNumber",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>{let s=parseInt(e[0].value,10);return s<1||s>12?o:s}},{name:"pastConnector",symbols:[r.has("kw_past")?{type:"kw_past"}:kw_past],postprocess:p},{name:"weekendKeyword",symbols:[r.has("kw_weekend")?{type:"kw_weekend"}:kw_weekend],postprocess:p},{name:"tonightKeyword",symbols:[r.has("kw_tonight")?{type:"kw_tonight"}:kw_tonight],postprocess:p},{name:"nightKeyword",symbols:[r.has("kw_night")?{type:"kw_night"}:kw_night],postprocess:p},{name:"fortnightKeyword",symbols:[r.has("kw_fortnight")?{type:"kw_fortnight"}:kw_fortnight],postprocess:p},{name:"laterKeyword",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="later"?e[0]:o},{name:"earlierKeyword",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="earlier"?e[0]:o},{name:"weekKeyword",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="week"||s==="weeks"?e[0]:o}},{name:"businessKeyword",symbols:[r.has("kw_business")?{type:"kw_business"}:kw_business],postprocess:p},{name:"eodKeyword",symbols:[r.has("kw_eod")?{type:"kw_eod"}:kw_eod],postprocess:p},{name:"cobKeyword",symbols:[r.has("kw_cob")?{type:"kw_cob"}:kw_cob],postprocess:p},{name:"closeKeyword",symbols:[r.has("kw_close")?{type:"kw_close"}:kw_close],postprocess:p},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1",r.has("ws")?{type:"ws"}:ws],postprocess:e=>e[0].concat([e[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:ce}],ParserStart:"main"},Z=he;function K(e,t){let o=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())),s=o.getUTCDay(),a=e-s;return a<=0&&(a+=7),o.setUTCDate(o.getUTCDate()+a),o}function X(e,t){let o=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())),a=o.getUTCDay()-e;return a<=0&&(a+=7),o.setUTCDate(o.getUTCDate()-a),o}function E(e,t,o){let s=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())),a=s.getUTCDay(),n=o==="monday"?1:0,i=a-n;i<0&&(i+=7);let l=e-n;l<0&&(l+=7);let y=l-i;return s.setUTCDate(s.getUTCDate()+y),s}var S={sunday:0,sun:0,monday:1,mon:1,tuesday:2,tue:2,tues:2,wednesday:3,wed:3,thursday:4,thu:4,thur:4,thurs:4,friday:5,fri:5,saturday:6,sat:6},A={january:0,april:3,july:6,october:9};function O(e,t){t.special==="noon"?e.setUTCHours(12,0,0,0):t.special==="midnight"?e.setUTCHours(0,0,0,0):t.hour!==void 0&&e.setUTCHours(t.hour,t.minute??0,0,0)}function fe(e,t){let o=t.referenceDate,s;switch(e.special){case"today":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()));break;case"tomorrow":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()+1));break;case"yesterday":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()-1));break;case"now":s=new Date(o);break;case"dayAfterTomorrow":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()+2));break;case"dayBeforeYesterday":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()-2));break;default:s=new Date(o)}return e.time&&O(s,e.time),s}function _e(e,t){let o=t.referenceDate,s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()));return e.time&&O(s,e.time),s}function be(e,t){let o=t.referenceDate,s=S[e.weekday.toLowerCase()]??0,a;if(e.period&&e.period.toLowerCase()==="week"){let n;switch(e.relative){case"next":n=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()+7));break;case"last":n=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()-7));break;default:n=o}a=E(s,n,t.weekStartsOn)}else switch(e.relative){case"next":a=K(s,o);break;case"last":a=X(s,o);break;case"this":a=E(s,o,t.weekStartsOn);break;default:a=K(s,o)}return e.time&&O(a,e.time),a}function we(e,t){let o=t.referenceDate,s=e.formatParts;if(s.length<3||s[0]===void 0||s[1]===void 0||s[2]===void 0)return o;let[a,n,i]=s,l,y,h;return i>1e3?t.dateFormat==="intl"||a>12&&n<=12?(h=a,y=n,l=i):(y=a,h=n,l=i):(y=a,h=n,l=i<100?i>50?1900+i:2e3+i:i),new Date(Date.UTC(l,y-1,h))}function ge(e,t){let o=t.referenceDate,s=e.year??o.getUTCFullYear(),a=typeof e.month=="number"?e.month-1:0;if(e.relativeMonth){let i=o.getUTCMonth();e.relativeMonth==="last"?a>=i&&s--:e.relativeMonth==="next"&&a<=i&&s++}else e.year===void 0&&a<o.getUTCMonth()&&s++;let n=new Date(Date.UTC(s,a,e.day));if(n.getUTCMonth()!==a||n.getUTCDate()!==e.day)throw new Error("Invalid date");return e.time&&O(n,e.time),n}function Ce(e,t){let o=t.referenceDate,s=e.ordinalWeekday,a=e.weekday.toLowerCase(),n=S[a]??0,i,l;if(e.monthFromRef?(i=o.getUTCMonth(),l=o.getUTCFullYear()):e.nextMonth?(i=o.getUTCMonth()+1,l=o.getUTCFullYear(),i>11&&(i=0,l++)):(i=typeof e.month=="number"?e.month-1:o.getUTCMonth(),l=o.getUTCFullYear(),i<o.getUTCMonth()&&l++),s===-1){let D=new Date(Date.UTC(l,i+1,0)).getUTCDate(),R=new Date(Date.UTC(l,i,D));for(;R.getUTCDay()!==n;)D--,R=new Date(Date.UTC(l,i,D));return R}let y=0;for(let f=1;f<=31;f++){let D=new Date(Date.UTC(l,i,f));if(D.getUTCMonth()!==i)break;if(D.getUTCDay()===n&&(y++,y===s))return D}let w=new Date(Date.UTC(l,i+1,0)).getUTCDate(),C=new Date(Date.UTC(l,i,w));for(;C.getUTCDay()!==n;)w--,C=new Date(Date.UTC(l,i,w));return C}function De(e,t){let o=t.referenceDate,s,a;return e.monthFromRef?(s=o.getUTCMonth(),a=o.getUTCFullYear()):e.nextMonth?(s=o.getUTCMonth()+1,a=o.getUTCFullYear(),s>11&&(s=0,a++)):(s=typeof e.month=="number"?e.month-1:o.getUTCMonth(),a=o.getUTCFullYear(),s<o.getUTCMonth()&&a++),new Date(Date.UTC(a,s+1,0))}function ve(e,t){let o=t.referenceDate,s=e.day,a=o.getUTCDate(),n=o.getUTCMonth(),i=o.getUTCFullYear(),l=n,y=i;s<a&&(l=n+1,l>11&&(l=0,y++));let h=new Date(Date.UTC(y,l,s));for(;h.getUTCDate()!==s;)l++,l>11&&(l=0,y++),h=new Date(Date.UTC(y,l,s));return e.time&&O(h,e.time),h}function ke(e,t){let o=t.referenceDate;switch(e.period.toLowerCase()){case"day":{let a=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()));return e.relative==="next"?a.setUTCDate(a.getUTCDate()+1):e.relative==="last"&&a.setUTCDate(a.getUTCDate()-1),a}case"week":{let a=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate())),n=t.weekStartsOn==="monday"?1:0,l=(a.getUTCDay()-n+7)%7;return a.setUTCDate(a.getUTCDate()-l),e.relative==="next"?a.setUTCDate(a.getUTCDate()+7):e.relative==="last"&&a.setUTCDate(a.getUTCDate()-7),a}case"month":return e.relative==="next"?new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth()+1,1)):e.relative==="last"?new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth()-1,1)):new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),1));case"year":return e.relative==="next"?new Date(Date.UTC(o.getUTCFullYear()+1,0,1)):e.relative==="last"?new Date(Date.UTC(o.getUTCFullYear()-1,0,1)):new Date(Date.UTC(o.getUTCFullYear(),0,1));default:return new Date(o)}}function N(e,t){if(e.special)return fe(e,t);if(e.timeOnly&&e.time)return _e(e,t);if(e.ordinalWeekday!==void 0&&e.weekday!==void 0)return Ce(e,t);if(e.weekday)return be(e,t);if(e.formatParts)return we(e,t);if(e.month!==void 0&&e.day!==void 0)return ge(e,t);if(e.dayOnly&&e.day!==void 0)return ve(e,t);if(e.lastDayOfMonth)return De(e,t);if(e.dayOfMonth&&e.nextMonth){let o=t.referenceDate,s=o.getUTCMonth()+1,a=o.getUTCFullYear();s>11&&(s=0,a++);let n=e.ordinalWeekday||1;return new Date(Date.UTC(a,s,n))}return e.relative&&e.period?ke(e,t):new Date(t.referenceDate)}function Ne(e,t){switch(t){case"second":return e*1e3;case"minute":return e*6e4;case"hour":return e*36e5;case"day":return e*864e5;case"week":return e*6048e5;case"month":return e*2592e6;case"year":return e*31536e6;default:return 0}}function M(e,t=!1){if(e.combined&&Array.isArray(e.combined)){let s=e.combined.some(a=>a.unit==="hour");return e.combined.reduce((a,n)=>a+M(n,s),0)}let o=e.unit;return t&&o==="month"&&(o="minute"),Ne(e.value,o)}function I(e,t,o){let s=A[o]??0,a=(s+(e-1)*3)%12,n=t;a<s&&n++;let i=new Date(Date.UTC(n,a,1)),l=(a+3)%12,y=n;l<a&&y++;let h=new Date(Date.UTC(y,l,0));return{start:i,end:h}}function ee(e,t,o){let s=A[o]??0,a=(s+(e-1)*6)%12,n=t;a<s&&n++;let i=new Date(Date.UTC(n,a,1)),l=(a+6)%12,y=n;l<=a&&y++;let h=new Date(Date.UTC(y,l,0));return{start:i,end:h}}function te(e,t){switch(e){case"spring":return{start:new Date(Date.UTC(t,2,20)),end:new Date(Date.UTC(t,5,20))};case"summer":return{start:new Date(Date.UTC(t,5,21)),end:new Date(Date.UTC(t,8,22))};case"fall":case"autumn":return{start:new Date(Date.UTC(t,8,23)),end:new Date(Date.UTC(t,11,20))};case"winter":return{start:new Date(Date.UTC(t,11,21)),end:new Date(Date.UTC(t+1,2,19))};default:return{start:new Date(Date.UTC(t,0,1)),end:new Date(Date.UTC(t,11,31))}}}function oe(e,t,o){let s=t.getTime()-e.getTime(),a=s/3,n=s/2;switch(o){case"early":return{start:e,end:new Date(e.getTime()+a)};case"mid":case"middle":return{start:new Date(e.getTime()+a),end:new Date(e.getTime()+2*a)};case"late":return{start:new Date(e.getTime()+2*a),end:t};case"first":return{start:e,end:new Date(e.getTime()+n)};case"second":return{start:new Date(e.getTime()+n),end:t};default:return{start:e,end:t}}}function Me(e,t,o){let s=e.getUTCDay(),a=(6-s+7)%7,n=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+a));t==="next"?n=new Date(n.getTime()+6048e5):t==="last"&&((s===6||s===0)&&(n=new Date(n.getTime()-6048e5)),n=new Date(n.getTime()-6048e5));let i=new Date(n.getTime()+864e5),l=new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate(),23,59));return{start:n,end:l}}function se(e,t,o){let s=new Date(e);if(t==="last")s=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()-1));else if(t==="tomorrow")s=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+1));else if(o){let i=S[o.toLowerCase()];if(i!==void 0){let l=e.getUTCDay(),y=(i-l+7)%7;y===0&&(y=7),s=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+y))}}let a=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),18,0)),n=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),23,59));return{start:a,end:n}}function re(e,t,o){let s=t.referenceDate;if(e.period==="weekend")return Me(s,e.relative||"this",t);if(e.period==="tonight")return se(s,void 0,void 0);if(e.period==="night")return se(s,e.relative,e.weekday);if(e.period==="fortnight"){let a=e.count||1,n=e.relative,i=14*864e5;if(n==="last"){let h=new Date(s);return{start:new Date(s.getTime()-i),end:h}}let l=new Date(s),y=new Date(s.getTime()+a*i);return{start:l,end:y}}if(e.period==="quarter"&&e.quarter)return I(e.quarter,o,t.fiscalYearStart);if(e.period==="half"&&e.half)return ee(e.half,o,t.fiscalYearStart);if(e.period==="season"&&e.season)return te(e.season,o);if(e.period==="month"&&e.month!==void 0){let a=typeof e.month=="number"?e.month-1:0,n=new Date(Date.UTC(o,a,1)),i=new Date(Date.UTC(o,a+1,0));return{start:n,end:i}}if(e.period==="month"){let a=s.getUTCMonth(),n=new Date(Date.UTC(o,a,1)),i=new Date(Date.UTC(o,a+1,0));return{start:n,end:i}}if(e.period==="week"){let a=t.weekStartsOn==="monday"?1:0,i=(s.getUTCDay()-a+7)%7,l=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate()-i)),y=new Date(l.getTime()+6*864e5);return{start:l,end:y}}if(e.period==="weekNumber"&&e.weekNumber!==void 0){let a=e.weekNumber,n=e.year??s.getUTCFullYear(),i=t.weekStartsOn==="monday"?1:0,l=new Date(Date.UTC(n,0,1)),y=l.getUTCDay(),h=(i-y+7)%7,w=new Date(l.getTime()+h*864e5),C=new Date(w.getTime()+(a-1)*6048e5),f=new Date(C.getTime()+6*864e5);return{start:C,end:f}}if(e.period==="weekOf"&&e.baseDate){let a=e.baseDate,n;if(a.month!==void 0&&a.day!==void 0){let C=typeof a.month=="number"?a.month-1:0,f=a.day,D=a.year??s.getUTCFullYear();n=new Date(Date.UTC(D,C,f))}else n=s;let i=t.weekStartsOn==="monday"?1:0,y=(n.getUTCDay()-i+7)%7,h=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()-y)),w=new Date(h.getTime()+6*864e5);return{start:h,end:w}}if(e.period==="day"){let a=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate())),n=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),23,59,59,999));return{start:a,end:n}}if(e.period==="year"){let a=new Date(Date.UTC(o,0,1)),n=new Date(Date.UTC(o,11,31));return{start:a,end:n}}if(e.period==="ytd"){let a=new Date(Date.UTC(s.getUTCFullYear(),0,1)),n=new Date(s);return{start:a,end:n}}if(e.period==="weekOfMonth"&&e.week!==void 0&&e.month!==void 0){let a=e.month-1,n=e.week,i=e.year??s.getUTCFullYear(),l=new Date(Date.UTC(i,a,1)),y=t.weekStartsOn==="monday"?1:0,h=l.getUTCDay(),w=(y-h+7)%7,C=new Date(l.getTime()+w*864e5),f=new Date(C.getTime()+(n-1)*6048e5),D=new Date(f.getTime()+6*864e5);return{start:f,end:D}}return{start:new Date(Date.UTC(o,0,1)),end:new Date(Date.UTC(o,11,31))}}function L(e,t){let o=t.referenceDate,s=e.year??o.getUTCFullYear();return re(e,t,s)}function q(e,t){let o=t.referenceDate,s=e.year??o.getUTCFullYear();if(e.period==="quarter"&&e.quarter&&e.year===void 0){let{end:i}=I(e.quarter,s,t.fiscalYearStart);i<o&&s++}let{start:a,end:n}=re(e,t,s);return e.modifier?oe(a,n,e.modifier):{start:a,end:n}}function We(e){return{referenceDate:e?.referenceDate??new Date,fiscalYearStart:e?.fiscalYearStart??"january",weekStartsOn:e?.weekStartsOn??"sunday",dateFormat:e?.dateFormat??"intl"}}function Se(e){return{sunday:0,sun:0,monday:1,mon:1,tuesday:2,tue:2,tues:2,wednesday:3,wed:3,thursday:4,thu:4,thur:4,thurs:4,friday:5,fri:5,saturday:6,sat:6}[e]??0}function Oe(e,t,o){if(!e||!e.nodeType)return null;let s=null,a=e;switch(e.nodeType==="titled"&&(o&&e.titleStart!==void 0&&e.titleEnd!==void 0?s=o.slice(e.titleStart,e.titleEnd).trim():s=e.title,a=e.expression),a.nodeType){case"date":return{type:"date",date:N(a,t),title:s};case"duration":{let n=M(a),i=a.approximate===!0;return{type:"duration",duration:n,title:s,approximate:i}}case"span":{let n,i=a.start;i.nodeType==="date"?n=N(i,t):i.nodeType==="fuzzy"?n=q(i,t).start:n=new Date(t.referenceDate);let l=0;a.duration&&(l=M(a.duration));let y=new Date(n.getTime()+l);return{type:"span",start:n,end:y,duration:l,title:s}}case"range":{let n,i,l=a.start,y=a.end;if(l.nodeType==="date"?n=N(l,t):l.nodeType==="fuzzy"?n=q(l,t).start:n=new Date(t.referenceDate),y.nodeType==="date"){if(i=N(y,t),y.monthOnly){let w=typeof y.month=="number"?y.month-1:0,C=y.year??t.referenceDate.getUTCFullYear();i=new Date(Date.UTC(C,w+1,0))}if(y.yearOnly){let w=y.year??t.referenceDate.getUTCFullYear();i=new Date(Date.UTC(w,11,31))}}else y.nodeType==="fuzzy"?i=q(y,t).end:i=new Date(t.referenceDate);i<n&&(y.weekday!==void 0?i=new Date(i.getTime()+6048e5):i=new Date(Date.UTC(i.getUTCFullYear()+1,i.getUTCMonth(),i.getUTCDate(),i.getUTCHours(),i.getUTCMinutes())));let h=i.getTime()-n.getTime();return{type:"span",start:n,end:i,duration:h,title:s}}case"fuzzy":{let{start:n,end:i}=q(a,t),l=a.modifier,y=a.period;if(l==="start"||l==="beginning")return{type:"date",date:L(a,t).start,title:s};if(l==="end")return{type:"date",date:L(a,t).end,title:s};if(y==="weekend"||y==="night"||y==="tonight"||y==="fortnight"||y==="weekNumber"||y==="weekOf"){let h=i.getTime()-n.getTime();return{type:"span",start:n,end:i,duration:h,title:s}}return{type:"fuzzy",start:n,end:i,approximate:!0,title:s}}case"relative":{let n=M(a.duration),i=t.referenceDate,l,y;return a.direction==="past"?(y=new Date(i),l=new Date(i.getTime()-n)):(l=new Date(i),y=new Date(i.getTime()+n)),{type:"span",start:l,end:y,duration:n,title:s}}case"relativeDate":{let n=a.duration,i=a.baseDate,l=a.time,y;i?y=N(i,t):y=new Date(t.referenceDate);let h=n.value,w=n.unit,C=a.direction==="past"?-1:1,f;if(w==="month")f=new Date(Date.UTC(y.getUTCFullYear(),y.getUTCMonth()+C*h,y.getUTCDate(),y.getUTCHours(),y.getUTCMinutes()));else if(w==="year")f=new Date(Date.UTC(y.getUTCFullYear()+C*h,y.getUTCMonth(),y.getUTCDate(),y.getUTCHours(),y.getUTCMinutes()));else if(w==="businessDay"||w==="businessday"){f=new Date(Date.UTC(y.getUTCFullYear(),y.getUTCMonth(),y.getUTCDate()));let D=h;for(;D>0;){f.setUTCDate(f.getUTCDate()+C);let R=f.getUTCDay();R!==0&&R!==6&&D--}}else if(w==="weekdayoccurrence"){let D=a.weekday.toLowerCase().replace(/s$/,""),R=Se(D);f=new Date(Date.UTC(y.getUTCFullYear(),y.getUTCMonth(),y.getUTCDate()));let $=h;for(;$>0;)f.setUTCDate(f.getUTCDate()+C),f.getUTCDay()===R&&$--}else{let D=M(n);f=new Date(y.getTime()+C*D)}return l&&("special"in l?l.special==="noon"?f=new Date(Date.UTC(f.getUTCFullYear(),f.getUTCMonth(),f.getUTCDate(),12,0)):l.special==="midnight"&&(f=new Date(Date.UTC(f.getUTCFullYear(),f.getUTCMonth(),f.getUTCDate(),0,0))):f=new Date(Date.UTC(f.getUTCFullYear(),f.getUTCMonth(),f.getUTCDate(),l.hour,l.minute))),{type:"date",date:f,title:s}}default:return null}}function qe(e){let t=e,o=e,s=(t.match(/\(/g)||[]).length,a=(t.match(/\)/g)||[]).length,n=(t.match(/\[/g)||[]).length,i=(t.match(/]/g)||[]).length;for(;a>s&&t.endsWith(")");)t=t.slice(0,-1).trimEnd(),a--;for(;i>n&&t.endsWith("]");)t=t.slice(0,-1).trimEnd(),i--;for(s=(t.match(/\(/g)||[]).length,a=(t.match(/\)/g)||[]).length;s>a;)t=t.replace(/\(/,""),s--;for(n=(t.match(/\[/g)||[]).length,i=(t.match(/]/g)||[]).length;n>i;)t=t.replace(/\[/,""),n--;return{stripped:t.replace(/\s+/g," ").trim(),originalPreserved:o}}function H(e,t){if(!e||typeof e!="string")return null;let o=e.trim(),{stripped:s,originalPreserved:a}=qe(o),n=s.toLowerCase();if(!n)return null;let i=We(t);try{let l=new j.default.Parser(j.default.Grammar.fromCompiled(Z));if(l.feed(n),l.results.length===0)return null;let y=l.results[0];return Oe(y,i,a)}catch{return null}}function ae(e,t){if(!e||typeof e!="string")return[];let o=e.split(/[,;\n]|\s+and\s+/).map(a=>a.trim()).filter(a=>a.length>0),s=[];for(let a of o){let n=H(a,t);n&&s.push(n)}return s}function P(e,t){return H(e,t)}function Fe(e,t){let o=P(e,t);if(!o)return null;if(o.type==="date")return o.date;if(o.type==="duration"){let s=t?.referenceDate??new Date;return new Date(s.getTime()+o.duration)}return o.type==="fuzzy"?o.start:null}function Pe(e,t){let o=P(e,t);return o&&o.type==="duration"?o.duration:null}function Ye(e,t){let o=P(e,t);return o&&(o.type==="span"||o.type==="fuzzy")?{start:o.start,end:o.end,duration:o.type==="span"?o.duration:o.end.getTime()-o.start.getTime()}:null}function Ke(e,t){return ae(e,t)}0&&(module.exports={extract,parse,parseDate,parseDuration,parseSpan});
|
|
1
|
+
"use strict";var ne=Object.create;var F=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var le=Object.getPrototypeOf,pe=Object.prototype.hasOwnProperty;var ye=(e,t)=>{for(var o in t)F(e,o,{get:t[o],enumerable:!0})},B=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of me(t))!pe.call(e,a)&&a!==o&&F(e,a,{get:()=>t[a],enumerable:!(s=ie(t,a))||s.enumerable});return e};var J=(e,t,o)=>(o=e!=null?ne(le(e)):{},B(t||!e||!e.__esModule?F(o,"default",{value:e,enumerable:!0}):o,e)),ue=e=>B(F({},"__esModule",{value:!0}),e);var Ee={};ye(Ee,{extract:()=>Ke,parse:()=>P,parseDate:()=>Fe,parseDuration:()=>Pe,parseSpan:()=>Ye});module.exports=ue(Ee);var j=J(require("nearley"),1);var Y=J(require("moo"),1),r=Y.default.compile({ws:/[ \t]+/,newline:{match:/\r?\n/,lineBreaks:!0},time:/(?:0?[0-9]|1[0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?/,monthDayCompact:{match:/(?:[Jj]anuary|[Ff]ebruary|[Mm]arch|[Aa]pril|[Mm]ay|[Jj]une|[Jj]uly|[Aa]ugust|[Ss]eptember|[Oo]ctober|[Nn]ovember|[Dd]ecember|[Jj]an|[Ff]eb|[Mm]ar|[Aa]pr|[Jj]un|[Jj]ul|[Aa]ug|[Ss]ep|[Ss]ept|[Oo]ct|[Nn]ov|[Dd]ec)(?:3[01]|[12]?[0-9])/,value:e=>e.toLowerCase()},quarter:{match:/[Qq][1-4]/,value:e=>e.toUpperCase()},half:{match:/[Hh][1-2]/,value:e=>e.toUpperCase()},ordinal:{match:/(?:3[01]|[12]?[0-9])(?:[Ss][Tt]|[Nn][Dd]|[Rr][Dd]|[Tt][Hh])/,value:e=>e.toLowerCase()},decimal:/\d+\.\d+/,abbreviatedDuration:{match:/\d+(?:mo|w|d|h|m|s|y)\b/,value:e=>e.toLowerCase()},integer:/\d+/,ampm:{match:/[Aa][Mm]|[Pp][Mm]/,value:e=>e.toLowerCase()},word:{match:/[a-zA-Z][a-zA-Z0-9#]*/,type:Y.default.keywords({kw_today:["today"],kw_tomorrow:["tomorrow"],kw_yesterday:["yesterday"],kw_now:["now"],kw_noon:["noon"],kw_midnight:["midnight"],kw_morning:["morning"],kw_afternoon:["afternoon"],kw_evening:["evening"],kw_next:["next"],kw_last:["last"],kw_this:["this"],kw_previous:["previous"],kw_coming:["coming"],kw_upcoming:["upcoming"],kw_past:["past"],kw_early:["early"],kw_mid:["mid"],kw_late:["late"],kw_beginning:["beginning"],kw_middle:["middle"],kw_end:["end"],kw_start:["start"],unit:["day","days","week","weeks","month","months","year","years","quarter","quarters","hour","hours","minute","minutes","second","seconds","hr","hrs","min","mins","sec","secs","wk","wks","mo","mos","yr","yrs"],halfWord:["half"],kw_to:["to"],kw_from:["from"],kw_until:["until","til","till"],kw_through:["through"],kw_between:["between"],kw_and:["and"],kw_for:["for"],kw_in:["in"],kw_on:["on"],kw_at:["at"],kw_of:["of"],kw_the:["the"],kw_within:["within"],kw_over:["over"],kw_during:["during"],kw_starting:["starting"],kw_by:["by"],kw_before:["before"],kw_after:["after"],kw_around:["around"],kw_about:["about"],kw_roughly:["roughly"],kw_approximately:["approximately"],kw_sometime:["sometime"],ordinalWord:["first","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth","sixteenth","seventeenth","eighteenth","nineteenth","twentieth","twenty-first","twenty-second","twenty-third","twenty-fourth","twenty-fifth","twenty-sixth","twenty-seventh","twenty-eighth","twenty-ninth","thirtieth","thirty-first"],season:["spring","summer","fall","autumn","winter"],wordNumber:["one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty","a","an","couple"],month:["january","february","march","april","may","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],weekday:["monday","tuesday","wednesday","thursday","friday","saturday","sunday","mondays","tuesdays","wednesdays","thursdays","fridays","saturdays","sundays","mon","tue","tues","wed","thu","thur","thurs","fri","sat","sun"],kw_ago:["ago"],kw_weekend:["weekend"],kw_tonight:["tonight"],kw_night:["night"],kw_fortnight:["fortnight","fortnights"],otherKeyword:["fiscal","fy","daily","weekly","monthly","yearly","annually","hence","later","earlier"],kw_business:["business"],kw_eod:["eod"],kw_cob:["cob"],kw_close:["close"],kw_ytd:["ytd"]})},lparen:"(",rparen:")",lbracket:"[",rbracket:"]",colon:":",semicolon:";",comma:",",dash:/[-–—]/,slash:"/",other:/./});var p=e=>e[0],ce=()=>null;var u=e=>({nodeType:"date",value:"",...e}),c=(e,t)=>({nodeType:"duration",value:e,unit:de(t)}),T=(e,t,o)=>({nodeType:"span",start:e,duration:t,end:o}),C=(e,t)=>({nodeType:"range",start:e,end:t}),m=e=>({nodeType:"fuzzy",period:"",...e}),f=(e,t)=>({nodeType:"relative",direction:e,duration:t}),d=(e,t,o,s)=>({nodeType:"relativeDate",direction:e,duration:t,baseDate:o,time:s}),k=(e,t,o,s)=>({nodeType:"titled",title:e.trim(),titleStart:o,titleEnd:s,expression:t});function de(e){let t=e.toLowerCase();return["day","days","d"].includes(t)?"day":["week","weeks","wk","wks","w"].includes(t)?"week":["month","months","mo","mos"].includes(t)?"month":["year","years","yr","yrs","y"].includes(t)?"year":["hour","hours","hr","hrs","h"].includes(t)?"hour":["minute","minutes","min","mins"].includes(t)?"minute":["second","seconds","sec","secs","s"].includes(t)?"second":["quarter","quarters"].includes(t)?"quarter":t}function w(e){return{a:1,an:1,one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12,thirteen:13,fourteen:14,fifteen:15,sixteen:16,seventeen:17,eighteen:18,nineteen:19,twenty:20,couple:2}[e.toLowerCase()]??1}function Q(e){let t=e.match(/^(\d+)/);return t?parseInt(t[1],10):v(e)}function v(e){return{first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9,tenth:10,eleventh:11,twelfth:12,thirteenth:13,fourteenth:14,fifteenth:15,sixteenth:16,seventeenth:17,eighteenth:18,nineteenth:19,twentieth:20,"twenty-first":21,"twenty-second":22,"twenty-third":23,"twenty-fourth":24,"twenty-fifth":25,"twenty-sixth":26,"twenty-seventh":27,"twenty-eighth":28,"twenty-ninth":29,thirtieth:30,"thirty-first":31}[e.toLowerCase()]??1}function V(e){return{january:1,jan:1,february:2,feb:2,march:3,mar:3,april:4,apr:4,may:5,june:6,jun:6,july:7,jul:7,august:8,aug:8,september:9,sep:9,sept:9,october:10,oct:10,november:11,nov:11,december:12,dec:12}[e.toLowerCase()]??1}function W(e){let t=e.toLowerCase(),o=["january","february","march","april","may","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"];for(let s of o)if(t.startsWith(s)){let a=t.slice(s.length);return{month:V(s),day:parseInt(a,10)}}return{month:1,day:1}}function x(e){let t=e.match(/[qQ]([1-4])/);return t?parseInt(t[1],10):1}function G(e){let t=e.match(/[hH]([1-2])/);return t?parseInt(t[1],10):1}var he={Lexer:r,ParserRules:[{name:"main",symbols:["titledExpression"],postprocess:p},{name:"main",symbols:["expression"],postprocess:p},{name:"titledExpression",symbols:["titleTextSimple","_",r.has("dash")?{type:"dash"}:dash,"_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText",r.has("colon")?{type:"colon"}:colon,"_","expression"],postprocess:e=>k(e[0].text,e[3],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_",r.has("lparen")?{type:"lparen"}:lparen,"expression",r.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>k(e[0].text,e[3],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_",r.has("lbracket")?{type:"lbracket"}:lbracket,"expression",r.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>k(e[0].text,e[3],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","onConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","atConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","inConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","forConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","fromConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","duringConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","startingConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","byConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_",r.has("dash")?{type:"dash"}:dash,"_","byConnector","_","expression"],postprocess:e=>k(e[0].text,e[6],e[0].start,e[0].end)},{name:"titledExpression",symbols:["expression","_","postTitle"],postprocess:e=>k(e[2].text,e[0],e[2].start,e[2].end)},{name:"postTitle",symbols:[r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"postTitle",symbols:["postTitle","_",r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].text+" "+e[2].value,start:e[0].start,end:e[2].offset+e[2].text.length})},{name:"titleText",symbols:["titleWord"],postprocess:e=>({text:e[0].text,start:e[0].start,end:e[0].end})},{name:"titleText",symbols:["versionNumber"],postprocess:e=>e[0]},{name:"titleText",symbols:["hyphenatedWord"],postprocess:e=>e[0]},{name:"titleText",symbols:["titleText","_","titleWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleText",symbols:["titleText","_","versionNumber"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleText",symbols:["titleText","_","hyphenatedWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleText",symbols:["titleText","_",r.has("dash")?{type:"dash"}:dash,"_","titleWord"],postprocess:e=>({text:e[0].text+" - "+e[4].text,start:e[0].start,end:e[4].end})},{name:"titleText",symbols:["titleText","_",r.has("dash")?{type:"dash"}:dash,"_","versionNumber"],postprocess:e=>({text:e[0].text+" - "+e[4].text,start:e[0].start,end:e[4].end})},{name:"titleWord",symbols:[r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("wordNumber")?{type:"wordNumber"}:wordNumber],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("decimal")?{type:"decimal"}:decimal],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("quarter")?{type:"quarter"}:quarter],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("half")?{type:"half"}:half],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("lparen")?{type:"lparen"}:lparen,"titleText",r.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>({text:"("+e[1].text+")",start:e[0].offset,end:e[2].offset+1})},{name:"titleWord",symbols:[r.has("lbracket")?{type:"lbracket"}:lbracket,"titleText",r.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>({text:"["+e[1].text+"]",start:e[0].offset,end:e[2].offset+1})},{name:"titleWord",symbols:[r.has("slash")?{type:"slash"}:slash],postprocess:e=>({text:"/",start:e[0].offset,end:e[0].offset+1})},{name:"titleWord",symbols:[r.has("colon")?{type:"colon"}:colon],postprocess:e=>({text:":",start:e[0].offset,end:e[0].offset+1})},{name:"titleWord",symbols:["hashNumber"],postprocess:e=>e[0]},{name:"hyphenatedWord",symbols:[r.has("word")?{type:"word"}:word,r.has("dash")?{type:"dash"}:dash,r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].value+"-"+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length})},{name:"hyphenatedWord",symbols:[r.has("word")?{type:"word"}:word,r.has("dash")?{type:"dash"}:dash,r.has("integer")?{type:"integer"}:integer],postprocess:e=>({text:e[0].value+"-"+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length})},{name:"hashNumber",symbols:[r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[0].value!=="#"?o:{text:"#"+e[1].value,start:e[0].offset,end:e[1].offset+e[1].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[1].value!=="."?o:{text:e[0].value+"."+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[1].value!=="."||e[3].value!=="."?o:{text:e[0].value+"."+e[2].value+"."+e[4].value,start:e[0].offset,end:e[4].offset+e[4].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[1].value!=="."||e[3].value!=="."||e[5].value!=="."?o:{text:e[0].value+"."+e[2].value+"."+e[4].value+"."+e[6].value,start:e[0].offset,end:e[6].offset+e[6].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("decimal")?{type:"decimal"}:decimal],postprocess:(e,t,o)=>e[1].value!=="."?o:{text:e[0].value+"."+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length}},{name:"versionNumber",symbols:[r.has("decimal")?{type:"decimal"}:decimal],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleTextSimple",symbols:["titleWord"],postprocess:e=>e[0]},{name:"titleTextSimple",symbols:["hyphenatedWord"],postprocess:e=>e[0]},{name:"titleTextSimple",symbols:["versionNumber"],postprocess:e=>e[0]},{name:"titleTextSimple",symbols:["titleTextSimple","_","titleWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple","_","hyphenatedWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple","_","versionNumber"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple",r.has("slash")?{type:"slash"}:slash,"titleWord"],postprocess:e=>({text:e[0].text+"/"+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple",r.has("colon")?{type:"colon"}:colon,"_","titleWord"],postprocess:e=>({text:e[0].text+": "+e[3].text,start:e[0].start,end:e[3].end})},{name:"expression",symbols:["range"],postprocess:p},{name:"expression",symbols:["span"],postprocess:p},{name:"expression",symbols:["relative"],postprocess:p},{name:"expression",symbols:["relativeDate"],postprocess:p},{name:"expression",symbols:["lastDayOfMonthExpr"],postprocess:p},{name:"expression",symbols:["date"],postprocess:p},{name:"expression",symbols:["fuzzy"],postprocess:p},{name:"expression",symbols:["forDuration"],postprocess:p},{name:"expression",symbols:["duration"],postprocess:p},{name:"lastDayOfMonthExpr",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],lastDayOfMonth:!0})},{name:"lastDayOfMonthExpr",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({lastDayOfMonth:!0,monthFromRef:!0})},{name:"forDuration",symbols:["forConnector","_","duration"],postprocess:e=>e[2]},{name:"range",symbols:["date","_","toConnector","_","date"],postprocess:e=>C(e[0],e[4])},{name:"range",symbols:["fromConnector","_","date","_","toConnector","_","date"],postprocess:e=>C(e[2],e[6])},{name:"range",symbols:["date","_",r.has("dash")?{type:"dash"}:dash,"_","date"],postprocess:e=>C(e[0],e[4])},{name:"range",symbols:[r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact,r.has("dash")?{type:"dash"}:dash,r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact],postprocess:e=>{let t=W(e[0].value),o=W(e[2].value);return C(u({month:t.month,day:t.day}),u({month:o.month,day:o.day}))}},{name:"range",symbols:[r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact,"_",r.has("dash")?{type:"dash"}:dash,"_","date"],postprocess:e=>{let t=W(e[0].value);return C(u({month:t.month,day:t.day}),e[4])}},{name:"range",symbols:["date","_",r.has("dash")?{type:"dash"}:dash,"_",r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact],postprocess:e=>{let t=W(e[4].value);return C(e[0],u({month:t.month,day:t.day}))}},{name:"range",symbols:["specialDay","_","time","_","toConnector","_","time"],postprocess:e=>C(u({special:e[0],time:e[2]}),u({special:e[0],time:e[6]}))},{name:"range",symbols:["monthDay","_","time","_","toConnector","_","time"],postprocess:e=>C({...e[0],time:e[2]},{...e[0],time:e[6]})},{name:"range",symbols:["weekday","_","time","_","toConnector","_","time"],postprocess:e=>C(u({weekday:e[0],time:e[2]}),u({weekday:e[0],time:e[6]}))},{name:"range",symbols:["month","_","dayNumber",r.has("dash")?{type:"dash"}:dash,"dayNumber"],postprocess:e=>C(u({month:e[0],day:e[2]}),u({month:e[0],day:e[4]}))},{name:"range",symbols:["dayNumber",r.has("dash")?{type:"dash"}:dash,"dayNumber","_","month"],postprocess:e=>C(u({month:e[4],day:e[0]}),u({month:e[4],day:e[2]}))},{name:"range",symbols:["betweenConnector","_","date","_","andConnector","_","date"],postprocess:e=>C(e[2],e[6])},{name:"range",symbols:["date","_","throughConnector","_","date"],postprocess:e=>C(e[0],e[4])},{name:"range",symbols:["date","_","untilConnector","_","date"],postprocess:e=>C(e[0],e[4])},{name:"range",symbols:["untilConnector","_","date"],postprocess:e=>C(u({special:"today"}),e[2])},{name:"range",symbols:["untilConnector","_","fuzzy"],postprocess:e=>C(u({special:"today"}),e[2])},{name:"range",symbols:["fuzzy","_","toConnector","_","fuzzy"],postprocess:e=>C(e[0],e[4])},{name:"range",symbols:["fromConnector","_","fuzzy","_","toConnector","_","fuzzy"],postprocess:e=>C(e[2],e[6])},{name:"range",symbols:["betweenConnector","_","fuzzy","_","andConnector","_","fuzzy"],postprocess:e=>C(e[2],e[6])},{name:"range",symbols:["fromConnector","_","date","_","untilConnector","_","date"],postprocess:e=>C(e[2],e[6])},{name:"range",symbols:["fromConnector","_","specialDay","_","untilConnector","_","date"],postprocess:e=>C(u({special:e[2]}),e[6])},{name:"span",symbols:["date","_","forConnector","_","duration"],postprocess:e=>T(e[0],e[4])},{name:"span",symbols:["fuzzy","_","forConnector","_","duration"],postprocess:e=>T(e[0],e[4])},{name:"span",symbols:["inConnector","_","fuzzy","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["inConnector","_","date","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["inConnector","_","monthForSpan","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["startingConnector","_","date","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["beginningConnector","_","date","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["startingConnector","_","date"],postprocess:e=>T(e[2])},{name:"span",symbols:["date","_","startingConnector","_","date"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","startingConnector","_","date"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","fromConnector","_","date"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","inConnector","_","fuzzy"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","inConnector","_","theConnector","_","fuzzy"],postprocess:e=>T(e[6],e[0])},{name:"monthForSpan",symbols:["month"],postprocess:e=>m({period:"month",month:e[0]})},{name:"relative",symbols:["lastRelative","_","number","_","unit"],postprocess:e=>f("past",c(e[2],e[4]))},{name:"relative",symbols:["pastRelative","_","number","_","unit"],postprocess:e=>f("past",c(e[2],e[4]))},{name:"relative",symbols:["previousRelative","_","number","_","unit"],postprocess:e=>f("past",c(e[2],e[4]))},{name:"relative",symbols:["nextRelative","_","number","_","unit"],postprocess:e=>f("future",c(e[2],e[4]))},{name:"relative",symbols:["comingRelative","_","number","_","unit"],postprocess:e=>f("future",c(e[2],e[4]))},{name:"relative",symbols:["upcomingRelative","_","number","_","unit"],postprocess:e=>f("future",c(e[2],e[4]))},{name:"relative",symbols:["withinConnector","_","duration"],postprocess:e=>f("future",e[2])},{name:"relative",symbols:["withinConnector","_","theConnector","_","nextRelative","_","duration"],postprocess:e=>f("future",e[6])},{name:"relative",symbols:["withinConnector","_","theConnector","_","lastRelative","_","duration"],postprocess:e=>f("past",e[6])},{name:"relative",symbols:["withinConnector","_","theConnector","_","pastRelative","_","duration"],postprocess:e=>f("past",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","nextRelative","_","duration"],postprocess:e=>f("future",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","lastRelative","_","duration"],postprocess:e=>f("past",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","pastRelative","_","duration"],postprocess:e=>f("past",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","comingRelative","_","duration"],postprocess:e=>f("future",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","lastRelative","_","duration"],postprocess:e=>f("past",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","nextRelative","_","duration"],postprocess:e=>f("future",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","pastRelative","_","duration"],postprocess:e=>f("past",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","comingRelative","_","duration"],postprocess:e=>f("future",e[6])},{name:"relative",symbols:["lastRelative","_","wordNumber","_","unit"],postprocess:e=>f("past",c(w(e[2]),e[4]))},{name:"relative",symbols:["nextRelative","_","wordNumber","_","unit"],postprocess:e=>f("future",c(w(e[2]),e[4]))},{name:"relative",symbols:["pastRelative","_","wordNumber","_","unit"],postprocess:e=>f("past",c(w(e[2]),e[4]))},{name:"relative",symbols:["previousRelative","_","wordNumber","_","unit"],postprocess:e=>f("past",c(w(e[2]),e[4]))},{name:"relative",symbols:["comingRelative","_","wordNumber","_","unit"],postprocess:e=>f("future",c(w(e[2]),e[4]))},{name:"relative",symbols:["upcomingRelative","_","wordNumber","_","unit"],postprocess:e=>f("future",c(w(e[2]),e[4]))},{name:"relative",symbols:["pastRelative","_","unit"],postprocess:e=>f("past",c(1,e[2]))},{name:"relative",symbols:["previousRelative","_","unit"],postprocess:e=>f("past",c(1,e[2]))},{name:"relative",symbols:["upcomingRelative","_","unit"],postprocess:e=>f("future",c(1,e[2]))},{name:"relative",symbols:["withinConnector","_","theConnector","_","nextRelative","_","unit"],postprocess:e=>f("future",c(1,e[6]))},{name:"relative",symbols:["withinConnector","_","theConnector","_","pastRelative","_","unit"],postprocess:e=>f("past",c(1,e[6]))},{name:"relative",symbols:["overConnector","_","theConnector","_","lastRelative","_","unit"],postprocess:e=>f("past",c(1,e[6]))},{name:"relative",symbols:["overConnector","_","theConnector","_","comingRelative","_","unit"],postprocess:e=>f("future",c(1,e[6]))},{name:"relative",symbols:["overConnector","_","theConnector","_","upcomingRelative","_","unit"],postprocess:e=>f("future",c(1,e[6]))},{name:"relative",symbols:["inConnector","_","theConnector","_","pastRelative","_","unit"],postprocess:e=>f("past",c(1,e[6]))},{name:"relative",symbols:["inConnector","_","theConnector","_","comingRelative","_","unit"],postprocess:e=>f("future",c(1,e[6]))},{name:"relative",symbols:["inConnector","_","theConnector","_","upcomingRelative","_","unit"],postprocess:e=>f("future",c(1,e[6]))},{name:"relativeDate",symbols:["duration","_","agoConnector"],postprocess:e=>d("past",e[0])},{name:"relativeDate",symbols:["duration","_","agoConnector","_","atConnector","_","time"],postprocess:e=>d("past",e[0],void 0,e[6])},{name:"relativeDate",symbols:["duration","_","agoConnector","_","atConnector","_","timeWord"],postprocess:e=>d("past",e[0],void 0,{special:e[6]})},{name:"relativeDate",symbols:["inConnector","_","duration"],postprocess:e=>d("future",e[2])},{name:"relativeDate",symbols:["inConnector","_","duration","_","atConnector","_","time"],postprocess:e=>d("future",e[2],void 0,e[6])},{name:"relativeDate",symbols:["inConnector","_","duration","_","atConnector","_","timeWord"],postprocess:e=>d("future",e[2],void 0,{special:e[6]})},{name:"relativeDate",symbols:["duration","_","fromConnector","_","now"],postprocess:e=>d("future",e[0])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","now","_","atConnector","_","time"],postprocess:e=>d("future",e[0],void 0,e[8])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","now","_","atConnector","_","timeWord"],postprocess:e=>d("future",e[0],void 0,{special:e[8]})},{name:"relativeDate",symbols:["duration","_","fromConnector","_","today"],postprocess:e=>d("future",e[0],u({special:"today"}))},{name:"relativeDate",symbols:["duration","_","fromConnector","_","today","_","atConnector","_","time"],postprocess:e=>d("future",e[0],u({special:"today"}),e[8])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","tomorrow"],postprocess:e=>d("future",e[0],u({special:"tomorrow"}))},{name:"relativeDate",symbols:["duration","_","fromConnector","_","tomorrow","_","atConnector","_","time"],postprocess:e=>d("future",e[0],u({special:"tomorrow"}),e[8])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","yesterday"],postprocess:e=>d("future",e[0],u({special:"yesterday"}))},{name:"relativeDate",symbols:["duration","_","henceConnector"],postprocess:e=>d("future",e[0])},{name:"relativeDate",symbols:["duration","_","laterConnector"],postprocess:e=>d("future",e[0])},{name:"relativeDate",symbols:["duration","_","beforeConnector","_","date"],postprocess:e=>d("past",e[0],e[4])},{name:"relativeDate",symbols:["duration","_","afterConnector","_","date"],postprocess:e=>d("future",e[0],e[4])},{name:"relativeDate",symbols:["theConnector","_","dayUnit","_","beforeConnector","_","date"],postprocess:e=>d("past",c(1,"day"),e[6])},{name:"relativeDate",symbols:["theConnector","_","dayUnit","_","afterConnector","_","date"],postprocess:e=>d("future",c(1,"day"),e[6])},{name:"relativeDate",symbols:["dayUnit","_","beforeConnector","_","date"],postprocess:e=>d("past",c(1,"day"),e[4])},{name:"relativeDate",symbols:["dayUnit","_","afterConnector","_","date"],postprocess:e=>d("future",c(1,"day"),e[4])},{name:"relativeDate",symbols:["wordNumber","_","unit","_","beforeConnector","_","date"],postprocess:e=>d("past",c(w(e[0]),e[2]),e[6])},{name:"relativeDate",symbols:["wordNumber","_","unit","_","afterConnector","_","date"],postprocess:e=>d("future",c(w(e[0]),e[2]),e[6])},{name:"relativeDate",symbols:["nextRelative","_","businessKeyword","_","dayOrDaysUnit"],postprocess:e=>d("future",c(1,"businessDay"))},{name:"relativeDate",symbols:["inConnector","_","number","_","businessKeyword","_","dayOrDaysUnit"],postprocess:e=>d("future",c(e[2],"businessDay"))},{name:"relativeDate",symbols:["inConnector","_","wordNumber","_","businessKeyword","_","dayOrDaysUnit"],postprocess:e=>d("future",c(w(e[2]),"businessDay"))},{name:"relativeDate",symbols:["number","_","businessKeyword","_","dayOrDaysUnit","_","agoConnector"],postprocess:e=>d("past",c(e[0],"businessDay"))},{name:"relativeDate",symbols:["wordNumber","_","businessKeyword","_","dayOrDaysUnit","_","agoConnector"],postprocess:e=>d("past",c(w(e[0]),"businessDay"))},{name:"relativeDate",symbols:["wordNumber","_","fortnightKeyword","_","fromConnector","_","now"],postprocess:e=>d("future",c(w(e[0])*2,"week"))},{name:"relativeDate",symbols:["number","_","fortnightKeyword","_","fromConnector","_","now"],postprocess:e=>d("future",c(e[0]*2,"week"))},{name:"relativeDate",symbols:["fortnightKeyword","_","fromConnector","_","now"],postprocess:e=>d("future",c(2,"week"))},{name:"relativeDate",symbols:["inConnector","_","wordNumber","_","fortnightKeyword"],postprocess:e=>d("future",c(w(e[2])*2,"week"))},{name:"relativeDate",symbols:["inConnector","_","number","_","fortnightKeyword"],postprocess:e=>d("future",c(e[2]*2,"week"))},{name:"relativeDate",symbols:["inConnector","_","fortnightKeyword"],postprocess:e=>d("future",c(2,"week"))},{name:"relativeDate",symbols:["wordNumber","_","fortnightKeyword","_","agoConnector"],postprocess:e=>d("past",c(w(e[0])*2,"week"))},{name:"relativeDate",symbols:["number","_","fortnightKeyword","_","agoConnector"],postprocess:e=>d("past",c(e[0]*2,"week"))},{name:"relativeDate",symbols:["fortnightKeyword","_","agoConnector"],postprocess:e=>d("past",c(2,"week"))},{name:"relativeDate",symbols:["number","_","weekday","_","fromConnector","_","now"],postprocess:e=>({...d("future",c(e[0],"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["wordNumber","_","weekday","_","fromConnector","_","now"],postprocess:e=>({...d("future",c(w(e[0]),"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["number","_","weekday","_","agoConnector"],postprocess:e=>({...d("past",c(e[0],"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["wordNumber","_","weekday","_","agoConnector"],postprocess:e=>({...d("past",c(w(e[0]),"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["weekday","_","inConnector","_","duration"],postprocess:e=>d("future",e[4],u({weekday:e[0]}))},{name:"relativeDate",symbols:["weekday","_","inConnector","_","wordNumber","_","unit"],postprocess:e=>d("future",c(w(e[4]),e[6]),u({weekday:e[0]}))},{name:"relativeDate",symbols:["weekday","_","duration","_","agoConnector"],postprocess:e=>d("past",e[2],u({weekday:e[0],relative:"last"}))},{name:"relativeDate",symbols:["weekday","_","wordNumber","_","unit","_","agoConnector"],postprocess:e=>d("past",c(w(e[2]),e[4]),u({weekday:e[0],relative:"last"}))},{name:"relativeDate",symbols:["timeWord","_","inConnector","_","duration"],postprocess:e=>d("future",e[4],void 0,{special:e[0]})},{name:"relativeDate",symbols:["timeWord","_","inConnector","_","wordNumber","_","unit"],postprocess:e=>d("future",c(w(e[4]),e[6]),void 0,{special:e[0]})},{name:"relativeDate",symbols:["timeWord","_","duration","_","agoConnector"],postprocess:e=>d("past",e[2],void 0,{special:e[0]})},{name:"relativeDate",symbols:["timeWord","_","wordNumber","_","unit","_","agoConnector"],postprocess:e=>d("past",c(w(e[2]),e[4]),void 0,{special:e[0]})},{name:"fuzzy",symbols:["quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[0].value)})},{name:"fuzzy",symbols:["quarter","_","year"],postprocess:e=>m({period:"quarter",quarter:x(e[0].value),year:e[2]})},{name:"fuzzy",symbols:["half"],postprocess:e=>m({period:"half",half:G(e[0].value)})},{name:"fuzzy",symbols:["half","_","year"],postprocess:e=>m({period:"half",half:G(e[0].value),year:e[2]})},{name:"fuzzy",symbols:["earlyModifier","_","month"],postprocess:e=>m({period:"month",month:e[2],modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","month"],postprocess:e=>m({period:"month",month:e[2],modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","month"],postprocess:e=>m({period:"month",month:e[2],modifier:"late"})},{name:"fuzzy",symbols:["earlyModifier","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[2].value),modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[2].value),modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[2].value),modifier:"late"})},{name:"fuzzy",symbols:["earlyModifier","_","year"],postprocess:e=>m({period:"year",year:e[2],modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","year"],postprocess:e=>m({period:"year",year:e[2],modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","year"],postprocess:e=>m({period:"year",year:e[2],modifier:"late"})},{name:"fuzzy",symbols:["earlyModifier","_","yearUnit"],postprocess:e=>m({period:"year",modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","yearUnit"],postprocess:e=>m({period:"year",modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","yearUnit"],postprocess:e=>m({period:"year",modifier:"late"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"end"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"start"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"beginning"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"middle"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","theConnector","_","month"],postprocess:e=>m({period:"month",month:e[6],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","theConnector","_","unit"],postprocess:e=>m({period:e[6],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"end"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"beginning"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"start"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"middle"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"end",relative:"next"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"end",relative:"last"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"start",relative:"next"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"start",relative:"last"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"beginning",relative:"next"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"beginning",relative:"last"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"beginning"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"beginning"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"start"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"start"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"middle"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"middle"})},{name:"fuzzy",symbols:["season"],postprocess:e=>m({period:"season",season:e[0]})},{name:"fuzzy",symbols:["season","_","year"],postprocess:e=>m({period:"season",season:e[0],year:e[2]})},{name:"fuzzy",symbols:["earlyModifier","_","season"],postprocess:e=>m({period:"season",season:e[2],modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","season"],postprocess:e=>m({period:"season",season:e[2],modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","season"],postprocess:e=>m({period:"season",season:e[2],modifier:"late"})},{name:"fuzzy",symbols:["nextRelative","_","season"],postprocess:e=>m({period:"season",season:e[2],relative:"next"})},{name:"fuzzy",symbols:["lastRelative","_","season"],postprocess:e=>m({period:"season",season:e[2],relative:"last"})},{name:"fuzzy",symbols:["thisRelative","_","season"],postprocess:e=>m({period:"season",season:e[2],relative:"this"})},{name:"fuzzy",symbols:["ordinalWord","_","quarter","_","year"],postprocess:e=>m({period:"quarter",quarter:v(e[0]),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","quarter"],postprocess:e=>m({period:"quarter",quarter:v(e[0])})},{name:"fuzzy",symbols:["ordinalWord","_","half","_","year"],postprocess:e=>m({period:"half",half:v(e[0]),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","half"],postprocess:e=>m({period:"half",half:v(e[0])})},{name:"fuzzy",symbols:["aroundConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["aboutConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["roughlyConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["approximatelyConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["aroundConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["aboutConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["roughlyConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["approximatelyConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["sometimeConnector","_","inConnector","_","fuzzy"],postprocess:e=>e[4]},{name:"fuzzy",symbols:["sometimeConnector","_","inConnector","_","month"],postprocess:e=>m({period:"month",month:e[4]})},{name:"fuzzy",symbols:["sometimeConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],relative:"next"})},{name:"fuzzy",symbols:["sometimeConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],relative:"last"})},{name:"fuzzy",symbols:["sometimeConnector","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],relative:"this"})},{name:"fuzzy",symbols:["theConnector","_","lastRelative","_","unit","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[8],modifier:"late"})},{name:"fuzzy",symbols:["theConnector","_","ordinalWord","_","unit","_","ofConnector","_","month"],postprocess:(e,t,o)=>e[2].toLowerCase()==="first"?m({period:"month",month:e[8],modifier:"early"}):o},{name:"fuzzy",symbols:["ordinalWord","_","quarterUnit"],postprocess:e=>m({period:"quarter",quarter:v(e[0])})},{name:"fuzzy",symbols:["ordinal","_","quarterUnit"],postprocess:e=>m({period:"quarter",quarter:Q(e[0])})},{name:"fuzzy",symbols:["ordinalWord","_","quarterUnit","_","year"],postprocess:e=>m({period:"quarter",quarter:v(e[0]),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","quarterUnit","_","ofConnector","_","year"],postprocess:e=>m({period:"quarter",quarter:v(e[0]),year:e[6]})},{name:"fuzzy",symbols:["quarter","_","ofConnector","_","year"],postprocess:e=>m({period:"quarter",quarter:x(e[0].value),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","halfWord","_","ofConnector","_","year"],postprocess:e=>m({period:"half",half:v(e[0]),year:e[6]})},{name:"fuzzy",symbols:["earlyModifier","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"early",relative:"next"})},{name:"fuzzy",symbols:["midModifier","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"mid",relative:"next"})},{name:"fuzzy",symbols:["lateModifier","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"late",relative:"next"})},{name:"fuzzy",symbols:["earlyModifier","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"early",relative:"last"})},{name:"fuzzy",symbols:["midModifier","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"mid",relative:"last"})},{name:"fuzzy",symbols:["lateModifier","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"late",relative:"last"})},{name:"fuzzy",symbols:["earlyModifier","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"early",relative:"this"})},{name:"fuzzy",symbols:["midModifier","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"mid",relative:"this"})},{name:"fuzzy",symbols:["lateModifier","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"late",relative:"this"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","theConnector","_","unit"],postprocess:e=>m({period:e[6],modifier:"beginning"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","theConnector","_","unit"],postprocess:e=>m({period:e[6],modifier:"middle"})},{name:"fuzzy",symbols:["lastRelative","_","unit","_","ofConnector","_","month"],postprocess:(e,t,o)=>e[2].toLowerCase()==="day"||e[2].toLowerCase()==="days"?o:m({period:"month",month:e[6],modifier:"late"})},{name:"fuzzy",symbols:["ordinalWord","_","unit","_","ofConnector","_","month"],postprocess:(e,t,o)=>e[2].toLowerCase()==="day"||e[2].toLowerCase()==="days"?o:m({period:"month",month:e[6],modifier:v(e[0])<=2?"early":v(e[0])>=4?"late":"mid"})},{name:"fuzzy",symbols:["weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"this"})},{name:"fuzzy",symbols:["theConnector","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"this"})},{name:"fuzzy",symbols:["thisRelative","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"this"})},{name:"fuzzy",symbols:["nextRelative","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"next"})},{name:"fuzzy",symbols:["lastRelative","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"last"})},{name:"fuzzy",symbols:["tonightKeyword"],postprocess:e=>m({period:"tonight"})},{name:"fuzzy",symbols:["nightKeyword"],postprocess:e=>m({period:"night"})},{name:"fuzzy",symbols:["lastRelative","_","nightKeyword"],postprocess:e=>m({period:"night",relative:"last"})},{name:"fuzzy",symbols:["tomorrow","_","nightKeyword"],postprocess:e=>m({period:"night",relative:"tomorrow"})},{name:"fuzzy",symbols:["weekday","_","nightKeyword"],postprocess:e=>m({period:"night",weekday:e[0]})},{name:"fuzzy",symbols:["laterKeyword","_","today"],postprocess:e=>m({period:"day",modifier:"later"})},{name:"fuzzy",symbols:["earlierKeyword","_","today"],postprocess:e=>m({period:"day",modifier:"earlier"})},{name:"fuzzy",symbols:["laterKeyword","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"later",relative:"this"})},{name:"fuzzy",symbols:["earlierKeyword","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"earlier",relative:"this"})},{name:"fuzzy",symbols:["weekKeyword","_","number"],postprocess:e=>m({period:"weekNumber",weekNumber:e[2]})},{name:"fuzzy",symbols:["weekKeyword","_","number","_","year"],postprocess:e=>m({period:"weekNumber",weekNumber:e[2],year:e[4]})},{name:"fuzzy",symbols:["theConnector","_","weekKeyword","_","ofConnector","_","date"],postprocess:e=>m({period:"weekOf",baseDate:e[6]})},{name:"fuzzy",symbols:["ordinalWord","_","weekKeyword","_","ofConnector","_","month"],postprocess:e=>m({period:"weekOfMonth",week:v(e[0]),month:e[6]})},{name:"fuzzy",symbols:[r.has("kw_ytd")?{type:"kw_ytd"}:kw_ytd],postprocess:e=>m({period:"ytd"})},{name:"duration",symbols:["number","_","unit"],postprocess:e=>c(e[0],e[2])},{name:"duration",symbols:["wordNumber","_","unit"],postprocess:e=>c(w(e[0]),e[2])},{name:"duration",symbols:["abbreviatedDuration"],postprocess:e=>e[0]},{name:"duration",symbols:["halfWord","_","wordNumber","_","unit"],postprocess:e=>{let t=e[2].toLowerCase();return c(t==="a"||t==="an"?.5:w(e[2])+.5,e[4])}},{name:"duration",symbols:["number","_","andConnector","_","halfWord","_","unit"],postprocess:e=>c(e[0]+.5,e[6])},{name:"duration",symbols:["wordNumber","_","andConnector","_","halfWord","_","unit"],postprocess:e=>c(w(e[0])+.5,e[6])},{name:"duration",symbols:["wordNumber","_","andConnector","_","wordNumber","_","halfWord","_","unit"],postprocess:e=>c(w(e[0])+.5,e[8])},{name:"duration",symbols:["wordNumber","_","unit","_","andConnector","_","wordNumber","_","halfWord"],postprocess:e=>c(w(e[0])+.5,e[2])},{name:"duration",symbols:["halfWord","_","unit"],postprocess:e=>c(.5,e[2])},{name:"duration",symbols:["duration","_","andConnector","_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[4]]})},{name:"duration",symbols:["duration","_",r.has("comma")?{type:"comma"}:comma,"_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[4]]})},{name:"duration",symbols:["duration","_",r.has("comma")?{type:"comma"}:comma,"_","andConnector","_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[6]]})},{name:"duration",symbols:["duration","_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[2]]})},{name:"duration",symbols:["aroundConnector","_","duration"],postprocess:e=>({...e[2],approximate:!0})},{name:"duration",symbols:["aboutConnector","_","duration"],postprocess:e=>({...e[2],approximate:!0})},{name:"abbreviatedDuration",symbols:[r.has("abbreviatedDuration")?{type:"abbreviatedDuration"}:abbreviatedDuration],postprocess:e=>{let t=e[0].value.match(/^(\d+)(mo|w|d|h|m|s|y)$/);if(!t)return null;let o=parseInt(t[1],10);return c(o,{w:"week",d:"day",h:"hour",m:"minute",mo:"month",s:"second",y:"year"}[t[2]])}},{name:"date",symbols:["specialDay"],postprocess:e=>u({special:e[0]})},{name:"date",symbols:["ordinalWeekdayOfMonth"],postprocess:p},{name:"date",symbols:["relativeWeekday"],postprocess:p},{name:"date",symbols:["weekday"],postprocess:e=>u({weekday:e[0]})},{name:"date",symbols:["monthDayYear"],postprocess:p},{name:"date",symbols:["monthDay"],postprocess:p},{name:"date",symbols:["monthDayCompact"],postprocess:p},{name:"date",symbols:["monthYear"],postprocess:p},{name:"date",symbols:["dateFormat"],postprocess:p},{name:"date",symbols:["relativePeriod"],postprocess:p},{name:"date",symbols:["complexDate"],postprocess:p},{name:"date",symbols:["dateWithTime"],postprocess:p},{name:"date",symbols:["relativeMonth"],postprocess:p},{name:"date",symbols:["monthOnly"],postprocess:p},{name:"date",symbols:["yearOnly"],postprocess:p},{name:"date",symbols:["timeOnly"],postprocess:p},{name:"date",symbols:["dayOnly"],postprocess:p},{name:"date",symbols:["eodCobDate"],postprocess:p},{name:"monthDayCompact",symbols:[r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact],postprocess:e=>{let t=W(e[0].value);return u({month:t.month,day:t.day})}},{name:"monthOnly",symbols:["month"],postprocess:e=>u({month:e[0],day:1,monthOnly:!0})},{name:"relativeMonth",symbols:["nextRelative","_","month"],postprocess:e=>u({month:e[2],day:1,monthOnly:!0,relativeMonth:"next"})},{name:"relativeMonth",symbols:["lastRelative","_","month"],postprocess:e=>u({month:e[2],day:1,monthOnly:!0,relativeMonth:"last"})},{name:"relativeMonth",symbols:["thisRelative","_","month"],postprocess:e=>u({month:e[2],day:1,monthOnly:!0,relativeMonth:"this"})},{name:"monthYear",symbols:["month","_","year"],postprocess:e=>u({month:e[0],year:e[2],day:1,monthOnly:!0})},{name:"yearOnly",symbols:["year"],postprocess:(e,t,o)=>{let s=e[0];return s<1900||s>2100?o:u({year:s,month:1,day:1,yearOnly:!0})}},{name:"timeOnly",symbols:["time"],postprocess:e=>u({time:e[0],timeOnly:!0})},{name:"timeOnly",symbols:["timeWord"],postprocess:e=>u({time:{special:e[0]},timeOnly:!0})},{name:"dayOnly",symbols:["theConnector","_","dayNumber"],postprocess:e=>u({day:e[2],dayOnly:!0})},{name:"dayOnly",symbols:["onConnector","_","theConnector","_","dayNumber"],postprocess:e=>u({day:e[4],dayOnly:!0})},{name:"eodCobDate",symbols:["eodKeyword"],postprocess:e=>u({special:"today",time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["cobKeyword"],postprocess:e=>u({special:"today",time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["eodKeyword","_","weekday"],postprocess:e=>u({weekday:e[2],time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["cobKeyword","_","weekday"],postprocess:e=>u({weekday:e[2],time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["eodKeyword","_","specialDay"],postprocess:e=>u({special:e[2],time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["cobKeyword","_","specialDay"],postprocess:e=>u({special:e[2],time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["endConnector","_","ofConnector","_","dayUnit","_","specialDay"],postprocess:e=>u({special:e[6],time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["closeKeyword","_","ofConnector","_","businessKeyword","_","weekday"],postprocess:e=>u({weekday:e[6],time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["closeKeyword","_","ofConnector","_","businessKeyword","_","specialDay"],postprocess:e=>u({special:e[6],time:{hour:17,minute:0}})},{name:"specialDay",symbols:["today"],postprocess:e=>"today"},{name:"specialDay",symbols:["tomorrow"],postprocess:e=>"tomorrow"},{name:"specialDay",symbols:["yesterday"],postprocess:e=>"yesterday"},{name:"specialDay",symbols:["now"],postprocess:e=>"now"},{name:"specialDay",symbols:["theConnector","_","dayUnit","_","afterConnector","_","tomorrow"],postprocess:e=>"dayAfterTomorrow"},{name:"specialDay",symbols:["dayUnit","_","afterConnector","_","tomorrow"],postprocess:e=>"dayAfterTomorrow"},{name:"specialDay",symbols:["theConnector","_","dayUnit","_","beforeConnector","_","yesterday"],postprocess:e=>"dayBeforeYesterday"},{name:"specialDay",symbols:["dayUnit","_","beforeConnector","_","yesterday"],postprocess:e=>"dayBeforeYesterday"},{name:"dayUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="day"?e[0]:o},{name:"dayOrDaysUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="day"||e[0].value==="days"?e[0]:o},{name:"relativeWeekday",symbols:["nextRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"next"})},{name:"relativeWeekday",symbols:["lastRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"last"})},{name:"relativeWeekday",symbols:["thisRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"this"})},{name:"relativeWeekday",symbols:["comingRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"next"})},{name:"relativeWeekday",symbols:["previousRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"last"})},{name:"relativePeriod",symbols:["nextRelative","_","unit"],postprocess:e=>u({relative:"next",period:e[2]})},{name:"relativePeriod",symbols:["lastRelative","_","unit"],postprocess:e=>u({relative:"last",period:e[2]})},{name:"relativePeriod",symbols:["thisRelative","_","unit"],postprocess:e=>u({relative:"this",period:e[2]})},{name:"monthDay",symbols:["month","_","dayNumber"],postprocess:e=>u({month:e[0],day:e[2]})},{name:"monthDay",symbols:["dayNumber","_","month"],postprocess:e=>u({month:e[2],day:e[0]})},{name:"monthDay",symbols:["dayNumber","_","ofConnector","_","month"],postprocess:e=>u({month:e[4],day:e[0]})},{name:"monthDay",symbols:["theConnector","_","dayNumber","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],day:e[2]})},{name:"monthDay",symbols:["month","_","ordinalWord"],postprocess:e=>u({month:e[0],day:v(e[2])})},{name:"monthDay",symbols:["month","_","theConnector","_","dayNumber"],postprocess:e=>u({month:e[0],day:e[4]})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","weekday","_","ofConnector","_","month"],postprocess:e=>u({ordinalWeekday:v(e[0]),weekday:e[2],month:e[6]})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","weekday","_","ofConnector","_","month"],postprocess:e=>u({ordinalWeekday:-1,weekday:e[2],month:e[6]})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","weekday","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({ordinalWeekday:v(e[0]),weekday:e[2],monthFromRef:!0})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","weekday","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({ordinalWeekday:-1,weekday:e[2],monthFromRef:!0})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","dayUnit","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],day:v(e[0])})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],day:-1,lastDayOfMonth:!0})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({lastDayOfMonth:!0,monthFromRef:!0})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","dayUnit","_","ofConnector","_","nextRelative","_","monthUnit"],postprocess:e=>u({ordinalWeekday:v(e[0]),dayOfMonth:!0,nextMonth:!0})},{name:"monthDayYear",symbols:["monthDay","_","year"],postprocess:e=>({...e[0],year:e[2]})},{name:"monthDayYear",symbols:["monthDay",r.has("comma")?{type:"comma"}:comma,"_","year"],postprocess:e=>({...e[0],year:e[3]})},{name:"dateFormat",symbols:[r.has("integer")?{type:"integer"}:integer,r.has("dash")?{type:"dash"}:dash,r.has("integer")?{type:"integer"}:integer,r.has("dash")?{type:"dash"}:dash,r.has("integer")?{type:"integer"}:integer],postprocess:e=>{let t=[parseInt(e[0].value,10),parseInt(e[2].value,10),parseInt(e[4].value,10)];return t[0]>1e3?u({year:t[0],month:t[1],day:t[2]}):u({formatParts:t,separator:"-"})}},{name:"dateFormat",symbols:[r.has("integer")?{type:"integer"}:integer,r.has("slash")?{type:"slash"}:slash,r.has("integer")?{type:"integer"}:integer,r.has("slash")?{type:"slash"}:slash,r.has("integer")?{type:"integer"}:integer],postprocess:e=>{let t=[parseInt(e[0].value,10),parseInt(e[2].value,10),parseInt(e[4].value,10)];return t[0]>1e3?u({year:t[0],month:t[1],day:t[2]}):u({formatParts:t,separator:"/"})}},{name:"dateWithTime",symbols:["date","_","atConnector","_","time"],postprocess:e=>({...e[0],time:e[4]})},{name:"dateWithTime",symbols:["date","_","atConnector","_","timeWord"],postprocess:e=>({...e[0],time:{special:e[4]}})},{name:"dateWithTime",symbols:["time","_","date"],postprocess:e=>({...e[2],time:e[0]})},{name:"dateWithTime",symbols:["timeWord","_","date"],postprocess:e=>({...e[2],time:{special:e[0]}})},{name:"dateWithTime",symbols:["date","_","time"],postprocess:e=>({...e[0],time:e[2]})},{name:"dateWithTime",symbols:["date","_","timeWord"],postprocess:e=>({...e[0],time:{special:e[2]}})},{name:"dateWithTime",symbols:["timeWord","_","onConnector","_","date"],postprocess:e=>({...e[4],time:{special:e[0]}})},{name:"dateWithTime",symbols:["timeWord","_","onConnector","_","weekday"],postprocess:e=>u({weekday:e[4],time:{special:e[0]}})},{name:"dateWithTime",symbols:["midnight","_","tonightKeyword"],postprocess:e=>u({special:"tonight",time:{special:"midnight"}})},{name:"dateWithTime",symbols:["date","_","inConnector","_","theConnector","_","timeWord"],postprocess:e=>({...e[0],time:{special:e[6]}})},{name:"complexDate",symbols:["nextRelative","_","unit","_","weekday","_","time"],postprocess:e=>u({relative:"next",period:e[2],weekday:e[4],time:e[6]})},{name:"complexDate",symbols:["nextRelative","_","unit","_","weekday"],postprocess:e=>u({relative:"next",period:e[2],weekday:e[4]})},{name:"complexDate",symbols:["lastRelative","_","unit","_","weekday","_","time"],postprocess:e=>u({relative:"last",period:e[2],weekday:e[4],time:e[6]})},{name:"complexDate",symbols:["lastRelative","_","unit","_","weekday"],postprocess:e=>u({relative:"last",period:e[2],weekday:e[4]})},{name:"complexDate",symbols:["thisRelative","_","unit","_","weekday","_","time"],postprocess:e=>u({relative:"this",period:e[2],weekday:e[4],time:e[6]})},{name:"complexDate",symbols:["thisRelative","_","unit","_","weekday"],postprocess:e=>u({relative:"this",period:e[2],weekday:e[4]})},{name:"time",symbols:[r.has("time")?{type:"time"}:time],postprocess:e=>{let t=e[0].value.split(":");return{hour:parseInt(t[0],10),minute:parseInt(t[1],10)}}},{name:"time",symbols:[r.has("time")?{type:"time"}:time,"_",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[0].value.split(":"),o=parseInt(t[0],10);return e[2].value==="pm"&&o!==12&&(o+=12),e[2].value==="am"&&o===12&&(o=0),{hour:o,minute:parseInt(t[1],10)}}},{name:"time",symbols:[r.has("time")?{type:"time"}:time,r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[0].value.split(":"),o=parseInt(t[0],10);return e[1].value==="pm"&&o!==12&&(o+=12),e[1].value==="am"&&o===12&&(o=0),{hour:o,minute:parseInt(t[1],10)}}},{name:"time",symbols:[r.has("integer")?{type:"integer"}:integer,"_",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=parseInt(e[0].value,10);return e[2].value==="pm"&&t!==12&&(t+=12),e[2].value==="am"&&t===12&&(t=0),{hour:t,minute:0}}},{name:"time",symbols:[r.has("integer")?{type:"integer"}:integer,r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=parseInt(e[0].value,10);return e[1].value==="pm"&&t!==12&&(t+=12),e[1].value==="am"&&t===12&&(t=0),{hour:t,minute:0}}},{name:"time",symbols:["quarterKeyword","_","pastConnector","_","hourNumber"],postprocess:e=>({hour:e[4],minute:15})},{name:"time",symbols:["quarterKeyword","_","pastConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t,minute:15}}},{name:"time",symbols:["halfWord","_","pastConnector","_","hourNumber"],postprocess:e=>({hour:e[4],minute:30})},{name:"time",symbols:["halfWord","_","pastConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t,minute:30}}},{name:"time",symbols:["quarterKeyword","_","toConnector","_","hourNumber"],postprocess:e=>({hour:e[4]-1,minute:45})},{name:"time",symbols:["quarterKeyword","_","toConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t-1,minute:45}}},{name:"time",symbols:["number","_","pastConnector","_","hourNumber"],postprocess:e=>({hour:e[4],minute:e[0]})},{name:"time",symbols:["number","_","pastConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t,minute:e[0]}}},{name:"time",symbols:["number","_","toConnector","_","hourNumber"],postprocess:e=>({hour:e[4]-1,minute:60-e[0]})},{name:"time",symbols:["number","_","toConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t-1,minute:60-e[0]}}},{name:"time",symbols:["number","_","toConnector","_","noon"],postprocess:e=>({hour:11,minute:60-e[0]})},{name:"time",symbols:["number","_","toConnector","_","midnight"],postprocess:e=>({hour:23,minute:60-e[0]})},{name:"time",symbols:["quarterKeyword","_","toConnector","_","noon"],postprocess:e=>({hour:11,minute:45})},{name:"time",symbols:["quarterKeyword","_","toConnector","_","midnight"],postprocess:e=>({hour:23,minute:45})},{name:"timeWord",symbols:["noon"],postprocess:e=>"noon"},{name:"timeWord",symbols:["midnight"],postprocess:e=>"midnight"},{name:"timeWord",symbols:["morning"],postprocess:e=>"morning"},{name:"timeWord",symbols:["afternoon"],postprocess:e=>"afternoon"},{name:"timeWord",symbols:["evening"],postprocess:e=>"evening"},{name:"number",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:e=>parseInt(e[0].value,10)},{name:"number",symbols:[r.has("decimal")?{type:"decimal"}:decimal],postprocess:e=>parseFloat(e[0].value)},{name:"year",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>{let s=parseInt(e[0].value,10);return s>=1900&&s<=2100?s:o}},{name:"dayNumber",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>{let s=parseInt(e[0].value,10);return s<1||s>31?o:s}},{name:"dayNumber",symbols:[r.has("ordinal")?{type:"ordinal"}:ordinal],postprocess:e=>Q(e[0].value)},{name:"month",symbols:[r.has("month")?{type:"month"}:month],postprocess:e=>V(e[0].value)},{name:"weekday",symbols:[r.has("weekday")?{type:"weekday"}:weekday],postprocess:e=>e[0].value},{name:"quarter",symbols:[r.has("quarter")?{type:"quarter"}:quarter],postprocess:p},{name:"half",symbols:[r.has("half")?{type:"half"}:half],postprocess:p},{name:"season",symbols:[r.has("season")?{type:"season"}:season],postprocess:e=>e[0].value},{name:"unit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:e=>e[0].value},{name:"quarterUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="quarter"||s==="quarters"?s:o}},{name:"halfUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="half"?s:o}},{name:"yearUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="year"||s==="years"||s==="yr"||s==="yrs"?s:o}},{name:"monthUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="month"||s==="months"||s==="mo"||s==="mos"?s:o}},{name:"wordNumber",symbols:[r.has("wordNumber")?{type:"wordNumber"}:wordNumber],postprocess:e=>e[0].value},{name:"ordinalWord",symbols:[r.has("ordinalWord")?{type:"ordinalWord"}:ordinalWord],postprocess:e=>e[0].value},{name:"ordinalWord",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="second"?"second":o},{name:"ordinal",symbols:[r.has("ordinal")?{type:"ordinal"}:ordinal],postprocess:e=>e[0].value},{name:"halfWord",symbols:[r.has("halfWord")?{type:"halfWord"}:halfWord],postprocess:e=>e[0].value},{name:"toConnector",symbols:[r.has("kw_to")?{type:"kw_to"}:kw_to],postprocess:p},{name:"fromConnector",symbols:[r.has("kw_from")?{type:"kw_from"}:kw_from],postprocess:p},{name:"forConnector",symbols:[r.has("kw_for")?{type:"kw_for"}:kw_for],postprocess:p},{name:"inConnector",symbols:[r.has("kw_in")?{type:"kw_in"}:kw_in],postprocess:p},{name:"onConnector",symbols:[r.has("kw_on")?{type:"kw_on"}:kw_on],postprocess:p},{name:"atConnector",symbols:[r.has("kw_at")?{type:"kw_at"}:kw_at],postprocess:p},{name:"ofConnector",symbols:[r.has("kw_of")?{type:"kw_of"}:kw_of],postprocess:p},{name:"theConnector",symbols:[r.has("kw_the")?{type:"kw_the"}:kw_the],postprocess:p},{name:"andConnector",symbols:[r.has("kw_and")?{type:"kw_and"}:kw_and],postprocess:p},{name:"betweenConnector",symbols:[r.has("kw_between")?{type:"kw_between"}:kw_between],postprocess:p},{name:"throughConnector",symbols:[r.has("kw_through")?{type:"kw_through"}:kw_through],postprocess:p},{name:"untilConnector",symbols:[r.has("kw_until")?{type:"kw_until"}:kw_until],postprocess:p},{name:"withinConnector",symbols:[r.has("kw_within")?{type:"kw_within"}:kw_within],postprocess:p},{name:"overConnector",symbols:[r.has("kw_over")?{type:"kw_over"}:kw_over],postprocess:p},{name:"duringConnector",symbols:[r.has("kw_during")?{type:"kw_during"}:kw_during],postprocess:p},{name:"startingConnector",symbols:[r.has("kw_starting")?{type:"kw_starting"}:kw_starting],postprocess:p},{name:"byConnector",symbols:[r.has("kw_by")?{type:"kw_by"}:kw_by],postprocess:p},{name:"aroundConnector",symbols:[r.has("kw_around")?{type:"kw_around"}:kw_around],postprocess:p},{name:"aboutConnector",symbols:[r.has("kw_about")?{type:"kw_about"}:kw_about],postprocess:p},{name:"roughlyConnector",symbols:[r.has("kw_roughly")?{type:"kw_roughly"}:kw_roughly],postprocess:p},{name:"approximatelyConnector",symbols:[r.has("kw_approximately")?{type:"kw_approximately"}:kw_approximately],postprocess:p},{name:"sometimeConnector",symbols:[r.has("kw_sometime")?{type:"kw_sometime"}:kw_sometime],postprocess:p},{name:"afterConnector",symbols:[r.has("kw_after")?{type:"kw_after"}:kw_after],postprocess:p},{name:"beforeConnector",symbols:[r.has("kw_before")?{type:"kw_before"}:kw_before],postprocess:p},{name:"endConnector",symbols:[r.has("kw_end")?{type:"kw_end"}:kw_end],postprocess:p},{name:"beginningConnector",symbols:[r.has("kw_beginning")?{type:"kw_beginning"}:kw_beginning],postprocess:p},{name:"startConnector",symbols:[r.has("kw_start")?{type:"kw_start"}:kw_start],postprocess:p},{name:"middleConnector",symbols:[r.has("kw_middle")?{type:"kw_middle"}:kw_middle],postprocess:p},{name:"agoConnector",symbols:[r.has("kw_ago")?{type:"kw_ago"}:kw_ago],postprocess:p},{name:"henceConnector",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="hence"?e[0]:o},{name:"laterConnector",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="later"?e[0]:o},{name:"earlyModifier",symbols:[r.has("kw_early")?{type:"kw_early"}:kw_early],postprocess:p},{name:"midModifier",symbols:[r.has("kw_mid")?{type:"kw_mid"}:kw_mid],postprocess:p},{name:"lateModifier",symbols:[r.has("kw_late")?{type:"kw_late"}:kw_late],postprocess:p},{name:"nextRelative",symbols:[r.has("kw_next")?{type:"kw_next"}:kw_next],postprocess:p},{name:"lastRelative",symbols:[r.has("kw_last")?{type:"kw_last"}:kw_last],postprocess:p},{name:"thisRelative",symbols:[r.has("kw_this")?{type:"kw_this"}:kw_this],postprocess:p},{name:"previousRelative",symbols:[r.has("kw_previous")?{type:"kw_previous"}:kw_previous],postprocess:p},{name:"comingRelative",symbols:[r.has("kw_coming")?{type:"kw_coming"}:kw_coming],postprocess:p},{name:"upcomingRelative",symbols:[r.has("kw_upcoming")?{type:"kw_upcoming"}:kw_upcoming],postprocess:p},{name:"pastRelative",symbols:[r.has("kw_past")?{type:"kw_past"}:kw_past],postprocess:p},{name:"today",symbols:[r.has("kw_today")?{type:"kw_today"}:kw_today],postprocess:p},{name:"tomorrow",symbols:[r.has("kw_tomorrow")?{type:"kw_tomorrow"}:kw_tomorrow],postprocess:p},{name:"yesterday",symbols:[r.has("kw_yesterday")?{type:"kw_yesterday"}:kw_yesterday],postprocess:p},{name:"now",symbols:[r.has("kw_now")?{type:"kw_now"}:kw_now],postprocess:p},{name:"noon",symbols:[r.has("kw_noon")?{type:"kw_noon"}:kw_noon],postprocess:p},{name:"midnight",symbols:[r.has("kw_midnight")?{type:"kw_midnight"}:kw_midnight],postprocess:p},{name:"morning",symbols:[r.has("kw_morning")?{type:"kw_morning"}:kw_morning],postprocess:p},{name:"afternoon",symbols:[r.has("kw_afternoon")?{type:"kw_afternoon"}:kw_afternoon],postprocess:p},{name:"evening",symbols:[r.has("kw_evening")?{type:"kw_evening"}:kw_evening],postprocess:p},{name:"quarterKeyword",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="quarter"?e[0]:o},{name:"hourNumber",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>{let s=parseInt(e[0].value,10);return s<1||s>12?o:s}},{name:"pastConnector",symbols:[r.has("kw_past")?{type:"kw_past"}:kw_past],postprocess:p},{name:"weekendKeyword",symbols:[r.has("kw_weekend")?{type:"kw_weekend"}:kw_weekend],postprocess:p},{name:"tonightKeyword",symbols:[r.has("kw_tonight")?{type:"kw_tonight"}:kw_tonight],postprocess:p},{name:"nightKeyword",symbols:[r.has("kw_night")?{type:"kw_night"}:kw_night],postprocess:p},{name:"fortnightKeyword",symbols:[r.has("kw_fortnight")?{type:"kw_fortnight"}:kw_fortnight],postprocess:p},{name:"laterKeyword",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="later"?e[0]:o},{name:"earlierKeyword",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="earlier"?e[0]:o},{name:"weekKeyword",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="week"||s==="weeks"?e[0]:o}},{name:"businessKeyword",symbols:[r.has("kw_business")?{type:"kw_business"}:kw_business],postprocess:p},{name:"eodKeyword",symbols:[r.has("kw_eod")?{type:"kw_eod"}:kw_eod],postprocess:p},{name:"cobKeyword",symbols:[r.has("kw_cob")?{type:"kw_cob"}:kw_cob],postprocess:p},{name:"closeKeyword",symbols:[r.has("kw_close")?{type:"kw_close"}:kw_close],postprocess:p},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1",r.has("ws")?{type:"ws"}:ws],postprocess:e=>e[0].concat([e[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:ce}],ParserStart:"main"},Z=he;function K(e,t){let o=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())),s=o.getUTCDay(),a=e-s;return a<=0&&(a+=7),o.setUTCDate(o.getUTCDate()+a),o}function X(e,t){let o=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())),a=o.getUTCDay()-e;return a<=0&&(a+=7),o.setUTCDate(o.getUTCDate()-a),o}function E(e,t,o){let s=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())),a=s.getUTCDay(),n=o==="monday"?1:0,i=a-n;i<0&&(i+=7);let l=e-n;l<0&&(l+=7);let y=l-i;return s.setUTCDate(s.getUTCDate()+y),s}var S={sunday:0,sun:0,monday:1,mon:1,tuesday:2,tue:2,tues:2,wednesday:3,wed:3,thursday:4,thu:4,thur:4,thurs:4,friday:5,fri:5,saturday:6,sat:6},A={january:0,april:3,july:6,october:9};function O(e,t){t.special==="noon"?e.setUTCHours(12,0,0,0):t.special==="midnight"?e.setUTCHours(0,0,0,0):t.special==="morning"?e.setUTCHours(9,0,0,0):t.special==="afternoon"?e.setUTCHours(14,0,0,0):t.special==="evening"?e.setUTCHours(18,0,0,0):t.hour!==void 0&&e.setUTCHours(t.hour,t.minute??0,0,0)}function fe(e,t){let o=t.referenceDate,s;switch(e.special){case"today":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()));break;case"tomorrow":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()+1));break;case"yesterday":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()-1));break;case"now":s=new Date(o);break;case"dayAfterTomorrow":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()+2));break;case"dayBeforeYesterday":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()-2));break;default:s=new Date(o)}return e.time&&O(s,e.time),s}function _e(e,t){let o=t.referenceDate,s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()));return e.time&&O(s,e.time),s}function be(e,t){let o=t.referenceDate,s=S[e.weekday.toLowerCase()]??0,a;if(e.period&&e.period.toLowerCase()==="week"){let n;switch(e.relative){case"next":n=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()+7));break;case"last":n=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()-7));break;default:n=o}a=E(s,n,t.weekStartsOn)}else switch(e.relative){case"next":a=K(s,o);break;case"last":a=X(s,o);break;case"this":a=E(s,o,t.weekStartsOn);break;default:a=K(s,o)}return e.time&&O(a,e.time),a}function we(e,t){let o=t.referenceDate,s=e.formatParts;if(s.length<3||s[0]===void 0||s[1]===void 0||s[2]===void 0)return o;let[a,n,i]=s,l,y,h;return i>1e3?t.dateFormat==="intl"||a>12&&n<=12?(h=a,y=n,l=i):(y=a,h=n,l=i):(y=a,h=n,l=i<100?i>50?1900+i:2e3+i:i),new Date(Date.UTC(l,y-1,h))}function ge(e,t){let o=t.referenceDate,s=e.year??o.getUTCFullYear(),a=typeof e.month=="number"?e.month-1:0;if(e.relativeMonth){let i=o.getUTCMonth();e.relativeMonth==="last"?a>=i&&s--:e.relativeMonth==="next"&&a<=i&&s++}else e.year===void 0&&a<o.getUTCMonth()&&s++;let n=new Date(Date.UTC(s,a,e.day));if(n.getUTCMonth()!==a||n.getUTCDate()!==e.day)throw new Error("Invalid date");return e.time&&O(n,e.time),n}function Ce(e,t){let o=t.referenceDate,s=e.ordinalWeekday,a=e.weekday.toLowerCase(),n=S[a]??0,i,l;if(e.monthFromRef?(i=o.getUTCMonth(),l=o.getUTCFullYear()):e.nextMonth?(i=o.getUTCMonth()+1,l=o.getUTCFullYear(),i>11&&(i=0,l++)):(i=typeof e.month=="number"?e.month-1:o.getUTCMonth(),l=o.getUTCFullYear(),i<o.getUTCMonth()&&l++),s===-1){let b=new Date(Date.UTC(l,i+1,0)).getUTCDate(),R=new Date(Date.UTC(l,i,b));for(;R.getUTCDay()!==n;)b--,R=new Date(Date.UTC(l,i,b));return R}let y=0;for(let _=1;_<=31;_++){let b=new Date(Date.UTC(l,i,_));if(b.getUTCMonth()!==i)break;if(b.getUTCDay()===n&&(y++,y===s))return b}let g=new Date(Date.UTC(l,i+1,0)).getUTCDate(),D=new Date(Date.UTC(l,i,g));for(;D.getUTCDay()!==n;)g--,D=new Date(Date.UTC(l,i,g));return D}function De(e,t){let o=t.referenceDate,s,a;return e.monthFromRef?(s=o.getUTCMonth(),a=o.getUTCFullYear()):e.nextMonth?(s=o.getUTCMonth()+1,a=o.getUTCFullYear(),s>11&&(s=0,a++)):(s=typeof e.month=="number"?e.month-1:o.getUTCMonth(),a=o.getUTCFullYear(),s<o.getUTCMonth()&&a++),new Date(Date.UTC(a,s+1,0))}function ve(e,t){let o=t.referenceDate,s=e.day,a=o.getUTCDate(),n=o.getUTCMonth(),i=o.getUTCFullYear(),l=n,y=i;s<a&&(l=n+1,l>11&&(l=0,y++));let h=new Date(Date.UTC(y,l,s));for(;h.getUTCDate()!==s;)l++,l>11&&(l=0,y++),h=new Date(Date.UTC(y,l,s));return e.time&&O(h,e.time),h}function ke(e,t){let o=t.referenceDate;switch(e.period.toLowerCase()){case"day":{let a=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()));return e.relative==="next"?a.setUTCDate(a.getUTCDate()+1):e.relative==="last"&&a.setUTCDate(a.getUTCDate()-1),a}case"week":{let a=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate())),n=t.weekStartsOn==="monday"?1:0,l=(a.getUTCDay()-n+7)%7;return a.setUTCDate(a.getUTCDate()-l),e.relative==="next"?a.setUTCDate(a.getUTCDate()+7):e.relative==="last"&&a.setUTCDate(a.getUTCDate()-7),a}case"month":return e.relative==="next"?new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth()+1,1)):e.relative==="last"?new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth()-1,1)):new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),1));case"year":return e.relative==="next"?new Date(Date.UTC(o.getUTCFullYear()+1,0,1)):e.relative==="last"?new Date(Date.UTC(o.getUTCFullYear()-1,0,1)):new Date(Date.UTC(o.getUTCFullYear(),0,1));default:return new Date(o)}}function N(e,t){if(e.special)return fe(e,t);if(e.timeOnly&&e.time)return _e(e,t);if(e.ordinalWeekday!==void 0&&e.weekday!==void 0)return Ce(e,t);if(e.weekday)return be(e,t);if(e.formatParts)return we(e,t);if(e.month!==void 0&&e.day!==void 0)return ge(e,t);if(e.dayOnly&&e.day!==void 0)return ve(e,t);if(e.lastDayOfMonth)return De(e,t);if(e.dayOfMonth&&e.nextMonth){let o=t.referenceDate,s=o.getUTCMonth()+1,a=o.getUTCFullYear();s>11&&(s=0,a++);let n=e.ordinalWeekday||1;return new Date(Date.UTC(a,s,n))}return e.relative&&e.period?ke(e,t):new Date(t.referenceDate)}function Ne(e,t){switch(t){case"second":return e*1e3;case"minute":return e*6e4;case"hour":return e*36e5;case"day":return e*864e5;case"week":return e*6048e5;case"month":return e*2592e6;case"year":return e*31536e6;default:return 0}}function M(e,t=!1){if(e.combined&&Array.isArray(e.combined)){let s=e.combined.some(a=>a.unit==="hour");return e.combined.reduce((a,n)=>a+M(n,s),0)}let o=e.unit;return t&&o==="month"&&(o="minute"),Ne(e.value,o)}function I(e,t,o){let s=A[o]??0,a=(s+(e-1)*3)%12,n=t;a<s&&n++;let i=new Date(Date.UTC(n,a,1)),l=(a+3)%12,y=n;l<a&&y++;let h=new Date(Date.UTC(y,l,0));return{start:i,end:h}}function ee(e,t,o){let s=A[o]??0,a=(s+(e-1)*6)%12,n=t;a<s&&n++;let i=new Date(Date.UTC(n,a,1)),l=(a+6)%12,y=n;l<=a&&y++;let h=new Date(Date.UTC(y,l,0));return{start:i,end:h}}function te(e,t){switch(e){case"spring":return{start:new Date(Date.UTC(t,2,20)),end:new Date(Date.UTC(t,5,20))};case"summer":return{start:new Date(Date.UTC(t,5,21)),end:new Date(Date.UTC(t,8,22))};case"fall":case"autumn":return{start:new Date(Date.UTC(t,8,23)),end:new Date(Date.UTC(t,11,20))};case"winter":return{start:new Date(Date.UTC(t,11,21)),end:new Date(Date.UTC(t+1,2,19))};default:return{start:new Date(Date.UTC(t,0,1)),end:new Date(Date.UTC(t,11,31))}}}function oe(e,t,o){let s=t.getTime()-e.getTime(),a=s/3,n=s/2;switch(o){case"early":return{start:e,end:new Date(e.getTime()+a)};case"mid":case"middle":return{start:new Date(e.getTime()+a),end:new Date(e.getTime()+2*a)};case"late":return{start:new Date(e.getTime()+2*a),end:t};case"first":return{start:e,end:new Date(e.getTime()+n)};case"second":return{start:new Date(e.getTime()+n),end:t};default:return{start:e,end:t}}}function Me(e,t,o){let s=e.getUTCDay(),a=(6-s+7)%7,n=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+a));t==="next"?n=new Date(n.getTime()+6048e5):t==="last"&&((s===6||s===0)&&(n=new Date(n.getTime()-6048e5)),n=new Date(n.getTime()-6048e5));let i=new Date(n.getTime()+864e5),l=new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate(),23,59));return{start:n,end:l}}function se(e,t,o){let s=new Date(e);if(t==="last")s=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()-1));else if(t==="tomorrow")s=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+1));else if(o){let i=S[o.toLowerCase()];if(i!==void 0){let l=e.getUTCDay(),y=(i-l+7)%7;y===0&&(y=7),s=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+y))}}let a=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),18,0)),n=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),23,59));return{start:a,end:n}}function re(e,t,o){let s=t.referenceDate;if(e.period==="weekend")return Me(s,e.relative||"this",t);if(e.period==="tonight")return se(s,void 0,void 0);if(e.period==="night")return se(s,e.relative,e.weekday);if(e.period==="fortnight"){let a=e.count||1,n=e.relative,i=14*864e5;if(n==="last"){let h=new Date(s);return{start:new Date(s.getTime()-i),end:h}}let l=new Date(s),y=new Date(s.getTime()+a*i);return{start:l,end:y}}if(e.period==="quarter"&&e.quarter)return I(e.quarter,o,t.fiscalYearStart);if(e.period==="half"&&e.half)return ee(e.half,o,t.fiscalYearStart);if(e.period==="season"&&e.season)return te(e.season,o);if(e.period==="month"&&e.month!==void 0){let a=typeof e.month=="number"?e.month-1:0,n=new Date(Date.UTC(o,a,1)),i=new Date(Date.UTC(o,a+1,0));return{start:n,end:i}}if(e.period==="month"){let a=s.getUTCMonth(),n=new Date(Date.UTC(o,a,1)),i=new Date(Date.UTC(o,a+1,0));return{start:n,end:i}}if(e.period==="week"){let a=t.weekStartsOn==="monday"?1:0,i=(s.getUTCDay()-a+7)%7,l=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate()-i)),y=new Date(l.getTime()+6*864e5);return{start:l,end:y}}if(e.period==="weekNumber"&&e.weekNumber!==void 0){let a=e.weekNumber,n=e.year??s.getUTCFullYear(),i=t.weekStartsOn==="monday"?1:0,l=new Date(Date.UTC(n,0,1)),y=l.getUTCDay(),h=(i-y+7)%7,g=new Date(l.getTime()+h*864e5),D=new Date(g.getTime()+(a-1)*6048e5),_=new Date(D.getTime()+6*864e5);return{start:D,end:_}}if(e.period==="weekOf"&&e.baseDate){let a=e.baseDate,n;if(a.month!==void 0&&a.day!==void 0){let D=typeof a.month=="number"?a.month-1:0,_=a.day,b=a.year??s.getUTCFullYear();n=new Date(Date.UTC(b,D,_))}else n=s;let i=t.weekStartsOn==="monday"?1:0,y=(n.getUTCDay()-i+7)%7,h=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()-y)),g=new Date(h.getTime()+6*864e5);return{start:h,end:g}}if(e.period==="day"){let a=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate())),n=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),23,59,59,999));return{start:a,end:n}}if(e.period==="year"){let a=new Date(Date.UTC(o,0,1)),n=new Date(Date.UTC(o,11,31));return{start:a,end:n}}if(e.period==="ytd"){let a=new Date(Date.UTC(s.getUTCFullYear(),0,1)),n=new Date(s);return{start:a,end:n}}if(e.period==="weekOfMonth"&&e.week!==void 0&&e.month!==void 0){let a=e.month-1,n=e.week,i=e.year??s.getUTCFullYear(),l=new Date(Date.UTC(i,a,1)),y=t.weekStartsOn==="monday"?1:0,h=l.getUTCDay(),g=(y-h+7)%7,D=new Date(l.getTime()+g*864e5),_=new Date(D.getTime()+(n-1)*6048e5),b=new Date(_.getTime()+6*864e5);return{start:_,end:b}}return{start:new Date(Date.UTC(o,0,1)),end:new Date(Date.UTC(o,11,31))}}function L(e,t){let o=t.referenceDate,s=e.year??o.getUTCFullYear();return re(e,t,s)}function q(e,t){let o=t.referenceDate,s=e.year??o.getUTCFullYear();if(e.period==="quarter"&&e.quarter&&e.year===void 0){let{end:i}=I(e.quarter,s,t.fiscalYearStart);i<o&&s++}let{start:a,end:n}=re(e,t,s);return e.modifier?oe(a,n,e.modifier):{start:a,end:n}}function We(e){return{referenceDate:e?.referenceDate??new Date,fiscalYearStart:e?.fiscalYearStart??"january",weekStartsOn:e?.weekStartsOn??"sunday",dateFormat:e?.dateFormat??"intl"}}function Se(e){return{sunday:0,sun:0,monday:1,mon:1,tuesday:2,tue:2,tues:2,wednesday:3,wed:3,thursday:4,thu:4,thur:4,thurs:4,friday:5,fri:5,saturday:6,sat:6}[e]??0}function Oe(e,t,o){if(!e||!e.nodeType)return null;let s=null,a=e;switch(e.nodeType==="titled"&&(o&&e.titleStart!==void 0&&e.titleEnd!==void 0?s=o.slice(e.titleStart,e.titleEnd).trim():s=e.title,a=e.expression),a.nodeType){case"date":return{type:"date",date:N(a,t),title:s};case"duration":{let n=M(a),i=a.approximate===!0;return{type:"duration",duration:n,title:s,approximate:i}}case"span":{let n,i=a.start;i.nodeType==="date"?n=N(i,t):i.nodeType==="fuzzy"?n=q(i,t).start:n=new Date(t.referenceDate);let l=0;a.duration&&(l=M(a.duration));let y=new Date(n.getTime()+l);return{type:"span",start:n,end:y,duration:l,title:s}}case"range":{let n,i,l=a.start,y=a.end;if(l.nodeType==="date"?n=N(l,t):l.nodeType==="fuzzy"?n=q(l,t).start:n=new Date(t.referenceDate),y.nodeType==="date"){if(i=N(y,t),y.monthOnly){let g=typeof y.month=="number"?y.month-1:0,D=y.year??t.referenceDate.getUTCFullYear();i=new Date(Date.UTC(D,g+1,0))}if(y.yearOnly){let g=y.year??t.referenceDate.getUTCFullYear();i=new Date(Date.UTC(g,11,31))}}else y.nodeType==="fuzzy"?i=q(y,t).end:i=new Date(t.referenceDate);i<n&&(y.weekday!==void 0?i=new Date(i.getTime()+6048e5):i=new Date(Date.UTC(i.getUTCFullYear()+1,i.getUTCMonth(),i.getUTCDate(),i.getUTCHours(),i.getUTCMinutes())));let h=i.getTime()-n.getTime();return{type:"span",start:n,end:i,duration:h,title:s}}case"fuzzy":{let{start:n,end:i}=q(a,t),l=a.modifier,y=a.period;if(l==="start"||l==="beginning")return{type:"date",date:L(a,t).start,title:s};if(l==="end")return{type:"date",date:L(a,t).end,title:s};if(y==="weekend"||y==="night"||y==="tonight"||y==="fortnight"||y==="weekNumber"||y==="weekOf"){let h=i.getTime()-n.getTime();return{type:"span",start:n,end:i,duration:h,title:s}}return{type:"fuzzy",start:n,end:i,approximate:!0,title:s}}case"relative":{let n=M(a.duration),i=t.referenceDate,l,y;return a.direction==="past"?(y=new Date(i),l=new Date(i.getTime()-n)):(l=new Date(i),y=new Date(i.getTime()+n)),{type:"span",start:l,end:y,duration:n,title:s}}case"relativeDate":{let n=a.duration,i=a.baseDate,l=a.time,y;i?y=N(i,t):y=new Date(t.referenceDate);let h=n.value,g=n.unit,D=a.direction==="past"?-1:1,_;if(g==="month")_=new Date(Date.UTC(y.getUTCFullYear(),y.getUTCMonth()+D*h,y.getUTCDate(),y.getUTCHours(),y.getUTCMinutes()));else if(g==="year")_=new Date(Date.UTC(y.getUTCFullYear()+D*h,y.getUTCMonth(),y.getUTCDate(),y.getUTCHours(),y.getUTCMinutes()));else if(g==="businessDay"||g==="businessday"){_=new Date(Date.UTC(y.getUTCFullYear(),y.getUTCMonth(),y.getUTCDate()));let b=h;for(;b>0;){_.setUTCDate(_.getUTCDate()+D);let R=_.getUTCDay();R!==0&&R!==6&&b--}}else if(g==="weekdayoccurrence"){let b=a.weekday.toLowerCase().replace(/s$/,""),R=Se(b);_=new Date(Date.UTC(y.getUTCFullYear(),y.getUTCMonth(),y.getUTCDate()));let $=h;for(;$>0;)_.setUTCDate(_.getUTCDate()+D),_.getUTCDay()===R&&$--}else{let b=M(n);_=new Date(y.getTime()+D*b)}if(l)if("special"in l){let b=0;l.special==="noon"?b=12:l.special==="midnight"?b=0:l.special==="morning"?b=9:l.special==="afternoon"?b=14:l.special==="evening"&&(b=18),_=new Date(Date.UTC(_.getUTCFullYear(),_.getUTCMonth(),_.getUTCDate(),b,0))}else _=new Date(Date.UTC(_.getUTCFullYear(),_.getUTCMonth(),_.getUTCDate(),l.hour,l.minute));return{type:"date",date:_,title:s}}default:return null}}function qe(e){let t=e,o=e,s=(t.match(/\(/g)||[]).length,a=(t.match(/\)/g)||[]).length,n=(t.match(/\[/g)||[]).length,i=(t.match(/]/g)||[]).length;for(;a>s&&t.endsWith(")");)t=t.slice(0,-1).trimEnd(),a--;for(;i>n&&t.endsWith("]");)t=t.slice(0,-1).trimEnd(),i--;for(s=(t.match(/\(/g)||[]).length,a=(t.match(/\)/g)||[]).length;s>a;)t=t.replace(/\(/,""),s--;for(n=(t.match(/\[/g)||[]).length,i=(t.match(/]/g)||[]).length;n>i;)t=t.replace(/\[/,""),n--;return{stripped:t.replace(/\s+/g," ").trim(),originalPreserved:o}}function H(e,t){if(!e||typeof e!="string")return null;let o=e.trim(),{stripped:s,originalPreserved:a}=qe(o),n=s.toLowerCase();if(!n)return null;let i=We(t);try{let l=new j.default.Parser(j.default.Grammar.fromCompiled(Z));if(l.feed(n),l.results.length===0)return null;let y=l.results[0];return Oe(y,i,a)}catch{return null}}function ae(e,t){if(!e||typeof e!="string")return[];let o=e.split(/[,;\n]|\s+and\s+/).map(a=>a.trim()).filter(a=>a.length>0),s=[];for(let a of o){let n=H(a,t);n&&s.push(n)}return s}function P(e,t){return H(e,t)}function Fe(e,t){let o=P(e,t);if(!o)return null;if(o.type==="date")return o.date;if(o.type==="duration"){let s=t?.referenceDate??new Date;return new Date(s.getTime()+o.duration)}return o.type==="fuzzy"?o.start:null}function Pe(e,t){let o=P(e,t);return o&&o.type==="duration"?o.duration:null}function Ye(e,t){let o=P(e,t);return o&&(o.type==="span"||o.type==="fuzzy")?{start:o.start,end:o.end,duration:o.type==="span"?o.duration:o.end.getTime()-o.start.getTime()}:null}function Ke(e,t){return ae(e,t)}0&&(module.exports={extract,parse,parseDate,parseDuration,parseSpan});
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import te from"nearley";import j from"moo";var r=j.compile({ws:/[ \t]+/,newline:{match:/\r?\n/,lineBreaks:!0},time:/(?:0?[0-9]|1[0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?/,monthDayCompact:{match:/(?:[Jj]anuary|[Ff]ebruary|[Mm]arch|[Aa]pril|[Mm]ay|[Jj]une|[Jj]uly|[Aa]ugust|[Ss]eptember|[Oo]ctober|[Nn]ovember|[Dd]ecember|[Jj]an|[Ff]eb|[Mm]ar|[Aa]pr|[Jj]un|[Jj]ul|[Aa]ug|[Ss]ep|[Ss]ept|[Oo]ct|[Nn]ov|[Dd]ec)(?:3[01]|[12]?[0-9])/,value:e=>e.toLowerCase()},quarter:{match:/[Qq][1-4]/,value:e=>e.toUpperCase()},half:{match:/[Hh][1-2]/,value:e=>e.toUpperCase()},ordinal:{match:/(?:3[01]|[12]?[0-9])(?:[Ss][Tt]|[Nn][Dd]|[Rr][Dd]|[Tt][Hh])/,value:e=>e.toLowerCase()},decimal:/\d+\.\d+/,abbreviatedDuration:{match:/\d+(?:mo|w|d|h|m|s|y)\b/,value:e=>e.toLowerCase()},integer:/\d+/,ampm:{match:/[Aa][Mm]|[Pp][Mm]/,value:e=>e.toLowerCase()},word:{match:/[a-zA-Z][a-zA-Z0-9#]*/,type:j.keywords({kw_today:["today"],kw_tomorrow:["tomorrow"],kw_yesterday:["yesterday"],kw_now:["now"],kw_noon:["noon"],kw_midnight:["midnight"],kw_next:["next"],kw_last:["last"],kw_this:["this"],kw_previous:["previous"],kw_coming:["coming"],kw_upcoming:["upcoming"],kw_past:["past"],kw_early:["early"],kw_mid:["mid"],kw_late:["late"],kw_beginning:["beginning"],kw_middle:["middle"],kw_end:["end"],kw_start:["start"],unit:["day","days","week","weeks","month","months","year","years","quarter","quarters","hour","hours","minute","minutes","second","seconds","hr","hrs","min","mins","sec","secs","wk","wks","mo","mos","yr","yrs"],halfWord:["half"],kw_to:["to"],kw_from:["from"],kw_until:["until","til","till"],kw_through:["through"],kw_between:["between"],kw_and:["and"],kw_for:["for"],kw_in:["in"],kw_on:["on"],kw_at:["at"],kw_of:["of"],kw_the:["the"],kw_within:["within"],kw_over:["over"],kw_during:["during"],kw_starting:["starting"],kw_by:["by"],kw_before:["before"],kw_after:["after"],kw_around:["around"],kw_about:["about"],kw_roughly:["roughly"],kw_approximately:["approximately"],kw_sometime:["sometime"],ordinalWord:["first","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth","sixteenth","seventeenth","eighteenth","nineteenth","twentieth","twenty-first","twenty-second","twenty-third","twenty-fourth","twenty-fifth","twenty-sixth","twenty-seventh","twenty-eighth","twenty-ninth","thirtieth","thirty-first"],season:["spring","summer","fall","autumn","winter"],wordNumber:["one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty","a","an","couple"],month:["january","february","march","april","may","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],weekday:["monday","tuesday","wednesday","thursday","friday","saturday","sunday","mondays","tuesdays","wednesdays","thursdays","fridays","saturdays","sundays","mon","tue","tues","wed","thu","thur","thurs","fri","sat","sun"],kw_ago:["ago"],kw_weekend:["weekend"],kw_tonight:["tonight"],kw_night:["night"],kw_fortnight:["fortnight","fortnights"],otherKeyword:["fiscal","fy","daily","weekly","monthly","yearly","annually","hence","later","earlier"],kw_business:["business"],kw_eod:["eod"],kw_cob:["cob"],kw_close:["close"],kw_ytd:["ytd"]})},lparen:"(",rparen:")",lbracket:"[",rbracket:"]",colon:":",semicolon:";",comma:",",dash:/[-–—]/,slash:"/",other:/./});var p=e=>e[0],se=()=>null;var u=e=>({nodeType:"date",value:"",...e}),c=(e,t)=>({nodeType:"duration",value:e,unit:re(t)}),T=(e,t,o)=>({nodeType:"span",start:e,duration:t,end:o}),g=(e,t)=>({nodeType:"range",start:e,end:t}),m=e=>({nodeType:"fuzzy",period:"",...e}),_=(e,t)=>({nodeType:"relative",direction:e,duration:t}),d=(e,t,o,s)=>({nodeType:"relativeDate",direction:e,duration:t,baseDate:o,time:s}),k=(e,t,o,s)=>({nodeType:"titled",title:e.trim(),titleStart:o,titleEnd:s,expression:t});function re(e){let t=e.toLowerCase();return["day","days","d"].includes(t)?"day":["week","weeks","wk","wks","w"].includes(t)?"week":["month","months","mo","mos"].includes(t)?"month":["year","years","yr","yrs","y"].includes(t)?"year":["hour","hours","hr","hrs","h"].includes(t)?"hour":["minute","minutes","min","mins"].includes(t)?"minute":["second","seconds","sec","secs","s"].includes(t)?"second":["quarter","quarters"].includes(t)?"quarter":t}function b(e){return{a:1,an:1,one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12,thirteen:13,fourteen:14,fifteen:15,sixteen:16,seventeen:17,eighteen:18,nineteen:19,twenty:20,couple:2}[e.toLowerCase()]??1}function H(e){let t=e.match(/^(\d+)/);return t?parseInt(t[1],10):v(e)}function v(e){return{first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9,tenth:10,eleventh:11,twelfth:12,thirteenth:13,fourteenth:14,fifteenth:15,sixteenth:16,seventeenth:17,eighteenth:18,nineteenth:19,twentieth:20,"twenty-first":21,"twenty-second":22,"twenty-third":23,"twenty-fourth":24,"twenty-fifth":25,"twenty-sixth":26,"twenty-seventh":27,"twenty-eighth":28,"twenty-ninth":29,thirtieth:30,"thirty-first":31}[e.toLowerCase()]??1}function B(e){return{january:1,jan:1,february:2,feb:2,march:3,mar:3,april:4,apr:4,may:5,june:6,jun:6,july:7,jul:7,august:8,aug:8,september:9,sep:9,sept:9,october:10,oct:10,november:11,nov:11,december:12,dec:12}[e.toLowerCase()]??1}function W(e){let t=e.toLowerCase(),o=["january","february","march","april","may","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"];for(let s of o)if(t.startsWith(s)){let a=t.slice(s.length);return{month:B(s),day:parseInt(a,10)}}return{month:1,day:1}}function x(e){let t=e.match(/[qQ]([1-4])/);return t?parseInt(t[1],10):1}function $(e){let t=e.match(/[hH]([1-2])/);return t?parseInt(t[1],10):1}var ae={Lexer:r,ParserRules:[{name:"main",symbols:["titledExpression"],postprocess:p},{name:"main",symbols:["expression"],postprocess:p},{name:"titledExpression",symbols:["titleTextSimple","_",r.has("dash")?{type:"dash"}:dash,"_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText",r.has("colon")?{type:"colon"}:colon,"_","expression"],postprocess:e=>k(e[0].text,e[3],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_",r.has("lparen")?{type:"lparen"}:lparen,"expression",r.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>k(e[0].text,e[3],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_",r.has("lbracket")?{type:"lbracket"}:lbracket,"expression",r.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>k(e[0].text,e[3],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","onConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","atConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","inConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","forConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","fromConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","duringConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","startingConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","byConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_",r.has("dash")?{type:"dash"}:dash,"_","byConnector","_","expression"],postprocess:e=>k(e[0].text,e[6],e[0].start,e[0].end)},{name:"titledExpression",symbols:["expression","_","postTitle"],postprocess:e=>k(e[2].text,e[0],e[2].start,e[2].end)},{name:"postTitle",symbols:[r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"postTitle",symbols:["postTitle","_",r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].text+" "+e[2].value,start:e[0].start,end:e[2].offset+e[2].text.length})},{name:"titleText",symbols:["titleWord"],postprocess:e=>({text:e[0].text,start:e[0].start,end:e[0].end})},{name:"titleText",symbols:["versionNumber"],postprocess:e=>e[0]},{name:"titleText",symbols:["hyphenatedWord"],postprocess:e=>e[0]},{name:"titleText",symbols:["titleText","_","titleWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleText",symbols:["titleText","_","versionNumber"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleText",symbols:["titleText","_","hyphenatedWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleText",symbols:["titleText","_",r.has("dash")?{type:"dash"}:dash,"_","titleWord"],postprocess:e=>({text:e[0].text+" - "+e[4].text,start:e[0].start,end:e[4].end})},{name:"titleText",symbols:["titleText","_",r.has("dash")?{type:"dash"}:dash,"_","versionNumber"],postprocess:e=>({text:e[0].text+" - "+e[4].text,start:e[0].start,end:e[4].end})},{name:"titleWord",symbols:[r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("wordNumber")?{type:"wordNumber"}:wordNumber],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("decimal")?{type:"decimal"}:decimal],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("quarter")?{type:"quarter"}:quarter],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("half")?{type:"half"}:half],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("lparen")?{type:"lparen"}:lparen,"titleText",r.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>({text:"("+e[1].text+")",start:e[0].offset,end:e[2].offset+1})},{name:"titleWord",symbols:[r.has("lbracket")?{type:"lbracket"}:lbracket,"titleText",r.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>({text:"["+e[1].text+"]",start:e[0].offset,end:e[2].offset+1})},{name:"titleWord",symbols:[r.has("slash")?{type:"slash"}:slash],postprocess:e=>({text:"/",start:e[0].offset,end:e[0].offset+1})},{name:"titleWord",symbols:[r.has("colon")?{type:"colon"}:colon],postprocess:e=>({text:":",start:e[0].offset,end:e[0].offset+1})},{name:"titleWord",symbols:["hashNumber"],postprocess:e=>e[0]},{name:"hyphenatedWord",symbols:[r.has("word")?{type:"word"}:word,r.has("dash")?{type:"dash"}:dash,r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].value+"-"+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length})},{name:"hyphenatedWord",symbols:[r.has("word")?{type:"word"}:word,r.has("dash")?{type:"dash"}:dash,r.has("integer")?{type:"integer"}:integer],postprocess:e=>({text:e[0].value+"-"+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length})},{name:"hashNumber",symbols:[r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[0].value!=="#"?o:{text:"#"+e[1].value,start:e[0].offset,end:e[1].offset+e[1].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[1].value!=="."?o:{text:e[0].value+"."+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[1].value!=="."||e[3].value!=="."?o:{text:e[0].value+"."+e[2].value+"."+e[4].value,start:e[0].offset,end:e[4].offset+e[4].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[1].value!=="."||e[3].value!=="."||e[5].value!=="."?o:{text:e[0].value+"."+e[2].value+"."+e[4].value+"."+e[6].value,start:e[0].offset,end:e[6].offset+e[6].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("decimal")?{type:"decimal"}:decimal],postprocess:(e,t,o)=>e[1].value!=="."?o:{text:e[0].value+"."+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length}},{name:"versionNumber",symbols:[r.has("decimal")?{type:"decimal"}:decimal],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleTextSimple",symbols:["titleWord"],postprocess:e=>e[0]},{name:"titleTextSimple",symbols:["hyphenatedWord"],postprocess:e=>e[0]},{name:"titleTextSimple",symbols:["versionNumber"],postprocess:e=>e[0]},{name:"titleTextSimple",symbols:["titleTextSimple","_","titleWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple","_","hyphenatedWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple","_","versionNumber"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple",r.has("slash")?{type:"slash"}:slash,"titleWord"],postprocess:e=>({text:e[0].text+"/"+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple",r.has("colon")?{type:"colon"}:colon,"_","titleWord"],postprocess:e=>({text:e[0].text+": "+e[3].text,start:e[0].start,end:e[3].end})},{name:"expression",symbols:["range"],postprocess:p},{name:"expression",symbols:["span"],postprocess:p},{name:"expression",symbols:["relative"],postprocess:p},{name:"expression",symbols:["relativeDate"],postprocess:p},{name:"expression",symbols:["lastDayOfMonthExpr"],postprocess:p},{name:"expression",symbols:["date"],postprocess:p},{name:"expression",symbols:["fuzzy"],postprocess:p},{name:"expression",symbols:["forDuration"],postprocess:p},{name:"expression",symbols:["duration"],postprocess:p},{name:"lastDayOfMonthExpr",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],lastDayOfMonth:!0})},{name:"lastDayOfMonthExpr",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({lastDayOfMonth:!0,monthFromRef:!0})},{name:"forDuration",symbols:["forConnector","_","duration"],postprocess:e=>e[2]},{name:"range",symbols:["date","_","toConnector","_","date"],postprocess:e=>g(e[0],e[4])},{name:"range",symbols:["fromConnector","_","date","_","toConnector","_","date"],postprocess:e=>g(e[2],e[6])},{name:"range",symbols:["date","_",r.has("dash")?{type:"dash"}:dash,"_","date"],postprocess:e=>g(e[0],e[4])},{name:"range",symbols:[r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact,r.has("dash")?{type:"dash"}:dash,r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact],postprocess:e=>{let t=W(e[0].value),o=W(e[2].value);return g(u({month:t.month,day:t.day}),u({month:o.month,day:o.day}))}},{name:"range",symbols:[r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact,"_",r.has("dash")?{type:"dash"}:dash,"_","date"],postprocess:e=>{let t=W(e[0].value);return g(u({month:t.month,day:t.day}),e[4])}},{name:"range",symbols:["date","_",r.has("dash")?{type:"dash"}:dash,"_",r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact],postprocess:e=>{let t=W(e[4].value);return g(e[0],u({month:t.month,day:t.day}))}},{name:"range",symbols:["specialDay","_","time","_","toConnector","_","time"],postprocess:e=>g(u({special:e[0],time:e[2]}),u({special:e[0],time:e[6]}))},{name:"range",symbols:["monthDay","_","time","_","toConnector","_","time"],postprocess:e=>g({...e[0],time:e[2]},{...e[0],time:e[6]})},{name:"range",symbols:["weekday","_","time","_","toConnector","_","time"],postprocess:e=>g(u({weekday:e[0],time:e[2]}),u({weekday:e[0],time:e[6]}))},{name:"range",symbols:["month","_","dayNumber",r.has("dash")?{type:"dash"}:dash,"dayNumber"],postprocess:e=>g(u({month:e[0],day:e[2]}),u({month:e[0],day:e[4]}))},{name:"range",symbols:["dayNumber",r.has("dash")?{type:"dash"}:dash,"dayNumber","_","month"],postprocess:e=>g(u({month:e[4],day:e[0]}),u({month:e[4],day:e[2]}))},{name:"range",symbols:["betweenConnector","_","date","_","andConnector","_","date"],postprocess:e=>g(e[2],e[6])},{name:"range",symbols:["date","_","throughConnector","_","date"],postprocess:e=>g(e[0],e[4])},{name:"range",symbols:["date","_","untilConnector","_","date"],postprocess:e=>g(e[0],e[4])},{name:"range",symbols:["untilConnector","_","date"],postprocess:e=>g(u({special:"today"}),e[2])},{name:"range",symbols:["untilConnector","_","fuzzy"],postprocess:e=>g(u({special:"today"}),e[2])},{name:"range",symbols:["fuzzy","_","toConnector","_","fuzzy"],postprocess:e=>g(e[0],e[4])},{name:"range",symbols:["fromConnector","_","fuzzy","_","toConnector","_","fuzzy"],postprocess:e=>g(e[2],e[6])},{name:"range",symbols:["betweenConnector","_","fuzzy","_","andConnector","_","fuzzy"],postprocess:e=>g(e[2],e[6])},{name:"range",symbols:["fromConnector","_","date","_","untilConnector","_","date"],postprocess:e=>g(e[2],e[6])},{name:"range",symbols:["fromConnector","_","specialDay","_","untilConnector","_","date"],postprocess:e=>g(u({special:e[2]}),e[6])},{name:"span",symbols:["date","_","forConnector","_","duration"],postprocess:e=>T(e[0],e[4])},{name:"span",symbols:["fuzzy","_","forConnector","_","duration"],postprocess:e=>T(e[0],e[4])},{name:"span",symbols:["inConnector","_","fuzzy","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["inConnector","_","date","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["inConnector","_","monthForSpan","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["startingConnector","_","date","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["beginningConnector","_","date","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["startingConnector","_","date"],postprocess:e=>T(e[2])},{name:"span",symbols:["date","_","startingConnector","_","date"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","startingConnector","_","date"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","fromConnector","_","date"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","inConnector","_","fuzzy"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","inConnector","_","theConnector","_","fuzzy"],postprocess:e=>T(e[6],e[0])},{name:"monthForSpan",symbols:["month"],postprocess:e=>m({period:"month",month:e[0]})},{name:"relative",symbols:["lastRelative","_","number","_","unit"],postprocess:e=>_("past",c(e[2],e[4]))},{name:"relative",symbols:["pastRelative","_","number","_","unit"],postprocess:e=>_("past",c(e[2],e[4]))},{name:"relative",symbols:["previousRelative","_","number","_","unit"],postprocess:e=>_("past",c(e[2],e[4]))},{name:"relative",symbols:["nextRelative","_","number","_","unit"],postprocess:e=>_("future",c(e[2],e[4]))},{name:"relative",symbols:["comingRelative","_","number","_","unit"],postprocess:e=>_("future",c(e[2],e[4]))},{name:"relative",symbols:["upcomingRelative","_","number","_","unit"],postprocess:e=>_("future",c(e[2],e[4]))},{name:"relative",symbols:["withinConnector","_","duration"],postprocess:e=>_("future",e[2])},{name:"relative",symbols:["withinConnector","_","theConnector","_","nextRelative","_","duration"],postprocess:e=>_("future",e[6])},{name:"relative",symbols:["withinConnector","_","theConnector","_","lastRelative","_","duration"],postprocess:e=>_("past",e[6])},{name:"relative",symbols:["withinConnector","_","theConnector","_","pastRelative","_","duration"],postprocess:e=>_("past",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","nextRelative","_","duration"],postprocess:e=>_("future",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","lastRelative","_","duration"],postprocess:e=>_("past",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","pastRelative","_","duration"],postprocess:e=>_("past",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","comingRelative","_","duration"],postprocess:e=>_("future",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","lastRelative","_","duration"],postprocess:e=>_("past",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","nextRelative","_","duration"],postprocess:e=>_("future",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","pastRelative","_","duration"],postprocess:e=>_("past",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","comingRelative","_","duration"],postprocess:e=>_("future",e[6])},{name:"relative",symbols:["lastRelative","_","wordNumber","_","unit"],postprocess:e=>_("past",c(b(e[2]),e[4]))},{name:"relative",symbols:["nextRelative","_","wordNumber","_","unit"],postprocess:e=>_("future",c(b(e[2]),e[4]))},{name:"relative",symbols:["pastRelative","_","wordNumber","_","unit"],postprocess:e=>_("past",c(b(e[2]),e[4]))},{name:"relative",symbols:["previousRelative","_","wordNumber","_","unit"],postprocess:e=>_("past",c(b(e[2]),e[4]))},{name:"relative",symbols:["comingRelative","_","wordNumber","_","unit"],postprocess:e=>_("future",c(b(e[2]),e[4]))},{name:"relative",symbols:["upcomingRelative","_","wordNumber","_","unit"],postprocess:e=>_("future",c(b(e[2]),e[4]))},{name:"relative",symbols:["pastRelative","_","unit"],postprocess:e=>_("past",c(1,e[2]))},{name:"relative",symbols:["previousRelative","_","unit"],postprocess:e=>_("past",c(1,e[2]))},{name:"relative",symbols:["upcomingRelative","_","unit"],postprocess:e=>_("future",c(1,e[2]))},{name:"relative",symbols:["withinConnector","_","theConnector","_","nextRelative","_","unit"],postprocess:e=>_("future",c(1,e[6]))},{name:"relative",symbols:["withinConnector","_","theConnector","_","pastRelative","_","unit"],postprocess:e=>_("past",c(1,e[6]))},{name:"relative",symbols:["overConnector","_","theConnector","_","lastRelative","_","unit"],postprocess:e=>_("past",c(1,e[6]))},{name:"relative",symbols:["overConnector","_","theConnector","_","comingRelative","_","unit"],postprocess:e=>_("future",c(1,e[6]))},{name:"relative",symbols:["overConnector","_","theConnector","_","upcomingRelative","_","unit"],postprocess:e=>_("future",c(1,e[6]))},{name:"relative",symbols:["inConnector","_","theConnector","_","pastRelative","_","unit"],postprocess:e=>_("past",c(1,e[6]))},{name:"relative",symbols:["inConnector","_","theConnector","_","comingRelative","_","unit"],postprocess:e=>_("future",c(1,e[6]))},{name:"relative",symbols:["inConnector","_","theConnector","_","upcomingRelative","_","unit"],postprocess:e=>_("future",c(1,e[6]))},{name:"relativeDate",symbols:["duration","_","agoConnector"],postprocess:e=>d("past",e[0])},{name:"relativeDate",symbols:["duration","_","agoConnector","_","atConnector","_","time"],postprocess:e=>d("past",e[0],void 0,e[6])},{name:"relativeDate",symbols:["duration","_","agoConnector","_","atConnector","_","timeWord"],postprocess:e=>d("past",e[0],void 0,{special:e[6]})},{name:"relativeDate",symbols:["inConnector","_","duration"],postprocess:e=>d("future",e[2])},{name:"relativeDate",symbols:["inConnector","_","duration","_","atConnector","_","time"],postprocess:e=>d("future",e[2],void 0,e[6])},{name:"relativeDate",symbols:["inConnector","_","duration","_","atConnector","_","timeWord"],postprocess:e=>d("future",e[2],void 0,{special:e[6]})},{name:"relativeDate",symbols:["duration","_","fromConnector","_","now"],postprocess:e=>d("future",e[0])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","now","_","atConnector","_","time"],postprocess:e=>d("future",e[0],void 0,e[8])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","now","_","atConnector","_","timeWord"],postprocess:e=>d("future",e[0],void 0,{special:e[8]})},{name:"relativeDate",symbols:["duration","_","fromConnector","_","today"],postprocess:e=>d("future",e[0],u({special:"today"}))},{name:"relativeDate",symbols:["duration","_","fromConnector","_","today","_","atConnector","_","time"],postprocess:e=>d("future",e[0],u({special:"today"}),e[8])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","tomorrow"],postprocess:e=>d("future",e[0],u({special:"tomorrow"}))},{name:"relativeDate",symbols:["duration","_","fromConnector","_","tomorrow","_","atConnector","_","time"],postprocess:e=>d("future",e[0],u({special:"tomorrow"}),e[8])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","yesterday"],postprocess:e=>d("future",e[0],u({special:"yesterday"}))},{name:"relativeDate",symbols:["duration","_","henceConnector"],postprocess:e=>d("future",e[0])},{name:"relativeDate",symbols:["duration","_","laterConnector"],postprocess:e=>d("future",e[0])},{name:"relativeDate",symbols:["duration","_","beforeConnector","_","date"],postprocess:e=>d("past",e[0],e[4])},{name:"relativeDate",symbols:["duration","_","afterConnector","_","date"],postprocess:e=>d("future",e[0],e[4])},{name:"relativeDate",symbols:["theConnector","_","dayUnit","_","beforeConnector","_","date"],postprocess:e=>d("past",c(1,"day"),e[6])},{name:"relativeDate",symbols:["theConnector","_","dayUnit","_","afterConnector","_","date"],postprocess:e=>d("future",c(1,"day"),e[6])},{name:"relativeDate",symbols:["dayUnit","_","beforeConnector","_","date"],postprocess:e=>d("past",c(1,"day"),e[4])},{name:"relativeDate",symbols:["dayUnit","_","afterConnector","_","date"],postprocess:e=>d("future",c(1,"day"),e[4])},{name:"relativeDate",symbols:["wordNumber","_","unit","_","beforeConnector","_","date"],postprocess:e=>d("past",c(b(e[0]),e[2]),e[6])},{name:"relativeDate",symbols:["wordNumber","_","unit","_","afterConnector","_","date"],postprocess:e=>d("future",c(b(e[0]),e[2]),e[6])},{name:"relativeDate",symbols:["nextRelative","_","businessKeyword","_","dayOrDaysUnit"],postprocess:e=>d("future",c(1,"businessDay"))},{name:"relativeDate",symbols:["inConnector","_","number","_","businessKeyword","_","dayOrDaysUnit"],postprocess:e=>d("future",c(e[2],"businessDay"))},{name:"relativeDate",symbols:["inConnector","_","wordNumber","_","businessKeyword","_","dayOrDaysUnit"],postprocess:e=>d("future",c(b(e[2]),"businessDay"))},{name:"relativeDate",symbols:["number","_","businessKeyword","_","dayOrDaysUnit","_","agoConnector"],postprocess:e=>d("past",c(e[0],"businessDay"))},{name:"relativeDate",symbols:["wordNumber","_","businessKeyword","_","dayOrDaysUnit","_","agoConnector"],postprocess:e=>d("past",c(b(e[0]),"businessDay"))},{name:"relativeDate",symbols:["wordNumber","_","fortnightKeyword","_","fromConnector","_","now"],postprocess:e=>d("future",c(b(e[0])*2,"week"))},{name:"relativeDate",symbols:["number","_","fortnightKeyword","_","fromConnector","_","now"],postprocess:e=>d("future",c(e[0]*2,"week"))},{name:"relativeDate",symbols:["fortnightKeyword","_","fromConnector","_","now"],postprocess:e=>d("future",c(2,"week"))},{name:"relativeDate",symbols:["inConnector","_","wordNumber","_","fortnightKeyword"],postprocess:e=>d("future",c(b(e[2])*2,"week"))},{name:"relativeDate",symbols:["inConnector","_","number","_","fortnightKeyword"],postprocess:e=>d("future",c(e[2]*2,"week"))},{name:"relativeDate",symbols:["inConnector","_","fortnightKeyword"],postprocess:e=>d("future",c(2,"week"))},{name:"relativeDate",symbols:["wordNumber","_","fortnightKeyword","_","agoConnector"],postprocess:e=>d("past",c(b(e[0])*2,"week"))},{name:"relativeDate",symbols:["number","_","fortnightKeyword","_","agoConnector"],postprocess:e=>d("past",c(e[0]*2,"week"))},{name:"relativeDate",symbols:["fortnightKeyword","_","agoConnector"],postprocess:e=>d("past",c(2,"week"))},{name:"relativeDate",symbols:["number","_","weekday","_","fromConnector","_","now"],postprocess:e=>({...d("future",c(e[0],"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["wordNumber","_","weekday","_","fromConnector","_","now"],postprocess:e=>({...d("future",c(b(e[0]),"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["number","_","weekday","_","agoConnector"],postprocess:e=>({...d("past",c(e[0],"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["wordNumber","_","weekday","_","agoConnector"],postprocess:e=>({...d("past",c(b(e[0]),"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["weekday","_","inConnector","_","duration"],postprocess:e=>d("future",e[4],u({weekday:e[0]}))},{name:"relativeDate",symbols:["weekday","_","inConnector","_","wordNumber","_","unit"],postprocess:e=>d("future",c(b(e[4]),e[6]),u({weekday:e[0]}))},{name:"relativeDate",symbols:["weekday","_","duration","_","agoConnector"],postprocess:e=>d("past",e[2],u({weekday:e[0],relative:"last"}))},{name:"relativeDate",symbols:["weekday","_","wordNumber","_","unit","_","agoConnector"],postprocess:e=>d("past",c(b(e[2]),e[4]),u({weekday:e[0],relative:"last"}))},{name:"relativeDate",symbols:["timeWord","_","inConnector","_","duration"],postprocess:e=>d("future",e[4],void 0,{special:e[0]})},{name:"relativeDate",symbols:["timeWord","_","inConnector","_","wordNumber","_","unit"],postprocess:e=>d("future",c(b(e[4]),e[6]),void 0,{special:e[0]})},{name:"relativeDate",symbols:["timeWord","_","duration","_","agoConnector"],postprocess:e=>d("past",e[2],void 0,{special:e[0]})},{name:"relativeDate",symbols:["timeWord","_","wordNumber","_","unit","_","agoConnector"],postprocess:e=>d("past",c(b(e[2]),e[4]),void 0,{special:e[0]})},{name:"fuzzy",symbols:["quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[0].value)})},{name:"fuzzy",symbols:["quarter","_","year"],postprocess:e=>m({period:"quarter",quarter:x(e[0].value),year:e[2]})},{name:"fuzzy",symbols:["half"],postprocess:e=>m({period:"half",half:$(e[0].value)})},{name:"fuzzy",symbols:["half","_","year"],postprocess:e=>m({period:"half",half:$(e[0].value),year:e[2]})},{name:"fuzzy",symbols:["earlyModifier","_","month"],postprocess:e=>m({period:"month",month:e[2],modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","month"],postprocess:e=>m({period:"month",month:e[2],modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","month"],postprocess:e=>m({period:"month",month:e[2],modifier:"late"})},{name:"fuzzy",symbols:["earlyModifier","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[2].value),modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[2].value),modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[2].value),modifier:"late"})},{name:"fuzzy",symbols:["earlyModifier","_","year"],postprocess:e=>m({period:"year",year:e[2],modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","year"],postprocess:e=>m({period:"year",year:e[2],modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","year"],postprocess:e=>m({period:"year",year:e[2],modifier:"late"})},{name:"fuzzy",symbols:["earlyModifier","_","yearUnit"],postprocess:e=>m({period:"year",modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","yearUnit"],postprocess:e=>m({period:"year",modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","yearUnit"],postprocess:e=>m({period:"year",modifier:"late"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"end"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"start"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"beginning"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"middle"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","theConnector","_","month"],postprocess:e=>m({period:"month",month:e[6],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","theConnector","_","unit"],postprocess:e=>m({period:e[6],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"end"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"beginning"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"start"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"middle"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"end",relative:"next"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"end",relative:"last"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"start",relative:"next"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"start",relative:"last"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"beginning",relative:"next"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"beginning",relative:"last"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"beginning"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"beginning"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"start"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"start"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"middle"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"middle"})},{name:"fuzzy",symbols:["season"],postprocess:e=>m({period:"season",season:e[0]})},{name:"fuzzy",symbols:["season","_","year"],postprocess:e=>m({period:"season",season:e[0],year:e[2]})},{name:"fuzzy",symbols:["earlyModifier","_","season"],postprocess:e=>m({period:"season",season:e[2],modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","season"],postprocess:e=>m({period:"season",season:e[2],modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","season"],postprocess:e=>m({period:"season",season:e[2],modifier:"late"})},{name:"fuzzy",symbols:["nextRelative","_","season"],postprocess:e=>m({period:"season",season:e[2],relative:"next"})},{name:"fuzzy",symbols:["lastRelative","_","season"],postprocess:e=>m({period:"season",season:e[2],relative:"last"})},{name:"fuzzy",symbols:["thisRelative","_","season"],postprocess:e=>m({period:"season",season:e[2],relative:"this"})},{name:"fuzzy",symbols:["ordinalWord","_","quarter","_","year"],postprocess:e=>m({period:"quarter",quarter:v(e[0]),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","quarter"],postprocess:e=>m({period:"quarter",quarter:v(e[0])})},{name:"fuzzy",symbols:["ordinalWord","_","half","_","year"],postprocess:e=>m({period:"half",half:v(e[0]),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","half"],postprocess:e=>m({period:"half",half:v(e[0])})},{name:"fuzzy",symbols:["aroundConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["aboutConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["roughlyConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["approximatelyConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["aroundConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["aboutConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["roughlyConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["approximatelyConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["sometimeConnector","_","inConnector","_","fuzzy"],postprocess:e=>e[4]},{name:"fuzzy",symbols:["sometimeConnector","_","inConnector","_","month"],postprocess:e=>m({period:"month",month:e[4]})},{name:"fuzzy",symbols:["sometimeConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],relative:"next"})},{name:"fuzzy",symbols:["sometimeConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],relative:"last"})},{name:"fuzzy",symbols:["sometimeConnector","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],relative:"this"})},{name:"fuzzy",symbols:["theConnector","_","lastRelative","_","unit","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[8],modifier:"late"})},{name:"fuzzy",symbols:["theConnector","_","ordinalWord","_","unit","_","ofConnector","_","month"],postprocess:(e,t,o)=>e[2].toLowerCase()==="first"?m({period:"month",month:e[8],modifier:"early"}):o},{name:"fuzzy",symbols:["ordinalWord","_","quarterUnit"],postprocess:e=>m({period:"quarter",quarter:v(e[0])})},{name:"fuzzy",symbols:["ordinal","_","quarterUnit"],postprocess:e=>m({period:"quarter",quarter:H(e[0])})},{name:"fuzzy",symbols:["ordinalWord","_","quarterUnit","_","year"],postprocess:e=>m({period:"quarter",quarter:v(e[0]),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","quarterUnit","_","ofConnector","_","year"],postprocess:e=>m({period:"quarter",quarter:v(e[0]),year:e[6]})},{name:"fuzzy",symbols:["quarter","_","ofConnector","_","year"],postprocess:e=>m({period:"quarter",quarter:x(e[0].value),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","halfWord","_","ofConnector","_","year"],postprocess:e=>m({period:"half",half:v(e[0]),year:e[6]})},{name:"fuzzy",symbols:["earlyModifier","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"early",relative:"next"})},{name:"fuzzy",symbols:["midModifier","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"mid",relative:"next"})},{name:"fuzzy",symbols:["lateModifier","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"late",relative:"next"})},{name:"fuzzy",symbols:["earlyModifier","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"early",relative:"last"})},{name:"fuzzy",symbols:["midModifier","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"mid",relative:"last"})},{name:"fuzzy",symbols:["lateModifier","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"late",relative:"last"})},{name:"fuzzy",symbols:["earlyModifier","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"early",relative:"this"})},{name:"fuzzy",symbols:["midModifier","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"mid",relative:"this"})},{name:"fuzzy",symbols:["lateModifier","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"late",relative:"this"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","theConnector","_","unit"],postprocess:e=>m({period:e[6],modifier:"beginning"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","theConnector","_","unit"],postprocess:e=>m({period:e[6],modifier:"middle"})},{name:"fuzzy",symbols:["lastRelative","_","unit","_","ofConnector","_","month"],postprocess:(e,t,o)=>e[2].toLowerCase()==="day"||e[2].toLowerCase()==="days"?o:m({period:"month",month:e[6],modifier:"late"})},{name:"fuzzy",symbols:["ordinalWord","_","unit","_","ofConnector","_","month"],postprocess:(e,t,o)=>e[2].toLowerCase()==="day"||e[2].toLowerCase()==="days"?o:m({period:"month",month:e[6],modifier:v(e[0])<=2?"early":v(e[0])>=4?"late":"mid"})},{name:"fuzzy",symbols:["weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"this"})},{name:"fuzzy",symbols:["theConnector","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"this"})},{name:"fuzzy",symbols:["thisRelative","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"this"})},{name:"fuzzy",symbols:["nextRelative","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"next"})},{name:"fuzzy",symbols:["lastRelative","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"last"})},{name:"fuzzy",symbols:["tonightKeyword"],postprocess:e=>m({period:"tonight"})},{name:"fuzzy",symbols:["nightKeyword"],postprocess:e=>m({period:"night"})},{name:"fuzzy",symbols:["lastRelative","_","nightKeyword"],postprocess:e=>m({period:"night",relative:"last"})},{name:"fuzzy",symbols:["tomorrow","_","nightKeyword"],postprocess:e=>m({period:"night",relative:"tomorrow"})},{name:"fuzzy",symbols:["weekday","_","nightKeyword"],postprocess:e=>m({period:"night",weekday:e[0]})},{name:"fuzzy",symbols:["laterKeyword","_","today"],postprocess:e=>m({period:"day",modifier:"later"})},{name:"fuzzy",symbols:["earlierKeyword","_","today"],postprocess:e=>m({period:"day",modifier:"earlier"})},{name:"fuzzy",symbols:["laterKeyword","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"later",relative:"this"})},{name:"fuzzy",symbols:["earlierKeyword","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"earlier",relative:"this"})},{name:"fuzzy",symbols:["weekKeyword","_","number"],postprocess:e=>m({period:"weekNumber",weekNumber:e[2]})},{name:"fuzzy",symbols:["weekKeyword","_","number","_","year"],postprocess:e=>m({period:"weekNumber",weekNumber:e[2],year:e[4]})},{name:"fuzzy",symbols:["theConnector","_","weekKeyword","_","ofConnector","_","date"],postprocess:e=>m({period:"weekOf",baseDate:e[6]})},{name:"fuzzy",symbols:["ordinalWord","_","weekKeyword","_","ofConnector","_","month"],postprocess:e=>m({period:"weekOfMonth",week:v(e[0]),month:e[6]})},{name:"fuzzy",symbols:[r.has("kw_ytd")?{type:"kw_ytd"}:kw_ytd],postprocess:e=>m({period:"ytd"})},{name:"duration",symbols:["number","_","unit"],postprocess:e=>c(e[0],e[2])},{name:"duration",symbols:["wordNumber","_","unit"],postprocess:e=>c(b(e[0]),e[2])},{name:"duration",symbols:["abbreviatedDuration"],postprocess:e=>e[0]},{name:"duration",symbols:["halfWord","_","wordNumber","_","unit"],postprocess:e=>{let t=e[2].toLowerCase();return c(t==="a"||t==="an"?.5:b(e[2])+.5,e[4])}},{name:"duration",symbols:["number","_","andConnector","_","halfWord","_","unit"],postprocess:e=>c(e[0]+.5,e[6])},{name:"duration",symbols:["wordNumber","_","andConnector","_","halfWord","_","unit"],postprocess:e=>c(b(e[0])+.5,e[6])},{name:"duration",symbols:["wordNumber","_","andConnector","_","wordNumber","_","halfWord","_","unit"],postprocess:e=>c(b(e[0])+.5,e[8])},{name:"duration",symbols:["wordNumber","_","unit","_","andConnector","_","wordNumber","_","halfWord"],postprocess:e=>c(b(e[0])+.5,e[2])},{name:"duration",symbols:["halfWord","_","unit"],postprocess:e=>c(.5,e[2])},{name:"duration",symbols:["duration","_","andConnector","_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[4]]})},{name:"duration",symbols:["duration","_",r.has("comma")?{type:"comma"}:comma,"_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[4]]})},{name:"duration",symbols:["duration","_",r.has("comma")?{type:"comma"}:comma,"_","andConnector","_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[6]]})},{name:"duration",symbols:["duration","_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[2]]})},{name:"duration",symbols:["aroundConnector","_","duration"],postprocess:e=>({...e[2],approximate:!0})},{name:"duration",symbols:["aboutConnector","_","duration"],postprocess:e=>({...e[2],approximate:!0})},{name:"abbreviatedDuration",symbols:[r.has("abbreviatedDuration")?{type:"abbreviatedDuration"}:abbreviatedDuration],postprocess:e=>{let t=e[0].value.match(/^(\d+)(mo|w|d|h|m|s|y)$/);if(!t)return null;let o=parseInt(t[1],10);return c(o,{w:"week",d:"day",h:"hour",m:"minute",mo:"month",s:"second",y:"year"}[t[2]])}},{name:"date",symbols:["specialDay"],postprocess:e=>u({special:e[0]})},{name:"date",symbols:["ordinalWeekdayOfMonth"],postprocess:p},{name:"date",symbols:["relativeWeekday"],postprocess:p},{name:"date",symbols:["weekday"],postprocess:e=>u({weekday:e[0]})},{name:"date",symbols:["monthDayYear"],postprocess:p},{name:"date",symbols:["monthDay"],postprocess:p},{name:"date",symbols:["monthDayCompact"],postprocess:p},{name:"date",symbols:["monthYear"],postprocess:p},{name:"date",symbols:["dateFormat"],postprocess:p},{name:"date",symbols:["relativePeriod"],postprocess:p},{name:"date",symbols:["complexDate"],postprocess:p},{name:"date",symbols:["dateWithTime"],postprocess:p},{name:"date",symbols:["relativeMonth"],postprocess:p},{name:"date",symbols:["monthOnly"],postprocess:p},{name:"date",symbols:["yearOnly"],postprocess:p},{name:"date",symbols:["timeOnly"],postprocess:p},{name:"date",symbols:["dayOnly"],postprocess:p},{name:"date",symbols:["eodCobDate"],postprocess:p},{name:"monthDayCompact",symbols:[r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact],postprocess:e=>{let t=W(e[0].value);return u({month:t.month,day:t.day})}},{name:"monthOnly",symbols:["month"],postprocess:e=>u({month:e[0],day:1,monthOnly:!0})},{name:"relativeMonth",symbols:["nextRelative","_","month"],postprocess:e=>u({month:e[2],day:1,monthOnly:!0,relativeMonth:"next"})},{name:"relativeMonth",symbols:["lastRelative","_","month"],postprocess:e=>u({month:e[2],day:1,monthOnly:!0,relativeMonth:"last"})},{name:"relativeMonth",symbols:["thisRelative","_","month"],postprocess:e=>u({month:e[2],day:1,monthOnly:!0,relativeMonth:"this"})},{name:"monthYear",symbols:["month","_","year"],postprocess:e=>u({month:e[0],year:e[2],day:1,monthOnly:!0})},{name:"yearOnly",symbols:["year"],postprocess:(e,t,o)=>{let s=e[0];return s<1900||s>2100?o:u({year:s,month:1,day:1,yearOnly:!0})}},{name:"timeOnly",symbols:["time"],postprocess:e=>u({time:e[0],timeOnly:!0})},{name:"timeOnly",symbols:["timeWord"],postprocess:e=>u({time:{special:e[0]},timeOnly:!0})},{name:"dayOnly",symbols:["theConnector","_","dayNumber"],postprocess:e=>u({day:e[2],dayOnly:!0})},{name:"dayOnly",symbols:["onConnector","_","theConnector","_","dayNumber"],postprocess:e=>u({day:e[4],dayOnly:!0})},{name:"eodCobDate",symbols:["eodKeyword"],postprocess:e=>u({special:"today",time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["cobKeyword"],postprocess:e=>u({special:"today",time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["eodKeyword","_","weekday"],postprocess:e=>u({weekday:e[2],time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["cobKeyword","_","weekday"],postprocess:e=>u({weekday:e[2],time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["eodKeyword","_","specialDay"],postprocess:e=>u({special:e[2],time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["cobKeyword","_","specialDay"],postprocess:e=>u({special:e[2],time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["endConnector","_","ofConnector","_","dayUnit","_","specialDay"],postprocess:e=>u({special:e[6],time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["closeKeyword","_","ofConnector","_","businessKeyword","_","weekday"],postprocess:e=>u({weekday:e[6],time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["closeKeyword","_","ofConnector","_","businessKeyword","_","specialDay"],postprocess:e=>u({special:e[6],time:{hour:17,minute:0}})},{name:"specialDay",symbols:["today"],postprocess:e=>"today"},{name:"specialDay",symbols:["tomorrow"],postprocess:e=>"tomorrow"},{name:"specialDay",symbols:["yesterday"],postprocess:e=>"yesterday"},{name:"specialDay",symbols:["now"],postprocess:e=>"now"},{name:"specialDay",symbols:["theConnector","_","dayUnit","_","afterConnector","_","tomorrow"],postprocess:e=>"dayAfterTomorrow"},{name:"specialDay",symbols:["dayUnit","_","afterConnector","_","tomorrow"],postprocess:e=>"dayAfterTomorrow"},{name:"specialDay",symbols:["theConnector","_","dayUnit","_","beforeConnector","_","yesterday"],postprocess:e=>"dayBeforeYesterday"},{name:"specialDay",symbols:["dayUnit","_","beforeConnector","_","yesterday"],postprocess:e=>"dayBeforeYesterday"},{name:"dayUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="day"?e[0]:o},{name:"dayOrDaysUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="day"||e[0].value==="days"?e[0]:o},{name:"relativeWeekday",symbols:["nextRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"next"})},{name:"relativeWeekday",symbols:["lastRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"last"})},{name:"relativeWeekday",symbols:["thisRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"this"})},{name:"relativeWeekday",symbols:["comingRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"next"})},{name:"relativeWeekday",symbols:["previousRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"last"})},{name:"relativePeriod",symbols:["nextRelative","_","unit"],postprocess:e=>u({relative:"next",period:e[2]})},{name:"relativePeriod",symbols:["lastRelative","_","unit"],postprocess:e=>u({relative:"last",period:e[2]})},{name:"relativePeriod",symbols:["thisRelative","_","unit"],postprocess:e=>u({relative:"this",period:e[2]})},{name:"monthDay",symbols:["month","_","dayNumber"],postprocess:e=>u({month:e[0],day:e[2]})},{name:"monthDay",symbols:["dayNumber","_","month"],postprocess:e=>u({month:e[2],day:e[0]})},{name:"monthDay",symbols:["dayNumber","_","ofConnector","_","month"],postprocess:e=>u({month:e[4],day:e[0]})},{name:"monthDay",symbols:["theConnector","_","dayNumber","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],day:e[2]})},{name:"monthDay",symbols:["month","_","ordinalWord"],postprocess:e=>u({month:e[0],day:v(e[2])})},{name:"monthDay",symbols:["month","_","theConnector","_","dayNumber"],postprocess:e=>u({month:e[0],day:e[4]})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","weekday","_","ofConnector","_","month"],postprocess:e=>u({ordinalWeekday:v(e[0]),weekday:e[2],month:e[6]})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","weekday","_","ofConnector","_","month"],postprocess:e=>u({ordinalWeekday:-1,weekday:e[2],month:e[6]})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","weekday","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({ordinalWeekday:v(e[0]),weekday:e[2],monthFromRef:!0})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","weekday","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({ordinalWeekday:-1,weekday:e[2],monthFromRef:!0})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","dayUnit","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],day:v(e[0])})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],day:-1,lastDayOfMonth:!0})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({lastDayOfMonth:!0,monthFromRef:!0})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","dayUnit","_","ofConnector","_","nextRelative","_","monthUnit"],postprocess:e=>u({ordinalWeekday:v(e[0]),dayOfMonth:!0,nextMonth:!0})},{name:"monthDayYear",symbols:["monthDay","_","year"],postprocess:e=>({...e[0],year:e[2]})},{name:"monthDayYear",symbols:["monthDay",r.has("comma")?{type:"comma"}:comma,"_","year"],postprocess:e=>({...e[0],year:e[3]})},{name:"dateFormat",symbols:[r.has("integer")?{type:"integer"}:integer,r.has("dash")?{type:"dash"}:dash,r.has("integer")?{type:"integer"}:integer,r.has("dash")?{type:"dash"}:dash,r.has("integer")?{type:"integer"}:integer],postprocess:e=>{let t=[parseInt(e[0].value,10),parseInt(e[2].value,10),parseInt(e[4].value,10)];return t[0]>1e3?u({year:t[0],month:t[1],day:t[2]}):u({formatParts:t,separator:"-"})}},{name:"dateFormat",symbols:[r.has("integer")?{type:"integer"}:integer,r.has("slash")?{type:"slash"}:slash,r.has("integer")?{type:"integer"}:integer,r.has("slash")?{type:"slash"}:slash,r.has("integer")?{type:"integer"}:integer],postprocess:e=>{let t=[parseInt(e[0].value,10),parseInt(e[2].value,10),parseInt(e[4].value,10)];return t[0]>1e3?u({year:t[0],month:t[1],day:t[2]}):u({formatParts:t,separator:"/"})}},{name:"dateWithTime",symbols:["date","_","atConnector","_","time"],postprocess:e=>({...e[0],time:e[4]})},{name:"dateWithTime",symbols:["date","_","atConnector","_","timeWord"],postprocess:e=>({...e[0],time:{special:e[4]}})},{name:"dateWithTime",symbols:["time","_","date"],postprocess:e=>({...e[2],time:e[0]})},{name:"dateWithTime",symbols:["timeWord","_","date"],postprocess:e=>({...e[2],time:{special:e[0]}})},{name:"dateWithTime",symbols:["date","_","time"],postprocess:e=>({...e[0],time:e[2]})},{name:"dateWithTime",symbols:["date","_","timeWord"],postprocess:e=>({...e[0],time:{special:e[2]}})},{name:"dateWithTime",symbols:["timeWord","_","onConnector","_","date"],postprocess:e=>({...e[4],time:{special:e[0]}})},{name:"dateWithTime",symbols:["timeWord","_","onConnector","_","weekday"],postprocess:e=>u({weekday:e[4],time:{special:e[0]}})},{name:"dateWithTime",symbols:["midnight","_","tonightKeyword"],postprocess:e=>u({special:"tonight",time:{special:"midnight"}})},{name:"complexDate",symbols:["nextRelative","_","unit","_","weekday","_","time"],postprocess:e=>u({relative:"next",period:e[2],weekday:e[4],time:e[6]})},{name:"complexDate",symbols:["nextRelative","_","unit","_","weekday"],postprocess:e=>u({relative:"next",period:e[2],weekday:e[4]})},{name:"complexDate",symbols:["lastRelative","_","unit","_","weekday","_","time"],postprocess:e=>u({relative:"last",period:e[2],weekday:e[4],time:e[6]})},{name:"complexDate",symbols:["lastRelative","_","unit","_","weekday"],postprocess:e=>u({relative:"last",period:e[2],weekday:e[4]})},{name:"complexDate",symbols:["thisRelative","_","unit","_","weekday","_","time"],postprocess:e=>u({relative:"this",period:e[2],weekday:e[4],time:e[6]})},{name:"complexDate",symbols:["thisRelative","_","unit","_","weekday"],postprocess:e=>u({relative:"this",period:e[2],weekday:e[4]})},{name:"time",symbols:[r.has("time")?{type:"time"}:time],postprocess:e=>{let t=e[0].value.split(":");return{hour:parseInt(t[0],10),minute:parseInt(t[1],10)}}},{name:"time",symbols:[r.has("time")?{type:"time"}:time,"_",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[0].value.split(":"),o=parseInt(t[0],10);return e[2].value==="pm"&&o!==12&&(o+=12),e[2].value==="am"&&o===12&&(o=0),{hour:o,minute:parseInt(t[1],10)}}},{name:"time",symbols:[r.has("time")?{type:"time"}:time,r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[0].value.split(":"),o=parseInt(t[0],10);return e[1].value==="pm"&&o!==12&&(o+=12),e[1].value==="am"&&o===12&&(o=0),{hour:o,minute:parseInt(t[1],10)}}},{name:"time",symbols:[r.has("integer")?{type:"integer"}:integer,"_",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=parseInt(e[0].value,10);return e[2].value==="pm"&&t!==12&&(t+=12),e[2].value==="am"&&t===12&&(t=0),{hour:t,minute:0}}},{name:"time",symbols:[r.has("integer")?{type:"integer"}:integer,r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=parseInt(e[0].value,10);return e[1].value==="pm"&&t!==12&&(t+=12),e[1].value==="am"&&t===12&&(t=0),{hour:t,minute:0}}},{name:"time",symbols:["quarterKeyword","_","pastConnector","_","hourNumber"],postprocess:e=>({hour:e[4],minute:15})},{name:"time",symbols:["quarterKeyword","_","pastConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t,minute:15}}},{name:"time",symbols:["halfWord","_","pastConnector","_","hourNumber"],postprocess:e=>({hour:e[4],minute:30})},{name:"time",symbols:["halfWord","_","pastConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t,minute:30}}},{name:"time",symbols:["quarterKeyword","_","toConnector","_","hourNumber"],postprocess:e=>({hour:e[4]-1,minute:45})},{name:"time",symbols:["quarterKeyword","_","toConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t-1,minute:45}}},{name:"time",symbols:["number","_","pastConnector","_","hourNumber"],postprocess:e=>({hour:e[4],minute:e[0]})},{name:"time",symbols:["number","_","pastConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t,minute:e[0]}}},{name:"time",symbols:["number","_","toConnector","_","hourNumber"],postprocess:e=>({hour:e[4]-1,minute:60-e[0]})},{name:"time",symbols:["number","_","toConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t-1,minute:60-e[0]}}},{name:"time",symbols:["number","_","toConnector","_","noon"],postprocess:e=>({hour:11,minute:60-e[0]})},{name:"time",symbols:["number","_","toConnector","_","midnight"],postprocess:e=>({hour:23,minute:60-e[0]})},{name:"time",symbols:["quarterKeyword","_","toConnector","_","noon"],postprocess:e=>({hour:11,minute:45})},{name:"time",symbols:["quarterKeyword","_","toConnector","_","midnight"],postprocess:e=>({hour:23,minute:45})},{name:"timeWord",symbols:["noon"],postprocess:e=>"noon"},{name:"timeWord",symbols:["midnight"],postprocess:e=>"midnight"},{name:"number",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:e=>parseInt(e[0].value,10)},{name:"number",symbols:[r.has("decimal")?{type:"decimal"}:decimal],postprocess:e=>parseFloat(e[0].value)},{name:"year",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>{let s=parseInt(e[0].value,10);return s>=1900&&s<=2100?s:o}},{name:"dayNumber",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>{let s=parseInt(e[0].value,10);return s<1||s>31?o:s}},{name:"dayNumber",symbols:[r.has("ordinal")?{type:"ordinal"}:ordinal],postprocess:e=>H(e[0].value)},{name:"month",symbols:[r.has("month")?{type:"month"}:month],postprocess:e=>B(e[0].value)},{name:"weekday",symbols:[r.has("weekday")?{type:"weekday"}:weekday],postprocess:e=>e[0].value},{name:"quarter",symbols:[r.has("quarter")?{type:"quarter"}:quarter],postprocess:p},{name:"half",symbols:[r.has("half")?{type:"half"}:half],postprocess:p},{name:"season",symbols:[r.has("season")?{type:"season"}:season],postprocess:e=>e[0].value},{name:"unit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:e=>e[0].value},{name:"quarterUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="quarter"||s==="quarters"?s:o}},{name:"halfUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="half"?s:o}},{name:"yearUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="year"||s==="years"||s==="yr"||s==="yrs"?s:o}},{name:"monthUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="month"||s==="months"||s==="mo"||s==="mos"?s:o}},{name:"wordNumber",symbols:[r.has("wordNumber")?{type:"wordNumber"}:wordNumber],postprocess:e=>e[0].value},{name:"ordinalWord",symbols:[r.has("ordinalWord")?{type:"ordinalWord"}:ordinalWord],postprocess:e=>e[0].value},{name:"ordinalWord",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="second"?"second":o},{name:"ordinal",symbols:[r.has("ordinal")?{type:"ordinal"}:ordinal],postprocess:e=>e[0].value},{name:"halfWord",symbols:[r.has("halfWord")?{type:"halfWord"}:halfWord],postprocess:e=>e[0].value},{name:"toConnector",symbols:[r.has("kw_to")?{type:"kw_to"}:kw_to],postprocess:p},{name:"fromConnector",symbols:[r.has("kw_from")?{type:"kw_from"}:kw_from],postprocess:p},{name:"forConnector",symbols:[r.has("kw_for")?{type:"kw_for"}:kw_for],postprocess:p},{name:"inConnector",symbols:[r.has("kw_in")?{type:"kw_in"}:kw_in],postprocess:p},{name:"onConnector",symbols:[r.has("kw_on")?{type:"kw_on"}:kw_on],postprocess:p},{name:"atConnector",symbols:[r.has("kw_at")?{type:"kw_at"}:kw_at],postprocess:p},{name:"ofConnector",symbols:[r.has("kw_of")?{type:"kw_of"}:kw_of],postprocess:p},{name:"theConnector",symbols:[r.has("kw_the")?{type:"kw_the"}:kw_the],postprocess:p},{name:"andConnector",symbols:[r.has("kw_and")?{type:"kw_and"}:kw_and],postprocess:p},{name:"betweenConnector",symbols:[r.has("kw_between")?{type:"kw_between"}:kw_between],postprocess:p},{name:"throughConnector",symbols:[r.has("kw_through")?{type:"kw_through"}:kw_through],postprocess:p},{name:"untilConnector",symbols:[r.has("kw_until")?{type:"kw_until"}:kw_until],postprocess:p},{name:"withinConnector",symbols:[r.has("kw_within")?{type:"kw_within"}:kw_within],postprocess:p},{name:"overConnector",symbols:[r.has("kw_over")?{type:"kw_over"}:kw_over],postprocess:p},{name:"duringConnector",symbols:[r.has("kw_during")?{type:"kw_during"}:kw_during],postprocess:p},{name:"startingConnector",symbols:[r.has("kw_starting")?{type:"kw_starting"}:kw_starting],postprocess:p},{name:"byConnector",symbols:[r.has("kw_by")?{type:"kw_by"}:kw_by],postprocess:p},{name:"aroundConnector",symbols:[r.has("kw_around")?{type:"kw_around"}:kw_around],postprocess:p},{name:"aboutConnector",symbols:[r.has("kw_about")?{type:"kw_about"}:kw_about],postprocess:p},{name:"roughlyConnector",symbols:[r.has("kw_roughly")?{type:"kw_roughly"}:kw_roughly],postprocess:p},{name:"approximatelyConnector",symbols:[r.has("kw_approximately")?{type:"kw_approximately"}:kw_approximately],postprocess:p},{name:"sometimeConnector",symbols:[r.has("kw_sometime")?{type:"kw_sometime"}:kw_sometime],postprocess:p},{name:"afterConnector",symbols:[r.has("kw_after")?{type:"kw_after"}:kw_after],postprocess:p},{name:"beforeConnector",symbols:[r.has("kw_before")?{type:"kw_before"}:kw_before],postprocess:p},{name:"endConnector",symbols:[r.has("kw_end")?{type:"kw_end"}:kw_end],postprocess:p},{name:"beginningConnector",symbols:[r.has("kw_beginning")?{type:"kw_beginning"}:kw_beginning],postprocess:p},{name:"startConnector",symbols:[r.has("kw_start")?{type:"kw_start"}:kw_start],postprocess:p},{name:"middleConnector",symbols:[r.has("kw_middle")?{type:"kw_middle"}:kw_middle],postprocess:p},{name:"agoConnector",symbols:[r.has("kw_ago")?{type:"kw_ago"}:kw_ago],postprocess:p},{name:"henceConnector",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="hence"?e[0]:o},{name:"laterConnector",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="later"?e[0]:o},{name:"earlyModifier",symbols:[r.has("kw_early")?{type:"kw_early"}:kw_early],postprocess:p},{name:"midModifier",symbols:[r.has("kw_mid")?{type:"kw_mid"}:kw_mid],postprocess:p},{name:"lateModifier",symbols:[r.has("kw_late")?{type:"kw_late"}:kw_late],postprocess:p},{name:"nextRelative",symbols:[r.has("kw_next")?{type:"kw_next"}:kw_next],postprocess:p},{name:"lastRelative",symbols:[r.has("kw_last")?{type:"kw_last"}:kw_last],postprocess:p},{name:"thisRelative",symbols:[r.has("kw_this")?{type:"kw_this"}:kw_this],postprocess:p},{name:"previousRelative",symbols:[r.has("kw_previous")?{type:"kw_previous"}:kw_previous],postprocess:p},{name:"comingRelative",symbols:[r.has("kw_coming")?{type:"kw_coming"}:kw_coming],postprocess:p},{name:"upcomingRelative",symbols:[r.has("kw_upcoming")?{type:"kw_upcoming"}:kw_upcoming],postprocess:p},{name:"pastRelative",symbols:[r.has("kw_past")?{type:"kw_past"}:kw_past],postprocess:p},{name:"today",symbols:[r.has("kw_today")?{type:"kw_today"}:kw_today],postprocess:p},{name:"tomorrow",symbols:[r.has("kw_tomorrow")?{type:"kw_tomorrow"}:kw_tomorrow],postprocess:p},{name:"yesterday",symbols:[r.has("kw_yesterday")?{type:"kw_yesterday"}:kw_yesterday],postprocess:p},{name:"now",symbols:[r.has("kw_now")?{type:"kw_now"}:kw_now],postprocess:p},{name:"noon",symbols:[r.has("kw_noon")?{type:"kw_noon"}:kw_noon],postprocess:p},{name:"midnight",symbols:[r.has("kw_midnight")?{type:"kw_midnight"}:kw_midnight],postprocess:p},{name:"quarterKeyword",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="quarter"?e[0]:o},{name:"hourNumber",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>{let s=parseInt(e[0].value,10);return s<1||s>12?o:s}},{name:"pastConnector",symbols:[r.has("kw_past")?{type:"kw_past"}:kw_past],postprocess:p},{name:"weekendKeyword",symbols:[r.has("kw_weekend")?{type:"kw_weekend"}:kw_weekend],postprocess:p},{name:"tonightKeyword",symbols:[r.has("kw_tonight")?{type:"kw_tonight"}:kw_tonight],postprocess:p},{name:"nightKeyword",symbols:[r.has("kw_night")?{type:"kw_night"}:kw_night],postprocess:p},{name:"fortnightKeyword",symbols:[r.has("kw_fortnight")?{type:"kw_fortnight"}:kw_fortnight],postprocess:p},{name:"laterKeyword",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="later"?e[0]:o},{name:"earlierKeyword",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="earlier"?e[0]:o},{name:"weekKeyword",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="week"||s==="weeks"?e[0]:o}},{name:"businessKeyword",symbols:[r.has("kw_business")?{type:"kw_business"}:kw_business],postprocess:p},{name:"eodKeyword",symbols:[r.has("kw_eod")?{type:"kw_eod"}:kw_eod],postprocess:p},{name:"cobKeyword",symbols:[r.has("kw_cob")?{type:"kw_cob"}:kw_cob],postprocess:p},{name:"closeKeyword",symbols:[r.has("kw_close")?{type:"kw_close"}:kw_close],postprocess:p},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1",r.has("ws")?{type:"ws"}:ws],postprocess:e=>e[0].concat([e[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:se}],ParserStart:"main"},J=ae;function F(e,t){let o=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())),s=o.getUTCDay(),a=e-s;return a<=0&&(a+=7),o.setUTCDate(o.getUTCDate()+a),o}function Q(e,t){let o=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())),a=o.getUTCDay()-e;return a<=0&&(a+=7),o.setUTCDate(o.getUTCDate()-a),o}function P(e,t,o){let s=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())),a=s.getUTCDay(),n=o==="monday"?1:0,i=a-n;i<0&&(i+=7);let l=e-n;l<0&&(l+=7);let y=l-i;return s.setUTCDate(s.getUTCDate()+y),s}var S={sunday:0,sun:0,monday:1,mon:1,tuesday:2,tue:2,tues:2,wednesday:3,wed:3,thursday:4,thu:4,thur:4,thurs:4,friday:5,fri:5,saturday:6,sat:6},Y={january:0,april:3,july:6,october:9};function O(e,t){t.special==="noon"?e.setUTCHours(12,0,0,0):t.special==="midnight"?e.setUTCHours(0,0,0,0):t.hour!==void 0&&e.setUTCHours(t.hour,t.minute??0,0,0)}function ne(e,t){let o=t.referenceDate,s;switch(e.special){case"today":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()));break;case"tomorrow":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()+1));break;case"yesterday":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()-1));break;case"now":s=new Date(o);break;case"dayAfterTomorrow":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()+2));break;case"dayBeforeYesterday":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()-2));break;default:s=new Date(o)}return e.time&&O(s,e.time),s}function ie(e,t){let o=t.referenceDate,s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()));return e.time&&O(s,e.time),s}function me(e,t){let o=t.referenceDate,s=S[e.weekday.toLowerCase()]??0,a;if(e.period&&e.period.toLowerCase()==="week"){let n;switch(e.relative){case"next":n=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()+7));break;case"last":n=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()-7));break;default:n=o}a=P(s,n,t.weekStartsOn)}else switch(e.relative){case"next":a=F(s,o);break;case"last":a=Q(s,o);break;case"this":a=P(s,o,t.weekStartsOn);break;default:a=F(s,o)}return e.time&&O(a,e.time),a}function le(e,t){let o=t.referenceDate,s=e.formatParts;if(s.length<3||s[0]===void 0||s[1]===void 0||s[2]===void 0)return o;let[a,n,i]=s,l,y,h;return i>1e3?t.dateFormat==="intl"||a>12&&n<=12?(h=a,y=n,l=i):(y=a,h=n,l=i):(y=a,h=n,l=i<100?i>50?1900+i:2e3+i:i),new Date(Date.UTC(l,y-1,h))}function pe(e,t){let o=t.referenceDate,s=e.year??o.getUTCFullYear(),a=typeof e.month=="number"?e.month-1:0;if(e.relativeMonth){let i=o.getUTCMonth();e.relativeMonth==="last"?a>=i&&s--:e.relativeMonth==="next"&&a<=i&&s++}else e.year===void 0&&a<o.getUTCMonth()&&s++;let n=new Date(Date.UTC(s,a,e.day));if(n.getUTCMonth()!==a||n.getUTCDate()!==e.day)throw new Error("Invalid date");return e.time&&O(n,e.time),n}function ye(e,t){let o=t.referenceDate,s=e.ordinalWeekday,a=e.weekday.toLowerCase(),n=S[a]??0,i,l;if(e.monthFromRef?(i=o.getUTCMonth(),l=o.getUTCFullYear()):e.nextMonth?(i=o.getUTCMonth()+1,l=o.getUTCFullYear(),i>11&&(i=0,l++)):(i=typeof e.month=="number"?e.month-1:o.getUTCMonth(),l=o.getUTCFullYear(),i<o.getUTCMonth()&&l++),s===-1){let D=new Date(Date.UTC(l,i+1,0)).getUTCDate(),R=new Date(Date.UTC(l,i,D));for(;R.getUTCDay()!==n;)D--,R=new Date(Date.UTC(l,i,D));return R}let y=0;for(let f=1;f<=31;f++){let D=new Date(Date.UTC(l,i,f));if(D.getUTCMonth()!==i)break;if(D.getUTCDay()===n&&(y++,y===s))return D}let w=new Date(Date.UTC(l,i+1,0)).getUTCDate(),C=new Date(Date.UTC(l,i,w));for(;C.getUTCDay()!==n;)w--,C=new Date(Date.UTC(l,i,w));return C}function ue(e,t){let o=t.referenceDate,s,a;return e.monthFromRef?(s=o.getUTCMonth(),a=o.getUTCFullYear()):e.nextMonth?(s=o.getUTCMonth()+1,a=o.getUTCFullYear(),s>11&&(s=0,a++)):(s=typeof e.month=="number"?e.month-1:o.getUTCMonth(),a=o.getUTCFullYear(),s<o.getUTCMonth()&&a++),new Date(Date.UTC(a,s+1,0))}function ce(e,t){let o=t.referenceDate,s=e.day,a=o.getUTCDate(),n=o.getUTCMonth(),i=o.getUTCFullYear(),l=n,y=i;s<a&&(l=n+1,l>11&&(l=0,y++));let h=new Date(Date.UTC(y,l,s));for(;h.getUTCDate()!==s;)l++,l>11&&(l=0,y++),h=new Date(Date.UTC(y,l,s));return e.time&&O(h,e.time),h}function de(e,t){let o=t.referenceDate;switch(e.period.toLowerCase()){case"day":{let a=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()));return e.relative==="next"?a.setUTCDate(a.getUTCDate()+1):e.relative==="last"&&a.setUTCDate(a.getUTCDate()-1),a}case"week":{let a=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate())),n=t.weekStartsOn==="monday"?1:0,l=(a.getUTCDay()-n+7)%7;return a.setUTCDate(a.getUTCDate()-l),e.relative==="next"?a.setUTCDate(a.getUTCDate()+7):e.relative==="last"&&a.setUTCDate(a.getUTCDate()-7),a}case"month":return e.relative==="next"?new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth()+1,1)):e.relative==="last"?new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth()-1,1)):new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),1));case"year":return e.relative==="next"?new Date(Date.UTC(o.getUTCFullYear()+1,0,1)):e.relative==="last"?new Date(Date.UTC(o.getUTCFullYear()-1,0,1)):new Date(Date.UTC(o.getUTCFullYear(),0,1));default:return new Date(o)}}function N(e,t){if(e.special)return ne(e,t);if(e.timeOnly&&e.time)return ie(e,t);if(e.ordinalWeekday!==void 0&&e.weekday!==void 0)return ye(e,t);if(e.weekday)return me(e,t);if(e.formatParts)return le(e,t);if(e.month!==void 0&&e.day!==void 0)return pe(e,t);if(e.dayOnly&&e.day!==void 0)return ce(e,t);if(e.lastDayOfMonth)return ue(e,t);if(e.dayOfMonth&&e.nextMonth){let o=t.referenceDate,s=o.getUTCMonth()+1,a=o.getUTCFullYear();s>11&&(s=0,a++);let n=e.ordinalWeekday||1;return new Date(Date.UTC(a,s,n))}return e.relative&&e.period?de(e,t):new Date(t.referenceDate)}function ge(e,t){switch(t){case"second":return e*1e3;case"minute":return e*6e4;case"hour":return e*36e5;case"day":return e*864e5;case"week":return e*6048e5;case"month":return e*2592e6;case"year":return e*31536e6;default:return 0}}function M(e,t=!1){if(e.combined&&Array.isArray(e.combined)){let s=e.combined.some(a=>a.unit==="hour");return e.combined.reduce((a,n)=>a+M(n,s),0)}let o=e.unit;return t&&o==="month"&&(o="minute"),ge(e.value,o)}function K(e,t,o){let s=Y[o]??0,a=(s+(e-1)*3)%12,n=t;a<s&&n++;let i=new Date(Date.UTC(n,a,1)),l=(a+3)%12,y=n;l<a&&y++;let h=new Date(Date.UTC(y,l,0));return{start:i,end:h}}function G(e,t,o){let s=Y[o]??0,a=(s+(e-1)*6)%12,n=t;a<s&&n++;let i=new Date(Date.UTC(n,a,1)),l=(a+6)%12,y=n;l<=a&&y++;let h=new Date(Date.UTC(y,l,0));return{start:i,end:h}}function V(e,t){switch(e){case"spring":return{start:new Date(Date.UTC(t,2,20)),end:new Date(Date.UTC(t,5,20))};case"summer":return{start:new Date(Date.UTC(t,5,21)),end:new Date(Date.UTC(t,8,22))};case"fall":case"autumn":return{start:new Date(Date.UTC(t,8,23)),end:new Date(Date.UTC(t,11,20))};case"winter":return{start:new Date(Date.UTC(t,11,21)),end:new Date(Date.UTC(t+1,2,19))};default:return{start:new Date(Date.UTC(t,0,1)),end:new Date(Date.UTC(t,11,31))}}}function Z(e,t,o){let s=t.getTime()-e.getTime(),a=s/3,n=s/2;switch(o){case"early":return{start:e,end:new Date(e.getTime()+a)};case"mid":case"middle":return{start:new Date(e.getTime()+a),end:new Date(e.getTime()+2*a)};case"late":return{start:new Date(e.getTime()+2*a),end:t};case"first":return{start:e,end:new Date(e.getTime()+n)};case"second":return{start:new Date(e.getTime()+n),end:t};default:return{start:e,end:t}}}function Ce(e,t,o){let s=e.getUTCDay(),a=(6-s+7)%7,n=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+a));t==="next"?n=new Date(n.getTime()+6048e5):t==="last"&&((s===6||s===0)&&(n=new Date(n.getTime()-6048e5)),n=new Date(n.getTime()-6048e5));let i=new Date(n.getTime()+864e5),l=new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate(),23,59));return{start:n,end:l}}function X(e,t,o){let s=new Date(e);if(t==="last")s=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()-1));else if(t==="tomorrow")s=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+1));else if(o){let i=S[o.toLowerCase()];if(i!==void 0){let l=e.getUTCDay(),y=(i-l+7)%7;y===0&&(y=7),s=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+y))}}let a=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),18,0)),n=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),23,59));return{start:a,end:n}}function ee(e,t,o){let s=t.referenceDate;if(e.period==="weekend")return Ce(s,e.relative||"this",t);if(e.period==="tonight")return X(s,void 0,void 0);if(e.period==="night")return X(s,e.relative,e.weekday);if(e.period==="fortnight"){let a=e.count||1,n=e.relative,i=14*864e5;if(n==="last"){let h=new Date(s);return{start:new Date(s.getTime()-i),end:h}}let l=new Date(s),y=new Date(s.getTime()+a*i);return{start:l,end:y}}if(e.period==="quarter"&&e.quarter)return K(e.quarter,o,t.fiscalYearStart);if(e.period==="half"&&e.half)return G(e.half,o,t.fiscalYearStart);if(e.period==="season"&&e.season)return V(e.season,o);if(e.period==="month"&&e.month!==void 0){let a=typeof e.month=="number"?e.month-1:0,n=new Date(Date.UTC(o,a,1)),i=new Date(Date.UTC(o,a+1,0));return{start:n,end:i}}if(e.period==="month"){let a=s.getUTCMonth(),n=new Date(Date.UTC(o,a,1)),i=new Date(Date.UTC(o,a+1,0));return{start:n,end:i}}if(e.period==="week"){let a=t.weekStartsOn==="monday"?1:0,i=(s.getUTCDay()-a+7)%7,l=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate()-i)),y=new Date(l.getTime()+6*864e5);return{start:l,end:y}}if(e.period==="weekNumber"&&e.weekNumber!==void 0){let a=e.weekNumber,n=e.year??s.getUTCFullYear(),i=t.weekStartsOn==="monday"?1:0,l=new Date(Date.UTC(n,0,1)),y=l.getUTCDay(),h=(i-y+7)%7,w=new Date(l.getTime()+h*864e5),C=new Date(w.getTime()+(a-1)*6048e5),f=new Date(C.getTime()+6*864e5);return{start:C,end:f}}if(e.period==="weekOf"&&e.baseDate){let a=e.baseDate,n;if(a.month!==void 0&&a.day!==void 0){let C=typeof a.month=="number"?a.month-1:0,f=a.day,D=a.year??s.getUTCFullYear();n=new Date(Date.UTC(D,C,f))}else n=s;let i=t.weekStartsOn==="monday"?1:0,y=(n.getUTCDay()-i+7)%7,h=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()-y)),w=new Date(h.getTime()+6*864e5);return{start:h,end:w}}if(e.period==="day"){let a=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate())),n=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),23,59,59,999));return{start:a,end:n}}if(e.period==="year"){let a=new Date(Date.UTC(o,0,1)),n=new Date(Date.UTC(o,11,31));return{start:a,end:n}}if(e.period==="ytd"){let a=new Date(Date.UTC(s.getUTCFullYear(),0,1)),n=new Date(s);return{start:a,end:n}}if(e.period==="weekOfMonth"&&e.week!==void 0&&e.month!==void 0){let a=e.month-1,n=e.week,i=e.year??s.getUTCFullYear(),l=new Date(Date.UTC(i,a,1)),y=t.weekStartsOn==="monday"?1:0,h=l.getUTCDay(),w=(y-h+7)%7,C=new Date(l.getTime()+w*864e5),f=new Date(C.getTime()+(n-1)*6048e5),D=new Date(f.getTime()+6*864e5);return{start:f,end:D}}return{start:new Date(Date.UTC(o,0,1)),end:new Date(Date.UTC(o,11,31))}}function E(e,t){let o=t.referenceDate,s=e.year??o.getUTCFullYear();return ee(e,t,s)}function q(e,t){let o=t.referenceDate,s=e.year??o.getUTCFullYear();if(e.period==="quarter"&&e.quarter&&e.year===void 0){let{end:i}=K(e.quarter,s,t.fiscalYearStart);i<o&&s++}let{start:a,end:n}=ee(e,t,s);return e.modifier?Z(a,n,e.modifier):{start:a,end:n}}function De(e){return{referenceDate:e?.referenceDate??new Date,fiscalYearStart:e?.fiscalYearStart??"january",weekStartsOn:e?.weekStartsOn??"sunday",dateFormat:e?.dateFormat??"intl"}}function ve(e){return{sunday:0,sun:0,monday:1,mon:1,tuesday:2,tue:2,tues:2,wednesday:3,wed:3,thursday:4,thu:4,thur:4,thurs:4,friday:5,fri:5,saturday:6,sat:6}[e]??0}function ke(e,t,o){if(!e||!e.nodeType)return null;let s=null,a=e;switch(e.nodeType==="titled"&&(o&&e.titleStart!==void 0&&e.titleEnd!==void 0?s=o.slice(e.titleStart,e.titleEnd).trim():s=e.title,a=e.expression),a.nodeType){case"date":return{type:"date",date:N(a,t),title:s};case"duration":{let n=M(a),i=a.approximate===!0;return{type:"duration",duration:n,title:s,approximate:i}}case"span":{let n,i=a.start;i.nodeType==="date"?n=N(i,t):i.nodeType==="fuzzy"?n=q(i,t).start:n=new Date(t.referenceDate);let l=0;a.duration&&(l=M(a.duration));let y=new Date(n.getTime()+l);return{type:"span",start:n,end:y,duration:l,title:s}}case"range":{let n,i,l=a.start,y=a.end;if(l.nodeType==="date"?n=N(l,t):l.nodeType==="fuzzy"?n=q(l,t).start:n=new Date(t.referenceDate),y.nodeType==="date"){if(i=N(y,t),y.monthOnly){let w=typeof y.month=="number"?y.month-1:0,C=y.year??t.referenceDate.getUTCFullYear();i=new Date(Date.UTC(C,w+1,0))}if(y.yearOnly){let w=y.year??t.referenceDate.getUTCFullYear();i=new Date(Date.UTC(w,11,31))}}else y.nodeType==="fuzzy"?i=q(y,t).end:i=new Date(t.referenceDate);i<n&&(y.weekday!==void 0?i=new Date(i.getTime()+6048e5):i=new Date(Date.UTC(i.getUTCFullYear()+1,i.getUTCMonth(),i.getUTCDate(),i.getUTCHours(),i.getUTCMinutes())));let h=i.getTime()-n.getTime();return{type:"span",start:n,end:i,duration:h,title:s}}case"fuzzy":{let{start:n,end:i}=q(a,t),l=a.modifier,y=a.period;if(l==="start"||l==="beginning")return{type:"date",date:E(a,t).start,title:s};if(l==="end")return{type:"date",date:E(a,t).end,title:s};if(y==="weekend"||y==="night"||y==="tonight"||y==="fortnight"||y==="weekNumber"||y==="weekOf"){let h=i.getTime()-n.getTime();return{type:"span",start:n,end:i,duration:h,title:s}}return{type:"fuzzy",start:n,end:i,approximate:!0,title:s}}case"relative":{let n=M(a.duration),i=t.referenceDate,l,y;return a.direction==="past"?(y=new Date(i),l=new Date(i.getTime()-n)):(l=new Date(i),y=new Date(i.getTime()+n)),{type:"span",start:l,end:y,duration:n,title:s}}case"relativeDate":{let n=a.duration,i=a.baseDate,l=a.time,y;i?y=N(i,t):y=new Date(t.referenceDate);let h=n.value,w=n.unit,C=a.direction==="past"?-1:1,f;if(w==="month")f=new Date(Date.UTC(y.getUTCFullYear(),y.getUTCMonth()+C*h,y.getUTCDate(),y.getUTCHours(),y.getUTCMinutes()));else if(w==="year")f=new Date(Date.UTC(y.getUTCFullYear()+C*h,y.getUTCMonth(),y.getUTCDate(),y.getUTCHours(),y.getUTCMinutes()));else if(w==="businessDay"||w==="businessday"){f=new Date(Date.UTC(y.getUTCFullYear(),y.getUTCMonth(),y.getUTCDate()));let D=h;for(;D>0;){f.setUTCDate(f.getUTCDate()+C);let R=f.getUTCDay();R!==0&&R!==6&&D--}}else if(w==="weekdayoccurrence"){let D=a.weekday.toLowerCase().replace(/s$/,""),R=ve(D);f=new Date(Date.UTC(y.getUTCFullYear(),y.getUTCMonth(),y.getUTCDate()));let L=h;for(;L>0;)f.setUTCDate(f.getUTCDate()+C),f.getUTCDay()===R&&L--}else{let D=M(n);f=new Date(y.getTime()+C*D)}return l&&("special"in l?l.special==="noon"?f=new Date(Date.UTC(f.getUTCFullYear(),f.getUTCMonth(),f.getUTCDate(),12,0)):l.special==="midnight"&&(f=new Date(Date.UTC(f.getUTCFullYear(),f.getUTCMonth(),f.getUTCDate(),0,0))):f=new Date(Date.UTC(f.getUTCFullYear(),f.getUTCMonth(),f.getUTCDate(),l.hour,l.minute))),{type:"date",date:f,title:s}}default:return null}}function Te(e){let t=e,o=e,s=(t.match(/\(/g)||[]).length,a=(t.match(/\)/g)||[]).length,n=(t.match(/\[/g)||[]).length,i=(t.match(/]/g)||[]).length;for(;a>s&&t.endsWith(")");)t=t.slice(0,-1).trimEnd(),a--;for(;i>n&&t.endsWith("]");)t=t.slice(0,-1).trimEnd(),i--;for(s=(t.match(/\(/g)||[]).length,a=(t.match(/\)/g)||[]).length;s>a;)t=t.replace(/\(/,""),s--;for(n=(t.match(/\[/g)||[]).length,i=(t.match(/]/g)||[]).length;n>i;)t=t.replace(/\[/,""),n--;return{stripped:t.replace(/\s+/g," ").trim(),originalPreserved:o}}function A(e,t){if(!e||typeof e!="string")return null;let o=e.trim(),{stripped:s,originalPreserved:a}=Te(o),n=s.toLowerCase();if(!n)return null;let i=De(t);try{let l=new te.Parser(te.Grammar.fromCompiled(J));if(l.feed(n),l.results.length===0)return null;let y=l.results[0];return ke(y,i,a)}catch{return null}}function oe(e,t){if(!e||typeof e!="string")return[];let o=e.split(/[,;\n]|\s+and\s+/).map(a=>a.trim()).filter(a=>a.length>0),s=[];for(let a of o){let n=A(a,t);n&&s.push(n)}return s}function I(e,t){return A(e,t)}function Ge(e,t){let o=I(e,t);if(!o)return null;if(o.type==="date")return o.date;if(o.type==="duration"){let s=t?.referenceDate??new Date;return new Date(s.getTime()+o.duration)}return o.type==="fuzzy"?o.start:null}function Ve(e,t){let o=I(e,t);return o&&o.type==="duration"?o.duration:null}function Ze(e,t){let o=I(e,t);return o&&(o.type==="span"||o.type==="fuzzy")?{start:o.start,end:o.end,duration:o.type==="span"?o.duration:o.end.getTime()-o.start.getTime()}:null}function Xe(e,t){return oe(e,t)}export{Xe as extract,I as parse,Ge as parseDate,Ve as parseDuration,Ze as parseSpan};
|
|
1
|
+
import te from"nearley";import j from"moo";var r=j.compile({ws:/[ \t]+/,newline:{match:/\r?\n/,lineBreaks:!0},time:/(?:0?[0-9]|1[0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?/,monthDayCompact:{match:/(?:[Jj]anuary|[Ff]ebruary|[Mm]arch|[Aa]pril|[Mm]ay|[Jj]une|[Jj]uly|[Aa]ugust|[Ss]eptember|[Oo]ctober|[Nn]ovember|[Dd]ecember|[Jj]an|[Ff]eb|[Mm]ar|[Aa]pr|[Jj]un|[Jj]ul|[Aa]ug|[Ss]ep|[Ss]ept|[Oo]ct|[Nn]ov|[Dd]ec)(?:3[01]|[12]?[0-9])/,value:e=>e.toLowerCase()},quarter:{match:/[Qq][1-4]/,value:e=>e.toUpperCase()},half:{match:/[Hh][1-2]/,value:e=>e.toUpperCase()},ordinal:{match:/(?:3[01]|[12]?[0-9])(?:[Ss][Tt]|[Nn][Dd]|[Rr][Dd]|[Tt][Hh])/,value:e=>e.toLowerCase()},decimal:/\d+\.\d+/,abbreviatedDuration:{match:/\d+(?:mo|w|d|h|m|s|y)\b/,value:e=>e.toLowerCase()},integer:/\d+/,ampm:{match:/[Aa][Mm]|[Pp][Mm]/,value:e=>e.toLowerCase()},word:{match:/[a-zA-Z][a-zA-Z0-9#]*/,type:j.keywords({kw_today:["today"],kw_tomorrow:["tomorrow"],kw_yesterday:["yesterday"],kw_now:["now"],kw_noon:["noon"],kw_midnight:["midnight"],kw_morning:["morning"],kw_afternoon:["afternoon"],kw_evening:["evening"],kw_next:["next"],kw_last:["last"],kw_this:["this"],kw_previous:["previous"],kw_coming:["coming"],kw_upcoming:["upcoming"],kw_past:["past"],kw_early:["early"],kw_mid:["mid"],kw_late:["late"],kw_beginning:["beginning"],kw_middle:["middle"],kw_end:["end"],kw_start:["start"],unit:["day","days","week","weeks","month","months","year","years","quarter","quarters","hour","hours","minute","minutes","second","seconds","hr","hrs","min","mins","sec","secs","wk","wks","mo","mos","yr","yrs"],halfWord:["half"],kw_to:["to"],kw_from:["from"],kw_until:["until","til","till"],kw_through:["through"],kw_between:["between"],kw_and:["and"],kw_for:["for"],kw_in:["in"],kw_on:["on"],kw_at:["at"],kw_of:["of"],kw_the:["the"],kw_within:["within"],kw_over:["over"],kw_during:["during"],kw_starting:["starting"],kw_by:["by"],kw_before:["before"],kw_after:["after"],kw_around:["around"],kw_about:["about"],kw_roughly:["roughly"],kw_approximately:["approximately"],kw_sometime:["sometime"],ordinalWord:["first","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth","sixteenth","seventeenth","eighteenth","nineteenth","twentieth","twenty-first","twenty-second","twenty-third","twenty-fourth","twenty-fifth","twenty-sixth","twenty-seventh","twenty-eighth","twenty-ninth","thirtieth","thirty-first"],season:["spring","summer","fall","autumn","winter"],wordNumber:["one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty","a","an","couple"],month:["january","february","march","april","may","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],weekday:["monday","tuesday","wednesday","thursday","friday","saturday","sunday","mondays","tuesdays","wednesdays","thursdays","fridays","saturdays","sundays","mon","tue","tues","wed","thu","thur","thurs","fri","sat","sun"],kw_ago:["ago"],kw_weekend:["weekend"],kw_tonight:["tonight"],kw_night:["night"],kw_fortnight:["fortnight","fortnights"],otherKeyword:["fiscal","fy","daily","weekly","monthly","yearly","annually","hence","later","earlier"],kw_business:["business"],kw_eod:["eod"],kw_cob:["cob"],kw_close:["close"],kw_ytd:["ytd"]})},lparen:"(",rparen:")",lbracket:"[",rbracket:"]",colon:":",semicolon:";",comma:",",dash:/[-–—]/,slash:"/",other:/./});var p=e=>e[0],se=()=>null;var u=e=>({nodeType:"date",value:"",...e}),c=(e,t)=>({nodeType:"duration",value:e,unit:re(t)}),T=(e,t,o)=>({nodeType:"span",start:e,duration:t,end:o}),C=(e,t)=>({nodeType:"range",start:e,end:t}),m=e=>({nodeType:"fuzzy",period:"",...e}),f=(e,t)=>({nodeType:"relative",direction:e,duration:t}),d=(e,t,o,s)=>({nodeType:"relativeDate",direction:e,duration:t,baseDate:o,time:s}),k=(e,t,o,s)=>({nodeType:"titled",title:e.trim(),titleStart:o,titleEnd:s,expression:t});function re(e){let t=e.toLowerCase();return["day","days","d"].includes(t)?"day":["week","weeks","wk","wks","w"].includes(t)?"week":["month","months","mo","mos"].includes(t)?"month":["year","years","yr","yrs","y"].includes(t)?"year":["hour","hours","hr","hrs","h"].includes(t)?"hour":["minute","minutes","min","mins"].includes(t)?"minute":["second","seconds","sec","secs","s"].includes(t)?"second":["quarter","quarters"].includes(t)?"quarter":t}function w(e){return{a:1,an:1,one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12,thirteen:13,fourteen:14,fifteen:15,sixteen:16,seventeen:17,eighteen:18,nineteen:19,twenty:20,couple:2}[e.toLowerCase()]??1}function H(e){let t=e.match(/^(\d+)/);return t?parseInt(t[1],10):v(e)}function v(e){return{first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9,tenth:10,eleventh:11,twelfth:12,thirteenth:13,fourteenth:14,fifteenth:15,sixteenth:16,seventeenth:17,eighteenth:18,nineteenth:19,twentieth:20,"twenty-first":21,"twenty-second":22,"twenty-third":23,"twenty-fourth":24,"twenty-fifth":25,"twenty-sixth":26,"twenty-seventh":27,"twenty-eighth":28,"twenty-ninth":29,thirtieth:30,"thirty-first":31}[e.toLowerCase()]??1}function B(e){return{january:1,jan:1,february:2,feb:2,march:3,mar:3,april:4,apr:4,may:5,june:6,jun:6,july:7,jul:7,august:8,aug:8,september:9,sep:9,sept:9,october:10,oct:10,november:11,nov:11,december:12,dec:12}[e.toLowerCase()]??1}function W(e){let t=e.toLowerCase(),o=["january","february","march","april","may","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"];for(let s of o)if(t.startsWith(s)){let a=t.slice(s.length);return{month:B(s),day:parseInt(a,10)}}return{month:1,day:1}}function x(e){let t=e.match(/[qQ]([1-4])/);return t?parseInt(t[1],10):1}function $(e){let t=e.match(/[hH]([1-2])/);return t?parseInt(t[1],10):1}var ae={Lexer:r,ParserRules:[{name:"main",symbols:["titledExpression"],postprocess:p},{name:"main",symbols:["expression"],postprocess:p},{name:"titledExpression",symbols:["titleTextSimple","_",r.has("dash")?{type:"dash"}:dash,"_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText",r.has("colon")?{type:"colon"}:colon,"_","expression"],postprocess:e=>k(e[0].text,e[3],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_",r.has("lparen")?{type:"lparen"}:lparen,"expression",r.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>k(e[0].text,e[3],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_",r.has("lbracket")?{type:"lbracket"}:lbracket,"expression",r.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>k(e[0].text,e[3],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","onConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","atConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","inConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","forConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","fromConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","duringConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","startingConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_","byConnector","_","expression"],postprocess:e=>k(e[0].text,e[4],e[0].start,e[0].end)},{name:"titledExpression",symbols:["titleText","_",r.has("dash")?{type:"dash"}:dash,"_","byConnector","_","expression"],postprocess:e=>k(e[0].text,e[6],e[0].start,e[0].end)},{name:"titledExpression",symbols:["expression","_","postTitle"],postprocess:e=>k(e[2].text,e[0],e[2].start,e[2].end)},{name:"postTitle",symbols:[r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"postTitle",symbols:["postTitle","_",r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].text+" "+e[2].value,start:e[0].start,end:e[2].offset+e[2].text.length})},{name:"titleText",symbols:["titleWord"],postprocess:e=>({text:e[0].text,start:e[0].start,end:e[0].end})},{name:"titleText",symbols:["versionNumber"],postprocess:e=>e[0]},{name:"titleText",symbols:["hyphenatedWord"],postprocess:e=>e[0]},{name:"titleText",symbols:["titleText","_","titleWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleText",symbols:["titleText","_","versionNumber"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleText",symbols:["titleText","_","hyphenatedWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleText",symbols:["titleText","_",r.has("dash")?{type:"dash"}:dash,"_","titleWord"],postprocess:e=>({text:e[0].text+" - "+e[4].text,start:e[0].start,end:e[4].end})},{name:"titleText",symbols:["titleText","_",r.has("dash")?{type:"dash"}:dash,"_","versionNumber"],postprocess:e=>({text:e[0].text+" - "+e[4].text,start:e[0].start,end:e[4].end})},{name:"titleWord",symbols:[r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("wordNumber")?{type:"wordNumber"}:wordNumber],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("decimal")?{type:"decimal"}:decimal],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("quarter")?{type:"quarter"}:quarter],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("half")?{type:"half"}:half],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleWord",symbols:[r.has("lparen")?{type:"lparen"}:lparen,"titleText",r.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>({text:"("+e[1].text+")",start:e[0].offset,end:e[2].offset+1})},{name:"titleWord",symbols:[r.has("lbracket")?{type:"lbracket"}:lbracket,"titleText",r.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>({text:"["+e[1].text+"]",start:e[0].offset,end:e[2].offset+1})},{name:"titleWord",symbols:[r.has("slash")?{type:"slash"}:slash],postprocess:e=>({text:"/",start:e[0].offset,end:e[0].offset+1})},{name:"titleWord",symbols:[r.has("colon")?{type:"colon"}:colon],postprocess:e=>({text:":",start:e[0].offset,end:e[0].offset+1})},{name:"titleWord",symbols:["hashNumber"],postprocess:e=>e[0]},{name:"hyphenatedWord",symbols:[r.has("word")?{type:"word"}:word,r.has("dash")?{type:"dash"}:dash,r.has("word")?{type:"word"}:word],postprocess:e=>({text:e[0].value+"-"+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length})},{name:"hyphenatedWord",symbols:[r.has("word")?{type:"word"}:word,r.has("dash")?{type:"dash"}:dash,r.has("integer")?{type:"integer"}:integer],postprocess:e=>({text:e[0].value+"-"+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length})},{name:"hashNumber",symbols:[r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[0].value!=="#"?o:{text:"#"+e[1].value,start:e[0].offset,end:e[1].offset+e[1].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[1].value!=="."?o:{text:e[0].value+"."+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[1].value!=="."||e[3].value!=="."?o:{text:e[0].value+"."+e[2].value+"."+e[4].value,start:e[0].offset,end:e[4].offset+e[4].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer,r.has("other")?{type:"other"}:other,r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>e[1].value!=="."||e[3].value!=="."||e[5].value!=="."?o:{text:e[0].value+"."+e[2].value+"."+e[4].value+"."+e[6].value,start:e[0].offset,end:e[6].offset+e[6].text.length}},{name:"versionNumber",symbols:[r.has("word")?{type:"word"}:word,r.has("other")?{type:"other"}:other,r.has("decimal")?{type:"decimal"}:decimal],postprocess:(e,t,o)=>e[1].value!=="."?o:{text:e[0].value+"."+e[2].value,start:e[0].offset,end:e[2].offset+e[2].text.length}},{name:"versionNumber",symbols:[r.has("decimal")?{type:"decimal"}:decimal],postprocess:e=>({text:e[0].value,start:e[0].offset,end:e[0].offset+e[0].text.length})},{name:"titleTextSimple",symbols:["titleWord"],postprocess:e=>e[0]},{name:"titleTextSimple",symbols:["hyphenatedWord"],postprocess:e=>e[0]},{name:"titleTextSimple",symbols:["versionNumber"],postprocess:e=>e[0]},{name:"titleTextSimple",symbols:["titleTextSimple","_","titleWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple","_","hyphenatedWord"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple","_","versionNumber"],postprocess:e=>({text:e[0].text+" "+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple",r.has("slash")?{type:"slash"}:slash,"titleWord"],postprocess:e=>({text:e[0].text+"/"+e[2].text,start:e[0].start,end:e[2].end})},{name:"titleTextSimple",symbols:["titleTextSimple",r.has("colon")?{type:"colon"}:colon,"_","titleWord"],postprocess:e=>({text:e[0].text+": "+e[3].text,start:e[0].start,end:e[3].end})},{name:"expression",symbols:["range"],postprocess:p},{name:"expression",symbols:["span"],postprocess:p},{name:"expression",symbols:["relative"],postprocess:p},{name:"expression",symbols:["relativeDate"],postprocess:p},{name:"expression",symbols:["lastDayOfMonthExpr"],postprocess:p},{name:"expression",symbols:["date"],postprocess:p},{name:"expression",symbols:["fuzzy"],postprocess:p},{name:"expression",symbols:["forDuration"],postprocess:p},{name:"expression",symbols:["duration"],postprocess:p},{name:"lastDayOfMonthExpr",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],lastDayOfMonth:!0})},{name:"lastDayOfMonthExpr",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({lastDayOfMonth:!0,monthFromRef:!0})},{name:"forDuration",symbols:["forConnector","_","duration"],postprocess:e=>e[2]},{name:"range",symbols:["date","_","toConnector","_","date"],postprocess:e=>C(e[0],e[4])},{name:"range",symbols:["fromConnector","_","date","_","toConnector","_","date"],postprocess:e=>C(e[2],e[6])},{name:"range",symbols:["date","_",r.has("dash")?{type:"dash"}:dash,"_","date"],postprocess:e=>C(e[0],e[4])},{name:"range",symbols:[r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact,r.has("dash")?{type:"dash"}:dash,r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact],postprocess:e=>{let t=W(e[0].value),o=W(e[2].value);return C(u({month:t.month,day:t.day}),u({month:o.month,day:o.day}))}},{name:"range",symbols:[r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact,"_",r.has("dash")?{type:"dash"}:dash,"_","date"],postprocess:e=>{let t=W(e[0].value);return C(u({month:t.month,day:t.day}),e[4])}},{name:"range",symbols:["date","_",r.has("dash")?{type:"dash"}:dash,"_",r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact],postprocess:e=>{let t=W(e[4].value);return C(e[0],u({month:t.month,day:t.day}))}},{name:"range",symbols:["specialDay","_","time","_","toConnector","_","time"],postprocess:e=>C(u({special:e[0],time:e[2]}),u({special:e[0],time:e[6]}))},{name:"range",symbols:["monthDay","_","time","_","toConnector","_","time"],postprocess:e=>C({...e[0],time:e[2]},{...e[0],time:e[6]})},{name:"range",symbols:["weekday","_","time","_","toConnector","_","time"],postprocess:e=>C(u({weekday:e[0],time:e[2]}),u({weekday:e[0],time:e[6]}))},{name:"range",symbols:["month","_","dayNumber",r.has("dash")?{type:"dash"}:dash,"dayNumber"],postprocess:e=>C(u({month:e[0],day:e[2]}),u({month:e[0],day:e[4]}))},{name:"range",symbols:["dayNumber",r.has("dash")?{type:"dash"}:dash,"dayNumber","_","month"],postprocess:e=>C(u({month:e[4],day:e[0]}),u({month:e[4],day:e[2]}))},{name:"range",symbols:["betweenConnector","_","date","_","andConnector","_","date"],postprocess:e=>C(e[2],e[6])},{name:"range",symbols:["date","_","throughConnector","_","date"],postprocess:e=>C(e[0],e[4])},{name:"range",symbols:["date","_","untilConnector","_","date"],postprocess:e=>C(e[0],e[4])},{name:"range",symbols:["untilConnector","_","date"],postprocess:e=>C(u({special:"today"}),e[2])},{name:"range",symbols:["untilConnector","_","fuzzy"],postprocess:e=>C(u({special:"today"}),e[2])},{name:"range",symbols:["fuzzy","_","toConnector","_","fuzzy"],postprocess:e=>C(e[0],e[4])},{name:"range",symbols:["fromConnector","_","fuzzy","_","toConnector","_","fuzzy"],postprocess:e=>C(e[2],e[6])},{name:"range",symbols:["betweenConnector","_","fuzzy","_","andConnector","_","fuzzy"],postprocess:e=>C(e[2],e[6])},{name:"range",symbols:["fromConnector","_","date","_","untilConnector","_","date"],postprocess:e=>C(e[2],e[6])},{name:"range",symbols:["fromConnector","_","specialDay","_","untilConnector","_","date"],postprocess:e=>C(u({special:e[2]}),e[6])},{name:"span",symbols:["date","_","forConnector","_","duration"],postprocess:e=>T(e[0],e[4])},{name:"span",symbols:["fuzzy","_","forConnector","_","duration"],postprocess:e=>T(e[0],e[4])},{name:"span",symbols:["inConnector","_","fuzzy","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["inConnector","_","date","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["inConnector","_","monthForSpan","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["startingConnector","_","date","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["beginningConnector","_","date","_","forConnector","_","duration"],postprocess:e=>T(e[2],e[6])},{name:"span",symbols:["startingConnector","_","date"],postprocess:e=>T(e[2])},{name:"span",symbols:["date","_","startingConnector","_","date"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","startingConnector","_","date"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","fromConnector","_","date"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","inConnector","_","fuzzy"],postprocess:e=>T(e[4],e[0])},{name:"span",symbols:["duration","_","inConnector","_","theConnector","_","fuzzy"],postprocess:e=>T(e[6],e[0])},{name:"monthForSpan",symbols:["month"],postprocess:e=>m({period:"month",month:e[0]})},{name:"relative",symbols:["lastRelative","_","number","_","unit"],postprocess:e=>f("past",c(e[2],e[4]))},{name:"relative",symbols:["pastRelative","_","number","_","unit"],postprocess:e=>f("past",c(e[2],e[4]))},{name:"relative",symbols:["previousRelative","_","number","_","unit"],postprocess:e=>f("past",c(e[2],e[4]))},{name:"relative",symbols:["nextRelative","_","number","_","unit"],postprocess:e=>f("future",c(e[2],e[4]))},{name:"relative",symbols:["comingRelative","_","number","_","unit"],postprocess:e=>f("future",c(e[2],e[4]))},{name:"relative",symbols:["upcomingRelative","_","number","_","unit"],postprocess:e=>f("future",c(e[2],e[4]))},{name:"relative",symbols:["withinConnector","_","duration"],postprocess:e=>f("future",e[2])},{name:"relative",symbols:["withinConnector","_","theConnector","_","nextRelative","_","duration"],postprocess:e=>f("future",e[6])},{name:"relative",symbols:["withinConnector","_","theConnector","_","lastRelative","_","duration"],postprocess:e=>f("past",e[6])},{name:"relative",symbols:["withinConnector","_","theConnector","_","pastRelative","_","duration"],postprocess:e=>f("past",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","nextRelative","_","duration"],postprocess:e=>f("future",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","lastRelative","_","duration"],postprocess:e=>f("past",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","pastRelative","_","duration"],postprocess:e=>f("past",e[6])},{name:"relative",symbols:["overConnector","_","theConnector","_","comingRelative","_","duration"],postprocess:e=>f("future",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","lastRelative","_","duration"],postprocess:e=>f("past",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","nextRelative","_","duration"],postprocess:e=>f("future",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","pastRelative","_","duration"],postprocess:e=>f("past",e[6])},{name:"relative",symbols:["inConnector","_","theConnector","_","comingRelative","_","duration"],postprocess:e=>f("future",e[6])},{name:"relative",symbols:["lastRelative","_","wordNumber","_","unit"],postprocess:e=>f("past",c(w(e[2]),e[4]))},{name:"relative",symbols:["nextRelative","_","wordNumber","_","unit"],postprocess:e=>f("future",c(w(e[2]),e[4]))},{name:"relative",symbols:["pastRelative","_","wordNumber","_","unit"],postprocess:e=>f("past",c(w(e[2]),e[4]))},{name:"relative",symbols:["previousRelative","_","wordNumber","_","unit"],postprocess:e=>f("past",c(w(e[2]),e[4]))},{name:"relative",symbols:["comingRelative","_","wordNumber","_","unit"],postprocess:e=>f("future",c(w(e[2]),e[4]))},{name:"relative",symbols:["upcomingRelative","_","wordNumber","_","unit"],postprocess:e=>f("future",c(w(e[2]),e[4]))},{name:"relative",symbols:["pastRelative","_","unit"],postprocess:e=>f("past",c(1,e[2]))},{name:"relative",symbols:["previousRelative","_","unit"],postprocess:e=>f("past",c(1,e[2]))},{name:"relative",symbols:["upcomingRelative","_","unit"],postprocess:e=>f("future",c(1,e[2]))},{name:"relative",symbols:["withinConnector","_","theConnector","_","nextRelative","_","unit"],postprocess:e=>f("future",c(1,e[6]))},{name:"relative",symbols:["withinConnector","_","theConnector","_","pastRelative","_","unit"],postprocess:e=>f("past",c(1,e[6]))},{name:"relative",symbols:["overConnector","_","theConnector","_","lastRelative","_","unit"],postprocess:e=>f("past",c(1,e[6]))},{name:"relative",symbols:["overConnector","_","theConnector","_","comingRelative","_","unit"],postprocess:e=>f("future",c(1,e[6]))},{name:"relative",symbols:["overConnector","_","theConnector","_","upcomingRelative","_","unit"],postprocess:e=>f("future",c(1,e[6]))},{name:"relative",symbols:["inConnector","_","theConnector","_","pastRelative","_","unit"],postprocess:e=>f("past",c(1,e[6]))},{name:"relative",symbols:["inConnector","_","theConnector","_","comingRelative","_","unit"],postprocess:e=>f("future",c(1,e[6]))},{name:"relative",symbols:["inConnector","_","theConnector","_","upcomingRelative","_","unit"],postprocess:e=>f("future",c(1,e[6]))},{name:"relativeDate",symbols:["duration","_","agoConnector"],postprocess:e=>d("past",e[0])},{name:"relativeDate",symbols:["duration","_","agoConnector","_","atConnector","_","time"],postprocess:e=>d("past",e[0],void 0,e[6])},{name:"relativeDate",symbols:["duration","_","agoConnector","_","atConnector","_","timeWord"],postprocess:e=>d("past",e[0],void 0,{special:e[6]})},{name:"relativeDate",symbols:["inConnector","_","duration"],postprocess:e=>d("future",e[2])},{name:"relativeDate",symbols:["inConnector","_","duration","_","atConnector","_","time"],postprocess:e=>d("future",e[2],void 0,e[6])},{name:"relativeDate",symbols:["inConnector","_","duration","_","atConnector","_","timeWord"],postprocess:e=>d("future",e[2],void 0,{special:e[6]})},{name:"relativeDate",symbols:["duration","_","fromConnector","_","now"],postprocess:e=>d("future",e[0])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","now","_","atConnector","_","time"],postprocess:e=>d("future",e[0],void 0,e[8])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","now","_","atConnector","_","timeWord"],postprocess:e=>d("future",e[0],void 0,{special:e[8]})},{name:"relativeDate",symbols:["duration","_","fromConnector","_","today"],postprocess:e=>d("future",e[0],u({special:"today"}))},{name:"relativeDate",symbols:["duration","_","fromConnector","_","today","_","atConnector","_","time"],postprocess:e=>d("future",e[0],u({special:"today"}),e[8])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","tomorrow"],postprocess:e=>d("future",e[0],u({special:"tomorrow"}))},{name:"relativeDate",symbols:["duration","_","fromConnector","_","tomorrow","_","atConnector","_","time"],postprocess:e=>d("future",e[0],u({special:"tomorrow"}),e[8])},{name:"relativeDate",symbols:["duration","_","fromConnector","_","yesterday"],postprocess:e=>d("future",e[0],u({special:"yesterday"}))},{name:"relativeDate",symbols:["duration","_","henceConnector"],postprocess:e=>d("future",e[0])},{name:"relativeDate",symbols:["duration","_","laterConnector"],postprocess:e=>d("future",e[0])},{name:"relativeDate",symbols:["duration","_","beforeConnector","_","date"],postprocess:e=>d("past",e[0],e[4])},{name:"relativeDate",symbols:["duration","_","afterConnector","_","date"],postprocess:e=>d("future",e[0],e[4])},{name:"relativeDate",symbols:["theConnector","_","dayUnit","_","beforeConnector","_","date"],postprocess:e=>d("past",c(1,"day"),e[6])},{name:"relativeDate",symbols:["theConnector","_","dayUnit","_","afterConnector","_","date"],postprocess:e=>d("future",c(1,"day"),e[6])},{name:"relativeDate",symbols:["dayUnit","_","beforeConnector","_","date"],postprocess:e=>d("past",c(1,"day"),e[4])},{name:"relativeDate",symbols:["dayUnit","_","afterConnector","_","date"],postprocess:e=>d("future",c(1,"day"),e[4])},{name:"relativeDate",symbols:["wordNumber","_","unit","_","beforeConnector","_","date"],postprocess:e=>d("past",c(w(e[0]),e[2]),e[6])},{name:"relativeDate",symbols:["wordNumber","_","unit","_","afterConnector","_","date"],postprocess:e=>d("future",c(w(e[0]),e[2]),e[6])},{name:"relativeDate",symbols:["nextRelative","_","businessKeyword","_","dayOrDaysUnit"],postprocess:e=>d("future",c(1,"businessDay"))},{name:"relativeDate",symbols:["inConnector","_","number","_","businessKeyword","_","dayOrDaysUnit"],postprocess:e=>d("future",c(e[2],"businessDay"))},{name:"relativeDate",symbols:["inConnector","_","wordNumber","_","businessKeyword","_","dayOrDaysUnit"],postprocess:e=>d("future",c(w(e[2]),"businessDay"))},{name:"relativeDate",symbols:["number","_","businessKeyword","_","dayOrDaysUnit","_","agoConnector"],postprocess:e=>d("past",c(e[0],"businessDay"))},{name:"relativeDate",symbols:["wordNumber","_","businessKeyword","_","dayOrDaysUnit","_","agoConnector"],postprocess:e=>d("past",c(w(e[0]),"businessDay"))},{name:"relativeDate",symbols:["wordNumber","_","fortnightKeyword","_","fromConnector","_","now"],postprocess:e=>d("future",c(w(e[0])*2,"week"))},{name:"relativeDate",symbols:["number","_","fortnightKeyword","_","fromConnector","_","now"],postprocess:e=>d("future",c(e[0]*2,"week"))},{name:"relativeDate",symbols:["fortnightKeyword","_","fromConnector","_","now"],postprocess:e=>d("future",c(2,"week"))},{name:"relativeDate",symbols:["inConnector","_","wordNumber","_","fortnightKeyword"],postprocess:e=>d("future",c(w(e[2])*2,"week"))},{name:"relativeDate",symbols:["inConnector","_","number","_","fortnightKeyword"],postprocess:e=>d("future",c(e[2]*2,"week"))},{name:"relativeDate",symbols:["inConnector","_","fortnightKeyword"],postprocess:e=>d("future",c(2,"week"))},{name:"relativeDate",symbols:["wordNumber","_","fortnightKeyword","_","agoConnector"],postprocess:e=>d("past",c(w(e[0])*2,"week"))},{name:"relativeDate",symbols:["number","_","fortnightKeyword","_","agoConnector"],postprocess:e=>d("past",c(e[0]*2,"week"))},{name:"relativeDate",symbols:["fortnightKeyword","_","agoConnector"],postprocess:e=>d("past",c(2,"week"))},{name:"relativeDate",symbols:["number","_","weekday","_","fromConnector","_","now"],postprocess:e=>({...d("future",c(e[0],"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["wordNumber","_","weekday","_","fromConnector","_","now"],postprocess:e=>({...d("future",c(w(e[0]),"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["number","_","weekday","_","agoConnector"],postprocess:e=>({...d("past",c(e[0],"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["wordNumber","_","weekday","_","agoConnector"],postprocess:e=>({...d("past",c(w(e[0]),"weekdayOccurrence")),weekday:e[2]})},{name:"relativeDate",symbols:["weekday","_","inConnector","_","duration"],postprocess:e=>d("future",e[4],u({weekday:e[0]}))},{name:"relativeDate",symbols:["weekday","_","inConnector","_","wordNumber","_","unit"],postprocess:e=>d("future",c(w(e[4]),e[6]),u({weekday:e[0]}))},{name:"relativeDate",symbols:["weekday","_","duration","_","agoConnector"],postprocess:e=>d("past",e[2],u({weekday:e[0],relative:"last"}))},{name:"relativeDate",symbols:["weekday","_","wordNumber","_","unit","_","agoConnector"],postprocess:e=>d("past",c(w(e[2]),e[4]),u({weekday:e[0],relative:"last"}))},{name:"relativeDate",symbols:["timeWord","_","inConnector","_","duration"],postprocess:e=>d("future",e[4],void 0,{special:e[0]})},{name:"relativeDate",symbols:["timeWord","_","inConnector","_","wordNumber","_","unit"],postprocess:e=>d("future",c(w(e[4]),e[6]),void 0,{special:e[0]})},{name:"relativeDate",symbols:["timeWord","_","duration","_","agoConnector"],postprocess:e=>d("past",e[2],void 0,{special:e[0]})},{name:"relativeDate",symbols:["timeWord","_","wordNumber","_","unit","_","agoConnector"],postprocess:e=>d("past",c(w(e[2]),e[4]),void 0,{special:e[0]})},{name:"fuzzy",symbols:["quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[0].value)})},{name:"fuzzy",symbols:["quarter","_","year"],postprocess:e=>m({period:"quarter",quarter:x(e[0].value),year:e[2]})},{name:"fuzzy",symbols:["half"],postprocess:e=>m({period:"half",half:$(e[0].value)})},{name:"fuzzy",symbols:["half","_","year"],postprocess:e=>m({period:"half",half:$(e[0].value),year:e[2]})},{name:"fuzzy",symbols:["earlyModifier","_","month"],postprocess:e=>m({period:"month",month:e[2],modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","month"],postprocess:e=>m({period:"month",month:e[2],modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","month"],postprocess:e=>m({period:"month",month:e[2],modifier:"late"})},{name:"fuzzy",symbols:["earlyModifier","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[2].value),modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[2].value),modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[2].value),modifier:"late"})},{name:"fuzzy",symbols:["earlyModifier","_","year"],postprocess:e=>m({period:"year",year:e[2],modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","year"],postprocess:e=>m({period:"year",year:e[2],modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","year"],postprocess:e=>m({period:"year",year:e[2],modifier:"late"})},{name:"fuzzy",symbols:["earlyModifier","_","yearUnit"],postprocess:e=>m({period:"year",modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","yearUnit"],postprocess:e=>m({period:"year",modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","yearUnit"],postprocess:e=>m({period:"year",modifier:"late"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"end"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"start"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"beginning"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","quarter"],postprocess:e=>m({period:"quarter",quarter:x(e[4].value),modifier:"middle"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","theConnector","_","month"],postprocess:e=>m({period:"month",month:e[6],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","theConnector","_","unit"],postprocess:e=>m({period:e[6],modifier:"end"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"end"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"beginning"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"start"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","unit"],postprocess:e=>m({period:e[4],modifier:"middle"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"end",relative:"next"})},{name:"fuzzy",symbols:["endConnector","_","ofConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"end",relative:"last"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"start",relative:"next"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"start",relative:"last"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"beginning",relative:"next"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[6],modifier:"beginning",relative:"last"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"beginning"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"beginning"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"start"})},{name:"fuzzy",symbols:["startConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"start"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[4],modifier:"middle"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","year"],postprocess:e=>m({period:"year",year:e[4],modifier:"middle"})},{name:"fuzzy",symbols:["season"],postprocess:e=>m({period:"season",season:e[0]})},{name:"fuzzy",symbols:["season","_","year"],postprocess:e=>m({period:"season",season:e[0],year:e[2]})},{name:"fuzzy",symbols:["earlyModifier","_","season"],postprocess:e=>m({period:"season",season:e[2],modifier:"early"})},{name:"fuzzy",symbols:["midModifier","_","season"],postprocess:e=>m({period:"season",season:e[2],modifier:"mid"})},{name:"fuzzy",symbols:["lateModifier","_","season"],postprocess:e=>m({period:"season",season:e[2],modifier:"late"})},{name:"fuzzy",symbols:["nextRelative","_","season"],postprocess:e=>m({period:"season",season:e[2],relative:"next"})},{name:"fuzzy",symbols:["lastRelative","_","season"],postprocess:e=>m({period:"season",season:e[2],relative:"last"})},{name:"fuzzy",symbols:["thisRelative","_","season"],postprocess:e=>m({period:"season",season:e[2],relative:"this"})},{name:"fuzzy",symbols:["ordinalWord","_","quarter","_","year"],postprocess:e=>m({period:"quarter",quarter:v(e[0]),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","quarter"],postprocess:e=>m({period:"quarter",quarter:v(e[0])})},{name:"fuzzy",symbols:["ordinalWord","_","half","_","year"],postprocess:e=>m({period:"half",half:v(e[0]),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","half"],postprocess:e=>m({period:"half",half:v(e[0])})},{name:"fuzzy",symbols:["aroundConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["aboutConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["roughlyConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["approximatelyConnector","_","date"],postprocess:e=>m({...e[2],period:"around"})},{name:"fuzzy",symbols:["aroundConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["aboutConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["roughlyConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["approximatelyConnector","_","fuzzy"],postprocess:e=>e[2]},{name:"fuzzy",symbols:["sometimeConnector","_","inConnector","_","fuzzy"],postprocess:e=>e[4]},{name:"fuzzy",symbols:["sometimeConnector","_","inConnector","_","month"],postprocess:e=>m({period:"month",month:e[4]})},{name:"fuzzy",symbols:["sometimeConnector","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],relative:"next"})},{name:"fuzzy",symbols:["sometimeConnector","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],relative:"last"})},{name:"fuzzy",symbols:["sometimeConnector","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],relative:"this"})},{name:"fuzzy",symbols:["theConnector","_","lastRelative","_","unit","_","ofConnector","_","month"],postprocess:e=>m({period:"month",month:e[8],modifier:"late"})},{name:"fuzzy",symbols:["theConnector","_","ordinalWord","_","unit","_","ofConnector","_","month"],postprocess:(e,t,o)=>e[2].toLowerCase()==="first"?m({period:"month",month:e[8],modifier:"early"}):o},{name:"fuzzy",symbols:["ordinalWord","_","quarterUnit"],postprocess:e=>m({period:"quarter",quarter:v(e[0])})},{name:"fuzzy",symbols:["ordinal","_","quarterUnit"],postprocess:e=>m({period:"quarter",quarter:H(e[0])})},{name:"fuzzy",symbols:["ordinalWord","_","quarterUnit","_","year"],postprocess:e=>m({period:"quarter",quarter:v(e[0]),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","quarterUnit","_","ofConnector","_","year"],postprocess:e=>m({period:"quarter",quarter:v(e[0]),year:e[6]})},{name:"fuzzy",symbols:["quarter","_","ofConnector","_","year"],postprocess:e=>m({period:"quarter",quarter:x(e[0].value),year:e[4]})},{name:"fuzzy",symbols:["ordinalWord","_","halfWord","_","ofConnector","_","year"],postprocess:e=>m({period:"half",half:v(e[0]),year:e[6]})},{name:"fuzzy",symbols:["earlyModifier","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"early",relative:"next"})},{name:"fuzzy",symbols:["midModifier","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"mid",relative:"next"})},{name:"fuzzy",symbols:["lateModifier","_","nextRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"late",relative:"next"})},{name:"fuzzy",symbols:["earlyModifier","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"early",relative:"last"})},{name:"fuzzy",symbols:["midModifier","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"mid",relative:"last"})},{name:"fuzzy",symbols:["lateModifier","_","lastRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"late",relative:"last"})},{name:"fuzzy",symbols:["earlyModifier","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"early",relative:"this"})},{name:"fuzzy",symbols:["midModifier","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"mid",relative:"this"})},{name:"fuzzy",symbols:["lateModifier","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"late",relative:"this"})},{name:"fuzzy",symbols:["beginningConnector","_","ofConnector","_","theConnector","_","unit"],postprocess:e=>m({period:e[6],modifier:"beginning"})},{name:"fuzzy",symbols:["middleConnector","_","ofConnector","_","theConnector","_","unit"],postprocess:e=>m({period:e[6],modifier:"middle"})},{name:"fuzzy",symbols:["lastRelative","_","unit","_","ofConnector","_","month"],postprocess:(e,t,o)=>e[2].toLowerCase()==="day"||e[2].toLowerCase()==="days"?o:m({period:"month",month:e[6],modifier:"late"})},{name:"fuzzy",symbols:["ordinalWord","_","unit","_","ofConnector","_","month"],postprocess:(e,t,o)=>e[2].toLowerCase()==="day"||e[2].toLowerCase()==="days"?o:m({period:"month",month:e[6],modifier:v(e[0])<=2?"early":v(e[0])>=4?"late":"mid"})},{name:"fuzzy",symbols:["weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"this"})},{name:"fuzzy",symbols:["theConnector","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"this"})},{name:"fuzzy",symbols:["thisRelative","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"this"})},{name:"fuzzy",symbols:["nextRelative","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"next"})},{name:"fuzzy",symbols:["lastRelative","_","weekendKeyword"],postprocess:e=>m({period:"weekend",relative:"last"})},{name:"fuzzy",symbols:["tonightKeyword"],postprocess:e=>m({period:"tonight"})},{name:"fuzzy",symbols:["nightKeyword"],postprocess:e=>m({period:"night"})},{name:"fuzzy",symbols:["lastRelative","_","nightKeyword"],postprocess:e=>m({period:"night",relative:"last"})},{name:"fuzzy",symbols:["tomorrow","_","nightKeyword"],postprocess:e=>m({period:"night",relative:"tomorrow"})},{name:"fuzzy",symbols:["weekday","_","nightKeyword"],postprocess:e=>m({period:"night",weekday:e[0]})},{name:"fuzzy",symbols:["laterKeyword","_","today"],postprocess:e=>m({period:"day",modifier:"later"})},{name:"fuzzy",symbols:["earlierKeyword","_","today"],postprocess:e=>m({period:"day",modifier:"earlier"})},{name:"fuzzy",symbols:["laterKeyword","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"later",relative:"this"})},{name:"fuzzy",symbols:["earlierKeyword","_","thisRelative","_","unit"],postprocess:e=>m({period:e[4],modifier:"earlier",relative:"this"})},{name:"fuzzy",symbols:["weekKeyword","_","number"],postprocess:e=>m({period:"weekNumber",weekNumber:e[2]})},{name:"fuzzy",symbols:["weekKeyword","_","number","_","year"],postprocess:e=>m({period:"weekNumber",weekNumber:e[2],year:e[4]})},{name:"fuzzy",symbols:["theConnector","_","weekKeyword","_","ofConnector","_","date"],postprocess:e=>m({period:"weekOf",baseDate:e[6]})},{name:"fuzzy",symbols:["ordinalWord","_","weekKeyword","_","ofConnector","_","month"],postprocess:e=>m({period:"weekOfMonth",week:v(e[0]),month:e[6]})},{name:"fuzzy",symbols:[r.has("kw_ytd")?{type:"kw_ytd"}:kw_ytd],postprocess:e=>m({period:"ytd"})},{name:"duration",symbols:["number","_","unit"],postprocess:e=>c(e[0],e[2])},{name:"duration",symbols:["wordNumber","_","unit"],postprocess:e=>c(w(e[0]),e[2])},{name:"duration",symbols:["abbreviatedDuration"],postprocess:e=>e[0]},{name:"duration",symbols:["halfWord","_","wordNumber","_","unit"],postprocess:e=>{let t=e[2].toLowerCase();return c(t==="a"||t==="an"?.5:w(e[2])+.5,e[4])}},{name:"duration",symbols:["number","_","andConnector","_","halfWord","_","unit"],postprocess:e=>c(e[0]+.5,e[6])},{name:"duration",symbols:["wordNumber","_","andConnector","_","halfWord","_","unit"],postprocess:e=>c(w(e[0])+.5,e[6])},{name:"duration",symbols:["wordNumber","_","andConnector","_","wordNumber","_","halfWord","_","unit"],postprocess:e=>c(w(e[0])+.5,e[8])},{name:"duration",symbols:["wordNumber","_","unit","_","andConnector","_","wordNumber","_","halfWord"],postprocess:e=>c(w(e[0])+.5,e[2])},{name:"duration",symbols:["halfWord","_","unit"],postprocess:e=>c(.5,e[2])},{name:"duration",symbols:["duration","_","andConnector","_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[4]]})},{name:"duration",symbols:["duration","_",r.has("comma")?{type:"comma"}:comma,"_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[4]]})},{name:"duration",symbols:["duration","_",r.has("comma")?{type:"comma"}:comma,"_","andConnector","_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[6]]})},{name:"duration",symbols:["duration","_","duration"],postprocess:e=>({...e[0],combined:[e[0],e[2]]})},{name:"duration",symbols:["aroundConnector","_","duration"],postprocess:e=>({...e[2],approximate:!0})},{name:"duration",symbols:["aboutConnector","_","duration"],postprocess:e=>({...e[2],approximate:!0})},{name:"abbreviatedDuration",symbols:[r.has("abbreviatedDuration")?{type:"abbreviatedDuration"}:abbreviatedDuration],postprocess:e=>{let t=e[0].value.match(/^(\d+)(mo|w|d|h|m|s|y)$/);if(!t)return null;let o=parseInt(t[1],10);return c(o,{w:"week",d:"day",h:"hour",m:"minute",mo:"month",s:"second",y:"year"}[t[2]])}},{name:"date",symbols:["specialDay"],postprocess:e=>u({special:e[0]})},{name:"date",symbols:["ordinalWeekdayOfMonth"],postprocess:p},{name:"date",symbols:["relativeWeekday"],postprocess:p},{name:"date",symbols:["weekday"],postprocess:e=>u({weekday:e[0]})},{name:"date",symbols:["monthDayYear"],postprocess:p},{name:"date",symbols:["monthDay"],postprocess:p},{name:"date",symbols:["monthDayCompact"],postprocess:p},{name:"date",symbols:["monthYear"],postprocess:p},{name:"date",symbols:["dateFormat"],postprocess:p},{name:"date",symbols:["relativePeriod"],postprocess:p},{name:"date",symbols:["complexDate"],postprocess:p},{name:"date",symbols:["dateWithTime"],postprocess:p},{name:"date",symbols:["relativeMonth"],postprocess:p},{name:"date",symbols:["monthOnly"],postprocess:p},{name:"date",symbols:["yearOnly"],postprocess:p},{name:"date",symbols:["timeOnly"],postprocess:p},{name:"date",symbols:["dayOnly"],postprocess:p},{name:"date",symbols:["eodCobDate"],postprocess:p},{name:"monthDayCompact",symbols:[r.has("monthDayCompact")?{type:"monthDayCompact"}:monthDayCompact],postprocess:e=>{let t=W(e[0].value);return u({month:t.month,day:t.day})}},{name:"monthOnly",symbols:["month"],postprocess:e=>u({month:e[0],day:1,monthOnly:!0})},{name:"relativeMonth",symbols:["nextRelative","_","month"],postprocess:e=>u({month:e[2],day:1,monthOnly:!0,relativeMonth:"next"})},{name:"relativeMonth",symbols:["lastRelative","_","month"],postprocess:e=>u({month:e[2],day:1,monthOnly:!0,relativeMonth:"last"})},{name:"relativeMonth",symbols:["thisRelative","_","month"],postprocess:e=>u({month:e[2],day:1,monthOnly:!0,relativeMonth:"this"})},{name:"monthYear",symbols:["month","_","year"],postprocess:e=>u({month:e[0],year:e[2],day:1,monthOnly:!0})},{name:"yearOnly",symbols:["year"],postprocess:(e,t,o)=>{let s=e[0];return s<1900||s>2100?o:u({year:s,month:1,day:1,yearOnly:!0})}},{name:"timeOnly",symbols:["time"],postprocess:e=>u({time:e[0],timeOnly:!0})},{name:"timeOnly",symbols:["timeWord"],postprocess:e=>u({time:{special:e[0]},timeOnly:!0})},{name:"dayOnly",symbols:["theConnector","_","dayNumber"],postprocess:e=>u({day:e[2],dayOnly:!0})},{name:"dayOnly",symbols:["onConnector","_","theConnector","_","dayNumber"],postprocess:e=>u({day:e[4],dayOnly:!0})},{name:"eodCobDate",symbols:["eodKeyword"],postprocess:e=>u({special:"today",time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["cobKeyword"],postprocess:e=>u({special:"today",time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["eodKeyword","_","weekday"],postprocess:e=>u({weekday:e[2],time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["cobKeyword","_","weekday"],postprocess:e=>u({weekday:e[2],time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["eodKeyword","_","specialDay"],postprocess:e=>u({special:e[2],time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["cobKeyword","_","specialDay"],postprocess:e=>u({special:e[2],time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["endConnector","_","ofConnector","_","dayUnit","_","specialDay"],postprocess:e=>u({special:e[6],time:{hour:23,minute:59}})},{name:"eodCobDate",symbols:["closeKeyword","_","ofConnector","_","businessKeyword","_","weekday"],postprocess:e=>u({weekday:e[6],time:{hour:17,minute:0}})},{name:"eodCobDate",symbols:["closeKeyword","_","ofConnector","_","businessKeyword","_","specialDay"],postprocess:e=>u({special:e[6],time:{hour:17,minute:0}})},{name:"specialDay",symbols:["today"],postprocess:e=>"today"},{name:"specialDay",symbols:["tomorrow"],postprocess:e=>"tomorrow"},{name:"specialDay",symbols:["yesterday"],postprocess:e=>"yesterday"},{name:"specialDay",symbols:["now"],postprocess:e=>"now"},{name:"specialDay",symbols:["theConnector","_","dayUnit","_","afterConnector","_","tomorrow"],postprocess:e=>"dayAfterTomorrow"},{name:"specialDay",symbols:["dayUnit","_","afterConnector","_","tomorrow"],postprocess:e=>"dayAfterTomorrow"},{name:"specialDay",symbols:["theConnector","_","dayUnit","_","beforeConnector","_","yesterday"],postprocess:e=>"dayBeforeYesterday"},{name:"specialDay",symbols:["dayUnit","_","beforeConnector","_","yesterday"],postprocess:e=>"dayBeforeYesterday"},{name:"dayUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="day"?e[0]:o},{name:"dayOrDaysUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="day"||e[0].value==="days"?e[0]:o},{name:"relativeWeekday",symbols:["nextRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"next"})},{name:"relativeWeekday",symbols:["lastRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"last"})},{name:"relativeWeekday",symbols:["thisRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"this"})},{name:"relativeWeekday",symbols:["comingRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"next"})},{name:"relativeWeekday",symbols:["previousRelative","_","weekday"],postprocess:e=>u({weekday:e[2],relative:"last"})},{name:"relativePeriod",symbols:["nextRelative","_","unit"],postprocess:e=>u({relative:"next",period:e[2]})},{name:"relativePeriod",symbols:["lastRelative","_","unit"],postprocess:e=>u({relative:"last",period:e[2]})},{name:"relativePeriod",symbols:["thisRelative","_","unit"],postprocess:e=>u({relative:"this",period:e[2]})},{name:"monthDay",symbols:["month","_","dayNumber"],postprocess:e=>u({month:e[0],day:e[2]})},{name:"monthDay",symbols:["dayNumber","_","month"],postprocess:e=>u({month:e[2],day:e[0]})},{name:"monthDay",symbols:["dayNumber","_","ofConnector","_","month"],postprocess:e=>u({month:e[4],day:e[0]})},{name:"monthDay",symbols:["theConnector","_","dayNumber","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],day:e[2]})},{name:"monthDay",symbols:["month","_","ordinalWord"],postprocess:e=>u({month:e[0],day:v(e[2])})},{name:"monthDay",symbols:["month","_","theConnector","_","dayNumber"],postprocess:e=>u({month:e[0],day:e[4]})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","weekday","_","ofConnector","_","month"],postprocess:e=>u({ordinalWeekday:v(e[0]),weekday:e[2],month:e[6]})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","weekday","_","ofConnector","_","month"],postprocess:e=>u({ordinalWeekday:-1,weekday:e[2],month:e[6]})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","weekday","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({ordinalWeekday:v(e[0]),weekday:e[2],monthFromRef:!0})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","weekday","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({ordinalWeekday:-1,weekday:e[2],monthFromRef:!0})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","dayUnit","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],day:v(e[0])})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","month"],postprocess:e=>u({month:e[6],day:-1,lastDayOfMonth:!0})},{name:"ordinalWeekdayOfMonth",symbols:["lastRelative","_","dayUnit","_","ofConnector","_","theConnector","_","monthUnit"],postprocess:e=>u({lastDayOfMonth:!0,monthFromRef:!0})},{name:"ordinalWeekdayOfMonth",symbols:["ordinalWord","_","dayUnit","_","ofConnector","_","nextRelative","_","monthUnit"],postprocess:e=>u({ordinalWeekday:v(e[0]),dayOfMonth:!0,nextMonth:!0})},{name:"monthDayYear",symbols:["monthDay","_","year"],postprocess:e=>({...e[0],year:e[2]})},{name:"monthDayYear",symbols:["monthDay",r.has("comma")?{type:"comma"}:comma,"_","year"],postprocess:e=>({...e[0],year:e[3]})},{name:"dateFormat",symbols:[r.has("integer")?{type:"integer"}:integer,r.has("dash")?{type:"dash"}:dash,r.has("integer")?{type:"integer"}:integer,r.has("dash")?{type:"dash"}:dash,r.has("integer")?{type:"integer"}:integer],postprocess:e=>{let t=[parseInt(e[0].value,10),parseInt(e[2].value,10),parseInt(e[4].value,10)];return t[0]>1e3?u({year:t[0],month:t[1],day:t[2]}):u({formatParts:t,separator:"-"})}},{name:"dateFormat",symbols:[r.has("integer")?{type:"integer"}:integer,r.has("slash")?{type:"slash"}:slash,r.has("integer")?{type:"integer"}:integer,r.has("slash")?{type:"slash"}:slash,r.has("integer")?{type:"integer"}:integer],postprocess:e=>{let t=[parseInt(e[0].value,10),parseInt(e[2].value,10),parseInt(e[4].value,10)];return t[0]>1e3?u({year:t[0],month:t[1],day:t[2]}):u({formatParts:t,separator:"/"})}},{name:"dateWithTime",symbols:["date","_","atConnector","_","time"],postprocess:e=>({...e[0],time:e[4]})},{name:"dateWithTime",symbols:["date","_","atConnector","_","timeWord"],postprocess:e=>({...e[0],time:{special:e[4]}})},{name:"dateWithTime",symbols:["time","_","date"],postprocess:e=>({...e[2],time:e[0]})},{name:"dateWithTime",symbols:["timeWord","_","date"],postprocess:e=>({...e[2],time:{special:e[0]}})},{name:"dateWithTime",symbols:["date","_","time"],postprocess:e=>({...e[0],time:e[2]})},{name:"dateWithTime",symbols:["date","_","timeWord"],postprocess:e=>({...e[0],time:{special:e[2]}})},{name:"dateWithTime",symbols:["timeWord","_","onConnector","_","date"],postprocess:e=>({...e[4],time:{special:e[0]}})},{name:"dateWithTime",symbols:["timeWord","_","onConnector","_","weekday"],postprocess:e=>u({weekday:e[4],time:{special:e[0]}})},{name:"dateWithTime",symbols:["midnight","_","tonightKeyword"],postprocess:e=>u({special:"tonight",time:{special:"midnight"}})},{name:"dateWithTime",symbols:["date","_","inConnector","_","theConnector","_","timeWord"],postprocess:e=>({...e[0],time:{special:e[6]}})},{name:"complexDate",symbols:["nextRelative","_","unit","_","weekday","_","time"],postprocess:e=>u({relative:"next",period:e[2],weekday:e[4],time:e[6]})},{name:"complexDate",symbols:["nextRelative","_","unit","_","weekday"],postprocess:e=>u({relative:"next",period:e[2],weekday:e[4]})},{name:"complexDate",symbols:["lastRelative","_","unit","_","weekday","_","time"],postprocess:e=>u({relative:"last",period:e[2],weekday:e[4],time:e[6]})},{name:"complexDate",symbols:["lastRelative","_","unit","_","weekday"],postprocess:e=>u({relative:"last",period:e[2],weekday:e[4]})},{name:"complexDate",symbols:["thisRelative","_","unit","_","weekday","_","time"],postprocess:e=>u({relative:"this",period:e[2],weekday:e[4],time:e[6]})},{name:"complexDate",symbols:["thisRelative","_","unit","_","weekday"],postprocess:e=>u({relative:"this",period:e[2],weekday:e[4]})},{name:"time",symbols:[r.has("time")?{type:"time"}:time],postprocess:e=>{let t=e[0].value.split(":");return{hour:parseInt(t[0],10),minute:parseInt(t[1],10)}}},{name:"time",symbols:[r.has("time")?{type:"time"}:time,"_",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[0].value.split(":"),o=parseInt(t[0],10);return e[2].value==="pm"&&o!==12&&(o+=12),e[2].value==="am"&&o===12&&(o=0),{hour:o,minute:parseInt(t[1],10)}}},{name:"time",symbols:[r.has("time")?{type:"time"}:time,r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[0].value.split(":"),o=parseInt(t[0],10);return e[1].value==="pm"&&o!==12&&(o+=12),e[1].value==="am"&&o===12&&(o=0),{hour:o,minute:parseInt(t[1],10)}}},{name:"time",symbols:[r.has("integer")?{type:"integer"}:integer,"_",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=parseInt(e[0].value,10);return e[2].value==="pm"&&t!==12&&(t+=12),e[2].value==="am"&&t===12&&(t=0),{hour:t,minute:0}}},{name:"time",symbols:[r.has("integer")?{type:"integer"}:integer,r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=parseInt(e[0].value,10);return e[1].value==="pm"&&t!==12&&(t+=12),e[1].value==="am"&&t===12&&(t=0),{hour:t,minute:0}}},{name:"time",symbols:["quarterKeyword","_","pastConnector","_","hourNumber"],postprocess:e=>({hour:e[4],minute:15})},{name:"time",symbols:["quarterKeyword","_","pastConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t,minute:15}}},{name:"time",symbols:["halfWord","_","pastConnector","_","hourNumber"],postprocess:e=>({hour:e[4],minute:30})},{name:"time",symbols:["halfWord","_","pastConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t,minute:30}}},{name:"time",symbols:["quarterKeyword","_","toConnector","_","hourNumber"],postprocess:e=>({hour:e[4]-1,minute:45})},{name:"time",symbols:["quarterKeyword","_","toConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t-1,minute:45}}},{name:"time",symbols:["number","_","pastConnector","_","hourNumber"],postprocess:e=>({hour:e[4],minute:e[0]})},{name:"time",symbols:["number","_","pastConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t,minute:e[0]}}},{name:"time",symbols:["number","_","toConnector","_","hourNumber"],postprocess:e=>({hour:e[4]-1,minute:60-e[0]})},{name:"time",symbols:["number","_","toConnector","_","hourNumber",r.has("ampm")?{type:"ampm"}:ampm],postprocess:e=>{let t=e[4];return e[5].value==="pm"&&t!==12&&(t+=12),e[5].value==="am"&&t===12&&(t=0),{hour:t-1,minute:60-e[0]}}},{name:"time",symbols:["number","_","toConnector","_","noon"],postprocess:e=>({hour:11,minute:60-e[0]})},{name:"time",symbols:["number","_","toConnector","_","midnight"],postprocess:e=>({hour:23,minute:60-e[0]})},{name:"time",symbols:["quarterKeyword","_","toConnector","_","noon"],postprocess:e=>({hour:11,minute:45})},{name:"time",symbols:["quarterKeyword","_","toConnector","_","midnight"],postprocess:e=>({hour:23,minute:45})},{name:"timeWord",symbols:["noon"],postprocess:e=>"noon"},{name:"timeWord",symbols:["midnight"],postprocess:e=>"midnight"},{name:"timeWord",symbols:["morning"],postprocess:e=>"morning"},{name:"timeWord",symbols:["afternoon"],postprocess:e=>"afternoon"},{name:"timeWord",symbols:["evening"],postprocess:e=>"evening"},{name:"number",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:e=>parseInt(e[0].value,10)},{name:"number",symbols:[r.has("decimal")?{type:"decimal"}:decimal],postprocess:e=>parseFloat(e[0].value)},{name:"year",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>{let s=parseInt(e[0].value,10);return s>=1900&&s<=2100?s:o}},{name:"dayNumber",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>{let s=parseInt(e[0].value,10);return s<1||s>31?o:s}},{name:"dayNumber",symbols:[r.has("ordinal")?{type:"ordinal"}:ordinal],postprocess:e=>H(e[0].value)},{name:"month",symbols:[r.has("month")?{type:"month"}:month],postprocess:e=>B(e[0].value)},{name:"weekday",symbols:[r.has("weekday")?{type:"weekday"}:weekday],postprocess:e=>e[0].value},{name:"quarter",symbols:[r.has("quarter")?{type:"quarter"}:quarter],postprocess:p},{name:"half",symbols:[r.has("half")?{type:"half"}:half],postprocess:p},{name:"season",symbols:[r.has("season")?{type:"season"}:season],postprocess:e=>e[0].value},{name:"unit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:e=>e[0].value},{name:"quarterUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="quarter"||s==="quarters"?s:o}},{name:"halfUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="half"?s:o}},{name:"yearUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="year"||s==="years"||s==="yr"||s==="yrs"?s:o}},{name:"monthUnit",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="month"||s==="months"||s==="mo"||s==="mos"?s:o}},{name:"wordNumber",symbols:[r.has("wordNumber")?{type:"wordNumber"}:wordNumber],postprocess:e=>e[0].value},{name:"ordinalWord",symbols:[r.has("ordinalWord")?{type:"ordinalWord"}:ordinalWord],postprocess:e=>e[0].value},{name:"ordinalWord",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="second"?"second":o},{name:"ordinal",symbols:[r.has("ordinal")?{type:"ordinal"}:ordinal],postprocess:e=>e[0].value},{name:"halfWord",symbols:[r.has("halfWord")?{type:"halfWord"}:halfWord],postprocess:e=>e[0].value},{name:"toConnector",symbols:[r.has("kw_to")?{type:"kw_to"}:kw_to],postprocess:p},{name:"fromConnector",symbols:[r.has("kw_from")?{type:"kw_from"}:kw_from],postprocess:p},{name:"forConnector",symbols:[r.has("kw_for")?{type:"kw_for"}:kw_for],postprocess:p},{name:"inConnector",symbols:[r.has("kw_in")?{type:"kw_in"}:kw_in],postprocess:p},{name:"onConnector",symbols:[r.has("kw_on")?{type:"kw_on"}:kw_on],postprocess:p},{name:"atConnector",symbols:[r.has("kw_at")?{type:"kw_at"}:kw_at],postprocess:p},{name:"ofConnector",symbols:[r.has("kw_of")?{type:"kw_of"}:kw_of],postprocess:p},{name:"theConnector",symbols:[r.has("kw_the")?{type:"kw_the"}:kw_the],postprocess:p},{name:"andConnector",symbols:[r.has("kw_and")?{type:"kw_and"}:kw_and],postprocess:p},{name:"betweenConnector",symbols:[r.has("kw_between")?{type:"kw_between"}:kw_between],postprocess:p},{name:"throughConnector",symbols:[r.has("kw_through")?{type:"kw_through"}:kw_through],postprocess:p},{name:"untilConnector",symbols:[r.has("kw_until")?{type:"kw_until"}:kw_until],postprocess:p},{name:"withinConnector",symbols:[r.has("kw_within")?{type:"kw_within"}:kw_within],postprocess:p},{name:"overConnector",symbols:[r.has("kw_over")?{type:"kw_over"}:kw_over],postprocess:p},{name:"duringConnector",symbols:[r.has("kw_during")?{type:"kw_during"}:kw_during],postprocess:p},{name:"startingConnector",symbols:[r.has("kw_starting")?{type:"kw_starting"}:kw_starting],postprocess:p},{name:"byConnector",symbols:[r.has("kw_by")?{type:"kw_by"}:kw_by],postprocess:p},{name:"aroundConnector",symbols:[r.has("kw_around")?{type:"kw_around"}:kw_around],postprocess:p},{name:"aboutConnector",symbols:[r.has("kw_about")?{type:"kw_about"}:kw_about],postprocess:p},{name:"roughlyConnector",symbols:[r.has("kw_roughly")?{type:"kw_roughly"}:kw_roughly],postprocess:p},{name:"approximatelyConnector",symbols:[r.has("kw_approximately")?{type:"kw_approximately"}:kw_approximately],postprocess:p},{name:"sometimeConnector",symbols:[r.has("kw_sometime")?{type:"kw_sometime"}:kw_sometime],postprocess:p},{name:"afterConnector",symbols:[r.has("kw_after")?{type:"kw_after"}:kw_after],postprocess:p},{name:"beforeConnector",symbols:[r.has("kw_before")?{type:"kw_before"}:kw_before],postprocess:p},{name:"endConnector",symbols:[r.has("kw_end")?{type:"kw_end"}:kw_end],postprocess:p},{name:"beginningConnector",symbols:[r.has("kw_beginning")?{type:"kw_beginning"}:kw_beginning],postprocess:p},{name:"startConnector",symbols:[r.has("kw_start")?{type:"kw_start"}:kw_start],postprocess:p},{name:"middleConnector",symbols:[r.has("kw_middle")?{type:"kw_middle"}:kw_middle],postprocess:p},{name:"agoConnector",symbols:[r.has("kw_ago")?{type:"kw_ago"}:kw_ago],postprocess:p},{name:"henceConnector",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="hence"?e[0]:o},{name:"laterConnector",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="later"?e[0]:o},{name:"earlyModifier",symbols:[r.has("kw_early")?{type:"kw_early"}:kw_early],postprocess:p},{name:"midModifier",symbols:[r.has("kw_mid")?{type:"kw_mid"}:kw_mid],postprocess:p},{name:"lateModifier",symbols:[r.has("kw_late")?{type:"kw_late"}:kw_late],postprocess:p},{name:"nextRelative",symbols:[r.has("kw_next")?{type:"kw_next"}:kw_next],postprocess:p},{name:"lastRelative",symbols:[r.has("kw_last")?{type:"kw_last"}:kw_last],postprocess:p},{name:"thisRelative",symbols:[r.has("kw_this")?{type:"kw_this"}:kw_this],postprocess:p},{name:"previousRelative",symbols:[r.has("kw_previous")?{type:"kw_previous"}:kw_previous],postprocess:p},{name:"comingRelative",symbols:[r.has("kw_coming")?{type:"kw_coming"}:kw_coming],postprocess:p},{name:"upcomingRelative",symbols:[r.has("kw_upcoming")?{type:"kw_upcoming"}:kw_upcoming],postprocess:p},{name:"pastRelative",symbols:[r.has("kw_past")?{type:"kw_past"}:kw_past],postprocess:p},{name:"today",symbols:[r.has("kw_today")?{type:"kw_today"}:kw_today],postprocess:p},{name:"tomorrow",symbols:[r.has("kw_tomorrow")?{type:"kw_tomorrow"}:kw_tomorrow],postprocess:p},{name:"yesterday",symbols:[r.has("kw_yesterday")?{type:"kw_yesterday"}:kw_yesterday],postprocess:p},{name:"now",symbols:[r.has("kw_now")?{type:"kw_now"}:kw_now],postprocess:p},{name:"noon",symbols:[r.has("kw_noon")?{type:"kw_noon"}:kw_noon],postprocess:p},{name:"midnight",symbols:[r.has("kw_midnight")?{type:"kw_midnight"}:kw_midnight],postprocess:p},{name:"morning",symbols:[r.has("kw_morning")?{type:"kw_morning"}:kw_morning],postprocess:p},{name:"afternoon",symbols:[r.has("kw_afternoon")?{type:"kw_afternoon"}:kw_afternoon],postprocess:p},{name:"evening",symbols:[r.has("kw_evening")?{type:"kw_evening"}:kw_evening],postprocess:p},{name:"quarterKeyword",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>e[0].value==="quarter"?e[0]:o},{name:"hourNumber",symbols:[r.has("integer")?{type:"integer"}:integer],postprocess:(e,t,o)=>{let s=parseInt(e[0].value,10);return s<1||s>12?o:s}},{name:"pastConnector",symbols:[r.has("kw_past")?{type:"kw_past"}:kw_past],postprocess:p},{name:"weekendKeyword",symbols:[r.has("kw_weekend")?{type:"kw_weekend"}:kw_weekend],postprocess:p},{name:"tonightKeyword",symbols:[r.has("kw_tonight")?{type:"kw_tonight"}:kw_tonight],postprocess:p},{name:"nightKeyword",symbols:[r.has("kw_night")?{type:"kw_night"}:kw_night],postprocess:p},{name:"fortnightKeyword",symbols:[r.has("kw_fortnight")?{type:"kw_fortnight"}:kw_fortnight],postprocess:p},{name:"laterKeyword",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="later"?e[0]:o},{name:"earlierKeyword",symbols:[r.has("otherKeyword")?{type:"otherKeyword"}:otherKeyword],postprocess:(e,t,o)=>e[0].value==="earlier"?e[0]:o},{name:"weekKeyword",symbols:[r.has("unit")?{type:"unit"}:unit],postprocess:(e,t,o)=>{let s=e[0].value.toLowerCase();return s==="week"||s==="weeks"?e[0]:o}},{name:"businessKeyword",symbols:[r.has("kw_business")?{type:"kw_business"}:kw_business],postprocess:p},{name:"eodKeyword",symbols:[r.has("kw_eod")?{type:"kw_eod"}:kw_eod],postprocess:p},{name:"cobKeyword",symbols:[r.has("kw_cob")?{type:"kw_cob"}:kw_cob],postprocess:p},{name:"closeKeyword",symbols:[r.has("kw_close")?{type:"kw_close"}:kw_close],postprocess:p},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1",r.has("ws")?{type:"ws"}:ws],postprocess:e=>e[0].concat([e[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:se}],ParserStart:"main"},J=ae;function F(e,t){let o=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())),s=o.getUTCDay(),a=e-s;return a<=0&&(a+=7),o.setUTCDate(o.getUTCDate()+a),o}function Q(e,t){let o=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())),a=o.getUTCDay()-e;return a<=0&&(a+=7),o.setUTCDate(o.getUTCDate()-a),o}function P(e,t,o){let s=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())),a=s.getUTCDay(),n=o==="monday"?1:0,i=a-n;i<0&&(i+=7);let l=e-n;l<0&&(l+=7);let y=l-i;return s.setUTCDate(s.getUTCDate()+y),s}var S={sunday:0,sun:0,monday:1,mon:1,tuesday:2,tue:2,tues:2,wednesday:3,wed:3,thursday:4,thu:4,thur:4,thurs:4,friday:5,fri:5,saturday:6,sat:6},Y={january:0,april:3,july:6,october:9};function O(e,t){t.special==="noon"?e.setUTCHours(12,0,0,0):t.special==="midnight"?e.setUTCHours(0,0,0,0):t.special==="morning"?e.setUTCHours(9,0,0,0):t.special==="afternoon"?e.setUTCHours(14,0,0,0):t.special==="evening"?e.setUTCHours(18,0,0,0):t.hour!==void 0&&e.setUTCHours(t.hour,t.minute??0,0,0)}function ne(e,t){let o=t.referenceDate,s;switch(e.special){case"today":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()));break;case"tomorrow":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()+1));break;case"yesterday":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()-1));break;case"now":s=new Date(o);break;case"dayAfterTomorrow":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()+2));break;case"dayBeforeYesterday":s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()-2));break;default:s=new Date(o)}return e.time&&O(s,e.time),s}function ie(e,t){let o=t.referenceDate,s=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()));return e.time&&O(s,e.time),s}function me(e,t){let o=t.referenceDate,s=S[e.weekday.toLowerCase()]??0,a;if(e.period&&e.period.toLowerCase()==="week"){let n;switch(e.relative){case"next":n=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()+7));break;case"last":n=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()-7));break;default:n=o}a=P(s,n,t.weekStartsOn)}else switch(e.relative){case"next":a=F(s,o);break;case"last":a=Q(s,o);break;case"this":a=P(s,o,t.weekStartsOn);break;default:a=F(s,o)}return e.time&&O(a,e.time),a}function le(e,t){let o=t.referenceDate,s=e.formatParts;if(s.length<3||s[0]===void 0||s[1]===void 0||s[2]===void 0)return o;let[a,n,i]=s,l,y,h;return i>1e3?t.dateFormat==="intl"||a>12&&n<=12?(h=a,y=n,l=i):(y=a,h=n,l=i):(y=a,h=n,l=i<100?i>50?1900+i:2e3+i:i),new Date(Date.UTC(l,y-1,h))}function pe(e,t){let o=t.referenceDate,s=e.year??o.getUTCFullYear(),a=typeof e.month=="number"?e.month-1:0;if(e.relativeMonth){let i=o.getUTCMonth();e.relativeMonth==="last"?a>=i&&s--:e.relativeMonth==="next"&&a<=i&&s++}else e.year===void 0&&a<o.getUTCMonth()&&s++;let n=new Date(Date.UTC(s,a,e.day));if(n.getUTCMonth()!==a||n.getUTCDate()!==e.day)throw new Error("Invalid date");return e.time&&O(n,e.time),n}function ye(e,t){let o=t.referenceDate,s=e.ordinalWeekday,a=e.weekday.toLowerCase(),n=S[a]??0,i,l;if(e.monthFromRef?(i=o.getUTCMonth(),l=o.getUTCFullYear()):e.nextMonth?(i=o.getUTCMonth()+1,l=o.getUTCFullYear(),i>11&&(i=0,l++)):(i=typeof e.month=="number"?e.month-1:o.getUTCMonth(),l=o.getUTCFullYear(),i<o.getUTCMonth()&&l++),s===-1){let b=new Date(Date.UTC(l,i+1,0)).getUTCDate(),R=new Date(Date.UTC(l,i,b));for(;R.getUTCDay()!==n;)b--,R=new Date(Date.UTC(l,i,b));return R}let y=0;for(let _=1;_<=31;_++){let b=new Date(Date.UTC(l,i,_));if(b.getUTCMonth()!==i)break;if(b.getUTCDay()===n&&(y++,y===s))return b}let g=new Date(Date.UTC(l,i+1,0)).getUTCDate(),D=new Date(Date.UTC(l,i,g));for(;D.getUTCDay()!==n;)g--,D=new Date(Date.UTC(l,i,g));return D}function ue(e,t){let o=t.referenceDate,s,a;return e.monthFromRef?(s=o.getUTCMonth(),a=o.getUTCFullYear()):e.nextMonth?(s=o.getUTCMonth()+1,a=o.getUTCFullYear(),s>11&&(s=0,a++)):(s=typeof e.month=="number"?e.month-1:o.getUTCMonth(),a=o.getUTCFullYear(),s<o.getUTCMonth()&&a++),new Date(Date.UTC(a,s+1,0))}function ce(e,t){let o=t.referenceDate,s=e.day,a=o.getUTCDate(),n=o.getUTCMonth(),i=o.getUTCFullYear(),l=n,y=i;s<a&&(l=n+1,l>11&&(l=0,y++));let h=new Date(Date.UTC(y,l,s));for(;h.getUTCDate()!==s;)l++,l>11&&(l=0,y++),h=new Date(Date.UTC(y,l,s));return e.time&&O(h,e.time),h}function de(e,t){let o=t.referenceDate;switch(e.period.toLowerCase()){case"day":{let a=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()));return e.relative==="next"?a.setUTCDate(a.getUTCDate()+1):e.relative==="last"&&a.setUTCDate(a.getUTCDate()-1),a}case"week":{let a=new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate())),n=t.weekStartsOn==="monday"?1:0,l=(a.getUTCDay()-n+7)%7;return a.setUTCDate(a.getUTCDate()-l),e.relative==="next"?a.setUTCDate(a.getUTCDate()+7):e.relative==="last"&&a.setUTCDate(a.getUTCDate()-7),a}case"month":return e.relative==="next"?new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth()+1,1)):e.relative==="last"?new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth()-1,1)):new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),1));case"year":return e.relative==="next"?new Date(Date.UTC(o.getUTCFullYear()+1,0,1)):e.relative==="last"?new Date(Date.UTC(o.getUTCFullYear()-1,0,1)):new Date(Date.UTC(o.getUTCFullYear(),0,1));default:return new Date(o)}}function N(e,t){if(e.special)return ne(e,t);if(e.timeOnly&&e.time)return ie(e,t);if(e.ordinalWeekday!==void 0&&e.weekday!==void 0)return ye(e,t);if(e.weekday)return me(e,t);if(e.formatParts)return le(e,t);if(e.month!==void 0&&e.day!==void 0)return pe(e,t);if(e.dayOnly&&e.day!==void 0)return ce(e,t);if(e.lastDayOfMonth)return ue(e,t);if(e.dayOfMonth&&e.nextMonth){let o=t.referenceDate,s=o.getUTCMonth()+1,a=o.getUTCFullYear();s>11&&(s=0,a++);let n=e.ordinalWeekday||1;return new Date(Date.UTC(a,s,n))}return e.relative&&e.period?de(e,t):new Date(t.referenceDate)}function ge(e,t){switch(t){case"second":return e*1e3;case"minute":return e*6e4;case"hour":return e*36e5;case"day":return e*864e5;case"week":return e*6048e5;case"month":return e*2592e6;case"year":return e*31536e6;default:return 0}}function M(e,t=!1){if(e.combined&&Array.isArray(e.combined)){let s=e.combined.some(a=>a.unit==="hour");return e.combined.reduce((a,n)=>a+M(n,s),0)}let o=e.unit;return t&&o==="month"&&(o="minute"),ge(e.value,o)}function K(e,t,o){let s=Y[o]??0,a=(s+(e-1)*3)%12,n=t;a<s&&n++;let i=new Date(Date.UTC(n,a,1)),l=(a+3)%12,y=n;l<a&&y++;let h=new Date(Date.UTC(y,l,0));return{start:i,end:h}}function G(e,t,o){let s=Y[o]??0,a=(s+(e-1)*6)%12,n=t;a<s&&n++;let i=new Date(Date.UTC(n,a,1)),l=(a+6)%12,y=n;l<=a&&y++;let h=new Date(Date.UTC(y,l,0));return{start:i,end:h}}function V(e,t){switch(e){case"spring":return{start:new Date(Date.UTC(t,2,20)),end:new Date(Date.UTC(t,5,20))};case"summer":return{start:new Date(Date.UTC(t,5,21)),end:new Date(Date.UTC(t,8,22))};case"fall":case"autumn":return{start:new Date(Date.UTC(t,8,23)),end:new Date(Date.UTC(t,11,20))};case"winter":return{start:new Date(Date.UTC(t,11,21)),end:new Date(Date.UTC(t+1,2,19))};default:return{start:new Date(Date.UTC(t,0,1)),end:new Date(Date.UTC(t,11,31))}}}function Z(e,t,o){let s=t.getTime()-e.getTime(),a=s/3,n=s/2;switch(o){case"early":return{start:e,end:new Date(e.getTime()+a)};case"mid":case"middle":return{start:new Date(e.getTime()+a),end:new Date(e.getTime()+2*a)};case"late":return{start:new Date(e.getTime()+2*a),end:t};case"first":return{start:e,end:new Date(e.getTime()+n)};case"second":return{start:new Date(e.getTime()+n),end:t};default:return{start:e,end:t}}}function Ce(e,t,o){let s=e.getUTCDay(),a=(6-s+7)%7,n=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+a));t==="next"?n=new Date(n.getTime()+6048e5):t==="last"&&((s===6||s===0)&&(n=new Date(n.getTime()-6048e5)),n=new Date(n.getTime()-6048e5));let i=new Date(n.getTime()+864e5),l=new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate(),23,59));return{start:n,end:l}}function X(e,t,o){let s=new Date(e);if(t==="last")s=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()-1));else if(t==="tomorrow")s=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+1));else if(o){let i=S[o.toLowerCase()];if(i!==void 0){let l=e.getUTCDay(),y=(i-l+7)%7;y===0&&(y=7),s=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+y))}}let a=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),18,0)),n=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),23,59));return{start:a,end:n}}function ee(e,t,o){let s=t.referenceDate;if(e.period==="weekend")return Ce(s,e.relative||"this",t);if(e.period==="tonight")return X(s,void 0,void 0);if(e.period==="night")return X(s,e.relative,e.weekday);if(e.period==="fortnight"){let a=e.count||1,n=e.relative,i=14*864e5;if(n==="last"){let h=new Date(s);return{start:new Date(s.getTime()-i),end:h}}let l=new Date(s),y=new Date(s.getTime()+a*i);return{start:l,end:y}}if(e.period==="quarter"&&e.quarter)return K(e.quarter,o,t.fiscalYearStart);if(e.period==="half"&&e.half)return G(e.half,o,t.fiscalYearStart);if(e.period==="season"&&e.season)return V(e.season,o);if(e.period==="month"&&e.month!==void 0){let a=typeof e.month=="number"?e.month-1:0,n=new Date(Date.UTC(o,a,1)),i=new Date(Date.UTC(o,a+1,0));return{start:n,end:i}}if(e.period==="month"){let a=s.getUTCMonth(),n=new Date(Date.UTC(o,a,1)),i=new Date(Date.UTC(o,a+1,0));return{start:n,end:i}}if(e.period==="week"){let a=t.weekStartsOn==="monday"?1:0,i=(s.getUTCDay()-a+7)%7,l=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate()-i)),y=new Date(l.getTime()+6*864e5);return{start:l,end:y}}if(e.period==="weekNumber"&&e.weekNumber!==void 0){let a=e.weekNumber,n=e.year??s.getUTCFullYear(),i=t.weekStartsOn==="monday"?1:0,l=new Date(Date.UTC(n,0,1)),y=l.getUTCDay(),h=(i-y+7)%7,g=new Date(l.getTime()+h*864e5),D=new Date(g.getTime()+(a-1)*6048e5),_=new Date(D.getTime()+6*864e5);return{start:D,end:_}}if(e.period==="weekOf"&&e.baseDate){let a=e.baseDate,n;if(a.month!==void 0&&a.day!==void 0){let D=typeof a.month=="number"?a.month-1:0,_=a.day,b=a.year??s.getUTCFullYear();n=new Date(Date.UTC(b,D,_))}else n=s;let i=t.weekStartsOn==="monday"?1:0,y=(n.getUTCDay()-i+7)%7,h=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()-y)),g=new Date(h.getTime()+6*864e5);return{start:h,end:g}}if(e.period==="day"){let a=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate())),n=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),23,59,59,999));return{start:a,end:n}}if(e.period==="year"){let a=new Date(Date.UTC(o,0,1)),n=new Date(Date.UTC(o,11,31));return{start:a,end:n}}if(e.period==="ytd"){let a=new Date(Date.UTC(s.getUTCFullYear(),0,1)),n=new Date(s);return{start:a,end:n}}if(e.period==="weekOfMonth"&&e.week!==void 0&&e.month!==void 0){let a=e.month-1,n=e.week,i=e.year??s.getUTCFullYear(),l=new Date(Date.UTC(i,a,1)),y=t.weekStartsOn==="monday"?1:0,h=l.getUTCDay(),g=(y-h+7)%7,D=new Date(l.getTime()+g*864e5),_=new Date(D.getTime()+(n-1)*6048e5),b=new Date(_.getTime()+6*864e5);return{start:_,end:b}}return{start:new Date(Date.UTC(o,0,1)),end:new Date(Date.UTC(o,11,31))}}function E(e,t){let o=t.referenceDate,s=e.year??o.getUTCFullYear();return ee(e,t,s)}function q(e,t){let o=t.referenceDate,s=e.year??o.getUTCFullYear();if(e.period==="quarter"&&e.quarter&&e.year===void 0){let{end:i}=K(e.quarter,s,t.fiscalYearStart);i<o&&s++}let{start:a,end:n}=ee(e,t,s);return e.modifier?Z(a,n,e.modifier):{start:a,end:n}}function De(e){return{referenceDate:e?.referenceDate??new Date,fiscalYearStart:e?.fiscalYearStart??"january",weekStartsOn:e?.weekStartsOn??"sunday",dateFormat:e?.dateFormat??"intl"}}function ve(e){return{sunday:0,sun:0,monday:1,mon:1,tuesday:2,tue:2,tues:2,wednesday:3,wed:3,thursday:4,thu:4,thur:4,thurs:4,friday:5,fri:5,saturday:6,sat:6}[e]??0}function ke(e,t,o){if(!e||!e.nodeType)return null;let s=null,a=e;switch(e.nodeType==="titled"&&(o&&e.titleStart!==void 0&&e.titleEnd!==void 0?s=o.slice(e.titleStart,e.titleEnd).trim():s=e.title,a=e.expression),a.nodeType){case"date":return{type:"date",date:N(a,t),title:s};case"duration":{let n=M(a),i=a.approximate===!0;return{type:"duration",duration:n,title:s,approximate:i}}case"span":{let n,i=a.start;i.nodeType==="date"?n=N(i,t):i.nodeType==="fuzzy"?n=q(i,t).start:n=new Date(t.referenceDate);let l=0;a.duration&&(l=M(a.duration));let y=new Date(n.getTime()+l);return{type:"span",start:n,end:y,duration:l,title:s}}case"range":{let n,i,l=a.start,y=a.end;if(l.nodeType==="date"?n=N(l,t):l.nodeType==="fuzzy"?n=q(l,t).start:n=new Date(t.referenceDate),y.nodeType==="date"){if(i=N(y,t),y.monthOnly){let g=typeof y.month=="number"?y.month-1:0,D=y.year??t.referenceDate.getUTCFullYear();i=new Date(Date.UTC(D,g+1,0))}if(y.yearOnly){let g=y.year??t.referenceDate.getUTCFullYear();i=new Date(Date.UTC(g,11,31))}}else y.nodeType==="fuzzy"?i=q(y,t).end:i=new Date(t.referenceDate);i<n&&(y.weekday!==void 0?i=new Date(i.getTime()+6048e5):i=new Date(Date.UTC(i.getUTCFullYear()+1,i.getUTCMonth(),i.getUTCDate(),i.getUTCHours(),i.getUTCMinutes())));let h=i.getTime()-n.getTime();return{type:"span",start:n,end:i,duration:h,title:s}}case"fuzzy":{let{start:n,end:i}=q(a,t),l=a.modifier,y=a.period;if(l==="start"||l==="beginning")return{type:"date",date:E(a,t).start,title:s};if(l==="end")return{type:"date",date:E(a,t).end,title:s};if(y==="weekend"||y==="night"||y==="tonight"||y==="fortnight"||y==="weekNumber"||y==="weekOf"){let h=i.getTime()-n.getTime();return{type:"span",start:n,end:i,duration:h,title:s}}return{type:"fuzzy",start:n,end:i,approximate:!0,title:s}}case"relative":{let n=M(a.duration),i=t.referenceDate,l,y;return a.direction==="past"?(y=new Date(i),l=new Date(i.getTime()-n)):(l=new Date(i),y=new Date(i.getTime()+n)),{type:"span",start:l,end:y,duration:n,title:s}}case"relativeDate":{let n=a.duration,i=a.baseDate,l=a.time,y;i?y=N(i,t):y=new Date(t.referenceDate);let h=n.value,g=n.unit,D=a.direction==="past"?-1:1,_;if(g==="month")_=new Date(Date.UTC(y.getUTCFullYear(),y.getUTCMonth()+D*h,y.getUTCDate(),y.getUTCHours(),y.getUTCMinutes()));else if(g==="year")_=new Date(Date.UTC(y.getUTCFullYear()+D*h,y.getUTCMonth(),y.getUTCDate(),y.getUTCHours(),y.getUTCMinutes()));else if(g==="businessDay"||g==="businessday"){_=new Date(Date.UTC(y.getUTCFullYear(),y.getUTCMonth(),y.getUTCDate()));let b=h;for(;b>0;){_.setUTCDate(_.getUTCDate()+D);let R=_.getUTCDay();R!==0&&R!==6&&b--}}else if(g==="weekdayoccurrence"){let b=a.weekday.toLowerCase().replace(/s$/,""),R=ve(b);_=new Date(Date.UTC(y.getUTCFullYear(),y.getUTCMonth(),y.getUTCDate()));let L=h;for(;L>0;)_.setUTCDate(_.getUTCDate()+D),_.getUTCDay()===R&&L--}else{let b=M(n);_=new Date(y.getTime()+D*b)}if(l)if("special"in l){let b=0;l.special==="noon"?b=12:l.special==="midnight"?b=0:l.special==="morning"?b=9:l.special==="afternoon"?b=14:l.special==="evening"&&(b=18),_=new Date(Date.UTC(_.getUTCFullYear(),_.getUTCMonth(),_.getUTCDate(),b,0))}else _=new Date(Date.UTC(_.getUTCFullYear(),_.getUTCMonth(),_.getUTCDate(),l.hour,l.minute));return{type:"date",date:_,title:s}}default:return null}}function Te(e){let t=e,o=e,s=(t.match(/\(/g)||[]).length,a=(t.match(/\)/g)||[]).length,n=(t.match(/\[/g)||[]).length,i=(t.match(/]/g)||[]).length;for(;a>s&&t.endsWith(")");)t=t.slice(0,-1).trimEnd(),a--;for(;i>n&&t.endsWith("]");)t=t.slice(0,-1).trimEnd(),i--;for(s=(t.match(/\(/g)||[]).length,a=(t.match(/\)/g)||[]).length;s>a;)t=t.replace(/\(/,""),s--;for(n=(t.match(/\[/g)||[]).length,i=(t.match(/]/g)||[]).length;n>i;)t=t.replace(/\[/,""),n--;return{stripped:t.replace(/\s+/g," ").trim(),originalPreserved:o}}function A(e,t){if(!e||typeof e!="string")return null;let o=e.trim(),{stripped:s,originalPreserved:a}=Te(o),n=s.toLowerCase();if(!n)return null;let i=De(t);try{let l=new te.Parser(te.Grammar.fromCompiled(J));if(l.feed(n),l.results.length===0)return null;let y=l.results[0];return ke(y,i,a)}catch{return null}}function oe(e,t){if(!e||typeof e!="string")return[];let o=e.split(/[,;\n]|\s+and\s+/).map(a=>a.trim()).filter(a=>a.length>0),s=[];for(let a of o){let n=A(a,t);n&&s.push(n)}return s}function I(e,t){return A(e,t)}function Ge(e,t){let o=I(e,t);if(!o)return null;if(o.type==="date")return o.date;if(o.type==="duration"){let s=t?.referenceDate??new Date;return new Date(s.getTime()+o.duration)}return o.type==="fuzzy"?o.start:null}function Ve(e,t){let o=I(e,t);return o&&o.type==="duration"?o.duration:null}function Ze(e,t){let o=I(e,t);return o&&(o.type==="span"||o.type==="fuzzy")?{start:o.start,end:o.end,duration:o.type==="span"?o.duration:o.end.getTime()-o.start.getTime()}:null}function Xe(e,t){return oe(e,t)}export{Xe as extract,I as parse,Ge as parseDate,Ve as parseDuration,Ze as parseSpan};
|